999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

費馬數(shù)乘積形式與平方和形式轉(zhuǎn)換研究

2021-11-28 01:58:52周利榮胡天磊
電腦知識與技術(shù) 2021年28期

周利榮 胡天磊

摘要:該文分析了費馬數(shù)素因子乘積形式轉(zhuǎn)換為平方和形式的算法,費馬數(shù)平方和形式轉(zhuǎn)換為素因子乘積形式的算法。利用轉(zhuǎn)換算法2在極短的時間內(nèi)(0.02 s)將62位素數(shù)934616397153579777691635581996068965840512375416381885802 80321分解成平方和形式。綜合利用兩種算法部分分解費馬數(shù)F12。

關(guān)鍵詞:費馬數(shù);費馬平方和定理;呂卡定理

中圖分類號:TP312? ? ? 文獻標識碼:A

文章編號:1009-3044(2021)28-0114-03

開放科學(資源服務(wù))標識碼(OSID):

1 背景

表達式Fn=[22n]+1稱為費馬數(shù),當n取0、l、2、3、4時的值分別為3、5、17、257、65537,并均為素數(shù)。由此,費馬提出一個猜想:形如Fn=[22n]+l的數(shù)一定為素數(shù)。數(shù)學家歐拉發(fā)現(xiàn),當n取5時,F(xiàn)5=4294967297=641*6700417不為素數(shù)。費馬素數(shù)除了被費馬本人所證實的那五個外竟然沒有再發(fā)現(xiàn)一個。費馬數(shù)問題促進素性判定算法和整數(shù)的分解算法的研究。

2 費馬數(shù)性質(zhì)

有關(guān)定理及性質(zhì):

1)費馬平方和定理:任何一個4p+1型素數(shù)可表成兩個整數(shù)的平方和,且表示方法是唯一的。

2)呂卡定理:費馬數(shù)Fn=[22n]+1的素因數(shù)必具p=k.[2n+2]+l的形式,其中k為正整數(shù)[1]。

3)性質(zhì)1:當n≥2時,費馬數(shù)Fn=[22n]+1的末位數(shù)為7[2]。

4)性質(zhì)2:([u2+v2])*([a2+b2])=[(ua+vb)2] +([va-ub)2]。

5)性質(zhì)3:([u2+v2])*([a2+b2])=[(ua-vb)2] +([va+ub)2]。

3 費馬數(shù)素因子乘積形式轉(zhuǎn)換成平方和形式

3.1 轉(zhuǎn)換的依據(jù)

由呂卡定理可知費馬數(shù)的素因數(shù)必具k.[2n+2]+l的形式,即為4p+1型的素數(shù)。由費馬平方和定理可知任何一個4p+1型素數(shù)可表成兩個整數(shù)的平方和,且表示方法是唯一的。由性質(zhì)2:([u2+v2])*([a2+b2])= [(ua+vb)2] +([va-ub)2],可知整數(shù)的平方和的乘積仍為平方和。因此,費馬數(shù)一定可以轉(zhuǎn)換成整數(shù)的平方和形式。

3.2 轉(zhuǎn)換算法1(窮舉法)

輸入:費馬數(shù)的素因數(shù)pi(1≤i≤k)。

輸出:費馬數(shù)的平方和形式。

1)i=1;

2)tmp=pi ,t=[pi]-1;

3)tm=tmp-[t2];

4)如果tm 是完全平方數(shù),轉(zhuǎn)(5),否則 t--,轉(zhuǎn)(3);

5)保存pi的平方和形式;

6)i++,如果 i≤k,轉(zhuǎn)(2),否則轉(zhuǎn)(7);

7)由性質(zhì)2輸出費馬數(shù)的平方和形式,程序結(jié)束。

設(shè)(x,y)是滿足pi=x2 + y2的格點,則(y,x)也是滿足pi=x2 + y2的格點,即格點在第一象限的分布滿足對稱性,因此,t的搜索區(qū)間為[[pi/2],[pi]-1]。

3.3 轉(zhuǎn)換算法2(利用素因子平方和之間的比例關(guān)系)

性質(zhì)2、性質(zhì)3的成立是顯而易見的。由性質(zhì)2、性質(zhì)3可知,兩因子費馬數(shù)Fn=p1*p2=([u2+v2])*([a2+b2])=[(ua+vb)2] +([va-ub)2]=[(vb-ua)2] +([va+ub)2]。即兩因子費馬數(shù)有兩種平方和形式。由于Fn=[22n]+l=[(22n-1)2+12],因此,[(22n-1)2+12]必定是其中一種平方和形式。設(shè)u

