реализация шифра Вернама
Хочу представить сообществу свою программу – реализацию шифра Вернама (одноразовый блокнот) с дополнительными функциями. Программа написана на Python и может:
- Генерировать ключи, используя функцию os.urandom()
- Шифровать и расшифровывать данные
- При шифровании добавлять в конец данных контрольную сумму (sha1) и проверять ее при расшифровании
- Сжимать данные с помощью gzip или bzip2
Контрольная сумма нужна для зашиты от подмены в случае, когда злоумышленнику известна часть ключа/сообщения. Контрольная сумма и сжатие опциональны, по умолчанию программа добавляет контрольную сумму, если использовать сжатие, то sha1 добавляться уже не будет. При необходимости можно отключить оба варианта или использовать их вместе. Прилагается документация на русском и английском.
Размер – меньше 400 (четырехсот) строк.
Лицензия – MIT.
https://github.com/anton-tsyganenko/otppy
При привильном использовании и отсутствии закладок в ОС и интерпритаторе взлом абсолютно невозможен.
комментариев: 11558 документов: 1036 редакций: 4118
После генерации данные удаляются.
комментариев: 11558 документов: 1036 редакций: 4118