这是一个非常好的问题。

是的,从现代密码学的角度来看,Gmatrik技术(通常指GOST 28147-89算法)已经过时了,并且不再被推荐用于新的安全系统。
要完全理解这个问题,我们需要区分几个层面:技术本身、其历史地位、以及当前的现实应用。
下面我将从几个方面详细解释为什么说它过时了。
为什么说它“过时”了?(核心原因)
GOST 28147-89在20世纪80年代被设计时,是一个非常强大的块密码算法,随着密码学的发展,它的设计理念、安全强度和实现方式都暴露出了一些问题,使其在现代标准下显得过时。

a) 设计理念陈旧
- Feistel网络结构:GOST采用的是Feistel网络,这是DES等早期经典块密码的结构,虽然这种结构本身不一定不安全,但它不像现代的SPN(Substitution-Permutation Network,如AES)结构那样被认为是更优的设计范式。
- S-盒设计:GOST的S-盒(替换盒)在当时是保密的,这被认为是其安全性的一个来源,但在现代密码学中,“公开设计、公开分析”是金科玉律,一个算法的安全性应该依赖于密钥,而不是其设计的保密性,公开的S-盒可以接受全球密码学家的严格审查,而保密的S-盒则可能存在未知的后门或设计缺陷,后来的公开版本GOST R 34.12-2025修正了这一点。
b) 安全强度不足
- 密钥长度过短:GOST 28147-89的标准密钥长度是256位,这个长度在今天看来是非常安全的,足以抵抗穷举密钥攻击,这一点反而是它的优点,也是为什么它在很长一段时间内被认为是安全的。
- 块大小和轮数:它的块大小是64位,这在当时是标准(如DES也是64位),64位的块大小在今天看来是致命的弱点。
- 生日攻击:对于任何分组密码,当加密的数据量超过 2^(n/2) 个块时(n是块大小),就很容易受到“生日攻击”,对于64位块,这个阈值是 2^32 ≈ 43GB 的数据,这意味着,如果一个攻击者可以获取大量加密后的相同数据(一个大型数据库的备份),他们就有很高的概率找到两个不同的明文块,它们加密后会产生相同的密文块,这会破坏数据的机密性和完整性,可能导致严重的安全漏洞。
- 轮数:原始GOST算法有32轮,这对于抵抗差分分析和线性分析来说可能已经足够,但现代标准(如AES的10-14轮)要求更高的轮数来抵御更复杂的攻击。
c) 缺乏现代化和广泛的审查
- 缺乏生态系统:与AES等国际标准相比,GOST没有获得全球密码学社区同等程度的关注和审查,一个算法的安全性,很大程度上取决于它是否能经受住全世界顶尖密码学家的“锤炼”,GOST在这方面是欠缺的。
- 性能问题:在某些平台上,GOST的实现和性能可能不如AES等经过高度优化的现代算法。
它的“历史功绩”和现实应用
尽管技术上已经过时,但GOST在历史上和特定领域仍有其重要地位。
a) 历史地位:苏联/俄罗斯的“国密”
- GOST 28147-89是前苏联的国家标准,被广泛用于政府和军事通信中,是当时苏联阵营的“高级加密标准”。
- 它的设计思想(特别是其S-盒)带有浓厚的时代特色,反映了当时对密码学设计的理解。
b) 现实应用:特定领域和“合规性”需求
- 俄罗斯及其盟友的强制性标准:至今,俄罗斯、白俄罗斯、哈萨克斯坦等独联体国家仍在使用基于GOST的加密标准(如GOST R 34.12-2025,它是GOST 28147-89的现代化替代品)来保护政府、金融和关键基础设施的数据,在这些国家,使用GOST不是技术选择,而是法律和合规要求。
- 遗留系统:许多老旧的、仍在运行的俄罗斯系统可能仍在使用原始的GOST 28147-89算法,更换成本高昂。
- 特定行业:在一些与这些国家有业务往来的行业(如能源、金融),为了符合当地的监管要求,可能需要支持GOST算法。
GOST 28147-89 vs. GOST R 34.12-2025
这里需要做一个重要的区分,很多人谈论的“GOST”其实指的是两个不同的标准:
| 特性 | GOST 28147-89 (旧标准) | GOST R 34.12-2025 (新标准) |
|---|---|---|
| 状态 | 过时,不再推荐用于新系统 | 现行有效,是俄罗斯的现代标准 |
| 块大小 | 64位 (存在安全风险) | 128位 (安全) |
| 密钥长度 | 256位 (安全) | 256位 (安全) |
| S-盒 | 保密或简单固定 | 公开,并提供了“Kuznyechik”(甲虫)和“Magma”(玛瑙)两种算法 |
| 设计 | Feistel网络 | Kuznyechik基于SPN网络,Magma基于Feistel网络 |
| 国际认可 | 几乎没有 | 作为ISO/IEC国际标准发布,但使用范围仍局限于特定区域 |
如果你现在需要在俄罗斯境内建立一个新的安全系统,你应该使用 GOST R 34.12-2025(Kuznyechik或Magma),而不是旧的 GOST 28147-89。
- 技术层面:是的,GOST 28147-89 技术上已经过时,其64位的块大小使其易受生日攻击,且其设计理念(如保密S-盒)不符合现代密码学的开放、透明原则。
- 现实层面:它并未完全消失,在俄罗斯及其盟友的特定领域,由于法律和合规性要求,它和它的现代化继任者(GOST R 34.12-2025)仍在强制使用。
- 对新项目的建议:
- 在全球范围内,对于任何新的安全项目,AES 是事实上的黄金标准,是首选。
- 在俄罗斯及其盟友境内,对于新的安全项目,应遵循当地法律,使用 GOST R 34.12-2025 标准。
- 应避免在任何新的、面向国际或需要长期安全保证的项目中使用古老的 GOST 28147-89。
