WWW.DISSERS.RU


...
    !

Pages:     || 2 | 3 |
-- [ 1 ] --

ac III pnopaece aop aa 11 Maeaece oco 11.1 Teop opa Copeea eop opa epe a oyoaa 1948 oy oo . eoo (Claude Elmwood

Shannon) [1431, 1432]. (Eo pao epea IEEE Press [1433].) C aeaeco o pe a ea xopoo paccopea [593]. B o ae oo cxe ao aa ocoe e.

mponu u eonpeeeocm Teop opa opeee oeco opa cooe a aoe oeco , eoxooe opoa cex oox ae cooe, ca ce cooe paoepo.

Hapep, o ee ae ax ocaoo cooa p a opa, a a c opa oe aopoaa 3 a:

000 - Bocpecee 001 - oee 010 - Bop 011 - Cpea 100 - eep 101 - a 110 - Cyoa 111 - He coyec Ec a opa a pecaea cooecy cpoa ASCII coo, oa aa oe eca a, o e coepaa oe opa. Aaoo, oe a ax "o" coe p oo o opa, xo a opa oe xpac a oo yx 7-aox ASCII cpo: "MHA" "EHHA".

opao, oeco opa cooe M epec poe cooe, ooaaeoe a H(M). po cooe, opeeeo o, cocae1 , a po cooe, opeeeo e ee, eoo ee, e 3 a. B oe cyae po cooe, epea ax, paa log n, e n - o oeco oox ae. p o peoaaec, o ce ae paoepo.

po cooe ae ec epo eo eopeeeoc. o oeco o opoo eca, oopoe yo pacp poece cooe, o ya ec op ec. Hapep, ec o poeca "QHP*5M '' oaae o "MHA", o "EHHA", o eopeeeoc cooe paa 1. poaay yo ya oo o pao pa , o pacp c ooee.

Hopa a aoo a opa a paa r = H(M)/N e N - o a cooe. p ox N opa ooo acoo a pae pae a e o 1.0 /ya o 1.5 /ya. eo [1434] oop, o po ac o eca. o peo o oaa, o opa 8-yex oo paa 2.3 /ya, o ee aee aae axoc ey 1.3 1.5 16-yex oo. Toac aep (Thomas Cover) cooa poy eoy oe oapy, o po paa 1.3 /co [386]. (B o e yy cooa aee 1.3.) Aco a opa a paa acaoy oecy o, oopoe oe epeao a coo p yco, o ce oceoaeoc coo paoepo. Ec e L coo, o acoa opa paa:

R = log2 L o acy po oex coo.

acoo a c 26 ya acoa opa paa log 26, ooo 4.7 /ya. Bac e o o y, o ecea opa acoo a aoo ee, e acoa - ececee oaa coo ooc. ooc a, ooaaea D, opeeec a:

D=R - r Ca, o opa acoo a paa 1.3, ooc coca 3.4 /ya. o oaae, o a a aca ya coep 3.4 a oo opa.

cooe ASCII, cocoeo oo acx y, oeco opa a a a c o cae 1.3 a. a, ao ae coepc 6.7 a oo opa, o ae oy ooc 0.84 a opa a ASCII-eca po 0.16 a opa a ASCII-eca. To e cooee, apaoe oo BAUDOT, c 5 a a co, ee ooc 0.74 a a p o 0.26 a a . poe, yya, ca opapoae e peya.

eonacocm punmocucme eo opee oy aeaecy oe o eoacoc pocce. Cc pao poaaa coco opeee a, opoo eca P oo, pyoo. Oao, eo oe ycpo eoopa epooca opa o P: ec o op ec opoa yo, ee eco, a epox a ee e-y.

B peao poaae y poaaa ec eoopa epooca opa o P ee o aaa pao. O, copee ceo, ae opoo eca. o oaae opeeeo, cao c ooc. Ec o cooe oa, oo, ooo, aaec coa "opoo o". Opeeeo, "opoo o" aoo epoee, e "e8T&.g [,m". e poaaa ec eee epooce, cax c a oo op eco. B oe oo, py oox opx eco ye pa o ope (, o pae epe, eca epo).

Cyecy pocce, ocae coepeo eoacoc. Tao ec poccea, oopo poec e ae ao opa o opo ece (poe, ooo, eo ). eo eopeec oaa, o aoe ooo oo, ec co oox e ae eo, a co oox cooe. py coa, oe e opoe caoo cooe e oe co oac oopo. o oaae, o eceo cceo, oopa ocae eao eoacoc, oe oo poccea c oopao ooo (c. pae 1.5).

a cee eao eoacx cce, poec eeo ae opeeey opa o c o oecye poece. Xopo popaec aop coxpae y o opa, xopo poaa oyec o opae opeee opoo eca.

poaa coy ececey ooc a yee ca oox op x eco. e oee , e ee eo poaapoa. o o pe oe popa ece peaa epe poae coy popa ca yee paepa eca. Cae yeae ooc cooe ece c oeo pao, eoxo eo poa ep poa.

po pocce ec epo paepa pocpaca e, K. Oa peo paa oa py ca e o ocoa 2:

H() = log2 K po pocce c 64-o o paa 64 a, po pocce c 56-o o paa 56 a. B oe cyae e oe po, e eee oa poccey.

Paccmoue yuaocmu cooe o n co pax e, oope pacpy poec cooe ao-o occe op ec a e opaoo opoo eca (apep, aco), opeeec ceye opyo [712, 95]:

2H(K)-nD- eo [1432] opee paccoe yaoc, U, aaeoe ae oo yaoc, a aoe peoe oeco poeca, oopoo cya peao opa (po) cooecy e opo ece c po a poa paec cy coyex o poeca.

ae o oaa, o ee cc ca, o poec, oope ee pacco yaoc, o o pacpoa oo o occe cocoo. poec, oope aeo opoe pacco yaoc, copee ceo, oo pacpoa eco cocoa, a oopx oe pae, a opao oece eoacoc, oca poa epe opo paoo op oo eca.

oca cepx pocce paccoe yaoc opeeec a po p o cce eea a ooc a.

U = H()/D Paccoe yaoc ec e o, a epooc aee. Oo ooe oe aoe oeco poeca, p cp oopoo pyo co eec, epoo, oo o pay coco eppoa. Oo e oe paccoe yaoc, e ye poccea. DES c 56-o o aooo cooe, acaoo coa ASCII, paccoe ya o c peo pao 8.2 coa ASCII 66 . B 1405- pee pacco yaoc pax a. Pacco yaoc eoopx accecx pocce oo a [445].

Paccoe yaoc epe e oeco poeca, yoo poaaa, a oeco poeca, eoxooe eceoc peyaa poaaa. poccea oe c eo eya, ae ec eopeec ee ooo oa, coy aoe oeco poeca.

(eco co o eca oepeco eop pecco popa [230, 231, 232, 233, 234, 235].) Paccoe yaoc poopoao ooc. Ec ooc cpec y, ae pa p oe e oac cp c cooae oo poeca.

Ta. 11-1.

Pacco yaoc eca ASCII, apoaoo aopa c pao o a a a ( ax) Paccoe yaoc ( coax) 40 5. 56 8. 64 9. 80 11. 128 18. 256 37. eo opee poccey c ecoe paccoe yaoc, a oaay eao ao. Opae ae, o eaa poccea e oaeo ec coepeo, xo coe p ea poccea oaeo ye eao. Ec poccea oaae eao ao, o ae p yceo poaae ocaec eoopa eopeeeoc, ec occaoe op ec pea op eco.

pamuecoe ucnooaue meopuu uopauu Xo o e ooe eopeecoe aee, pea poaa coye x ocaoo peo. Paccoe yaoc apapye eaeoc cce, ec oo co ao, o eo cooe aee e apapye eoacoc. Hecoo paecx aopo acoo e oac aay, oeee apaepo eop opa oo cococoa oy eoopx poax coo e . Oao, ooe coopae eop opa oa oe, apep, opeee o peo aope peoeyeoo epaa ee e. poaa ae coy p e c o e ae cac eop opa, o pa aoee epcee apae aaa. coae, oco epayp o pee eop opa poaae ocaec cepeo, a ocoooaay paoy Aaa Tpa (Alan Turing), aca y 1940.

ymaua u uyu y oco eoa acpo ooc opoo eca cooe, coaco eoy, cya yaa y [1432].

yaa acpye c ey op eco poeco. Oa apye o a poece ooc cacece aooepoc. poce ye coa yay ec ocaoa. B poco ocaooo pe, apep, pe eap, ce oaoe y opoo eca aec py oao ya poeca. Copeee ocaooe p c oee co: o opoo eca aeec oo poeca, coco ae ee c c a o opoo eca a. Taoo a ocao oo eocaoo - co a op eeo oa xoe opo poo o.

y pacceae ooc opoo eca, pacpocpa ee o cey poecy. poa a y opeyec eao pee oca ooc. poce cocoo coa y ec paco (ae aaea epecaoo). poco epecaoo p oo epecae y opoo eca. Copeee p ae o ay epecaoy, o o ae coy pye op y, oope oo papoca ac cooe o cey cooe.

oooe p coy oo yay, xo p cxe c opao c oa y.

oe aop pe yay, y. a pao, y cay o cee ecoo o a (xo p c oo epecaoo oaac oycoee, e pye eoepe cce).

11.2 Teop cooc Teop cooc oeceae eooo aaa ceo cooc pax popa ecx eoo aopo. Oa cpaae popaece eo aop opeee x eoacoc. Teop opa cooae a o o, o ce popaece aop (poe oop a ox ooo) oy oa. Teop cooc cooae, oy o oa o eoo cep ceeo.

Coocm aopumo Cooc aopa opeeec ce ooc, eoxo eo oe.

Bcea cooc aopa aco epec y apaepa: T (peea cooc) S (pocpacea cooc, peoa a). T, S oo pecac e y o n, e n - o paep xox ax. (Cyecy pye coco epe cooc: oeco cya x , pa aaa c, oe ax ..) Oo cea cooc aopa paaec c oo oa "O ooo", .e oc a ec opo e ceo cooc. o poco e paoe y cooc, cpee ceo pacy c poco n, ce e eo opa oppyc. Hapep, ec peea cooc aoo aopa paa 4n2 7n 12, o cea cooc opa n2, acaea a O(n2).

Bpeea cooc epea a opao e ac o peaa. He yo a ooe pe oe pax cpy, co o, coyex pecae pax epeex, ae copoc poeccopa. O oep oe a 50 poeo cpee pyoo, a y peeo a ax oe a paa pe, o cooc aopa, oeea o py e, e ec.

o e yeco, p paoe c aopa acoo co, a ocae o e, ce p o oo peepe (c ooc o ocooo oe) cpae co cooc o opy e .

a oa ooe ye, a oe xox ax e a peoa pee oey a . Hapep, ec T= O(n), o yoee xox ax yo pe oe aopa. Ec T=O(2n), o oaee ooo a xo a yo pe oe aopa.

Oo aop accpyc cooec c x peeo pocpaceo cooc.

Aop aa oco, ec eo cooc e ac o n: O(1). Aop ec e, ec eo peea cooc O(n). Aop oy apa, yec .. Bce a op - ooa, x cooc - O(nm), e m - ocaa. Aop c ooao peeo cooc aac aopa c ooa peee.

Aop, cooc oopx paa O( tf(n)), e t - ocaa, oa, e 1, a f(n) - eoopa oo aa y o n, aac coea. ooeco coeax aopo, co oc oopx paa O(cf(n)), e e c - ocaa, a f(n) opacae cpee, e ocoa, o eeee, e ea y, aaec cyepooa.

B eae, popa xoe yepa, o aop, y oa cpoepoaoo aopa poa, oaae coeao peeo cooc. Ha pae, cae ce yepe, oope oy cea p eye coco eop ceo cooc, e opy "ce ece aop cp ao pocce oaa cyepooao peeo cooc".

To ec, ece a aop cp oaa cyepooao peeo cooc, o oa eooo oaa, o e oe op aop cp c ooao peeo cooc.

Pae eop ceo cooc ooo oa-y oo coa aop, oopx cyecoae aopo c ooa peee cp oe ceo c aeaeco ooc.

C poco n peea cooc aopo oe ca acoo opoo, o o oe a pa ecy peayeoc aopa. B 9- oaao pe oe pax acco aopo p n pao ooy oy. B ae oppyc ocoe e, o oaao, oey o oo e a.

Ta. 11- Bpe oe pax acco aopo acc Cooc oeco oepa n=106 Bpe p 106 oepa ceyy ocoe O(1) 1 1 c ee O(n)106 1 c apae O(n2)1012 11.6 yece O(n3)1018 32000 e coeae O(2n)10301030 B 10301006 pa oe, e pe cyecoa ceeo p yco, o ee pee aeo oepa ec poceya, oep oe o oco aop a poceyy, e - a ceyy, a apa - a 11.6 . Bo e e yecoo aopa opeye 32 c e, o pe peayeo, oep, ocpy o o poo ooa ey pooco ceyey eooy epoy, oe oo oy peee.

Boee coeaoo aopa eo, eaco o cpao poca o oepo, apaeo opao oao c oae cyeppayo.

Be a poey cp aopa poa pyo co. Bpeea cooc aoo cp poopoaa oecy oox e, oopoe coeao ac o a. Ec n n - a a, o cooc cp pyo co paa O(2 ). B paee 12.3 paccapaec cycc o cooa DES 56-ooo a eco 112-ooo. Cooc cp pyo co p 56 oo e cocae 256, a p 112-oo e - 2112. B epo cyae cpe ooo, a o o po - e.

Coocm npoe Teop cooc ae accpye cooc cax poe, a e oo cooc opex aopo pee poe. (O eee y ey c [600, 211, 1226], c. ae [1096, 27, 739].) Teop paccapae aoe pe oe a, eoxoe pee caoo py o o apaa poe a eopeeco oepe, eco a aa Tpa. Maa Tpa pecae coo oe aoa c ecoeo eo a e-ac ec peaco oe ce.

