3. Назначение ассиметричных
алгоритмов шифрования
Как самостоятельные средства защиты
передаваемых и хранимых данных.
Как средства для распределения ключей.
Средства аутентификации пользователей.
4. Стандарт RSA
опубликован 1977 году и названа в честь
ее разработчиков Ronald Rivest, Adi Shamir
и Leonard Adleman.
Безопасность RSA основана на трудности
разложения на множители больших чисел.
Наиболее криптостойкие системы используют
1024-битовые и большие числа.
5. Стандарт RSA
С = Ме (mod n)
M = Cd (mod n) = (Me)d (mod n) = Med (mod
n)
При этом должны выполняться следующие
условия:
1. Возможность найти значения е, d и n такие,
что M = M mod n для всех М < n.
2. Относительная легкость вычисления Ме и Сd
для всех значений М < n.
3. Невозможность определить d, зная е и n.
ed
6. Вычисление ключей
Функция Эйлера Φ(n) - число
положительных чисел, меньших n и
взаимнопростых с n.
Φ(p · q) = p · q - [(q-1) + (p-1) + 1] = p · q - (p+q) +
1 = (p-1) · (q-1)
Теорема Ферма.
a = 1 mod n, если n – простое
Теорема Эйлера.
a = 1 mod n для всех взаимнопростых a и n
n-1
Φ(n)
7. для генерации двух ключей используются два
больших случайных простых числа p и q.
случайным образом выбирается ключ
шифрования e, такой что e и являются взаимно
простыми числами
расширенный алгоритм Евклида и теорема
Эйлера используется для вычисления ключа
дешифрирования d, такого что
Шифрование
n p q= ×
( ) ( )1mod 1 1e d p q× = − −
( ) ( )1 1p q− −
8. Шифрование
d и n также взаимно простые числа
числа e и n – это открытый ключ
d – закрытый ключ
два простых числа p и q больше не нужны. Они
должны быть отброшены, но не должны быть
раскрыты
( ) ( )1
mod 1d e p q q−
= − −
9. разбить шифруемый текст на блоки, каждый
из которых может быть представлен в виде
числа M(i)=0,1,2..., n-1( т.е. только до n-1).
зашифровать текст по формуле
Шифрование
mode
i ic m n=
11. Зашифруем - "САВ"
Выберем p=3 и q=11.
n= 3*11=33.
(p-1)*(q-1)=20.
d будет равно, например, 3: (d=3).
е: (е*3) mod 20=1, например, 7: (е=7).
А =1, В=2, С=3.
12. зашифруем сообщение, используя открытый ключ
{7,33}
C1 = (3^7) mod 33 = 2187 mod 33 = 9;
C2 = (1^7) mod 33 = 1 mod 33 = 1;
C3 = (2^7) mod 33 = 128 mod 33 = 29;
расшифруем данные, используя закрытый ключ
{3,33}.
M1=(9^3) mod 33 =729 mod 33 = 3(С);
M2=(1^3) mod 33 =1 mod 33 = 1(А);
M3=(29^3) mod 33 = 24389 mod 33 = 2(В);