Скачиваний:
0
Добавлен:
14.07.2026
Размер:
1.95 Mб
Скачать

Практика.

Генерация параметров, шифрование/расшифрование

1) Задаем параметр p

2) Находим первообразный корень g

3) Генерируем значение x

4) Рассчитываем значение

5) Генерируем сеансовый ключ в диапазоне от 2 до

Формула шифрования:

Формула расшифрования:

8. Протокол Диффи-Хеллмана. Модификация эллиптическими кривыми.

Разберите сами))))))))))))))

Протокол Диффи-Хеллмана – это протокол, позволяющий двум и более сторонам выработать общий секретный ключ по незащищенному каналу связи.

А и Б знают некоторые два числа и , которые не являются секретными. Каждый из них генерирует свое большое случайное число и и вычисляет остаток от деления и соответственно. А и Б обмениваются полученными значениями и на их основе вычисляют значение секретного ключа:

.

Модификация на эллиптических кривых (задается конечное поле над которым задана эллиптическая кривая, чем больше размер поля, тем выше криптостойкость):

А и Б генерируют собственные ключи: закрытые ключи и и открытые ключи и , где – базовая точка, генерирующая подгруппу, – случайное целое число из интервала от 1 до , – порядок подгруппы. А и Б обмениваются полученными открытыми ключами. На основе полученных ключей вычисляется общий секретный ключ:

Основное преимущество протокола Диффи-Хеллмана на эллиптических кривых (ECDH) над классическим (DH) заключается в обеспечении такой же стойкости шифрования при значительно меньшем размере ключей. Это приводит к ускорению вычислений, снижению нагрузки на процессор и меньшему объему передаваемых данных.

9. Алгоритмы работы с большими числами.

Быстрое возведение в степень (раскладывание степени и таблицей), тест Ферма

Для работы с большими числами используется алгоритм быстрого возведения в степень по модулю и тест Ферма.

БВвСпМ разложением степеней:

Раскладываем значение степени на двоичные слагаемые, т.е. , и записываем в следующем виде:

и вот так постепенно возводим в нужную степень

БВвСпМ с помощью таблицы:

Представляем значение степени в двоичном виде и записываем задом наперед в таблицу в строку K. Строка a рассчитывается, как . Строка b рассчитывается в зависимости от значения в строке К: если 0, то , если 1, то . В качестве начальных значений задается , .

Пример: 1211 mod 481 = 181

K

1

1

0

1

A

12

144

53

404

b

12

285

285

181

3 Группа

Везде где есть S могут спросить как по таблице замены заменить что попросят, это уже выяснилось только в день экзамена, поэтому этого в файле нету

1. Стандарт шифрования des.

Схема, как примерно работает

1) DES – симметричный блочный алгоритм, преобразует 64-битные блоки с помощью 56-битного ключа за 16 раундов сети Фейстеля. 64-битный блок переставляется согласно таблице (IP – инициирующая перестановка), а затем делится на две половины. Происходит преобразование функцией F, после чего производится финальная обратная перестановка объединенных половин.

2) Функция F основана на сети Фейстеля и производит 16 итераций прежде чем выдать результат. Правая половина расширяется до 48 бит, проходит через перестановку и XORится со сгенерированным ключом раунда. Полученное значение заменяется по таблице, а затем проходит через перестановку. Левый блок XORится с полученным значением и на следующем раунде становится правым блоком, а полученное ранее значение – левым.

3) 32-битный ключ раунда генерируется из начального 56-битного ключа (вообще изначально 64-битный, но каждый 8 бит в нем отбрасывается, как бит четности, поэтому 56-битный). Ключ делится на две половины, каждая из половин проходит через циклический сдвиг влево (сдвиг зависит от номера раунда). Полученные значения вновь объединяются, проходят через перестановку и сжимаются до 48 бит. Полученный результат является ключом раунда.

Следующий раундовый ключ уже будет генерироваться на основе начального ключа, который прошел через сдвиги.