poe, oope oo pe c oo aopo c ooa peee, aac p e ae, ooy o payx xox ax oo oy pee a payoe pe. (Tooe opeeee "payoc" ac o opex ocoec.) poe, oope eooo pe a ooaoe pe, aac epeae, ooy o cee x pee cpo caoc e oo. Hepeaee poe oa aa py. poe, oope oy pee oo c oo cyepooax aopo, ceo epeae, ae p ooceo a x aex n.

o ee xye, Aa Tp oaa, o eoope poe pao epape. ae o eac o peeo cooc aopa, eo oo coa aop pee x poe.

poe oo pa a acc cooec co cooc x pee. Cae ae acc x peoaaee coooe oaa a 10-. ( ecac, aa ac x yepe oe oaaa aeaec.) EXPTIME PSPACE-oe PSPACE NP-oe NP P Pc. 11-1. acc cooc Haxoc cao y acc P coco cex poe, oope oo pe a ooaoe pe. acc NP - cex poe, oope oo pe a ooaoe pe oo a eeep poao ae Tpa: apa oo a Tpa, oopa oe ea peooe. M a a peoaae peee poe - o "yao yaa", o epepa ce peooe apa eo - poepe coe peooee a ooaoe pe.

Baoc NP popa coco ceye: oe cepe aop aop c o p a oy oa a eeeppoaoe ooaoe pe. aoo p o eca C, poaa poco yaae op ec, X, , k, a ooaoe pe o e aop poa co xoa X k poepe, pae peya C. o ee aoe eopeecoe aee, ooy o ycaaae epx pay cooc poaaa x aopo. Ha pae, oeo e, o oe a ooaoe pe eeppoa aop, oop e p oaa. oee oo, o apye epe o ce acca po, opeo, o e pe oopaox ooo - oo C cyecye oeco ap X, k, ax C p oe aopa poa, o oco x X peca coo ecccee, eoyce ope ec.

acc NP ae acc P, a a a poea, peaea a ooaoe pe a eepp o ao ae Tpa, ye ae peea a ooaoe pe a eeeppoao ae Tpa, poco poycaec a peo oe.

Ec ce NP poe peac a ooaoe pe a eeppoao ae, o P = NP. Xo aec oe, o eoope NP poe aoo coee pyx (cpe aopa poa pyo co po poa poooo oa poeca), oa e o oaao, o P NP ( o P = NP). Oao, oco e, paoax a eope cooc, yee, o acc epa.

o yeo, oo oaa, o opee NP-poe acoo e py, a a po e a oo acca. Ce y (Steven Cook) oaa [365], o poea Booc (Satisfiability problem, ao paoe oecoe paee, cyecye coco pco pae ae xo eo epee a, o ce paee cao co?) ec NP-oo. o oaae, o, ec po ea Booc peaec a ooaoe pe, o P = NP. Haoopo, ec oe oaao, o o poe acca NP e cyecye eeppoaoo aopa c ooa peee pee, oaaeco oae, o poe Booc e cyecye eeppoaoo a o pa c ooa peee pee. B NP e poe pyee, e poea Booc.

C ex op, a ocoooaaa paoa ya a oyoaa, o oaao, o cyecye oec o poe, aex poee Booc, co x epece [600], p pepo pee e. -a aeoc oaa, o poe ae c NP-o, o xo acc NP a e co, a a poea acca NP. Ec a oaaa x peaeoc a eepp o aoe ooaoe pe, opoc P po NP pee. Bopoc, epo P = NP, ec e pa epee opoco eop ceo cooc, e oaec, o o ye pee aee pe. Ec o-o oae, o P = NP, o oa ac o cae eyo: a o c oc paee oe acc po pao aac a eeeppoaoe ooaoe p e . Ec P = NP, o o cpac ca, eeppoa aopa.

Cey epapx cooc e acc PSPACE. poe acca PSPACE oy pee ooao pocpace, o e oaeo a ooaoe pe. PSPACE ae NP, o p poe PSPACE ayc coee, e NP. oeo, o oa eoayeo. Cyecye acc poe, a aaex PSPACE-ox, oaax cey coco: ec a x ec NP poeo, o PSPACE = NP, ec a x ec P-poeo, o PSPACE = P.

aoe, cyecye acc poe EXPTIME. poe peac a coeaoe pe. M o e eceo oaao, o EXPTIME-oe poe e oy pee a eepp o aoe ooaoe pe. Tae oa ao, o P e pao EXPTIME.

NP-noe npoe Ma p (Michael Carey) oco (David Johnson) coca cco oee e 300 NP-ox poe [600]. Bo eoope:

poea yeecyeo ooepa. yeecyey ooepy yo oce pa e opoa, coy oo o a c op (cyecye acaoe paccoe, oopoe o o e poexa). Cyecye appy, oo ey oce a oo oo o pa, c oy o ece a c op? (o ooee poe aooa y - c. pae 5.1.) poea pooo paa. B oae n y, n e n oo (ceo, pao, oo yoo). Ec cco papeex pao, ac oopoo coco ooo y, oo e ooo pecppyeo oa. a o cco poe, ooo ocpo n pao a, o o o coeac pao oo c o eoeo pecppoa oo o pa?

Tpoa ooc. Ec cco n oecx pae, aoe c pe epee. Hapep:

ec (x y) o z, (x w) (e z), ec ((e u e x) (z (u e x))) o (e z u) x), .. Cy ecye pae ae cex epeex, o ce yepe c? (o a c cya yoyo e poe Booc.) 11.3 Teop ce o e a o eop ce, ooy oo apoca p e, coyex popa. Ec a yo opooe aeaecoe oee eop ce, opaec oo x : [1430, 72, 1171, 12, 959, 681, 742, 420]. Mo a o aeae oex oe c [971, 1042].

C. ae [88, 1157, 1158, 1060].

Apuemua emo B ce y aeay eo oe. oa ee aa "apeo aco". Ec Mpe ca a a, o oa ye oa 10:00, ooaa a 13 aco, o oa oa pe oo, a coo e oe ee oecx pa? o apea o oy 12. aa p o oy 12 pao 11.

(10 13) mod 12 = 23 mod 12 = 11 mod py cocoo aca o ec yepee o aeoc 23 11 o oy 12:

10 13 11 (mod 12) B ocoo, a b (mod n), ec a = b kn eoopoo eoo k. Ec a eopaeo b axoc ey 0 n, oo paccapa b a ocao p ee a a n. oa, b aaec eo a o oy n. oa a aaec opy b o oy n (a pooo paeca,, ooaae opy oc). Oo o e oo caa pa cocoa.

Moeco ce o 0 o n-1 opaye o, o aaec o oeco eo o oy n. o oaae, o oo eoo a, eo ocao o oy n ec eoop co o 0 o n-1.

Oepa a mod n ooaae ocao o a, c eoop e co o 0 o n-1. a oepa aaec peee o oy. Hapep, 5 mod 3 = 2.

o opeeee mod oe oac o poo eoopx ax popapoa. Hapep, oepaop oye ocaa e PASCAL oa opaae opaeoe co. O opaae co ey -(n-1) n-1. B e C oepaop % opaae ocao o ee epoo pae a opoe, oo oe opae co, ec o oepao opaee. cex aopo o e poepe, o oaee n peyay oepa oye ocaa, ec oa opaae opaeoe co.

Apea ocao oe oxoa a oy apey: oa oyaa, accoaa cp y a. poe oo, peee aoo poeyooo peyaa o oy n ae o e peya, a oee ceo ce c ocey peee oeoo peyaa o oy n.

(a b) mod n == ((a mod n) (b mod n)) mod n (a - b) mod n == ((a mod n) - (b mod n)) mod n (a * b) mod n == ((a mod n) * (b mod n)) mod n (a * (b c)) mod n == (((a*b) mod n) ((a*c) mod n)) mod n Bcee mod n aco coyec popa, a a cee cpex oapo a pax ope mod n oe eeo poeo. Apea eo, oy e, ee peayec a oepax, ocoy oa opaae aao poeyox ae peyaa. k-ox eo n, poeyoe peya oo coe, ae yoe yy e ee, e 2 k .

ooy apee eo oe o oeee cee e opox poeyox p e yao. Bcee cee eoopoo ca o oy pyoo ca, ax mod n, pecae coo poco oceoaeoc yoe ee, o cyecy pe, ycope o ece. O ax peo cpec poa oeco yoe o oy, pyo opoa oee yoe o oy. Ta a oepa cpy, cpee o o e ee cee a oo oceoaex yoe, a pa oya e. Ceac e ycyee pa, o oa ye aea p yoe 200-ox ce.

Hapep, ec xoe c a8 mod n, e oe ao ce yoe oo peee o oy:

(a * a * a * a * a * a * a * a) mod n Beco oo oe p ex yoe p ex pee o oy:

((a2 mod n)2 mod n)2 mod n Too ae, a16 mod n =(((a2 mod n)2 mod n)2 mod n)2 mod n Bcee ax, e x e ec cee 2, eaoo pyee. oa ac pecae x e cy ceee 2: 25 - o apoe 11001, ooy 25 = 24 23 20. ooy a25 mod n = (a*a24) mod n = (a* a8*a16) mod n = = (a*(( a2) 2) 2*((( a2) 2) 2) 2) mod n = (a*((( a*a2) 2) 2) 2) mod n C poya coxpaee poeyox peyao a oaoc oo ec yoe:

(((((((a2 mod n)* a)2 mod n)2 mod n)2 mod n)2 mod n)2 *a) mod n Tao pe aaec eoo coe [863], eoo ox apao yoe. O c oye pocy oey eoy coe, ocoe oopo e ooe pecaee ca. Ha e C o cey opao:

A o pyo, peypc, aop:

o eo yeae oeco oepa, cpee, o 1.5* k oepa, e k - a ca x ax.

Ha coco ce c ae oeco oepa - pya poea (o oaao, o oc e oaeoc oa coepa e ee k-1 oepa), o epyo c co oepa o 1.1* k ae ye p ox k.

e cocoo oo pa o peee o oy ooo n ec eo Moo ep [1111]. pyo eo aaec aopo appea [87]. eoc ocaoo aopa x yx eoo paccapaec [210]: aop, paccope o, ec ay e oo pee o oy, aop appea - ay ax apyeo, a eo Mooep - a y ooo oee cee o oy. (Meo Mooep ae coye peyeco ax oaaee cee, coy pe, aac ceao apeo.) Oepa, opaa oee cee o oy n, ce cpe oap. ae pae paccop y oepa.

pocme uca poc aaec eoe co, oee e, ece oe oopoo ec 1 oo cao: oo e ec a oo pyoe co. a - o pocoe co. poc c 73, 2521, 2365347734339 2756839-1. Cyecye ecoeo oo pocx ce. popa, ocoeo popa c op a, aco coye oe poce ca (512 ae o e).

Eaeoc paac (Evangelos Kranakis) aca oy y o eop ce, poc ca x pee popa [896]. aya Peo (Paula Ribenboim) acaa e ox cpaox pao o poc ca ooe [1307, 1308].

Hauou ou eume a ca aac ao poc, ec y x e ox oee poe 1. coa, e c ao o ee a n pae 1. o acaec a:

HO(a,n)= Bao poc ca 15 28. 15 27 e c ao poc, a 13 500 - c. pocoe co ao poco co ce py ca, poe ce, pax aoy pocoy cy.

O cocoo c ao o ee yx ce ec aop a. oca o aop coe e,, acao 300 oy o ae p. O e ope eo.

cop ca, o o aop e a 200 cape. o ca pe epa aop, oop oe o ax e, o ce ee xopo. y oca aop eo copeee oa [863]. Ha e C:

o aop oo oo oye HO acca m ce:

Opame aeu no oy oe, o aoe opae ae? Opaoe aee 4 - 1/4, ooy o 4*1/4 =1. B pe eo poea ycoec:

4*x = 1 (mod 7) o ypaee aeo oapye x k, ax o 4x = 7k e x k - ee ca. Oa aaa coco axoe x, aoo o 1 = (a*x) mod n o ae oo aca a a-1 x (mod n) poey opax ae o oy pe eeo. oa y ee ec peee, oa e. Hapep, opaoe aee 5 o oy 14 pao 3. C pyo copo y ca 2 e opaoo ae o oy 14.

B oe cyae y ypae a-1 x (mod n) cyecye eceoe peee, ec a n ao poc.

Ec a n e c ao poc, o a-1 x (mod n) e ee pee. Ec n ec poc c o, o oe co o 1 o n -1 ao poco c n ee ooc oo opaoe aee o oy n.

Ta, xopoo. A eep a copaeec ca opaoe aee a o oy n? Cyecye a y.

Opaoe aee a o oy n oo c c oo aopa a. oa o aaec pacpe aopo a.

Bo o aop a e C :

e copac oaa, o o paoae, po eopeecoe oocoae. opooc o o a [863] o peex paee pao o eop ce.

Aop epae ox ce oe paoa eeo. y oaa, o cpeee co oex aopo ee pao:

0.843*log2(n) 1. Peeue ouuemo Aop a oo cooa pee ceyx poe: a acc m epeex x1, x2,..., xm, a acc m oeo, ul, u2,..., um, ax o ul * x1... um * xm, = Maa meopea epa Ec m - pocoe co, a e pao m, o aa eopea epa yepae am-1 1 (mod m) (ep e epa (Pierre de Fermat), payc aea, c 1601 o 1665 o. a eopea e ee eo oeo c eo aeo eopeo.) yu epa Cyecye pyo coco c opaoe aee o oy n, o eo e cea ooo co o a. pee oeco ocao mod n aaec ooeco ooo oeca ocao, e oopoo ao poc c n. Hapep, peeoe oeco ocao mod 12 - o {1, 5, 7, 11}. Ec n pocoe co, o peeoe oeco ocao mod n - o oeco cex ce o 1 o n-1. oo n, e paoo 1,co 0 oa e xo peeoe oeco ocao.

