Один тут криптоэнтузиаст рассказал, как его криптохипстеры вчера чморили по поводу отечественного ГОСТ-хэша «Стрибог». Так, дескать, и так, непрозрачный он. Начальные константы выбраны непонятно как, и-де в этом может быть засада, ФСБ подделает все электронные подписи, ужоснах.
Криптоэнтузиаст долго виновато смотрел в пол, оправдывался и отмахивался вот этой статьей одного из авторов хэша:
https://www.tc26.ru/ISO…/Streebog/streebog_constants_rus.pdf
Статья типа объясняет механизм генерации коэфициентов. На самом деле нет. Точнее на самом деле да, но как будто на самом деле нет.
Автор пишет, что они их псевдослучайно генерируют, применяя ту же хэш-функцию с нулевыми этими самыми коэфициентами к неким сообщениям. И приводит (см. табл. 1) список этих сообщений, какая константа сгенерирована хешированием какого сообщения.
Ну, то есть, накрутили матана, а в конце опять табличка с непонятными константами. Я так и подумал, и ушел готовить мидии и открывать Совиньон.
Пришел, свежим взглядом перечитал статью, засунул константы в HEX-редактор, гляжу — вон чо:
âåíáåðÃ
÷èâîðèìèäàë éåãðåÑ
õóìÄ
÷èâîðäíàñêåëÀ éåðäíÀ
íèãûÄ
÷èâîëéàõèÌ ñèíåÄ
íèõþòàÌ
÷èâîðîòêè éèðòèìÄ
éîêñäóÐ
÷èâåðîãÈ ðèìèäàëÂ
íèêøèØ
÷èâååñêåëÀ éèëèñàÂ
Заглавные буквы в начале строк и после пробелов только задом наперед. Как-то неэнтропийно.
Туда-сюда, Лебедевский декодер справа налево не понимает. Погуглил отдельные слова прям так — находятся. Так, например, я понял, что «÷èâîðèìèäàë» — это «Владимирович». Ну бля, точно, кровавая рука ФСБ.
Короче. CP1252→CP1251→UTF8:
венберГ
чиворимидалВ йегреС
хумД
чиворднаскелА йерднА
нигыД
чиволйахиМ синеД
нихютаМ
чивороткиВ йиртимД
йоксдуР
чиверогИ римидалВ
никшиШ
чивеескелА йилисаВ
Скромный авторский коллектив спалился на любви к письму справа налево. А мы-то думали, что это дело рук ФСБ. (Нет, это не литл-эндиан, это именно справа налево!)
Очень надеюсь, что не раскрыл этим государственной тайны. Криптоэнтузиасты могут весело троллить криптохипстеров и наоборот.
Павел Лунин