网安笔记03 DES概述

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

DES 概述

  • 分组加密算法 : 明文、密文64位分组长度
  • 对称算法 : 加密和解密密钥编排不同,但使用同一算法
  • 密钥长度:56位 —— 每个第8位为奇偶校验位
  • 密钥为任意的56位数,存在 弱密钥, 容易避开
  • 混乱与扩散的组合,每个组合先代替后替换,16轮
  • 只使用标准的算数和逻辑运算、易于时间

其他加密算法

Triple DES Triple DES
IDEA
RC5
RC6
AES
其他一些较实用的算法,如Blowfish,CAST,以及RC2等

加密过程

  1. 输入64bit明文数据
  2. 初始置换 I P IP IP
  3. 密钥控制下 16 轮迭代
  4. 交换左右32bit
  5. 初始逆置换 I P − 1 IP^{-1} IP1

L 0 R 0 ← I P ( 64 b i t 输入法 ) L_0R_0\leftarrow IP(64bit输入法) L0R0IP(64bit输入法)
L i ← R i − 1 L_i \leftarrow R_{i-1} LiRi1
L i ← L i ⊕ f ( R i − 1 , k 1 ) L_i\leftarrow L_i \oplus f(R_{i-1}, k_1) LiLif(Ri1,k1)
64 b i t 密文 ← I P − 1 ( R 16 L 16 ) 64bit密文 \leftarrow IP^{-1}(R_{16}L_{16}) 64bit密文IP1(R16L16)

i为迭代次数, ⊕ \oplus 为逐位mod2求和,f是加密函数

以此推出解密过程

( R 16 L 16 ) ← I P ( 64 b i t 密文 ) (R_{16}L_{16})\leftarrow IP(64bit密文) (R16L16)IP(64bit密文)
R i − 1 ← L i R_{i-1} \leftarrow L_i Ri1Li
L i ← R i − 1 ⊕ f ( L i − 1 , k 1 ) L_i\leftarrow R_{i-1} \oplus f(L_{i-1}, k_1) LiRi1f(Li1,k1)
64 b i t 明文 ← I P − 1 ( L 0 R 0 ) 64bit明文 \leftarrow IP^{-1}(L_0R_0) 64bit明文IP1(L0R0)

置换、拓展、代替

初始置换 I P IP IP和初始逆置换 I P − 1 IP^{-1} IP1
网安笔记03 DES概述

初始置换IP表示,原来在第58位(8行2列)的数据放到第1行第1位

网安笔记03 DES概述

拓展置换E合 —— 32 扩展到48位

把32位分为4列

  1. 原来的第一列 --> 第2列和第6列
  2. 原来的第4列 --> 新第5列和第一列,注意他们相对于 行往前挪了一位

网安笔记03 DES概述

压缩替代S-盒-48位压缩到32位

找出一个4行16列的盒子

48位变为6位二进制
a 1 a 2 a 3 a 4 a 5 a 6 a_1a_2a_3a_4a_5a_6 a1a2a3a4a5a6
拿出首位和最后一位组成
a 1 a 6 a_1a_6 a1a6作为,剩余为 a 2 a 3 a 4 a 5 a_2a_3a_4a_5 a2a3a4a5作为选择,得到对应的32位

网安笔记03 DES概述

安全性分析

  1. DES其他算法线性,S-盒 非线性
  2. S- 盒不易于分析,提供更好安全性
  3. S-盒是关键

如何构造S盒

  1. 密码算法的 唯一非线性部件,决定算法安全强度
  2. 密码算法必须的混乱作用
  3. S-和密码强度,S-盒分组设计
  4. 非线性度、差分均匀、严格雪崩、可逆、无陷门

置换p-盒的构造

提供雪崩效应
明文、密钥变动引起密文变化

密钥

网安笔记03 DES概述

密钥置换算法准则

  1. 子密钥统计独立性、灵活性
  2. 简单
  3. 速度
  4. 但没有简单关系(给定两个有某种关系的种子密钥,可以预测他们轮子密钥的关系)
  5. 种子密钥对所有子密钥影响一致
  6. 子密钥获取其他子密钥比特比较困难
  7. 无弱密钥

