DES加密过程及替换算法

这篇具有很好参考价值的文章主要介绍了DES加密过程及替换算法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、DES加密过程

DES加密过程及替换算法

①将64位明文进行初始置换;

②将置换后的明文分为32位的L0和R0两部分;

③左边L1=R0;右边R1=L0⊕f(R0,K1),其中f()为轮函数,K1为48bit的子密钥;

④进行16轮迭代;

⑤将最后得到的R16和L16进行拼接后,再进行逆置换,得到密文。

(1)置换

DES加密过程及替换算法

初始置换和逆置换都是按位置换。如初始置换中第一个数字58表示:将原始数据中的第58位换到现在的第1位。

(2)轮函数

1)E扩展置换

DES加密过程及替换算法

32bitR0-->48bitR0 # E扩展置换  

①将原始32bit分为8个,每个4bit;

②每个4bit前后各增加一位,增加的第一位是前一个4bit的最后一位;增加的最后一位是后一个4bit的第一位。

DES加密过程及替换算法

2)S盒压缩处理

将置换后的48bit数据分为8个,每个6bit,根据6进4出S盒压缩成4bit。

DES加密过程及替换算法

3)P盒置换

DES加密过程及替换算法

和初始置换一样,如16表示,将原始数据中的第16位换到现在的第1位。

(3)密钥生成

DES加密过程及替换算法

①64bit密钥,去除8个校验位,剩余56bit;

②将56bit通过PC-1表进行置换;

③将置换后的56bit分为C0和D0两部分;

④将C0和D0按照移位次数表移动左移得到C1和D1;

⑤C1和D1拼接后,通过PC-2表进行置换;最后得到48bit的K1。

2、DES软件和硬件实现

软件实现通常指的是在桌面CPU或智能卡或手机的嵌入式微处理器上运行DES。

硬件实现指的是在专用集成电路(ASIC)和现场可编程门阵列(FPGA)的IC上运行DES。

3、DES替换算法

双重DES指的是加密两次。

3DES,也称TDES,对每个数据块应用三次DES加密算法。

3DES加密过程为:C=Ek3(Dk2(Ek1(P)));

3DES解密过程为:P=Dk1(EK2(Dk3(C)))。文章来源地址https://www.toymoban.com/news/detail-441805.html

到了这里,关于DES加密过程及替换算法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • DES加密算法解析

    目录 引言 DES算法介绍 DES发展 设计方案 加密解密过程 16轮F运算迭代 原理 混淆和扩散 雪崩效应: 迭代轮数: 函数F的设计: 密钥扩展: S-box 的设计准则 安全分析 DES 算法的一些应用 参考文章 今天,我们大部分时间都生活在互联网上。无论是存储我们的个人信息、娱乐、购

    2024年02月02日
    浏览(42)
  • DES加密算法

    一、DES加密算法简介 DES(Data Encryption Standard)是目前最为流行的加密算法之一。DES是对称的,也就是说它使用同一个密钥来加密和解密数据。 DES还是一种分组加密算法,该算法每次处理固定长度的数据段,称之为分组。DES分组的大小是64位,如果加密的数据长度不是64位的倍数

    2024年02月16日
    浏览(36)
  • DES加密算法实现

    实验要求: 编写DES算法实现程序,运行DES程序,演示DES加密与解密的过程。在加密时显示明文和密钥,在加密过程中在每一轮执行完毕后显示该轮的输出。 (话不多说,直接上代码!!!) 实验代码: 点击查看代码 运行结果: 加密过程 解密过程 解析: 其中,子密钥生成

    2024年01月19日
    浏览(40)
  • S-DES加密算法

    S-DES 是一种简化版的数据加密标准。相对于 DES 来说,S-DES 更加简单、快速、高效,可以用于学习加密算法的入门课程。 使用 S-DES 进行加密和解密的步骤如下: 初始置换(IP) 将 8 位明文分为左右两部分,各 4 位,进行初始置换,得到置换后的左右两部分。 轮函数(F) 对

    2024年02月08日
    浏览(76)
  • Java 中常见的加密算法,DES、3DES、AES、RSA

    加密算法是一种将数据转换为不可读形式的算法,以保护数据的机密性和完整性。加密算法被广泛应用于计算机网络、数据库、电子商务等领域,用于保护敏感数据的安全性,如用户密码、信用卡信息、医疗记录等。在 Java 中,有许多常见的加密算法,本文将对加密算法的基

    2024年02月03日
    浏览(54)
  • DES算法揭秘:数据加密的前沿技术

    DES(Data Encryption Standard)算法是一种对称密钥加密算法,由IBM的Horst Feistel设计,于1977年被美国国家标准局(NBS)确定为数据加密标准。DES算法基于分组密码,采用置换、替换和迭代运算,用于保护数据的机密性。 DES加密解密 | 一个覆盖广泛主题工具的高效在线平台(amd794.c

    2024年03月17日
    浏览(43)
  • AES与DES加密解密算法

    AES(Advanced Encryption Standard,高级加密标准)的出现,是因为以前使用的DES算法密钥长度较短,已经不适应当今数据加密安 全性的要求,因此2000年10月2日,美国政府宣布将比利时密码学家Joan Daemen和Vincent Rijmen提出的密码算法RIJNDAEL作为高级加密标准。2001年11月26日,美国政府

    2024年04月28日
    浏览(47)
  • JavaScript学习 -- 对称加密算法3DES

    在现代的互联网时代,数据安全性备受关注。为了保护敏感数据的机密性,对称加密算法是一种常用的方法。在JavaScript中,3DES(Triple Data Encryption Standard)是一种常用的对称加密算法。本篇博客将为您展示如何在JavaScript中使用3DES算法进行加密和解密,并提供一个实际的例子

    2024年02月14日
    浏览(46)
  • Sweet32漏洞,升级openssl或者禁用3DES和DES弱加密算法

    由于等保的原因,被服务商扫描出漏洞。 warnings: | 64-bit block cipher 3DES vulnerable to SWEET32 attack 如何不喜欢使用nmap,也可以使用如下工具testssl.sh,但是输出的内容太多了,本次我只截取部分 解决办法有两个,一个是升级OpenSSL 1.0.2k-fips 26 Jan 2017 以上,另外一个是更新nginx配置,禁

    2024年02月11日
    浏览(41)
  • 通俗易懂,十分钟读懂DES,详解DES加密算法原理,DES攻击手段以及3DES原理。Python DES实现源码

    DES(Data Encryption Standard)是一种 对称加密 算法。它是在20世纪70年代初期由IBM研发的。它的设计目标是提供高度的数据安全性和性能,并且能够在各种硬件和软件平台上实现。 DES使用56位的密钥和64位的明文块进行加密。DES算法的分组大小是64位,因此,如果需要加密的明文长

    2024年02月03日
    浏览(69)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包