文档介绍:加密:
C=E(K1,D(K2,E(K1,M)))
记为:C=EDEK1,K2(M)
解密:
M=D(K1,E(K2,D(K1,C)))
记为:M=DEDK1,K2(C)
第1页/共46页
三重三钥DES(tri-DES/3)
Key Space:168-bites
加密算法:
C=E(K3,D(K2,E(K1,M)))
E=D(K3,E(K2,D(K1,C)))
第2页/共46页
AES
Adopted as a standard by the National institude of standards&Technology at 2001
Dev by Rijndael(2 belgian cyptogphers)
Key:128/192/256bits(equivalent to 78 digits)
Block of M:16bytes=128bits
Any Number between 0 to 157920892373161954235709850086879078532699846656405640394575840079**********
第3页/共46页
AES
National Security Agency approved AES in june 2003 for pretecting top-level secrets within US gov agencies
第4页/共46页
密钥的管理和分发
使用同样的密钥的范围
一次泄漏,全部泄漏
一个特定key使用次数越多,就增加了被窃取的机会
解决方法:
一钥一密
定期更换
第5页/共46页
密钥的管理和分发
密钥的分发
问题?
改进!
第6页/共46页
非对称加密算法
第7页/共46页
算法和密钥
明文M,密文C,加密E,解密D
密钥用K表示
K可以是很多数值里的任意值,密钥K的可能值的范围叫做密钥空间。加密和解密运算都使用这个密钥,即运算都依赖于密钥,并用K作为下标表示,加解密函数表达为:
E(M , k)=C
D(C , k)=M
D(E(M , k), k)=M,如图所示。
第8页/共46页
有些算法使用不同的加密密钥和解密密钥,也就是说加密密钥K1与相应的解密密钥K2不同,在这种情况下,加密和解密的函数表达式为:
E(M,K1)=C
D(C,K2)=M
函数必须具有的特性是,D(E(M,K1),K2)=M,如图所示。
第9页/共46页
对称算法
基于密钥的算法通常有两类:对称算法和公开密钥算法(非对称算法)。
在对称算法中,加解密的密钥是相同的。对称算法要求发送者和接收者在安全通信之前,协商一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都能对消息进行加解密。对称算法的加密和解密表示为:
E(M,K)=C
D(C,K)=M
第10页/共46页