RSA演算法 選擇兩個大素數

2025-01-12 14:10:07 字數 1391 閱讀 1641

1樓:網友

剛解決的問題:)給你乙個函式,放入你的程式中就可以,解釋一下,傳進去的引數為x^m=?(mod n),返回的a就是你要求的答案。

long modexp(long x, long m, long n) //模指數演算法。

long a,b;

a = 1;

b = x;

while(m != 0)

if((m%2) == 1)

if(a>(n/2))

a=a-n;

if(b>(n/2))

b=b-n;

a = ((a%n)*(b%n))%n;

a = (a+n)%n;

m = m-1;else

if(b>(n/2))

b=b-n;

b = ((b%n)*(b%n))%n;

m = m/2;

return(a);

2樓:霧翳黑度

244的847次方不論c++裡面有沒有大數,它都不可能表示出來!你可以用分解的方法算出結果,847次方可以分解成2*423+1次方;

於是。244^847mod2773

244^2mod2773)^423*244]mod27731301^423*244mod2773

1301^2mod2773)^211*1301*244mod2773

1071^211*1301*244mod2773465mod2773

真想知道怎麼計算的話,省略的就自己算出來吧)用同樣的方法,這樣每次對()裡的進行計算,某些專業書上的演算法也是用和這差不多的辦法的!

rsa中的素數要大到什麼程度才符合要求。

3樓:網友

對於普通的加密, 要求8個字元, 也就是 8*8=64 bits, 窮舉計算量為 2^64

我們假設這個計算量就是安全的, 那麼, 素數應該大到計算量為2^64以上就可認為是安全的。

在計算因式分解的時候, 只需要得到pq中的乙個就可以, 假如pq長度差不多, 可以認為 pq 至少需要兩倍的長度。

再其次, 考慮到分解因式還有很多各種技巧, 我們再將長度加倍,最後 64*4 = 256 bits (32位元組)應該可以看作是安全的了。

有資料說:因式分解速度最快的方法的時間複雜性為exp(sqrt(ln(n))inln(n)))

這樣的話。 便於理解, 取n=2^256, 並且將ln近似用log2代替, exp用2^x代替。

2^(sqrt(ln2^256)*lnln256)

2^(sqrt(256)*ln256)

也就是256位(32位元組)的強度大致相當於128位的對稱加密。 應該就夠了。

同樣, 考慮到pq只需要求乙個, 打個對摺, 至少相當於64位強度(8位元組).

兩種路由選擇演算法是什麼,簡述路由選擇演算法的要求

鏈路狀態演算法 也稱最短路徑演算法 傳送路由資訊到網際網路上所有的結點,然而對於每個路由器,僅傳送它的路由表中描述了其自身鏈路狀態的那一部分。距離向量演算法 也稱為bellman ford演算法 則要求每個路由器傳送其路由表全部或部分資訊,但僅傳送到鄰近結點上。從本質上來說,鏈路狀態演算法將少量更新...

兩個男孩,我該如何選擇,兩個男孩,該如何選擇

1年多的好!你自己也說他對你很好,只是有點霸道,急哭了才肯鬆口,但畢竟還是送了口至於你後面說的那個人,做普通的朋友還差不多。提醒一句 如果愛請重愛 愛是兩個人的事,不是他讓不讓你的事,對你前面那個男朋友好一點,寬容點,和後面那個男的最好是斷絕關係!愛情需要磨練 樓上說的極力反對,一點愛情觀都沒有,女...

兩個男人我該怎樣選擇,兩個男人我該如何選擇???

從你的表述中,得出一結論 你不配他們其中任何一個。毫無疑問,你是一個賤女人。我想你會繼續賤下去,直到哪天被自己的賤傷著。對於前者,你大可以放棄,因為那是有缺陷的,不受法律甚至社會道德的認可,我認為在破壞他人婚姻的基礎上的選擇是明確的。而後者,首先要做的是坦白,他接受的不是完整的你,這樣不可能長久。現...