-
對於這個問題,我又看了幾年前學到的東西,累了又不喜歡。
如果您不知道自己是否了解 RSA 流程,讓我們先談談它。
兩個大素數 p 和 q 作為金鑰對隨機生成。 這個問題:p=13,q=17,n =p*q=221
加密金鑰 E 是隨機生成的,因此 E 和 (P-1)*(Q-1) 是互質的。 這個問題:e=83
公鑰是 (n,e)。 這個問題:(221,83)。
通過 e*d mod (p-1)*(q-1)=1 生成解密金鑰 d,其中 n 和 d 也是互變的。 這個問題: (d*83) 1mod192
私鑰是 (n,d)。 問題:(221,155)。
然後傳送方使用公鑰對明文 m 進行加密,並獲取密文 c=m e mod n
接收者使用私鑰解密 m=c d mod n
求解d,即求逆元素,de = 1 mod n,這種形式在模數n中稱為de,表示逆元素,可以看作是de-ny=1,這道題83e-192y=1
使用擴充套件的歐幾里得演算法。 事實上,它是折騰和分裂。
這個問題:192=2*83+26
當您發現餘數為 1 時,將其寫回。
那麼 d = -37,正確後是 155
記住,回寫時,數字不能改,比如第二步中的26不能換成(83-5)3,這樣就找不到了,最後的表示式必須是192和83。 另外,最好保持良好的寫作格式,例如,當第一步是2*83+26時,第二步最好寫成3*26+5而不是26*3+5,否則如果步驟較多,則容易搞砸。
-
首先,我們來談談求d的答案,ed=1mod(p-1)(q-1)=1mod60,即7d=1mod60,表示e和d的乘積為(p-1)(q-1)餘數結果為1,問題給出e=7,(p-1)(q-1)可求為60,即(7d)%60=1[%為餘數符號], 可得到43*7=301=5*60+1
問題給出了 m=17,秘密文字 c=m e mod n 是 m 的餘數與 n 的冪 e,代入值為 17 5% 143=10
希望對你有所幫助。
-
RSA 有三個公式(以上所有公式都是正確的)。
e2*e1)mod((p-1)*(q-1))=1;
a=b^e2 mod n;
b=a^e1 mod n;
第二個問題是正確的,第乙個問題是正確的,答案是d=17
-
(1)RSA演算法原理及步驟:
1.任意選擇兩個大素數p和q,使n=pq2,計算尤拉函式(n)=(p-1)(q-1)3,任意選擇以(n)為加密金鑰的小整數e4,求解解密金鑰d,根據e求解密金鑰d,d滿足。
de=1mod ф(n)
5、明文M數位化,組長不能超過logn,保證每個明文組的值不超過n。
6. 加密過程:c=e(m)=me mod n7,解密過程:m=d(c)=cdmod n
-
RSA 系統金鑰生成:
1.選擇兩個大素數,p 和 q。
2.計算:n = p * q(p,q 是兩個彼此不同的大素數,p,q 必須保密,一般 p,q 是乙個安全的素數,n 的長度大於 512bit,這主要是因為 RSA 演算法的安全性取決於大數的因式分解問題)。
有尤拉函式(n)=(p-1)(q-1)。
3.然後隨機選擇加密金鑰 e,要求 e 和 ( p - 1 ) q - 1 ) 是共同限定的。
4.最後,利用歐幾里得演算法計算出滿足DE 1(mod(n))的解密金鑰D。 其中 n 和 d 也是互為主的。
數字 e 和 n 是公鑰,d 是私鑰。 不再需要兩個素數 p 和 q,應該丟棄,不要讓任何人知道。
加密和解密演算法
1.加密資訊m(二進位表示)時,首先將m分成等長塊m1和m2,..mi ,塊長度 s,其中 2 s < = n,s 盡可能大。
2.對應的密文為:ci mi e ( mod n ) a )。
3.解密的計算如下: mi ci d ( mod n ) b ) rsa 可用於數字簽名,方案是使用 (a) 簽名和 (b) 驗證。
-
1.選擇兩個素數 p、q
2.設 n =p * q
3.求出 n f = p-1)*(q-1) 的尤拉函式。
4.在 [2, f] 的範圍內,隨機發現乙個與 f 為互質數的數字 e 作為公鑰的指數。
5.計算私鑰指數 d,其中 d 是公鑰指數 e v f 的模逆元素,即 ed = kf +1(k 是正整數)。
6.將 (n, e) 封裝為公鑰,將 (n, d) 封裝為私鑰。
1.設要加密的數字為 m,m 為小於 n 的非負整數。
2.計算 c = m e) %n,則 c 為密文。
計算 (c d)%n,即要加密的數字 m,如下所示。
因為 c=m e - n*g,其中 g 是非負整數,(c d)%n = m e - n*g) d ] n
在多項式之後,去掉n的整數倍的項,得到結果。
m^e )^d] %n
m^(e*d) ]n
m^(k*f+1) ]n
m * m^(k*f) ]n
n 下面在三種情況下討論:
在第一種情況下:m=0 或 m=1
則 %n = m
第二種情況:m>1,m 和 n 是互質。
根據尤拉定理,m f = h*n+1,其中 h 是正整數。
則 %n= %n
n(其中 i 是通過在指數多項式之後合併相同的項 n 獲得的正整數)。
m%n = m(因為 m1 和 m 和 n 不舒適。
由於 n=p*q 和 p、q 是質數,因此 m=j*p 或 j*q,其中 j 是正整數。
當 m=j*p 時,因為。
RSA演算法原理 - 知乎 (
-
RSA 加密是一種非對稱加密。 解密無需直接傳遞金鑰即可完成。 這確保了資訊的安全性,並避免了直接傳遞金鑰而洩露的風險。
它是對一對金鑰進行加密和解密的過程,分別稱為公鑰和私鑰。 公鑰加密 - 私鑰解密,私鑰加密 - 公鑰解密。
在整數中,離散對數是基於全等運算和基元的對數運算。 然而,在實數中,對數 logb 的定義
A 是指給定的
和 b,有乙個數字 x,使得 bx=a
在任何組中都相同 g
可以是全整數 k
將冪定義為 bk,而離散對數logb
A是指製作BK
a 的整數 k 當 3 是 17 的原始根時,我們將找到乙個模式。
對於正整數 n,尤拉函式是小於或等於 n 的正整數中與 n 互質的數字數(因此 (1)=1)。 它具有以下特點。
伺服器根據 315mod 生成乙個隨機數 15
計算 6,伺服器將 6 傳遞給客戶端,客戶端生成乙個隨機數 13,根據 313mod
計算出12後,將12傳回伺服器,客戶端接收到伺服器傳遞的6,根據613mod
計算 10 後,伺服器根據 1215mod 接收客戶端傳遞的 12
計算 10 ,我們會發現我們已經通過 Dife Herman 金鑰交換以加密方式傳遞了 10。
描述: 安全性:
除了使用 n 和 e 的公鑰外,其餘 4 位數字是私有的 (p1、p2、(n)、d)。
目前破解RSA的方法如下:
缺點。 RSA加密效率不高,因為它是一種純數學演算法,而大資料並不適合RSA加密,所以我們在加密大資料的時候,我們先用對稱加密演算法對大資料進行加密,得到金鑰,然後用RSA加密金鑰,再把大資料和金鑰一起傳遞。
因為Mac系統內建了OpenSSL(開源加密庫),所以我們直接在終端中開源RSA加密和解密。
生成金鑰名稱和 1024 位金鑰長度為 1024 位的 RSA 私鑰
因為在iOS中它不可用要加密和解密 PEM 檔案,您需要執行以下步驟。
生成 10 年 CRT 證書。
CRT 證書格式將轉換為 DER 證書。