
- •Методы защиты информации в компьютерных технологиях Москва 2011
- •1. Основные направления криптологии.
- •2. Элементы симметричных криптографических преобразований. История симметричных криптографических преобразований в приложениях.
- •2.2. Табличное шифрование методом перестановки по ключевому слову или фразе, задающими перестановку.
- •2.3. Табличное шифрование методом двойной перестановки.
- •2.5. Шифры сложной замены.
- •3. Методы криптографических преобразований с открытым ключом.
- •3.1. Алгоритм нахождения числа по модулю.
- •3.2. Вычисление обратных величин в модулярной алгебре.
- •3.3. Алгоритм операции возведения числа в степень по модулю.
- •3.4. Определение односторонней функции.
- •4. Алгоритмы формирования и функционирования криптографических систем с открытым ключом.
- •4.1. Алгоритм криптографической системы rsa (Райвест-Шамир-Адлеман).
- •4.2. Алгоритм криптографической системы на основе вычисления дискретных логарифмов в конечном поле – алгоритм Эль Гамаля.
- •4.3. Алгоритм функционирования криптографической системы на основе дискретного логарифмирования в метрике эллиптических кривых.
- •4.3.1. Основные операции криптографических преобразований в метрике эллиптических кривых.
- •4.3.2. Преобразование Диффи-Хеллмана в системах криптографии с открытым ключом.
- •XcxпШифратор
- •4.4. Формирование криптограмм открытых сообщений и их дешифрование с использованием методов дискретного логарифмирования в метрике эллиптических кривых.
- •4.4.1. Вычисление парного сеансового ключа шифрования-дешифрования для абонентов а и в на основе преобразований Диффи-Хеллмана.
- •4.4.3. Дешифрование абонентом а криптограммы, полученной от абонента в с использованием парного секретного симметричного ключа, сформированного по методу Диффи-Хеллмана в метрике эллиптических кривых.
- •5. Алгоритмы электронной цифровой подписи.
- •5.1. Алгоритм электронной цифровой подписи rsa (Райвест-Шамир-Адлеман).
- •5.2. Алгоритм электронной цифровой подписи Эль Гамаля (egsa). Egsa (el Gamal Signature Algorithm).
- •5. 3. Алгоритм электронной цифровой подписи dsa (Digital Signature Algorithm).
- •5.4. Алгоритм электронной цифровой подписи гост р34.10-94. (Отечественный стандарт электронной цифровой подписи).
- •5.5. Алгоритм электронной цифровой подписи гост р34.10-2001. (Отечественный стандарт электронной цифровой подписи).
3.1. Алгоритм нахождения числа по модулю.
Операцию нахождения числа по модулю (операцию нахождения вычета числа «а» по модулю «Р») называют приведением числа «а» по модулю «Р»
y = a mod P
Эта запись в модулярной алгебре читается как «число y сравнимо с числом а по модулю Р». Это соотношение справедливо для целых значений чисел: y, a, P и Р ≠ 0. Число «а» определяют как «вычет» числа «y» по модулю «Р». Операцию нахождения вычета числа «а» по модулю «Р» можно интерпретировать численным примером следующим образом. Найти вычет выражения y = 23 mod 17 = 6 mod 17, т.е. число 23 делится на 17, находится остаток, который и будет являться вычетом числа 23 по модулю 17. Набор целых чисел от 0 до Р-1 называется полным набором вычетов по модулю Р. Для последующих вычислений необходимо определять вычеты и от отрицательных чисел, например:
-23 mod 7 = -16 mod 7 = -9 mod 7 = -2 mod 7 = 5 mod 7 и т.д.
Модулярная алгебра полностью отвечает требованиям коммутативности, ассоциативности и дистрибутивности:
(а + b) mod P = [ a ( mod P ) + b ( mod P )] mod P
(а - b) mod P = [ a ( mod P ) - b ( mod P )] mod P
(а * b) mod P = [ a ( mod P ) * b ( mod P )] mod P
[а * ( b + c )] mod P = {[ a * b ( mod P )] + [a * c ( mod P )]} mod P
3.2. Вычисление обратных величин в модулярной алгебре.
В теории криптографических преобразований достаточно часто приходится сталкиваться с трудоемкой задачей вычисления обратных величин по модулю. Во многих криптографических задачах для заданных чисел «а» и «Р» требуется нахождение числа «d» меньшего «Р» ( d < P ), чтобы выполнялось единичное сравнение a * d mod P ≡ 1.
Необходимо отметить , что такое число «d» существует, если числа «а» и «Р» взаимно простые, при этом число «d» называют инверсией числа «а» по модулю «Р» и обозначают как: а-1 mod P. Например, требуется определить инверсию 6-1 mod 17; необходимо найти такое число, которое при умножении на число 6 и делении этого произведения на число 17 в остатке образует число 1. В рассматриваемом примере таким числом будет являться число 3, т.к. 6 * 3 mod 17 ≡ 1, следовательно, число 3 является инверсией числа 6 по модулю 17.
Для вычисления обратных величин при условии, что если Р - простое число, что практически справедливо для всех криптографических задач асимметричной криптографии, можно воспользоваться малой теоремой Ферма.
Малая теорема Ферма интерпретируется следующим образом: если «Р» - простое число, «а» - целое число, то инверсию числа «а» по модулю «Р» можно определить как:
а-1 (mod Р) = аφ(P) – 1 mod P
где: φ (Р) – функция Эйлера;
для простых чисел φ (Р) = Р – 1.
Функция Эйлера указывает сколько во множестве чисел от 0 до Р, есть чисел взаимно простых с Р.
Например, если Р = 17, то φ (Р) = Р-1 = 17-1 = 16. Требуется вычислить инверсию числа 2 по модулю 17, т.е. вычислить 2-1 mod 17.
2-1mod 17 = 2φ(P) – 1mod Р = 215mod 17 = 32768 mod 17 = 9 mod 17 → 9.
Следовательно, число 9 является инверсией числа 2 по модулю 17, т.к. 2 * 9 mod 17 = 18 mod 17 = 1 mod 17 → 1.