DES

什么是DES算法,详解DES算法的基本原理 DES算法是应用最为广泛的对称加密算法。它主要应用在计算机网络通信、电子资金传送系统、保护用户文件,此外,DES还可用于计算机用户识别系统中。那么,具体什么是DES算法,DES算法的基本原理是什么,本文将给大家详细介绍一下。 阅读详情

一、数据补位

DES数据加解密就是将数据按照8个字节一段进行DES加密或解密得到一段8个字节的密文或者明文,最后一段不足8个字节,按照需求补足8个字节(通常补00或者FF,根据实际要求不同)进行计算,之后按照顺序将计算所得的数据连在一起即可。

这里有个问题就是为什么要进行数据补位?主要原因是DES算法加解密时要求数据必须为8个字节。

二、ECB模式

DES ECB(电子密本方式)其实非常简单,就是将数据按照8个字节一段进行DES加密或解密得到一段8个字节的密文或者明文,最后一段不足8个字节,按照需求补足8个字节进行计算,之后按照顺序将计算所得的数据连在一起即可,各段数据之间互不影响。

三、CBC模式

DES CBC(密文分组链接方式)有点麻烦,它的实现机制使加密的各段数据之间有了联系。其实现的机理如下:

加密步骤如下:

1)首先将数据按照8个字节一组进行分组得到D1D2......Dn(若数据不是8的整数倍,用指定的PADDING数据补位)

2)第一组数据D1与初始化向量I异或后的结果进行DES加密得到第一组密文C1(初始化向量I为全零)

3)第二组数据D2与第一组的加密结果C1异或以后的结果进行DES加密,得到第二组密文C2

4)之后的数据以此类推,得到Cn

5)按顺序连为C1C2C3......Cn即为加密结果。

解密是加密的逆过程,步骤如下:

1)首先将数据按照8个字节一组进行分组得到C1C2C3......Cn

2)将第一组数据进行解密后与初始化向量I进行异或得到第一组明文D1(注意:一定是先解密再异或)

3)将第二组数据C2进行解密后与第一组密文数据进行异或得到第二组数据D2

4)之后依此类推,得到Dn

5)按顺序连为D1D2D3......Dn即为解密结果。


DES的几种填补方式

  DES是对64位数据的加密算法,如数据位数不足64位的倍数,需要填充,补充到64位的倍数。

  NoPadding

  API或算法本身不对数据进行处理,加密数据由加密双方约定填补算法。例如若对字符串数据进行加解密,可以补充或者空格,然后trim

  PKCS5Padding

  加密前:数据字节长度对8取余,余数为m,若m>0,则补足8-m个字节,字节数值为8-m,即差几个字节就补几个字节,字节数值即为补充的字节数,若为0则补充8个字节的8

  解密后:取最后一个字节,值为m,则从数据尾部删除m个字节,剩余数据即为加密前的原文

  因为DES是一种block cipher,一个block要8个字节,所以要加密的东西要分成8字节的整数倍,不足的就填充。

  PKCS5Padding这种填充,填的字节代表所填字节的总数:

  比如差三个字节的话填为 @@@@@333

  差7个字节就填为 @7777777

  没有差就填 88888888

DES加密系统 1实验名称 DES密码系统算法实现 2实验目的 Ø     理解对称加密算法的原理和特点 Ø     理解DES算法的加密原理 Ø     了解并掌握DES密码系统密钥产生过程和DES加解密流程。 Ø     实现DES密码系统加解密。 3实验原理 DES的设计原理是以Shannon所提出的乘法加密系统为主。举例来说:现有两套加密系统A与B,明文首先利用加密系统A进行加密而 阅读详情

相关推荐

关于石墨烯费米能级和偏置电压之间的关系问题

石墨烯费米能级与电压的关系问题

qq_37946542的博客 3514

DES加密算法原理

目录: 一、DES算法: 二、主要流程: 1、初始置换: 2、加密处理--16轮迭代过程: 2.1 秘钥置换--子密钥生成: 2.2扩展置换E(E位选择表) 2.3 S-盒代替(功能表S盒) 2.4P-盒置换: 3、逆置换: 4、DES解密: 一、DES算法: 1、DES算法简介: DES算法为密码体制中的对称密码体制。需要加密的明文按64位进行分组,加密...

