DES加密

DES算法的历史

美国国家标准局1973年开始研究除国防部外的其它部门的计算机系统的数据加密标准,于1973年5月15日和1974年8月27日先后两次向公众发出了征求加密算法的公告。加密算法要达到的目的(通常称为DES 密码算法要求)

主要为以下四点:

  • 提供高质量的数据保护,防止数据未经授权的泄露和未被察觉的修改
  • 具有相当高的复杂性,使得破译的开销超过可能获得的利益,同时又要便于理解和掌握
  • DES密码体制的安全性应该不依赖于算法的保密,其安全性仅以加密密钥的保密为基础
  • 实现经济,运行有效,并且适用于多种完全不同的应用

DES算法的原理

DES算法的入口参数有三个:Key、Data、Mode

  • Key为8个字节共64位,是DES算法的工作密钥
  • Data也为8个字节64位,是要被加密或被解密的数据
  • Mode为DES的工作方式,有两种:加密或解密
    在这里插入图片描述
    为了网络上信息传输的安全(防止第三方窃取信息看到明文),发送发和接收方分别进行加密和解密,这样信息在网络上传输的时候就是相对安全的

链接借鉴引于此:https://www.zhihu.com/question/36767829/answer/68911532

DES对称加密

DES对称加密,是一种比较传统的加密方式,其加密运算、解密运算使用的是同样的密钥,信息的发送者和信息的接收者在进行信息的传输与处理时,必须共同持有该密码(称为对称密码),是一种对称加密算法

数据加密法

数据加密算法(Data Encryption Algorithm,DEA)是一种对称加密算法,很可能是使用最广泛的密钥系统,特别是在保护金融数据的安全中,最初开发的DEA是嵌入硬件中的。通常,自动取款机(Automated Teller Machine,ATM)都使用DEA。它出自IBM的研究工作,IBM也曾对它拥有几年的专利权,但是在1983年已到期后,处于公有范围中,允许在特定条件下可以免除专利使用费而使用。1977年被美国政府正式采纳

数据加密标准

DES的原始思想可以参照二战德国的恩格玛机,其基本思想大致相同。传统的密码加密都是由古代的循环移位思想而来,恩格玛机在这个基础之上进行了扩散模糊。但是本质原理都是一样的。现代DES在二进制级别做着同样的事:替代模糊,增加分析的难度

加密原理

DES 使用一个 56 位的密钥以及附加的 8 位奇偶校验位,产生最大 64 位的分组大小。这是一个迭代的分组密码,使用称为 Feistel 的技术,其中将加密的文本块分成两半。使用子密钥对其中一半应用循环功能,然后将输出与另一半进行“异或”运算;接着交换这两半,这一过程会继续下去,但最后一个循环不交换。DES 使用 16 个循环,使用异或,置换,代换,移位操作四种基本运算
在这里插入图片描述
上图表明了DES 加密的整个机制。

  • 对于任意加密方案,总有两个输入:明文和密钥
  • DES 明文长为64位,密钥长度为56位
  • 图的左半部分,是明文的处理。经过初始置换IP进行重排->被16轮相同函数的置换和代替->最后预输出进行逆初始置换。
  • 图的右半部分,为56位密钥的产生过程。密钥经过一个置换经过循环左移和一个置换后得到各轮的子密钥。

三重DES

DES 的常见变体是三重 DES,使用 168 位的密钥对资料进行三次加密的一种机制;它通常(但非始终)提供极其强大的安全性。如果三个 56 位的子元素都相同,则三重 DES 向后兼容 DES

3DES(即Triple DES)是DES向AES过渡的加密算法,它使用3条56位的密钥对数据进行三次加密,是DES的一个更安全的变形。它以DES为基本模块,通过组合分组方法设计出分组加密算法。比起最初的DES,3DES更为安全

该方法使用两个密钥,执行三次DES算法

  • 加密的过程是 加密-解密-加密
  • 解密的过程是 解密-加密-解密。
  • 3DES加密过程为:C=Ek3(Dk2(Ek1(P)))
  • 3DES解密过程为:P=Dk1(EK2(Dk3(C)))

采用两个密钥进行三重加密的好处:

  • 两个密钥合起来有效密钥长度有112bit,可以满足商业应用的需要,若采用总长为168bit的三个密钥,会产生不必要的开销
  • 加密时采用 “ 加密-解密-加密 ”,而不是 “ 加密-加密-加密 ” 的形式,这样有效的实现了与现有DES系统的向后兼容问题。因为当K1=K2时,三重DES的效果就和原来的DES一样,有助于逐渐推广三重DES
  • 三重DES具有足够的安全性,还没有关于攻破3DES的报道
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值