库皮纳-256哈希函数分析
1. 引言
哈希函数库皮纳(Kupyna)最近被发布为乌克兰标准DSTU 7564:2014。与之前的标准GOST 34.311 - 95相比,新的哈希标准更便于软件实现,并且旨在提供比旧标准更高的安全性,因为旧标准在碰撞攻击方面表现出了弱点。由于库皮纳是国家标准,很可能在乌克兰得到广泛应用,因此需要进行全面的第三方分析来评估其抵抗密码分析攻击的能力。
库皮纳的设计依赖于知名且经过充分分析的构建模块,以实现高水平的安全性。它与SHA - 3决赛入围者格罗斯特尔(Grøstl)有显著的相似性。库皮纳的操作模式,特别是其压缩函数,与格罗斯特尔几乎相同,其置换虽然不同,但遵循非常相似的设计理念。库皮纳的两个置换之一采用了高级加密标准(AES)的宽轨迹设计策略,因此与格罗斯特尔的置换有共同的基础,但库皮纳使用了不同的常量、S盒、旋转值和不同的最大距离可分(MDS)矩阵。第二个置换在常量加法上与第一个不同,它采用模$2^{64}$加法而不是按位异或。这种模加法不仅用于区分两个置换,还增加了代数密码分析的复杂性,并且破坏了线性层的列最优分支数,使得关于差分轨迹中最小活动S盒数量的陈述更加复杂。
本文的贡献在于提供了对新乌克兰哈希标准库皮纳的首次第三方分析。我们展示了对库皮纳 - 256最多5轮的约简轮数变体的碰撞攻击,以及对库皮纳 - 256压缩函数最多7轮的碰撞攻击。具体结果如下表所示:
| 哈希函数 | 目标 | 轮数 | 复杂度 |
| — | — | — | — |
| 库皮纳 - 256 | 压缩函数 | 6 | $2^{70}$ |
| 库皮纳 - 256 | 压缩函数 | 7 | $2^{125.8}$ | <