推論 1:vb-ua =1。

推論 2:[uv]≈[ba]。

推論 3:[uu2+v2]≈[ba2+b2]。

推論 4:[vu2+v2]≈[aa2+b2]。

對于兩因子費馬數(shù),有了上述推論,如果已將較小因子p1分解成平方和形式p1=([u2+v2])。利用推論4可得a的近似值,從a的近似值開始遞增將p2分解成平方和形式[a2+b2],這樣極大地減少了搜索范圍。

對于兩因子費馬數(shù)Fn=p1*p2, p1

1)用窮舉法將較小因子p1分解成平方和形式p1=([u2+v2]);

2)計算c=v/[p1];

3)由p2=([a2+b2])及a/[p2]≈c將較大因子p2分解成平方和形式p2=([a2+b2])。

4)由性質(zhì)2輸出費馬數(shù)的平方和形式。

例:F5=4294967297=641*6700417。p1=641,p2=6700417。窮舉法分解p1=641=([42]+[252]),設(shè)u=4,v=25,計算c=25 /[641 ]=0.987,由推論4知:a/[p2]≈c=0.987得a≈2555,循環(huán)兩次即可分解6700417 =([25562]+[4092]),設(shè) a=2556,b=409。ua+vb= 4* 2556+25 * 409 =20449,va-ub=25*2556-4*409=62264, F5=([204492]+[622642])。

例:F8= 115792089237316195423570985008687907853269984665640564039457584007913129639937=1238926361552897 *93461639715357977769163558199606896584051237541638188580280321。p1=1238926361552897,p2=93461639715357977769163558199606896584051237541638188580280321。窮舉法分解p1=1238926361552897=([242465592+255153042]), u=24246559, v=25515304,計算c=25515304 /[1238926361552897 ]=0.7248998337342965585004679297962,由a/[p2]≈c得a≈7008009763344264886811252498144,循環(huán)兩次即可分解p2 =([70080097633442648868112524981452]+[66595374368066614409021877834642])。設(shè)a=7008009763344264886811252498145,b=6659537436806661440902187783464。ua+vb= 2424655 *7008009763344264886811252498145+25515304 * 6659537436806661440902187783464 =33984024439900551177939471112034026611,va-ub=25515304*7008009763344264886811252498145-24246559*6659537436806661440902187783464=17340632172455487023654788790090010704, F8=([173406321724554870236547887900900107042]+[339840244399005511779394711120340266112])。

3.4 算法的效率比較

算法2由于利用推論4,算法的時間主要用于第(1)步:用窮舉法將較小因子p1分解成平方和形式,(2)(3)(4)步所用時間極少(分解F5的第二個素因子p2 為平方和形式僅用0.0001s;分解F6的第二個素因子p2 為平方和形式僅用0.001s;分解F7的第二個素因子p2 為平方和形式僅用0.01s;分解F8的第二個素因子p2 (62位素數(shù))為平方和形式僅用0.02s,是目前被分解的最大素數(shù))。因此,算法2的效率遠優(yōu)于算法1。上表中,算法1計算F7、F8較大因子p2平方和形式所需要時間=循環(huán)一次時間*循環(huán)次數(shù)估算得到。可見當n≥7時,算法1的效率極低,幾乎不可能。

4 費馬數(shù)平方和形式轉(zhuǎn)換成乘積形式(適用于兩因子費馬數(shù))

4.1 轉(zhuǎn)換算法3(解方程組法)

主要利用性質(zhì)2:([u2+v2])*([a2+b2])= [(ua+vb)2] +([va-ub)2]。如果已知費馬數(shù)的分解形式Fn=x2 + y2,由性質(zhì)2可知,存在u、v、a、b,使得[(ua+vb)2] +([va-ub)2]= x2 + y2= ([u2+v2])*([a2+b2]),只要能求出u、v、a、b,則可將n分解成素因子乘積形式。

要求出u、v、a、b的值,必須有四個方程組成的方程組。而條件只有兩個方程:x = ua+vb,y = va-ub。但x,y具有x= x1+x2,y = y2-y1的 形式,因此,可設(shè)x= x1+x2,y = y2-y1,則x2 + y2= (x1+x2)2 + (y2 -y1)2。如果x1,x2,y1,y2滿足x1=[ ua,]x2= vb,y1=[ va],y2=[ ub],則計算u=gcd(x1,y2),v= gcd(x2,y1),則得n的一個因子([u2+v2]),分解成功。