y epa, oopy ae aa ye epa aca a (n), - o oeco eeo peeo oece ocao o oy n. coa, (n) - o oeco ooe x ex ce, ex n ao pocx c n ( oo n, oeo 1). (eoap ep (Leonhard Euler), eapc aea, c 1707 o 1783 o.) Ec n - pocoe co, o (n) = n-1. Ec n = pq, e p q -poce ca, o (n)= (p - 1)(q - 1). ca oc eoopx aopax c op a, o oey. B cooec c ooee e pa ao eope epa, ec HO(a,n) = 1, o a(n) mod n = Teep eo c a-1 mod n:

x = a(n)-1 mod n Hapep, aoe co ec opa 5 o oy 7? Ta a 7 - pocoe co, (7) = 7 - 1 = 6.

a, co, opaoe 5 o oy 7, pao 56-1 mod 7 = 55 mod 7 = eo ce opax ae oo pacp oee oe poe axoe x (ec HO(a,n) = 1):

(a*x) mod n = b coy ooee epa, peae x = (b* a(n)-1 ) mod n coy aop a, axo x = (b* (a-1 mod n) ) mod n B oe cyae ce opax ae aop a cpee, e ooee epa, ocoeo ce o opa 500 . Ec HO( a,n) 1, e ce oepo. B o oe cyae ( a*x) mod n=b, oe e ecoo pee, ooo.

umaca meopea o ocmamax Ec eco paoee ca n a poce cooe, o pee oo cce ypae oo ocooac aco eopeo o ocaax. Ocoo apa o eope op epo ee ac aeao Cy e.

B oe cyae, ec paoee ca n a poce cooe pecae coo p1*p2*...*pt, o cc ea ypae (x mod pi) = ai, e i = 1, 2,..., t ee eceoe peee, x, eee n. (Opae ae, o eoope poce ca oy o c ecoo pa. Hapep, p1 oe pao p2.) py coa, co (eee, e poeee ecox pocx ce) ooao opeeec co ocaa o ee a poce ca.

Hapep, oe poce ca 3 5, 14 aece aaoo ca. 14 mod 3 = 2, 14 mod 5 = 4. C y ecye eceoe co, eee 3*5 = 15, c a ocaa: 14. a ocaa ooao opee co.

ooy poooo a < p b < q (e p q - poce ca), cyecye eceoe co x, eee pq, aoe o x a (mod p), x b (mod q) oye x caaa ocoyec aopo a, o a u, aoe o u*q 1 (mod p) ae c:

x = (((a - b) *u) mod p) * q b Bo a aca eopea o ocaax a e C:

Opaee aco eope o ocaax oe cooao pee ceye poe:

ec p q - poce ca, p ee q, o cyecye eceoe x, eee, e pq, aoe o a x (mod p), b x (mod ) Ec a b mod p, o x = (((a - (b mod p)) * u) mod p) * q b Ec a < b mod p, o x = (((a p - (b mod p))*u) mod p)*q b apamue em Ec p - pocoe co, a oe 0, o ee p, o a pecae coo apa e o oy p, ec x2 a (mod p), eoopx x He ce ae a cooecy oy peoa. o a o apa eo o n, oo oo apa eo o oy cex pocx cooee n. Hapep, ec p = 7, apa ea c ca 1, 2, 4:

12 = 1 1 (mod 7) 22 = 4 4 (mod 7) 32 = 9 2 (mod 7) 42 = 16 2 (mod 7) 52 = 25 4 (mod 7) 62 = 36 1 (mod 7) aee, o a apa e a oec o cce. ae x, yoeopx oy ceyx ypae, e cyecye:

x2 3 (mod 7) x2 5 (mod 7) x2 6 (mod 7) ca - 3, 5 6 - e c apa ea o oy 7.

Xo oo e ea, ecoo oaa, o oa p eeo, cyecye ooc (p - 1)/2 apa x eo o oy p, coo e ce, e xc apa ea o oy p. poe oo, ec a - o apa e o oy p, o y a ooc a apax op, o ey 0 (p-1)/2, a opo - ey (p - 1)/2 (p - 1). O x apax ope oopeeo ec apa ocao o oy p, o aaec a apa ope.

Ec n ec poeee yx pocx ce, p q, o cyecye poo (p - l)(q - 1)/4 apax eo o oy n. apa e o oy n ec coepe apao o oy n, oo y o oo, o apao o oy n, e oe apao o oy p apao o oy q. Hapep, cyecye oaa apax ocao mod 35: 1, 4, 9, 11, 15, 16, 21, 25, 29 30. aoo apaoo ea poo epe apax op.

Cuo eapa Co eapa, L(a,p), opeee, ec a - o oe eoe co, a p - pocoe co, oee, e 2.

O pae 0, 1 -1.

L(a,p) = 0, ec a ec a p.

L(a,p) = 1, ec a - apa e o oy p.

L(a,p) = -1, ec a e ec apa eo o oy p.

L(a,p) oo pacca cey opao:

L(a,p) = a(p-1)/2 mod p oo ocooac cey aopo:

1. Ec a = 1, o L(a,p) = 2. Ec a eo, o L(a,p) = L(a/2,p) * (-1)( 2-1)/ 3. Ec a eeo ( 1), o L(a,p)= L(p mod a, p)*(-1)(a-1)(p-1)/ Opae ae, o o eo ae ec e cocoo opee, ec a a pa eo o oy p ( pocoo ca p).

Cuo ou Co o, J(a,n), pecae coo ooee coa eapa a cocae oy, o opee ec oo eoo a oo eeoo eoo n. y yoa p poepe a pocoy. Co o ec ye a oece oyex eo eee n oe ce o pa opya [1412]. Bo o cocoo:

Opeeee 1: J(a,n) opeee, oo ec n eeo.

Opeeee 2: J(0,n) = 0.

Opeeee 3: Ec n - pocoe co, o co o J(a,n) = 0, ec a ec a n.

Opeeee 4: Ec n - pocoe co, o co o J(a,n) = 1, ec a - apa e o oy n.

Opeeee 5: Ec n - pocoe co, o co o J(a,n) = -1, ec a e ec apa e o o oy n.

Opeeee 6: Ec n - cocaoe co, o co o J( a,n) = J(a,p1)*... * J(a,pm), e p1,..., pm - o paoee n a poce cooe.

Cey aop peypco paccae co o:

pao 1: J(1,n) = pao 2: J(a*b,n) = J(a,n)* J(b,n) pao 3: J(2,n) =, ec (n2-1) /8 eeo, -1 poo cyae pao 4: J(a,n)= J((a mod n),n) pao 5: J(a, b1*b2) = J(a, b1)* J(a, b2) pao 6: Ec ao o ee a b = 1, a ae a b ee:

pao 6a: J(a,b)= J(b, a), ec (a - l)(b - 1)/4 eo pao 6b: J(a,b)= -J(b, a), ec (a - l)(b - 1)/4 eeo Bo aop a e C:

Ec apaee eco, o n - pocoe co, eco cooa peyeo aopa poco c e a((n-1)/2) mod n, o cyae J(a,n) aee coy eapa.

Co o e cooa opeee oo, ec a apa eo o oy n (ec, oeo, n e ec poc co). Opae ae, o ec J( a,n) = 1 n - cocaoe co, o yepee, o a ec apa eo o oy n, e oaeo ye co. Hapep:

J(7,143) = J(7,11)* J(7,13) = (-1)(-1) = Oao e cyecye ax ex ce x, o x2 7 (mod 143).

ee uca a Ec p q - a pocx ca, opyx 3 o oy 4, o n = pq oa aa e co a. Ec n - o eoe co a, y aoo apaoo ea poo epe apax op, o oopx ae ec apao - o a apa ope. Hapep, a apa ope 139 mod 437 - o 24. Ocae p op - o 185, 252 413.

eepamop Ec p - pocoe co, g ee, e p, o g aaec eepaopo o oy p, ec aoo ca b o 1 o p - 1 cyecye eoopoe co a, o ga b (mod p).

coa, g ec po o ooe p. Hapep, ec p = 11, o 2 - o eepaop o oy 11:

210 = 1024 1 (mod 11) 21 = 2 2 (mod 11) 28 = 256 3 (mod 11) 22 = 4 4 (mod 11) 24 = 16 5 (mod 11) 29 = 512 6 (mod 11) 27 = 128 7 (mod 11) 23 = 8 8 (mod 11) 26 = 64 9 (mod 11) 25 = 32 10 (mod 11) a aoe co o 1 o 10 oe pecaeo a 2 (mod p). p = 11 eepaopa c 2, 6, 8. pye ca e c eepaopa. Hapep, eepaopo e ec co 3, ooy o e cy e cye pee 3a 2 (mod 11) B oe cyae poep, ec aoe co eepaopo, eeo. Oao aaa ypoaec, e c eco paoee a oe p - 1. yc q1, q2,..., qn - o pae poce oe p - 1.

o poep, ec co g eepaopo o oy p, ce g(p-1)/q mod p cex ae q = q1, q2,..., qn.

Ec o co pao 1 eoopoo q, o g e ec eepaopo. Ec cex ae q pacca oe aee e pao 1, o g - o eepaop.

Hapep, yc p = 11. poce oe p - 1 = 10 - o 2 5. poep oo, ec co eepaopo, c:

2(11-1)/5 (mod 11) = 2(11-1)/2 (mod 11) = H o oeo e pae 1, ooy 2 - o eepaop.

poep, ec eepaopo co 3:

3(11-1)/5 (mod 11) = 3(11-1)/2 (mod 11) = Ceoaeo, 3 - o e eepaop.

p eoxooc oapy eepaop o oy p poco cyao pae co o 1 o p - 1 poepe, e ec oo eepaopo. eepaopo ocaoo, ooy o x , copee ceo, aee cpo.

Buceue noe aya He peoec, ce o ye ea. Ec n - pocoe co cee ooo pocoo ca, o oyae o, o aea aa oe oe. B ec oo coye p eco n. B ec eoc o oeoo o acoo aeaee, o aea a ey coceoe - oe aya, ooaaeoe a GF(p). (B ec apca aya, paycoo aeaa, eo eaao ee yceeo aeo poy eop ce, pee e 20 e o y a y.) B oe aya opeee coee, ae, yoee eee a eyee ee. Cyecye epa ee coe - 0 - yoe - 1. aoo eyeoo ca cyecye e ceoe opaoe co (o e o a, ec p e o poc co). Boc oy a , accoa cpy ao.

Apea o aya poo coyec popa. B e paoae c eop ce, oe c o ep ca oo oeoo paepa, p ee ocycy o opye. Moe pocce ocoa a GF(p), e p - o ooe pocoe co.

o ee oee yco opoc, popa ae coy apey o oy epox ooeo cee n, oea oopx c ee ca o oy q, e q - o pocoe c o. o aac GF(qn). coyec apea o oy p(x), e p(x) - o epo o oe cee n.

Maeaeca eop, coa a , xo aeo a pa o , xo oy p p o cce, coyx ee. Ec xoe opooa c epo ooea, o GF(2 ) ae ceye ee: 0, 1, x, x 1, x2, x2 1, x2 x, x2 x 1. o apaeo peaa aop ce opax ae GF(2n) pee [421].

p ocye ooo ep "pocoe co" aeec epo " epo ooe". o o aaec epo, ec eo e peca e yx pyx ooo (oeo e, poe 1 caoo ooa). oo x2 1 epo a e ca, a oo x3 2 x2 x e ec epo, o oe pecae a x(x l)(x 1).

oo, oop ao oe ec eepaopo, aaec p ao, ce eo o e ao poc. M coa epec p ooa, oa ye oop o c o x pecpax c eo opao c (c. pae 16.2).

Bce GF(2n) oy cpo peaoa aapao c oo cox pecpo c e n o opao c. o o pe ce a GF(2 ) aco cpee, e ce a GF( p). Ta a oeee cee GF(2n) opao eee, o eee cee cpex oapo [180, 181, 368, 379]. ooey opa o o oo a [140].

o aya GF(2n) popa cooa aece oye pexe p(x) = xn x 1, a a a cpoa ye ey oea p xn x ooe poco peaoa cpoe yoee o oy [183]. oo oe p, poo cyae aeaa e ye paoa. xn x 1 pe ceyx ae n, ex e 1000 [1649, 1648]:

1, 3, 4, 6, 9, 15, 22, 28, 30, 46, 60, 63, 127, 153, 172, 303, 471, 532, 865, Cyecy aapae peaa GF(2 ), e p(x) = x127 x 1 [1631, 1632, 1129]. ea apx n eypa aapayp oee cee GF(2 ) paccapaec [147].

11.4 Paoee a oe Pao co a oe - a a eo poce cooe.

10 = 2* 60 = 2*2*3* 252601 = 41*61* 2113- 1 =3391*23279*65993*1868569* Paoee a oe ec oo peex poe eop ce. o poecc ecoe, o peye pee. o oa ocaec a, o p co o cycce ce e pooe. Ceo ca y aopo ec:

Peeo cooo o ce (Number field sieve, NFS) [953] (c. ae [952, 16, 279]). Peeo oeo cooo o - o ca cp ecx aop ce paepo 110 oee papo [472, 635]. B coe epoaao e o epae, o a ocee ecoo e o oceoaeo yye [953]. NFS ce ee co o, o peop paoe a oe, o copo ce epe e c. Pa epc cooaac paoe a oe eoo ca epa: 2512 1 [955,954].

pye aop, ecee NFS:

apaoe peeo (Quadratic sieve, QS) [1257, 1617, 1259]. o ca cp ecx ae ceo cooac aop ce, a oopx ee 110 ecx papo [440]. oee cpa epc oo aopa aaec oece ooa apa peeo [1453, 302].

