当前位置:
文档之家› 第三讲 数据加密-非对称加密算法讲解
第三讲 数据加密-非对称加密算法讲解
对称算法
基于密钥的算法通常有两类:对称算法和公 开密钥算法(非对称算法)。 在对称算法中,加解密的密钥是相同的。对 称算法要求发送者和接收者在安全通信之前, 协商一个密钥。对称算法的安全性依赖于密 钥,泄漏密钥就意味着任何人都能对消息进 行加解密。对称算法的加密和解密表示为:
– E(M,K)=C – D(C,K)=M
公开密钥算法
公开密钥算法(非对称算法)的加密的密钥 和解密的密钥不同,而且解密密钥不能根据 加密密钥计算出来 之所以叫做公开密钥算法,是因为加密密钥 能够公开,但只有用相应的解密密钥才能解 密信息。加密密钥叫做公开密钥(简称公 钥),解密密钥叫做私人密钥(简称私钥)。 公开密钥加密:E(M,K1)=C 公开密钥解密:D(C,K2)=M。
密钥 明文 加密 密文 密钥 解密 原始明文
有些算法使用不同的加密密钥和解密密钥,也就是说加密密钥 K1与相应的解密密钥K2不同,在这种情况下,加密和解密的函 数表达式为:
– E(M,K1)=C – D(C,K2)=M
函数必须具有的特性是,D(E(M,K1),K2)=M,如图所 示。
加密 密钥 明文 加密 密文 解密 密钥 解密 原始明文
算法 DES
类型 对称分组密 码 对称分组密 码
密钥长度 56位
说明 目前最常用的加密算法 , 然而其安全 性能较差 对DES作了一些比较好的改进,而且 它也能满足当前的安全需要
TripleDE S
168位(112位有效)
Blowfish
对称分组密 码
对称流密码
长度可变(可以达 到448位)
长度可变 ( 通常从 长 计 议 40 到 128 位)
解决方法:
一钥一密 定期更换
密钥的管理和分发
密钥的分发
– 问题? – 改进!
非对称加密算法
算法和密钥
明文M,密文C,加密E,解密D 密钥用K表示
– K可以是很多数值里的任意值,密钥K的可能值的范围叫做 密钥空间。加密和解密运算都使用这个密钥,即运算都依赖 于密钥,并用K作为下标表示,加解密函数表达为: – E(M , k)=C – D(C , k)=M – D(E(M , k), k)=M,如图所示。
密 文
解密密 码算法
明 文
密钥
密钥
(续1)对称加密
•2. 特点:速度较快,有时比非对称加密快1000倍。但 由于密钥的对称性,收发双方必须共享密钥,密钥管 理不方便,也不安全,密钥总数随着用户数的增加迅 速增加。 •3. 应用: 主要用于长明文的加密,如文件,网络,数据 库加密. •4. 常用算法:(分流加密算法和分组加密算法两种)
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 15792089237316195423570985008687907 85326998466564056403945758400791312 9639935
加密: C=E(K1,D(K2,E(K1,M)))
– 记为:C=EDEK1,K2(M)
解密: M=D(K1,E(K2,D(K1,C)))
– 记为:M=DEDK1,K2(C)
三重三钥DES(tri-DES/3) Key Space:168-bites 加密算法:
– C=E(K3,D(K2,E(K1,M))) – E=D(K3,E(K2,D(K1,C)))
使用公钥密码算法进行通信
– Alice和Bob选用一个公开密钥密码系统 – Bob将他的公开密钥传送给Alice – Alice用Bob的公开密钥加密她的消息,然 后传送给Bob – Bob用他的私人密钥解密Alice的消息。
对称和非对称加密算法的比较
(一) 对称加密
1.基本原理
明 文
加密密 码算法
分组(块)加密:
– 将明文分组,逐组加密,密文仅与加密算 法和密钥有关,与被加密的数据在明文中 的位置无关
(二) 非对称加密
1.原理
明 文
加密密 码算法
密 文
解密密 码算法
明 文
公钥
私钥
(续1)非对称加密 2.特点: 加解密的密钥不同,密钥的安全性高;但加解密的速度慢,强度 低,对选择明文攻击比较脆弱。
Triple-DES
三重两钥DES(tri-DES/2) 112-bites(equivalent to 34 digits) Any Number between 0 to 5192296858534827628530496329220095
– – – – 两个密钥K1,K2 Encrypt with K1 Decrypt with K2 Encry何人都可以从邮箱的信封人口塞进信 件 但是取信的权力却仅仅在于持有邮箱钥 匙的人的手上 这个众人皆知的信封入口就是“公钥” (Public Key) 而你持有的邮箱钥匙就是“私钥” (Private Key)
公开密钥算法
Alice Bob
公开密钥算法
长的密钥长度提供了很好的安全性
RC4
快速的流密码。主要用在SSL中。使 用不当128位密钥时安全性比较好
AES
对称分组密 码
长度可变 (128 位、 替代DES的新密码算法。虽然还没有 192 或明或暗 256 广泛应用,但是它很可能提供很好 位) 的安全性
关于流加密和分组加密
流(序列)加密:
– 将明文按字符逐位加密,密文除了与加密 算法和密钥有关之外,同时也是位置的函 数
AES
National Security Agency approved AES in june 2003 for pretecting top-level secrets within US gov agencies
密钥的管理和分发
使用同样的密钥的范围
一次泄漏,全部泄漏 一个特定key使用次数越多,就增加了被窃 取的机会