非對稱加密算法
RSA算法有兩個(gè)作用一個(gè)是加密一個(gè)是數(shù)字簽名
公鑰/私鑰
公鑰解密/私鑰解密
私鑰加密/公鑰解密
優(yōu)缺點(diǎn)
優(yōu)點(diǎn) - 安全
缺點(diǎn) - 速度很慢
RSA 原理
* 找出兩個(gè)“很大”的質(zhì)數(shù):P & Q
* N = P * Q
* M = (P – 1) * (Q – 1)
* 找出整數(shù)E,E與M互質(zhì),即除了1之外,沒有其他公約數(shù) - 公鑰 - 公鑰簡單,通??梢怨_
* 找出整數(shù)D,使得E*D除以M余1,即 (E * D) % M = 1 - 私鑰 - 私鑰復(fù)雜,都是私家珍藏
* 加密
(X ^ E) % N = Y,(X是明文,Y是密文)
* 解密
(Y ^ D) % N = X,(Y是密文,X是明文)
公開密鑰的好處
1. 簡單
* 就是一些乘除而已
2. 可靠
* 不論給出多少份明文和對應(yīng)的密文,也無法根據(jù)已知的明文和密文的對應(yīng)關(guān)系,破譯出下一份密文
* N和E可以公開給任何人加密使用,但是只有掌握密鑰D的人才可以解密,即使加密者自己也無法解密
3. 靈活
* 可以產(chǎn)生很多的公鑰E和私鑰D的組合給不同的加密者