簡述RSA算法的加解密過程 簡述RSA算法中密鑰的產(chǎn)生,數(shù)據(jù)加密和解密的過程,并簡單說明RSA算法安全性的原理?
簡述RSA算法中密鑰的產(chǎn)生,數(shù)據(jù)加密和解密的過程,并簡單說明RSA算法安全性的原理?RSA方法的工作原理如下: 1) 任意選取兩個不同的大質(zhì)數(shù)p和q,計算乘積r=p*q; 2) 任意選取一個大整數(shù)e,
簡述RSA算法中密鑰的產(chǎn)生,數(shù)據(jù)加密和解密的過程,并簡單說明RSA算法安全性的原理?
RSA方法的工作原理如下:
1) 任意選取兩個不同的大質(zhì)數(shù)p和q,計算乘積r=p*q;
2) 任意選取一個大整數(shù)e,e與(p-1)*(q-1)互質(zhì),整數(shù)e用做加密密鑰。
注意:e的選取是很容易的,例如,所有大于p和q的質(zhì)數(shù)都可用。3) 確定解密密鑰d: d * e = 1 mod(p - 1)*(q - 1) 根據(jù)e、p和q可以容易地計算出d。
4) 公開整數(shù)r和e,但是不公開d;
5) 將明文P (假設(shè)P是一個小于r的整數(shù))加密為密文C,計算方法為: C = Pe mod r (e為冪次方)
6) 將密文C解密為明文P,計算方法為: P = Cd mod r (d為冪次方) 然而只根據(jù)r和e(不是p和q)要計算出d是不可能的。因此,任何人都可對明文進(jìn)行加密,但只有授權(quán)用戶(知道d)才可對密文解密。例:選取p=3, q=5,試計算出d和e分別是多少?假定明文為整數(shù)13,請給出密文數(shù)字. 解:如果選取p=3, q=5,則r=15,(p-1)*(q-1)=8。選取e=11(大于p和q的質(zhì)數(shù)),通過d * 11 = 1 mod 8, 計算出d =3。假定明文為整數(shù)13。則密文C為 (e為冪次方) C = Pe mod r = 1792160394037 mod 15 = 7 復(fù)原明文P為: (d為冪次方) P = Cd mod r = 343 mod 15 = 13