密码学原理技术-第三章-The Data Encryption Standard (DES)

文章目录

  • DES基本信息
  • [Block Cipher Primitives: Confusion and Diffusion](#Block Cipher Primitives: Confusion and Diffusion)
  • 积密码
  • [DES Algorithm](#DES Algorithm)
    • [The DES Feistel Network](#The DES Feistel Network)
  • 内部结构
    • [Initial and Final Permutation](#Initial and Final Permutation)
    • [The f-Function](#The f-Function)
      • [The Expansion Function E](#The Expansion Function E)
      • [Add Round Key](#Add Round Key)
      • [The DES S-Boxes](#The DES S-Boxes)
      • [The Permutation P](#The Permutation P)
    • 密钥生成
  • 解密
  • DES的安全性
  • 总结

DES基本信息

DES属于对称块加密

Block Cipher Primitives: Confusion and Diffusion

积密码

DES Algorithm

The DES Feistel Network

加密和解密代码大部分是相同的,只需要在密钥调度(keyschedule)中改变子密钥的顺序。

在加密的最后阶段,即第16轮加密之后,左右两部分(L16 和 R16)再次交换,交换后的作为输入进行最终置换(Final Permutation, FP)。

内部结构

Initial and Final Permutation


The f-Function

The Expansion Function E

增强扩散,因为一个位的值可能出现多个地方,对后面影响更大

Add Round Key

The DES S-Boxes

Non-linear and resistant to differential cryptanalysis.

非线性,且对差分密码分析具有较强的抵抗力。分析不出明文和密文关系,因为非线性不好分析

这里属于增强混淆的操作,使得分析不出明文和密文关系

The Permutation P

这里也属于增强扩散性

密钥生成



解密

DES的核心是 Feistel Network


加密最后是交换R和L了再给置换的,所以当再次加密时候,此时进入f的函数就说L了

DES的安全性

2的56次方

三重DES

遗留应用(Legacy Applications)

替代DES

总结

  • 从 1970 年代中期到 1990 年代中期,DES 一直是主流的对称加密算法。
    由于 DES 使用的 56 位密钥已经不再安全,因此后来开发了 高级加密标准 (AES) 来取代它。AES 的密钥长度更长(128、192、256 位),安全性更高。
  • 使用 56 位密钥的标准 DES,现在已经可以通过"穷举密钥搜索"方式被轻松破解
  • DES 对已知的分析攻击(analytical attacks),例如差分密码分析(Differential Cryptanalysis)和线性密码分析(Linear Cryptanalysis),具有较强的抵抗力。
  • 为了增强 DES 的安全性,可以对数据连续执行三次 DES 加密,称为 三重 DES (3DES)。
    3DES 提供了更高的安全性,目前没有已知的实际攻击方法可以有效破解 3DES。3DES 仍然被用于某些需要高安全性的系统,但它的速度比 AES 慢。
  • 默认的对称加密算法:AES
    现在,"默认"的对称加密算法通常是 AES,因为它更安全且更高效。
    除了 AES,其它几个进入 AES 最终选拔的候选算法(如 Serpent、Twofish 等)也被认为非常安全和高效。
相关推荐
应长天2 天前
密码学(斯坦福)
密码学
Turbo正则2 天前
量子计算基础概念以及八大分支
密码学·量子计算
网安INF13 天前
公钥加密与签名算法计算详解(含计算题例子)
网络·算法·网络安全·密码学
电院工程师14 天前
基于机器学习的侧信道分析(MLSCA)Python实现(带测试)
人工智能·python·嵌入式硬件·安全·机器学习·密码学
电院工程师16 天前
SM3算法C语言实现(无第三方库,带测试)
c语言·算法·安全·密码学
小七mod17 天前
【BTC】密码学原理
web3·区块链·密码学·比特币·btc·肖臻·北大区块链
电院工程师22 天前
轻量级密码算法PRESENT的C语言实现(无第三方库)
c语言·算法·安全·密码学
电院工程师23 天前
轻量级密码算法CHAM的python实现
python·嵌入式硬件·算法·安全·密码学
电院工程师23 天前
SM3算法Python实现(无第三方库)
开发语言·python·算法·安全·密码学
网安INF24 天前
SHA-1算法详解:原理、特点与应用
java·算法·密码学