這與我的previous post有關,我的唯一選擇是擁有一個RSA算法,它似乎相對較弱。讓我們假設我想用一個36位模(34359738368到68719476735)編碼一個35位數(從0到34359738367)。破解N位RSA模數
參照http://en.wikipedia.org/wiki/RSA我可以看到,我的n在34359738368之間,最高達到68719476735個隨機總數(形式爲p-1 * q-1)。我隨機選擇一個d和e。我編碼一個數字並在UI上顯示。
出於參數的目的,讓我們假設用戶可以看到多達1000個這樣的輸出。他可以使用像Polla's或類似的任何算法來破解我的d,e或n,從而開始預測新的數字嗎?如果是這樣會有多難? (通過僅僅知道說1000組輸入/輸出)
作爲一個例子(考慮6個輸出作爲輸入/輸出格式樣品),
- 10001621865,31116156015
- 10001621866,33031668326
- 10001621867,37351399313
- 10001621868,06071714212
- 10001621869,01188523761
- 10001621870,18341011998
有人能告訴我我的n,d,e是什麼嗎? (N之間34359738368高達68719476735)
我只是想知道它是多麼可破解,所以如果你可以給我任何信息有多長時間,有多快,有多少人看到輸出,可以使用什麼算法等等。它會很棒。
PS:用戶看不到像標準RSA算法那樣的「e」。他只能看到輸入輸出集。
信息添加 我試圖從數據庫到用戶呈現連續的用戶ID。因爲它是順序的,我不希望用戶通過執行一些註冊來猜測另一個用戶的ID。爲了避免這種情況,我必須將其編碼爲< = 12位數字。這個問題有很多限制,在this question中有解釋。
另外n,d和e的值對用戶是未知的。用戶可以看到的最大數量是幾個輸入輸出樣本(通過重複註冊)
接受由Accipitridae發佈的答案,因爲「Jacobi」算法可用於在幾秒鐘內解決此問題。不知道n,e或p。
你想做什麼?聞起來像混淆。 – 2009-05-18 14:30:35
?!我不會得出這個結論。聽起來像OP有一些不幸的系統限制最大比特大小。 – 2009-05-18 14:40:43
RSA絕對不適合這份工作。我會使用HMAC。 – 2009-05-18 16:21:17