Не помню, писал я об этом, или пропустил, но не страшно, если повторю.
*
Reverse-Engineering the S-Box of Streebog, Kuznyechik and STRIBOBr1 (Full Version).pdf*
Exponential S-Boxes: a Link Between the S-Boxes of BelT and Kuznyechik/Streebog.pdf*
https://github.com/picarresursix/GOST-pi Читаешь это:
"На конференции «CRYPTO 2015» Алекс Бирюков, Лео Перрин и Алексей Удовенко представили доклад, в котором говорится о том, что несмотря на утверждения разработчиков, значения S-блока шифра Кузнечик и
хэш-функции Стрибог не являются (псевдо)случайными числами, а сгенерированы на основе скрытого алгоритма, который им удалось восстановить методами обратного проектирования (.pdf выше). Позднее Лео Перрин и Алексей Удовенко опубликовали два альтернативных алгоритма генерации S-блока и доказали его связь с S-блоком белорусского шифра BelT (.pdf выше). В этом исследовании авторы также утверждают, что, хотя причины использования такой структуры остаются неясны, использование скрытых алгоритмов для генерации S-блоков противоречит
принципу отсутствия козыря в рукаве, который мог бы служить доказательством отсутствия специально заложенных уязвимостей в дизайне алгоритма."
... и, вот знаете, раньше все сомневались и было на уровне потенциальных угроз, типа, вот чего pre-defined S-Boxes, явно их генерируют специальным образом и не просто в контексте криптостойкости вот этих (и допустим, некриптостойкости любых самостоятельных), но и в том, что к имеющимся и данным для использования тоже есть "ключики". (Кстати, любители делать "самостоятельные", не имея представлений и критериев для того, чтобы делать результат криптостойким, скорее всего,
сводили шифр вообще на нет или очень сильно ослабляли - дико опасная история с этим подходом). (Хороший пример-"ответвление":
https://habrahabr.ru/post/339910/)
После работы вот этих товарищей у меня лично на субъективном уровне нет вообще никаких сомнений, что ГОСТ использовать (любой, хоть 89, хоть вот это новейшее творчество) - себе дороже. Похоже КГБ, потом ФАПСИ, а потом ФСБ, реально имеют возможность ослаблять и дешифровывать данные. Алгоритм явно создан для возможности иметь скрытый контроль.
Т.е. в таком случае при модели нарушителя "специальные службы РФ" я бы не рекомендовал использовать ГОСТ вообще. Против каких-нибудь западных стран - возможно. Но не стоит думать, что их закрытые криптографы идиоты. Или, что они за годы (в случае с 89 хотя бы) не достали соответствующую информацию.
Хотя теоретически это и несовсем верно (с определенными ограничениями), но, видимо, самым лучшим способом на практике остается подход: берете и как луковицу используете в
несколько слоев шифры от разных стран (политически не связанных между собой). А еще можно кандидатов на выбор использовать (которые идут на втором или третьем местах) - тоже отлично (когда альтернативные команды и ручищи туда госы не засунули; важно: должно предлагаться не госами). ПРЕДЕЛЬНО ВАЖНО: для каждого алгоритма (слоя) ключи должны быть РАЗНЫЕ (тогда это снимает теоретическое ограничение проблем), ни в коем случае не использовать один ключ для всех - это может ухудшить ситуацию в разы, чем если бы зашифровали бы одним алгоритмом. Все это актуально только в случае, когда в модели нарушителя значится государство/специальные службы.
Список шифров по странам (от чего можно дальше уже себе выбирать подходящее политически, современное):
https://crypto.stackexchange.com/questions/11278/do-any-non-us-ciphers-exist P.S. Вот НЕПРЯМАЯ (не стоит воспринимать буквально, т.к. это совершенно разные математически операции и подходы, вообще другой класс), но все же аналогия, чтобы было понятно какой ад может быть:
https://habrahabr.ru/post/248269/