公開(kāi)密鑰加密 簡(jiǎn)述RSA算法中密鑰的產(chǎn)生,數(shù)據(jù)加密和解密的過(guò)程,并簡(jiǎn)單說(shuō)明RSA算法安全性的原理?
簡(jiǎn)述RSA算法中密鑰的產(chǎn)生,數(shù)據(jù)加密和解密的過(guò)程,并簡(jiǎn)單說(shuō)明RSA算法安全性的原理?RSA方法的工作原理如下:1)任意選擇兩個(gè)不同的大素?cái)?shù)P和Q,計(jì)算乘積R=P*Q;2)任意選擇一個(gè)大整數(shù)e,e與(P
簡(jiǎn)述RSA算法中密鑰的產(chǎn)生,數(shù)據(jù)加密和解密的過(guò)程,并簡(jiǎn)單說(shuō)明RSA算法安全性的原理?
RSA方法的工作原理如下:
1)任意選擇兩個(gè)不同的大素?cái)?shù)P和Q,計(jì)算乘積R=P*Q;
2)任意選擇一個(gè)大整數(shù)e,e與(P-1)*(Q-1)互質(zhì),整數(shù)e作為加密密鑰。
注意:E的選擇很容易。例如,所有大于P和Q的素?cái)?shù)都可用。
3)確定解密密鑰D:D*e=1 mod(P-1)*(Q-1)D可以很容易地從e、P和Q計(jì)算出來(lái)。
4)5)通過(guò)C=PE mod R(e是冪)將明文P(假設(shè)P是小于R的整數(shù))加密到密文C
6)通過(guò)P=CD mod R(D是冪)將密文C解密到明文P。然而,僅僅用R和E(而不是p和Q)來(lái)計(jì)算d是不可能的。因此,任何人都可以加密明文,但只有授權(quán)用戶(誰(shuí)知道d)可以解密密文。示例:選擇P=3,q=5,分別計(jì)算D和e?假設(shè)明文是一個(gè)整數(shù)13,請(qǐng)給出密文數(shù)。解:如果P=3,q=5,則r=15,(P-1)*(q-1)=8。選擇e=11(質(zhì)數(shù)大于P和Q),用d*11=1 mod 8計(jì)算d=3。假設(shè)明文是一個(gè)整數(shù)13。則密文C為(E為冪)C=PE mod r=1792160394037 mod 15=7,恢復(fù)的明文P為(D為冪)P=CD mod r=343 mod 15=13