DES加密算法

简介: DES加密算法

过去是最主流的加密算法,现在在有恒心的攻击者眼中,不再安全

扩散和混淆

混淆

是一种使密钥和明文之间的关系尽可能模糊的加密操作。如今实现混淆常用的一个元素就是替换,这DES和AES中都有使用

扩散

为了隐藏明文的统计属性而将一个明文符号的影响扩散到多个密文符号的加密操作,最简单的扩散元素就是位置换,常用于DES中,AES则使用更高级的Mixcolumn操作

概述

是一种对称密码,加密和解密过程使用相同的密钥

对明文中每个分组的加密过程都包含16轮,

每轮会使用不同的子密钥,所有的子密钥都是从主密钥k中推导而来的

Feistel网络

加密简述

是一种分组加密的对称密码算法

密钥长为64位,其余8位为校验位

当n个64位明文数据块都经过DES加密处理之后,所得到的n个密文数据块串在一起就是密文

加密过程

明文经过IP置换,16次迭代,IP逆置换得到密文

一次迭代过程是F轮函数和异或

F轮函数包括E扩展,异或,S盒,P置换

IP置换

按照一定的顺序,将原来的64位二进制位重新排序

E扩展置换

将数据从32位扩展到48位

S盒压缩处理

经过扩展的48位明文和48位密钥进行异或运算后,使用8个S盒压缩处理得到32位数据

将48位输入等分为8块,每块6位输入4位输出

P盒置换

S盒位再经过P盒置换。至此。一次轮函数操作完毕

相关文章
|
11天前
|
Java 数据安全/隐私保护
des加密+base64编码,base64解码+des解密
des加密+base64编码,base64解码+des解密
31 0
|
11天前
|
算法 安全 C语言
使用C语言实现DES算法代码
使用C语言实现DES算法代码
|
11天前
|
算法 搜索推荐 Java
DES - 对称加密算法简要介绍与JAVA实现
DES - 对称加密算法简要介绍与JAVA实现
59 2
|
11天前
|
安全 算法 数据库
MD5、SHA、DES、AES、RSA的算法说明
【5月更文挑战第10天】MD5、SHA、DES、AES、RSA的算法说明
21 2
|
11天前
|
算法 Android开发
安卓逆向 -- 自吐算法(DES)
安卓逆向 -- 自吐算法(DES)
12 0
|
11天前
|
算法 数据安全/隐私保护
火山中文编程 -- DES算法和AES算法
火山中文编程 -- DES算法和AES算法
22 0
|
11天前
|
算法 JavaScript Java
安卓逆向 -- 算法基础(DES与3DES)
安卓逆向 -- 算法基础(DES与3DES)
16 0
|
11天前
|
算法 安全 数据安全/隐私保护
C/C++学习 -- 分组加密算法(DES算法)
C/C++学习 -- 分组加密算法(DES算法)
42 0
|
11天前
|
JavaScript 前端开发 算法
JavaScript学习 -- 对称加密算法DES
JavaScript学习 -- 对称加密算法DES
28 0
|
11天前
|
算法 安全 程序员
详解 DES加密技术 | 凯撒密码 | 栅栏密码
详解 DES加密技术 | 凯撒密码 | 栅栏密码
123 0