Skip to content

dzagalskii/RSA_EncryptionSignature

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 

Repository files navigation

Шифрование и проверка подписи RSA

Настройка среды разработки

Данная программа была реализована на Anaconda 3 на языке программирования Python 3 в среде разработки Jupyter Notebook. Для работы программы требуются библиотеки: asn1, pycryptodome. Остальные зависимости присутствуют в Anaconda 3. Чтобы установить недостающие библиотеки, нужно выполнить следующие команды в командной строке Anaconda 3:

$ pip install asn1
$ pip install pycryptodome

Немного о шифровании

В качестве вспомогательного симметричного алгоритма шифрвоания для RSA используется AES-256 CBC: шифрование файлов при помощи RSA нецелесообразно, поэтому RSA шифрует только ключ симметричного AES-256 CBC. ВНИМАНИЕ: синхропосылка CBC в данной работе состоит из 0. Это небезопасно и должно быть изменено на генерацию случайной синхропосылки, если данная программа будет использована не для демонстрационных целей.

Немного о подписи

Для вычисления подписи используется алгоритм SHA-256.

Немного о выходных файлах

Зашифрованные файлы и файлы с подписью имеют формат ASN.1, работа с которым реализована при помощи библиотеки asn1, как ни странно. Прочитать эти файлы можно при помощи утилиты dumpasn1, доступной на сайте CryptoPro по ссылке: https://www.cryptopro.ru/downloads.

About

Using RSA Cryptosystem for Encryption and Signature

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published