古詩詞大全網 - 藝術簽名 - rsa算法的安全是基於什麽的困難

rsa算法的安全是基於什麽的困難

大整數因式分解。

RSA算法是最常用的非對稱加密算法,它既能用於加密,也能用於數字簽名。RSA的安全基於大數分解的難度。其公鑰和私鑰是壹對大素數(100到200位十進制數或更大)的函數。從壹個公鑰和密文恢復出明文的難度,等價於分解兩個大素數之積。

我們可以通過壹個簡單的例子來理解RSA的工作原理。為了便於計算。在以下實例中只選取小數值的素數p,q,以及e,假設用戶A需要將明文“key”通過RSA加密後傳遞給用戶B,過程如下:設計公私密鑰(e,n)和(d,n)。

令p=3,q=11,得出n=p×q=3×11=33;f(n)=(p-1)(q-1)=2×10=20;取e=3,(3與20互質)則e×d≡1 mod f(n),即3×d≡1 mod 20。通過試算我們找到,當d=7時,e×d≡1 mod f(n)同余等式成立。因此,可令d=7。從而我們可以設計出壹對公私密鑰,加密密鑰(公鑰)為:KU =(e,n)=(3,33),解密密鑰(私鑰)為:KR =(d,n)=(7,33)。

英文數字化。將明文信息數字化,並將每塊兩個數字分組。假定明文英文字母編碼表為按字母順序排列數值。則得到分組後的key的明文信息為:11,05,25。

明文加密。用戶加密密鑰(3,33) 將數字化明文分組信息加密成密文。由C≡Me(mod n)得:

C1(密文)≡M1(明文)^e (mod n) == 11≡11^3 mod 33 ;

C2(密文)≡M2(明文)^e (mod n) == 26≡05^3 mod 33;

C3(密文)≡M3(明文)^e (mod n) == 16≡25^3 mod 33;