Факторизация
Thecompletelistoffactorscanbededucedbasedonthefactorization,increasingthepowerfromzerountilitisequaltothisnumber.Forexample,because45=32×5,45canbe30×50,30×51,31×50,31×51,32×50,and32×51,or1,5,3,9,15,and45aredivisible.Correspondingly,thedivisordecompositiononlyincludesdivisorfactors.
Практическо приложение
Giventwoapproximatenumbers,itiseasytomultiplythem.However,giventheirproducts,itisnotsoeasytofindtheirfactors.Thisisthekeytomanymoderncryptosystems.Ifaquickwaytosolvetheintegerfactorizationproblemcanbefound,severalimportantcryptographicsystemswillbebreached,includingtheRSApublickeyalgorithmandtheBlumBlumShubrandomnumbergenerator.
Althoughrapiddecompositionisoneofthewaystobreakthesesystems,therearestillothermethodsthatdonotinvolvedecomposition.Sothesituationmaybecomelikethis:theintegerfactorizationproblemisstillverydifficult,butthesecryptosystemscanbebrokenquickly.Somecryptosystemscanprovidestrongerguarantees:ifthesecryptosystemsarecrackedquickly(thatis,theycanbecrackedwithpolynomialtimecomplexity),thealgorithmsforcrackingthesesystemscanbeusedtoquickly(withpolynomialtimecomplexity)decomposeintegers..Inotherwords,crackingsuchacryptosystemwillnotbeeasierthanintegerdecomposition.SuchcryptosystemsincludetheRabincryptosystem(avariantofRSA)andtheBlumBlumShubrandomnumbergenerator.
Ново развитие днес
In2005,the663binarydigitslongRSA-200aspartofpublicresearchhasbeendecomposedbyageneral-purposemethod.
Ifalargeonehasnbinarydigitsinlength,itistheproductoftwodivisorsofalmostthesamesize.ThereisnogoodalgorithmtousepolynomialtimecomplexityDecomposeit.
ThismeansthatthereisnoknownalgorithmthatcandecomposeitinO(n)(kisaconstant)time.ButthealgorithmisalsofasterthanΘ(e).Inotherwords,thebestalgorithmsweknowarefasterthanexponentialtimeandslowerthanpolynomialtime.Thebestknownasymptoterunningtimeisthegeneralnumberfieldsiftingmethod(GNFS).Thetimeis:
Forordinarycomputers,GNFSisthebestweknowtodealwithnbinarydigitsapproximatelyNumberofmethods.However,forquantumcomputers,PeterSauerdiscoveredin1994analgorithmthatcansolvethisprobleminpolynomialtime.Iflargequantumcomputersarebuilt,thiswillhaveveryimportantimplicationsforcryptography.ThisalgorithmonlyneedsO(n)intimeandO(n)inspace.Only2nqubitsareneededtoconstructsuchanalgorithm.In2001,thefirst7-qubitquantumcomputerwasthefirsttorunthisalgorithm,anditsdecompositionnumberwas15.
Трудност и сложност
Itisnotknownexactlywhichcomplexityclasstheintegerdecompositionbelongsto.
Weknowthatthejudgmentquestionformofthisquestion("IsthereadivisorofNsmallerthanM?")isbasedonNPandinverseNP.Becausewhethertheanswerisyesorno,wecanuseaprimefactorandtheprimefactorprooftoverifytheanswer.AccordingtotheShueralgorithm,thisproblemisinBQP.MostpeoplesuspectthatthisproblemisnotinthethreecomplexitycategoriesofP,NP-complete,andanti-NP-complete.IfthisproblemcanbeprovedtobeNP-completeoranti-NP-complete,thenwecanconcludethatNP=anti-NP.Thiswillbeaveryshockingresult,andthereforemostpeopleguessthattheproblemofintegerfactorizationisnotintheabove-mentionedcomplexitycategory.Therearealsomanypeoplewhotrytofindpolynomialtimealgorithmstosolvethisproblem,buttheyhavenotbeensuccessful.Therefore,mostpeoplesuspectthatthisproblemisnotinP.
Interestingly,determiningwhetheranintegerisaprimenumberismuchsimplerthandecomposingtheinteger.TheAKSalgorithmprovesthattheformercanbesolvedinpolynomialtime.TestingwhetheranumberisaprimenumberisaveryimportantpartoftheRSAalgorithm,becauseitneedstofindaverylargeprimenumberatthebeginning.
Алгоритъм за целочислена факторизация
Алгоритъм със специално предназначение
Therunningtimeofaspecialfactorizationalgorithmdependsonitsownunknownfactors:size,type,etc.Therunningtimeisalsodifferentbetweendifferentalgorithms.
Trialdivision
Разграждане на колелото
Алгоритъм на PollardRHO
Algebraicgroupfactorizationalgorithms,includingPollard'sp−1algorithm,Williams'p+1algorithmandLenstraellipticcurvedecompositionmethod
Метод за определяне на елемент на Fermat
Метод на факторизация на Ойлер
Специален метод за филтриране на числово поле
Алгоритъм с общо предназначение
Therunningtimeofgeneralpurposealgorithmonlydependsontheintegertobedecomposedlength.ThisalgorithmcanbeusedtodecomposeRSAnumbers.Mostgeneral-purposealgorithmsarebasedonthesquarecongruencemethod.
Диксоналгоритъм
Метод на продължително фракционно разлагане (CFRAC)
Метод на вторичен скрининг
Рационален скрининг метод
Метод за скрининг на общо числово поле
Факторизация на квадратни форми на Шанкс (SQUFOF)
Други алгоритми
Алгоритъм на Зауер