DES原理、使用3DES替换DES(3DES加解密速度只有DES的1/3,为什么不使用2DES?)

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: DES原理、使用3DES替换DES(3DES加解密速度只有DES的1/3,为什么不使用2DES?)

一、DES原理

image.png

二、为什么用3DES而不用2DES
  大体过程:明文P,密文C,加密过程E,解密D;

  如果用暴力破解,时间复杂度是256,对于对称密钥加密,要增加安全性,最好是增加密钥的长度,于是采用多次加密的方法,但是为何采用3DES,却没有2DES?

如果使用2DES:

加密:P- - - E过程(k1)- - - 得到中间值X- - - E过程(k2)- - - C;
解密:C- - - D过程(k2)- - -   X   - - - D过程(k1)- - -P;

  这个原理,看似有效的密钥长度为56*2,其实不然。如果敌人获得的明文P和密文C,那么只要:

    x1=E(k1,P);
    x2=D(k2,C);

  使用暴力破解,使x1=x2,即获得中间值x,这样造成密钥k1,k2泄漏,而这种方法需要时间复杂度是2*256 = 257,跟DES比差不太多。

但是使用3DES:

加密:P- - - E过程(k1)- - - D过程(k2)- - - E过程(k3)- - - C;
解密:C - - - D过程(k3) - - - E过程(k2) - - - D过程(k1)- - - P;

这样即使获得P、C,破解k1,k2,k3也十分困难。所以采用3DES!

相关文章
|
3月前
|
算法 JavaScript 前端开发
对称加密算法解析:DES、AES及其在`pycryptodome` 和 `crypto-js` 模块中的应用
对称加密算法解析:DES、AES及其在`pycryptodome` 和 `crypto-js` 模块中的应用
169 1
|
3月前
|
JavaScript 算法 前端开发
国标哈希算法基础:SHA1、SHA256、SHA512、MD5 和 HMAC,Python和JS实现、加盐、算法魔改
国标哈希算法基础:SHA1、SHA256、SHA512、MD5 和 HMAC,Python和JS实现、加盐、算法魔改
480 1
|
5月前
|
数据库 数据安全/隐私保护 数据库管理
QT中sqlite数据库数据加密/混淆---MD5/SHA1/SHA2/SHA3
QT中sqlite数据库数据加密/混淆---MD5/SHA1/SHA2/SHA3
|
6月前
|
存储 算法 Java
加密解密(3DES)DES的加强版
加密解密(3DES)DES的加强版
|
6月前
|
算法 Android开发
安卓逆向 -- 自吐算法(3DES和AES)
安卓逆向 -- 自吐算法(3DES和AES)
61 1
|
6月前
|
算法 JavaScript Java
安卓逆向 -- 算法基础(DES与3DES)
安卓逆向 -- 算法基础(DES与3DES)
37 0
|
前端开发 数据安全/隐私保护
前端AES加密解密、base64解密
前端AES加密解密、base64解密
635 0
|
数据采集 JavaScript 前端开发
“探秘JS加密算法:MD5、Base64、DES/AES、RSA你都知道吗?”
“探秘JS加密算法:MD5、Base64、DES/AES、RSA你都知道吗?”
256 0
|
存储 编解码 算法
加解密技术基本使用指南(Base64、Hex、AES、SM4、RSA 算法)
加解密技术基本使用指南(Base64、Hex、AES、SM4、RSA 算法)
3095 0
加解密技术基本使用指南(Base64、Hex、AES、SM4、RSA 算法)
|
算法 Java
java的DES和3DES加解密算法
java的DES和3DES加解密算法