对称加密技术:
对称加密是最传统的加密方式,简单说就是用一个密钥对原文加密,再用同样密钥对原文解密。对称加密的优点就是算法公开、计算量小、加密速度快、加密效率高,但是缺点也很明显,密钥的传递无法保障。常见的对称加密算法有DES、3DES、AES等
关于DES、3DES、AES这里可以参考下 http://www.cnblogs.com/wei2yi/p/3484170.html
非对称加密技术:
简单来说就是有一个公钥和一个私钥,私钥自己保留,公钥分发给别人。可以用公钥加密用私钥解密,也可以用私钥加密用公钥解密,但是不能用私钥加密私钥解密,也不能用公钥加密公钥解密。非对称加密很好的解决了对称加密中的密钥传递的问题。常见的有RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)。
关于RSA这里可以参考 http://blog.jobbole.com/42699/
摘要:
摘要可以看作是你传递的内容的唯一指纹,独一无二的。摘要的这个特征能很好的验证传递的内容是否被别人篡改了。摘要最著名的算法当属MD5,更安全的可以采用SHA。(因为MD5可以对任意长度的数据运算生成一个160位的数值128位,而SHA是160位,这样RSA在对强行攻击的安全性更高,对密码分析的安全性更高,但在相同的硬件上运行速度也会减慢)
数字签名
数字签名其实就是非对称加密和摘要的结合使用。原理很简单,对称加密支持私钥加密,公钥解密。那么我们用A的私钥加密,如果能用A的公钥解密那就能确定这段内容一定是A发送的。非对称加密效率较低,所以通常会结合摘要来实现。
数字信封
被公钥加密后的对称密码被称之为数字信封。数字信封主要包括数字信封打包和数字信封拆解,数字信封打包是使用对方的公钥将加密密钥进行加密的过程,只有对方的私钥才能将加密后的数据(通信密钥)还原;数字信封拆解是使用私钥将加密过的数据解密的过程。CA数字证书
解决公钥可靠性的方法就是CA数字证书。公钥的分配都有一个可信的机构来分配,就是CA。
- CA用它的私钥做数字签名就是CA提供的证书:证书=CA的私钥(B的身份+B公钥)
- 客户端获取证书 -> CA的公钥(证书)-> 获得B的身份和B的公钥