Anda di halaman 1dari 7

Zachary Candelaria

Research report.

Factoring is becoming more and more important in the technology age, because factoring is used to test the security of an encryption. Encryption is the process of taking something that is plain text like Hello orld!", then turning it into encrypted text like #$%&'ct $#(xh')" so that only the

person ment to read the message can understand it. Encryption is used in many of todays technologies, such as* banking, online shopping, email, and anything else you +ant to keep pri,ate. -round .#./$ of all internet user0s buy products online. 1Resse, #2334 5he amount of people +ho use this ser,ice it is ,idal that encryption stays secure, but another intreasting thing about factoring is that it is one of the most computer intensi,e tasks, in #262 a six7institution reasearch team lead by 5. 8lein9ung factored the R:-7./; challenge number, 5he effort took almost #222 #.#<H=7opteron7C>? years, but 9ust short of ( years calender time.1citation4 @ecause of the intensity of the factoring, it opens up the possiblilty that if this proccess became more efficient, that it +ould open ne+ door +ays into the relm of computing. For this study A used the Bumber Field :ie,e eCuation for factoring these large numbers, the reasoning behind che+sing this methoed is that it is the most efficent methoed for factoring. 5he design goal of the program +as to emplement the Bumber Field :ie,e into a multithread7able system, this +ould allo+ for prossesors to take ad,anted of things such as hyper7threading and ,irtual cores. Af the implementation of the threading, along +ith the Bumber Field :ie,e, it could lead to better understanding of ho+ to fully utili=e a single computer. 5he main issue of this proccess +as the fact that most factorisation is done +ith multiple computers and because of the high strain on the computer it +ould cause the computer to crash. -nother issue +as that their +ere 0racing0 threads 1this is +ere you ha,e t+o threads, and if one finishes before the other, the one that finished first has to +ait for the other one to finish.4 5heir +erent many +ays to pre,ent this, the +ay that seemed best fitting to a,oid

this problem +as to make another thread in side of the intial thread to start +hile it +as +aiting for the other thread.

Daterials and Dethods* C>? +ith hyper7threading. Bumber Field :ie,e, more stuffs goes here A thinkE

5he results of this sho+ed that +hile the Bumber Field :ie,e is highly efficent, it still takes multiple computers 1paralell computing4 to factor these large numbers, because of this most of the functions of the programm do not +ork +ell +ithout this assistance, it is also imporatant to note, that +ith out a large allocation of memory the matricys generly bug out, and cause a crash. 5he reason for this +as that their +as not maximum for the matricies, their also +as a memory dump in the system that +ould occastionly cause dumpage of imporatant numbers that +ere being held to be recalled at a latter time.

Ferylong.cpp also cause issues +ith the fact that it +as its o+n integer type, this is mainly because coding errors, because of these coding errors their +ere times the integer +as to big and the compiler assumed it +as a =ero instead of the actualy number.

BumberField.cpp had issues cumminicating +ith buildDatrix.cpp, and :parseDatrix.cpp, because +ith the basis of the BumberFild is that you assume that 3, alpha, alpha'#, G... alpha'1degree7 34, then +e the programs has to kno+ ho+ to exprees alpha'k in terms of these, for k HI degree, i.e. alpha'1kJdegress4 I summ 1A I 2, degrees734 aKkLKiL M alpha'3. @ecause of this the programmer

needs to set up a matrix of rational numbers.

if 1!fbFile4 N factor@aseO I ne+ Factor@ase1minOpolyO, 32222P, Qfb.datQ4E R else N try N factor@aseO I ne+ Factor@ase1fbFile4E R catch 1...4 N std**cerr SS QBumberField**BumberField * caught exceptionQ SS std**endlE TTdelete factor@aseOE factor@aseO I ne+ Factor@ase1minOpolyO, 3/22P, fbFile4E TTfactor@aseO7H+rite1fbFile4E R R this section sho+s +ere and ho+ it calculates the factors base. N const long double UFERFPU OPADA5 I 3e322E long double aa I a.getOlongOdouble14E long double bb I b.getOlongOdouble14E

long double delta I 3.2E if 1fabs1aa4 H UFERFPU OPADA5 VV fabs1bb4 H UFERFPU OPADA54 N delta I UFERFPU OPADA5E aa TI UFERFPU OPADA5E bb TI UFERFPU OPADA5E R complexSlong doubleH alphaO9 I con9ugate194E long double mod# I aa M aa J bb M bb M std**norm1alphaO94 7 #.2 M aa M bb M alphaO9.real14E return 1long double4log11double4mod#4 T #.2 J 1long double4log1delta4E R 5his +ill approximate a 7 alphaO9 M b +here alphaO9 is 9th con9ugate

N if 1p3.first S p#.first4 return 3E if 1p3.first H p#.first4 return 2E if 1p3.second S p#.second4 return 3E return 2E R this orders by a then by b +ithin a. double logC1double x, int C4 N return log321x4 T log3211double4C4E R

:ie,er**:ie,er1const std**stringW configOfile4 * relfileO124, algOfactorObaseO124, ratOfactorObaseO124, sie,eOarrayOsi=eO124, sie,eOarrayO124 N :ie,eConfig config1configOfile.cOstr144E config.display14E f3O I config.f314E f3dO I >olynomialSFeryPongH**con,ertOtoOdouble1f3O4E f#O I config.f#14E f#dO I >olynomialSFeryPongH**con,ertOtoOdouble1f#O4E @3O I config.@314E P3O I config.P314E P>3O I config.P>314E @#O I config.@#14E P#O I config.P#14E P>#O I config.P>#14E POP>O3O I P3OE for 1int i I 2E i S P>3O 7 3E iJJ4 POP>O3O MI P3OE POP>O#O I P#OE for 1int i I 2E i S P>#O 7 3E iJJ4 POP>O#O MI P#OE relationOfileO I config.REP-5AUBOFAPE14E :AEFEO@U?BXO-XY?:5DEB53O I config.:AEFEO@U?BXO-XY?:5DEB5314E :AEFEO@U?BXO-XY?:5DEB5#O I config.:AEFEO@U?BXO-XY?:5DEB5#14E :D-PPO>RADEO@U?BXO I config.:D-PPO>RADEO@U?BX314E RE:AEFEO I config.RE:AEFE14E

TT generate factor base for f, i.e. pairs 1p,r4 +ith p SI @, f1r4 I 2 mod p TT should probably be done as a separate step and sa,ed to a file std**string tmp I config.:AEFEOAX14 J Q.fb.datQE const charM algObaseOfile I tmp.cOstr14E std**string tmp3 I config.:AEFEOAX14 J Q.rb.datQE const charM ratObaseOfile I tmp3.cOstr14E try N algOfactorObaseO I ne+ Factor@ase1algObaseOfile4E R catch 1...4 N delete algOfactorObaseOE algOfactorObaseO I ne+ Factor@ase1f3O, @3O, algObaseOfile4E R

try N ratOfactorObaseO I ne+ Factor@ase1ratObaseOfile4E R catch 1...4 N delete ratOfactorObaseOE ratOfactorObaseO I ne+ Factor@ase1f#O, @#O, ratObaseOfile4E R

R 5his +ill calculate log of x to base C

@iblography http*TTeprint.iacr.orgT#232T22/.pdf http*TT+++.emarketer.comTblogTindex.phpTCuick7stat7.#/7internet7users7shop7online7#233T

Anda mungkin juga menyukai