Комментарии 15
Ну кто-то ведь изобрел AES, значит, почему бы хорошему математику не изобрести ещё один. Возможно, даже взлетит, и с некоторой вероятностью в исходном алгоритме нет криптографически значимых изъянов. А вот почему не поделиться — сейчас ИМХО уже нелогично, разве что продукт не пилится под какое-нибудь ФСО (на что нам, кстати, недвусмысленно намекнул автор поста).
Я полагаю, что это правило криптографии выведено и актуально для кустарей-одиночек.
Шифрование — слишком серьезная штука, чтобы заниматься этим в гордом одиночестве.
Даже если математик хороший и изобрел новый шифр, нужно, чтобы еще толпа столь же хороших математиков в течении достаточно длительного времени потопталась на этом алгоритме, выискивая дыры и просто ошибки, а потом куча хороших программистов и железячников помучило алгоритм на предмет возможности быстрой реализации (программной и железной соответственно) и проблем алгоритма, этому препятствующих.
Короче, требуется длительное и сложное коллективное творчество, которое в результате или зарубит шифр хорошего математика, или таки доведет до чего-то, пригодного к применению (первое с большей вероятностью в виду большой сложности и ответственности задачи).
А разве системой шифрования не является набор функций F, D таких, что для любого К из некоего подмножества существует и единственное К2, такое, что для любого А D(F(A,K),K2)===A?
А вывод очевиден, Acronis использует устаревшую классическую реализацию ГОСТ 28147-89 на РОН регистрах процессора, поэтому такая низкая скорость.
Как бы Акронису важнее переносимость, вот и скомпилировали так, чтобы на коре дуба запускалось. Ваша FSB, скорее всего, откажется работать на старом железе, а в случае пересборки под старые процессоры может уступать в производительности Акронису в AES128 в несколько раз. Проверьте у себя ради интереса.
Кстати о проверке. Помнится, одним из критериев "хорошего" хэша является изменение (инвертирование) примерно половины бит результата при изменении одного бита исходных данных. Вы не проверяли, случайно, насколько большая разница в шифротекстах, если шифруется блок из нулей (т.е. число 0), 1, 2, 4...2^(длина блока-1)? Если малая, грош цена этому алгоритму, это будет значить, что его фактическая стойкость меньше длины ключа на большую величину. И ещё — а на скольких раундах "рулетки" тестировалась скорость шифрования? Может, при шифровании на десяти раундах, задекларированных как дающих гарантированное влияние каждого бита данных на весь блок, скорость будет не настолько впечатляющей?
Никогда не реализуйте криптографию сами!
Никогда, даже если хочется!
Никогда не придумывайте криптографический функции!
Никогда, даже если хочется!
Прежде чем «это» использовать, нужно чтобы как минимум несколько десятков математиков посмотрели на это, поискали логические изъяны, кореляции, попробовали дифференциальный криптоанализ, линейный криптоанализ, и так далее.
А тестировать криптографическую функцию и говорить «ну распредение вроде случайное» — вообще неправильно! Это необходимое, но недостаточное условие.
Уберите в черновики статью пожалуйста и удалите весь этот код из своего проекта, чтобы это никогда не попало в настоящий проект.
> Программа FastSecurityBoxes (ФорсированныеСекретныеОбразы если по-русски) скоро превратится в пригодную для массового использования программу ответственного архивирования, а затем, надеюсь, в полнофункциональный коммерческий продукт
Очень надеюсь, чтобы версия с вашим алгоритмом никогда не стала массовой, чтобы кто-нибудь случайно не начал использовать надеясь на то, что данные и правда зашифрованы.
Странно как-то, котиков и серверпорн плюсуем, а очень технические статьи минусуем. Имхо, даже если в корне не согласен с автором, нельзя так недооценивать проделанный труд
Третье пришествие ГОСТ 28147-89 или «Русская рулетка»