• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      利用橢圓曲線方法和GMP庫分解大整數(shù)

      2020-06-12 11:48郭汝廷
      知識文庫 2020年10期
      關(guān)鍵詞:整數(shù)橢圓乘法

      郭汝廷

      1 引言

      2 橢圓曲線因子分解方法介紹。

      年 H.W .Lenstra 創(chuàng)造了橢圓曲線因子分解方法。該方法是在Pollard p-1 方法的基礎(chǔ)上發(fā)展而成。如果整數(shù) N 有素因子 p ,p-1 是光滑數(shù)。用 p-1 方法就可以找到這個素因子。但當p 比較大時 p-1 光滑的概率比較小。所以該方法不易找到大的素因子(比如40位以上)。

      N}F7TQ4_%HRS@T[T7F]1]IS點擊并拖拽以移動 ? ? ? ? ? ? ? ? ? ? ? ?(1)

      的點集 36{TDICRKE2`3Z_OQ@WW{$K點擊并拖拽以移動,其中0H4R~2KJ948523$T2[29)6G點擊并拖拽以移動且$$ZU8NGY8([5AKMI2}14@YH點擊并拖拽以移動此點集加上無窮遠點在定義加法運算后構(gòu)成一個Abel 群。

      給定橢圓曲線E上的兩個點{W[`DW6{3F(RX{R`HE3MO6U點擊并拖拽以移動和橢圓曲線}99T@4L9$CI4YPTKI(7E~`H點擊并拖拽以移動

      JKC~%%7@~VMV~ASB`G}(YEE點擊并拖拽以移動用下面的公式計算:

      7Y(T9QI%D56J[9V8NCGITKR點擊并拖拽以移動

      9SY5BS4LQ1OZCF_N_1[JG)H點擊并拖拽以移動

      ZIK6(QUM]KS[2BGRHUJOID6點擊并拖拽以移動

      如果IHO{HTJJ___S3H)Z4KK][)I點擊并拖拽以移動為一素數(shù),Helmut Hasse證明了群 G 的階介于FB9VAU6H]{88CT95JY_4$VH點擊并拖拽以移動和AQR{%W%GPEQ6Z)NX~UH{J9R點擊并拖拽以移動之間。通過改變a,b的值可以得到階不同的群。如果該群的階光滑,就可以找到素因子 p 。這樣對同樣大小的 p 利用不同的橢圓曲線可以得到階介于0K]P4PB1H6(KZH5X_~_$8ET點擊并拖拽以移動 和_WDH}JG6PH(QX{QU3250{]U點擊并拖拽以移動之間的多個群,而 p-1 方法只能限制在階為 p-1 的乘法群。Lenstra 的橢圓曲線因子分解方法算法如下:

      輸入: 奇合數(shù)。

      (1)選擇(E,P),ET5]}E$1DZU39H6E)]2K937點擊并拖拽以移動,BL%PB9ZJ%9ESYZ8G94PXWSA點擊并拖拽以移動,P是E在Z上的點;

      (2)計算 {BVM({9I@46IR48X9V[VZ$6點擊并拖拽以移動,若 7JDHZTA)J6}JFV[}$7Q](82點擊并拖拽以移動 則輸出d;否則返回第一步;

      (3)選擇 BJ]INPKPA9I{1DI(8WSEEMX點擊并拖拽以移動;

      (4)計算 $7`F]K)X3)N9KUTP42U329L點擊并拖拽以移動其中P4Y[Z$V$17JF])5%}1BVG3J點擊并拖拽以移動;

      (5)計算kP (mod m)點擊并拖拽以移動若在計算過程中出現(xiàn)整數(shù)s對模m 的求逆運算無法繼續(xù),則計算[PJV3_44R}B`SL6{((8)5NK點擊并拖拽以移動若ULG54[OW`}9GRT[QBDO$N9M點擊并拖拽以移動 則輸出 d。否則返回第一步。由于求逆的運算比較耗時,Montgomery 用齊次坐標對上述算法進行了如下改進。

      選擇橢圓曲線

      Z(FP}6LXBY[2FY7`4435@{W點擊并拖拽以移動(2)

      對于橢圓曲線(2)Montgomery 給出了如下的加法公式和倍點公式

      GIK42HO$6$B~H$3RRG%XY5S點擊并拖拽以移動

      利用上面的公式,計算點的加法需要進行6次乘法和4次加法運算;計算倍點需要進行5次乘法和4次加法。利用改進后的方法,Brent分解了第十個Fermat數(shù)。

      3? GMP 大整數(shù)運算庫和因子分解實例

      GMP大整數(shù)運算庫是一個開源庫。該庫提供了長整數(shù)和有理數(shù)以及高精度浮點的 C語言庫函數(shù)。數(shù)據(jù)運算精度僅受計算機物理內(nèi)存的限制。該運算庫的源代碼在CentOS6.5操作系統(tǒng)上編譯后即可使用。利用該運算庫的 mpz_t 數(shù)據(jù)類型,可以開發(fā)基于橢圓曲線因子分解方法的C語言程序,也可以利用它提供的C++類mpz_class。利用該運算庫編寫的程序,很容易找到一個大合數(shù)30位以內(nèi)的素因子。

      例如用該方法選擇橢圓曲線可以分解梅森數(shù)

      其中P96是一個96位的素數(shù)。

      4 結(jié)束語

      (作者單位:山東大學信息化工作辦公室)

      猜你喜歡
      整數(shù)橢圓乘法
      《整式的乘法與因式分解》鞏固練習
      這是流行病
      b=c的橢圓與圓
      巧用點在橢圓內(nèi)解題
      關(guān)于線性變換乘法與矩陣乘法
      橢圓的三類切點弦的包絡(luò)
      乘法豬
      極限思想在橢圓問題中的應用
      答案
      求整數(shù)解的策略
      松溪县| 余干县| 晋江市| 如东县| 房山区| 监利县| 壶关县| 汝州市| 涿州市| 汉川市| 尼勒克县| 乌恰县| 德清县| 晋宁县| 枝江市| 宁蒗| 太原市| 沂南县| 乌拉特前旗| 德化县| 宁阳县| 永善县| 阿克苏市| 卢湾区| 淳化县| 东台市| 商河县| 犍为县| 侯马市| 岳西县| 金溪县| 枝江市| 洪泽县| 博湖县| 宁南县| 娄底市| 安陆市| 扎赉特旗| 威信县| 兴宁市| 龙州县|