Faktorisointi
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.
Käytännön sovellus
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.
Uutta kehitystä tänään
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.
Vaikeus ja monimutkaisuus
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.
Kokonaislukutekijöiden muodostusalgoritmi
Erikoistarkoitusalgoritmi
Therunningtimeofaspecialfactorizationalgorithmdependsonitsownunknownfactors:size,type,etc.Therunningtimeisalsodifferentbetweendifferentalgorithms.
Trialdivision
Pyörän hajoaminen
PollardRHO-algoritmi
Algebraicgroupfactorizationalgorithms,includingPollard'sp−1algorithm,Williams'p+1algorithmandLenstraellipticcurvedecompositionmethod
Fermatprime-luvun määritysmenetelmä
Eulerin tekijänmuodostusmenetelmä
Erikoisnumerokentän suodatusmenetelmä
Yleiskäyttöinen algoritmi
Therunningtimeofgeneralpurposealgorithmonlydependsontheintegertobedecomposedlength.ThisalgorithmcanbeusedtodecomposeRSAnumbers.Mostgeneral-purposealgorithmsarebasedonthesquarecongruencemethod.
Diksonalgoritmi
Jatkettujen fraktioiden hajottelumenetelmä (CFRAC)
Toissijainen seulontamenetelmä
Rationalscreening-menetelmä
Commonnumberfieldscreening-menetelmä
Shanksin neliön muotokerroin (SQUFOF)
Muut algoritmit
Sauerin salgoritmi