[問題] 想實作RSA,如何隨機產生大質數?

看板C_and_CPP作者 (vu03)時間10年前 (2016/01/19 00:31), 編輯推噓2(208)
留言10則, 5人參與, 最新討論串1/1
最近想實作一次RSA,我使用C++開發, 預期是可以產生不限位數的金鑰, 目前大數運算都已經實作好了 就只差不知道如何找(產生)質數 在網路上看到的都是比較小位數的找法 想請問有沒有一些general rule可以產生大質數?謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.231.117.22 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1453134703.A.119.html

01/19 00:50, , 1F
random大數以後再去做質數測試
01/19 00:50, 1F

01/19 01:44, , 2F
好像幾個質數相乘減一可以變成質數?
01/19 01:44, 2F

01/19 02:09, , 3F
實務上做法都是一樓講的那樣, 那因為測質數的方法裡
01/19 02:09, 3F

01/19 02:10, , 4F
目前常見的是 Miller-Rabin 這種機率式測試法
01/19 02:10, 4F

01/19 02:11, , 5F
有機會(雖然可以任意小)讓非質數通過
01/19 02:11, 5F

01/19 02:12, , 6F
要實作的話要稍微注意這一點, 控制一下通過的機率
01/19 02:12, 6F

01/19 02:13, , 7F
(喔, 我指的是大數的質數測試, 因為顯然不可能用試除)
01/19 02:13, 7F

01/19 20:14, , 8F
謝謝大家,我本來是想問有沒有公式直接產生,看來只能用刪
01/19 20:14, 8F

01/23 12:00, , 9F
補充一下 二樓說的做法是強質數的做法,這樣方法產生出
01/23 12:00, 9F

01/23 12:01, , 10F
來的質數被一些學者認為相對比較難破
01/23 12:01, 10F
文章代碼(AID): #1MdHDl4P (C_and_CPP)