當前位置:首頁 » 操作系統 » 在rsa演算法中

在rsa演算法中

發布時間: 2023-01-05 03:13:24

① 在rsa演算法中,以知p=11,q=17,e=13,試計算d是多少

N=(q-1)(p-1)=16 * 10=160

d * e=1 mod N 就是d*e的值對N取模餘1
e的值是7 所以7d=1 mod 160
7*23=161而161 mod 160=1
所以d=23

② 在RSA演算法中取密鑰e=3 D=7,則明文4的密文是多少

你好,根據e和d,我們可以推算出L為20,所以p和q為3和11。n=p*q=33。加密是明文^emod(n),所以是
4^3mod33=31

所以密文是31。
解密是密文^dmod(n),所以是31^7mod33=4

③ RSA密碼演算法

題目很簡單,出現這種問題證明你要好好看下數論了。特別是歐拉定理。根據數論,若x與y互為素數,則x^-1 mod y存在唯一整數解。由此,告訴你一種簡潔的求d的方法,該法是根據模的逆運算的原始定義求解,即:ed=k(p-1)(q-1)+1 式中d和k都是整數。因為e與(p-1)(q-1)互為素數,所以存在唯一整數解。這樣可以通過搜索法找到d。
由上題:e=5, (p-1)(q-1)=96
帶入公式試值得:5d=96*k+1 k=4,d=77 (k與d同時為整數)
c的求法:
由15^5mod119=(((15^2mod119)^2mod119)*15)mod119=36
以上全是手算,當然還可以用計算器,有mod功能的,太簡單了。
希望我的回答對你有幫助。

別這么說,什麼菜不菜的,大家一起討論。
mod就是求余,比如:7mod2=1,就是7/2餘1
公式:余數=|被除數-商*除數|

④ 密碼學基礎1:RSA演算法原理全面解析

本節內容中可能用到的符號說明如下:

質數和合數: 質數是指除了平凡約數1和自身之外,沒有其他約數的大於1的正整數。大於1的正整數中不是素數的則為合數。如 7、11 是質數,而 4、9 是合數。在 RSA 演算法中主要用到了質數相關性質,質數可能是上帝留給人類的一把鑰匙,許多數學定理和猜想都跟質數有關。

[定理1] 除法定理: 對任意整數 a 和 任意正整數 n,存在唯一的整數 q 和 r,滿足 。其中, 稱為除法的商,而 稱為除法的余數。

整除: 在除法定理中,當余數 時,表示 a 能被 n 整除,或者說 a 是 n 的倍數,用符號 表示。

約數和倍數 : 對於整數 d 和 a,如果 ,且 ,則我們說 d 是 a 的約數,a 是 d 的倍數。

公約數: 對於整數 d,a,b,如果 d 是 a 的約數且 d 也是 b 的約數,則 d 是 a 和 b 的公約數。如 30 的約數有 1,2,3,5,6,10,15,30,而 24 的約數有 1,2,3,4,6,8,12,24,則 30 和 24 的公約數有 1,2,3,6。其中 1 是任意兩個整數的公約數。

公約數的性質:

最大公約數: 兩個整數最大的公約數稱為最大公約數,用 來表示,如 30 和 24 的最大公約數是 6。 有一些顯而易見的性質:



[定理2] 最大公約數定理: 如果 a 和 b 是不為0的整數,則 是 a 和 b 的線性組合集合 中的最小正元素。

由定理2可以得到一個推論:

[推論1] 對任意整數 a 和 b,如果 且 ,則 。

互質數: 如果兩個整數 a 和 b 只有公因數 1,即 ,則我們就稱這兩個數是互質數(coprime)。比如 4 和 9 是互質數,但是 15 和 25 不是互質數。

互質數的性質:

歐幾里得演算法分為樸素歐幾里得演算法和擴展歐幾里得演算法,樸素法用於求兩個數的最大公約數,而擴展的歐幾里得演算法則有更多廣泛應用,如後面要提到的求一個數對特定模數的模逆元素等。