如果x1,x2,y1,y2滿足x1=[ ua,]x2= vb,y1=[ va],y2=[ ub],則x1x2=uavb,y1y2=vaub,因此y1y2=x1x2,則必有方程組:

y1y2=x1x2……①

y1-y2=y ……②

由于y已知,只要知道x1,x2,則可求y1,y2,進而求出u、v、a、b,則可將n分解成素因子乘積形式。由②得:y2=y+y1,代入①得:[y12]+y.y1-x1.x2=0,是一個一元二次方程,解方程得:y1=(-y+[y2-4x1x2])/2,y2= y+(-y+[y2-4x1x2])/2。

推論 5:當n≥2時,費馬數(shù)Fn= x2 + y2中x,y必有一個為奇數(shù)。

由性質(zhì)1不難推出此結(jié)論。設(shè)x為奇數(shù),如果x1=[x/2];x2=x-x1,則有x2-x1=1。由3.3節(jié)的分析可知:(ua-vb)=1,([va+ub])=[22n-1],又有:ua+vb=x ,va-ub=y 。因此,x1,x2,y1,y2必滿足x1=[ ua,]x2= vb,y1=[ va],y2=[ ub],[y2-4x1x2]=[(va-ub)2]+4uavb=[(va+ub)2]是完全平方數(shù)。y1=(-y+[y2-4x1x2])/2,y2= y+(-y+[y2-4x1x2])/2必為整數(shù)。因此,算法只要循環(huán)一次即可。

算法3描述如下:

1)求出x1=[x/2];

2)計算x2=x-x1;

3)解方程組y1y2=x1x2,y1-y2=y;

4)y1、y2必為整數(shù),由u=gcd(x1,y2),v= gcd(x2,y1)求出u,v,將n分解,程序結(jié)束。

例:F6= 18446744073709551617= x2 + y2=[14387937592+40468032562],x=1438793759,y= 4046803256,由于x為奇數(shù),令x1=719396879,x2=719396880, 解方程組y1y2=x1x2,y2-y1=y得y1=(-y+[y2-4x1x2])/2=124082020, y2= y+y1=4170885276為整數(shù)。u= gcd(y2,x1)=89,v=gcd(y1,x2)=516。([u2+v2])=274177,18446744073709551617=274177*67280421310721。

4.2 轉(zhuǎn)換算法4(求最大公約數(shù)法)

由4.1節(jié)的分析可得到如下四個方程:

vb-ua =1? ? ?……①

va+ub=[22n-1]? ?……②

ua+vb=x? ? ?……③

va-ub=y? ? ?……④

①+③得:2vb= x+1,vb= (x+1)/2;②+④得:2va=[22n-1]+y,va=([22n-1]+y)/2,v=gcd((x+1)/2,([22n-1]+y)/2)。

③-①得:2ua= x-1,ua= (x-1)/2;②-④得:2ub=[22n-1-]y,ub=([22n-1-]y)/2,u=gcd((x-1)/2,([22n-1]-y)/2)。

算法4描述如下:

1)求出v=gcd((x+1)/2,([22n-1]+y)/2);

2)求出u=gcd((x-1)/2,([22n-1]-y)/2);

3)得Fn的一個因子([u2+v2]);

4)將Fn分解n=([u2+v2])*[Fn/([u2+v2])],程序結(jié)束。

例:F7=340282366920938463463374607431768211457=

x2 + y2=[163823502215354644792+84794438579364025042],

設(shè)x=16382350221535464479,y=[8479443857936402504],

v=gcd((x+1)/2,([22n-1]+y)/2)=208648999,u= gcd((x-1)/2,([22n-1]-y)/2)=126945596。([u2+v2])=59649589127497217,340 2823669209384634633746074317682114577=59649589127497 217 * 5704689200685129054721。

4.3 算法的效率比較

算法3由于第3)步解方程組需要時間比較多,效率低于算法4,但效率仍然是極高的。從上表可知,對于兩因子費馬數(shù),在已知費馬數(shù)平方和形式的情況下,將其轉(zhuǎn)換成素因子乘積形式的效率是極高的。

