2.2 DES/3DES算法 -- 算法介绍

2018-11-29  本文已影响0人  saillen

对称加密技术 - DES、3DES算法简介

DES算法和DESSede算法统称DES系列算法,是对称加密算法领域的经典加密算法。DESSede(又称3DES)使用三次迭代增加算法安全性。DES算法是众多对称加密算法的基础,很多算法都是基于该算法演变而来。

DES家族发展历史

虽然DES被取代了,但是DES的CBC工作模式是基础性的算法和工作模型,有很强的意义,在遗留系统中也有一些使用的。

大致算法流程

DES的算法是采用分组加密工作模式,流程比较复杂,大致流程如下:

应用场景及算法特点

DES3DES适合一般加密性场景,当前大部分是遗留系统在使用,还有一部分可能是系统没有支持AES等其他加密手段被迫使用。

JDK仅支持56位的密钥长度(出口限制),对称加密系列算法的特点是:密钥长度越高安全性越高,因此JDK本身自带的DES3DES算法仅适合学术和一般场景使用,Bouncy Castle提供了64位密钥长度的支持。

算法 密钥长度 密钥长度默认值 工作模式 填充方式 实现
DES 56 56 ECB、CBC、PCBC、CTR、CTS、CFB、CFB8-CFB128、OFB、OFB8-OFB128 NoPadding、PKCS5Padding、ISO10126Padding JDK 6实现
DES 64 56 ECB、CBC、PCBC、CTR、CTS、CFB、CFB8-CFB128、OFB、OFB8-OFB128 PKCS7Padding、ISO10126d2Padding、X932Padding、ISO7816d4Padding、ZeroBytePadding Boouncy Castle实现

DES和3DES的比较

3DES是对DES的一种改良算法,针对DES算法密钥短,迭代次数少的缺点做了改进。但是3DES算法速度慢,密钥计算时间长,加密效率不高,实际使用也不多。

DES 的 3 大安全痛点:

上一篇下一篇

猜你喜欢

热点阅读