GOST Grasshopper和Stribog算法的另一个奇怪之处

嗨%用户名%!

俄罗斯的密码算法不会经历公开竞争,只会让我们失望。 迟早它会回到我们身边。 本文是关于我们的GOST的下一个研究。


2016年,研究人员表明 ,俄罗斯哈希和加密算法Kuznechik和Stribog中的置换表具有远非随机的结构。 这是在Stribog中发现一个小错误之后,已经将其耐用性从2 512降低到2,266

2019年1月29日,发表了一项新研究 ``Streebog和Kuznyechik的S-Box中的分区'',这清楚地暗示了这些算法中存在后门的理论可能性。

因此,S-Box(或替换表)是许多对称加密和哈希算法中的关键安全元素。 该表的示例在图中示出。



通常,此表将一个位序列映射到另一个。 但是,凭什么原则总是一个大问题。

政府机构通常限于没有任何合理解释的出版。 对于DES,NSA建议在算法成为标准之前更改S-Box。 仅仅多年之后,人们才清楚知道这种变化实际上提高了DES对差分密码分析的抵抗力。

对于新的GOST,并非所有事情都那么乐观。 作者宣称替换表是随机选择的。 这是算法演示的幻灯片,它表明作者随机选择了表格。 因此它没有明确的结构来帮助进行有效的密码分析。 (红色是他们选择的)



这个桌子



但是首先,事实证明,它不是随机生成的,而是借助一个狡猾的算法(该算法于2015年被采用)生成的



其次,作者没有放弃寻找这种方法来设计S-Box的原因,并且发现了非常有趣的结果。

事实证明,构成替换表的算法不止一个。 不同的研究人员小组描述了完全不同的算法,这些算法几乎没有共通之处,但却在同一张桌子上。

这导致原始研究的作者更深入地研究了这些算法的结构,并找到了它们成功成功的共同要素。

博客


TKlog是一种置换结构,密码分析的作者以TK-26俄罗斯办事处的名字命名,TK-26是在那儿创建Grasshopper和Stribog的。 它的描述远远超出了本文的范围;希望的读者可以参考原文 。 简而言之,它的关键特性是使用离散对数,就像在非对称密码学中一样。

重要的是,来自GOST算法的两个版本的替换函数都是TKlog设计的特殊情况。 以及BelT 白俄罗斯算法的另一个替换函数。 功能不同,但归结为一个。

隐藏文字



几乎没有不同的TKlog转换选项这一事实表明,有意使用了这种特定的非随机结构,而不是幻灯片上显示给我们的随机结构。

划分为相邻的类


TKlog转换的一个关键属性是它可以与所谓的陪集一起使用。 并相互比较。

问题在于,这些相邻类与所有常规算法一样都是可乘的。 而且它们是添加剂。

因此,在替换分组密码的功能中使用加法相邻类的唯一已知情况是后门特殊创建 。 有关此信息,请参见2016年。

这样的后门被称为NOBUS,缩写。 这些漏洞来自美国,这些漏洞只能由算法作者自己加以利用。

而不是结论


密码分析的作者没有对现有的GOST算法提出新的攻击,但是他们用所谓的随机排列表对整个马戏的适当性提出了一个公平的问题。

美国国家安全局(NSA)最近试图将其轻量级对称算法Simon和Speck纳入标准。 而事实上,没有提供带有设计的替换表(没有提供描述)就足以从各个地方用碎布把它们赶出去。

我们没有这样的机会。

PS不会忘记使用Stribog来生成新的GOST椭圆曲线的参数。 使用它,对神秘常数W进行了哈希处理。

Source: https://habr.com/ru/post/zh-CN439788/


All Articles