1.常用算法: RSA、Elgamal、背包算法、Rabin、D-H、ECC(橢圓曲線加密算法)
2.對稱加密算法
使用過程:?
?乙方生成兩把密鑰(公鑰和私鑰)
?甲方獲取乙方的公鑰,然后用它對信息加密。
乙方得到加密后的信息,用私鑰解密,乙方也可用私鑰加密字符串
甲方獲取乙方私鑰加密數(shù)據,用公鑰解密優(yōu)點: 更安全,密鑰越長,它就越難破解
缺點: 加密速度慢
3.算法剖析
(數(shù)字證書ca&https)
非對稱加密DH為了更好的區(qū)分明文和密文,用【AA】代表AA被加密,AA 代表正常未加密
client 發(fā)出請求
server 收到請求,并自己生成一對密鑰,即 公鑰S 和 私鑰S
server 把生成的 公鑰S 傳遞給 client (除了 公鑰S ,還有很多額外信息)
client 收到 公鑰S 后進行判斷,若無效,彈出警告,否則生成一串隨機數(shù),我們稱之為 私鑰C ,然后 client 用 server 傳過來的 公鑰S 對該隨機數(shù)加密,形成【私鑰C】
client 把【私鑰C】傳遞給 server
server 收到【私鑰C】,用 私鑰S 把【私鑰C】解密成 私鑰C,然后把需要傳遞的數(shù)據用 私鑰C 進行加密
server 把【數(shù)據】傳遞給 client
client 收到【數(shù)據】,用 私鑰C 解密,完成一波收割
對稱加密是指加密和解密用一致的密鑰,特點是快
非對稱加密是指密鑰區(qū)分公鑰和私鑰,公鑰加密,私鑰解密(私鑰好比唯逐個把鑰匙,公鑰好比鎖,鑰匙只有一把,但鎖可以有很多,被鎖頭鎖上的數(shù)據全天下只有一把私鑰才能 單開),特點是安全,但是慢
這回理解了吧,上述方式缺點是 慢,所以 https 的流程綜合了對稱加密和非對稱加密的優(yōu)點,利用非對稱加密的安全性來加密那一串隨機數(shù)--私鑰C,利用對稱加密的快捷性來加?
密報文,總體來說就是把真正加密解密的密鑰(私鑰C)用公鑰S和私鑰S來加密,很靈性啊。
利弊
aes/des加密速度快,適合大量數(shù)據,des容易破解,一般用3重des,后來又出現(xiàn)了更快更安全的aes
rsa是公鑰加密,速度慢,只能處理少量數(shù)據,優(yōu)點是公鑰即使在不安全的網絡上公開,也能保證安全
常見情況是雙方用rsa協(xié)商出一個密鑰后通過aes/3des給數(shù)據加密