张维鹏的博客 5万+

别再混淆了!深入浅出图解四元数姿态控制中的‘误差四元数’(附四种定义对比与仿真)

本文深入解析四元数姿态控制中的误差四元数定义差异,对比四种常见定义(如Q₀∘Q⁻¹与Q⁻¹∘Q₀)及其对PD控制性能的影响。通过刚体动力学仿真验证,揭示定义二(Q⁻¹∘Q₀)在无人机和航天器控制中的最优性能,提供工程实践建议与参数整定技巧,帮助开发者避免常见陷阱并提升控制效率。

weixin_42528191的博客 277

DES算法的几种加密模式和填补方式

DES加密 DES是一种对称加密(Data Encryption Standard)算法。于1977年得到美国政府的正式许可,是一种用56位密钥来加密64位数据的方法。一般密码长度为8个字节,其中56位加密密钥,每个第8位都用作奇偶校验。  DES算法一般有两个关键点,第一个是加密算法,第二个是数据补位。 加密算法常见的有ECB模式和CBC模式: ECB模式:电子密本方式,这是

枫凯 2万+

避坑指南:合宙Air780EG阿里云一型一密连接时,为什么你的HmacMD5加密总失败?

本文针对合宙Air780EG模组连接阿里云物联网平台时,HmacMD5签名失败的常见问题提供深度解决方案。详细剖析了签名拼接格式、密钥使用、随机数处理及编码大小写等关键陷阱,并结合STM32嵌入式开发环境,给出了串口调试、分步验证及AT指令链路的实用排错技巧,帮助开发者顺利完成一型一密动态注册。

kiwi8的博客 440

RK3588工业开发板实战:如何用IgH EtherCAT主站精准控制伺服电机(附完整代码)

本文详细介绍了如何利用RK3588工业开发板和IgH EtherCAT主站实现伺服电机的精准控制。从硬件选型、实时内核配置到EtherCAT主站安装和核心代码实现,提供了一套完整的工业自动化解决方案,特别适合需要高精度运动控制的场景。

pca5navigator的博客 972

通俗易懂,十分钟读懂DES,详解DES加密算法原理,DES攻击手段以及3DES原理。Python DES实现源码

DES(Data Encryption Standard)是一种对称加密算法。本文详细解释DES的算法原理,以及不安全的原因。附Python的实现源码。

Demonslzh的博客 7万+

IPD(集成产品开发)管理之道

IPD,是集成产品开发(Integrated Product Development)的缩写,它是集成了众多管理模型和理论、众多企业最佳管理实践的一整套体系,可以帮助企业快速响应市场变化、缩短产品上市时间、减少资源浪费、提高生产力,最终取得商业成功。IPD的思想最早来源于美国PRTM公司出版的《产品及生命周期优化法》一书中,该书详细描述了IPD模式所包含的各个方面。但IPD在中国的普及,源于IBM和华为的推行使用。IPD作为一套先进的产品研发管理模式,其成功的基础是功能部门和各团队之间的密切配合。

钢镚·真的博客 2713

DES对称加密及三重DES(3DES)

一、DES 1概述 DES算法全称为Data Encryption Standard,即数据加密算法,它是IBM公司于1975年研究成功并公开发表的。DES算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。 2算法原理 DES算法把64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位,其算法主要分为两步: (1)初始置换 其..

Codeooo 博客 1万+

PCL:读写pcd点云的两种方式

本文介绍了PCL读写点云的两种方式:PCDReader,PCDWriter;loadPCDFile,savePCDFile.

孙悟空 1万+

基于matlab实现的水果识别系统设计

本项目针对多种常见水果混合的图像,利用 Matlab 软件,对水果的识别进行研究。根据水果和背景的差别选取阈值,对去噪增强对比度后的图像进行二值化处理。再对图像进行边缘检测,选定连通区域,标记后再对不同种水果的颜色,形状,大小等特征进行快速识别水果,从而实现对水果的正确分拣。:水果识别、MATLAB、数字图像处理。

热情、奔放、快乐编程! 4854

DES加密