5 兩種轉(zhuǎn)換算法在分解多因子費馬數(shù)F12中的應(yīng)用

5.1 素因子乘積形式轉(zhuǎn)換成平方和形式

第一步:利用呂卡定理得到費馬數(shù)F12的兩個小素因子。

由呂卡定理可知費馬數(shù)的素因數(shù)必具k.[2n+2]+l的形式,k從1開始搜索,當k=7時, p1=7*[214]+1=114689且p1| F12,得到F12的第1個素因子p1。將F12除以p1,k又從1開始搜索,當k=1588時,p2= 1588*[214]+1=26017793且p2|(F12/ p1),得到F12的第2個素因子p2。總耗時約為0.03s。

第二步:利用算法1將費馬數(shù)F12的兩個小素因子分解成平方和形式,p1=114689=[2602]+[2172],p2=26017793=[20472]+[46722]。耗時約為1.9s。F12是多因子費馬數(shù),推論1-4并不成立,算法2失效。

第三步:利用性質(zhì)2、性質(zhì)3將費馬數(shù)F12的兩個小素因子乘積C13=p1* p2=2983954661377分解成兩種平方和形式,2983954661377=[15460442]+[7705212],x=770521,y=1546044;2983954661377=[16589192]+[4816042],n=[481604],m=1658919。耗時約為0.02s。

5.2 平方和形式轉(zhuǎn)換成素因子乘積形式

由性質(zhì)2、性質(zhì)3可得到如下四個方程:

ua-vb =n? ?……①

va+ub=m? ?……②

ua+vb=y? ? ……③

va-ub=x? ? ……④

③-①得:2vb= y-n,vb=(y-n)/2;②+④得:2va=m+x,va=(m+x)/2,v=gcd((y-n)/2,(m+x)/2)。

①+③得:2ua= y+n,ua=(y+n)/2;②-④得:2ub=m[-]x,ub=(m[-]x)/2,u=gcd((y+n)/2,(m-x)/2)。

將C13轉(zhuǎn)換成素因子乘積形式,可用如下算法。

算法5描述如下:

1)求出v=gcd((y-n)/2,(m+x)/2);

2)求出u=gcd((y+n)/2,(m-x)/2);

3)得Fn的一個因子([u2+v2]);

4)將Fn分解n=([u2+v2])*[Fn/([u2+v2])],程序結(jié)束。

在已知2983954661377=[15460442]+[7705212],x=770521,y=1546044;2983954661377=[16589192]+[4816042],n=[481604],m=1658919的情況下,v=gcd((y-n)/2,(m +x)/2)=260,u=gcd((y+n)/2,(m -x)/2)=217,p1=[u2+v2] =114689。

∴2983954661377=114689*26017793。

即將C13=2983954661377分解成素因子乘積形式,耗時約為0.02s。

5.3 研究兩種形式轉(zhuǎn)換的意義

費馬數(shù)的分解算法有:橢圓曲線分解算法(分解F10、F11)、連分數(shù)算法(分解F7)、數(shù)域篩算法(分解F9)、Pollard's rho分解算法(分解F8)[3-4]。由文獻[5]F12已經(jīng)分解出六個素因子,還有一個1133位的末尾合數(shù)C1133未分解。即F12 = 114689 * 26017793 * 63766529 * 190274191361 *1256132134125569 * 568630647535356955169033410940867804839360742060818433 * C1133。

上述費馬數(shù)的分解算法:橢圓曲線分解算法、連分數(shù)算法、數(shù)域篩算法、Pollard's rho分解算法對C1133顯然是無效的。如果知道C1133的兩種平方和形式,由算法5可求出C1133的一個素因子p7,且效率極高,利用Miller–Rabin算法[6]、ECPP、APRCL、AKS[7]等算法判定C1133/ p7的素性,如果為C1133/ p7素數(shù),則F12完全分解,否則求出C1133/ p7的兩種平方和形式,由算法5可求出C1133/ p7的一個素因子p8,如此循環(huán)直至C1133完全分解。

將C1133這樣的大整數(shù)分解為平方和形式尚無有效算法,如能像算法2一樣找出多因子費馬數(shù)的素因子平方和變量(u、v、a、b)之間的比例關(guān)系,由p1、p2、p3、p4、p5、p6求出C1133的平方和形式,是一種可能途徑。這為分解費馬數(shù)提供了新的思路和可能性。

