не мог бы послать шифрованное сообщение или подтвердить подпись Протокол подтверждения подлинности отправителя сообщения.
• Отправитель А и получатель В знают число р и случайное число N из интервала (1,N). А генерирует случайные числа * и у из того же интервала.
• х является секретным ключом, а у должно быть взаимно простым с
передает В документ с подписью (Q,R,S,T). в Получатель В проверяет подпись, контролируя тождество
В этой системе секретным ключом для подписания сообщений является число х, а открытым ключом для проверки достоверности подписи - число
Q.
2.2. Криптосистема RSA
В 1978 году R.L.Rivest, A.Shamir, L.Adleman опубликовали криптосистему с открытом ключом, которая стала известной как RSA система. Рассматриваемая система криптографии основывается на следующей теореме.
Теорема (Эйлера). Пусть а и п целые числа. Тогда
где НОД (а, п) - наибольший общий делитель чисел а и п, ф{п) - функция Эйлера
определяется для всех целых положительных о и представляет собой число чисел ряда 0,1,..., п-1 взаимно простых с п. Если существует каноническое разложение числа п
Алгоритм. RSAКаждый пользователь выбирает два простых числа ри и Яи, произведение которых образует число nu= p„ q„,. Из (2) следует, что
Далее пользователь U определяет целое число е, 1< еи<ф(п„) , для которого НОД(е„, ф(пи)) = 1. С Помощью алгоритма Евклида пользователь U вычисляет за 2log]$(nu) шагов целое число du, удовлетворяющее сравнению
Пользователь U публикует числа ец и п„в открытой книге, но держит d„ в секрете. Числа ри и qu не играют большой роли, но также не публикуются.
Шифрование сообщения. Если пользователь А хочет передать сообщение m пользователю В (0 < гп < пв), то А выбирает из открытой книги число ев и вычисляет зашифрованный текст:
С ш m '» modna .(5)
Расшифровка сообщения. Пользователь В восстанавливает сообщение m
ИЗ С, ВЫЧИСЛЯЯ
V => Cd» =ш''■*» = mH1#?n»)« m mod nB ; (I-любое) ,
7
гдеН0Д(т,пв)=1.
Прииер L Пусть p=2U, q -223, n = pq = 47053, ф(п)= (p-l)(q-l)=46620, открытый ключ е= 16813, секретный ключ d=19837. Пользователь хочет передать английский текст RSA. Буквам соответствуют следующие номера их положения в английском алфавите: R=18, S=19, A=l. Тогда 5- битовое представление текста будет иметь следующий вид:
т=((1-32)+19)32+18=1650.
После шифрования получаем
С =. mdmo«l n - 165016813mod 47053 - 3071.
Получатель расшифровывает сообщение с помощью секретного ключа: P^Cmodn = 307l"837mod 47053 = 1650.
Пример 2. Рассмотрим случай, когда используется N- значный алфавит и известны положительные числа к и 1, к<1, причем значения Nk и N1 охватывают диапазон около 200 значного числа. Используется английский алфавит из N=26 букв, к=3,1=4. Шифруемое слово "YES".
формирование ключей пользователя А
1. Определяется величина модуля Nk< nA <Я\ Для этого выбираются простые числа pA=281,qA= 167, пА= pAqA = 281167 =46927.
2. Используя генератор случайных чисел определяется секретный ключ еА= 39423, удовлетворяющий условиям НОД(еА, рА-1) = НОД(еА, qA-3. Вычисляется открытый ключ dл = е'2 mod( рл - Щйл " l) = 26767 4 ЧисларА, qA, dA являются секретными.
Пользователь А использует для шифрования ключ (пА, еА) •*( 46927, 39423). Сообщение представляется в цифровом виде как триграф следующим образом:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.