Advertisement

简述DES加密算法的基本原理

阅读量:

笔者在先前的论述中已对对称加密、非对称加密及摘要算法进行了介绍(有兴趣的读者可查阅笔者过往的相关内容),此处将简要阐述对称加密中DES算法的具体实现过程。

一、明文处理

  1. DES加密采用分组方式,首先需将明文按8个字节为一组进行划分。完成分组后,取第一组的8个字节,依据ASCII码表找到对应的数值,并将其转换为二进制形式,总共形成64位的数据。

  2. 接着利用IP置换表对明文进行重新排列,随后将其划分为左右两个部分。

  3. 对右侧的部分进行扩展置换操作,将原本32位的数据扩展至48位。

二、密钥处理

  1. 从64位数据中提取每个字节的第8位,通过PC-1置换表进行转换后得到56位密钥(其中每字节的第8位作为校验位,不参与后续运算)。

  2. 将56位密钥划分为C和D两部分,并分别执行左移操作。每次左移的步数为1至2位(其中第1、2、9、16轮仅左移一次,其余轮次均左移两次)。

  3. 完成左移后,再通过PC-2置换表处理C和D两部分,并将它们合并形成最终的48位密钥。

三、加密处理

  1. 将生成的48位密钥与经过扩展后的右半部分(同样为48位)进行异或运算。

  2. 对异或运算所得结果按照每6位一组的方式拆分为8组数据。

  3. 每组中的前两位和最后一位作为行号,中间四位作为列号,在S盒中查找对应值并替换。随后将该值转换为二进制形式,最终形成32位的数据输出。

全部评论 (0)

还没有任何评论哟~