【当前热闻】对称加密算法:GOST 28147

2023-01-26 18:52:23 来源:哔哩哔哩

GOST 28147是前苏联/俄联邦64位分组密码标准,使用256位密钥,其特点在于计算速度远快于DES,占用资源少,且密钥较3DES更长。作为前苏联最高机密,GOST 28147长期被视为“不可攻破”的算法,直至2011年才提出有效的攻击手段。算法描述如下:

加密器内部维护以下数据:

(1)256位密钥缓存,分为8个32位数,称为X0,X1,…,X7。


【资料图】

(2)32位寄存器CM1、CM2。

(3)输入寄存器N1、N2。

加密、解密使用的轮函数是完全一致的,共进行32次轮运算,但是使用的密钥顺序不同。加密使用

X0 X1 X2 X3 X4 X5 X6 X7 X0 X1 X2 X3 X4 X5 X6 X7

X0 X1 X2 X3 X4 X5 X6 X7 X7 X6 X5 X4 X3 X2 X1 X0

解密使用

X0 X1 X2 X3 X4 X5 X6 X7 X7 X6 X5 X4 X3 X2 X1 X0

X7 X6 X5 X4 X3 X2 X1 X0 X7 X6 X5 X4 X3 X2 X1 X0

轮运算算法描述如下:

(1)输入被复制到输入寄存器N1、N2。

(2)N1的值复制到CM1中,将CM1和X0相加,结果储存在CM1中。

(3)将CM1值在S盒中替换。注意GOST 28147标准并没有规定S盒,下面代码中的S盒是从MD2中拿过来的。

(4)CM1向高位循环移位11位。

(5)CM1和N2异或,结果存入CM2。

(6)N1写入N2。

(7)CM2写入N1。

注意第32轮稍有不同,第(4)步结束后,CM2写入N2即终止。ECB模式代码如下所示:

当然,实际情况下应用更多的是CTR模式,以避免明文攻击。思路是提供一个64位递增计数器,加密器加密的是计数器和明文输入异或的结果。代码如下所示:

标签: 最高机密 完全一致 2011年

下一篇:
上一篇:

珠宝展示