加密算法小知识
非对称算法:公钥加密,私钥解密。解密私钥不会在网络传输,以保证密钥的安全性。
数字签名(Digital Signature)技术是不对称加密算法的典型应用。保证信息传输的完整性、发送者的身份认证、防止交易中的抵赖发生。
通常来讲,非对称算法安全性更高,其破解难度更大,现在的数字证书就是基于非对称密钥体系。
如果结合时间因素的话,再有良好的设计保障,对称算法也相当安全,比如一次一密,密码仅在一次很短的会话内有效。
“对称密钥”的加密算法主要有:AES、DES、TripleDES、RC2、RC4、RC5和Blowfish等。
“非对称密钥”的加密算法主要有:RSA、Elgamal、背包算法、ECC(椭圆曲线加密算法)
MD5和 SHA-1可以说是目前应用最广泛的Hash算法,严格讲不是加密算法。
Hash算法的主要应用:
(1) 文件校验 我们比较熟悉的校验算法有奇偶校验和CRC校验,这2种校验并没有抗数据篡改的能力,它们一定程度上能检测并纠正数据传输中的信道误码,但却不能防止对数据的恶意破坏。 MD5 Hash算法的"数字指纹"特性,使它成为目前应用最广泛的一种文件完整性校验和(Checksum)算法,不少Unix系统有提供计算md5 checksum的命令。
(2) 数字签名 Hash 算法也是现代密码体系中的一个重要组成部分。由于非对称算法的运算速度较慢,所以在数字签名协议中,单向散列函数扮演了一个重要的角色。对 Hash 值,又称"数字摘要"进行数字签名,在统计上可以认为与对文件本身进行数字签名是等效的。而且这样的协议还有其他的优点。 (3) 鉴权协议 如下的鉴权协议又被称作挑战--认证模式:在传输信道是可被侦听,但不可被篡改的情况下,这是一种简单而安全的方法。