首页 > 编程知识 正文

des为何加解密算法相同,des加密算法例题

时间:2023-05-05 03:41:39 阅读:168444 作者:2389

数据加密标准(des )是目前最流行的加密算法之一。 DES是对称的。 这意味着使用同一密钥加密和解密数据。 DES也是一种数据包加密算法,每次处理固定长度的数据段(称为数据包)。 如果DES数据包的大小为64位,且加密数据长度不是64位的倍数,则可以根据特定规则填充位。 本质上,DES的安全性依赖于虚假的表象,从密码学的术语来说,依赖于“混乱和扩散”的原则。 混乱的目的是隐藏明文和密文或者密钥之间的关系,扩散的目的是将明文中的有效位和密钥组合成尽可能多的密文。 两者相结合,安全性相对较高。 DES算法具体是通过对明文进行一系列的排列和置换操作来加密。 进程的关键是从给定的初始密钥中获得16个子密钥的函数。 要加密一组明文,每个子密钥按顺序(1-16 )通过一系列位操作应用于数据,每个子密钥每次重复共16次。 每次迭代都称为倒圆角。 对于解密密文可以采用同样的步骤,但子密钥是按照相反的顺序(16-1 )对密文进行处理。 实现DES算法主要用c语言实现。 C语言是一种古老的语言,但至今仍在程序中频繁使用,具有自身的优点。

整个算法流程DES算法的过程总体上可以划分为三个模块,这三个模块不是相互独立的,而是相互交错的。 但是,由于生成密钥不需要外部条件,所以首先实现16个字密钥的生成。 在明文加密的过程中,存在16次重复加密,但是对于重复加密,为了将明文和密文组合起来需要几个相同的函数和对明文进行发散混淆处理。 因此,取出相同的处理函数,制作新的模块f。 整体流程如图2-1所示。

输入算法描述1.64位的明文数据,进行初始置换IP。

2 .在初始替换IP后,明文数据进一步分为左右两部分,每个部分为32位,用L0、R0表示。

3 .在私钥控制下,16次运算(f )。

4.16轮后,更换左、右两部分,连接后放在一起,进行反向置换。

5 .输出64位密文。

如欲了解详情:

浏览博客

中进行了详细介绍,具有全面性,并详细介绍了各模块的算法。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。