工作模式

  1. 电子密码本 ECB (electronic codebook mode) ECB (electronic codebook mode)
  2. 密码分组链接 CBC (cipher block chaining)
  3. 密码反馈 CFB (cipher feedback)
  4. 输出反馈 OFB (output feedback)

ECB

每段明文单独加密

C i = E K ( P i ) P i = D K ( C i ) C_i = E_K (P_i)\quad P_i = D_K (C_i) Ci=EK(Pi)Pi=DK(Ci)

  1. 简单有效
  2. 可并行
  3. 不能隐藏明文的 模式信息
  4. 相同明文生成相同密文,同样信息多次出现造成泄漏
  5. 对明文可主动攻击 —— 替换、重拍、删除、重放
  6. 误差传递 : 密文坏-> 对应明文损坏
  7. 传输短信息

CBC

C i = E K ( P i ⊕ C i − 1 ) P i = D K ( C i ) ⊕ C i − 1 C_i = E_K (P_i\oplus C_{i-1})\quad P_i = D_K (C_i)\oplus C_{i-1} Ci=EK(PiCi1)Pi=DK(Ci)Ci1

网安笔记03 DES概述

  1. 没有已知的并行实现算法
  2. 可隐藏模式信息
  • 共同初始化向量 I V IV IV
  • 相同明文生成不同密文
  • 初始化向量IV可以用来改变第一块
  1. 难主动攻击明文
  • 信息块不容易被替换、重排、删除、重传
  • 误差传递: 密文坏 -> 两块文件坏
  1. 安全性好于ECB
  2. 适合于传输长度大于64位的报文,还可以进行用户鉴别 – SSL 或 IPSec

CFB

分组密码 ⇒ 流密码 分组密码\Rightarrow 流密码 分组密码流密码

假定

  1. S i S_i Si是移位寄存器,传输jbit
  2. 加密 C i = P i ⊕ E k ( S i ) 的高 j 位 C_i = P_i\oplus E_k(S_i)的高j位 Ci=PiEk(Si)的高j
    S i + 1 = ( S i < < j ) ∣ C i S_{i+1}=(S_i << j) | C_i Si+1=(Si<<j)Ci
  3. 解密 P i = C i ⊕ E k ( S i ) 的高 j 位 P_i = C_i\oplus E_k(S_i)的高j位 Pi=CiEk(Si)的高j
    S i + 1 = ( S i < < j ) ∣ C i S_{i+1}=(S_i << j) | C_i Si+1=(Si<<j)Ci

网安笔记03 DES概述
网安笔记03 DES概述

特点

  1. 分组密码 ⇒ 流密码 分组密码\Rightarrow 流密码 分组密码流密码
  2. 无并行实现算法
  3. 隐藏明文
  4. 共同的移位寄存器初始值 I V IV IV —— 不同信息,IV唯一
  5. 误差传递: 一个单元损坏影响多个单元

OFB

分组密码 ⇒ 流密码 分组密码\Rightarrow 流密码 分组密码流密码

假定与CFB一样
但是加密如下
C i = P i ⊕ E k ( S i ) 的高 j 位 C_i = P_i\oplus E_k(S_i)的高j位 Ci=PiEk(Si)的高j
S i + 1 = ( S i < < j ) ∣ ( E k ( S i ) 的高 j 位 ) S_{i+1}=(S_i << j) | (E_k(S_i)的高j位) Si+1=(Si<<j)(Ek(Si)的高j)
(S的变化有别于CFB)

解密
P i = C i ⊕ E k ( S i ) 的高 j 位 P_i = C_i\oplus E_k(S_i)的高j位 Pi=CiEk(Si)的高j
S i + 1 = ( S i < < j ) ∣ ( E k ( S i ) 的高 j 位 ) S_{i+1}=(S_i << j) | (E_k(S_i)的高j位) Si+1=(Si<<j)(Ek(Si)的高j)

