用例項給新手講解RSA加密演算法

2021-09-18 05:55:29 字數 1102 閱讀 3329

圖為 rsa公開金鑰演算法的發明人,從左到右ron rivest, adi shamir, leonard adleman. **攝於2023年

素數是這樣的整數,它除了能表示為它自己和1的乘積以外,不能表示為任何其它兩個整數的乘積。例如,15=3*5,所以15不是素數;又如,12=6*2=4*3,所以12也不是素數。另一方面,13除了等於13*1以外,不能表示為其它任何兩個整數的乘積,所以13是乙個素數。素數也稱為「質數」。

二、什麼是「互質數」(或「互素數」)?

小學數學教材對互質數是這樣定義的:「公約數只有1的兩個數,叫做互質數。」這裡所說的「兩個數」是指自然數。

判別方法主要有以下幾種(不限於此):

(1)兩個質數一定是互質數。例如,2與7、13與19。

(2)乙個質數如果不能整除另乙個合數,這兩個數為互質數。例如,3與10、5與 26。

(3)1不是質數也不是合數,它和任何乙個自然數在一起都是互質數。如1和9908。

(4)相鄰的兩個自然數是互質數。如 15與 16。

(5)相鄰的兩個奇數是互質數。如 49與 51。

(6)大數是質數的兩個數是互質數。如97與88。

(7)小數是質數,大數不是小數的倍數的兩個數是互質數。如 7和 16。

(8)兩個數都是合數(二數差又較大),小數所有的質因數,都不是大數的約數,這兩個數是互質數。如357與715,357=3×7×17,而3、7和17都不是715的約數,這兩個數為互質數。等等。

三、什麼是模指數運算?

指數運算誰都懂,不必說了,先說說模運算。模運算是整數運算,有乙個整數m,以n為模做模運算,即m mod n。怎樣做呢?讓m去被n整除,只取所得的餘數作為結果,就叫做模運算。例如,10 mod 3=1;26 mod 6=2;28 mod 2 =0等等。 

模指數運算就是先做指數運算,取其結果再做模運算。如

好,現在開始正式講解rsa加密演算法。

演算法描述:

(1)選擇一對不同的、足夠大的素數p,q。

(2)計算n=pq。

(3)計算f(n)=(p-1)(q-1),同時對p, q嚴加保密,不讓任何人知道。

(4)找乙個與f(n)互質的數e,且1**:

用例項給新手講解RSA加密演算法

圖為 rsa公開金鑰演算法的發明人,從左到右ron rivest,adi shamir,leonard adleman.攝於1978年 rsa是第乙個比較完善的公開金鑰演算法,它既能用於加密,也能用於數字簽名。rsa以它的三個發明者ron rivest,adi shamir,leonard adle...

用例項給新手講解RSA加密演算法

圖為 rsa公開金鑰演算法的發明人,從左到右ron rivest,adi shamir,leonard adleman.攝於1978年 素數是這樣的整數,它除了能表示為它自己和1的乘積以外,不能表示為任何其它兩個整數的乘積。例如,15 3 5,所以15不是素數 又如,12 6 2 4 3,所以12也...

用例項給新手講解RSA加密演算法

2009年06月24日14 04 圖為 rsa公開金鑰演算法的發明人,從左到右ron rivest,adi shamir,leonard adleman.攝於1978年 素數是這樣的整數,它除了能表示為它自己和1的乘積以外,不能表示為任何其它兩個整數的乘積。例如,15 3 5,所以15不是素數 又如...