从初始置换规则中可以看到,原始数据的第1位置换到了第40位,第2位置换到了第8位。则逆置换就是将第40位置换到第1位,第8位置换到第2位。明文64位->初始置换IP->生成子密钥->在密钥控制下进行16轮加密变换->交换左右32比特->逆初始置换IP-1->密文64位。把64位明文按照表中的规则替换,将数据的第58位放在第一位,将第50位放在第二位,以此类推。初始逆置换表和初始置换表是相互可逆的,只是还原 原来的数据位置。通过置换表将数据的位置进行变化,得到新的数据。,一种比较传统的加密方式,其。

weixin_52553215的博客 2万+

当AI写小说——一个被严重低估的工程化战场

摘要 AI小说创作远非简单的prompt生成,而是一项需要系统化工程管理的复杂任务。本文通过真实案例分析,揭示了当前AI写小说存在的五大核心难题:设定一致性难以维持、文风控制缺乏个性、爽感节奏难以把握、长篇记忆能力有限以及平台规则适配困难。研究显示,90%的失败案例源于错误的创作方法,主要表现为对话框式随机生成和模板式同质化创作。要实现高质量的AI小说创作,必须建立包括设定治理、记忆管理、文风校准等在内的全链路工程化体系,而非依赖单一prompt指令。只有采用系统化的人机协同方法,才能突破当前AI创作的质量

sellyogurt的博客 683

DES 与 AES

DES 与 AES 算法 前言DES (Data Encryption Standard)简介算法概述AES (Advanced Encryption Standard)合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX...

yuzhenhua1_的博客 3万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

DES算法

文章目录什么是DESDES的加密解密DES工作原理Feistel 网络的特定三重DES 什么是DES DES全称叫(Data Encryption Standard), 是1977年美国联邦信息处理标准(FIPS)中所采用的一种对称加密算法。 DES之前一直使用很普遍,但是随着计算机的进步,现在DES已经可以被暴力破解了,处理历史的原因外,我们不再建议使用DES算法。 DES的加密解密 DES的密...

程序那些事 1万+

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

02.三重DES

目录 1.1 简介 1.2 三重DES加密图解 1.3 三重DES解密图解 1.4 图解说明 1.5 Golang中对3DES的操作 1.1 简介 现在DES已经可以在现实的时间内被暴力破解,因此我们需要一种用来替代DES的分组密码,三重DES就是出于这个目的被开发出来的。 三重DES(triple-DES)是为了增加DES的强度,==将DES重复3次所得到的一种密码算法==,通常...

boss2967的博客 2425

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

通俗易懂,十分钟读懂DES,详解DES加密算法原理,DES攻击手段以及3DES原理

DES(Data Encryption Standard)是一种对称加密算法。它是在20世纪70年代初期由IBM研发的。它的设计目标是提供高度的数据安全性和性能,并且能够在各种硬件和软件平台上实现。

Python栈 4705

DES的变体

尽管DES的抗攻击不错,但是随即计算机硬件的迅速发展,DES也可能被破解。但是DES已经是被证明是相当好的算法,因此最好能够利用DES,用某种方法改进,而不是编写全新的加密算法。编写新的算法并不容易,要有充分的测试才能证明是否强算法。因此,DES出现了两个变体。 1.双重DES 双重DES很容易理解。实际上是把DES通常要做的工作多做一遍。双重DES使用两个密钥K1和K2。首先对原明文用K1进行DES,得到加密文本,然后对加密文本用另一个密钥K2再次进行DES,加密这个加密文本,其过程如下图所示: 解密过

zhinen丶的博客 1309

des算法密码多长_密码学中的多个DES

des算法密码多长This is a DES that was susceptible to attacks due to tremendous advances in computer hardware in cryptography. Hence, it was a very complex or competent algorithm it would be feasible to reus...

cumtb2002的博客 1515

Python实现DES

前言 密码学作业之DES 简介 DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法,1977年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),并授权在非密级政府通信中使用,随后该算法在国际上广泛流传开来。需要注意的是,在某些文献中,作为算法的DES称为数据加密算法(Data Encryption Algorithm,DEA),已与...

qq_41381461的博客 2060
上一篇: 3des加密中- pkcs#5和pkcs#7填充的区别
下一篇: LVM (简体中文) 简介
no pay no gay
博客等级 码龄14年 73粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值