网安笔记03 DES概述
网安笔记03 DES概述

特点
前四点和CFB一样

  1. 分组密码 ⇒ 流密码 分组密码\Rightarrow 流密码 分组密码流密码
  2. 无并行实现算法
  3. 隐藏明文
  4. 共同的移位寄存器初始值 I V IV IV —— 不同信息,IV唯一

第五点开始

  1. 误差传递:一个单元损坏只影响对应单元
  2. 对明文的主动攻击是可能的 – 被替换、重排、删除、重放
  3. 安全性不如CFB

多重DES

安全性

  1. F函数(S-Box)设计原理未知
  2. 密钥长度的争论
  3. DES的破译
  4. 弱密钥与半弱密钥

长度问题
2 56 ≈ 1 0 17 2^{56} \approx 10^{17} 2561017

现在可以一天内破解密钥

弱密钥、半弱密钥

弱密钥:
E K ⋅ E K = I E_K \cdot E_K= I EKEK=I
DES存在4个弱密钥
p = E k ( E k ( P ) ) p = E_k(E_k(P)) p=Ek(Ek(P))

半弱密钥:
E K 1 = E K 2 E_{K1} = E_{K2} EK1=EK2
至少有12个半弱密钥
C = E k 1 ( P ) = E k 2 ( P ) C = Ek_1(P) = E_{k2}(P) C=Ek1(P)=Ek2(P)

使用常规加密进行保密通信

针对 易受攻击的位置
有 链路加密和端到端加密

链路层加密

针对某一次通信链路

消息在被传输之前进行加密,在每一个节点对接收到的消息进行解密,然后先使用下 个链路的密钥对消 一个链路的密钥对消
进行加密,再进行传输

优点

  • 中间传输节点消息均被解密后重新进行加密
  • 链路上数据以密文形式出现
  • 掩盖消息源点终点
  • 填充技术的使用 -》 消息频率、长度被掩盖,防止通信业务的分析

缺点文章来源地址https://www.toymoban.com/news/detail-491441.html

  • 要对链路两端加密设备进行同步, 给网络性能、可管理性带来副作用
  • 网络节点中,链路加密只在通信链路上提供安全性,节点上是明文 —— 需要节点的物理安全
  • 对称加密系统,要建立专用网络措施,但网络节点分布宽阔,且密钥连续分配较难

节点加密

类似链路加密。 中间节点解密再加密

差异:不允许消息在节点以明文方式存在,解密后用另一个密钥加密 —— 在节点的另一个安全模块进行

安全性: 报头和路由信息以明文传输,对攻击者分析通信业务无能为力

端到端加密

从源点到终点的传输过程中始终以密文形式存在

又叫脱线加密 包加密,到底终点前不解密。节点损坏不会导致消息泄露

优点

  • 便宜,更可靠,容易设计、实现、维护
  • 避免同步问题 ——报文包是独立加密的,报文包传输错误不影响后续
  • 端到端加密更自然,不影响网络其他用户

缺点

  1. 不允许对目的地址加密
  2. 不掩盖消息源、目的地,对攻击者分析通信业务无能为力

到了这里,关于网安笔记03 DES概述的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • DES加密算法

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

    2024年02月16日
    浏览(37)
  • DES加密算法解析

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

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

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

    2024年01月19日
    浏览(41)
  • DES加密过程及替换算法

    1、DES加密过程 ①将64位明文进行初始置换; ②将置换后的明文分为32位的L0和R0两部分; ③左边L1=R0;右边R1=L0⊕f(R0,K1),其中f()为轮函数,K1为48bit的子密钥; ④进行16轮迭代; ⑤将最后得到的R16和L16进行拼接后,再进行逆置换,得到密文。 (1)置换 初始置换和逆置换都是

    2024年02月04日
    浏览(36)
  • S-DES加密算法

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

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

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

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

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

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

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

    2024年03月17日
    浏览(43)
  • 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)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包