Triple Data Encryption Standard(TDES) - 基本介绍
来源:互联网 发布:java 执行外部命令 编辑:程序博客网 时间:2024/05/29 12:23
本文翻译自维基百科:http://en.wikipedia.org/wiki/Triple_DES
Triple Des
密码学中,Triple Des是三重数据加密算法(Triple Data Encryption Algorithm)对称块密码的通称,该算法对每个数据块作了3次的DES密码算法。
最初DES的密钥长度为56bits,在DES算法被设计时这个长度是足够的,但是随着计算机计算能力的不断提升使暴力攻击变得可行。Triple Des提供相对简单的方式通过增加密钥长度来抵挡暴力攻击,而无需去设计一个完全新的块密码算法。
标准
三重数据加密算法定义在如下标准:
- ANS X9.52-1998 Triple Data Encryption Algorithm Modes of Operation(撤销)
- FIPS PUB 46-3 Data Encryption Standard(DES)(撤销)
- NIST Special Publication 800-67 Revision 1 Recommendation for the Triple Encryption Algorithm(TDEA) Block Cipher
- ISO/IEC 18033-3:2010: Part 3:Block ciphers
算法命名
早起的标准(ANS X9.52 出版于1998)将该算法描述为“三重数据加密算法(TDEA)”,也就是三重操作的数据加密算法规定于ANSI X3.92,
该标准中没有提及术语“Triple DES”或“DES”.FIPS PUB 46-3(1999)定义了“三重数据加密算法(TDEA)”,也使用了术语DES和Triple DES.
NIST SP 800-67(2004, 2008, 2012)主要使用术语TDEA,但也提及了Triple DES. ISO/IEC 18033-3(2005)使用TDEA.
然而没有一个标准定义该算法使用术语3DES,该属于被适用于一些供应商、用户和密码学者。
算法
Triple DES使用一个由3个DES密钥K1,K2和K3组成的密钥对(key bundle),每个密钥56位(不包括校验位)。
加密算法:
密文 = EK3(DK2(EK1(明文)))
也就是用K1 对明文DES加密,K2 DES解密,最后K3 DES解密
解密算法相反:
明文=DK1(EK2(DK3(密文)))
每3次加密操作加密64位的数据块。
TripleDes通过使用密钥选项2改善算法强度,并且通过密钥选项3提供向后兼容
密钥选项
标准定义了3个密钥选项:
- 密钥选项1:所有密钥均独立
- 密钥选项2:K1和K2独立,K3=K1
- 密钥选项3: K1=K2=K3
密钥选项1最安全,带3*56=168独立密钥位
密钥选项2低安全,带2*56=112密钥位。该选项安全性是简单的DES加密的两倍,因为他能抵挡meet-in-the-middle 攻击
密钥选项3等同于DES,56位密钥。该选项NIST不再建议使用,并且IS0/IEC 18033-3不支持。
多个块的加密
安全
通常,Triple DES使用3个独立密钥(密钥选项1),有168位的密钥长度,但由于meet-in-the-middle attack,有效的安全
只提供112位密钥长度。密钥选项2减少有效密钥长度为112位(K3=K1)。该选项对chosen-plaintext 或known-plaintext
攻击敏感,最后,NIST将Triple DES设计为只有80位密钥长度。
对密钥选项1的最强攻击需要大约232 known plaintexts, 2113 steps, 290 single DES encryptions, and 288 memory,
目前来说这时不现实的,NIST考虑密钥选项1被使用到2030年。攻击者试图寻找许多密码密钥中的任意一个,有一种
memory-efficient 攻击,该攻击将要从228密钥中找到一个,对少数的已筛选的明文使用密钥进行大约284解密操作。
使用
电子支付产业使用Triple DES,并且开发和发表基于Triple DES的标准。
微软OneNote,Outlook2007和System Center Configuration Manager2012为密码使用TripleDES来保护用户内容和系统数据。
0 0
- Triple Data Encryption Standard(TDES) - 基本介绍
- DES(Data Encryption Standard)
- Data Encryption Standard (密码学作业一:DES)
- DES:Data Encryption Standard, 数据加密标准
- Data Encryption Standard(DES) 数据加密标准算法描述。
- Data Encryption Standard(DES) 数据加密标准算法描述
- Data Encryption Standard(DES) 数据加密标准算法描述
- DES(Data Encryption Standard)加密解密整理
- DES(Data Encryption Standard)加密解密整理
- SDES(Simple Data Encryption Standard)加密算法——Java实现
- AES(Advanced Encryption Standard) Intrinsics各函数介绍
- DATA ENCRYPTION
- Digital encryption standard flawed
- Advanced Encryption Standard
- Advanced Encryption Standard
- javascript AES Advanced Encryption Standard
- SQLServer Transparent Data Encryption
- Oracle Transparent Data Encryption
- Mysql数据库优化系列(三)------Mysql性能调优的思路
- 关于C、java、php的函数参数传递特点的分析
- 微软CRM 2011 安装图文教程
- SecureCRT下的串口不能输入
- C 语言访问MySQL数据库的简单实验
- Triple Data Encryption Standard(TDES) - 基本介绍
- 在Windows7本机上安装IIS
- ObjectOutputStream 多次写同一个文件后,读取出错解决办法
- 第十七周项目三:胖子伤不起
- 网页学习笔记之GPIO配置
- 01(CodeforcesB水平)CQU新生周末狂欢赛 I - Phone Numbers
- window远程桌面连接 Ubuntu 14.04 ,亲测可试用
- 基于linux c编程的正则表达式
- 吸费电话号码 揭秘声讯电话