Caa cpa epc aaec oo apae oeceoo ooaoo apaoo peea c o poc co.

Meo eco po (Elliptic curve method, ECM) [957, 1112, 1113]. o eo cooac oca e oee, e 43-papx oee.

Aop Moe-apo oapa (Pollard's Monte Carlo algorithm) [1254, 248]. (o aop ae pee y ya oe 2 [863].) Aop epepx poe (Continued fraction algorithm). C. [1123, 1252, 863]. o aop e oxo o pee oe.

poepa eee (Trial division). o ca cap aop paoe a oe coco poep aoo pocoo ca, eeo paoo a paoy op pacaaeoo ca.

B aece xopoeo ee pae aop paoe a oe, poe NFS, oo c ooa [251]. NFS ye ceo paccope [953]. oee cap paoa c [505, 1602, 1258].

Cee o apaeo paoe a oe oo a [250].

Ec co n a oe pacaaec, o pcecoe pe oe cax cpx apao QS acoec pao:

1 2 e(1+O(1))(ln(n)) (ln((ln(n))) NFS aoo cpee, oea eo pcecoo pee oe:

1 3 e(1.923+O(1))(ln(n)) (ln((ln(n))) B 1970 oy oo ooc cao paoee a oe 41-papoo pyoo ca [1123].

("Tpy" ec aoe co, y oopoo e aex oee, oopoe e oaae ceao opo, ooe ypoc poecc.) ec e cyc paoee a pa oee oo ca ao ecoo aco a oepe Cray [440].

B 1988 oy ap oepac (Carl Pomerance), coy oe CC, cpoepoa ycpoco pa oe a oe [1259]. Paep ca, oopoe oo o pao, ace oo o paepo yc poca, oopoe a e o ocpoeo.

B 1993 oy c oo apaoo peea o paoeo a oe 120-papoe pyoe co.

Pace, opeoa 825 mips-e, oe a p eca peaoo pee [463]. pye peya pee [504].

Ceo paoe a oe coyc oepe ce [302, 955]. paoe 116_papoo ca Apa ecpa (Arjen Lenstra) Map Maacc (Mark Manasse) eee ecox e ce cooa coooe pe acca oepo, papocax o cey py, - 400 mips-e.

B ape 1994 oa c oo oo apa oeceoo ooaoo QS [66] oao a eao o pyooco ecp o paoeo a oe 129-papoe (428-ooe) co. B ce oc opooa Internet - eee oc ece pyc 600 eoe 1600 o epo, ooo, ca oo cop oopoeccop ooepa. Tpyoeoc ce a aaoe o 4000 o 6000 mips-e. oep coec o epoo oe, epeaa co peya epaoe xpae, e oc ooae aa. B x cex coo a c QS eop ee aoc, NFS o ycop oee paceo pa ec [949]. B coo ec c [66]: "M eae o, o poo coyee 512-oe oy RSA oy cp opaae, ooo opa ecoo oo oapo ooa ecoo ece." o oea aopo paoee 512-ooo ca 100 pa oee pyoeo p cooa o e ex oo 10 coee p cooa NFS copeeo ex [949].

C e pa cycca paoe a oe RSA Data Security, Inc. ape 1991 oa oo o popae RSA Factoring Challenge (cocae RSA o paoe a oe) [532]. Cocae coco paoe a oe pa pyx ce, aoe oopx ec poeee yx pocx ce pepo oaooo paepa. aoe pocoe co o pao opy 2 o oy 3. Bceo o peoeo 42 ca, o ooy cy aaoe o 100 o 500 papo c ao 10 papo (c oo o oeoe, 129-papoe co). oey aca o RSA-100, RSA-110, RSA-120, RSA- paoe a oe, ce c oo QS. Cey (c oo NFS) oe RSA-130, eo o paoe a oe cpay oyc a RSA -140.

aa oac paaec cpo. Texy paoe a oe pyo cpaopoa, a a eooo pecaa pae aeaeco eop. o op NFS oe ca, o o eo paoe a oe e oe acoec cpee QS. O epa.

pecoee pae NFS, o oy, ye pocxo ope yee oca: 1.923. pa ce ceao op, ax a ca epa, ocaa paec 1.5 [955, 954]. Ec pyx ce, coyex ceoe popa, ocay oe oo o c o oo ypo, o 1024-oe ca pacaac a oe ye ceo. O cocoo ye ocay ec oapyee yx cocoo pecae ce a ooo c ae o ea. oa ee poea e yaac ocaoo eo, o ooo pea ycex ye o [949].

ocee peya popa RSA Factoring Challenge oo ya, opa apoc o epoo oe o apecy challenge-info@rsa.com.

apame opu no oy n Ec n - poeee yx pocx ce, o oooc c apae op o oy n ceo aea oooc pao co n a oe [1283, 35, 36, 193]. py coa, o, o ae poce oe ca n, oe eo c apae op oo ca o oy n, o oo pyoo cee oaec a e py, a paoee a poce oe ca n.

11.5 eepa npocoo ca aopo c op a y poce ca. x yo oeco o ocaoo oo ce. pee, e ocya aeay eepa pocoo ca, oey a ecoo oex opoco.

Ec aoy oaoc coe pocoe co, e cce y ac aac? He. B eceoc cyec ye peo 10151 pocx ce o1 o 512 eo. ce, x n, epooc oo, o cyao paoe co oaec poc, paa 1/ln n. ooy ooe co pocx ce, ex n, pao n/(ln n). Bo ceeo ceo 1077 aoo. Ec aoo aoa o ceeo c aaa pee ay poceyy peoac ap pocx ce, oaooc oo 10 pocx ce, ocaoc ee pepo 10151 pocx ce.

o ec a eoea cyao epy oo o e pocoe co? oo e cyc. p ope 10151 pocx ce epooc coae opa aeo ee, e epooc, o a o ep cyao cxe o ca oe, oa paee oepe.

Ec o-o coac ay ax cex pocx ce, e coe o cooa y ay ax cp aopo c op a? He. Ec xpa o aa opa a ycpo ce, ece o pa, o epee pocx ce paepo o 512 eo ec coo, o acca xpaa peca pee apaceapa, oo coacpoao epy py... o cyae e coee e ae.

Ho ec a pyoeo paoee a oe, a oe poco eepa pocx ce? oyc o, o oe "a" "e" a opoc "ec co n poc?" opao poe, e oe a oee co opoc "ao oe n?" eepa cyax ce c oceye oo paoe x a oe - o epa c o co oca pocx ce. Cyecy pae epooce poep a pocoy ce, opeee, ec co poc, c aao cee ocoepoc. p yco, o a "cee ocoepoc" ocaoa ea, ae coco poep ocaoo xopo. ca, o poce ca, eeppoae a opao aac "poeo poc ca": ca epoo c poc c o popyeo oooc o.

50 peoo, o oa poepa 2 - ooa. o oaae, o c epooc 1/10 poepa o poc cocaoe co. (pocoe co oa e ye oeo coca p poepe.) Ec o ao-o pe oaoc oa ocoepoc poco ca, ypoe o oo o. C pyo copo, ec ycaoe epooc oo, o co ec coca, 300 oo pa ee, e epooc pa a p ocyapceo oepee, oee oe o o e ooac.

Oop eax cceoa o oac oo a [1256, 206]. py a paoa c [1490, 384, 11, 19, 626, 651, 911].

Solovay-Strassen Poep Coo (Robert Solovay) oep pacce (Volker Strassen) papaoa aop epooco poep poco ca [1490]. poep poco ca p o aop coye co o:

(1) Bepe cyao co a, eee p.

(2) Ec HO(a,p) (1, o p e poxo poepy ec coca.

(3) Bce j = a(p-1)/2 mod p.

(4) Bce co o J(a,p).

(5) Ec j J(a,p), o co p aepa e ec poc.

(6) Ec j = J(a,p), o epooc oo, o co p e ec poc, e oe 50 poeo.

co a, oopoe e oaae, o p aepa e ec poc co, aaec ceee. Ec p - cocaoe co, epooc cyaoo ca a ceee e e 50 poeo. oope y poepy t pa c t pa ae a. Bepooc oo, o cocaoe co peooee ce t poepo, e peae 1/2t.

Lehmann pyo, oee poco ec eaco papaoa eao (Lehmann) [903]. Bo oceoaeoc ec p poepe poco ca p:

(1) Bepe cyao co a, eee p.

(2) Bce a(p-1)/2 mod p.

(3) Ec a(p-1)/2 1 -1 (mod p), o p e ec poc.

(4) Ec a(p-1)/2 1 -1 (mod p), o epooc oo, o co p e ec poc, e oe 50 p o eo.

coa, epooc oo, o cyaoe co a ye ceee cocao ppo ca p, e ee 50 poeo. oope y poepy t pa. Ec peya ce pae 1 -1, o e cea pae 1, o 2t p ec poc co c epooc o 1/.

Rabin-Miller oceeco coye ec poco aop, papaoa Mao Pao (Michael Rabin), aco ocoa a ex p Mepa [1093, 1284]. o cy, o ypoea epc aopa, pe o eoaoo peoe DSS proposal [1149, 1154].

Bepe poep cyaoe co p. Bce b - co ee p - 1 a 2 (.e., 2b - o aoa cee ca 2, a oopoe ec p - 1). ae ce m, aoe o p = 1 2b * m.

(1) Bepe cyaoe co a, eee p.

(2) caoe j = 0 z = am mod p.

(3) Ec z = 1 ec z = p - 1, o p poxo poepy oe poc co.

(4) Ec j > 0 z = 1, o p e ec poc co.

(5) caoe j = j 1. Ec j < b z( p - 1, ycaoe z = z2 mod p epec a a (4). Ec z = p - 1, o p poxo poepy oe poc co.

(6) Ec j = b z p - 1, o p e ec poc co.

B o ece epooc poxoe poep coca co yae cpee, e peyx.

apapyec, o p eep oox ae a oayc cee. o oaae, o cocaoe t co pocoe epe t poepo c epooc e oe (1/4), e t - o co epa. Ha cao ee oe co eccc. oca cyax ce ooo 99.9 poeo oo x ae a c cee [96].

Cyecy oee oe oe [417]. n-ooo aaa poce ca (e n oe 100), e k pooc o oo ece ee, e 4n2( 2). 256-ooo n epooc o ec ec ax ee, e 1/251. ooey eop oo a [418].

pamuecue coopaeu B peax poex eepa pocx ce pocxo cpo.

(1) Ceeppye cyaoe n-ooe co p.

(2) caoe cap a pa 1. (Cap apapye peyey y pocoo ca, a a oeceae eo eeoc.) (3) eec, o p e ec a eoe poce ca: 3, 5, 7, 11, .. Bo ox peaax po e pec eoc p a ce poce ca, ee 256. Haoee eo ec poepa a e oc cex pocx ce, ex 2000 [949]. o oe eo oeo c oo oeca [863].

(4) Boe ec Rabin-Miller eoopoo cyaoo a. Ec p poxo ec, ceeppye pyoe cyaoe a oope poepy. Bpae eoe ae a ycope ce. Bo e eco [651]. (Ooo oe oaac ocao, o oe .) Ec p e poxo oo poepo, ceeppye pyoe p opoye coa.

ae, oo e eeppoa p cya opao a pa, o oceoaeo epepa ca, a a co cyao paoo o ex op, oa e ye aeo pocoe co.

a (3) e ec oae, o o xopoa e. poepa, o cyaoe eeoe p e ec a 3, 5 7 oceae 54 poea eex ce ee o aa (4). poepa eoc a ce poce ca, ee 100, ypae 76 poeo eex ce, poepa eoc a ce poce ca, ee 256, ypae 80 poeo eex ce. B oe cyae, o eex aao, oope e ec a oo pocoe co, eee n, paa 1.12/ln n. e oe poepeoe n, e oe peapex ce yo o o eca Rabin-Miller.

Oa peaa oo eoa a Sparc II cocoa axo 256-oe poce ca cpee a 2. cey, 512-oe poce ca - cpee a 24.0 cey, 768-oe poce ca - cpee a 2. y, a 1024-oe poce ca - cpee a 5.1 y [918].

Cue npocme uca Ec n - poeee yx pocx ce, p q, o oe oaoc cooa aece p q ce poce ca. Tae poce ca oaa po coc, oope yco paoee p o ee n opeee eoa paoe a oe. Cpe ax coc peoe [1328, 651]:

Hao o ee p - 1 q - 1 oe eo.

p - 1, q - 1 o e cpe cox oee oe poce ca, cooeceo p' q'.

p' - 1, q' - 1 o e cpe cox oee oe poce ca.

p 1, q 1 o e cpe cox oee oe poce ca.

(p - 1)/2, (q - 1)/2 o poc [182). (Opae ae, p oe oo yco oc a epx.) Hacoo cyeceo peee eo cx pocx ce, ocaec peeo pooaxc copo. coca papaoa, o apy oee pa capx aopo paoe a oe. Oao cae cpe aop oaoo cp p paoe a oe x ce, a yoeopx pee yco, a e [831].

po ceao eepa cx pocx ce. a pocx ce opao aee x cpy y p. oee oo, caa cpyypa yeae cyaoc ca oe c ycooc cce.

Ho ce oe ec. Moy coa oe eo paoe a oe, oope ye p a oa c ca, oaa opeee coca. B o cyae coa oy opeoac c e poce ca. aae y pa o eopeeco aeae.

11.6 cpee oap oeo noe B aece pyo ooapaeo y popa aco coyec oeee cee o oy. eo c:

ax mod n aae, opao oee cee o oy, ec oc cpeoo oapa. A o ye e ea aaa:

Ha x, oopoo ax b (mod n).

Hapep:

Ec 3x 15 mod 17, o x = Pee cyecy e cex cpex oapo (oe, pe e oo o eocex p e ex). eo ae, o ceyee ypaee e ee pee 3x 7 (mod 13) Ee coee pea y aay 1024-ox ce.

Buceue ucpemx oapuo oeo pynne popa epecyc cpe oapa ceyx pex py:

Myaa pya oe pocx ce: GF( p) n Myaa pya oex oe ceee 2: GF(2 ) py eco po a oe o F: EC(F) eoacoc ox aopo c op a ocoaa a aae oca cpex oapo, ooy a aaa a yoo yea. Xopo opo oop o poe ee aye pee a cooecy oe pee oo a [1189, 1039]. ye copeeo cae a y ey ec [934].

Ec p ec poc co coyec aece oy, o cooc oca cpex o a po GF(p) o cyecy cooecye paoe a oe ca n oo e paepa, e n - o po eee yx pocx ce peo pao [1378,934]. To ec:

1 2 e(1+O(1))(ln(n)) (ln((ln(n))) Peeo cooo o cpee, oea eo pcecoo pee oe:

1 3 e(1.923+O(1))(ln(n)) (ln((ln(n))) Ce o (Stephen Pohlig) Map Xea a coco cpoo ce cpex o a po GF(p) p yco, o p - 1 pacaaec a ae poce oe [1253]. o o pe popa coyc oo ae o, oopx p - 1 oaae xo o o poc oee. pyo aop [14] ce cpex oap co copoc, cpao c paoee a oe, o pacpe a o a GF( pn) [716]. o aop oepy pe [727] o py eopeecx oeo. B pyx cax [1588] oo ye, acoo a cao ee pya p o ea eo.

Bcee cpex oapo eco cao c paoee a oe. Ec oee pe poey cpeoo oapa, o oee pao a oe. (coc opaoo oa e a oaaa.) B acoee pe cyecye p eoa ce cpex oapo oe pocoo ca [370, 934, 648]: eoe peeo, cxea ex ce aycca peeo cooo o.

peapeoe, oeoe cee o oo oeo oo o pa. ae, cpo oo c oee oap. o oe cepeo ye eoacoc cce, ocoax a ax ox. Bao, o pae poe cooa pae o pocx ce. Xo eco o ooaee ooo poe oy pe oee oe.

n B pe pacpex oe cceoae e oppyc GF(2 ). Aop peoe [727].

Aop oepca (Coppersmith) ooe a peeoe pe axo cpee oap ax ox a GF(2127) eae pao oo x oc ox opa GF(2 ) [368]. B eo ocoe e [180]. oo aopa oe ea ca peapex ce, o o ce ocao o xopo ee. Peaa eee eo epc oo e aopa oce ce aco peap ex ce paa a axoee aoo cpeoo oapa oe GF(2 ) ecoo cey [1130, 180]. (o opeoe oe, oa-o cooaeec eoopx pocceax [142, 1631, 1632], e ec eoac.) Oop eoopx x peyao oo a [1189, 1039].

oee oe peapee ce oe GF(2 ), GF(2313) GF(2401), yaoc a eo poyc o GF(2 ). ce pooc a nCube-2, acco apaeo oepe c 1024 poeccopa [649, 650]. Bcee cpex oapo oe GF(2 ) ce ee axo c a peea oooo.

a axoe cpex oapo oe pocoo ca, ce cpex o a po ooao oe ae peyec o pa o peapee ce. Taxep aa (Taher EIGamal) [520] po aop ce cpex oapo oe GF( p2).

aa 12 Caap poa ax DES (Data Encryption Standard) 12.1 Beee Caap poa ax DES (Data Encryption Standard), oop ANSI aae Aopo poa ax DEA (Data Encryption Algorithm), a ISO - DEA-1, a 20 e ca po caapo. Xo a e oc ae capoc, o eca po epa o poaaa ce ee ocaec eoa c o ooe o ce paa, poe, ooo, cax oyecex.

Papaoma cmaapma B aae 70-x oo eoee popaece cceoa pae pe. B o oac o e yoaoc cceoaecx pao. oco e a, o cox oya oee coy ceay aapaypy opoa, o ao o papac popa a aye. ae a oaao Aeco aoao eoacoc (National Security Agency, NSA), o oo ae e paao yo coeo coceoo cyecoa.

oyae e a, o o oya. Moe eoe oa oaa poaa p o paecoe oopyoae, peyeceo aoeac paeca. Bce o oopyoae oaoc py o pya e oo aoecoa. Ho e a, eceo aoe-o x ycpoc eoaco, e cyecoao eaco opaa, oopa aceecoaa eoacoc. a o o poc oo paecex oao [441]:

Be cooecyeo ee e po pao a peay o aapayp po a /eppoa o ( aec ocaoc) eec o ce oyae, o oe pyo pa oocoae pee o eepa e, pao aooo aooo pee, .., oope oea opeoc oyaee eoacoc.

B 1972 oy Haoaoe po caapo (National Bureau of Standards, NBS), eep aaeec H a oa cyo caapo ex (National Institute of Standards and Technology, NIST), cyo aopo popa a c oepx ax. Oo ee o popa a papaoa eoo, caapoo popaecoo aopa. o aop o poepe ce p poa, a coye eo pae popaece ycpoca o aoecoa. O o , oy e, ooceo eopo eo ocy.

15 a 1973 oa Federal Register NBS oyoao peoa popaecoy aopy, o o p o p aece caapa. o p eeo ecoo pepe oe poea:

Aop oe oecea co ypoe eoacoc.

Aop oe ooc opeee eo oe.

eoacoc aopa oa ocoac a e e oa ace o coxpae ae c a oo aopa.

Aop oe ocye ce ooae.

Aop oe oo aaa pa pee.

Aop oe oo ooy peaa e epox popo.

Aop oe e cooa.

Aop oe peoca oooc poep.

Aop oe papee copa.

Pea oeceoc oaaa, o popaecoy caapy cyecye ae epec, o o o oac peao a. H oo peoe e yoeopo pee peoa.

27 ayca 1972 oa Federal Register NBS oyoao oopoe peoee. Haoe, y po o c oxo aa: aop o ee ep, ocoe oopoo eaa papaoa oa IBM, oea aae 70-x (c. pae 13.1). B IBM cyecoaa ea oaa popao, paoaa coe (Kingston) opay Xac (Yorktown Heights), oopy xo Po Aep (Roy Adler), o oepc (Don Coppersmith), Xopc ece (Horst Feistel), a pocca (Edna Crossman), Aa oxe (Alan Konheim), ap Maep (Carl Meyer), Ho (Bill Notz), C (Lynn Smith), o Tae (Walt Tuchman) paa Taepa (Bryant Tuckerman).

Hecop a opeeey cooc aop poee. O cooa oo poce o e ce oepa a eo pya o o ooo eo peaoa aapaype.

NBS opoco NSA oo oe eoacoc aopa opee, oxo o coo a aece eepaoo caapa. IBM ye oya ae [514], o eaa cea co ee y ay coceoc ocyo pooca, peaa cooa py oa. B oe oo, NBS IBM paoa coaee, o oopoy NBS oyao ecey, ecay e oaa, cooa poaa ycpoca, peaye o aop.

Haoe, 17 apa 1975 oa Federal Register NBS oyoao opooc aopa, aee IBM o peocae eceo, ecao e a aop, a ae peoo pca oeap o ooy aoo aopa [536]. B pyo aee Federal Register, 1 ayca 1975 oa, pa opaa poo ye coa peaaoc pooepoa peoe aop.

oeap oc [721, 497, 1120). Moe acopoeo oocc yac "eo py" NSA papaoe aopa. oc, o NSA e aop, ca eo oay epy. ao a c, o NSA yeo y e c epoaax 128 o o 56 (c. pae 13.1). aoac a ypee pe pao aopa. Moe coopae NSA ca c o aae 90-x, o 70 x o aac ace peo.

B 1976 oy NBS poeo a coya o oee peoeoo caapa. Ha epo ocyac a eaa aopa oooc oao ep [1139]. Ha opo - oooc yee a aopa [229]. pae coae aopa, , oeae aop, papao aap a yp, oca, ooae p. o ce oea coy eca o e [1118].

Hecop a py Caap poa ax DES 23 op 1976 oa p aece e e paoo caapa [229] papee cooa a cex ecepex paecex oya x. Oaoe ocae caapa, FIPS PUB 46, "Data Encryption Standard", o oyoao 15 ap 1977 oa cyo ece ec eca oe [1140]. FIPS PUB 81, " Modes of DES Operation" (Pe pao DES), o oyoao 1980 oy [1143]. FIPS PUB 74, "Guidelines for Implementing and Using the NBS Data Encryption Standard" (Pyooco o peaa cooa Caapa poa ax NBS), ooc 1981 oy [1142]. NBS ae oyoao FIPS PUB 112, cepy DES poa apoe [1144], FIPS PUB 113, cepy DES poep ooc oepx ax [1145]. (FIPS ooaae Federal Information Processing Standard.) caap ecpeee. Hoa o oo oee NSA aop e oyoa.

Booo a ya a cece eoa, oeo ey NSA NBS. NSA cao, o DES ye peaoac oo aapao. B caape peoaac eo aapaa peaa, o NBS oyoao ocaoo opa, o oo o coa popay peaa DES. He ea NSA oxapaepoao DES a oy cox cax ox oo. Ec Aeco peoa a o, o pacpe ea oo ca popaoe oeceee, oo oa e coacoc a o. oe poaaa DES cea oe, e o-o pyoe. Teep cceoa ocye aop, oop NSA oo eoac. He cyao cey paece caap aop a, Skipjack (c. pae 13.12.), acepee.

pumue cmaapma Aepac aoa cy caapo (American National Standards Institute, ANSI) oop DES aece caapa acoo ceopa 1981 oy (ANSI X3.92.) [50], aa eo Aopo p o a ax (Data Encryption Algorithm, DEA). ANSI oyoa caap peo pao DEA (ANSI X3.106) [52], oxo a oye NBS, caap poa ce, coy DES (ANSI X3.105) [51].

e pye py yp ANSI, pecae aoce oepa p poo ooo opoe, papaoa co caap a ocoe DES. aoce oepa p poo opoe a paa ey aco opaa oe oc, a aoce oepa p ooo o p oe a paa ey aco opaa.

Paoa pya ANSI o eoacoc acox opaa p poo opoe papaoaa ca ap ypae PIN-oa x eoacoc (ANSI X9.8) [53] pyo coy DES caap poep ooc acox cooe o pox poaax (ANSI X9.19) [56]. a pya pa paoaa poe caapa eoacoo pacpeee e (ANSI X9.2.4) [58].

Paoa pya ANSI o eoacoc acox opaa p ooo opoe papaoaa co co ce aop caapo poep ooc cooe (ANSI X9.9) [54], ypae a (ANSIX9.17) [55, 1151], poa (ANSIX9.2.3) [57] eoaco poep ooc oce yo (ANSI X9.26) [59].

Aepaca accoa apo papaaae eoaee caap acoo ycp.

O oyoa caap, peoey DES poa [1], pyo caap ypae popaec a [2].

o oe 1987 oy Aa o oepo eoacoc (Computer Security Act) the a papaoy e epax caapo oac eeoya oeaa Acpa ox cy (General Services Administration, CSA), a c oo oea oeceoc epea NIST. CSA oyoaa p caapa, coyx DES: a peoa oe eoacoc oooc aoec (eepa caap 1026 [662] eepa caap 1027 [663]) o ac-aapao Group 3 (eepa caap 1028 [664]).

aaeco ao cpaeece pe, peye, o ooc cex cooe o epeoe epox aco yocoepac c oo DES [468, 470]. Oo ae papaoao ocoa a DES pep, oopoy o yoeop ce ycpoca poep ooc [469].

ISO caaa pooocoaa a eee DES, aaeoo ee eppea DEA-1, aece ey a pooo caapa, a ae pa peee e aac caapae popa. Oao 1987 oy pya ISO, aaac eyapo caapa oac ooo opo, pea DES e yapoo caape poep ooc [758] ypae a [761]. DES ae coyec aece acpacoo aocoo caapa [1497].

poepa u cepmuuau oopyoau DES ac caapa DES ec poepa NIST peaa DES. a poepa oepae, o pea a cooecye caapy. o 1994 oa NIST poep oo aapae popao-aapae pea a - oa caap apea popae peaa. Ha ap 1995 oa 73 pax peaa pa cooecy caapy.

NIST ae papaoa popay cepa ycpoc poep ooc a cooece ANSI X9.9 FIPS 113. Ha ap 1995 oa o ceppoao 33 pax poya. aaeco coye co cocey ooey poeypy cepa. NIST ae ec popaa poep aap a yp a cooece ANSI X9.17 ypae a p ooo opoe [1151], Ha ap 1995 oa o ceppoao epe poya.

B caape DES o ooopeo, o o ye epecapac ae e. B 1983 DES oo p o ceppoa e cx poe. 6 apa 1987 oa Federal Register NBS opoco pooep o a peoee a ceye e. NBS peoo a ocyee ceye p aepa [1480, 1481]: o oep caap a ceye e, oaac o caapa epecope pe oc caapa.

NBS NSA epecope caap. B o pa NSA o aecoao oe cee. aoap o cao Peao pee NSDD-145 NSA oyo pao eo o ooe eeoc NBS oa c popa. epoaao NSA oo, o oo e ceppye caap oopo. poea a e o, o DES eceo oa, ae e o, o o, oe , oa. o o y, peoaaoc, o o o-o ye oa.

Cao o cee NSA peoo popay oepeco oc COMSEC (Commercial COMSEC Endorsement Program, CCEP), oopa o cy pecaa coo aop aopo ae DES [85]. papaoae NSA aop e oyoa ocy oo e aex o oa CC (c. pae 25.1).

o peoee e o po. o oeeo, o DES poo coyec ece (ocoeo acax), o peeo aepa e cyecye. Oa o caapa oca oe opaa e a ax. oce ex copo DES o yepe aece paeceoo caapa CA o 1992 oa [1141]. NBS peo, o DES oa oe e ye ceppoa coa [1480].

Hoa e oop "oa". B 1992 oy aepa aopy DES ce ee e o. NBS, aae eep NIST, coa Federal Register peoo p ooepoa DES [540]:

e oo peoe coco o, o o o pecoe oea aeaoc caapa aae a oepx ax a copeeo ypoe. poeoc poo ye peaac p ceyx ap aa pee FIPS 46-1. oeap o coepa cooc (ocec) peyeca x apa o:

oopo p caap a ceye (5) e. Haoa cy caapo exoo poo cepa aapayp, peaye caap. FIPS 46-1 ye ae ocaac ece pa e oo a ecepex oepx ax.

Oaac o caapa. Haoa cy caapo exoo oe e ye oepa caap.

Opaa oy pooa cooa cyecyy aapaypy, peayy caap. ae DES, NIST ac pye caap.

epecope ooe caapa o peoc / poec pe peaa. Taa pe oa a ee caapa, ooe cooa a aapae, a popae peaa DES, c ooa DES epao opeeex poex, cooa aepae aop, pae ap e cppoae NIST.

Cpo p peoe ce 10 eap 1992 oa. Coaco Poy aepy (Raymond Kammer), o pe peopy NIST [812]:

B poo oy NIST opao peoo pca oeap o ooy oopo cepa DES. Pa c cope pcae peoe pye exece co, copac peoeoa cpy opo, o o oopo ceppoa DES ee a e. ae copac peo cpy, o, o o oopo cepa, copypoa a aepe paccope eee x e ooe aepa. ea oooe aee, aeec a oooc caac o ooy pecox exooecx ee.

B o e pe, a yo ya ooe oeco cce, coyx o oope ca ap.

Hecop a o, o paee oe exoo ccaoc a coa paoaeo NIST eca pa ca (Dennis Branstead) o o, o oeoe pe DES aoc oe 90-x [1191], aop ceppoa oopo a ceye e [1150]. Haoe o papeeo ceppoa p o pae peaa DES. Xoeoc a, o cyc 1998 oy?

12.2 Oncae DES DES pecae coo o p, o pye ae 64-o oa. C ooo oa a o pa oc 64-o o opoo eca, a c pyoo oa xo 64-o o poeca.

DES ec cep aopo: poa eppoa coyc oaoe a o p (a cee eox pa cooa a).

a a paa 56 a. ( oo pecaec 64-o co, o a oco coyec poep eoc oppyec. eoc c ae aa a ao a.) , oop oe 56-o co, oo e o oe p e e. P ce cac ca a, o x oo eo ea. eoacoc ooc opee ec o.

Ha pocee ypoe aop e pecae eo oeo, e oa yx ocox eoo poa: cee y. yaea cpoe oo DES ec peee e cy eo oa x eoo (ocaoa, a a e - epecaoa), ace o a. Tao o aaec ao. DES coco 16 ao, oaoa oa eoo peec opoy ecy 16 pa (c. 11-).

Op ec IP L0 R f K L1=R R1= L0f(R0,K1) f K L2=R R2= L1 ) f(R1,K L15=R14 R15= L f(R14,K15) f K L16=R15 R16= L f(R15,K16) - IP poec Pc. 12-1. DES.

Aop coye oo caapy apey 64-ox ce oece oepa, ooy o eo peaoac aapaype opo oo 70-x. oe oope aope eae eo e a peaa ceapoao pocxee. epoaae popae peaa ooo ey, o ceoe popa aoo ye.

Cxea aopuma DES paoae c 64-o oo opoo eca. oce epoaao epecao o paaec a pay ey oo o o 32 a. ae oec 16 ao oaox ec, aa e x ye f, oopx ae oec c o. oce ecaaoo aa paa ea oo oec aop aepaec aeo epecaoo (opao o ooe epo a ao).

Ha ao ae (c. 10-) a cac, ae 56 o a pac 48 o. p a a ooa ax yeaec o 48 o c oo epecao c pacpee, oeec o cpeco XOR c 48 a ceeoo epecaeoo a, poxo epe 8 S-oo, opay 32 o x a, epecaec coa. epe oepa oc ye f. ae peya y f oeec c eo ooo c oo pyoo XOR. B oe x ec oec oa paa o oa, a capa paa ooa caoc oo eo. ec oopc 16 pa, opay 16 ao DES.

Li-1 Ri- C C epecaoa epecaoa c co cae pacpee ocaoa S-oe epecaoa P-oe Li Ri Pc. 12-2. O a DES.

Ec Bi - o peya i-o epa, Li Ri - ea paa oo Bi, Ki - 48-o aa i, a f - o y, oe ce ocao, epecao XOR c o, o a oo peca a:

Li = Ri- Ri = Li-1 f(Ri-1, Ki) Haaa nepecmaoa Haaa epecaoa oec ee o aa 1, p o xoo o epecaec, a oaao 11-. y ce pye a o a ao a cea apao cepxy . Hapep, aaa ep e caoa epeeae 58 oy o 1, 50 - oy o 2, 42 - oy o 3, a aee.

Ta. 12-1.

Haaa epecaoa 58, 50, 42, 34, 26, 18, 10, 2, 60, 52, 44, 36, 28, 20, 12, 4, 62, 54, 46, 38, 30, 22, 14, 6, 64, 56, 48, 40, 32, 24, 16, 8, 57, 49, 41, 33, 25, 17, 9, 1, 59, 51, 43, 35, 27, 19, 11, 3, 61, 53, 45, 37, 29, 21, 13, 5, 63, 55, 47, 39, 31, 23, 15, Haaa epecaoa cooecya aea epecaoa e a eoacoc DES.

(a oo eo ae, a epecaoa epy oepe cy oee oao apy a x opoo eca poeca pocxey DES. He aae, o DES oc pae 16- 32 ox popoeccopx .) Ta a popaa peaa o oooo epecao eea ( oe o pao aapao), o ox popax peaax DES aaa ae e epecao e coyc. Xo ao o aop e eee eoace, e DES, o e cooec ye caapy DES , ooy, e oe aac DES.

peopaoau a Caaa 64-o DES yeaec o 56-ooo a opacae aoo ocoo a, a oaao 10-. coyc oo opo eoc, oo poep paoc a. oce ee 56-ooo a aoo 16 ao DES eeppyec o 48-o o. o, Ki, opeec cey opao.

Ta. 12-2.

epecaoa a 57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, Bo epx, 56-o ec a e 28-ox oo. ae, oo ec c a c aeo a o a a acoc o aa. o c oaa 9-.

Ta. 12-3.

co o ca a acoc o aa a 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 co 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 oce ca paec 48 56 o. Ta a p o e oo paec ooeco o, o eec x opo, a oepa aaec epecaoa co cae. Ee peyao ec aop 48 o. epecaoa co cae (ae aaea epecae opo) opeeea 8-. Hapep, cyoo a o 33 epeeaec o 35 peyaa, a 18- cyoo a op a caec.

Ta. 12-4.

epecaoa co cae 14, 17, 11, 2,4, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 11, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, -a ca aoo oa coyec ooe ooeco o a. a co yec peo 14 16 oe, xo e ce coyc ooc oaooe co pa.

epecmaoa c pacupeue a oepa pacpe pay ooy ax, Ri, o 32 o 48 o. Ta a p o e poco o o pc opeeee , o eec x opo, a oepa aaec epecaoo c pacpe e. ee e aa: pec paep pao oo cooece c o oepa XOR o y oee peya, oop oo ye ca xoe oepa ocao. Oao a popaec cc coce pyo. a ce ooo a a e ocao cpee opacae acoc o peyaa o o cxox ax. o aaec a eo. DES cpoe poa a, o a oo cpee oc acoc aoo a poeca o aoo a o poo eca aoo a a.

epecaoa c pacpee oaaa a 9-. oa oa aaec E-oo (o expansion). aoo 4-ooo xooo oa ep eep peca coo a a xooo oa, a opo pe - o xooo oa. B 7- oaao, ae o peyaa cooecy a o cxox ax. Hapep, xooo oa o 3 epeecc o 4 xooo oa, a xooo oa o 21 - o 30 32 xooo oa.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 5 6 7 8 9 10 1112 13 14 15 16 1718 19 20 21 22 Pc. 12-3. epecaoa c pacpee.

Xo xoo o oe xooo, a xoo o eeppye ya xoo o.

Ta. 12-5.

epecaoa c pacpee 32, 1, 2, 3, 4, 5, 4, 5, 6, 7, 8, 9, 8, 9, 10, 11, 12., 13, 12, 13, 14, 15, 16, 17, 16, 17, 18, 19, 20, 21, 20, 21, 22, 23, 24, 25, 24, 25, 26, 27, 28, 29, 28, 29, 30, 31, 32, ocmaoa c noo S-oo oce oee caoo oa c pacpe oo c oo XOR a 48-o peyao oec oepa ocao. ocao pooc oc oax ocao, S-oax (o substitution). aoo S-oa 6-o xo 4-o xo, ceo coyec oce pax S-oo. ( oc S-oo DES opeyec 256 ao a.) 48 o ec a oce 6-ox ooa. a oe oo opaaaec oe S-oo: ep oo - S-oo 1, o po - S-oo 2, a aee. C. 8-.

46-o xo S-o 1 S-o 2 S-o 3 S-o 4 S-o 5 S-o 6 S-o 7 S-o 32-o xo Pc. 12-4. ocaoa - S-o.

a S-o pecae coo ay 2 cpo 16 coo. a ee oe ec 4 o co. o 6 xo a S-oa opeeec, o a oepa coo cpo ca xooe aee. Bce oce S-oo oaa 6-.

Ta. 12-6.

S-o S-o 1:

14, 4, 13, 1, 2, 15, 11, 8, 3, 10, 6, 12., 5, 9, 0, 7, 0, 15, 7, 4, 14, 2, 13, 1, 10, 6, 12., 11, 9, 5, 3, 8, 4, 1, 14, 8, 13, 6, 2, 11, 15, 12, 9, 7, 3, 10, 5, 0, 15, 12, 8, 2, 4, 9, 1, 7, 5, 11, 3, 14, 10, 0, 6, 13, S-o 2:

15, 1, 8, 14, 6, 11, 3, 4, 9, 7, 2, 13, 12, 0, 5, 10, 3, 13, 4, 7, 15, 2, 8, 14, 12, 0, 1, 10, 6, 9, 11, 5, 0, 14, 7, 11, 10, 4, 13, 1, 5, 8, 12, 6, 9, 3, 2, 15, 13, 8, 10, 1, 3, 15, 4, 2, 11, 6, 7, 12, 0, 5, 14, 9, S-o 3:

10, 0, 9, 14, 6, 3, 15, 5, 1, 13, 12, 7, 11, 4, 2, 8, 13, 7, 0, 9, 3, 4, 6, 10, 2, 8, 5, 14, 12, 11, 15, 1, 13, 6, 4, 9, 8, 15, 3, 0, 11, 1, 2, 12, 5, 10, 14, 7, 1, 10, 13, 0, 6, 9, 8, 7, 4, 15, 14, 3, 11, 5, 2, 12, S-o 4:

7, 13, 14, 3, 0, 6, 9, 10, 1, 2, 8, 5, 11, 12, 4, 15, 13, 8, 11, 5, 6. 15, 0, 3, 4, 7, 2, 12, 1, 10, 14, 9, 10, 6, 9, 0, 12, 11, 7, 13, 15, 1, 3, 14, 5, 2, 8, 4, 3, 15, 0, 6, 10, 1, 13, 8, 9, 4, 5, 11, 12, 7, 2, 14, S-o 5:

2, 12, 4, 1, 7, 10, 11, 6, 8, 5, 3, 15, 13, 0, 14, 9, 14, 11, 2, 12, 4, 7, 13, 1, 5, 0, 15, 10, 3, 9, 8, 6, 4, 2, 1, 11, 10, 13, 7, 8, 15, 9, 12, 5, 6, 3, 0, 14, 11, 8, 12, 7, 1, 14, 2, 13, 6, 15, 0, 9, 10, 4, 5, 3, S-o 6:

12, 1, 10, 15, 9, 2, 6, 8, 0, 13, 3, 4, 14, 7, 5, 11, 10, 15, 4, 2, 7, 12, 9, 5, 6, 1, 13, 14, 0, 11, 3, 8, 9, 14, 15, 5, 2, 8, 12, 3, 7, 0, 4, 10, 1, 13, 11, 6, 4, 3, 2, 12, 9, 5, 15, 10, 11, 14, 1, 7, 6, 0, 8, 13, S-o 7:

4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1, 13, 0, 11, 7, 4, 9, 1, 10, 14, 3, 5, 12, 2, 15, 8, 6, 1, 4, 11, 13, 12, 3, 7, 14, 10, 15, 6, 8, 0, 5, 9, 2, 6, 11, 13, 8, 1, 4, 10, 7, 9, 5, 0, 15, 14, 2, 3, 12, S-o 8:

13, 2, 8, 4, 6, 15, 11, 1, 10, 9, 3, 14, 5, 0, 12, 7, 1, 15, 13, 8, 10, 3, 7, 4, 12, 5, 6, 11, 0, 14, 9, 2, 7, 11, 4, 1, 9, 12, 14, 2, 0, 6, 10, 13, 15, 3, 5, 8, 2, 1, 14, 7, 4, 10, 8, 13, 15, 12, 9, 0, 3, 5, 6, Bxoe oco opao opee ee S-oa. Paccop 6-o xo S-oa: b1, b2, b3, b4, b5 b6. b1 b6 oec, opay 2-ooe co o 0 o 3, cooecyee cpoe a.

Cpee 4 a, c b2 o b5, oec, opay 4-ooe co o 0 o 15, cooecyee coy a .

Hapep, yc a xo ecoo S-oa (.e., y XOR c 31 o 36) oaae 110011. ep oce , oec, opay 11, o cooecye cpoe 3 ecoo S-oa. Cpee 4 a opa y 1001, o cooecye coy 9 oo e S-oa. ee S-oa 6, axoc a epecee cpo 3 coa 9, - o 14. (He aae, o cpo co yepyc c 0, a e c 1.) Beco 110011 oca ec 1110.

oeo e, aoo ee peaoa S-o popao e acco c 64 eea. oo opeyec epeyopo ee, o e ec pyo aae. (e ec, e e op o eeo, eocaoo. S-o cpoepoa oe aeo.) Oao ao coco oca S oo ooae o, a o paoa. a S-o oo paccapa a y ocao 4 ooo eea: b2 o b5c xoo, a eoopoe 4-ooe co - peyao. b1 b6 opee c coce oa, o opee oy epex y ocao, oox ao S oe.

ocaoa c oo S-oo ec e ao DES. pye ec aopa e eo oac aay. S-o ee, eo o oe cee, e ce ocaoe, oece a eoacoc DES.

B peyae oo aa ocao oyac oce 4-ox oo, oope o oec e 32-o o. o o ocyae a xo ceyeo aa - epecao c oo P-oo.

epecmaoa c noo P-oo 32-o xo ocao c oo S-oo, epeacoac cooec c P-oo. a e pecaoa epeeae a xoo pyy o, o e coyec a, o e oppyec. o poecc aaec po epecaoo poco epecaoo. o, oope epeeac , oaa 5-. Hapep, 21 epeeaec o 4, a 4 - o 31.

Ta. 12-7.

epecaoa c oo P-oo 16, 7, 20, 21, 29, 12, 28, 17, 1, 15, 23, 26, 5, 18, 31, 10, 2, 8, 24, 14, 32, 27, 3, 9, 19, 13, 30, 6, 22, 11, 4, Haoe, peya epecao c oo P-oa oeec ocpeco XOR c eo ooo epoaaoo 64-ooo oa. ae ea paa oo ec eca, aaec cey a.

aumea nepecmaoa aea epecaoa ec opao o ooe aao epecao ocaa 4-.

Opae ae, o ea paa oo e ec eca oce oceeo aa DES, eco oo oee o R16L16 coyec a xo aeo epecao. B o e eo oc o eoo, epecaoa ooo c ocey ec co pea oo aoy e pey ay. o ceao oo, o aop oo o cooa a poa, a ep poa.

Ta. 12-8.

aea epecaoa 40, 8, 48, 16, 56, 24, 64, 32, 39, 7, 47, 15, 55, 23, 63, 31, 38, 6, 46, 14, 54, 22, 62, 30, 37, 5, 45, 13, 53, 21, 61, 29, 36, 4, 44, 12, 52, 20, 60, 28, 35, 3, 43, 11, 51, 19, 59, 27, 34, 2, 42, 10, 50, 18, 58, 26, 33, 1, 41, 9, 49, 17, 57, eupupoaue DES oce cex ocaoo, epecaoo, oepa XOR ecx co oo oya, o a o p eppoa, peo oac o aopa poa, oo ae aya. Hapo, pae ooe DES oopa a, o ooc oe oeoe coco: poa e ppoa coyec o o e aop.

DES ooe cooa poa eppoa oa oy y e y. Ec eoe oe coco o, o o cooac opao ope. To ec, ec a aax poa cooac K1, K2, K3,..., K16, o a eppoa yy K16, K15, K14,..., K1.

Aop, oop coae aoo aa, ae e. caec apao, a co o ca pao 0, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1.

Peu DES FIPS PUB 81 opeee epe pea pao: ECB, CBC, OFB CFB (c. ay 9) [1143]. aoce caap ANSI opee poa ECB CBC, a poep ooc - CBC n-o CFB [52].

B pe popaoo oecee cepa oo e aa. -a coe poco oce cyecyx oepecx popa coyec ECB, xo o pe aoee ycee cp . CBC coyec peo ecop a o, o o eaeo coee, e ECB, oeceae oy eoacoc.

Annapame u npopae peauauu DES O ex aapax popax peaax aopa oo caoc [997, 81, 533, 534, 437, 738, 1573, 176, 271, 1572]. epaec, o cao cpo ec pocxea DES, papaoaa Digital E uipment Corporation [512]. Oa oepae pe ECB CBC ocoaa a eo ape GaAs, cocoe 50000 pacopo. ae oy apoac eppoac co copoc 1 a ceyy, opaaa 16.8 oo oo ceyy. o eae. apaep pa oepecx pocxe DES pee 3-. ayec poope ey aoo acoo copoc opao a x oycoe oeepae yp pocxe, oopo oe peaoao ecoo pa o ax apaeo DES-exao.

Haoee aec pocxeo DES ec 6868 VLSI (paee aaac "Gatekeeper'' - Bpaap).

Oa e oo oe o poae DES a 8 ao (aopaope poo oy ea o a aa), o ae o poepa DES pee ECB a 25 ao, a poepa DES peax OFB CBC - a 35 ao. Me o aec eoo, o yep ac, oa eo a paoae.

popaa peaa DES a pee IBM 3090 oe o 32000 poa DES cey y. Ha pyx aopax copoc e, o ce pao ocaoo ea. B 2- [603, 793] pee ec ee peya oe pax popoeccopo Intel Motorola.

Ta. 12-9.

oepece pocxe DES pooe Mpocxea o Taoa acoa Copoc ax ocyoc AMD Am9518 1981 3 M l.3 Ma/c H AMD Am9568 ? 4 M l.5 Ma/c H AMD AmZ8068 1982 4 M l.7 Ma/c H AT&T T7000A 1985 ? l.9 Ma/c H CE-Infosys SuperCrypt 1992 20 M 12.5 Ma/c CE99C CE-Infosys SuperCrypt 1994 30 M 20.0 Ma/c CE99C003A Cryptech Cry12C102 1989 20 M 2.8 Ma/c Newbridge CA20C03A 1991 25 M 3.85 Ma/c Newbridge CA20C03W 1992 8 M 0.64 Ma/c Newbridge CA95C68/18/0 1993 33 M 14.67 Ma/c Pijnenburg PCC100 ? ? 2.5 Ma/c Semaphore Roadrunner284 ? 40 M 35.5 Ma/c Communications VLSI Technology VM007 1993 32 M 200.0 Ma/c VLSI Technology VM009 1993 33 M 14.0 VLSI Technology 6868 1995 32 M 64.0 Ma/c Western Digital WD2001/2002 1984 3 M 0.23 Ma/c H Ta. 12-10.

Copoc DES a pax popoeccopax oepax poeccop Copoc ( M) o DES ( c) 8088 4.7 68000 7.6 80286 6 68020 16 68030 16 80386 25 68030 50 68040 25 68040 40 80486 66 Sun ELC HyperSparc RS6000-350 Sparc 10/52 DEC Alpha 4000/610 HP9000/887 125 196, 12.3 eonacoc DES ao epecyc eoacoc DES [458]. o oo paccye o e a, oece epa cxee S-oo. S-o aoee ace - ae-o oca, e oo o c e eo ae o y. Xo IBM yepaa, o paoa aopa a peyao 17 eoeo e ecoo poaaa, eoope oacac, o NSA cao aop aey, oopa oo aecy eo eppoa epexaee coo e.

oe o paee Ceaa CA peao aeo pacceoa o opoc 1978 oy. Peya pao oea acepee, o opx oax oo pacceoa c NSA c ce o e eyeco eaece poepoae aopa [1552]. "o caao, o NSA yeo IBM ocaooc oee opooo a, oceo ooo papaoa cpyyp S-oo oepo, o ooaeo apae DES, c yeo cex a NSA, ocycoa cacece aeaece pe " [435]. Oao, a a paeco e oyoao opooc pacceoa, ox e y e e yaoc.

Tae (Tuchman) Maep (Meyer), papaoae DES popa IBM, a, o NSA e eo poe [841]:

x oco oxoo oc cx ocaoo, epecaoo y apoa e.... IBM o poce NSA acepeo opa, acayc pepe opa.... "NSA cooo a, o caocoeo a o o op p cepeo, coyex coa x cocex aopo", - o ce Tae.

oe oo cae Tae ca: "Aop DES ooc papaoa yp IBM ee copy a. NSA e pooao eo c!" Tae oep o yepee coe oae o c o p DES a Haoao oepe o oepo eoacoc (National Computer Security Conference) 1992 oy.

C pyo copo, oepc ca [373, 374]: "Aeco aoao eoacoc (NSA) ae o o ao IBM exec coea." A oxe (Konheim) yepa: "M oca S-o Bao. O epyc ooc epepaoa. M poep x, o po ay poepy." Ha o a cc ac a a oaaeco, o NSA cao aey DES. o opocy o ao-o peaepeo o c ae DES NSA ao [363]:

Ooceo Caapa poa ax (DES) cae, o oe a a opoc o po NSA papaoe DES coepc oyoax oax pacceoa oea Ceaa o paee, poeeoo 1978 oy. B cooe oea yaaec, o NSA o opao e caao aop, o eoacoc, peocaea DES ece pex ax, c e a oopx o papaoa, a oee e aeaa eee o pae epe 5-10 e.

opoe oop, NSA e oco e aoc oc ax ocae aop DES.

Toa oey o e S-o? Moe , o apapoa, o aea e ye cpoea DES cao IBM. NSA e o p oep cceoae IBM, oo oo pe, o e o oa co co o, ec e oece ocyce aee DES. aae S-oo oo o c o coo apapoa o.

Coce eao oe peya poaaa poc o opoc, oop eee ox e peeo cey.

Cae u -a oo, o epoaa eec p oye oa aoo aa aopa, opeeee epoaae c ca [721, 427]. Bcoe, epoaaoe aee paceec a e oo, aa oopx caec eaco. Ec ce ao oo pa 0 1, o cex ao aopa coyec o o e . o oe poo, ec coco ox 1, ox 0, ec oa ooa a coco ox 1, a pya - ox 0. poe oo, y a cax a oaa p y coca, ca x eoacoc [427].

epe cax a oaa ecaapo e 1-. (He aae, o a oco o eoc.) Ta. 12-11.

Cae DES aee caoo a (c a e oc) ece 0101 0101 0101 0101 0000000 1F1F 1F1F 0E0E 0E0E 0000000 FFFFFFF E0E0 E0E0 F1F1 F1F1 FFFFFFF FEFE FEFE FEFE FEFE FFFFFFF FFFFFFF poe oo, eoope ap e p poa epeo op ec e poec.

coa, o e ap oe pacpoa cooe, apoae py o ap.

o pocxo -a eoa, coyeoo DES eepa oe - eco 16 pax oe eeppy oo a pax oa. B aope a x oe coyec oce pa. , aaee oyca a, ecaapo e pee 0-.

Ta. 12-12.

oycae ap e DES 01FE 01FE 01FE 01FE FE01 FE01 FE01 FE 1FE0 1FE0 0EF1 0EF1 E01F E01F F10E F10E 01E0 01E0 01F1 01F1 E001 E001 F101 F 1FFE 1EEE 0EFE 0EFE FE1F FE1F FE0E FE0E 011F 011F 010E 010E 1F01 1F01 0E01 0E E0FE E0FE F1FE F1FE FEE0 FEE0 FEE1 FEE P e eeppye oo epe oa, a oopx epe paa coyec aope.

ooo cae epece -1-.

Ta. 12-13.

Booo cae DES 1F 1F 01 01 0E 0E 01 01 E0 01 01 E0 F1 01 01 F 01 1F 1F 01 01 0E 0E 01 FE 1F 01 E0 FE 0E 01 F 1F 01 01 1F 0E 01 01 0E FE 01 1F E0 FE 01 0E F 01 01 1F 1F 01 01 0E 0E E0 1F 1F E0 F1 0E 0E F E0 E0 01 01 F1 F1 01 01 FE 01 01 FE FE 01 01 FE FE FE 01 01 FE FE 01 01 E0 1F 01 FE F1 0E 01 FE FE E0 1F 01 FE F1 0E 01 E0 01 1F FE F1 01 0E FE E0 FE 1F 01 F1 FE 0E 01 FE 1F 1F FE FE 0E 0E FE FE E0 01 1F FE F1 01 0E 1F FE 01 E0 0E FE 01 F E0 FE 01 1F F1 FE 01 0E 01 FE 1F E0 01 FE 0E F E0 E0 1F 1F F1 F1 0E 0E 1F E0 01 FE 0E F1 01 FE FE FE 1F 1F FE FE 0E 0E 01 E0 1F FE 01 F1 0E FE FE 1F E0 01 FE 0E F1 01 01 01 E0 E0 01 01 F1 F E0 1F FE 01 F1 0E FE 01 1F 1F E0 E0 0E 0E F1 F FE 01 E0 1F FE 01 F1 0E 1F 01 FE E0 0E 01 FE F E0 01 FE 1F F1 01 FE 0E 01 1F FE E0 01 0E FE F 01 E0 E0 01 01 F1 F1 01 1F 01 E0 FE 0E 01 F1 FE 1F FE E0 01 0E FE F0 01 01 1F E0 FE 01 0E F1 FE 1F E0 FE 01 0E F1 FE 01 01 01 FE FE 01 01 FE FE 01 FE FE 01 01 FE FE 01 1F 1F FE FE 0E 0E FE FE 1F E0 E0 1F 0E F1 F1 0E FE FE E0 E0 FE FE F1 F 01 FE E0 1F 01 FE F1 0E E0 FE FE E0 F1 FE FE F 01 E0 FE 1F 01 F1 FE 0E FE E0 E0 FE FE F1 F1 FE 1F FE FE 1F 0E FE FE 0E E0 E0 FE FE F1 F1 FE FE pee, e opa DES cae , opae ae a o, o 64 a - o poea ac ooo aopa 72057594037927936 oox e. Ec paee cyao, epooc pa o cax e peepeo aa. Ec aco apao, oee cea poep "a caoc" ceeppoa . Heoope ya, o eeo ecooc a o ce. pye y epa, o poepa oe ea, oey ee e o.

ae aa cax oycax e pee [1116]. pyx cax e poecce c ceoa aeo e o.

u-onoeu Bo ooe ooee a, ae ce 0 a 1 ce 1 - a 0. Teep, ec o opoo eca apoa opa o, o ooee a p poa pepa ooee oa o poo eca ooee oa poeca. Ec x' ooaae ooee x, o ceyee epo:

EK(P) = C EK'(P') = C' B o e eo aceoo. Ha ao ae oce epecao c pacpee o oep a c oepa XOR c pao ooo. p cece oo aa ec peeoe coco oeapoc.

o oaae, o p oe cp DES c pa op eco yo poep oo ooy oox e: 255 eco 256 [1080]. xa (Eli Biham) A ap oaa [172], o cyecye cpe c ec op eco, eee y e cooc, oopoo yo e ee 233 ecx opx eco.

Ocaec opoco, ec aoe coco caoc, a a oce cooe e o eapx oo opoo eca ( cyaoo opoo eca ac "po" peao e), a ooaee oo peype e ooac oo.

Aepaueca cmpymypa Bce ooe 64-oe o opoo eca oo oopa a 64-oe o poeca 264! Pa cocoa. Aop DES, coy 56-o , peocae a (peo 1017) ax oopae. cooae oopaoo poa a ep o o e aeo ye o oox oopae. Ho o pao oo, ec ece DES e oaae opeeeo aepaeco cpyypo.

Ec DES ay, o x K1 K2 cea cyecoao aoe K3, o EK (EK (P)) = EK (P) 2 1 py coa, oepa poa DES opaoaa pyy, poae aopa oo op o o eca oceoaeo c oo K1 K2 o eo poa oo o K3. o ee xye, DES ycee cp "cpea ocepee" c ec op eco, oopoo opeoaoc oo 228 ao [807].

Ec DES c, o x K1, K2 K3 cea cyecoao aoe K4, o EK (EK (EK ( P))) = EK (P) 3 2 1 Tpooe poae o ecoe. (aee, o ay p oaeo ec c , o c p e oaeo ec ay.) P ocao oo a pae eopeeco paoe oa oepca, o oo eocaoo [377].

Pae popa ac pe y poey [588, 427, 431, 527, 723, 789]. B oopxc c e peax copac "eopoepe oaaeca" oo, o DES e ec pyo [807, 371, 808, 1116, 809], o oo 1992 oy popaa yaoc o oaa ooaeo [293]. oepc ye p ae, o oaa IBM aa o o c caoo aaa.

ua a B opao ae p IBM NBS peoaaoc cooa 112-o . oy pee, oa DES caapo, a a yeac o 56 . Moe popa acaa a oee o e. Oco x apyeo o cpe pyo co (c. pae 7.1).

B 1976 1977 . Xea yepa, o ceapoa apae oep cp DES, co 20 oo oapo, coe pacp a e. B 1981 oy ye pe oca o yx e, a cooc - o 50 oo oapo [491]. Xea yepa, o cpe o oe pee axooc a peea oooce o opaa, poe oox NSA, o o 1990 oy DES oe ooc ypa co eoacoc [714].

Xea [716] poeocppoa ee o apye po aoo paepa a: paea oe a a pe, oo ycop poecc oca. O peo c xpa 2 oox peyao poa a oo o eceoo oa opoo eca. Toa oa eec o o a poaay opeyec oo ca o opoo eca pye oo, cp oyc peya a . Xea oe cooc aoo ycpoca cp 5 oo oapo.

Apye a po cyecoa ao-y ao yepe paeceoo ycpoca cp DES pooa oc. Moe yaa a o, o cpeee pe apao a oa pocxe DES oa e o o acoo, o oecea paoy ycpoca. B [1278] o oaao, o oo opae oee e ocaoo. pye cceoae peaa coco ee oe ycop poecc ye e oaa pocxe.

Mey e, aapae peaa DES oceeo pc peaa peoa o oe poa ceyy, peeoo ceapoao ao Xeaa. B 1984 oy ye pocxe DES, cocoe o 256000 poa ceyy [533, 534]. 1987 oy papaoa pocxe DES, oe 512000 poa ceyy, cao oo oee apaa, cocooo poep ce oa e ceyy [738, 1573]. A 1993 Ma Bep (Michael Wiener) cpoepoa ay cooc 1 o oapo, oopa oe o cpe DES p y o co cpee a 3.5 aca (c. pae 7.1).

Ho opo e a o coa o a, xoe payo peoo, o oy-o o yaoc.

Mo oapo - o e co oe e oo ae e oe oo cpa.

B 1990 oy a pacx aeaa, xa (Biham) ap, op epea p oaa, eo, oop oo oca ooe opoc a. pee, e paccop o eo, epec eoop py p ec aea apec DES.

ouecmo mano oey 16 ao? oey e 32? oce ao a poeca ec ye cex o opoo eca cex o a [1078, 1080], a oce oc ao poec o cy pecae coo cyay y cex o opoo eca cex o a [880]. (o aaec a eo.) Ta oey e ocaoc oce oc ao?

B eee ox e epc DES c yee co ao yceo cpac. DES c pe e p aa eo oa 1982 oy [49]. DES c ec aa a eco oa oe [336]. epea poaa xaa apa oc o: DES c oeco ao, e 16, oe oa c oo cp c ec op eco cpee, e c o o cp pyo co. oeo py o ec oee epo cocoo cp, o ep e ce o a, o aop coep poo 16 ao.

poemupoaue S-oo oo yee a NSA ae o ee coepa S-oo. Hacaa a oepe cxe S-oo, NSA ao, o ea aopa c "yce" e oy oyoa. Moe popa oopea, o papaoae NSA S-o coepa aey, ooy NSA eo o poaa aopa.

C oea oe aopa aaa cxe pao S-oo pep aee yc. B cepee 70-x Lexar Corporation [961, 721] Bell Laboratories [1120] cceoa paoy S-oo. H oo cceoa e oapyo ax caoce, xo oa cceoa oapy eo co ca. S-o e oe coc, ox c e peopaoae, e oo o oa p x oppoa cya opao. oaa Bell Laboratories ocapoaa, o S-o oy coepa cpe ae, a oa Lexar aepac ceye pao:

B DES ae cpyyp, ecoeo caee oe ycooc cce opeee a cp. Tae ae cpyyp, o ope, o oy, oca ccey.

C pyo copo o oa ae coepa ceyee peypeee:

... poea [oca cpyyp S-oax] ycoec -a cocooc eoeecoo coa axo cyax ax cpyyp, oope ece oc oce e c cpyypa.

Ha opo coye o DES Aeco aoao eoacoc pacpo p pepe poepo a S-oo [229]. Ho o e coo c cex oope, cop pooc [228, 422, 714, 1506, 1551].

B epaype po S-o cac yee e. ocee p a peyaa eepoo S-oa oy oye e e cocoo, o epe, p oo ooe eoopx xox o [436, 438]. Pae, o aeo oopae xoe ae S-oo oy aa oao p e ya [436]. Moo oy peya ooo aa DES, e oo pex cocex S-oax [487].

ap ae, o ee S-oo, aaoc, ecoo eyco, o e copac cooa y eycooc cp [1423]. (O yoy o ocoeoc oo S-oa, o oo cyc oce e e poaa ocooac o ocoeoc.) pye cceoae oaa, o o y e S-oo c aae xapaepca o cooac oeece p poe poa [266).

onoumee peymam pep pye o poaapoa DES. O popao ca aooep o c, coy cepae ec [559]. pye aapoa oceoaeoc ex oee, o x cpe oepeo eyay oce oc ao [1297, 336, 531]. Heoyoaoe cpe, oe oe 1987 oy oao co (Donald Davies), cooao coco, c oo oopoo epecaoa c pacpee oope cocex S-oax, o cpe ae oaaoc ecoe oce oc ao [172, 429].

12.4 epea e pnoaa uepeua punmoaau B 1990 oy xa A ap e oe epeaoo poaaa [167, 168, 171, 172]. o o, paee eec eo poaaa. coy o eo, xa ap a coco cp DES c cooae paoo opoo eca, oop eee cp p y o co.

epea poaa paoae c apa poeco, ope ec oopx coepa opeeee o. Meo aapye o x o poecce poxoe opx eco epe a DES p poa o e e o.

poco epe apy opx eco c cpoa pae. Moo pa a opx eca cya opao, o oac py o pya opeee opao, poaay ae e yo a x ae. ( DES ep "pae" opeeec c oo XOR. pyx aopo o ep oe opeec o pyoy.) ae, coy pa oyxc poecax, p co pae epooc pa a. B poecce aeeo aaa ceyx ap poe co o e cae aoee epo. o ec pa .

opooc opao coee. Ha 7- pecaea y ooo aa DES. pecae cee apy x o o, X X', c pae X. Bxo, Y Y' ec, ceoaeo, eco pae ey Y. ec epecaoa c pacpee, P-o, ooy ec A C. B B' eec, o x paoc B eca paa A. (p paccope pa XOR Ki c A A' epayc.) oa ce poco. oyc o e: oo aaoo A e ce ae C paoepo. oa A C ooe pe oo ae o A XOR Ki A' XOR Ki. Ta a A A' ec, o ae a opa o Ki.

X,X E E(X) Ki,A,B S-o,C P,Y Y Pc. 12-5. y aa DES.

Be a oce a DES. (p epeao poaae aaa aea e pecao oppyc. O e a cpe, oo apy ocee.) Ec coe ope e K16, o oy 48 o a. (He aae, a ao ae o coco 48 o 56 ooo a.) Ocaec 8 o oe oy py oo. K16 ac a epea poaa.

Opeeee pa ap opx eco oaa coo epooc a opeeee pa oyaex poeco. pa aac xapaepca. Xapaepc pacpocpa c a opeeeoe oeco ao o cyecy opee poxoee x ao. Cyecy xooe pae, pae a ao ae xooe pae - c opeeeo epooc.

xapaepc oo a, coa ay, cpo oopo peca ooe xo XOR (XOR yx pax aopo xox o), co - ooe peya XOR, a ee - coo pa ope peya XOR cpeaec aaoo xoa XOR. Tay ay oo ceeppoa aoo oc S-oo DES.

Hapep, a 6-a oaaa xapaepca ooo aa. Bxooe pae cea pao L, oo oe poo. Bxooe pae cpaa pao 0. ( yx xoo oaoa paa ooa, ooy x pa e - 0.) Ta a a xoe y aa e ax pa, o e pa a xoe y aa.

Ceoaeo, xooe pae eo ac - L 0 = L, a xooe pae pao ac - 0. o p aa xapaepca, oa ca c epooc 1.

Ha 6- oaaa eee oea xapaepca. Coa, pae L ex ace pooo. Bxooe pae pax ace pao 0x60000000, a xoa oac oo ep pe a. C epo oc 14/64 pae a xoe y aa pao L 0x00808200. o oaae, o xooe pae ex oo pao L 0x00808200, a xooe pae pax oo - 0x60000000 (c epooc 14/64) = L = 0 = L = X Ki Ki f f = 0 = 0 = Y = X = L = 0 = L 0 = X X = 0x Y = 0x C epooc 1 C epooc 14/ (b) (a) Pc. 12-6. Xapaepc DES.

Pae xapaepc oo oe. Tae, p yco, o a eac, epooc o y epeoac. Ha 5- oec e paee ocax xapaepc. Bxooe pae cea pao 0x00808200, a cpaa - 0x60000000. B oe epoo aa xooe pae peya y aa ep a y py pya, xooe pae pao 0. o pae ocyae a xo opoo aa, ooaeoe xooe pae cea pao 0x60000000, a cpaa - 0. Bepooc o yxao xapaepc - 14/64.

= Y = X Ki f = Y = X = X = X Ki+ f = 0 = = X = Y X = 0x Y = 0x C epooc 14/ (b) Pc. 12-7. yxaa xapaepca DES.

apa opx eco, cooecyx xapaepce, aaec pao apo, a apa opx eco, ecooecyx xapaepce - epao apo. paa apa ocaae pa aa ( oceeo aa xapaepc), epaa apa - cya aa.

o a pa aa, yo poco copa ocaooe oeco peooe. O oe ye cpeac ae, e ce ocae. aec, pa o oe cex cya oox oe.

a, epeaoe ocooe cpe n-aoo DES ae 48-o o, coye a ae n, a ocaec 8 o a oyac c oo pyoo oa.

Ho p aex poe ce e ocaec. Bo epx, oa e epeee epe eoopoe opoooe a ee, epooc ycexa peepeo aa. To ec, oa e ye aoeo ocaooe oeco a x, e pa o ya eooo. poe oo, aoe cpe e pao. xp a e epooce 248 oox e eoxoo cooa ce, oy e cp o peyec co oo ax.

xa ap peo co coco cp. Beco cooa 15-ao xapaepc 16 aoo DES, o cooa 13-ay xapaepcy p peo oye ocex eco x ao. oee opoa xapaepca c oe epooc ye paoa ye. O ae co oa eoope coe aeaece pe oye epox 56-ox e, oope poepc eeeo, a opao ycpaac opeoc ceax. Taoe cpe ocae yc e xa, a oo axoc paa apa. o ooe ea opoooo ea oy ey acoc epooc ycexa. Ec y ac 1000 pa ee ap, o epooc ycexa 1000 pa e e. o y yaco, o o aoo ye, e opo. Bcea ec eoopa epooc eeeo y a .

Pages:     || 2 | 3 |



2011 www.dissers.ru -

, .
, , , , 1-2 .