2013-05-14 100 views
1

當給出p,q & e時,尋求如何計算bash腳本'd'中的RSA密鑰的幫助。bash中的RSA算法(私鑰計算)

雖然我知道這個查詢已經出現,但是我似乎發現的是在給出p,q & e時計算RSA私鑰的理論建議。

我試圖把一個計算的bash腳本在一起,所以真的很喜歡在bash中可以計算(用EXPR或BC)

我發現了一個網站,主要建議如下一些 解釋; (帶「T」是P * q的歐拉,或者更確切地說,「N」的歐拉)

d=$(echo "((2 * $t) + 1)/$e" | bc)

但這似乎只對特定的情況下工作,並沒有提供正確的輸出時嘗試不同的情況。

有關如何爲此計算編寫bash公式的幫助?

+1

我有一些questins:1.這個問題其實是關於「如何在bash中執行數學計算」? 2.爲什麼你正在考慮自己編寫一個RSA算法,爲什麼不使用openSSL等已經完全爲你完成這項工作? – psibar 2013-05-14 12:34:37

+0

如果有一個程序可以告訴我什麼'd'值將被給予關於p,q&e的信息,那麼我認爲這很完美。但我也想知道它是如何實際計算bash腳本中的值的。 – user2381373 2013-05-14 12:57:17

+0

現代加密RSA算法涉及的內容比簡單的「維基百科」實踐提供的要多。除非你在玩耍,否則你肯定不應該依賴簡單的bash腳本來加密/解密敏感數據。如果您需要加密敏感數據,只需google「openssl」和「rsa加密」即可瞭解如何使用openssl – psibar 2013-05-14 13:02:39

回答

0

從RSA的定義

| e * d | = 1(MOD音響(P * Q))

其中f(n)是歐拉函數

所以需要計算在此模數e的反轉。不要忘記檢查GCD(e,fi(p * q))= 1,或者在給定的模中不能找到e的倒數。

您可以使用擴展歐幾里得算法來實現此目的。網絡上有很多僞代碼。你需要更多的幫助嗎?