美文网首页
2.2 DES/3DES算法 -- 算法介绍

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

作者: saillen | 来源:发表于2018-11-29 20:05 被阅读0次

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

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

DES家族发展历史

  • 1973年,美国国家标准计算研究所(NIST)征求对称加密算法方案,IBM提交了自己的算法;
  • 1977年,IBM的算法(Luciffer算法)被正式采用,成为数据加密标准:Data Encryption Standard即DES算法;
  • DES算法密钥比较短,只有56位,迭代次数少,很容易受到密码分析手段的攻击,因此DES算法半公开,被怀疑是NSA(美国国家安全局)安置的后门,因此被各大密码学机构强烈质疑;
  • 1998年,出现DES算法破译机,DES算法被攻破,宣告不安全;
  • 1999年,NIST公布新标准3DES,也就是DESede(TripleDES)3DES取代DESDES作为遗留系统的加密手段被废弃;
  • 目前攻破DES已经很简单-AES正式替代了DES

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

大致算法流程

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

  • 1.将要加密的数据进行分组,56位为一组;
  • 2.以组为单位进行加密处理,这个时候对每块的加密操作就有了不同的工作模式;
    • 不同的工作模式算法效率和产生的密文差别比较大;
    • 参考2.1节的工作模式小节;
  • 3.最后一块儿不足56位,则需要填充到56位或者不填充,这就是填充模式;
    • 不同的填充模式,影响到数据的安全性;
    • 参考2.1节的填充小节;

应用场景及算法特点

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 大安全痛点:

  • 密钥短:56位、68位确实不长 ;
  • 迭代偏少:仅支持16次迭代;
  • 半公开性:违反了科克霍夫原则,被怀疑有后门,主要是S盒没被公布,因此S盒被怀疑是NIS的后门;

相关文章

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

    对称加密技术 - DES、3DES算法简介 DES算法和DESSede算法统称DES系列算法,是对称加密算法领域的...

  • DH

    DH 算法的介绍 上面介绍的 DES,3DES,AES 算法都是对称密码算法,所谓对称,在上面也解释了,就是加密和...

  • Des

    常用加密算法的Java实现总结 对称加密算法DES、3DES和AES 算法原理DES算法把64位的明文输入块变为6...

  • 3DES 数据加密(3DES/ECB/zeroPadding)P

    1. 3DES 简介   3DES(即Triple DES)是DES向AES过渡的加密算法(1999年,NIST将...

  • iOS对称加密(AES与DES)

    对称加密算法:指加密和解密使用相同密钥的加密算法(包括DES算法,3DES算法,RC5算法,AES算法等)。本文讲...

  • 密码学-札记

    一、加密算法的选择: 1.1 对称加密: 不安全的加密算法: a.DES系加密算法(DES/DESX/3DES/2...

  • 常用对称加密算法

    常用对称加密算法:DES 3DES AES1、DES(Data Encrypti...

  • android 3DES加密和MD5加密

    经常使用加密算法:DES、3DES、RC4、AES,RSA等;对称加密:des,3des,aes非对称加密:rsa...

  • 数据加密--学习

    常用加密算法 AES MD5 BASE64 RSA DES 3DES RC4 对称加密 des,3des,aes非...

  • Android 加密解密的几种方式总结

    经常使用加密算法:DES、3DES、RC4、AES,RSA等; 对称加密:des,3des,aes 非对称加密:r...

网友评论

      本文标题:2.2 DES/3DES算法 -- 算法介绍

      本文链接:https://www.haomeiwen.com/subject/dxhqcqtx.html