Алгоритм RSA. Жданов О.Н - 8 стр.

UptoLike

Составители: 

8
Подготовка текста к шифрованию
Сначала нужно каким-либо способом представить текст сообщения в виде
упорядоченного набора чисел по модулю N. Это еще не процесс шифрования, а
только подготовка к нему.
Пример 2. Для простоты предположим, что текст сообщения содержит
слова, записанные только заглавными буквами. Первый шаг состоит в замене
каждой буквы сообщения числом. Пусть наша таблица
замен имеет вид:
А Б В Г Д Е Ж З И Й К Л М Н О П Р С
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я
28 29 30 31 32 33 34 35 36 37 38 39 40 41
Пробел между словами будем заменять числом 99.
Например, пусть открытый текстэто девиз «ПОЗНАЙ СЕБЯ». Тогда его
цифровое представление имеет вид: 2524172310199927151141.
Пусть в нашем примере p = 149, q = 157, тогда N = 23393. Поэтому цифро-
вое представление открытого текста нужно разбить на блоки, меньшие, чем
23393. Одно из таких разбиений выглядит следующим образом:
2524 – 1723 – 10199 – 9271 – 511 – 41.
Конечно, выбор
блоков неоднозначен, но и не совсем произволен. Напри-
мер, во избежание двусмысленностей, на стадии расшифровки не следует вы-
делять блоки, начинающиеся с нуля.
При расшифровке сообщения получаем последовательность блоков, затем
их соединяем вместе и получаем число. После этого числа заменяют буквами в
соответствии с таблицей, приведенной выше.
Обратим внимание на то
, что в этом примере каждую букву кодируем дву-
значным числом. Это сделано для предотвращения неоднозначности. Если бы
мы пронумеровали буквы не по порядку, начиная с 1, т. е. А соответствует 1, Б
соответствует 2 и т. д., то было бы непонятно, что обозначает блок 12: пару
букв АБ или букву Л, двенадцатую букву алфавита.
Конечно, для кодирования
можно использовать любые однозначные соответствия между буквами и чис-
лами, например ASCII-кодировку, что чаще всего это и делается.
Продолжим пример: выбираем p = 149, q = 157, вычисляем ( ) 23 088N
ϕ = .
Теперь нужно выбрать число e, взаимно простое с ().N
ϕ
Наименьшее простое,
не делящее ()N
ϕ , равно 5. Положим e = 5. Зашифруем первый блок сообщения:
вычисляем 2524
5
mod 23393 = 22752; далее 1723
5
mod 23393 = 6198.
10199
5
mod 23393 = 14204,
9271
5
mod 23393 = 23191,
511
5
mod 23393 = 10723,
41
5
mod 23393 = 14065.
Теперь шифрованный текст имеет вид
22752619814204231911072314065