首页| 股票|财经|基金|理财|商业|区块链

当前位置:财经中国 > 区块链 > 区块链数据加密算法DES

区块链数据加密算法DES

2019-08-13 15:47       来源:区块网 | 大东
一、数据加密算法(DES)简介数据加密算法(DES)由IBM在20世纪70年代早期开发,后来由国家标准与技术局(NIST)于1977年由国家标准与标准局(NBS)采用。并批准它作为飞机部门使用的数据加密标准。自其发布以来,DES已成为全球商业安全通信盒中最常用的计算机通信加密算法。 那时,DES使用了10到15年。后来,美国政府宣布将延长其使用期限有两个原因。首先,DES当时没有受到严重威胁;第二,没有新的数据加密算法。采用后,DES大约每五年审查一次。 DES的最后一次审查是在1999年1月;此时已使用其高级加密标准,标志着DES即将退出舞台。通过这种方式,DES在国际通信保密阶段已经活跃了20多年。

二、DES的基本结构

152232387598030.png

DES是对称密码。加密和解密都使用相同的密钥。有效密钥长度为56位。 DES是一种分组密码算法。分组长度是64位,即,用于加密和解密数据的单元是64位,并且明文和密文具有相同的长度。由于加密和解密使用相同的算法,因此对于硬件和软件实现是有利的。请注意,上面提到的56位是有效的密钥长度。实际上,我们使用64位密钥,但8,16,24,32,40,56和64位是奇偶校验位。 (1)初次更换(IP)。转换明文块的位并固定它们的排列。初始置换表是8×8的表,第一位58表示该位置将第58个字符存储在明文中。第一个字符已转换为40位。 请注意,初始置换是一个固定暴露的函数,因此没有密码含义。效果不是很好,它们的作用是破坏原始ASCII码字输入x的关系。在初始替换之后,64位明文被分成两组L和R,每组32位。由于该方法软件的繁琐实施,所有软件实现都已移除了初始排列。初始置换后,64位输入获得两个32位输出。

152232390071410.png

(B)16轮圆函数F变换。圆函数F由三部分组成:扩展排列(E-box),非线性替换(S-box)和线性置换(P-box)。

152232392932922.png

(1)E框的功能是扩展32到48位,扩展规则如下。表大小为6 * 8,最左边和最右边两行被删除,中间四列包含1-32的顺序。第1列和第6列分别是第4列和第1列的扩展。在扩展排列之后,32位输入获得48位输出。

152232396159803.png

(2)S盒的作用是进行非线性替换。 S-box是DES中唯一的非线性部分,DES的安全强度主要取决于S-box的安全性。 S-box操作实际上是查找表操作。在扩展E-box之后,获得48位数据,并且与48位子密钥进行异或,这是密钥参与操作的步骤。将其分为8组,每组6个,并将它们发送到8个S盒。每个S-box是一个6位输入4位输出结构,即对8个S-box的48位输入将产生4 * 8=32位输出。 6位输入到8位输出的映射关系如下表所示,其中第一个和最后一个数字是行号,第二个到第五个数字是最多的列号。例如,101100,行号为10=2,列号为0110=6。检查(2,6)=2,并转换为二进制位0010.注意,八个S盒的映射关系是不同的。

152232398630577.png

(3)P-box的作用仅仅是简单地进行位置替换,只需将一位替换为另一位,而不进行扩展和压缩。在P-box操作之后,32位输入获得32位输出。 通过圆函数的组成图可以清楚地看到圆函数F的剩余步骤,这里不再详细描述。主要是执行XOR操作。以这种方式,执行由E-box扩展的64位数据的16位转换。 (3)反向初始替换。如果执行初始置换,则必须执行逆初始置换,并且逆初始置换的实现与初始置换相同,除了置换表不同。

152232403150737.png

三、DES子密钥生成方法PC-1选择DES的初始64位密钥以获得有效的56位密钥。这56位被分成两个28位数据C0和D0。在每次迭代中,Ci-1和Di-1分别向左移位1或2位,并且移位的值用作下一轮的输入。同时,也选择PC-2的输入作为替换,并通过替换选择PC-2。生成48位输出,这是一个子项。 64位密钥生成16个48位子密钥。

152232406081584.png

PC-1表(替换选择1)

152232409062577.png

PC-2表(替换选择2)

152232411631917.png

声明:本文由进入分组网络的专栏作家撰写。这个观点只代表作者本人。这并不意味着区块网络同意其观点或确认其描述。


相关报道:

    相关新闻

    网友热议