C++中用unsigned _int64表示整數(shù)范圍為[0,[264]],即最大整數(shù)為18446744073709551616,費馬F6= 18446744073709551617大于此最大整數(shù)。NTL庫是一個用于大整數(shù)運算的C++庫,可以用于任意長度的整數(shù)計算及整數(shù)的多項式算法,以上實驗結(jié)果均在win10系統(tǒng)、VS 2017軟件+NTL、intel 酷睿處理器i3? @3.7G hz /8GB內(nèi)存條件下取得。

參考文獻:

[1] 賈耿華.關(guān)于費馬數(shù)的研究[D].成都:成都理工大學,2006.

[2] 劉培杰.費馬數(shù)[J].自然雜志,1991,13(8):608-612.

[3] 周利榮,胡天磊.基于萊梅素數(shù)判定定理的安全素數(shù)構(gòu)造算法[J].計算機工程與應(yīng)用,2016,52(13):152-156,182.

[4] 周利榮,胡天磊.Demytko素數(shù)構(gòu)造算法優(yōu)化及應(yīng)用研究[J].電腦編程技巧與維護,2018(6):54-59.

[5] Wilfrid Keller.Fermat numbers website data[EB/OL].[2020-12-20].http://www.prothsearch.com/fermat.html.

[6] Ishmukhametov S T,Rubtsova R,Savelyev N.The error probability of the miller-Rabin primality test[J].Lobachevskii Journal of Mathematics,2018,39(7):1010-1015.

[7] 魏成行.素性檢測算法研究及其在現(xiàn)代密碼學中的應(yīng)用[D].濟南:山東大學,2009.

【通聯(lián)編輯:謝媛媛】

主站蜘蛛池模板: 免费毛片网站在线观看| 婷婷六月在线| 婷婷色中文| 日韩欧美国产三级| 亚洲最大福利视频网| 99热国产这里只有精品无卡顿"| 免费观看亚洲人成网站| 伊人精品成人久久综合| 国产99视频精品免费视频7| 2024av在线无码中文最新| 在线观看精品自拍视频| 国产伦精品一区二区三区视频优播| 欧美亚洲欧美| 99性视频| 97免费在线观看视频| 91无码人妻精品一区| 2021天堂在线亚洲精品专区| 狠狠操夜夜爽| 国产簧片免费在线播放| 国产人人乐人人爱| 成人免费视频一区| 国产免费高清无需播放器| 老司机aⅴ在线精品导航| 欧美三级不卡在线观看视频| 亚洲一区二区三区香蕉| 日韩欧美成人高清在线观看| 国产制服丝袜无码视频| 精品久久久久无码| 亚洲美女AV免费一区| 亚洲天堂在线免费| 19国产精品麻豆免费观看| www.亚洲天堂| 2020亚洲精品无码| 不卡网亚洲无码| 亚洲精品桃花岛av在线| 高清久久精品亚洲日韩Av| 亚洲资源站av无码网址| 亚洲大学生视频在线播放| 国产成人无码久久久久毛片| 67194亚洲无码| 国产免费精彩视频| 国产亚洲欧美在线人成aaaa| 中文字幕 91| 国产不卡网| 视频一区亚洲| 秋霞一区二区三区| 黄色三级网站免费| 日本日韩欧美| 国产亚洲精久久久久久久91| 一本综合久久| 国产成人精品高清不卡在线| 伊人国产无码高清视频| 国产欧美日韩精品综合在线| 亚洲福利片无码最新在线播放| 强乱中文字幕在线播放不卡| 天天色天天综合| 91色老久久精品偷偷蜜臀| 亚洲av无码片一区二区三区| 国产黄视频网站| 77777亚洲午夜久久多人| 久久国产亚洲偷自| 国产丝袜无码精品| 亚洲无线视频| 久久午夜夜伦鲁鲁片无码免费| 成人无码区免费视频网站蜜臀| 欧美成人在线免费| 暴力调教一区二区三区| 88av在线播放| 日韩一区二区三免费高清| 99久久无色码中文字幕| 免费一级α片在线观看| 国产免费网址| 亚洲美女AV免费一区| 亚洲成在线观看| 日本道中文字幕久久一区| 日本91视频| 啪啪国产视频| 97一区二区在线播放| 四虎永久在线精品国产免费| 日韩大片免费观看视频播放| www.国产福利| 国产在线精品99一区不卡|