当前位置:首页 >资讯 >简单介绍Gost算法原理


Gost算法是一种类似于苏联设计的DES算法的分组密码算法。这是一种32轮简单迭代加密算法,由64位分组和256位密钥组成。在DES算法中,采用56位长钥匙。在密码科学中,对称密码系统的安全性是由算法的强度和密钥长度决定的。在保证算法足够强大的前提下,密钥的长度直接决定了穷人攻击的复杂性。即使按照每秒10000亿钥匙的速度,可以准确地提出Gost钥匙所需的时间,这是一个天文数字(约合3.3394c+57年)。

原理Gost算法。

天后算法采用256位长的密钥,密钥是由用户输入的,将这256位密钥等分为8个部分,每个部分32位,按照一定的顺序循环使用这8个密钥,对于加密数据采用64位分组,如果要加密的数据长度大于64位,则需要先将明文填充到64位,然后加密,将其分为左右两部分,记录为LEFT,RIGHT,每个32位,Gost算法总共需要进行32次迭代,在I轮操作中,输入为LEFT,RIGHT和加密密钥Key(i),将left和key(i)进行模具(2^32)+1)加操作,所得结果为S-箱操作的输入,使用S-箱进行替换。



假设left和key(i)进行模具(2^32)+1)加上操作得到的结果是itmp,把32位的itmp等分成8块,每块4位,每块的值不会超过0xf,gost算法的s-箱一共8组与这8块一一对应。例如,如果第三块的值是8,那么在s-箱的第三组第8列中找到相应的值,用这个值替换第三块的原值,完成8次s-箱替换后,将新生的8个4位的块组合成32位的块组。然后将合并的值循环到左边,移动11位,形成一个新的itmp值,将right值和itmp值按相同的位置或,然后将其存储在right中,交换right和left值,从而完成一个回合的操作。然后将left和right值作为下一个回合,gost算法总共需要进行32轮类似的操作。解密数据算法和加密数据相似,只需密钥反序使用。