亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

大素數的費馬素數檢驗優化(DHKE 應用)

大素數的費馬素數檢驗優化(DHKE 應用)

30秒到達戰場 2022-08-25 13:37:35
因此,對于DHKE,我需要生成一個大的素數g(在本例中為>500位),然后計算N = 2g + 1,然后測試N是否是素數。重復該過程,直到找到這樣的N。為了實現這一點,我生成一個隨機數g,在其上運行費馬測試,然后在N上運行費馬測試。但是,我注意到運行時間非常慢(有時程序需要幾分鐘)以下是我在任意數字上實現的費馬檢驗:def fermatTest(p):    for i in range(5):   # probability of getting a fool: 1/32        a = secrets.randbelow(p)              if gcd(p,a) == 1:            if (pow(a,p-1,p) == 1):                return True        else:            return False我注意到,要有一個好的費馬檢驗,我需要用多輪a來檢查p,這減少了得到費馬傻瓜的機會(復合表現得像素數),但也減慢了計算速度。我的問題是:有沒有辦法使此功能更快?還是有其他已知的算法比費馬更快?
查看完整描述

1 回答

?
ABOUTYOU

TA貢獻1812條經驗 獲得超5個贊

你可以使用sympy庫,它有一個sympy.isprime()函數,它使用Fermat測試的更好實現(我可能是錯的,但想法幾乎是一樣的)。但是,現在我仍然不知道如何使總時間小于30秒(有時你很幸運,你可以在1秒內生成一個安全Prime,但其他時間它可以達到120秒)


查看完整回答
反對 回復 2022-08-25
  • 1 回答
  • 0 關注
  • 156 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號