求兩個非負整數的最大公約數最有名的是 輾轉相除法,最早出現在偉大的數學家歐幾里得在他的經典巨作《幾何原本》中。輾轉相除法演算法求兩個非負整數的最大公約數描述如下:


例如, ,在求解過程中,較大的數縮小,持續進行同樣的計算可以不斷縮小這兩個數直至其中一個變成零。

歐幾里得演算法的python實現如下:

擴展歐幾里得演算法在 RSA 演算法中求模反元素有很重要的應用,定義如下:

定義: 對於不全為 0 的非負整數 ,則必然存在整數對 ,使得

例如,a 為 3,b 為 8,則 。那麼,必然存在整數對 ,滿足 。簡單計算可以得到 滿足要求。

擴展歐幾里得演算法的python實現如下:

同餘: 對於正整數 n 和 整數 a,b,如果滿足 ,即 a-b 是 n 的倍數,則我們稱 a 和 b 對模 n 同餘,記號如下: 例如,因為 ,於是有 。
對於正整數 n,整數 ,如果 則我們可以得到如下性質:

譬如,因為 ,則可以推出 。

另外,若 p 和 q 互質,且 ,則可推出:

此外,模的四則運算還有如下一些性質,證明也比較簡單,略去。

模逆元素: 對整數 a 和正整數 n,a 對模數 n 的模逆元素是指滿足以下條件的整數 b。 a 對 模數 n 的 模逆元素不一定存在,a 對 模數 n 的模逆元素存在的充分必要條件是 a 和 n 互質,這個在後面我們會有證明。若模逆元素存在,也不是唯一的。例如 a=3,n=4,則 a 對模數 n 的模逆元素為 7 + 4k,即 7,11,15,...都是整數 3 對模數 4 的模逆元素。如果 a 和 n 不互質,如 a = 2,n = 4,則不存在模逆元素。

[推論2] 模逆元素存在的充分必要條件是整數 a 和 模數 n 互質。

[定理3] 唯一質數分解定理: 任何一個大於1的正整數 n 都可以 唯一分解 為一組質數的乘積,其中 都是自然數(包括0)。比如 6000 可以唯一分解為 。

由質數唯一分解定理可以得到一個推論: 質數有無窮多個

[定理4] 中國剩餘定理(Chinese remainder theorem,CRT) ,最早見於《孫子算經》(中國南北朝數學著作,公元420-589年),叫物不知數問題,也叫韓信點兵問題。

翻譯過來就是已知一個一元線性同餘方程組求 x 的解:

宋朝著名數學家秦九韶在他的著作中給出了物不知數問題的解法,明朝的數學家程大位甚至編了一個《孫子歌訣》:

意思就是:將除以 3 的余數 2 乘以 70,將除以 5 的余數 3 乘以 21,將除以 7 的余數 2 乘以 15,最終將這三個數相加得到 。再將 233 除以 3,5,7 的最小公倍數 105 得到的余數 ,即為符合要求的最小正整數,實際上, 都符合要求。

物不知數問題解法本質

求解通項公式

中國剩餘定理相當於給出了以下的一元線性同餘方程組的有解的判定條件,並用構造法給出了解的具體形式。

模數 兩兩互質 ,則對任意的整數: ,方程組 有解,且解可以由如下構造方法得到:

並設 是除 以外的其他 個模數的乘積。



中國剩餘定理通項公式證明

⑤ rsa加密演算法

rsa加密演算法如下:

演算法原理:

RSA公開密鑰密碼體制的原理是:根據數論,尋求兩個大素數比較簡單,而將它們的乘積進行因式分解卻極其困難,因此可以將乘積公開作為加密密鑰

⑥ RSA演算法加密

