对称加密技术
原理:文件加密和解密使用相同的密钥
特点:使用起来简单快捷,密钥较短,加密效率高。
对称加密算法存在几个问题:
1、要求提供一条安全的渠道使通讯双方在首次通讯时协商一个共同的密钥。
2、密钥的数目难于管理。因为对于每一个合作者都需要使用不同的密钥。
3、对称加密算法一般不能提供信息完整性的鉴别。它无法验证发送者和接受者的身份。
4、对称加密是基于共同保守秘密来实现的,如果一方泄露那么加密信息也就不安全了。
常用算法:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK
非对称加密技术
原理:
对称加密算法需要两个密钥,公开密钥(publickey)和私有密钥(privatekey)。如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。
特点:
算法强度复杂,速度远低于对称加密,安全性高。
使用过程:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。甲方只能用其专用密钥解密由其公用密钥加密后的任何信息。
非对称加密的典型应用:
数字签名:
发送报文时,发送方用一个哈希函数从报文文本中生成报文摘要,然后用发送方的私钥对这个摘要进行加密,这个加密后的摘要将作为报文的数字签名和报文一起发送给接收方,接收方首先用与发送方一样的哈希函数从接收到的原始报文中计算出报文摘要,接着再公钥来对报文附加的数字签名进行解密,如果这两个摘要相同,那么接收方就能确认该报文是发送方的。
常用算法:RSA,DSA,ECDSA
Hash算法(摘要算法)
原理:Hash算法特别的地方在于它是一种单向算法,用户可以通过Hash算法对目标信息生成一段特定长度的唯一hash值,却不能通过这个hash值重新获得目标信息。因此Hash算法常用在不可还原的密码存储、信息完整性校验等。
常用算法:MD2、MD4、MD5、HAVAL、SHA