Результаты расчетов
Перекодируем мою фамилию имя отчество в числа:
ТИХОНОВ ЕВГЕНИЙ ВЛАДИМИРОВИЧ
а |
1 |
|
т |
20 |
б |
2 |
|
и |
10 |
в |
3 |
|
х |
23 |
г |
4 |
|
о |
16 |
д |
5 |
|
н |
15 |
е |
6 |
|
о |
16 |
ё |
7 |
|
в |
3 |
ж |
8 |
|
е |
6 |
з |
9 |
|
в |
3 |
и |
10 |
|
г |
4 |
й |
11 |
|
е |
6 |
к |
12 |
|
н |
15 |
л |
13 |
|
и |
10 |
м |
14 |
|
й |
11 |
н |
15 |
|
в |
3 |
о |
16 |
|
л |
13 |
п |
17 |
|
а |
1 |
р |
18 |
|
д |
5 |
с |
19 |
|
и |
10 |
т |
20 |
|
м |
14 |
у |
21 |
|
и |
10 |
ф |
22 |
|
р |
18 |
х |
23 |
|
о |
16 |
ц |
24 |
|
в |
3 |
ч |
25 |
|
и |
10 |
ш |
26 |
|
ч |
25 |
щ |
27 |
|
|
|
ъ |
28 |
|
|
|
ы |
29 |
|
|
|
ь |
30 |
|
|
|
э |
31 |
|
|
|
ю |
32 |
|
|
|
я |
33 |
|
|
|
|
|
|
|
|
В дальнейшем моё ФИО в исходном (незашифрованном) виде будет выглядеть как последовательность чисел правого столбца (20, 10, 23, и т.д.). Шифровать будем каждое число методом RSA открытым ключом и расшифровывать закрытым.
Определяем открытый и закрытый ключ. Из задания мне даны два простых числа p=17 и q=11.
Вычислим n, то есть n = p х q = 187
n=187. Это будет вторая часть открытого и закрытого ключа.
Вычисляем φ(n) = (p − 1)(q − 1) = 96, то есть φ(n)=(17-1)х(11-1)=16х10=160
Выбираем взаимно простое число (не имеет общих делителей) с φ(n)=160, называем его «е». е=3. Это будет первая часть открытого ключа.
Ищем такое d, чтобы d, умноженное на e, давало такое число, которое можно получить, умножив φ(n) на какое-то число и прибавив единицу:
d x 3 = z x 160 + 1
при d=53, d x 3 = 159, но мы не сможем получить 1 x 160 + 1 = 161
при d=54, d x 3 = 162, но мы не сможем получить 1 x 160 + 1 = 161
при d=107, d x 3 = 321, подходит под 2 х 160 +1 = 321
значит, d=107. Это будет первая часть закрытого ключа.
В итоге получилось два ключа:
Открытый: {3,187}
Закрытый: {107,187}
Зашифруем букву «т» открытым ключом {3, 187}.
«т» соответствует число 20
Остаток(203/187)=146.
Ответ: шифр(т)=146.
Дешифруем шифр(т)=146 закрытым ключом {107, 187}.
Остаток(146107/187)=20
20-ая буква алфавита = «Т»
Операцию №3 провернем со всеми буквами моего ФИО:
текст |
исходник |
шифр |
дешифр |
текст |
т |
20 |
146 |
20 |
т |
и |
10 |
65 |
10 |
и |
х |
23 |
12 |
23 |
х |
о |
16 |
169 |
16 |
о |
н |
15 |
9 |
15 |
н |
о |
16 |
169 |
16 |
о |
в |
3 |
27 |
3 |
в |
е |
6 |
29 |
6 |
е |
в |
3 |
27 |
3 |
в |
г |
4 |
64 |
4 |
г |
е |
6 |
29 |
6 |
е |
н |
15 |
9 |
15 |
н |
и |
10 |
65 |
10 |
и |
й |
11 |
22 |
11 |
й |
в |
3 |
27 |
3 |
в |
л |
13 |
140 |
13 |
л |
а |
1 |
1 |
1 |
а |
д |
5 |
125 |
5 |
д |
и |
10 |
65 |
10 |
и |
м |
14 |
126 |
14 |
м |
и |
10 |
65 |
10 |
и |
р |
18 |
35 |
18 |
р |
о |
16 |
169 |
16 |
о |
в |
3 |
27 |
3 |
в |
и |
10 |
65 |
10 |
и |
ч |
25 |
104 |
25 |
ч |
Выводы
Контент, зашифрованный по алгоритму RSA весьма отличается от исходного, и не так легко увидеть какую-то зависимость, не говоря уже об анализе и дешифрования. Для шифрования/дешифрования пользовался MsExcel, который «обрубал» большие числа (146107), поэтому пришлось воспользоваться «IntelliJ IDEA Community Edition 13.1.2». Теоретический фундамент алгоритма весьма серьезен и основателен, поэтому RSA или его модификации вероятно будут и используются в нашей повседневной жизни.