ответы на вопросы 2 лаба терентьев
.docx1. Традиционные методы шифрования, являющиеся базовыми
Подстановка (Substitution): Замена каждого символа открытого текста на другой символ или символы из того же или другого алфавита. Простейший пример — шифр Цезаря.
Перестановка (Permutation): Изменение порядка следования символов в открытом тексте по определенному правилу. Пример — шифр "скитала" или маршрутная перестановка.
Эти два метода являются фундаментальными. Все современные сложные шифры (включая DES, ГОСТ, AES) представляют собой многократные и усложненные комбинации подстановок и перестановок, что составляет основу сети Фейстеля или SP-сети (Substitution-Permutation Network).
2. Правило Кирхгоффа
Принцип (правило) Кирхгоффа гласит, что стойкость шифра должна зависеть только от секретности ключа, но не от секретности самого алгоритма. Алгоритм шифрования должен оставаться стойким, даже если он полностью известен противнику. Все современные криптографические стандарты (DES, ГОСТ, AES) разрабатываются и публикуются открыто, чтобы их могло проверить все мировое криптографическое сообщество.
3. Криптостойкость шифра
Криптостойкость — это способность шифра противостоять криптоанализу (взлому).
Шифр считается стойким, если для его взлома требуется не меньше времени, чем время, в течение которого информация должна оставаться секретной, и если стоимость взлома превышает ценность самой информации. На практике абсолютно стойким считается только шифр Вернама (одноразовый блокнот), при соблюдении всех условий его использования. Все остальные шифры являются вычислительно стойкими — их взлом требует нереализуемо большого объема вычислений на современной технике.
4. Принципы блочного шифрования
Открытый текст разбивается на блоки фиксированной длины (например, 64 или 128 бит). Каждый блок шифруется независимо (в базовом режиме) или с зависимостью от предыдущих блоков (в более сложных режимах) с использованием одного и того же ключа. Преобразование применяется ко всему блоку целиком.
5. Принципы поточного шифрования
Шифрование происходит не блоками, а побитно или побайтно. Генерируется псевдослучайная ключевая последовательность (гамма), которая затем объединяется с открытым текстом (обычно с помощью операции XOR). Поточные шифры часто реализуются на основе блочных (например, в режимах CTR, CFB, OFB).
6. Преимущества и недостатки блочного и поточного шифрования
7. Принцип итерации
Принцип итерации (многораундовости) заключается в том, что простое базовое криптографическое преобразование (раунд) повторяется многократно (N раз). После каждого раунда применяется раундовый ключ (подключ), полученный из основного ключа. Это значительно увеличивает стойкость шифра, обеспечивая лавинный эффект и смешивание данных.
8. Конструкция Фейстеля
Принцип: Блок данных делится на две половины (L и R). В каждом раунде:
Левая половина следующего раунда (L<sub>i+1</sub>) становится равной правой половине текущего раунда (R<sub>i</sub>).
Правая половина следующего раунда (R<sub>i+1</sub>) вычисляется как XOR левой половины текущего раунда (L<sub>i</sub>) и функции F от правой половины (R<sub>i</sub>) и раундового ключа (K<sub>i</sub>):
L<sub>i+1</sub> = R<sub>i</sub>
R<sub>i+1</sub> = L<sub>i</sub> ⊕ F(R<sub>i</sub>, K<sub>i</sub>)
Где используется: DES и ГОСТ 28147-89 используют сеть Фейстеля. Главное преимущество — практически идентичные процессы шифрования и расшифрования, что упрощает реализацию.
9. Основные параметры стандартов шифрования
10. Отличительные особенности AES (Rijndael)
Использует SP-сеть (Substitution-Permutation Network), а не сеть Фейстеля. Это требует раздельной реализации шифрования и расшифрования.
Более простая и эффективная с вычислительной точки зрения структура.
Отсутствие известных слабых ключей и уязвимостей.
Переменная длина ключа (128, 192, 256), что обеспечивает "запас прочности" на будущее.
Высокая скорость как в программной, так и в аппаратной реализации.
11. Режимы работы
Все три стандарта могут использовать схожие режимы работы:
ECB (Electronic Codebook) / Простая замена (в ГОСТ): Независимое шифрование блоков. Небезопасен для больших объемов данных.
CBC (Cipher Block Chaining) / Гаммирование с обратной связью (в ГОСТ): Каждый блок XOR-ится с шифротекстом предыдущего блока.
CFB (Cipher Feedback) / Гаммирование с обратной связью (в ГОСТ): Позволяет использовать блочный шифр как поточный.
OFB (Output Feedback) / Гаммирование (в ГОСТ): Аналогично CFB, но ошибки в шифротексте не накапливаются.
CTR (Counter) / Гаммирование (в ГОСТ): Похож на OFB, но использует счетчик. Очень удобен для параллельной обработки.
12. Структура криптографических ключей
ГОСТ 28147-89: Ключ — это просто массив из 256 бит (32 байта). Обычно представляется как 8 подключей по 32 бита. Нет служебных битов.
DES: Ключ — 64 бита, из которых только 56 являются значимыми. Каждый 8-й бит — бит четности для контроля ошибок.
AES: Ключ — это массив из 128, 192 или 256 бит. Все биты являются значимыми. Служебных битов нет.
13. Режим "Электронной кодовой книги" (ECB) и Простой замены
Реализуется идентично:
Открытый текст разбивается на блоки (P1, P2, ..., Pn).
Каждый блок шифруется независимо на одном и том же ключе K: C<sub>i</sub> = E<sub>K</sub>(P<sub>i</sub>).
Шифротекст — это последовательность блоков (C1, C2, ..., Cn).
Недостаток: Одинаковые блоки открытого текста дают одинаковые блоки шифротекста, что раскрывает статистические закономерности. Не рекомендуется для шифрования больших или структурированных данных.
14. Имитовставка
Имитовставка — это криптографическая контрольная сумма, вырабатываемая от открытых данных с использованием секретного ключа.
Как вырабатывается: Чаще всего с помощью режима CBC. После шифрования всего сообщения берется последний блок шифротекста (или его часть) и используется как имитовставка.
Для чего служит: Для обеспечения аутентичности и целостности данных. Получатель может самостоятельно вычислить имитовставку из полученных данных и сравнить ее с полученной. Совпадение гарантирует, что данные не были изменены и отправлены обладателем правильного ключа.
15. Математические принципы асимметричных систем
Асимметричные системы основаны на односторонних функциях с "лазейкой" — функциях, которые легко вычислить в одну сторону, но практически невозможно обратить без специальной информации ("лазейки").
RSA: Основан на сложности факторизации больших чисел (разложения числа n на два простых сомножителя p и q).
ElGamal, DSA, ECC: Основаны на сложности решения задачи дискретного логарифмирования в конечных полях или на эллиптических кривых.
16. Основные математические понятия и теоремы
Простое число: Натуральное число, большее 1, которое делится без остатка только на 1 и на само себя.
Взаимно простые числа: Два числа, наибольший общий делитель (НОД) которых равен 1.
Вычет числа по модулю: Остаток от деления числа на модуль. Например, вычет 17 по модулю 5 равен 2 (17 mod 5 = 2).
Основная теорема арифметики: Любое натуральное число, большее 1, можно разложить в произведение простых чисел, и это разложение единственно с точностью до порядка сомножителей.
Алгоритм Евклида: Алгоритм для нахождения НОД двух чисел.
Малая теорема Ферма: Если p — простое число, а a не делится на p, то a<sup>p-1</sup> ≡ 1 (mod p). Она лежит в основе многих тестов на простоту и используется в RSA.
17. Преимущества и недостатки симметричных и асимметричных систем
18. Гибридная криптосистема
Как строится:
Этап 1 (Передача сеансового ключа): Отправитель генерирует случайный сеансовый ключ для симметричного шифра. Этот ключ шифруется на открытом ключе получателя с помощью асимметричного алгоритма (например, RSA) и отправляется получателю.
Этап 2 (Шифрование данных): Данные шифруются быстрым симметричным алгоритмом (например, AES) с использованием этого сеансового ключа. Зашифрованные данные отправляются получателю.
Преимущество: Сочетает в себе достоинства обеих систем: скорость симметричного шифрования и удобство распределения ключей асимметричного. Именно так работают современные защищенные протоколы (SSL/TLS, PGP).
19. Криптостойкость RSA
От чего зависит: Стойкость RSA напрямую зависит от сложности факторизации (разложения на множители) модуля n = p * q. Если злоумышленник сможет разложить n на p и q, он легко вычислит закрытый ключ.
Рекомендуемые длины ключей:
1024 бита: Считается устаревшим, не рекомендуется для новых систем.
2048 бита: Современный стандарт, обеспечивает достаточную стойкость на ближайшие годы.
3072 бита и более: Рекомендуется для данных, которые должны оставаться секретными в течение длительного времени (десятки лет).
20. Комбинированные (производные) шифры
Комбинированные шифры — это шифры, построенные путем многократного и сложного комбинирования базовых методов.
Базовые методы:
Подстановка (S-блоки): Обеспечивает нелинейность и запутывание.
Перестановка (P-блоки): Обеспечивает диффузию, распространяя влияние одного бита открытого текста на многие биты шифротекста.
Сложение по модулю 2 (XOR): С ключевым потоком или результатами работы других функций.
Современные блочные шифры (DES, ГОСТ, AES) являются комбинированными. Например, AES — это яркий пример SP-сети, где раунды состоят из последовательных операций подстановки (SubBytes) и перестановки (ShiftRows, MixColumns).