RSA加密演算法是一種典型的非對稱加密演算法,它基於大數的因式分解數學難題,它也是應用最廣泛的非對稱加密演算法,於1978年由美國麻省理工學院(MIT)的三位學著:Ron Rivest、Adi Shamir 和 Leonard Adleman 共同提出。

它的原理較為簡單,假設有消息發送方A和消息接收方B,通過下面的幾個步驟,就可以完成消息的加密傳遞:
消息發送方A在本地構建密鑰對,公鑰和私鑰;
消息發送方A將產生的公鑰發送給消息接收方B;
B向A發送數據時,通過公鑰進行加密,A接收到數據後通過私鑰進行解密,完成一次通信;
反之,A向B發送數據時,通過私鑰對數據進行加密,B接收到數據後通過公鑰進行解密。
由於公鑰是消息發送方A暴露給消息接收方B的,所以這種方式也存在一定的安全隱患,如果公鑰在數據傳輸過程中泄漏,則A通過私鑰加密的數據就可能被解密。
如果要建立更安全的加密消息傳遞模型,需要消息發送方和消息接收方各構建一套密鑰對,並分別將各自的公鑰暴露給對方,在進行消息傳遞時,A通過B的公鑰對數據加密,B接收到消息通過B的私鑰進行解密,反之,B通過A的公鑰進行加密,A接收到消息後通過A的私鑰進行解密。
當然,這種方式可能存在數據傳遞被模擬的隱患,但可以通過數字簽名等技術進行安全性的進一步提升。由於存在多次的非對稱加解密,這種方式帶來的效率問題也更加嚴重。

⑦ 已知RSA演算法中,素數p=5,q=7,模數n=35,公開密鑰e=5,密文c=10,求明文

密鑰d=5

明文m=c的d次方mod n

m=100000mod35

=5


解密密鑰:{d,n}={d,35},

密文:C=10,

選擇兩個素數:p=5,q=7,則n=35=5*7。

計算φ(p-1)(q-1)=(5-)(7-1)=24,在[0,23]中選擇一個和24互素的數,本題選e=5,得5*d=l mod 24,解出d。不難得出,d=5,因為e×d = 5×5 = 25 = 1*24+1=1 mod 24。

因為:m=Cd(mod n)

所以,m=Cd(mod n)=5。

(7)在rsa演算法中擴展閱讀:

當公鑰e取較小的值,雖然會使加密變得易於實現,速度有所提高,但這樣做也是不安全的。最簡單的辦法就是e和d都取較大的值。

因為密鑰的產生受素數產生技術的限制,所以也有它的局限性。

(1)密鑰的產生受素數產生技術的限制,因而難以做到一次一密。

(2)分組長度太大,為保證安全性,n至少也要600比特以上,使運算代價很高,尤其是速度較慢,比對稱密碼演算法慢幾個數量級;隨著大整數素因數分解演算法的改進和計算機計算能力的提高,對n的長度在不斷增加,不利於實現數據格式的標准化。

熱點內容
房產證加密碼 發布:2025-05-11 02:49:17 瀏覽:339
伺服器少個陣列卡盤符怎麼找出來 發布:2025-05-11 02:34:07 瀏覽:635
鬥地主源碼開發 發布:2025-05-11 02:24:07 瀏覽:366
雲伺服器怎麼設置攻擊 發布:2025-05-11 02:22:09 瀏覽:826
python嵌套for循環 發布:2025-05-11 01:51:44 瀏覽:228
安卓怎麼取消後台限制 發布:2025-05-11 01:45:45 瀏覽:258
一鍵搭建sk5伺服器 發布:2025-05-11 01:40:09 瀏覽:514
鴻業acs加密鎖模擬器 發布:2025-05-11 01:38:49 瀏覽:938
神廟逃亡2安卓版怎麼玩 發布:2025-05-11 01:38:05 瀏覽:163
凱傑都什麼配置 發布:2025-05-11 01:38:04 瀏覽:472