Добавлен: 01.04.2023
Просмотров: 85
Скачиваний: 2
(SETQ N (* P Q))
; НАХОДИМ PHI = (P-1) (Q-1)
(SETQ PHI (* (- P 1) (- Q 1)))
; ВЫБИРАЕМ ПРОИЗВОЛЬНОЕ ЧИСЛО
(SETQ E (RANDOM 10000000000000000))
; НАХОДИМ ВЗАИМНОЕ ПРОСТОЕ E С PHI
(SETQ E (DISTINCT_SIMPLE_NUM E PHI))
; НАХОДИМ ЗАКРЫТЫЙ КЛЮЧ PRIVATE_KEY
(SETQ PRIVATE_KEY (ALG_EUCLID E PHI))
(LIST E N PRIVATE_KEY)
)
; ПОЛУЧАЕМ КЛЮЧИ
(SETQ LIST_KEY (RSA))
(SETQ E (CAR LIST_KEY))
(SETQ N (CADR LIST_KEY))
(SETQ D (CADDR LIST_KEY))
; ШИФРОВАНИЕ ЧИСЛА
(DEFUN CODING (NUM)
(MOD (EXPT NUM E) N)
)
; ДЕШИФРОВАНИЕ ЧИСЛА
(DEFUN DECODING (NUM)
(MOD (EXPT NUM D) N)
)
; ПОЛУЧАЕМ СООБЩЕНИЕ
(SETQ TEXT 0)
(SETQ INPUT (OPEN «D:\MESSAGE.TXT»:DIRECTION:INPUT))
(SETQ TEXT (READ INPUT))
(CLOSE INPUT)
; ШИФРУЕМ СООБЩЕНИЕ
(SETQ OUTPUT (OPEN «D:\CODING.TXT»:DIRECTION:OUTPUT))
(SETQ CODING_TEXT (MAPCAR 'CODING TEXT))
(PRINT (LIST 'CODING_TEXT CODING_TEXT) OUTPUT)
(PRINT (LIST 'PUBLIC_KEY (LIST E N)) OUTPUT)
(TERPRI OUTPUT)
(CLOSE OUTPUT)
; ДЕШИФРУЕМ СООБЩЕНИЕ
(SETQ OUTPUT (OPEN «D:\DECODING.TXT»:DIRECTION:OUTPUT))
(SETQ DECODING_TEXT (MAPCAR 'DECODING CODING_TEXT))
(PRINT (LIST 'DECODING_TEXT DECODING_TEXT) OUTPUT)
(TERPRI OUTPUT)
(CLOSE OUTPUT)
5. Пример выполнения программы
Пример 1
Рисунок 7. Переданное сообщение
Рисунок 8. Зашифрованное сообщение
Рисунок 9. Расшифрованное сообщение
Пример 2
Рисунок 10. Переданное сообщение
Рисунок 11. Зашифрованное сообщение
Рисунок 12. Расшифрованное сообщение
Пример 3
Рисунок 13. Переданное сообщение
Рисунок 14. Зашифрованное сообщение
Рисунок 15. Расшифрованное сообщение
Заключение
Криптосистема RSA используется в самых различных продуктах, на различных платформах и во многих отраслях. В настоящее время криптосистема RSA встраивается во многие коммерческие продукты, число которых постоянно увеличивается. Также ее используют операционные системы Microsoft, Apple, Sun и Novell. В аппаратном исполнении RSA алгоритм применяется в защищенных телефонах, на сетевых платах Ethernet, на смарт-картах, широко используется в криптографическом оборудовании THALES (Racal). Кроме того, алгоритм входит в состав всех основных протоколов для защищенных коммуникаций Internet, в том числе S/MIME, SSL и S/WAN, а также используется во многих учреждениях, например, в правительственных службах, в большинстве корпораций, в государственных лабораториях и университетах. На осень 2000 года технологии с применением алгоритма RSA были лицензированы более чем 700 компаниями.