Вчера компания BitCrypt сделала еще одну попытку создания инновации с использованием blockchain, о чем было объявлено в Reddit. Идея заключается в том, что вы можете написать и разослать зашифрованные сообщения владельцам Bitcoin-адресов. Код для BitCrypt - всего 104 строки на Python, концентрируется на использовании ECDSA, эллиптической кривой. Алгоритм цифровой подписи,снова востребован.
Все шифрование зависит от наличия хорошего источника энтропии для процесса генерации случайных чисел. Среда разработки выбрана случайно, Python считается подходящим для статистических приложений и т.п., но есть также и ограничения - " будучи полностью детерминированным, он не подходит для всех целей шифрования, и не годится для криптографических целей."
В документации библиотеки предполагается использование os.urandom в качестве источника для криптографической защиты генерации случайных чисел. Это предусмотрено в системах UNIX через устройство /Dev/urandom.
Системы, которые будут проводить более зашифрованный трафик, чем центральный процессор общего назначения, могут использовать ускоритель криптографии, например, получаемый с помощью Exar, которые связывают шифрование, сжатие данных, а также случайные числа от аппаратного генератора.
Были высказаны определенные опасения - есть общепринятые методы обмена, безопасные хэши и шифрования потоковых шифров. Если ваш метод обмена ключами является ошибочным, шифр ничего не стоит. Многие из проблем, упомянутых в сочетании с криптографией, не являются дефектом в алгоритмах, но вместо этого есть ошибки со стороны разработчиков. Ярким примером этого является ошибка в OpenSSL.
Этот пример должен послужить нам хорошим уроком того, что любая предполагаемая инновация должна проверятся многими экспертами и выноситься на предварительные общественные обсуждения.
Автор идеи, Эндрю Бэрризер, появлялся на CryptoCoinsNews прежде, защищая использование технологии Bitcoin blockchain, а не их альтернатив, таких как Counterparty. Код BitCrypt находится в рабочем состоянии, но пока это только доказательство концепции, а не продукт, который может быть запущен в производство. Может быть выпущено обновление, которое исправит очевидную проблему с генератором случайных чисел, или автор может просто наблюдать и отслеживать, где концепция выходит за уровень погрешности.