1.常用算法: RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)
2.对称加密算法
使用过程:
乙方生成两把密钥(公钥和私钥)
甲方获取乙方的公钥,然后用它对信息加密。
乙方得到加密后的信息,用私钥解密,乙方也可用私钥加密字符串
甲方获取乙方私钥加密数据,用公钥解密优点: 更安全,密钥越长,它就越难破解
缺点: 加密速度慢
3.算法剖析
(数字证书ca&https)
非对称加密DH为了更好的区分明文和密文,用【AA】代表AA被加密,AA 代表正常未加密
client 发出请求
server 收到请求,并自己生成一对密钥,即 公钥S 和 私钥S
server 把生成的 公钥S 传递给 client (除了 公钥S ,还有很多额外信息)
client 收到 公钥S 后进行判断,若无效,弹出警告,否则生成一串随机数,我们称之为 私钥C ,然后 client 用 server 传过来的 公钥S 对该随机数加密,形成【私钥C】
client 把【私钥C】传递给 server
server 收到【私钥C】,用 私钥S 把【私钥C】解密成 私钥C,然后把需要传递的数据用 私钥C 进行加密
server 把【数据】传递给 client
client 收到【数据】,用 私钥C 解密,完成一波收割
对称加密是指加密和解密用一致的密钥,特点是快
非对称加密是指密钥区分公钥和私钥,公钥加密,私钥解密(私钥好比唯逐个把钥匙,公钥好比锁,钥匙只有一把,但锁可以有很多,被锁头锁上的数据全天下只有一把私钥才能 单开),特点是安全,但是慢
这回理解了吧,上述方式缺点是 慢,所以 https 的流程综合了对称加密和非对称加密的优点,利用非对称加密的安全性来加密那一串随机数--私钥C,利用对称加密的快捷性来加
密报文,总体来说就是把真正加密解密的密钥(私钥C)用公钥S和私钥S来加密,很灵性啊。
利弊
aes/des加密速度快,适合大量数据,des容易破解,一般用3重des,后来又出现了更快更安全的aes
rsa是公钥加密,速度慢,只能处理少量数据,优点是公钥即使在不安全的网络上公开,也能保证安全
常见情况是双方用rsa协商出一个密钥后通过aes/3des给数据加密
网友评论