- •Основные этапы становления криптографии как науки
- •Простейшие шифры, их свойства. Шифры замены и перестановки.
- •3. Открытые сообщения и их характеристики.
- •4. Частотные характеристики открытых сообщений.
- •5. Критерии на открытые сообщения.
- •6. Основные понятия криптографии
- •7. Криптосистема, ключевая система шифра, основные требования к криптосистемам.
- •8. Шифр перестановки. Разновидности.
- •9. Криптоанализ шифров перестановки.
- •10. Шифр замены, одноалфавитные и многоалфавитные замены.
- •11. Вопросы криптоанализа простейших шифров замены.
- •12. Поточные шифры замены.
- •13. Табличное и модульное гаммирование. Случайные и псевдослучайные гаммы.
- •14. Криптограммы, полученные при повторном использовании ключа.
- •Вопрос 15. Математическая модель шифра. Опорный шифр.
- •Вопрос 16. Шифр с неограниченным ключом
- •Вопрос 17. Модель шифра с ограниченным ключом.
- •18. Шифры совершенные по Шенону.
- •19.Теоретическая стойкость шифра с позиции теории информации.
- •20. Безусловно и вычислительно стойкие шифры. Избыточность языка и расстояние единственности.
- •21. Имитостойкость шифра. Имитация и подмена сообщений.
- •22. Характеристики имитостойкости. Методы обеспечения имитостойкости.
- •23. Совершенная имитостойкость.
- •24. Линейные регистры сдвига
- •25. Помехоустойчивость шифров. Характеристики помехоустойчивых шифров.
- •26. Основные способы реализации криптографических алгоритмов и требования к ним.
- •27. Методы получения случайных и псевдослучайных последовательностей.
- •28. Методы анализа криптоалгоритмов. Понятие криптоатаки.
- •29. Методы анализа криптоалгоритмов. Перебор ключей
- •30. Методы анализа криптоалгоритмов. Метод встречи посередине.
- •31. Методы анализа криптоалгоритмов. Бесключевые методы.
- •32. Система шифрования с открытым ключом. Понятие односторонней функции с секретом.
- •33. Криптосистемы rsa.
- •34. Криптосистема Эль-Гамаля.
- •35. Проблема факторизации целых чисел и логарифмирование в конечных полях.
- •36. Американский стандарт шифрования des
- •37. Российский стандарт шифрования гост 28147-89
- •38. Шифр rc4
- •39. Шифр Rijndael. Математические основы работы.
- •40. Шифр Rijndael. Работа с байтами состояния.
- •41. Шифр Rijndael. Алгоритм выработки ключей.
- •43. Криптографические протоколы. Модели криптографических протоколов.
- •Классификация
- •44. Электронная цифровая подпись. Стандарты эцп.
- •45. Математические основы шифрсистем на эллиптических кривых.
- •46. Свойства множества точек эллиптической кривой.
- •47. Выбор параметров на эллиптической кривой. Шифр Эль-Гамаля на эллиптической кривой.
- •48.Эцп на базе эллиптической кривой.
- •49. Протоколы установления подлинности. Парольные системы разграничения доступа.Протокол рукопожатия.
- •50. Криптосистема на алгоритме а5
- •51. Протоколы сертификации ключей. Протоколы распределения ключей.
- •52. Протоколы выработки сеансовых ключей. Открытое распределение ключей Диффи-Хеллмана.
33. Криптосистемы rsa.
Наиболее широко распространенной системой с открытым ключом является
криптосистема RSA (Rivest, Shamir, Adleman). Идея системы состоит в том, что очень
сложно разложить произведение двух простых чисел на сомножители, т.е. найти эти
сомножители. Сама же идея системы RSA исключительно проста.
Пусть p и q – два случайно выбранных простых числа (каждое примерно по 100
десятичных разрядов). Обозначим: n = pq и ϕ(n) = (p-1)(q-1), где ϕ (n) – функция Эйлера от
n. Случайно выбирается большое число d >1, такое, что (d, ϕ(n)) = 1, и вычисляется e,
1 <e < ϕ(n), удовлетворяющее сравнению: ed≡ 1 modϕ(n).
Числа n, e и d называются соответственно модулем, экспонентой зашифрования и экспонентой расшифрования.
Числа n и e образуют открытый ключ, а p,q, ϕ(n) и d секретную лазейку. При этом секретная лазейка включает в себя взаимозависимые величины. Так, если известно p (и,
конечно, n и e), то остальные числа лазейки вычисляются просто:
q = n/p; ϕ(n) = (p-1)(q-1); d находится из условия: ed≡ 1 modϕ(n).
Зашифрование обеспечивается возведением числового фрагмента текста S в степень e
по модулю n. Расшифрование достигается возведением результата предыдущего шага в
степень d.
При зашифровании получаем Se≡ C mod n. Здесь C – зашифрованный фрагмент
текста. При расшифрованииCd = Sed = S1+ϕ(n)k = Sϕ(n)k S ≡ S mod n. (*)
Справедливость (*) легко видна, так как из сравнения ed≡ 1 modϕ(n) следует, что
ed = 1 + ϕ(n)k, где k – некоторое целое.
34. Криптосистема Эль-Гамаля.
Простейший алгоритм шифрования, основывающийся на дискретном логарифмировании, — это криптосистема Эль-Гамаль. В отличие от RSA, в алгоритме Эль-Гамаль существуют некоторые открытые параметры, которые могут быть использованы большим числом пользователей. Они называются параметрами домена и выглядят следующим образом:
- Р — «большое простое число», т. е. число, насчитывающее около 1024 битов, такое, что Р — 1 делится на другое, «среднее простое число» Q, лежащее неподалеку от
- G — элемент мультипликативной группы поля порядок которой, как мы знаем, делится на Q, причем
Все параметры домена, т. е. Р, Q и G, выбираются таким образом, чтобы элемент был образующей абелевой группы А порядка Q. Информация об этой группе открыта и используется большим числом пользователей.
После выбора параметров домена определяют открытый и секретный ключи. Секретным ключом может априори быть любое натуральное число x, а открытый ключ получается по следующей формуле:Н = (mod P).
Обратите внимание на то, что каждый из пользователей RSA должен генерировать два больших простых числа для определения ключевой пары, что является довольно громоздкой задачей, а в системе Эль-Гамаль для построения ключевой пары достаточно найти какое-нибудь случайное число и сделать сравнительно несложные вычисления в арифметике остатков.
Сообщение в этой системе представляется ненулевым элементом поля m Для его шифрования поступают следующим образом:
- генерируют случайный эфемерный ключ k,
- вычисляют =
- находят = m •
- выдают получившийся шифротекст в виде пары С =
Заметим, что при каждом шифровании применяется свой кратковременный ключ. Поэтому, шифруя одно сообщение дважды, мы получаем разные шифротексты.
Чтобы расшифровать пару данных С = производят следующие преобразования:
Разберем небольшой пример, выбрав сначала параметры домена. Пусть
Q = 101, Р = 809 и G = 3.
Легко проверить, что Q действительно делит число Р — 1, а порядок элемента G в группе делится на Q. Порядок элемента G равен 808, поскольку
= 1 (mod P),
и ни при каких меньших степенях такого равенства не получается. В качестве пары открытого и секретного ключа выберем
х = 68 и Н= = =65(modP).
Допустим, нам нужно зашифровать сообщение, численное представление которого равно m = 100. Поступаем следующим образом.
- Генерируем случайный эфемерный ключ k = 89.
- Находим = = = 345 (mod P).
- Получаем = m · — 100 • = 517 (mod P).
- Отправляем шифротекст С = (345,517).
Партнер сможет восстановить текст, делая также вычисления:
Последнее равенство получается чуть более сложно, чем в вещественных числах: сначала число 345 возводится в степень 68 по модулю 809, вычисляется мультипликативный обратный к результату по этому же модулю, а затем найденный обратный умножается на 517. Позже мы увидим, что система Эль-Гамаль в том виде, о котором только что было рассказано, беззащитна против атак с выбором шифротекста. Поэтому обычно применяют модифицированные схемы шифрования. Тем не менее, Эль-Гамаль сможет выстоять против атаки с выбором открытого текста, если считать, что задача Диф-фи-Хеллмана трудна для решения. Опять-таки, здесь мы используем наивное понятие криптостойкости алгоритма, считая, что система защищена, если противник не сможет обратить шифрующую функцию.
Лемма 7.8. Если задача Диффи - Хеллмана трудноразрешима, то система Эль-Гамаль защищена против атак с выбором открытого текста, где защищенность означает, что нападающий не может восстановить открытый текст по перехваченной шифрограмме за разумное время.
Доказательство. Чтобы показать защищенность системы Эль-Гамаль от атак с выбором открытого текста в предположении о сложности задачи Диффи - Хеллмана, будем считать, что у нас есть оракул вскрывающий шифр Эль-Гамаль. На вход оракула подается открытый ключ Н и шифротекст а выходными данными служит дешифрованный открытый текст. Покажем теперь, как с помощью оракула решается задача Диффи - Хеллмана, т.е. даны
и
и требуется вычислить
Выберем открытый ключ в системе Эль-Гамаль в соответствии с поставленной задачей, т. е. положим
Н =
Заметим, что мы не знаем секретного ключа х. Теперь выписываем «шифротекст»:
С =
где а случайный элемент поля Вводим этот ши-
фротекст в оракул, взламывающий Эль-Гамаль, и получаем соответствующий открытый текст М = который по расшифровывающей процедуре Эль-Гамаль должен получаться в виде отношения М = Используя полученные данные, мож;но решить исходную задачу Диффи-Хеллмана, вычисляя