DES讲解

        DES加密算法整体来说分为两部分:明文部分、密钥部分,两部分分别处理后合并,继续执行某些操作行成密文。它的安全性取决于密钥的不可预测性,而不是加密方法的保密性。那么其实每一步的操作都是公开的,只是密钥无法被破解,之所以无法破解是因为密钥是8字节的,即64位二进制,破解起来很困难。

        由于一系列操作都是以8字节为基础,所以明文输入应该是为8字节,那显然,明文只能输8字节这并不合理,所以要给明文分组,每8字节一组,不足8字节就补0。(这里其实存在一个问题,补0固然可以加密,但是解密时,如何判断0是补的0还是明文本身就有的0,所以补足位的选取很重要,有兴趣的可以一起探讨。)

        这里设置了3个循环变量i,j,k。j代表了明文的组数,i代码明文循环的次数(即明文的组数),k代表密钥循环的次数。

        明文主要涉及的模块有:初始置换,扩展变换等。

        密钥主要涉及的模块有:置换选择1,循环移位等,置换选择2。

        明文和密文通过乘积变换组合在一起,其中包括S盒操作,置换运算P,以及初始逆置换,由此便可以形成密文。

        其中很重要的一个模块是S盒,S盒主要提供分组密码算法所必须的混淆作用,是许多密码算法的唯一非线性部件,它的密码强度决定了整个密码算法的安全强度。

        附件为DES的流程图,具体的操作步骤及方法请看附件。流程图可能有一些不标准的地方,欢迎指正。

        DES的解密即以上的逆过程。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值