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盒置换。至此。一次轮函数操作完毕

相关文章
|
3月前
|
Java 数据安全/隐私保护
des加密+base64编码,base64解码+des解密
des加密+base64编码,base64解码+des解密
54 0
|
3月前
|
算法 安全 C语言
使用C语言实现DES算法代码
使用C语言实现DES算法代码
|
3月前
|
算法 搜索推荐 Java
DES - 对称加密算法简要介绍与JAVA实现
DES - 对称加密算法简要介绍与JAVA实现
76 2
|
8天前
|
算法 JavaScript 前端开发
对称加密算法解析:DES、AES及其在`pycryptodome` 和 `crypto-js` 模块中的应用
对称加密算法解析:DES、AES及其在`pycryptodome` 和 `crypto-js` 模块中的应用
22 1
|
2月前
|
存储 算法 安全
Java中的DES和3DES加密算法详解
Java中的DES和3DES加密算法详解
|
2月前
|
Java C# 数据安全/隐私保护
|
1月前
|
C# 数据安全/隐私保护
Des加密和解密
Des加密和解密
30 0
|
3月前
|
安全 算法 数据库
MD5、SHA、DES、AES、RSA的算法说明
【5月更文挑战第10天】MD5、SHA、DES、AES、RSA的算法说明
54 2
|
3月前
|
存储 算法 安全
加密解密(DES)
加密解密(DES)
|
3月前
|
存储 算法 Java
加密解密(3DES)DES的加强版
加密解密(3DES)DES的加强版