id: Гость   вход   регистрация
текущее время 06:45 27/04/2024
создать
просмотр
ссылки

реализация шифра Вернама


Хочу представить сообществу свою программу – реализацию шифра Вернама (одноразовый блокнот) с дополнительными функциями. Программа написана на Python и может:

  • Генерировать ключи, используя функцию os.urandom()
  • Шифровать и расшифровывать данные
  • При шифровании добавлять в конец данных контрольную сумму (sha1) и проверять ее при расшифровании
  • Сжимать данные с помощью gzip или bzip2

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


 
На страницу: 1, 2, 3 След.
Комментарии
— SATtva (03/06/2014 14:04)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Такие, что противник может постфактум получить эти данные и восстановить состояние генератора. Надёжные источники случайности трансиентны.
— Anton_Tsyganenko (03/06/2014 14:34)   <#>
противник может постфактум получить эти данные

После генерации данные удаляются.
— SATtva (03/06/2014 14:52)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Удаляются откуда? С диска? You gotta be kidding.
— Anton_Tsyganenko (03/06/2014 15:45)   <#>
Да, удаляются с диска, просто удаляются, не затираясь, скорее для того, чтобы пользователь не использовал их 2 раз для генерации ключей.
На страницу: 1, 2, 3 След.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3