- •Основы информационной безопасности и введение в современную криптологию
- •8 Глава 129
- •Предисловие
- •Введение
- •Формальная криптография;
- •Математическая криптография;
- •1. Криптографические системы «докомпьютерной эры» и проблемы современной криптографии
- •1.1 Криптография древнего мира. Шифр Цезаря и его криптостойкость
- •1.2 Шифр Атбаш и его модификации
- •1.3 Тарабарская грамота как аналог шифра Атбаш
- •1.4 Шифр Плейфера
- •1.5 Шифр adfgvx
- •1.6 Шифр Виженера
- •1.7 Формальная криптография
- •1.8 Математическая криптография
- •1.9 Современная компьютерная криптография и ее основные проблемы
- •2 Режимы шифрования для симметричных алгоритмов.
- •2.1 Режимы простой замены (электронная кодовая книга ecb)
- •2.2 Режим сцепления блоков (Cipher Block Chaining (cbc))
- •2.2 Режимы гаммирования
- •2.3 Режим гаммирования с обратной связью
- •Функции шифрования симметричных криптосистем
- •3.1 Стандарт шифрования данных des. Data Encryption Standard
- •3.2 Преобразования Сетью Фейстеля
- •3.3 Режимы работы алгоритма des
- •3.4.1Алгоритм гост – 28147-89
- •3.4.2Ключи в кзу
- •3.4.3В блоке подстановки k
- •3.5.1Описание алгоритма
- •4.Глава
- •4.1Хэш - функция
- •4.2Коллизия
- •4.4Пример простого хеширования
- •4.3Современные виды хеширования
- •5.Глава Элементы алгебры и теории чисел
- •5.1Быстрое возведение в степень.
- •5.2Нахождение простого числа
- •5.3Метод Шермана — Лемана
- •5.3Метод Раббина-Миллера
- •5.4Нахождение обратного элемента по модулю
- •5.5Теорема ферма, Эйлера
- •5.6Алгоритм Эвклида
- •5.7Расширенный алгоритм Эвклида
- •5.8 Китайская теорема об остатках
- •5.11 Нахождение с помощью расширенного алгоритма Евклида
- •5.11Квадратичные вычеты
- •5.11Нахождение генераторов
- •6. Глава
- •6.1 Алгоритм Диффи – Хеллмана
- •6.2Описание алгоритма
- •6.3Алгоритм Диффи — Хеллмана с тремя и более участниками
- •6.7Криптографическая стойкость
- •6.8Rsa алгоритм
- •6.10Алгоритм шифрования rsa
- •6.11Алгоритм подписи rsa
- •7.16Эль-Гамаля
- •6.13История dsa
- •6.14Алгоритм цифровой подписи dsa
- •6.15 Алгоритм цифровой подписи гост р 3410-94
- •7.1Эллиптическая кривая
- •7.2 Эллиптические кривые в криптографии
- •7.3 Метрика операций на эк
- •7.3.1Сложение различных точек
- •7.3.2Удвоение
- •7.7Порядок эллиптической кривой
- •7.6Теорема Хассе
- •7.5 Порядок точки на эллиптической кривой
- •7.8Порядок точки на эллиптической кривой (Теория, можешь не читат)
- •7.9Криптография на эллиптических кривых
- •7.10Пример эллиптической кривой над конечным полем.
- •7.11Кратные точки.
- •7.12Безопасность криптографии с использованием эллиптических кривых.
- •7.13Алгоритм Диффи-Хелмана на эллиптической кривой
- •7.14Алгоритм dsa на эллиптической кривой
- •7.14.1Алгоритм эцп на основе эллиптических кривых (ecdsa)
- •7.15Алгоритм Эль-Гамала на эллиптической кривой
- •Литература
- •8 Глава
- •8.1Криптоанализ
- •8.2Классический криптоанализ.
- •8.3 Современный криптоанализ
- •8.4Универсальные методы криптоанализа.
- •8.4.1Метод полного перебора
- •8.4.2Атака по ключам
- •8.4.3Частотный анализ
- •8.4.4Метод "встречи посередине"
- •8.4.5Криптоанализ симметричных шифров
- •8.4.6Дифференциальный криптоанализ
- •8.4.7Дифференциальный анализ на основе сбоев.
- •8.4.8Дифференциальный метод криптоанализа des.
- •8.4.9Линейный криптоанализ .
- •8.4.10Криптоанализ асимметричных шифров
- •8.4.11Метод безключевого чтения rsa.
- •8.4.12Криптоанализ хеш-функций
- •8.4.13Криптоанализ по побочным каналам
- •8.5Нанотехнологии в криптоанализе
3.4.1Алгоритм гост – 28147-89
ГОСТ 28147-89 — советский стандарт симметричного шифрования. Его ввели в 1990 году. ГОСТ — это блочный шифр с простой структурой Фейстеля, с размером блока 64 бита, 256-битным ключом и 32 раундами. Каждый раунд содержит сложение с ключом по модулю 232, набор из восьми 4-битных S-блоков и простой циклический сдвиг на 11 битов. Особенностью ГОСТа является возможность хранения S-блоков в секрете, что можно представить как второй ключ, увеличивающий эффективный ключевой материал до 610 битов.
В основу алгоритма положена сеть Фейстеля, представленная на рисунке ниже.
Поясню работу данного рисунка, так как на нем основан наш алгоритм.
Encryption – шифрование
Вся информация разбивается на блоки фиксированной длины. Как правило, длина блока является степенью двойки, например: 64 бита, 128 бит. Далее будем рассматривать операции, происходящие только с одним блоком, так как с другими в процессе шифрования выполняются те же самые операции.
Выбранный блок делится на два равных подблока — «левый» и «правый».
Исходное заполнение правого блока записывается в левый блок на выходе.
Над правым блоком производится криптографическое преобразование с применением ключевых данных.
Левый (исходный) и правый (преобразованный) блоки складываются по модулю 2 в сумматоре по модулю 2.
Так повторяется несколько раз.
Decryption – Расшифрование
Расшифровка информации происходит так же, как и шифрование, с тем лишь исключением, что ключи идут в обратном порядке, то есть не от первого к N-ному, а от N-го к первому.
Структурная схема алгоритма криптографического преобразования
Структурная схема алгоритма криптографического преобразования (криптосхема), приведенного на рисунке 1, содержит:
Четыре накопителя по 32 бита:
.Два 32-разрядных накопителя:
и
,
— с записанными в них постоянными
заполнениями
и
соответственно.Ключевое запоминающее устройство (КЗУ) на 256 бит. КЗУ состоит из восьми накопителей (блок) по 32 разряда каждый:
,
.32- разрядный сумматор поразрядного суммирования по модулю 2:
.Еще один сумматор по модулю 2, который не имеет ограничения на разрядность (но используется 64 бита):
.Два сумматора по модулю 232 разрядности 32 бита:
,
.Сумматор по модулю (232-1): СМ4.
Блок подстановки К: восемь узлов замены
,
каждый с памятью на 64 бита.регистр циклического сдвига на одиннадцать шагов в сторону старшего разряда, то есть влево на 11 бит .
Рисунок 1.
3.4.2Ключи в кзу
КЗУ
отведено 256 бит, в ГОСТ 28147-89 используется
ключ длиной 256 бит. Ключ разбивается на
восемь блоков по 32 бита, и каждый бит
каждого блока последовательно вводится
в накопитель
соответствующего
порядка.
То
есть, 1-й бит ключа вводится в 1-й разряд
накопителя
,
2-й — во 2-й разряд накопителя
,
33-й — в 1-й разряд накопителя
,
65-й — в 1-й разряд накопителя
,
и так далее, 224-й бит ключа вводится в
1-й разряд накопителя
,
256-й бит ключа вводится в 32-й разряд
накопителя
.
Ключи, определяющие заполнения КЗУ и таблиц блока подстановки , являются секретными элементами и поставляются в установленном порядке. Заполнение таблиц блока подстановки является долговременным ключевым элементом, общим для сети ЭВМ.
Организация различных видов связи достигается построением соответствующей ключевой системы. При этом может быть использована возможность выработки ключей (заполнения КЗУ) в режиме простой замены и зашифрования их в режиме простой замены с обеспечением имитозащиты для передачи по каналам связи или хранения в памяти ЭВМ.
