DES与3DES

摘要:
DES固定8字节的plain加密得到8字节的cipherEBC模式:对plain进行分组,不足8字节的补00或ffCBC模式:对plain进行8字节分组,P1,P2,……E=Cn解密可通过逆运算推出,注意,一定是先解密再异或3DES我们用k表示密钥,Ek()为加密操作,Dk()为解密操作加密:C=Ek3;解密:D=Dk1;K1、K2、K3决定了算法的安全性,若三个密钥互不相同,本质上就相当于用一个长为168位的密钥进行加密。若数据对安全性要求不那么高,K1可以等于K3。但是不能有k1=k2=k3;如果k1=k2=k3,则退化为DES加密;

DES 固定8字节的plain加密得到8字节的cipher

EBC模式:对plain进行分组,不足8字节的补00或ff

CBC模式:(1)对plain进行8字节分组,P1,P2,……,Pn,不足8字节的用指定的PADDING数据补位;

(2)初始化向量 l = 0x00;

(3)E(D1 ^l) = C1

E(D2 ^ C1) = C2

……

E(Dn ^ Cn-1) = Cn

(4)解密可通过逆运算推出,注意,一定是先解密再异或

3DES 我们用k 表示密钥, Ek()为加密操作,Dk()为解密操作

加密:C = Ek3(Dk2(Ek1(P)));

解密: D = Dk1(Ek2(Dk3(C)));

K1、K2、K3决定了算法的安全性,若三个密钥互不相同,本质上就相当于用一个长为168位的密钥进行加密。多年来,它在对付强力攻击时是比较安全的。若数据对安全性要求不那么高,K1可以等于K3。在这种情况下,密钥的有效长度为112位

但是 不能有 k1 = k2 = k3;

如果 k1 = k2 = k3 ,则退化为DES加密;

免责声明:文章转载自《DES与3DES》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【Oracle】Oracle表空间数据文件大小设置jetty安装教程下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

在vue或js中的异或解密和aes(des)配合使用

简单粗暴,直接贴代码: 1 //AES解密 2 decryptData(toDecrypt) { 3 var key='mochouhuaNumber1';//密钥(和后端约定的) 4 var base64 = CryptoJS.enc.Utf8.parse(key); 5 var iv=CryptoJS.enc.U...

浅谈中途相遇攻击--meet-in-the-middle attack

貌似挖的坑也够多了。。。。好多都没填,这篇最后会不会TJ还得看心情TUT 看过大白书的人应该都会发现一种神奇的算法:中途相遇法。(在第58页)这种算法将以空间换时间的思路运用到了极致,但事实上它在密码学中的作用更大 DES在过去的很长时间里都是作为标准出现的,人们花了很多力气都没有发现它有什么唯密文攻击的方法(当然,当密钥恰巧为很少的几个弱密钥时是可行的T...

DES加密解密工具类

1 /// <summary> 2 ///DES加密解密工具类 3 /// </summary> 4 public classDesUtil 5 { 6 /// <summary> 7 ///秘钥 8 /// </summary> 9 private stati...

iOS开发之—— 加密使用(MD5,base64,DES,AES)

基本的单向加密算法: BASE64 严格地说,属于编码格式,而非加密算法 MD5(Message Digest algorithm 5,信息摘要算法)SHA(Secure Hash Algorithm,安全散列算法)HMAC(Hash Message Authentication Code,散列消息鉴别码) MD5、SHA、HMAC这三种加密算法,可谓是非...

DES加密

DES算法描述过程: 1.DES算法使用56位的密钥及附加的8位奇偶校验位,产生最大64位的分组大小,输入64位明文,在64位密钥的控制下产生64位的密文。 2.DES首先利用初始置换IP对X进行换位处理,然后用图3.5的与密钥有关的16轮迭代变换,如此循环16此,最后经过逆初始置换IP-1的处理得到密文 初始置换IP用于对明文各位进行换位,为了打乱次序...

3DESC加密算法

3DESC 请求参数和响应参数全采用3des加密规则,由于我是用.NET对接的,而第三方是Java开发的,所以两种程序之间采用的算法有一点差异,java的3des加密采用的是"DESede/CBC/PKCS5Padding"规则,所以对应的C#规则是"PaddingMode.PKCS7和CipherMode.CBC",使用CBC模式的话在C#下必须传入加密...