Файл: Методы кодирования данных (Функциональные модели).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 01.04.2023

Просмотров: 70

Скачиваний: 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 компаниями.