简述DES加密算法的基本原理
发布时间
阅读量:
阅读量
笔者在先前的论述中已对对称加密、非对称加密及摘要算法进行了介绍(有兴趣的读者可查阅笔者过往的相关内容),此处将简要阐述对称加密中DES算法的具体实现过程。
一、明文处理
-
DES加密采用分组方式,首先需将明文按8个字节为一组进行划分。完成分组后,取第一组的8个字节,依据ASCII码表找到对应的数值,并将其转换为二进制形式,总共形成64位的数据。
-
接着利用IP置换表对明文进行重新排列,随后将其划分为左右两个部分。
-
对右侧的部分进行扩展置换操作,将原本32位的数据扩展至48位。
二、密钥处理
-
从64位数据中提取每个字节的第8位,通过PC-1置换表进行转换后得到56位密钥(其中每字节的第8位作为校验位,不参与后续运算)。
-
将56位密钥划分为C和D两部分,并分别执行左移操作。每次左移的步数为1至2位(其中第1、2、9、16轮仅左移一次,其余轮次均左移两次)。
-
完成左移后,再通过PC-2置换表处理C和D两部分,并将它们合并形成最终的48位密钥。
三、加密处理
-
将生成的48位密钥与经过扩展后的右半部分(同样为48位)进行异或运算。
-
对异或运算所得结果按照每6位一组的方式拆分为8组数据。
-
每组中的前两位和最后一位作为行号,中间四位作为列号,在S盒中查找对应值并替换。随后将该值转换为二进制形式,最终形成32位的数据输出。
全部评论 (0)
还没有任何评论哟~
