首页 > 其他分享 >des加密过程详解(配图详解)

des加密过程详解(配图详解)

时间:2023-09-27 09:23:39浏览次数:28  
标签:DES 加密 字节 des 解密 详解 配图 数据 ECB


链接:https://www.jianshu.com/p/c44a8a1b7c38
DES解密过程:
  在了解了加密过程中所有的代替、置换、异或和循环迭代之后,读者也许会认为,解密算法应该是加密的逆运算,与加密算法完全不同。恰恰相反,经过密码学家精心设计选择的各种操作,DES获得了一个非常有用的性质:加密和解密使用相同的算法!

DES加密和解密唯一的不同是密钥的次序相反。如果各轮加密密钥分别是K1,K2,K3…K16,那么解密密钥就是K16,K15,K14…K1。这也就是DES被称为对称算法的理由吧。

 

原文链接:https://blog.csdn.net/honeygirl_/article/details/90716328
DES加密算法中,ECB和CBC模式有什么区别?

ECB模式:
DES ECB(电子密本方式)其实非常简单,就是将数据按照8个字节一段进行DES加密或解密得到一段段的8个字节的密文或者明文,最后一段不足8个字节(一般补0或者F),按照需求补足8个字节进行计算(并行计算),之后按照顺序将计算所得的数据连在一起即可,各段数据之间互不影响。
优点:
简单;
有利于并行计算;
误差不会被传递;
缺点:
不能隐藏明文的模式;
可能对明文进行主动攻击;

CBC模式:
优点:
不容易主动攻击,安全性好于ECB,是SSL、IPSec的标准;
缺点:
不利于并行计算;
误差传递;
需要初始化向量IV;
DES CBC(密文分组链接方式)有点麻烦,它的实现机制使加密的各段数据之间有了联系。其实现的机理如下:
加密步骤如下:

首先将数据按照8个字节一组进行分组得到D1D2…Dn(若数据不是8的整数倍,用指定的PADDING数据补位)
第一组数据D1与初始化向量I异或后的结果进行DES加密得到第一组密文C1(初始化向量I为全零)
第二组数据D2与第一组的加密结果C1异或以后的结果进行DES加密,得到第二组密文C2
之后的数据以此类推,得到Cn
按顺序连为C1C2C3…Cn即为加密结果。

标签:DES,加密,字节,des,解密,详解,配图,数据,ECB
From: https://www.cnblogs.com/-orz/p/17731849.html

相关文章

  • Map and Set详解
    在Java编程中,Map和Set是两个非常常用的数据结构。Map提供了一种键值对的映射关系,使我们可以根据键来快速访问和操作对应的值。它的灵活性和高效性使得Map在各种场景中都得到了广泛的应用,比如存储配置信息、缓存数据等等。而Set则是一种不重复元素的集合,它通过哈希表来存储......
  • 详解达梦disql工具
    连接达梦数据库必须要用到两个工具,一个是disql,另一个是图形界面的DM管理工具。disql是达梦数据库的命令行交互工具,类似于Oracle的sqlplus,虽然DM管理工具可以在大部分场景代替siaql的功能,但是有些命令必须在disql下去执行,例如desccitydisqlV8SQL>desccity disql在......
  • Android动画-1——Android三种动画详解
    一、前言1.Android的三种动画,即:ViewAnimation(视图动画)DrawableAnimation(帧动画)PropertyAnimation(属性动画) 二、ViewAnimation(视图动画)1.View动画的概述及种类视图动画的作用对象是View,支持四种动画效果,分别是平移、缩放、旋转、透明度。譬如,我们可以对TextView设......
  • c#中适配器模式详解
    基础介绍:  想象这样一个场景,原项目中接口返回的数据是XML格式的数据,但现在来了一个新客户,它期望接口返回的数据类型为json格式的。  想要实现要么就是改原有接口,但这样就违反了开闭原则,容易出现未知bug,影响到老客户的正常使用。  而如果写一个适配器类也就是转换类(第三方......
  • 【python】只需一段代码,剪辑一个视频——Moviepy详解
    http://www.shanhubei.com/archives/2757.html前言知道吗,用moviepy一行代码就能够快速剪辑视频中某个区间的片段:clip=VideoFileClip(“videoplayback.mp4”).subclip(50,60)这一段代码,能够在3秒内将videoplayback.mp4的50秒-60秒的视频片段提取出来,非常方便。仅如此,movie......
  • 计算机初级选手的成长历程——汉诺塔问题详解
    大家好,很高兴又和各位见面啦!在上一篇我们通过3道习题复习了一下函数的相关知识点,今天我们将讨论一个非常经典的问题——汉诺塔问题。编写函数来解决汉诺塔问题:(1)什么是汉诺塔?简单的理解就是有三根柱子,其中一根柱子上有n个由上到下逐渐增大的圆盘,我们需要在保证圆盘始终是大圆盘在下,......
  • Python之html2text:将HTML转换为Markdown文档示例详解
    From: https://mp.weixin.qq.com/s/Pa3NDXOseyg0mIn869mbhQ-----------------------------------------------------------------------------------------hello大家好我是Monday,本文将详细介绍如何使用Python库中的html2text模块来实现将HTML转换为Markdown的操作,并提供示例......
  • Chrome插件manifest.json文件详解
    {//扩展名称"name":"MyExtension",//版本。由1到4个整数构成。多个整数间用"."隔开"version":"1.0",//manifest文件版本号。Chrome18开始必须为2"manifest_version":2,//描述。132个字符以内"......
  • DesignWareBuildingBlock IP的仿真与综合
    感谢一下同学的协助,跑通了一个case。IP核调用dw_fp_mac.svmoduledw_fp_mac(inst_a,inst_b,inst_c,inst_rnd,z_inst,status_inst);parameterinst_sig_width=23;parameterinst_exp_width=8;parameterinst_ieee_compliance=0;input[inst_sig_width+inst_exp......
  • USART-通信详解
    目录一.通信基本概念1.根据数据传输方式划分2.根据数据传输方向划分3.根据数据同步方式划分二.USART流程分析1.USART协议2.USART框图分析3.寄存器分析三.USART驱动代码1.寄存器方式驱动2.固件库方式驱动一.通信基本概念1.根据数据传输方式划分串行通信:一般是8......