'[e.uoctuzol
etzqeueo1ddlĄ zelo .ggq .qcduep erue.uo"r;fzs olzpltspue}s €u t o|evpzol M p, ltfceuro;ur IIJoa1 ulolu€.1Y\oso}s€z r fe1euoąsop rc9ou[e1 uercólod z atuzcb1tlttget8
-o1ddq op €uouu€qs
etcgfepod qcts}uauolo qc,,{zcrupesez pu Z ole-Izpzol ,u lqcdu
-zcgerSo1ddrą ,tu'orue1sds ((Iłcduzcdse11.. qc't1sord op nruezpe,uo"rd,ttr €u I ol€Izp -fol |ń' :qc€łBluoł qcdct|ndó1seu eu órs rua1rdnąs I{?ŁTsł rc93zc lezs.t.rerd 6 eu.udsue1ur etu1o8azczs bs eruepeq eusazc1o dsłr qcd;op1 .u .tger8o1d,{r>l .łlgłtsIzp lącaJe1zc op aluozpts.Ą\ord.tt tue1.re.ła.ez lfcałelzpzor rlcoro!:zc qc.,(1e1sozod 16 'ru.{uzcrlqnd uazcnl4 z rgerBolddrl eruerupe8ez eu,rt913 Iuall.Ą\€}spozl.d 6-v q)EłelzpzoJ 6 .rudu1e.udrd ruezcn11 z óger8o1ddrą rua1esrdo .
'g 1 flvrzpzor 'qcru z
fezsrvr:erd
16 'rc93zc
iztl vu
euolerzpod
1se[ e>lzbrsx 'r.ouzc^ltsur
-al€lu IIJoo1 a11 rt |ecttndó1sdru. cŁlerunzoJ olu .o8euzcger8o1dd.rą nura1sds cartu .o8euzcd1euro}Blu n}słatpod eru _t|zoJz ozJqop e-IIzouI olw oz .uleut.roq lu€z€,tin ,otczsalłr .,tn'ou1,'(ro3lts alu -erusę[d,t.l Óq9rd ue1Łtpod n1peddzrd urdpzeą 1 ^\ -c1elzp cts.Ą\oJłsnllz dq .dpe11fzrd euzcr1 zol luełIcsolusv7 .urctez.ueu óts tletu -1ednzn etcglepod tsqo - ózpŁs >1et - ?np? .etzpo1opnesd .rr.t dsrdo e1src9 lorzp -J€q oz{B1 ue1epod qcduzcger8o1dd"rą łrorrra1sds qcduzo.r turfupurro;olu IuItss -ldo z zvt71y.eupóqzaru euo 1sef erzp8 .ure1 qcectuer8 qcduptszor rrt rue1dzco1 -Azld' buzc't}tsulołtsIu Ózper'11 .J€IIun cer;iroqctsz óts ue1ere1s olzpesez ł\ .Ic9ou -pn"r1 au.tted lzpoI lunlJo1dpne o8er4oJazs {€} op tsIcJts}op eqord arcsr,,rrrdzc6 .n}tsIueł op etc9tepod au€.ł\oclu?oJz ozpręq qcdcŁfn1ueze"rd .ta.o>1ru1a1dz3 e1p ewzce1dvn óts e1ezer1o Aqe ,b4zblsą ó1 cerrtoue1dez ne1 cótrrr. ua1etcqc .HIu .Iłca}oJplolo t qcduzcd1eurroJut .qcduzcd1eura1eur qce1erzpf,lr €u .,\Ąolpnls qctsIu -er8ord rvt' rut>1s.re1st8eu t >1e[ .rurącelcuacr1 erurorzod pu ou/LgJęz e[ndó1sd.u ue1 .ó.tte.rds etqos ólepz e1e .r1d1eur.roJul elp urr>1s;e1sr8eu 1oturpaz"rd ez ertuorzod eu Óger8o1dd;4 ure1epe1>1drrr' u1ocurT-ols€^\91uopn}s IqoN ;o '(1rsra,trun ,11 .csoul€nł{e rudu1o8o ł € Ic€ J łs ouJa}{€ J tsqo o zrto4tuzcÓrpod znl qcdcŁleru1sr gsózc vznp ez .1e,topozvrods qce1e1 gI qcru1ts}so ,.rn rger8o1ddDl elulzpolzp I}€p 'rt -eq lorvrzor qqdzs o+p€uod .uelupv8ez qcduzcd1sqefceds .qcdu1o8ezczs fzof1op qJIu z csozs{arrrr ez>1eupel .qcduocótrrtgod |e| rger8ouour r >1ezbrs>1 a1er.trt. o1e1s.uod qclults}so 16 .rger8o1ddo1 frezsqo oułołsl el{łsdzs,łlo8acŁfnrulaqo .g{Iu -zcbłpod' o3eu193o t o8actfndrezcf,'u' etuazlo1Ąłs luoJtsIluez z ónzbsn ó1 ure1esr4
qc€}q
d31s14
WSTEP
VIII
w którym opisałem system kryptograladziłem wiele tematów z zakresu teorii ,
faktoryzacja liczb naturalnych' W rozn publicznym, z których najważniejszy rie logarytmu dyskretnego ' W rozdziaoraz : jak standard podpisu cyfrowego' schemaprzykład jak na schematów, :h lodrabialnego. Rozdział 7 poświęciłem prolwi wielu róznych metod tworzenia lzy. Wreszcie w rozdziale 9 skupiłem się na schematach identYfikacji' ce
Iic
Starałem się obszernie pokazaó ,,jąd
iloPedYcznego' Z pewnością książka zawier a zrraczrn(
lub nawet dwusemestralny wykład. Ma zyć za pods by ogranicz łów 2-5. Pe zaawansowanych lub na poziomie magistr riałemztozdziaLów6-9.PonadtokazdyzrozdziaŁównrógłbystanowićpodstagłębiej w okreśIony obszar wę do wykładu *o,'og*n""nego, wchodzące1ojuż rienia funkcji podręcznika niniejsza książ-
ów i praktyków kryptografri, jako wproh jesicze dobrze nie poznali. Z tą ll;ryśl'ą rącą rozwinięciem wielu poruszonych tu tematów.
Jednym z najtrudniejszych problen
i teo. zł'ozonośćobliczeniowa, algorytmika związku z tymw larzędziamatematyczne. Jódnak
ekspertem
iw
e CzYtelnik jest w tYch sPrawach
w miarę potrzebv odpowiednie :wna wied,za w zakresie podstaw algebry
liniowejiarytmetykimodularnejwątpieniaCzYtelnikowisięprzyda.Temaw teorii informacji, pojęcie entropii ty bardziej .p"";^ri.ty",-.,f jak na przykład wprowadziłem od podstaw.
uosuxls 'A
sDIDnoO
.Bzpl.Ą\oJołs tsz nuleśd{sJo^o I.ł\\o.a{ItrĄI zolu.Ą\oJ ,ł\ Joluod nlu€ 1 Y\olo8dzld (8rnqIIJ uB^ u€qor lauolsue1 llocs Ótn>1órzq .JauaIM a{ItrN Z€Jo IItsIcntsA cJ€JĄ .p€ou urtsIll^Ą ,.rouuo3.6 ołnT (sozouantr paq .de,ue8og ,1oqcs.ro6 utsA Ilqd In€d .JoqoJN uoq .reu"re1y pI^€Q .so11etr,1-e1oą4
-IV
(s€dt€trĄI
.ur1retr41
qllay
^€Ic€A zrn1 .f1sro.to ałII^[ .eurreqcnq lalutso .presserg sa11r9 .opunlg oIJ€c
qog
.dep1e1g
.IcItY tsJ€łsntrĄI Łtn8n1sez ogouzcb1zpn fzęl.t.tyt eu rcsou1gB .ere11eg ITqIIĄ .d1eura1 et 4et ,d1e.tore8ns qn1 .9r.tre1spazrd o}JBł\ oJ9}{
-ozczs
M.certo11er1od .Ę?ŁIs{ peu dcerd olc{€Jl ,Ą\ nqcnp f1e,udzer1srvr ..r>11druod qn1 ,.tpó1q d1eą,Ęd.łr €u alulu d1v.udrrrdz.r1pod arp}ł .uroqoso nIaI,& 9€1Y\ołórzpod n1 urdq1etcq3 .YSn'!\ ou€.ĄA.oso}s euzcge.r3o1d,,(J}1 dprepuełs ouul z€Io
ggq
pe1>1.,(zrd
eu .ecf1ąęrd rt euerl.roso1s fure1sds ezsforuzę.ryrlgu
cI..Y\gTuo efĄp,+ E
..,(po1aru 7pŁq ercÓtod au^\ad qc,{cŁtnr1sn1l azJqop qn1 aruzc.,(1euJ.}Bul qcr4cue8e1e .r4d14erd e1e .qcfuzc,,(11e.rd 1fqzeru ,u9ua1sds dsrdo n1 clcsolIun cór.u rua13otr41
e1p qc.{u1o1sT l {€| .eruazpr,tt n11und o8auzcd1e.roe1 z qcdcŁfnsaJa}ul o]J'{y\olęz .qd14erd ztu Ię]]{IItsz |olll gezetf,.tlt r1eupet eu 1n1da €IcJB.óó.tsz .Ą\gl€ulat aczŁrs1 .e1n$1 rr.r urd1rełtez ((ac..t}{€Jd .Ą\ I luoe1 .Ąt.. rrroe1 [acót,t.r n1 1sat az ,ótvwzf,zl4 WaIuaI9aJ{o z bls btezpv,Bz atu f,zlpłĄ,qcd1 9rsoldeztd 1eluilrgl IIIauoIuI.&rod .1r^.
dEISIA
I8 ZL
zL
sgo -
. . ' . llsdT
.
"
......
aIuazP€1ll\,oJd^\
'z't, 'T
'e
pJ€PuBłS
.8
. €Iuazcl1t\c
. IB€.Ąe1
auzcgerBo1d.,tr1 fiua1sfs
.9.z
a,ł\olłnpoJd '9.Z
.v.z euzc.t1't'l4 99oBn1p I azcnlł aupó1g
. erdor1ua
ts
€ueIuJnH
qdor1ua lc9ous€ł^Ą ,I'z.z €Iu€.Ą\opoN
erdorlug
€ł€uo{sop
99oute1
.t,.Z
.7,.2..
.rz
euouuBqs €IIoaJ,
"
oBarrroruarrunr1s
.z
.9.Z'I '';Tr"';?
nr;fzs €zlT€u€oldfJ)il
-;Ęł'j,.i*
eu o8o}J€do
". .
IłJ1(IIBp €ru€/ńo{{zs
.
o9
89 s9 09 Lg vg Zg gv 9V ov
0v
8t
tc
I8 8Z
LZ 9Z
0z
.
ffifffffffi
.
",,,,{ri:,,'
dcbfnlnurrad r;fz5'9'I'T €IIIH IJ^ZS .9.I'l ' e.aręuaBrn r;.,(z5 .7.I.I ' ' fuzcruge 4[zg '8'I't . dł,oruar.tre1spod r;.,tzg '7'.I.I .' . . urarcÓrunsazrd z l1'[zg .I.T.T
8T
VI ZI 8
L
.
T
.A{9ula}sfso1d.,{r4qcf1sord€{II{
:aluazp€,,r.r'ord,11
ege.rBoldf.rrl
T
.T.T
euzcfsel;'1'T
rrFar+ ryds
SPIS TRESCI
Kontrowersje wokół DES 3.4. DES w praktYce 3.4'1. Tlyby działania DES pamięciowe _ próba 3.5. Wymagania czasowe a wymagania kompromisu
3.3.
Kryptoanaliza różnicowa 3.6.1. Atak na 3-rundowY szYfr DES 3.6.2. Atak na 6-rundowY szYfr DES 3.6.3. Inne przykłady kryptoanalizy różnicowej 3.7. Uwagi i bibliograńa
3.6.
Ćwiczenia
4.I. Wprowadzenie do kryptografii z kluczem 4.2. Jeszcze o teorii liczb '
publicznym
4.2.L. AlgorYtm Euklidesa
4.4. 4.5.
4.6
4.2'2. Chińskie twierdzenie o resztach 4.2.3. Dalsze PozYteczne faktY System krYPtograficznY RSA Implementacja RSA
4.8.
89 91
95 100 111
tlz
tr2
116 118 118
l2r 1,24
r25 r27 130
System krYPtograficznY R'abina AlgorytmY faktorYzacji
1,47
jawnego 4.6.2. Częściowa informacja o bitach tekstu
-
86
Probabilistyczny test na liczby pierwsze Ataki na RSA ' 4.6.1. Wykładnik deszyfrowania .
4.7.
85
t-16
4. System RSA i faktorYzacja
4.3.
83
4.8.1. MetodaP-1 4.8.2. Algorytm Dixona i sito kwadratowe 4.8.3. Algorytmy faktoryzacji w praktyce
4.9. Uwagi i bibliografia Ćwiczenia
139
L40
r45 t52 t52 1,54
156
r57 158
164
publicznym 5. Inne systerny kryptograficztre z kluczern ' ' 164 ' 5.1. System kryptograficzny ElGamala i logarytmy dyskretne ' ' ' 166 ' dyskretnego 5.1-1. Algorytmy dla problemu logarytmu . . ' L74 5.!.2. Bezpieczeństwo bitów logarytmu dyskretnego . krzywych eliptycznych . . . |79 5.2. Systemy oparte na ciałach skończonych i . 182 5.2.L. Ciała Galois 185 5.2.2. KrzYweeliPtYczne " ' I92 5.3. System plecakowy Merkle'a-Hellmana ' ' ' " ' 195 5.4. SYstemMcEliece'a ' 200 5.5. Uwagi i bibliografia 2n1 Ćwiczenia
tot ' ' tot. . ., Zot Igt . . .. . . L6z . T6z g8z .
vgz
"
..
'ErrTazrr/^C
€geJ8oIIqIqIIB€ł\n
.9.6
Irc€)lsf}uaPl aluo'ł€łzs{ozJd '9.6 nsldPod }€ruarlJs ^\ Ic9ol[€s?o} €u ołJ€do llcolsd1uapr f1eureqc5 '|v.6 I€ o}tsnbsrn$_no11rn3 1!ceąg,(1uep1 ł€IIIaqcS . otoure>lo rfce>1gd1uapt }€ulaqcs
€JJour[JS
1|ce1gf1uap1
.v.6
.t.6
ł€ulaqcs .z'6
atuazpe,Lrordrll 'T'6
1!cer1gf1uep1
?82
z8z ' ' " IBZ
8Lz
gLz . . . zLz . uz . . " 69Z
ggz . . . . €u€lullaH .. zgz .. Zgz
OgZ
fleruaqcg'6 'Erluazcr1^)
egerSollqrq r rBerrrn 'q'8 oBacŁlezprar,lł1odorues
z€ cnlł lJ;:olc^zl z ęz)I|IĄ aruerupe8zn .8.7.8 .7,.v'8 IJ,'\T z€ cnl{ eruerupe8zn ł9łołoJd .T.7.8
Iualualu1a1.{zrarr"rn z ęzJI|IĄ.{uerurf.ry' ł9{o1oJd fzcn11 .{uerruf..t ł-oło}old.7.8 €u€ulflag-oBagrq solaqraY 't'8 }€uaqcs .z.z.8 \ }€uoqcs .I.z.8
o8aslo
ezcn1ą rfcnqdr1sdp faudó1s^ó'
€Iuolg
€z'nPI
"
elcnqdr1sdp eud31s6 .e.8 eruazPe'tnordr11 'I'8
€zJnIł e[cnqr(.r1sr(p r a1ue1upe8zn
092 892
'
LgZ 992 092 6VZ
tvz
..
.'
..
.
T+7
. .. . . ....
.8
.€Iuazcl1ńc '6'L 1 18eru'n .8.L alu€.t\o}€c[
ege.r8or1q1q
****rBo1*fuą u".*",.^, "" "''^:$# ffi:ł::[ł:H t Ż ' nlgDls afcrlury auoztazszop '9'L
6tz gtz ::::::::::. 9tz
:*':'r:Ę.*-i.''";,:i".jijffiĘ:j;a Ęłi nł9J{s e|cąun'4 .L
9AZ ZTZ
'
.
EZ
927,
OZZ
. . . . . . . : . . . . . . .. .
9r7,
ZIZ
Ljz
'..
voz
.
eger8ołqlq l
'PruezJr^\c
,s"^n ]2l
""t"to*rpodarudsrdpo4
'9'9
. fstdPo4'9'9 attlezceztdezeru ,(srdpod a.ł\oz€JouPaf .t.9
;:1T$,tX':'J"'""TJfil:
eruazpe.łrord'g
:3
.T.9
-
rngsldpod r(leuraqcg'9
voz
ngsar
IIIX
srds
SPI1,IREŚCI
10.
305
Kody uwierzYtelniania
11. Tajne schematy
miara lnlormacJr vv ZórVu 11'5. l r 'J. Względna . liniowej Końirukcja Brickella oparta na przestrzeni liniowej 11'6. xońi."kcja u'o. .. . 11.7. Górne ograniczenie względnej miary informacji
ll'8.Konstrukcjaprzezrozkład ll.g.Uwagiibibliografia Ćwiczenia 12. Generowanie liczb pseudolosowych
12.1.Wprowadzenieiprzykłady 12.2. Nierozróżnialne ."t.tuay prawdopodobieństwa 12.2.1' Algorytm przewidywania następnego bitu 12.3. Generator Bluma-Bluma-Shuba 12.3.1. Bezpi""""'i't*o generatora BBS ' l2.4. Szyfrowanie probabilistyczne l2.S.Uwagiibibliografia Ćwiczenia 13. DowodY o wiedzY zerowej 13.1. Interakcyjne systemy dowodowe 13.2.Doskon.ł"do*odyówiedzyzerowej t3.3. Schemat wiązącego bitu . . 13.4. Dowody o obti""J"io*ej wiedzy zerowej l3.S. Rozumowanie o wiedzy zerowej l3.6.Uwagiibibliografia Ćwiczenia Dalsze lekturY
Bibliografia Skorowidz
326
współużytkowania
..
Jto a^1!
..
349
...353 ' " '357 '..358
360
.....360 ' . ' 364 . . ' 367 ' 37I ' ' 373 " " 379 " ' ' 384 ..'384 387
' ' 387 .....390 +UU . ' ' ' 402 " ' 407 " ' ' 409 ''.409 4LL
4I3 426
(Xp .,' du.&ę[ łs>Iołduło.&\Jald aTzpóq nsacoJd o3e1 ureo1rudnr o1
1!c>1un3
Łcorrrod ez oueru'or;l(zsep ruer8o1ddr1 duv1sdzn ę,Xa 1ic>1un; o+.tzr. :t oSaurrtef n}słał etuelł.or;dzs op IIge! az .ll,o €zpJaI1(\}S .7 łaunJ€lrrl n1 1se[ .,(zs[aru1o1sr[e1q
.r o8eu.uę[ nl$Ia} oBepzer1 tsIp u : ((r)ła)zp az IuI{€ł .rurefcąun; bs 61 + ) i cp I ) 1_ d: ła ,,(łn8eu .a ) Xp eruełror;dzsap e1n8er [e[ ecŁleperłr,odpo I 3 )a eluerl.ror;dzs e1n8ar eletu1sr a ) X o8apzvą tsIo (7) =)
.dzcn1ą dzcn11 qcdłrr1zour Iualolqz uduozcuo4s 1se[
.qcdue.uor;dzs€z
yezl1seztd.} (s)
1ll9}s{oł qcd.ur1zotu luaJolqz ruduozct;o>1s
+so| ) d
.qcdu.t.re[ 1Ą9łs{a1 qcd.trr1zoru IuoJoIqZ ruduozcuoąs rso|
|er9q
ep (a, ,
3
,
a
,
;l,
4)
(z) (I)
:DlunJts/lr ecŁfndó1seu Łs auotu1eds ó41bld Łu1o.trop ,|utr.nt/rzęu ruduzcger8o1ddo1 uraue1sds
T.T
vrclNl.łso
.o8auzcd1etue1errr nsrdez Łcourod ez [e19rc9 druezstdo 3tcen1ds Óa
.nr;.,(zs zcnlĄe-uz
dr9}1 .1e1og ?|qorf łs€Iruo}€u oł azotrĄI .o8eu.rrn,e| n}słot o8e.tro1porz cdzro.u1po .łeug{ alucłs 1rt' 1se[ aru .a1euu1 łsła}duervror;dzsez ua1 ctfn$.t'qcezrd .re{so ^r
duerqdrrl zezldod (luo.t'6o1dfi'.l,l1 l1izc) fiuomol'{fizsvz ?sąa? qgsods ue1 ,u dueurdzr1o eldsezrd rudzc od 'ezcn14 o8euolelsn trcB z cb,lplrl.tzn'du.ue! p>1e1 elnr;dzs efcl1y .tsIuazcr-uz o8aupez nł tsIu eru ern1>1nr1s [e[ o8auur {al^\Io{oc qnl a,Ą\oqzcll au
-ep
.n>1dzót ru.,(u1o.lllop
duł'o1s 1s1e1 9dq azotn ,ulfi,umot uapqay [e1ep bue.tz
'r.r. .ŁfceuuoJul ts .erwore1nduroł .u.r.o11og ?als qnl €uzclu 9ezu>1azld ecqe etc11y tr9p1 .€Je>lso vr1tutlttcezrd qcl €p ołelIunz -oJolał erur1 .per1dzrd eu .9fq ozoul tuoł€u€X -oJzolu d1epozod rc9ar1 euen,dzv>1eztd dqe ąe1 .n1euv4 o8auotuorqcolu lua/Ąłclu -parsod pz órs erugrterrunzorod .ruerą1og I Łlcl1y cęn'tzęu pŁ1po duerzpóq ar9p1 .ruoqoso lug,'&p oIuaI.ł\IIzoIun o1 .egerBo1ddrą arqos €I1rr€łs o1e[ .1ac .{,tto.te1spo4
n9tue1sdso1ddrą qcr(1sord g{IIą :aluazpeart'ord7y1 .1.1
eAe rE o1d,tt4 euzc
tse[X
t
1. KLASYCZNA KRYPTOGRAFIA
RysuNpx
1.1. Kanał komunikacyjny
Alicja i Bolek, aby ttzyć pewnego ust'
stosują następując wtedy, gdy będą p może ich śledzić,a
mo
Ali
u
i
ta ma postać ciągu znaków:
X:I1X2...lXn
r; tekstu jawnego nalezy eK1wyzLaczo\e] przez ao } i;est uta;,,iony za pomocą reguły szyfrowania ex(ł:t),1 < < rr,, i uzyskany ustalony k\lcz K. rut *ię" Alicja obiiczayź:
dla pewnej liczby naturalnej n
) t,
gdzie-kazdy symbol
'
ciąg tekstu zaszyfrowanego
Y
:
AtAz
"'un do Bolka dotrze tekst Yg2 ' ' ' An, ten ej dx, otrzymując pierwotny ciąg tek.1 ilustruje schemat kanału komunika-
cyjnego.
gdyz w przeoJzywiście, funkcja szyfrująca e6 musi być tóznowartościowa, zaszyftowanego nie byłoby ciwnym przypadku iódnoźna.,ne odczytanie tekstu możIiwe. Na przykład, gdy
a: ex(x't):
ex@z)' stwierdzić, czy g jest szyfrogramem od: jeśli2 : c, to każda funkcja szyfrująca riory tekstówjawnych i tekstów zaszyfro:ująca po prostu zmienia uporządkowanie
zbioru'
:
(D
- u) 1o
,-Z ) :
c
ł
o
l1(zc ,o
-
u,ł 1sa[
o8au1o.t.rop e1p
(s +
o)
,-Z )
'.uV
-Z )
) o o8apzvl elp 0 : o + (D - uL') : o o8eu1o,tłop lufr,umt,caz"t,d rua1uaura1e (9)
rldzc .eruerrtepop
'.o:o-|0:0-|tr
lufruyo.t'ynau tua}uoruala
=
łso! 0 (7)
:Q+il+D:
a.q,o qcdu1o.top tsIp t1,|zc ,auzcby 1sa| erue,to'epop (s)
io1q: q+D,-Z f g.tl qcdu1o.Ą\op €Ip t1f,zc,auuat,u'taz.l'd ,lp?'-V ) q+D tllzc'-V torqzezodozpomo.tdfi,m
i-Z
q'o
rye| atue.,tepop (6) aeu
etue.uepop (1)
:npo^!op Zaq n} e[ furtuerrud16 .qd1aur1dre ,ttęrd qcdueuz azlqop BIuBłBIZp auol9eDlo {eI csozs1órrvr tfetu1eds *Z n ęIuezoulu I €Iuts.Ą\€pop
.gI
:
9T poul
t7I
.91 opporu dqzcq rudl>1d,nz
ąe;
c3r.u ta1
.gI
+ 9T . 8
: t7I
.srz M
9I: tT.11 ptls
e
:b1zsał z alua1alzp 2euoąd.u durrsnru
ótc1npal 9e1sdzn zera1 ,tqy .€7I : 91 . 11 .,(ueur nluazouul durecqc ez 'dtucsnddzrd 'pe11dzrd eg
f,zt4'stV 1 tI . IT clzulqo
.u,, olnpou duelnąnpe; t1rudłr ez .ąe1 orup€ł{op uv n' euo1sełno .bctuzol Ł1 z - qcd1srtyl'fzcezt..qzcll ozrolqz rrt 4e[ 1sa[ aruazoulu I oIu€,Ą\BpoC l + :nutsIuełtsIzp Bluo1v\p {t - Iutr,....0} rgrqz
ęzctsuzo
*Z
I
1se[ e1zser
qcalN.u,, olnpou 1zsar
Ó>1d1eru1dre
az ,g^tzo1vz elzpbq larupo8drrt oluzcęuz
,g
"
ce,rł'orugapf fr,-Ja| dtuezo141
'eutuafneru azstu\Bz
.,r.ro1ac
qcdzseu e1p 1eupe1 .rfcru
.gep tazd.tt ta16ttztd z o1rud,łt >1e[ 1serrrręz ?- ou.&\oJ ..(pe1.tł. 1set 2 potu 31.pe1>1dzrd €N .D oc n{tsuz tudures urd1 o \ I - Iu op T + Iu- po n1etzpez"rd op bcbza1vu ó1zser o1e[ Lu poIJJ o efnrugap eruerwotue.r8ord .uo>1dzÓt a1et41 Vcv1llln .u,ł olnpou DuDnoąnpaJz r-łr'1soz D Bqzc\ az .druar.ttod .u,l pour o zezld tl cbfnd .u,r, .dpe1rw ołId} dpa1u (u,ł potu) g : tl cÓlu poru I 1ea Q : tu polu ?2 dp8 u polu ?2 ura1oqurds ctszcęuzo drrrerzpóq .ueultoJ t1c,tzsz,t'l,lrod z
-6pe7
.(,ttos"er,tteu zeq)
T"l ggo}ler'r l1izc ,ul, zazld tl tsIuololzp z bryseg .ZJ : IJ dp8 .dpa1u ołIdłT dpa1u e?,cf?vnrnuz oupnrłolN .I-u1 > eJ > 0I I -u ) r.r;6 etzp8
(u^ł
q:D
poul)
,ZJ+Iuzb - 9l r"l'+ul,tb : o,cbuytou lezceu1 .I_ul I6 ,.{zp3rrrr b1rcnrez ó1zser Ł1t.lw -o{łtsc za;.o zęJoII d1r,uo41ec druefnru,{zr1o,u1 zazld q l rl f,qzcq duqetzp dpely .(ur 1se[ u,ł dpS
potu) g
.durrrrr96 .Łru1epop
,ur,ałnpoul ,,(uerv\dzpu uL' rr durezsrd I
:
Ł1r.to>11ec b,qzcq
u
bqzu1 'o
-
q fqzcq tualłIulalzp
((u' olnpolu g op ale1sdzld n eqzcl1,, ez .rtud1t.tro41ec IIu€qzcII tpÓq q I D qcelN
e
Z'T \r'fCINIdSO
'o1d1eur1.,(re [e1
.lZSeJ ecd1aur1dre eu 93tod qcd.uo.ue1spod eą1o1 .ttretdleu durlruruoddzJd (e1c5.runsez.rd .[ec9rą oq1e) tuerc5runsozłd z ł1(zs duezstdo
tue1c5runsezł'd il|QWgIS AS oI d^ax Hc
^Is
oad VXIIX
:
,'(1"redo
arc1und tu,(} M z ł5,łzg.T.T.T
gINgZ CVfr|oE dILĄ
.
t' I
1. KLASYCZNA KRYPTOGRAFIA (6) mnożeni e nie uyprowad'za poza zb\ór Z*, czyli ab €
Z-,
(7) mnożeni e jest przemienne, czy|i dla dowolnych a,b € Z*, ab (8) mnożeni e jest łqczne, czyli dla dowolnych a,b,c €
Z-;
gdy a,b €
:
Z*, (ab)c:
bai a(bc);
(9) 1 jest elementem neutralnym mnożenia, czy\i dla dowolnego a
€ Z^,
a'I:l'a:a;
względem dodawania, czyli dla dowolnych (10) ,, mnożenie jest rozćlzielne o,b,c eZ-, (a +b)c : (ac) ł (bc) otaz a(b + c) : ("b)+ (ac).
Z^ stanowi strukturę algebraiczną zwama także właną grupq ze wzg|ędl na operację dodawania. Ponieważ grupa ta Własności1' 3
5 świadczą o t,ym, ze
sność2, mówimy, że jest to grupa abeloua.
W istocie własności1-10 stwierdzają,
o
-
Że Z* jest pierśc,ieniem.
W książce zo-
b zredukowaną modulo rn.
Na przykład' w celu uzyskania róinicy 11 - 18 w Zt obliczamY od 11, a następnie 11 + 31 mod 31 : 24. Mozemy również najpierw odjąć 18
-7 modulo 3I: -7 mod3l:24. przesunięciem przedstawiamy na rysunku 1.2. Jest on określony ,a Z26, ponieważ angielski alfabet składa się z 26 litert, choć równie dobrze ze moglibyśmy użyć pierścien\aZ^ dla dowolnego modułu m. Łatwo zalwazyć,
zredukować
Szyfr z
NiechP:C:K:Zza.
DIa0ś K <25
definiujemy
e11(r):xłKmod26 otaz
dx(a):g-Kmod26 (r,g e
226).
RYSUNEK t.2. Szyfr z przesunięciem tW uzdy. przypadku z
tłum.).
dzia"łaniam\ dodawania
i mnożenia w danym zbiorze
(p."yp.
łZ" *,elęd, na istotną z kryptograficznego punktu widzenia specyfikę języka angielskiego zachowano przykłady i odniesienia do tego t*ęJ.s"iiń"tępowania lite. ię.; w całej książce
języka (przyp. tłum.).
[
.n}aq€Jl€
.('urn11 'd.'(z.td) ..,(cou1od o 3rs fureą1ods.. ntuazceun11 111
1v\o{Buz n8ŁIc IcEłSod op etu'łtouod lcł€}z$Iozrd qzl.tlBb]o olnpou łIud.Ą\ cŁ tn1npel) I T alulfepo qclu z |epzgł
dueurdz.r1o caluo{ tsu ę, L (gZ
po ue1od .qzcq SŁrc
1Yr
/(Jold[€u
o3 lcłtsłzs{ezrd 4e1og .1s4e1 ue1 ce1.,(zcpo ,{qy .ESUIAOJXETEddXl.l}lJHdH
:.,{ue.m.or;dzsez ts{o1
dueur I nloqęJl€ I{€uz
.ĄĄ
qzct1
8ttc
ua1 durec1e1zs1ezld
zerca
TSILI6INZVI6TEZVII T9IgItzZćZZ6TL9IL -our druns aueurfz.r1o durefnr1npa"r I I)9ou€1Y\
:92 olnp tppc,Ą op 11 duretepop etudó1se51
6IL98TII8ZI6TO 6IVVZIIIIISZZVZZ -odpo fezd,tt tuestdo z erupo8z .qzcr1 8Qrc
,Ą&
:brcsorupar.łr }s{o} ua1 druec1e1zs4azld.ł'rerd[e5 '
urdu.łu'ef luołs{o} ę
.II
:
'Ic9olupelłlodpo
ł lIłBTupTulP10oIIITTTAal"r SQrc
,ftnfttlutfrzlą )1 rsa! ruerc3runsezld z nt1tzs tuozcnl{ ez
r,I peł\^ZJd
|e1 erue1sdzlo>1drn.
qosods alnJlsnll pe14dzrd d1sor4
ztrt0
CIEIIV :n{}d?n oBalzsf,ztd op n1 bt durln1oupo cÓr.tt .qcepe14fzrd n1ar.t. .Ą& Icsolupol,ł\odpo ta1 z ?ę1sfzroĄ durerzpóg .9z e Z t....1 <+ g. .0 * y :qosods dcQlndó1seu ,Ą\ 9Z olnpoul IuIE} .fzplttll9goruper,uodpo druqe1sn .(97 ule1npour z) ercóru -zsolB nłaq€Jl€ lru€{€uz -nsazld Łcourod Bz nłs{o} o8er1s1ar8ue o8e1ąd,trz eruerule1n op cttndópdz"t4 .Jtszac zsnlln1, 9ouod ruru 3rs 1errr€n1sod
!
ure.r;dzs tuęnltzęu 1se[ o1sÓzc duzcger8o1ddr4 ura1sds
zfp8 ,ełeze3
.t : )1 fpc
Vcv1!||.n
'seV ) r oBepzusl tslp n : ((n)xa)xp gdzc :rlcru -gep ferugezc.u leuepod alsuos li! tu,,(uzcger3o1ddo1 uraruapds pal arcórunsazrd
MOWqIS AS O T4AAX HC ATSOE d
V
XTX
:
gI NgZ
OUIAOAdM
'
L
1. KLASYCZNA KRYP'IOGRAFIA
U.WAGAWprzykładz\elzy\iśmymałychliterwtekściejawnymiwielkich czynić podobnie w tekściezaszyttowanym. W dalszych przykładach będziemy w celu polepszenia
czytelności.
l
spełniać kilka waJeślisystem kryptografic zrly ma być lzyteczny, powinien teraz. nieformalnie runków. Dwa z nich przedstawimy (1) Każda z funkcji szyfrujących eK otazkazda z funkcji deszyfrujących d,1a powinna być efektywnie obliczalna.
użyty do przesłania wiadomości, jak i tekst jawny x przechwyci on tekst nie mogą być odkryte przez ptzeciwnika' nawet gdy
(2) Zarówno k|ucz
K
zaszyfrowanY Y.
Drugaztychwłasnościokreślawbardzomglistysposóbpojęcie,,bezp\eczeil-
K na podstawie danego stwa',. Proces prób zmierzających do obliczenia klucza a się kryptoanalizq. (Dalej te pojęcia opiszemy oskar był w stanie ustalić khrcz K, potrafiłby nie gorzej od Bolka, korzystając z filnkcji d6. co najmniej równie tudne, jak ustalenie tekstu Jawnego x.
Zauwazmy,żeprzesunięcie(modulo26)niejestbezpieczne'ponrewazIJJozmetodą wyczerpujqcego przeszukiwan.ia y, zatem bez trudu można wypróbo-
na je poddać kluczy. Istniej
waćkażd'ązochregułdeszyfrowan\ad,6,dopókinie
następny przykład. otrzyma Się ,,sensownego'' tekstu jawnego. Ilustruje to
Przykład 7.2
Do tekstu zaszYfrowanego JBCRCLQRWCRVNB JENBhIRWN
zastosujemy kolejno klucze
dĄ itd. otrzymamy następujące ciągi:
d'g,
cr c lqrrłcrvnb j enbwrwn i abqbkPqvbqr:mai dmavqvn
jb
hzapaj oPuaPtlzhclzuPul gy zozinotzo skYgbkYt otk xynyhmnsYnr j xf aj xsns ewxmxglnrxnqiwez iwrmr
f
j
i
dvwlwf klqwlPhvdYhvqlqh
cuvkve j kPvko gucxguPkPg
btuj udi j oujnf tbwf toj of . ast it chint ines avesnine I
jest
Kluczem W tym miejscu ustaliliśmy tekst jawny i możdn*y się zatrzymać.
K:9.
tW wolnvm tłumaczeniu: ,,Zaszyj dziurkę póki mała'' (przyp. tum.).
.zslet.Ą{ r8n.rp r .{zs.rnrard rtuęcsfarur ch[eluatulez, cvln,|zl1o €uzoul
.po elce1nuled 1se[ Łctfnr;dzsep b|c4uq4 \-
.p}T
br911 .eu1or,u
: (q)ue X : (D)!a ,
,ĄęI
I
^1
. n}s{a} \ĄęIIz _ (o3aue.ł.t.o"gdzs€ z .orupezrdod d.re1q arą1er.u, .o8eu,t.eI n}$Ioł tąvwz btezceuzo d.re1r1 a1eru ąet) Łcbt -n.r;dzs ó|cąun; cl.ł\outs1s dqe18our e.r91>1 ..u
rfce1nrurad ..fa/rtoso1.. pe11dzrd o19 .nłoqBJI€ .Ą\oł€uz nJolqz .drworu
qcelce1nrured o oąel nruerrror;dzsop I nlu€.∨dzs o 2a19dur ferupoBd.u -er.ue1spod 4dzs ąeupal cŁfnso1g .qcduzcrerqeB1e ye1etzp qcdu.uad nlue1ńosołs€z ,(1eBe1od erue.u'or3:dzsap I aluę,Ą\o4dzs zgrvr'eruod ,9ZZ,{ugrlrzperrrordrrt ercóru
eu
-nsoz:d 1|c1ugap ,
d ,g\qz
ou.Ą\oJ€z
M
ez
.nłaq€Jlę o8ar1s1er8ue lrlioĄęI7z az 3rs Ł!epe14s r9tqz t ąet 2 ,cbttzld ltulezovl o8arworuer,tłe1spod n.r;.,tzs nąpeddzrd 16 r(rrroruarrlrelspod ..u
r;fzg'g'T xgNns^ll
op Łu1orr*rpo Łlce1nurred 1se[
'(fi),_r: \ / L-
,_l
etzp8
(fi)"p ztsIo
(r)r.: (r)"a dualnrugep
y)
.u
rlcelmured fepze4 EICI
qoqurds 96 rlce1nrurad qcu11sdzsrt az óts epe11s
(0 .gZ ( ' ' ' 'T
a.97'Z: ): d
qcoTN
'g'1 nrlunsfr eu 3rs a[ -npfeuz o8arvroruer.up1spod n4dzs srd6 .r1łr913rure1-dure.r3o1ddr1 qcerusrdosezc .u ..lQnoruerłre1spod .r;dzs órs acbfer.uelod Łs nr;dzs oBe1 qe.uosołS€z nutsptsłłfzr4 Icalnłs po fue.udzn 1saf ru.'(uzcge:3o1ddr4 rueure1s,{s wfuęuz azJqop rudule1oy . '(lł,oruarrrłe1spod ł1dzg 7.1.1
.ełr1sgezcatdzaq eluolu.łIedez op ulf,cb|ęzc -re1sfrrr luol{unJts.Ą\ 1eupat 1se[ eru [zcr44 ruezr1sezrd ?9o{IaL.( .ce,trerzpods órs ęll?oul łtsf .tsznp ozpJ€q 9.{q euurłrod dzcn1ą uezt1seztd.cttlrgru tazceut lerug.rll -r4nzsezrd o8actfndrezcd,tr dpo1eur 99ou1euo1dłr.eru y'sat o8euzcger8o1ddn1 nure1 urduzcetuo4 ,pe14tztd fizsz['r'lrod elnzo1od 1e1. -s.{s e.tr1sgezcerdzeq tuol{unJ€^t
1n3el 91
:
Zlgznrue.uoqo.rdd.tt od olupaJg duozcr1qo alutsłsoz
^ĄQWqIS^S
o
Id^aX Hc AISoad VXTX
:
gINgZ
^JiTi:n'#."o
ovltoadfu|,
L.
I
1. KLASYCZNA KRYPTOGRAFIA a następnie porządkując alfabetycznie
litery z pierwszego wiersza. Powstaje wte-
dy następująca tabelka:
PIQ
sltljls
Mamy zatem: Czytelnik j
ać odtajnić następujący tekst zaszydeszyfrowania:
używ
frowany,
I,IGZVYZLGHCMHJMYXSSFMNHAHYCDLMHAt
jest po prostu permut.acia 26 znaków Kluczem do szyfiu podstawieniowego jest n")uą og,o.ną, większą od 4. 1026. alfabetu. Takich permutacji jest 26!, co
Metodawyczerpując"gop.,"."okiwaniakluczyjesttucałkowiciebezllzyteczla, Przekonamy się jednak późntej, ze nawet jeśIizaprzęgnieiny do pracy komputer. ."yf. pod.tu*ieniowy mozna zŁamać innymi metodami. 1,.1-.3.
SzYfr afinicznY
w któ. szczegóIny przypadek szyfru podstawieniowego' 26 elementów. edynie zó.pós.oazo! możIiwych ry::"-.^"..j szyfr afiniczny, którym zajmiemy się w tym
to
Sz
ry In
punkcie. postaci
W
zypadkiemlest
szyfrowania do funkcji szyfuzeafinicznym ograniczamy klasę funkcji
e(r):arłbmod26,
stąd' tez nazwa szyfru a,b e Zza.Takie funkcje nazy.wa się afinicznymi, z przesunięciem). czynienia do afinicznego . (Zausłazmy, ze gdy a: I, mamy afiniczna iest funkcja kiedy Aby umożliwić des"iiro*J.,i", mlsimY ustalić, e dowolnego dla by a Zza kongruróżnowartościowa. lnaczej mówiąc, chcemy, dla
encja
ar
ł b: 9
(mod 26)
miała dokładnie jedno rozwiązanie dla zmiennej pisać w postaci równoważnej:
ax=a-b
r. Możemy tę kongruencję
za-
(mod26)'
im wartości y - b Gdy wartościy przebiegają cały zb\ór Zń, odpowiadające kongruencję at = a (mod 26) takze wycze,pu:ą i,u.3ióń *v.t"'",y ,iiaue (a €Zza). nie można odszyfrować'' totrzymany tekst jawnY ozracza: ,'tego tekstu zaszyfrowanego (przyp. tłum.).
.qZcII IIJooł nSaDItsz z e-oó[od o8eupat azczset fualnqezr1od .tl,, tuołnpoul z hzs|atu198o Ótcen1ds ZtsJa} ivlzenzo1g '
(o.rr,lsuazcerdzaq crurrradez
dq .o1eu tsz ozcirliour-,+s 1sa[ .eusel zcezł. ,o7) .dzcn11 qcdłtr1zour ZIt, : 9Z. 7'I r|cdzodsdp op dureru ruduzctuge ezl1fizs ,!\ pŁłS .9óZ lJJe+uo:uJe1e udu1orrrop cdq ozoln q J+oIuBJ€d '9Z zęro tz 'Iz ,6I ,LI .9I .II ,6 ,L ,g .g .1 :ecŁlndó1seu Łs .1 : (gz.'l)o'trtlt qcdrpPl ęIp |9ZZ ) D IJso+J€..r\ ,EI . Z _ gz ztsll^aluod ts|p -Z 1 r
'I : (u 'n)OMN dpB 'dpeyra. o{lft I ,{pelu -Z ) q o8epze4 eluuzbt,uzor oupaf aruptsłłop eu (u potu) q : ro v|cuan.r8uoy T.I glNszolIEI,ĄĄJ,
.qgsods duqopod ,ł\ clupo^lopn tsu?ou 1tu,&r,t dcQ[ -ndÓpe111 .qor leu1o8ezczs teupez nluts.&rolunzor urd1 a.l' ełrd.r8po aru gZ r"-qzc:n-l .r e1p etuezbt,rł.zo"r oupel orupgł{op eur (97 poul)
fi' : :to efcuenr$uoą ,szv ) ź o8eu1o,lł.op elp o? ,o1 vzceuzg .ztsJ oluptsł{op euerrrou ldzrd etzpÓq 99otJts/lĄ vpzv4, cbtngut tazcvu1 9 z olnpou lcgouts,Ą\ ląc fuzo l |97'Z z lcsoue1\\ o^ĄIlzotu eo11sdzs.tr fr Ez ?rł.llil.e1spod druarzpóq 97 '{utvul'tzl1o .cÓrłr .9ZZ 1^ etuBzbt.1i1izot oupal [ez,{^rw[eu oc eul (96 poru) 9u porrr ro n ,tpa 1e; fr,: ro tce1sod elcuenrBuoą o} .I : (gz.o)c,trtx II9o| a? .pŁ}op dru9rlezer1d,11 .(gz potu) Za, : Ia, tfcue,tąesuoą rrt e .
, cfq ua1ez zęro
I:
rsnur .1
:
(sz.tl)o^ĄN zerc (zr
-
,(",
-
rr)l9z
{ounJe.Ą\ duotu1eds
Ir)D|9Z ze,łroluod .c|o o1 ,cq|rl
(q,o)c.,tł.lu r1se[:etue1arzp Icsoustsł,Ą\ fecblndó1seu z zeJo+ drute1sdzroąs
(er - h)olgz pŁ1s e
'(92 pout) O=
(n -
tn)o dPet^a
'(92 Pour)
Ir
qz)II qcduirł'ed c'Ip a?.drucsnddzrd \
I:
zaP:
raP
[uJern zr
I
(gz.tl)o^ĄN oz.ztslo1 lknv9ry7
.?9o+J€^\
Łues
Ó1 nruerla'o.r;dzsez
od
dqd1euldzr1o tI + r t r tqzct1 9ćZ ) r oBepzvr1 ep lŁcŁtu;fzs b[c1un; burrł'e.rdod tv e|c>1ury ez .o1tu,frrt ,z : (gz.tr)ołt'trt az ,o3a1 z .pe1ądzrd e5 1sa[ etu L +
.ecŁfnr;dzs
/
efc>1ury o>1e[ ercdzn op c3r,tr 3rs elepeu etu .Łru.orcso+J3./(IouzoJ blc1ury 1se| eru gzporrr Qł ro : ("), ru1peddz.rd IIIdt ,/tĄ .plsz: x zęJLo O : r:oIcI^\ouBIIu 'lrnętugzbtnrzol e.up (fetuuleu oc) vul 9z, potu 0 : ro e|cuanr8uoą ,{pe116
LgeZ
.I < p: (9z.tl)o65 o?
.urer.uoq fur9snddzr4 .(qzcq qc.onĄp {ruIolzp du1ods,r.r,
dzs4órrvrfuu Ezcpuzo q16p atzp8) t : (gz.o)ołttrt dp8 .dpapł o{Idł T dpeyrr elutszbtttyzol oupef etupe1ąop ź o8apzur1 BIp 3III e1 efcuenr8uonez,,|ltstzplal.&J
1^oWgIS
^SoI
d^ax Hc
^Is
oad VXIIX
:
gI NgZ
ov^Ąoad1t
.
t. I
1. KLASYCZNA KRYPTOGRAFIA
10
.3
ż 2będ'ąliczbami całkowitymi. JeśliNWD (o,-) :1' to mówiliczb całkow\tych,ze zbiorlZ-, - "ą,,jlęd,nie pierwsze. L\czbę się często symbolem Ó(*) (" funkcję
nie pie,ń"e z m) ozrlacza
Q nazywa się funkcjq Q Eulera).
oraz 98 :2'72). Następne twierdzenie zawierajawny wzór na wartośó @(m).
TWIERDZENIE
1.2
Niech
m: gdzie
-I-J
c^
IIpi",
pi są różnymi liczbami pierwszymi oraz ei > 0, 1 < i śn. Wówczas n
Ó(m)
:\{ni,
- p7,-').
Potrzebujemy pojęcia elementu odwrotnego.
DEFTNTCJA 1.4 _-,', (l element Niech a e Z*.Elementem odńotnym do elementu ''azywamy a_l e v'-, taki że aa-I = a_7a:1 (mod rn). pozwala wyRozumowanie podobne do tego, które zastosowaliśmy wyzej,
kazać, ze
a ma
element od.wrotny modulo
rn wtedy i tylko wtedv'
tZ dokładnościądo kolejności czynników (przyp. tłum')
gdy
\
.(.urn11 .d,{zrd) ,{u1orrtpo łualuola tsIII łuaulala
f,torazeru ,{pzgł uldJg?ł,t .r1e1 tt.(z31
.fuzcruge
4(zg'V'1 xsNnsłll .(szz)
9Z pow
fr,tr
(q- ft)r-": (fr)xP zęJo
'{r
:
gZPotuQtto:(r)xa .{ruefntugaP )t > G'o) : Y v1g : Y
(sz'o)G111N
'.
szz x szv
(9'D)}
= qcaru I sez --
): d
qcolN
.pe1ąfzrd d1sord
eu durzr1edod .7.I n1unsdr ęu 3rs alnpleuz o8euzctuge n4fzs srdo du1a4
'(sz
po-)
(q
-
n)
r_,
:
(n)p
.d.ta.o1 s Łcb fndÓ1seu 9e 1so d eru. ect ln"r;dzsap e [c1un; .(sz po*) (qu oIc€lInZaJ rur.{uu1 .x eIJ Jofw.{urvrel olus€ł.1( 1se[ o; :
fr),_,:
'(gz
M
Po*) r: tI: n(Dr o): (to)r-o
:9Z olnpoul €Iuazouul
tc9ouzch1 z durte1sdz.to4g
po*)
(gz
(q
-
n)
r_,
:
(ro) r_o
{aunJ€.Ą!,,(ua[nurdz.r1 o I -o zazrd rfcuenrBuo1 ,l: (gz.'l)C1.1N TI9er duor1s erqo cŁzou141 .9Z olnporu fu1or,ttpo }uatuala €Iu t2 oł .
'(gZ
-nr8uo>1 tsuz€.Ą\ou.ł\oJ
:
Buo }saf .(sz
po*) 9ł ro:
Po*) q - fi,: ro lfcue
ń op dur99r16 l|cuenrBuo{ y_Lurc1ez '(gZ pout)
'(gt:
e1 er41sdzs16) I 90I 9I , L.pe11dz"ld ENżnIzp1\\ę,Jds o.t1e1 €u?ou Ic9ou,ĄAoJ (1 = '.92 z r-g'6 T-t vgz I t7,:1-f T '6I qcdzs.urard erupÓ18z,u qzcll €Ip .tlg}uorualo qcpl€} ę|uolfalauz op ezc.re1s,{,tr .ttop uv nqcfiul,oJ.Ą\po -ó1q r q9rd tspoTaIII 9zZ ly\uuesazcult.a.t'u dqzcq feu1o.top BIp
'gZ:
jT#"iTf
l'{i'ffi
: ,-I
:
: r-II 'gI: r-L'IZ:
^\gluauolaęIuęzcllqoUIlf
;il;T',f
..rł:.'K".i:..fJ,#^o"
dZ łualuala drtorezaru dp?n'1 oł .tzs.tuerd Łqzcq 1se[ d lpe! o? ,?aI luatrrala ęuI ,|ulzelnnv7 .rQ : rl 01 ,,_o : q II9a! ?\ ,o?Ąę+ fru:zenne7 .Iuołualualo rul{€ł ududpet lsat o1 'elarulsr o op .{u1or.upo }uourole qget uralez i1 : (uL"o)OMN
II
.L.t
Hc^IsoEd VXIIX :glNgz]ufo|oadfu|
^Ą?WsIs^SoIdAaX
1. KLASYCZNA KRYPTOGRAFIA
12
Przykład 1.3
Przyjmijmy, ze K : (7,3). Jak stwierdziliśmy wyzej,7_1 mod szy fr ljącą j est funkcj a
26:
15. F\rnkcją
ex(r) :7x ł 3, odpowiadająca jej funkcja deszyfrująca wygląda tak:
dx(a)
:
15(s
-
3)
:
15y
-
1e'
gdzie wszystkie działania są wykonywane w Zza.Dobrym ćwiczeniem będzie sprawdzenie, ze d,y(eT(n)) : r dla każdego r € Zza. Zgodnie z regułami obowiązującymi w Z26 otrzymujemy:
dx(ex(r)) : dx(7t+3)
: I5(7x + 3) ::xł45-19
19
DIa ilustracji zrezyfrtjmy tekst jawny hot. zaczynamy od zamiany liter h, o,tna reszty modulo 26. Są to, odpowiednio, liczby 7,14\ 19. Teraz szyfru-
jemy:
7-7 + 3 mod 26:52 mod 26 : 7' 14 +3 mod 26 : 101 rnod26 7 . I9 +3 mod 26 : 136 mod 26
0
: :
23 6.
Tak więc mamy trzy znaki tekstu zaszyfrowanego: 0, 23 i 6, którym odpowiada ciąg liter AXG. Deszyfrowanie pozostawiamy Czytelnikowi jako ćwiczenie. I
I.L.4. Szyfr Vigenbre'a Zatówno w szyfrze z przesunięciem' jak i w szyfrze afinicznym, po ustaleniu klucza każdemu znakowi alfabetu tekstu jawnego odpowiada jednoznacznie wyznaczo:ny znak alfabetu tekstu zaszyftowanego. Z tego względu takie systemy kryptograficzne okreśIasię jako monoalfabetyczne. Na rysunku 1.5 jest przed_ stawiony system kryptografi-czny, który taki nie jest dobrze znany szyfr Vigenbre'a. Nazwa pochodzi od nazwiska Blaise'a de Vigenbre,a, zyjącego w XVI wieku. odwołując się do opisanej wcześniej odpowiedniości A +-+ 0' B +.+ 1,.. ', Z <-+ 25, możemy zkazdym kluczem K powiązać ciąg znaków alfabetu o długościm, zwany słowem kluczowym, Szyfr Vigenóre'a koduje jednocześnie lTL znaków: każdy element tekstu jawnego odpowiada m znakom alfabetu. Zobaczmy to na przykładzie.
(.urn11
.ddzrd)
,,fruzcardzaq 1sa[ etu ,{uzcger8o1d,tr1 rua1sfs ua1.. nluazJętunł}
,11+
.u,ł rc9o3n1p o ecblndrezcdłt' tu rc9o+re'vr qc.{ł€ul o.t\Ąo{unsołs tsIp 1a.tt€u ula?ez dureru €(aJęuoBIA azrlfizs ry\ oz |ŃIIzE1'1'IltsZ
qcd1^ozJnl{ .tr91s qcdlu.qzou
-9Z
.cerrr.epop a| }s€IuIBz 9z olnpoul 2btpo et durrsnur o8ał due.ry'fzn ntuerwor;dzsop fzrd
[
Ud€zęJ rud1 e1e .o3e.t.t'ozcn11 €1t\ołs o8oul€s
'
:"ra1r1
LZMLIZIA1f I,{IJEndA^IXV ICZXdA
8brc dcŁtndÓ1seu eper.uodpo qzcr1 rrwoBŁrc nureueudzr16
ZZ gI 6 ZI 61 8928 LIV 8Z LI VLgI 8I 8 Z 7816TVITI gIZZIZSIZO899ZTZgIIZ LIV L 9T 8 Z LIV VZ 8I VI 6I SI VZ LI Z :9z olnpou o1r\ozcnpl o1Y|ołs ((dl[a[tspop((
a[ duefnstdez ,gZ oppotu d1zse"r
n
oBou.Ą\€[
61 gI V 61 6I L 9I ZIV
9Z ZZ 8Z LIOZ I 07. 8 Z 61 8I
L qI 8 8I 8 L
Z
6I
udzc od ('uo1euz 9 od qcednrS rrr nl$Iat a1oquds druec1e1zs1azr4
łoJnc as lousTuo 1sf
so
+ddrc s1q1
3Łrc 1se[ udu.łłel rno}słoł az .dur99ndfnd.(LI,v,L,gI,8,Z) : )1 }sa! e,uo1s o3e1 ud.troqzct1 uat4 -ruper.uodpg ,aEHdIc arzpóq ud,rł'ozcn14 lua.Ąołs qcelu I g -- u, durlturldzr4
Ż.I pePI.tZ]d
e.e.ręuaBr,1 .9óZ ,
(*,! _
!^ eue.t.{uo>1d.u,
-ń, . .'!!'-
zfr
r;fzg '9.1 xsNrrs^ll
Łs etue1erzp arą1sdzsilł. tlsizc ,|zld .
rą
-
Ifl)
:
(-fi,
|.
.' lzfl
,
Ift)
Xp zęlo
(-q +
: J : ): d
-r'
"''25! +
dura|nrugep
r
Ł1rrrto>11ec
IV\)WSIS AS
TI
O
(-ą,
cr'rqt rr) : (-r' "'
..
.,zq, I'!)
: X
tzatra)xg
ezcrrlĄ e1q.
:
-(sev)
bqzcq Łru1epop buo1e1sn etzpÓq u,, qDaIN
I4IAX
HC IISOE4 V XIIX gINgZ OVIAOA4tuI' :
L'
I
1. KLASYCZNA KRYPTOCRAFIA
LĄ
1.1.5. Szyfr Hilla
zaszyfr
element tekstu jawnego w postaci frowanego iako Y : (Yt,az), gdzte
Na , : (, W l az al:ILx'lł3rz az:8xtł7x2.
i 12. Mozemy ptzyjąć, ze
Można to oczywiście przedstawić zwtęź|ej w zapisie macierzowym:
(yr,a): (:h,tr,
(tJ
?)
K
o m wierszach i m kolumnach element występujący w wierszu o numerze i i kolumnie o numerze
ogólniej, kluczem będzie rnacietz nazwiemy k,;,i, topiszemy
a: "x(,):
obliczamy
(Y
r,
.
.,
a
-) :
pomocą wzoru tSpotyka
się
('
(kt,i). w następujący sposób:
(al,...,9-)
r,,'
t : aK
N :
^
Dla t : ('r,"',t-)
(:'",
:'r. . .
I.
tez lazwę wieloalfabetowy (p,,yp' tłum.).
Tr=)
(mxrn). JeśIi
j macierzy K eP \K eK
:9ZZ
1\\ .
(;;
(;l):
(ttt zsr\ \gsz rcz)
-
łl'l; :: łłi:,): (lł T) (i i) zg.treruod
,(r, tr): (t \8r L /
,_
\8
e)
rr/
bu1or.ttpo zJaIJr-:uI I€ u BIuB.Ą\o+ fizs zletcr.tll ez .druzp.m.e;dg ps1ezld qcd1 .tt lcsouzcb1 erue1s.{z.roąd n .hnzv lrirne 7) 1e
(qceruac
-r: *Ir : (r_XX)r:
=X(X")
: t_Xfi
:ecŁ|nd31seu Icsou,tlgJ cbtrvlfzł1o 1_){ zlalcvl]I zez.rd rcsou.tlor [a1 duor1s arqo cdzouutod .{urazoru Xn : ń ze.tatuod :eruertor;fzsep vu ł.9zn |ezt|n fuepod durrzpe.tto.rdd,u npnr1 zeq,'tzlelceut lluelcgous€ł.Ąt' ttud1 cblnuodsdg L
,
'eupet
o41d1
a1e .eu1or.trpo zJe:rce.u]' efaru1st tztelcęl;u lepcvĄ €Ip oTN .(eferupr o1 .elaru1sr 19et zlaloreuI €)I€ł I9a|) -I:Vt_V: rVV o?uĄ?-:..1_f zla1ceul drue.u'(zeu |a1u op bu4o.t,mpobzlalcętno1 'ul,xu'thzlalcplll 1saty u9e1 .qceulunlo{ uIqctszsraIi'l.uIo g ltzrctcetu tau1o.trop eIP B : gu1 zvło l{c€uunlo{ ut, I lĄcęzslLoln 7 o y f,zrclc -eru leu1o.uop BIp ł/ : -IV zfpB .Ł.uo>11soupe[ hzlatcęul órs e,udzęu u1 zlalce16
/\ .Ir
n\
\o i)
.pe1ądzrd
e5
zlLalcę:uJ oI Z
.qcecsfarur qcd1e1sozod .tt g
.-1
r teu1Ęazrd
.y,
:''
x Z €1l\o{}soupo[ zrerceru feurrl918 €u I €uI €J9}{
* bmoq1soupa[ bz.nl'co1ą ue1oqruds buezcęuzo \' LL!' z;:olctsuf }sa! .(o1!\o}€Jpe,ł\{ ęs B. I V ozJo|cgul ,Vg : gv oz'sll'ęz eIu .tzcvuz o1) euuerrrrazrd 1se[ eru 193o Bu aIts .{p3 1emeu ,O@v) : auzct1 o1) '[zcęuz 1se[ dzlarceur eluazoulu ouol9oD1o {tsJ @a)v ,.tulzę'unv7 .noultzco1t qadueurdzr}o oluepop I .u x bzrctceur 1se[ gV zJalpr'uJ az 7 g '&zrctceul f, durun1o4 d1ueura1e aruparnodpo zeztd y dzrerceur 2 ezsJol./!t! .ĄĄo1 -uouala qc,{ute1o1 ęruezouurd,tt n1rud.u ,u efe1s,ttod ł aluunloł .ĄĄ I 2 nzsJal.Ął, .1rr fcblnd31sd.tw 1ueue1e ez,o1, ezceazo .U > ry > T T i > ? > I €1p ,1l'l
gy tzrctceul,tr
-_f
:
:t'{6{'.tp7 .L\
(q'ec) : -eur 1sa[
gy
u
x'rx
ueJoz.Ą\ .{tuqgen1o
(1'l, fr,2-t'atcout' ufr,zcolt o1 x,u) bzlatcęul (ł,|q) : g p,u) x 7 bzrctc Tlgef 'ferrtotuq drqe81e ercó|od aupóqzeru durltuuroddzr4
: y
(l'rr)
gI
1v|QINgIS^SoIdAuX
HcAISoad VXTX:glNgzqu^Ąoadfu| .t,l
1. KLASYCZNA KRYP'IOGRAFIA
16
(Przypomnijmy, ze działania arytmetyczne wykonujemy modulo 26). Rozważmy teraz ptzykł,ad ilustrujący szyfrowanie i deszyfrowanie w szyfrze Hilla.
Przykład 7.5
Przypuśćmy, że kluczem jest macierz
/tt ^: \. B
8\
T)'
Z wcześniejszych obliczeń wiemy,
- /7 K-t:lr,
że
rR\
.,.,I .-/
\o-
Niech tekstem do utajnienia będzie sł'owo july. Mamy do zaszyfrowania dwa elementy tekstu jawnego: (9' 20) (odpowiadający znakom ju) oraz (11' 24) (odpowiadający ly). obliczamy: .l
(e,20)
/.l ę'\ : ('j i) ,,/ \u
lss +60,72+140)
:
(3,4)
oraz (11,24)
/'t't c\ ('j "-l: (I2I+72,88+ \r t/
W rezultacie
168)
:
(II,22)'
słowo july zostaŁo zaszyfrowane jako DELW. Przystępując do
deszyfrowania, Bolek wykona następujące obliczenia:
/7 tD ,t\t r",=r
r!,\ t
\23 l) -(9.20)
(rr.22\ r--, __/
(:^ 1?) : \23 II/
(11.24),
otrzymując poprawny tekst jawny.
Są odwraca]ne.
odwracalnośó macierzy (kwadratowej) za|ezy od wartości jej wyznacznika. Aby uniknąć nadmiernych uogólnień, skupimy się wyłącznie na przypadkl 2x2.
-e.Z71t,t11
/ t.trł r.zo_\ .(..';
",ł, ),_G
taP)
:
r_Ł
dpar^Ą .€ulec€J.Ąr'po
: y}op tsqzc|IazĄv1 L9zvptsuZx7bzrcneu
1sa| I,zllz,Irl (!,,o): v. qcaTN gINszCIlIgI^ĄI
arzpóq
8.T
..rczn frchtndó1seu drueru x fizrclceru n4peddzrd 7 7
'11
.qc€zsJel,Ą\
l
ęu rfceredo qcdu;e1ueruola Bluts.&oso1s e8eurdłt qcdu1orłtpo ,tztatcęul €IuezcII -qo tspo}atrr u tącizsnb1n tsICI .(8.z : tu .dtuzper.uod) u,, Icsou€,ł\ qcd1eru e1p du.ud1{oJa o^\oluozct1qo 1se[ ,_X zJoIcęuI ęu lozw fzszfllio1 YcY.^Ąn
o>11d1
.szz M BuIBc€J1[po
.I_' tsIp
tsIuazouu B.łrp"rd Z
.
,
_X
}so| ;4.1ap €qzcq
łap )j, łap : (,-.>l>l)rop
tu1or.tt'po zlolce-uI
.(y
ez .tzporwop oa
:
:
1 }oP
I
az .furefnr1solu.Ą\ .Ą\o{Iuzcvuzf,n eu 'tulzo1v7 łso| x cór.u >1ea
ęI;u X oz .1or.tpo .euI"D€J,ł\po
'*XV(X -e4drvr dpa1rvr €uzotrĄ
łeP) :
r_f oz'cvz +X zl:o:o
f,zlelcelou op buozÓz.t'ds bz.t'alcoul, órs e.udzeu
-e.6) .hy 1apf+?(I-) c9ołJ€,Ą\ r'II] ([,?) ncsferru €u €J9ł{ ,bzlalcęll; etzpbq *y
qcalu IeIo{ 7 .t azrculnu o duurn1o>1 I ? ozJolunu o BzsJaI.& ercórunsn zezld y z buelll'dzl1ozJe:rcev; o4et!ls1 zJeIc€Iudrrr1sen1o uls [ > I.u'> p> 1ep.|e1eq .€u}oJ.1rlpo tsqzc\ 9zZ rw aletu1sr .I : (gZ.' }ap)o6N 17 1ap dqzclr tsIp StsZc1ńoM oz ,,|lslzo1ez .urerdfe5 .n}{€J o3a1 p-o^\op olcgJ{s .&\ ,,(tuefnctązsep .I : (9Z.)1 }ap)o'ĄĄN dpS .dpeyrr ołId} dpeyw I 9u olnpou Łu1orrr.tpo zl:o|aęuJ X zJalcęur :ce1sod Łuur Bur łouutsł\.tr.o1ec qclzseu e1p du1o1s| uIa1r.z |9ZZ 1$ euJ
druelerzp zvto1. ez '>1eupe[ drufelSrure4 'tsroz po ,luzot lset ntuzcvuz,fnt !a! dp8 .dpe1u ołIdł dpeylr Łu1ołvrpo zJoIcEII]. eur qcd1sr.trldzcozllĄcęzetd.t o zrarce141 I
.g
zpJo I
- -I pp Dsou,Ą\oJ
tap . V lop
:
1gń+eP :€ruazoutu o.uęrd errrrp druftutuod'tzl1
:Iy\oĄI:uzce':ozd,u rcsouse1rrr au?€.&
.[e.u'oruq drqaB1e nąruzcó"rpod urdp l -?EĄ l|\ cza|euz Buzolu alceurroJur aupÓqzaru |qcezsrar,tt ęu vP.łelup qcdu"re1uarua1a Łcorrrod ez clzc1qo ęIJzoUJ. u1 x 1'l1 fervro1erpe,tr1 śzta:r'ętls nluzceuzl.py vcv/\Ąn .
eqzcr1 1se[ qctsuunlo{ Z I qJtszsJol.rr\ Z o (|,?D)
lAO WSIS ISO
LI
I4AAX
HC
AISOA d
t'zDz. ID
:1r
-
?,,7,D L,
LD
:
v. łap
.f,zrclceru ruarąruzceuzd11
VfCINIJSO
9'T
V
XTX gINgZQUtolOAdlyl' :
I' I
1. KLASYCZNA KRYPTOGRAFIA
18
Wróćmy do wcześniejszego przykładu. Po pierwsze,
0",
(tt ?) :
ll.7-8'3mod26 77
-
24 mod 26
53 mod 26 1.
Dalej, 1_1 mod 26
: I,
(T ?)_': (J.
zatem mac\etz odwrotna wygląda tak:
ł?)'
jak już sprawdziliśmy wcześniej. i)okładny opis szyfru Hitla nad Z26 znajdlĄe się na rysunku 1.6. Niech m będzie ustaloną dodatnią liczbą całkowiŁą i Niech ponadto
f,
:
P:
C
:
(Zza)-
.
nad 226}' {odwracalne macierze rn x m
DIa klucza e11(r)
K
definiujemY
: YY
oraz
d,x@)
: aK-L,
przy czyrn wszystkie działania są wykonywane w Zza.
RYsuNPx 1.6. SzYfr Hilla 1.1.6. Szyfr permutujący
podajemy na
Podobnie wać znakami żadnych oper
wego' wygodniei jest operonie wykonuje się tu bowiem ia lub deszyfrowania.
'('urn11 'd,(zrd) ,,eqcns esozs fzsns atsczc ,vr" oBaplslod 41u -per'rłodpo p1s1e13ue _ |pzIovl n8ez.rq ,{z:d olzsnul aIłsJoIu alepezrds eu6.. :ntuezcetunłl .ĄĄ1 ' I-J [oułoJ1|l\po lfc€lnluJad ulazgJ ud1 ctfe.udzn (qosods duqopod M ce+fizcpo zeJ3I elfzol'J due.torJdzsez lsłol
I
's0svuHJtar,sHsTgHsTsssTvsHsTsgg uIoI8ŁIc }so[ duts.ĄĄo{frzsez 1sna1 aTc€łInzal
sosvuH I raa.ł,su I arausr I -frzl1g
..u
ł\
sasrvs I usrsaa
:dcŁlndó1seu 1s4e1 ;(uralnu Łlce1nurred z atupoBz,.t"re1q druerrrte1sazrd dnr8 qcd1 z |op?vĄ./|lt z€IoI
aroqse I esaq+f I e"tt"u I seess1 | TeseĘs :o,{\oJałIlolcsozs .{dnr8 ,u o8eułlę[ nts{a} tnvuz fln.fzcŁ1 ,u'rerde1q .
łaJoqsPeseql^qsTToqs€ossTTos oqs .dur99nddzr6 łsal urdu.tl€[ Iua}sło} ez
olu€pz
vlzl9lrl9lr
9l9lVltlZlr
e|c1un; 1se[ ._.l.l tu1or.upo Łfce1nrured s€zc1ńo6
clvlelrlels elslvltlzlr
:.u
efce1nur.rad ecŁlnd31seu etzpóq ruozcnlł qcolu I 9
:
u/ qcaTN
9'I peP[^zrd
.,tzcezł Ó1o1sr dctlnr1sn1 pe1>1dzrd o1g
.{cbfnlnured r;fzg 'Z'T >rsNnS,ł'lI ..l.ł
op Łu1o.rrvrpo Łlce1ntuled 1se[ ,_st, atzpB
t7(u)t-t6r... r(r)1
"fr,)
: 1-6'...,rft)xp
(lu)!r (''' tll)!!x) : (-r (''' tlfr)Le .{urafnrugap .u (rlcelnured q.Azc) Bzcnl{ r-Iq'{u ' ' ' ' 'T} nJolqz rlce1nrured qcq1sdzs.tt tuaJolqz atzpÓq a o1peuod qcolN r Ł1rrto>11ec bqzcąŁru1epop tuo1e1sn etzpÓq tz qcolN .
-(9ZZ)
: ): 4
AĄOINEIS ASo I d^EX Hc
6I
^Is
oud v XIIX
:
gINgZ
ouiĄoadlt
.
I. I
1. KLASYCZNA KRYP'IOGRAFTA Szyfr permutujący jest w istocie szczególnym przypadkiem szyfru Hilla. Dla danej permutacji r zbioru {1' . . . , m} mozemy określićzwiązaną z nią maclerz permutacji K" : (ką,i) o m wierszach i m kolumnach zgodnie ze wzorem
, : l'1, gdyi:r(j), t 0. w przeciwnymrazie.
rc'ir
(Macierz permutacji to macierz, która w kazdym wiereszu i w każdej kolumnie ma dokładnietaz ,,L,,, a na pozostałych miejscach ,'0'' .Kazdąmacietz permutacji
mozna otrzymać z macierzy jednostkowej przez permlJtację wierszy Iub kolumn). Nietrud'no zauważyć, ze szyftowanie metodą Hilla za pomocą macierzy Kn jest tym samym' co szyfrowanie permutujące z uzyciem permutacji zr. Ponadto,
K;' : Kn_t, a więc
macierz odwrotna do macierzy Kn jest macierzą perpermutacji odwrotnej zr_t. Stąd szyfoowanie Hilla jest odpowiadającą mutacji równoważne szyfoowaniu permutującemu.
Macierzami permutacji wyzllaczonyrni przez permutację kładu sa macierze
filiil
Kn:
zr
z ostatniego przy-
il \..r-
rz 1\r -l
fiiil lil
Czytelnik może sprawdzić, ze i|oczyn tych dwóch macierzy jest macierzą jednostkową.
1.1..7.
Szyfry strumieniowe
W systemach kryptograficznych, które badaliśmydo tej pory, kolejne elementy
tekstu jawnego są szyfrowane tym Samym kluczem. Inaczej mówiąc, ciąg tekstu zaszyftow anego powstaj e w sposób następuj ący:
y
: araz... :
eK(rr)eK(r2) ..'
Systemy tego typu są często nazywane szyframi blokowymi. Szyfry strumieniowe reprezentują inne podejście. Ich istota polega na tym' ze tworzy się klucz strumieniowy z : Ztf2'.. i używa się go do szyfrowania strumienia tekstu jawnego x: frlr2. . . zgodnie z następującą zasadq;
y
:
aryz..
.
:
ert(r1)e"r(x2) ...
-nłp o IudAozJnI{ Iua.Ątołs oz €(oJouo8IA lJdzs .I < 2 qcdlu(o{łtsc qzcll
IłcI)Iłs.{Zs1ń
elp pz : P+?7 fpf 'p uesa.r4o z ftmosa.n1o lsef ,ttrorueturnJ]s tSttzs rc1o4 7 .. . .zzlz dzcn11 uollunJłs efe1sluod o3er911 z, ,,n4zh1gz,, o ołB| ;1 o ge19dur druezotu n1peddzrd luT{ts} M .1,7 |auualulz feupe! o>11d1 etc -1un; o>1et n1 ele1s.tnod goIIunJlS .o8eu.ue[ n}s{ał po tza1ez etu ,{zcn1>1 IIaIIunJls udro1>1 .tr .drtoruerulnr1s r;dzs p1€ł oł d,uoruerurn.r1s r;dzs fi'uzct,uo"l'l1cuńg .nuep -e11fzrd rrudlrr'opb18od z zętlu qcdrrtoruetrunr1s rrrgr;dzs elezpor aJgPIaTu o}o
'r
.o8a.rwotu qcr41sdzs.'vr €Ip )1 : ?z itzcnIĄ BIuoIuInJ}s csołJts.{t b1e1s cŁlnurfdzrd -aIIunJ}s nr;dzs 1epeddzrd lfu19?ezczs o4et geru.o11ęl+ r-IIaIIJI dnoąo1q r;dzg
bs
.d ) x o8eurvrel np>Iet o8epzer1 €Ip r ((,),,)"p a? IuIpIts} .tuefcąun; 4<- x .'.p\)<- d :za ,{1nBeg.a),potuomo.Ęfi,zsapo7n6a.l' |e| ) "a ol'uomo"Ęfizs o7n6a.l eleru1sr 7 ) z o8apzu.4 BIo
ecŁleperllrodpo z€Io 3
urduozcuols lsel'fizcnyq yaz-t4saz.td
tse| , d
no?sqe? qcd.lu.r1zour urerotQęduozclJo>Is }sa|
(6,3,.ł,7,)l,),d)
(9)
'J*r_pdxXt?t
. . ,zl .Il) : .o6amot,uatu'tnJ?s Dzcnlą u'a"t,o7o.l,aua6 1sa! (. t I < ? ts|C .o1amozuazulu]s DnnIą uapqotyo tuduerrrz .urororqz rrrduozct;o1s }so| 7 '}
'.{zcnp1 qcd.urlzour ruororqz
,t1cfr,uomoĘfizsDz n9?sqa? qc,{,trqzour uloJolqz urduozcuo1s .l1cfr'umot
\vuue.ł.r.
-eu dcbleru1eds
G) (7)
(t) (z)
(I)
acŁtndÓ1s pe1r1n druerrtdzeu u,{.tlotualIunJls ruer;dz5
9'T VfCrNr.{SO
.btzc lt1u:uue1eru
ó
fcru
gap
tqeuroy zere1 ...
dtur.tre
łspozJd
t7r (zf ,It rIz
eruazcrlqo o8eu[e1or1 eBeud.tr ' ' 'zfrrfi, n8trc oruerr,ro4dzseg
..,tzfrtzztIfrtIz ezcqqo
oufalo>1 31s
.(p,)n., : ?fi b|s e|nur.{zr1o . . . ZrIr oBeu.uel n1sąe1 eruerworJdzs sezcpod cÓr,u ąe; o8ezc nąrudrw .Ąt .?,' €IuBlńo"r;,.tzs op óts prrtdzn o8e.toruarurnJłs €zcnl{ ?z nTualualg '
(r-rr t'''
:o8au.tt'e[ n1$IoT 1\\9Ąę,uz 1
-
Lztr Lta
t
y)?t :
z qcdzs.tt.retd
?z
po zero
ZrIr e
...
ezcnlĄpo.tze1vz ?9ołJ€.ł\ |ar9Ę.!./ ó|c1un; lrs afnso1s (ezcnp1 nluonunJłs.óA
X
n}uarrrala o3a1-z) ?z vt.uę1/lotoue8 oq .o8eune[ n}sło} (uat8Łtc) IuoruanunJłs .urezcn1ą pat y ez (fiulzo1e2 .dllrroruetunr1s rJdzs ęłęIzp 4et o1o y 3y
IZ
=l
.I,I
1AQIN4IS^S)II^aX Hc^IsoadVXIIX :gINgZQvILĄoEd1A
1. KLASYCZNA KRYPTOGRAFIA
22
gościm możemy traktować jako szyfr okresowy z okresem rn' W tym przypadku kl,,""". jest 1{ : (kl,.. . ,k*). Ciąg K dostarcza pierwszych rn elementów klu-
cza strumieniowego: zł : kt dla 1 śź śm, po czym od tego miejsca klucz strumienia po prostu się powtarza ' Zalważmy, że jeśIispojrzymy na szyfr Vigenbre'a jako na szyfr strumieniowy, to funkcje szyfrująca i deszyfrująca pokrywają się ztymi, których użyliśmyw szyftze z przesunięciern: e"(r) - rł z otaz
d',(g):y-2. .Szytiry
strumieniowe są często opisywane za pomocą alfabetów binarnych: Z2.Wówczas operacje szyfrowania i deszyfrowania stają się po
P : c : L:
prostu działaniami dodavrania modulo
2:
e.(r):rłzrnod2 otaz
d"(a):yłzmod2. JeśIi przyjmiemy, że ,,1'' odpowiada wartości boolowskiej ,,plawda'', a ,,0'' waftościboolowskiej ,,fałsz'', to dodawanie modulo 2 mozna interpretowaó jako ope-
rację różnicy symetrycznejt' a to ozI|acza1 że implementacja sprzętowa szyfrowania i deszyfrowania jest bardzo efektywna. Popatrzmy na inny sposób generowania (synchronicznego) klucza strumienie wego. Zacznijmy od (kr,. ..,k-) i niech zi : kt dlal < t < m (Sakpoprzednio)' TyL razem użyjmy jednak do utworzenia klucza strumieĘowego liniowei rekurencji stopnia rn:
\
m-I
Zź+n: D
j:o ",",*,
gdzie cg,.
..
mod 2,
lCm_L € Z2 sQ ustalonymi stałymi.
kazdy wyraz strumienia zajako jązaś liniowq, poniewaz zi1|ezy od' rn poprzednich wyrazów. określamy utraty ogólno;esl hniową funkcją wcześniejszych wyrazów. Zauwazm' ze bez bowiem do. : przypadku mielibyśmy ici możemy przyjąć Co l, w przeciwnym I _ czynienia z rekurencją stopnia m I.
UWAGA Mówimy tu o rekurencji stopnia
m,, gdyz
Klucz składa się tu z 2m wartości k1,. . .,k*,Ć0,
...l
c--1'
Jeś|\
(kt,...,k*) : (0,...'0), to ciąg składa się z samych zer. Tego, rzecz jasna, nalezy unikać, gdyż tekst zaszyfrowany byłby tożsamy z tekstem jawnym' Jeślijednak dobierzemy odpowiednio tAngielski terr.rr\n etclusiue-or jest tłumaczony także jako alternatywa wykluczajaca lub jako suma modulo 2 (ptzyp. tłum').
ul,fułoJ^Az tuolua?ezJds az fct|BAnsozJd Jłsoral fAolu.I.I .8.I
.
(
..au1o.rrl.r.z etuezbz
xgNns^tl
lds ałrorut1.. eluseł/|/t 1sef o1) o:.t
I+t,ą|c
3
I-u o{€i lołre1 .rrr 1rq uepel o
-9l,...(zł
-ł lcso1Jts.Ą\
..[ol&ou..
aruazcłqo (t)
/rlołuoure1a z oBepzu>1arcórunsezrd (6)
leruerurnr1s n1rq o3eu[e1o4 oąe| try otuerqdm (I) :efceredo ecblnd31seu e13e1outn9r dqd1dq eue,uduo1d,tr ns€zc ec}soupo| |ap?gj{ .(-'l,...śrry) Iualol{a.&\ z o8eno1rq-tz nr1salal n1 du9.{q1dz1 rudru'oą1Łzcod ^A qcoqpaa{ l'oauq .Bue) u't,fr,u1o.t,mz u,aluaz\z.lds az ofiacbtom
.(us.łr
.t,a7sl'6a.t, 1tzl1s
.nsaz.l,d o6amolut4 Łcourod ez otlo1bzlds ?e,Ą\ozII€oJ aluzcałn{s bt ęuzoul n.l'pata.l eru dzcnp1 tsIuollunJłs erue,rrręeue8 tspo}atu n1 euełrdsrd6 ..b1e1ez t.tto>11epop
.o3orrrotue-iutą+ts tszcnpl o8eures o3e1
[
ó|ce1nurred buzc1n,fc n>1rudrrr
,r.t
ep dirłoą1Łzcod 'T
ro1>1elr .{rworezeru duut
tT tT
t0tI
dpzey
t0'T'T'0'0'I'0'0'0'I
:rJallun.rłs dcŁ tnd31seu qetru dtuerzpóq .drwo41tzc
-od .ro1ąe,u oł€| (0.0.0.T) ctlnruldzrd .pe1r1dzrd €N 'gI olsaJło o drrł,oruertunr1s izl1o o1 .(0 , . . . .g) po o8euzgr tsJo}{o.lu. po dueruzcez II9of .(l < e)
zcn1ą dureu
z poul I+?z + .nd31seu
8n1peirrr'
?7
-
?ł?2
:dpesez [ecŁ[ due.troraua8 1se[ drrrotuetlunr}s zcnl{ az .frulz91e7.7 - u,l IłcoIN
L'I ptsP[ zrd
..",,,o
l.#
ir.,"'3.ilffJjdi ]ł9,*,
. .€.oraue8tn r;dzs ^.$|li cŁ [n1sdz"ro>1d.tr ?tsul;ałz €u?ou >1e ! !e1ep lw'Ęzceqoz :euepQzod efcen1ds brcgou.tred z oJ .alsol{o rurBn1p ozpJeq o d.tr.t'otuertun"rłs zcnl{ afnreueS aIsaDIo o d.łloruerrunJłs zcnpl fnosor1o olutsłs.{r! (I_uc. . . . .0a ełpłs o8euut o8epzvr1 z o+
zcnPl -od
.T ((DI}oD1.. c3r'łr łtsI
(-'t,
..
tz
.,tĘ) oBełlo11tzcod
uz
ero1>1e.trr.
1AQWsIsAsoId^a}I Hc^ISoEd VxTx:gINgZCu1AoEdAĄ
.I.t
1. KLASYCZN A KRYPT:OGRAFIA
24
P : c: K: L: Zza. Niech (i>2). Dla0śzś25definiujemy
Niech
e"(r):t1
dalej
Ą:
K
otD.Z
fi:
!xź_7
zmod'26
oraz
d"(a):y-zrnod26 (x,y e 226). RYSUNEK 1.9. Szyfr z autornatyczrryrr:- generowaniern klucza Zatwazmy, że Iiniowe sprzęzenie zwrotne realizuje się przez wybranie nie. których bitów rejestru (wskazanych przez stałe c7 o wartości ,,1'') i obliczenie róiliicy symetrycznej. Jest to zilustrowane na rysunku 1.8, przedstawiającym generujący klucz strumieniowy z ptzykładl I.7. rejestr " z'"a.y z xórci rysunek 1.9 przedstawia niesynchroniczny szyfr strumieniowy jak się on' Pochod"i kluczat. generowaniem jako szyfr z automatycz,,,yr., od Vigenóre'a. wydaje, "
Na"*a tego szyfru wzięł'a się stąd, że tekst jawny Ęst w nim używany w roli klucza (oprócz pierwotnego,,rozruchowego'' klucza Ą-Następujący przykład ilustruje to podejście.
Przykład 1.8 Niech K :8 i zaŁóżmy, że tekstem jawnym jest ciąg rendezvous.
Najpierw przekształ.camy tekst jawny w ciąg liczb:
17473342521142018 Klucz strumieniowy wygląda tak:
81741334252r1420 Dodajemy teraz odpowiednie elementy i redukujemy modulo 26:
252r171673209872 W wersji alfabetycznej tekst zaszyfrowany przybiera następującą postać ZVRQHDUJlM. tSpotyka s\ętez la,zwę szyfr z autokluczern (ptzyp. tłum.).
-r(
o8au,Ą\€[
nT$Iał 8Łrc nur .{cŁfepeutrodpo ce.Ą\opnqz
,factlnqdzsap
I
frn1erede o3eue.uo.r;..(zsez n1s>1a1 8trc 9e.rqdłr. cór,u azour ,{.trosezcurd1 1er1sdzn {Iu.Ąó'IcozJd .duean,o.r;dzsBz łs>Iołr(ue"rqd6
op dÓ1sop
-er,uodpo c€,ĄĄopnqz
r
x
..l( o8auerrłor;fzsez n1s1e1 8brc nu dcbtep .lecŁfnrJdzs o8aurvrel nłs{ol 8Łrc cerqd,u cór.u ezour
drn1erede op dó1sop d.tłosezcrud1 1eąsdzn łIu/[IcazJd 'r(uarref 1sąe1 .{ue"rqf7y1 .r( o8eue.uor;dzsez n1s1e1 uar8Łtc nru ur.{cŁlepet.uodpo z
zB
Jtń'
x
ofieu,tre I n1o1a1 n8Łrc nruepersod,u 1se [ ąrurrrrcaz.r4
.r(une! ł"łoł,fue167 'r( o8euervror;
-tzgez n}$Iat n8brc nruepersod
.ł.r'
1sef ąturvrrcezr4
.fue,rł.o"g.Rzsuz 1sąe1 oą1Ą1
ruo lcen 1.{ s ru.{uvr1d1ods [erc93zc feu Órs dru [dz.l [,(zr4 .duzc5er8o1ddn1 tsu n{€ ł€ dpo1eru uo11sdzs.u apazrd durlruzgrzog rua1sds .tsJoqłcJox Ópesez crupó18z.łln dtursntu o8euzcge"r8 -o1ddr4 nurelsds o8euzcatdzeq ntuervrol4efotd fztd cSrrrt >1ea 'erurelsds seu zeztd .ecue1sez.rd lau.ryrederu €u nIuoTs^S €.ł\}s ul,|11.rzn o,{zpet,u leupe7 €uI elu Jg{so ?I .uezceldzaq9e.rerdo 1eupat..tulecqc aIN .ezslatupnr1 órs a[e1s olu€p€z o8e[ .1sa[ atu ,etcgrrndzcg ,(osoqqc.l,ay bposoz ouęayśzęu e.udq o1sózc oc) due.troso1sez ,eluezo1ez .ąrun'rcez.rd .
{€}
TI9a|
eu1o8o av 1e1soz duzcger8o1d.{q ure1sds r>1eI errrt, .''nł.o fruetnurtdz.r6 .dzr1eueo1df.rą .{po1aru aJhągĘ-gli1ryzolpod tud1 ,u duryrrgurg BzII€uBołddł>I .7'.I
.qcduzcge"r8o1ddr1 łr9ue1sds pt1op qcdueuzod dztpueo1 -dfrą op cdzn1sod Ł8our ar9p1 .dpo1eu durrrrł'guro e1erzpzorpod ududó1seu 1tr dzcn14 qctuzgl 96 erudpet rfcdzodsdp op tuol.ł\oq uIIu .ł\ drueru
,fuzceldzaq
1se[ eru ęzcnlĄIuolu€1(to.rouaB
ul,tuzcfi1e,Iuolnts
z
t5tf.zs
atcstrrrdzcg
.o8o.uoruerurnr1s €zcnP1
[
-r'ret n1sr1e1 n{€uz
o$aute1o>1
nłuorualo o8eu[e1oą o4e[ eząe1 o3 ę.udzn o8au nruetudzr1o od .Iur€Ioqruds rudud]1seu z eruqopod t ,V
:
g1porrr
fI _
IZ
:
(I,Z)Lr,p
:
zr 'felso
LI:9ć
poul 8 _
9Z: (97)ep: w
:gozcrlqo op atndSlsdzrd urfzc od
,ZI86OZTL9ILII7'92 €Iuacł€lzs{azrd
:dnoqzcr1 8Łrc .tr, oBeuzcd1aqe;1e n8ttc po eul|zce7 .}słałua} efnr;dzsep ts|cIIY 4et ,zerc1 f,'uo'zceqo7
VZIIVNVOT4AAX
9Z
'Z'T
1. KLASYCZNA KRYPTOGRAFIA
26
W każdym przypadku zadanie przeciwnika polega na ustaleniu k|ucza lzy-
tego do szyfrowania. Zatttvazmy w tym miejscu, ze atak z wybranym tekstem zaszyfrowanym ma szczególne znaczenie dla systemów kryptograficznych z kluczem publicznym, które omówimy w dalszych tozdziaŁach'
Rozwazrny najpierw najsłabszy typ ataku, mianowicie atak tylko z tekstem zaszyfrowanyrn. ZakŁadarny, ze tekst jawny jest zwyczajnym tekstem w języku angielskimI , bez znaków przestankowych i odstępów między wyrazami (co utrudnia kryptoanalizę). W wielu metodach technik kryptoanalitycznych wykorzystuje się statystyczci języka angielskiego. Gromadząc dane statystyczne z licznych ksiąne właściwoś żek, czasopismi gazet, różnibad'acze szacowali względną częstośćwystępowania każdej z 26 liter angielskiego alfabetu. oszacowania, które prezentujemy w tablicy 1.1, zostały uzyskane przez Bekera i Pipera.
TABLIcA 1.1. Prawdopodobieństwo wystąpienia 26 liter alfabetu jęuyka angielskiego
Litera
Prawdooodobieństwo
A B c D E F G H
0,022 0,020 0,061 o,o7o
1
J K L M
Litera
Prawdopodobieństwo
R s T u v w x Y z
0,067 0,075 0,019 0,001 0,060 0,063 0,091 0,028 0,010 0,023 0,001 0,020 0,001
N
0,082 0,015 0,028 0,043 0,127
0,002 0,008 0,040
0,024
Uwzględniając obliczone przez siebie prawdopodobieństwa, Beker dziel'ą26liter na pięć grup: (1) E
-
i
Piper
prawdopodobieństwo wystąpienia ok. 0,120;
e) r, A, o, I, N, S, H, R -
prawdopodobieństwa wystąpienia od 0,06 do
0,09;
(3) D, L (4)
-
każda z prawdopodobieństwem wystąpienia ok. 0,04;
C,U, M,W, F, G,Y, P, B
z prawdopodobieństwami od 0,015 do
0,028;
(5)
v, K, J, X, Q, Z -kazdaz
prawdopodobieństwem ok.0,01.
TPorównaj przypis na str. 4 (przyp. tłum.)
.€upełq els
.du1ezczsndop ęłezęĄo €zołodlq cer.,vr {tsJ ,I < Z: (gz.,)o.łrt't.l zełraruod }se| e1u ZcnPI DIts} .d1a1ser5 .1szv n) 6T : s ,g:, :atuęzbt,,,tzot oupet o41,,(1 tstu p€P1n
.g:qto6I 21:qtol
:turdruopetrla.alu €Iual..(tp
z qcdrvrotut1 gtsu.Ą\oI qcg^\p p€ł{n
.g lrfa!tsz,,true141 ..ttttęuz etu ezczse| g I D Ic9o}Itsłr. e1e ł :l:D : (,)x, ., .drrrlruur -oddzr4 .g : (61)xa zvJo LI : G),, ,(rueur .o.ltłoqzcr1 o1 ct[ezerd'11 'IIu€Jo1II ,a [ley1 ,? rurdcŁtndó1sd'rł. larc9Ózcleu Łs 1 r a olu9€ł.Ą\ ?f,pB 3"ra1q eln1uazatdeł 61 e .@pcnĄ udirrr'o4fzs trrol{Iupollłodpo 1set g az,óze1odrq tudó1s.tt gbtfztd druezo141 eruerdŁ1sdn,vod) A,g,gzvto (gerdt1sdłr s) N,n.g.(9erdt1sd1,t'L) a.(uardŁ1s
.o8euzcruge nrJfzs -d,!\ 8) g. :,{re1q ecŁlndó1seu ttndó1s.{łr [erc93zcfeu aIcPIo} 11
dzrleueoldfrl op dzcrelsd.u o1 e1e 'noneuz fq o{ldf eru duerrroqdzsez
8U nh '\
zw
A
Ij
,/A
0
z
X
Z A
z
0 T
Z
z c
?9o}sózc
J ,9
IO Ill
€JolIT
o8eueirło.r5fzsBz
Z7 9X 0t
?9olsazo
f
H
c
I
I z
1sr1ea r
0
\ą--
0 h
I g a
L
c
0
€JalIT
a
?9otsÓzc
V
€Ja}IrI
nłs{ałJo1II 9u e1uel,rodó1sfrn 29o1slz3 .z.T vcITgvJ,
.olc9{a1 ud1 łr, Jo1II €Iuts.1r\odÓ1sd,tt'
rcso1sÓzc ouep tsJal.&\tsz
z.I ęoIIqę,I
HUHHUTASI,TOXUdVXOECIIAHSAOX0SO0UOIIJSUSUXUXONSUSJHdvvCEAXI'{J
oz .dtucsnddzr4
:duer*.or;dzsez łs{ot dcŁfndÓ1seu 1rcd.uqcezrd J€{so
6'1 Pe74.tzt4
'qcduzcdlsdlels qcduep errrtelspod eu dztleut -o1ddr4 9e.uduo1op tsuzou]' ąe[ .oBeuzcruge n.r1fzs etzpe14iztd eu futzcvqo7
o8euzcluge n.rgr(zs ezleueoldd.r>I'T'Z'I
,gHJ
.HJO rol-
ZErc
,VHJ ,JNA ,flAg .AgH ,ONV 'PNI VOI ,HJg .SVA ,HJN
(udcŁta1eu n4pŁzrod r't) qcf.uore1qdz.r1 druB. qcdcbtndÓpd,u,
-[ęu ercsguę.ry\p IaIoł Z.lo zvlo
fercsózc
,SI ,IJ ,ao ,Sv .cN IH ,flS ,gJ ,aV ,JI ,Jfl 'NE 'JS 'sg'No 'og 'fla'NV'ug 'NI'gH
'vfl'no'oN 'vH 'rN 'oJ'JV
,111 nąpŁzrod łt) qcdr'l.oJolllnł\p dnr8 qcdctlndl1sdirł' fercg3zcleu :(tnf,cbte1errr .re1q qcdule1oł qcozJt qnl qc.oł\p ddnr8 33e.łrn pod cerq azł€l ołJB^Ą 0t oło
VZI'IVNVOT4AEX
LZ
'6'T
1. KLASYCZNA KRYP'TOGRAFIA
28
pary ^ "P;(3,5).
wykonaniu tych operacji otrzymamy wany przekształci się w następujący ciąg:
dx(il :9y - l9' a tekst
algoritbmsarequitegeneraldef init ionsof aritbmet i cproces
zaszyfro-
se sT
Możemy stwierdzić, że ustaliliśmy właściwyklucz.
I.2.2. Kryptoanaliza szyfru podsta podstaPrzyjrzyjmy się teraz sytuacji bardziej skomplikowanej, czyli szyfrowi zaszyfro-wany. tekst wieniowemu . Rozpatrzmy następuj ący
Przykład 1.10 oto tekst zaszyfrowany za pomocą szyfru podstawieniowego: Y
IF QFMZRWQFYVECFMD
ND
ZPCVMRZWNMDZVE JBTXCDDUM
IFEFMDZCDMQZKCEYFC
JMYRNCW
J
JCSZREXCHZUNMXZ
ZUCDR JXYYSMRTMEYI FZT.IDYVZVYF ZUMRZCRWN ZDZ J J XZI,JGCHSMRNMDHNCMFQ CHZ JMX J ZWI E JYUCFWD JN ZD IR
N
Tablica 1.3 zawiera wyniki ana\izy częstościowej tego tekstu.
TABLICA1.3.Częstośćwystępowania26litertekstuzaszyfrowanego
Litera A B C D
E
Częstość 0 1
15 IJ
7
F
11
H
4
G
I
1
tw tłu.a""e,,iu: ,,Algorytmy
(przyp. tłum.).
Litćra
K
L M N o P
a
R
Częstość 11 1
0 16 9
0 1
4 10
Litera s T
OzęstoŚć J
2
U
v
W
X Y Z
5 8
o 10
20
są całkiem ogólnymi definicjami procesów ary.tmetycznych'
:dlu€ul
UI OZNT OAJCNAf
E I AZ T XWf ZHC
D
JI,'IC NHOI,.INU}.ISHCCAZX
u--oq--p-e-----pa----a-P---Ptł---qu---P-por r
zqzNlrEczul,.Inzc.[AZ^IoAzc
r
u(cnzN
^sllrul{s^^xf --a-eqPueou--o---e---pe------u------u-P-oq ZxIlłNnZHcxsuz scr
J'lcNu^I,.Ir
o- -tł- e-P- -ua-P -p€qu-
cc^Ecxz D}'Ioczol/{cl J I oN
- -P
---P
-
a- -
-Pa-
---
-- -q
II ---
rb.InoocxI8r E^zo}.INl'łizul/ł^cdZ oI,{Jcl^I'JDł1uzi^lJD J
--
--
-P--- - --
o- -Iłpou--E - o-- -E - - - - -puo - --
.D : (dXp ez .tąrud.t\ eL.lpu-eu o8eu,ttef ,'tuaruz e1 cŁterupó18zry\^ .NZ,(dnr8 po nlualuzolpo ,tr .o1sózc ,ó|ce,l dureur II9aI ,,'t : (u)Xp vfuttztd ce.toqords durezour [a1eq
ntsłołn1ueur8e.r; z o1
efnda1sfłr 771 ednl? e7 o1e! uI
czNr cAJclltr,ra IAZ r xWr
z Hc b JI,.Io NHoI,INuI'{SHcclĄZx
u--o---p-------pe----e-----------u-----Pof f ZAZNAEJZUI,{OZCI'AZA.I'OAZ J IJ.S}'IIUIIIS.I'^Xf UOC0ZN
-- o- o -pu- au- -o--- o---po
-
-- ---u-
---- -u--- o-
zxll,lNnzHcxEuz scf Ac Nu,tl^lf cJ^Ecyz bI,'Ioczol^lcE J r oN o- -- - e --- -uo -;:p::rr=_- - - --- --e - - - -o-- - - - - - -
rb.noocxlgr
:
/'
f nzol.Imnzul.t^cdzcNccs^I'JbI'łluZlIJbc
I
-peu----a---------puo------ ^
cgotuperrvrodpo ŁcŁ tndÓ1s€u
zBJal lkleu7
euqopodoprrre rd lerzpreq [ęu etuę zbtu'zo l t|ulezol;u ,ęuę;ytfizn o1sózc tur1s1arBue n1,.(z3t .tn 1set pu .ó8e.łr.n pod cŁrotg olcs{a} .u o1sÓzc óts er.tręfod g. ez .
Ef U : (a)Xp cęuzl
ednrS ę .udue.łrr.o4dzs€u
.tcgózc ednłB e .n1sąe1 o3a1 n11Łzcod Óts ezre1uod ,ł\ ou{tsT tezs1ep oBet ,14g ,ltlnzv'ttne7.fue,tło4fzsez łsło1€u o1s1q ttndópt'n ,142g I. 1LĄ?IZ ddnr3 az zel tftnzt1vdod (p : (u)Xp zęlo a : (Z)Xp a? ,o1uezo1ez ct[nru[,tz.t4 azczse|
'eurvrerdod 1se[ rcgo.ttqzolu qcozJ]
qc't1 z €I9ł{(ousts[ 1se[ eru coqc.{?,s.;} ) @)Xp ez'.,cezczsndfzld illlozoul .eru1or4nrvrp g2 e,.tzel 't.rc1zc atnd31sd'u Za o4.oBe1 z|oloĄZ.p : (,14)xp az .t1euz auut zru telzpezl órs et.uelod .cełrduraturuop o1peuod E,ttfęl durazoru '14 .cZ etnd31sd,tr fu|Z zr.wo|uo1.(tzel e.ttp od) rZ I oZ Irię
Z'ĄĄB,fzęl fla1zc
zeio (tzet 'tzt1 od) nZ I ZN'(f,zet
'AZ 'AZ 'ZI'ZX'ZH'ZU
't'lre,pc od)
rru,{ctlndÓ1s i,t tetcsbzctęu az I Z o ts nlezpor o3e1 rurd.ttoro}qnmp truedn.r8 ',LĄZ ,durezprer,ulg 'a 3ra1q efn1ueze.rde.r 7 az'ttttvlrlrezrlepod zfrpB ' 7 qrq 7 tcelsod ezDzsŁłr\\z.rtud.uore1r1n,up rruednr8 Órs ce.uoserelul€Z o}Je^\ rlcen1ds te1 6 .gruezŁr.uod o1dq euzotu dq .euroątuz 1f,qz n1Łs pruęrrtodó1s.{.tr rcso1sózc .łr
9dr1po
ocIufgl4eupet J,,Ił s ,Itr,? ,o.rr re1r1 (pgrgods qc,tr91ąeru) rąrupar,r.r'odpo o1 Łs ez ,cenu4ezco€uzotrĄ .A,a, W,r,tr,0.9 :dre1r1 aIJP1oł.tr b[ndó1sd.t' dzer 91 letuur ,cervrduraruurop durezoru 'oSeutsltotl/lzsez n]$lot -[eu oc o]ptsuod .a : (z)xp az P-rc+I] z€.Ą\oluod ąeuz duur 1er.u1o1o1et zw te1c9bzc ocbzcęuz n1 etndÓ1sd,t Z ,
.7
,
VZI'IVNVOT4AAX
6Z
'Z'T
1. KLASYCZN A KRYP'IOGRAFIA
30
----- i
end-
----
a- i - e - a- ine dhi - e - - - - - - a- - - i
YI FQFMZRI^TQFYVECFMDZPCVIIRZWNMDZVE
JBTXCDDUM
-
J
h- - - - - i - e a- i - e - a-- - a- i -nhad- a- en- - a- e -hi - e ND I FEFMDZCDMQ ZKCEYFC JMYRNCW JCS ZREXCHZUNMXZ
he-a-n----- in- i----ed---e---e-ineandhe-e-NZUCDRJXYYSMRTMEYIFZWDYVZVYFZUMBZCRWNZDZ
J
J
-ed-a--inhi--hai--a-e-i--ed-----a-d--he--n XZIIGCHSMRNMDHNCMFQCHZ
JMXJ ZWIEJYUCFWD JNZDIR
o-r-riend-ro--arise-a-inedhise--t---as Y
T
F
s-
it
QFMZRWQFYVECFMDZPCVMRZWNMDZVE JBTXCDDUMJ
hs-r-riseas i-e-a-orat ionhadta-en--ace-hi-e ND I
FEFMDZCDMQ ZKCEYFC JMYRNCl'I JCS ZREXCHZUNMXZ
he-asnt-oo-in- i-o-redso-e-ore- ineandhesett N
ZUCDR JXYYSMRTMEY I FZ}JDYVZVYFZUMRZCRWNZDZ J
J
-ed-ac- inh i s chair-acet i-ted--to-ardsthes-n XztlccHSMRNMDHNcMFQ cHZ JMx J z1ĄII E JYUCFWD JNzD IR
od ecrzpo: nul ll€p€u
' ('un11'ddz:d) qcl(uozcoupetg n9we1g op nruerrnorSlura.'łrr ar911 .urer11r,16 IIIoIuaIIuI pod,(ueuz r1sr;vr1,{rarue 3o1o1dd:1 .,tuu.,t15'
'[('-.tydfrztd)
€JgołS op buocoł'nz bzle'ti1 z .arupo3.'{rrr brs 1:edo arurrrouod I €uIiA nIII IuełeFN .1,(z:1ed eru ueu ,{p8 .e1ernored;(r* )1o1Jer|\ez fq1e[ .uratua1,lrr\zpz az Ąazsl|aD{ f1snd f9rrłs 1ezrfaqo ez't'le4 z ..oul .Jdoux .V ,acuaaol4 ux JDe^ y :a1fery .4. 1alce[Azld zs'BN :nluazc€ulnłr 16] '686I
€Iualdtłsdł\ Ic9ołsezc qcalN .ouzcd1uapr bs x n8trc tzvil1ll^ au?Jqdł\ oló.osol .o3e1 dure/!.tdz€ ' .(*)"1 luoloqulds uJ]f.uP.fcP-uzo ,1ns o.tt1sualqopodop.ł\€ J d €.&\p ez ?,, Iual8ŁIc olzpeq utr. . . ztrIx: : x qcolN -oupo6z u,asąepul .nłaq€Jl€ ^\gĄPJuz
f'T
vfcrNrdso :dcŁ[nd31seu
qosods 1Ą lu€tupol"\{ -{opuT Łcourod
aJIoł\ n{oJ 0z61
Ez cvĄsfzn €uzolu
1!\
ł€/y\oluuapz ot olcólod.Icsoupo8z
ns
u,ł lc9olJe^& acb,fc[+op alc"eluloJul ozsl€C
.qZJII
qcdł {IuIaIzp du1ods,tr dzs>1Ór.tr'[eu llerzp u az .duI€pBłłBz L...,Zp.Ip lc9ołSalpo oDItsł cŁt€trĄ .,.("red feupel op qcdcbzal€u 1Y\9TuauI3€4 ltuvl1€uz IuIdzs..VrJoId ,.tzpÓrur ( rcso1Se1po cŁln1órurede f l'lloĄeuz qcazr1 leruurfeu oc lD9o8nłp o .Ą\9}uau3€Ę qcdu .ocŁtndÓ1s€u €ł€IZp ua1 -zcd1uapr Jtsd durg{nzs ruduerrlor;dzwz alc9{a1 1saJ '11 .o8au.ueI n}s)Iał ez .o.tt1suerqopodop,t\€Jd ołtsIualu o[ Iuo}ueul8€4 urduzcd1uapl ouo tl€p€I.uodpo -olułsl oł (.Ąroł€uz q)ozJ+.durzper,ttod .latutufgu oc lcso8nłp o d1ueu8ery ouzc:{+ 'aTuloJ,t\po 'Iu potu 0 : r -uapr
ts1\\p
druelnpleuz urduerwo4dzsez alcs{ol
/1r-Ilgo[
utlzc dztd'rfcdzod n o oBaISup uep{1Bzn.{l3rinsazrd lsaf qclu z uapof
-rvret erc94a1
11'
II9o|
u.{u
.aue,vr'or3fzsez ollJzcfi+uapl tuBłsoz o8ou/.\B[ nTs{ał d1ueu8e;;
ouzcf}uopl ęlirip af .rfcelł.resqo tsu els ererdg .nłoJ t98I .o8ar1srsey €qclrpal"\{ 1esrdo dro11
g)lsl1l{z€u
po
1lr
ó.Ą\zBu 1Łrz,tt
dzs.{IJald zęr od oB
oBat1sls?y łsaJ
'\nuepnuxo)
(o6ars1szsoy
..l.l'z! .Bue) t'cgoupo1z sqepu?, órs eln1s.{zroądrw lar8nrp nt ?seł {o rapul' .po}atu :qcfiuzor g{I{ n1 durezo141 .u, zeztd bt łsal qclu z Łzs1tuold ?€.Ą\osols€z ,tlnzcpuzo lo8errtozcnp1 ts^rołs lcsoBn1p erueuzodzol oI zcozJ €zs.lr\Jeld .€(oJęua8IA 3rs druenule2
ngdzs dzr1eueo1ddnl ilutspo1oru rudr91ąeru oplzpzoJpod tu,t}
^\
€śoJauo8IA n.rg{zs BzIIBuBołdr(.r>I .t.z.t
I
.Iuns pałIlt actsJ.rreqc srq uI {Jtsq pol}łos aq puts auIA spJ€ , l&oł aql }(us€1jlt oq olq1rt. ece1d ua>1e1 peq uot1eroderre sse13 ,t1dure slq pauTlutsxo sIJ€d tlloq pual{ Jno
aJotu oluos pe.rnod 1 .3uo1oo1
.asrrdrns ;r se
q}I^Ą
:
zerc14l|e1nvrds
.Ic9ouprul 1sąe1,tct tndÓp"eu durafnurdzr1o ntueiuor;dzsap od 0I.I alzp€ł{f,ztd n €zcnPl zero o8au.trgtnp>1e1 atuopłsn
eru
VZIIVNVOT4AEX
II
'Z'I
1. KLASYCZNA KRYP'IOGRAFIA
32
A,B,C,...,Z
w
równe fo,fl,.... Dwa wyrazy z ciągux (!) spo.obó-2. DIa każdego i, 0 < 2 ś25, mamy (f1) sposobów
x będą odpowiednio
"u ^ożnuwybrać wybrania dwóch elementów i'. Stąd wzór: 25
r/
\
r.\x/:-
D i:0
ft(fo
,
-
t)
rllrl - ^ Ll
.
Zał.ózmy teraz, że x jest ciągiem znaków tekstu w języku angielskim. oztaczmy oczekiwane prawdopodobieństwa wystąpienia liter ,4' B,..., Z z tabe]^i t.I odpowiednio przez pO,. . . ,Pzs. Wówczas 25
1.(x) =
Dr?:0,065, ź:0
ponieważ prawdopodobieństwo, że dwa razy losowo wybierzemy literę A jest .ó*.," pfr, p,u*dopodobieństwo dwukrotnego wyboru litery B jest równe p! ita' To samo rozumowanie odnosi się do ciągu x uzyskanego w wyniku zastosowania dowolnego szyfru monoalfabetycznego. W tym przypadku poszczegóIne prawdopodobieństwa mogą podlegać permutacji, ale ogólny wynik, czyli 25
\/J'
e?.
ź:o
''
pozostaje niezmienny
Przypuśćmy,ze zaczynamy od teksu zaszyfrowanego y : yflz...an, Po_ wstałego w wyniku zastosowania szyfru Vigenbre'a. Utwórzmy rrr, podciągów Vt,Vz,.,',Y- ciągu y' zapisując tekst zaszyfrowany w kolumnach w prosto_ Ętnej macierzy wymiaru m x (nlm). Wierszami w tej macieruy są podciągi y,, 1 śi śm. JeśIi rn jest rueczywiście długościąk\ucza,to kazda z |iczb l.(yi) powinna być w przybliżeniu równa 0,065. Jednak' jeślidługośćkhlcza nie jest równa rn, to podciągi yi będą rniały znacznie bardziej losowy charakter, ponieważ powstały z zastosowania różnych kluczy. Za,lwazmy, ze dla całkowicie losowo
wybranego ciągu
I.
x
26(1126)2
: 1126:
0,038.
Te dwie wartości - 0,065 i 0'038 są wystarczająco odległe, by w wielu przypad_ kach umożIiwić ustalenie poprawnej długościklucza (lub potwierdzenie hipotez5'
powziętej po zastosowaniu testu Kasiskiego). Zilustrujmy obie te metody przykładem'
Wspólczynnik d,uumianoug albo sgmbol Newtona (;) : E#'n wybrania k-elementowego podzbioru ze zbiort n-elementowego' 2
okreśIa liczbę sposobów
1. KLASYCZNA KRYPTOGRAFIA
34
że wszystkie indeksy dolne są brane modulo 26). Dochodzimy zatem do takiego oszacowanla:
M I.(y
t,
r 11 =
\
h:0
nn- riph - k:
: D,
h:0
pnp n+*o
-tq.
Wartośćtego oszacowania zależy tylko od róznicy kt - ki mod 26, którą nazywamy względnym przesunięciem yź i y j. Zatwazmy ponadto, że
\sa ) 'phph+I: fźphph_I, h:o h:0 a więc względne przesunięcie o l daje to samo oszacowanie wartości MI", co względne przesunięcie o 26 - l' Tablica l.4 zawieta oszacowanie wartości odpowiadające względnym przesunięciom w zakresie od 0 do 13.
TABLIoA 1.4. oczekiwane wzajernne indeksy zgodności Wartośćoczekiwana
Względne przesunięcie 0 1
3
/
4
\
MI.
0,065 0,039 0,032 0,034
0,044 0,033 0,036 0,039 0,034 0,034 0,038 0,045 0,039 0,043
Ę
o 7 8
I 10 11
t2 13
Warto tu przede wszystkim za:uwazyć, że jeśliwzględne przesunięcie nie jest zerowe' to oszacowania wahają się między 0,031 i 0'045, podczas gdy zerowe względne przesunięcie daje oszacowanie 0'065. Tę obserwację możemy wykotzystać do sformułowaniaprawdopodobnej hipotezy dotyczącej wartości l: kt-kj, względnego przesunięcia yl i V j, w sposób następujący. Przypuśćmy,że ustalamY ye i rozpatrujemy wynik zaszyfrowania yi za pomocą ciągu eo' €L,€2,.... oznaczmy otrzymane w ten sposób ciągi przez yoi,v71 itd. obliczenie indeksów MI.(y,,vJ), sdv 0 śg ś25, nie sprawia trudności.Można to zrobić, stosując wzór:
M
t-?5 I.(r,ys) - Lx:u
łx-e
rr. :r
.
ls{al
du"e^l.o{
fizszol aIcI.Ą\o{łBc
drurzpoqcop o4qdz5 .X
AgaV
.JsNVf
1sa[
ud.tozcnPl
:{tsl tspŁI8d.ł\ ula1hołS ez .n1sorurlr op
urercórunsez.rd u'(uzcrp1dc ru,{ułlad 1se[ zcnp1 ez
.9ervrezrfepod zete1 ,|uteqo6.9zZ ) Ił Ic9ołJ€^{ faurvred €Ip (0I +Iq,I?'+ląLv|lą ,LI + Iq.rry) ce1sod €tu zcnl{ az .euqopodoprlłe.rd ozprcq 1sa[ cóut 1e1
.0|łlq:sq I(łtq:v51 |łtq:tq LIłIE:eą :rry
tcoruod ez qcduropet.łreru córd uzęlf,'nt
o} tsI€.Ą\zod
.11:są-vl1
97: sq - tą L:9q-zą g1:tq-zq 9I:ett-Iq 6:eą-Ą ( :9q ?q t,ą | zą | Iq, 1l;l.1..lnop€I1rrolu €ruolceld z uęu.Ą\oJ p€ł{n dcŁfndó1seu o1 afeq .II ou1Y\9I 1se[ 9d I 7r( alcórunsez"rd eup31Bzn' v ,g7 autvtol 1se| 9,,( T 8..t elc3runsaz.rd eupb18zilt,2 ounrol 1se[ 9d I zd eTcÓpnsezrd eupó18zrrr .91 aurrtor .g1 euru.gr 1se[ 97( l Id eTcórunsez"rd 1se[ sd T zd alcópnsaztd aupb1flz,u |
aupó18złr. .6 eurl.rol łSa[ z,.( I rzt elcÓpnsezrd aupó18zt iaz .o1 eu ocŁ[nzg{s.& Tł -?Izsod oulls auo trrrtoue1g .I{Iu€J .tr ougsrd.ryr' Icsou€.ĄĄ csazs g.I ,(cqqe1 6 .ęrcÓrunsezrd o8eupÓ1Bz'u ?9ołJ€,ł\ oIu9Bł^\ 1se|o1 oz .olu€Iuoturuop durefnrut,tzfi,((t,z) dled lauep ep) 99ope.łto1e1 eupet oą1d1 efetu1st II9of .990.0 qcplslq (!uf',r/.-),71,y Ic9olJe.Ą\ dtuvr1nzs (t,z) t'rud
.g .gz .g.I ouo tS dcqqe1.Ąl ouozczsolulez > ó > 0 > .f > p > i dp8 |apqqtsIq , e.re1nduoą cbte nttz n' ercórunsazrd ( [r. l t\, 1 111 Icso}Its.Ą\ gg7 9 tzc1qo oupnr}alu cdzcqqo zela1 durlnqgJds .g g9o3n1p BIu zcnPl ez,óza1odllą dtu9ttótdzr6 .
eupó18zrvr
'pc
7y'7
peptzt4
'11'1 npelldz.rd op drugg"rrrtod '9e,tto.r1sn1tz o? dqv .^zDnl{
€Iu€1Y\I{nzsazrd
o8ecŁfndtozcfrl:ll^ Łpo1eru .pe11,.(z"rd
eu ,cza1euz znl
o.t1e1 er9p1
.?r( .&g8ŁIcpod qco,ttp qcdu1ol.r .truezcn1ą rurdrr.tt1zour 97 z l|pa1n fuatv]so7 -op tsp "ercórunsezrd eup318z.tt ce:uudzt1o frtuezolll .ópo1eru Ęe1 cŁtnso1g .970.0 op It0,0 po qcectuer8 rrr óts ce.udurdzr1n ęuo euutrvrod ,7l 6 f,pB łsęIruol€N .nJaz ou.ĄoJ 1set fr( I ?r( eTcóTu -nsezrd eupÓ18zrrt zęl.reruod .990.0 e{s1q 9dq euur.tod ,1tr4J 99o1rcn,7: 6 tp1
VZI'IVNVOT4AAX
st
'Z'T
36
1. KLASYCZNA KRYPTOGRAFIA
T.łeI.rcA' I.5. Ftzeczywiste wzajemne indeksy zgodności J I
2
I
3
1
/
1
2
3
2
A
2
3
,t
3
A
Ę
Wartości M
l.(v;yi)
0,028 0,027 0,028 0,034 0,039 0,037 0,026 0,025 0,052 Fp68l 0,044 0,026 0,037 0,043 0,037 0,043 0,037 0,028 0,041 0,041 0,034 0,037 0,051 0.045 0,042 0,036 0,039 0,033 0,040 0,034 0,028 0,053 0,048 0,033 0,029 0,056 0,050 0,045 0,039 0,040 0,036 0,037 0,032 0,027 0,037 0,036 0,031 0,037 0,055 0,029 0,024 0,037 0,034 0,043 0,025 0,027 0,038 0,049 0,040 0,032 0,029 0,034 0,039 0,044 0,044 0,034 0,039 0,045 0,044 0,037 0,055 0,047 0,032 0,027 0,039 0,037 0,039 0,035 0,043 0,033 0,028 0,046 0,043 0,044 0,039 9,031 0,026 0,030 0,036 0,040 0,041 O,O24 0,019 0,048 lopzo l o,ołł 0,028 0,038 0,044 0,043 0,047 0,033 0,026 0,046 0,046 0,048 0,041 0,032 0,036 0,035 0,036 0,030 0,024 0,039 0,034 0,029 0,040 10,067 | 0,041 0,033 0,037 0,045 0,033 0,033 0,027 0,033 0,045 0,052 0,042 0,030 0,046 0,034 0,043 0,044 0,034 0,031 0,040 0,045 0,040 0,048 0,044 0,033 0,024 0,028 0,042 0,039 0,026 0,034 0,050 0,035 0,032 0,040 0,056 0,043 0,028 0,028 0,033 0,033 0,036 0,046 0,026 0,018 0,043 [O,OS0 I O,OSO 0,029 0,031 0,045 0,039 0,037 0,027 0,026 0,031 0,039 0.040 0.037 0,041 0,046 0,045 0,043 0,035 0,030 0,038 0,036 0,040 0,033 0,036 0,060 0,035 0,041 0,029 0,058 0,035 0,035 0,034 0,053 0,030 0,032 0,035 0,036 0,036 0,028 0,046 0,032 0,051 0,032 0,034 0,030 0,035 0,034 0,034 0,036 0,030 0,043 0,043 0,050 0,025 0,041 0,051 0,050 0,035 0,032 0'033 qoąs 0'052 0,031 0,027 0,030 lopzl o,oss 0,034 0,032 0,043\027 0,052 0,038 0,033 0,038 0,041 0,043 0,037 0,0(8 0,028 0,028 0,036 10,061 | 0,033 0,033 0,032 0,052 0,034 0,027 0,039 0,043 0,033 0,027 0,030 0,039 0,048 0,035
The almond tree was in tentative blossom. The days were longer, often ending with magnificent evenings of corrugated pink skies. The hunting season was over, with hounds and guns put away for six months. The vineyards were busy again as the well-organized farmers treated their vines and the more lackadaisical neighbors hurried to do the pruning they should have done in November3.
wani gospodarze obrabiali swoje winorośIe' a ich mniej zapobiegliwi sqpiedzi rzucali się do p."y"ń..'ia krzewów, które powinni byli przyciąc w listopadzie (przyp. tłum')].
.Ł/ .r.ur-,uz lerusezc.tr e1dq eru ?9o}Jel,rt\ 9lltstsn ł9o! qosods uot AĄ .,Ą\g}s{o} "red qcd1e1sozod e1p t1ru.{,t.r. eupoBzaru Bł€.,\!€p erzpóq nrrr1fro81e [az,{.tł o8euesrdo ęrug,ttosolsez n4rud.tn' 'Ąó. BuozJo1dłn u) x ul
€u?otu
.zcnpI Bu zJoIcęUJ o1 .0u'Ą\eJdodaru 99o1.re,u azJalqd1d IT9of UtsJl€u eru o19dop n}soJd od e?oru .eqzcl1 ęzt:p 1[qz o+ €uz olu ,{p3 .1ru.u'rcezłd clc1olz ozoIII oc
|.. ' LtLz - u'
IcsoTJ€.tł au[a1o1 c€,ĄĄoqordf,tr
,cb,|vpe1nBz }so[ alu az
Lu
Ic9ołJts.Ąó.
'oBeuervr 0
-ol7'Ązsez
t
o8eu.łre[ ..tro1sąa1
azlęd talcezl1 Bu clzp.llr€rds euzour
{Tud^Ą
( t s\ /s z\ (er z): \0, z/ - \gr sTl \r 6/
r, rnalez
.(r, z): (t 8) \r 6/ r_\Zt s/ :druezct1qo o.Ą\ł€ł
t.I
nluazpJal'Ą\} I{óTzo
, (:, ;) : (,:,
'1)
:o.ł\oZJoIc€ul olutsu -.łrrgr ,{uafnurdzr1o (due,uot1tzsez lsło} - .{u.t.r,e[ 1s>1e1) red qcg^\p lącizsl1^rcld 7 .(oz .or) : (e.8)'a .(9I .qI) : (tl,g)X, :I,Ja1.ęz fue11 : zerc (g,z) (y7,g)xa n X.i C 0 d due.uor;dzsez Ts{at ct lmudzrlo' fi,op.t -tl u, z gIIIH r;dzs ouerrl.osols€Z ez.l|tu99ndtzl6 67.1 peąfzl4 '
o8au.ttef n}s{ol eruerufe1n oP
Z:
rur,{uur z Ąę+ę cr,tr'ouod
u^ł rure1q9rd
-izsęz n}s{ot
o11d1
d 1;ed
(q eqazl+
a1s,{s
urerue1sdz.ro>1drw z lelutsL]J.ełf op dzslerupnJ1 1se[ e1rg r;dzs eu urfułlef tue1sąe1 urdueuz oz ry+Y .v.z.|
e11111
.rgfzs
VZI'IVNVOT4AEX
LT
'G'I
1. KLASYCZNA KRYP'IOGRAFIA
38
1.2.5. Kryptoanaliza szyfru strurnieniowego opartego na
LFSR
Przypomnijmy, że tekst zaszyfrowany powstaje jako różnica symetryczna tekstu jawnego i klucza strumieniowego, czyli aź : tż ł zt mod 2. K]ucz strumieniowy powstaje z fll...1zm n.a podstawie liniowej za|ezności rekurencyjnej: m-I
Zm+i: s) cjrt+j mod2, j:o gdzie cg,.
.
.tcm-r e Z2 (oraz
co
:
1).
Ponieważ wszystkie operacje w tym kryptosystemie są liniowe, nasuwa się podejrzenie' że, podobnie jak w przypadku szyfru Hilla, system jest podatny na ataki oparte na znanym tekściejawnym. Przypuśćmy, że oskar zna tekst jawny t|r2 . . . nn otaz odpowiadający mu ciąg tekstu zaszyfrowaneTo ataz . . , yn. Moze wówczas obliczyć bity klucza strumieniowe$o.. zi: ąłat mod2' 1 śi śn. Załózmy także, ze oskar zna wartośćm. Wówczas do odtworzenia całego klucza strumieniowego pozostaje mu tylko obliczyć Co, . . . , c^_1. Inaczej mówiąc, musi umieć określićwartości rn niewiadomych.
Dladowolnegoiż1mamy m-I
Zmłi: s.)
j:o "j",+j
mod 2,
a więc równanie liniowe z m niewiadomymi. Gdy n ż 2m, otrzymujemy układ rn równafi liniowych z m niewiadomymi, który można rozwiązać. Układ m równafi liniowych mozemy zapisać w postaci macierzowej:
(z-+t,2mł2, ,zzn): (co.cr,...."-_')
(::
l \'-
Z2 pó
:
ZmłI I
Jeślimacierz współ,czynników jest odwracalna (modulo 2)f vyskltjemy rozwią-
zanie:
(co,cl.
/
....cn-r)
:
(z-+t,2p12t...,"r-)
(::
l, \"-
z2 p.1
ZmłI
Zanwazrny, ze macietz będzie odwracalna, gdy m jest stopniem rekurencji użytej do generowania klucza strumieniowego (dowód tego faktu znajduje się w ćwiczeniach).
I zn'ów popatrzmy na przykład.
ŁcŁtnd31seu tsuI o8a..rloluailunlłs ezcnlł €Iu€.ł\oJauo8dn
.z poul t'+?7
a
?7
-
9ł?7
:9€łsod
op ts}dzn tslcuaJn{ou
IT IO 00 IO 00 :r1rud.lrt,
dcŁfndÓ1seu Ujowz
Iiiiil
duretr41
ft iil) az (crzptu\erds tsuzo6
:o8anoluailunJłs ęzcnl{ ł|91Iq 0I qcdzs/(IJald f ouęuJf,zl:1o o1ńozJolc€Iu olu€u1r\9J ecŁfnd31seu dpayrr ezblnzog.uSdT o8emo1tq-g bcoruod sz duenoreua8drrrr, 1e1soz d,ttotuerurnrls zcnPl ?T '41.,!L Js{sO oz 'ea1e1 durggnddzr4
I :oEenoruarru
n,yń,n14
'ororoooorooroll d1rq 7dzcrTqo
stszJ^Ao.4(r ozotrĄI
.OOOTIT
III
IOOIIO
nureu.tłe! I^Ąoł$Ieł dcŁlepeułodpo
OIOOIIITOIOIIOI
oBauełlogfzs€z n}s{al 8Łrc emdqopz Jg{so ez,tulzo1e7
tL't pePttzrd
VZIIVNVOT4AAX
'Z'T
1. KLASYCZNA KRYPTOGRAFIA
40
1.3. Uwagi Wiele informacji przykład: Bekeri dobieństw
cznikach, na
aprawdopora' podobnie
dla26
jak zmodyfikowana tu kryptoanaliza Rosen [Ro93] jest dobrym źródł tomiast Anton [AN9r] stanowi wpro
entarnej teorii liczb, naelementarnej algebry li-
niowej.
Książka ,,Łamacze kodów'' Kahna [KA67] jest zajmującą i po-uczającą histojest rią kryptografii do 1967 roku. Autor stwierdza w niej, że szyfr Vigenbre'a przypisywany Vig
Pierwszy mieniowych
opis możn
ię w [Hr29]' natomiast o szyfrach struzksiążki Rueppela [Ru86].
Ćwiczenia nznichotrzYma-
1.1.
szyfr Vigenbre'a, nie wiemY, w jaki
ny
W
opisz czytelnie kroki podjęte w celu rozszyfrowania każdego z tych tekstów. opisie powinny mieścićsię wszystkie wykonane anal\zy statystyczne i obli-
czenla.
Pierwsze dwa teksty jawne pochodząz ,,TIle Diary of Samuel Marchbanks'' Robertsona Daviesa, clarke Irwin, 1947; czwatty jest fragmentem "Lake wobegon Days" Garrisona Keillora, Viking Penguin, Inc', 1985'
(a) szyfr podstawieniowY: EMGLOS1JDCGDNCUSWYSFHNSFCYKDPWLWGYICOXYS QPKUGKMGOLTCG INCGACKSNISACYKZSCKXEC
IP
JCK
JCKSHYSXCG
OIDPKZCNKSHlCGIWYGKKGKGOLDSILKGO IUSIGLEDSPWZU GFZCCNDGYYSFUSZCNXEO JNCGYEOWEUPXEZGACGNFGLKNS
KCCPKBGI]FDPHQTYAVlNRRTMVGRKDNBVFDETDG I LTXRGUD DKOTFMBPVGEGLTGCKQRACQCWDNAWCRX I ZAKFTLEWRPTYC QKYVXCHKFTP ONCQ QRH JVA JWETMCMSPKQDYH JVDAHCTRL
SVSKCGCZQQDZXGSFRLS1łlCWS JTBHAFS IASPRJAHK JRJUMV GK},ITTZHFPD I SPZLVLGWTFPLKKEBDPGCEBSHCT JRhIXBAF S
PEZQNRWxcvYcGA0NWDDKACKAIĄ'BB
IKFTI OvKCGGH JVLNIiI
FFS QESVYCLACNVRWBB TREPBBVFEXOSCDYGZWPFDTKFQ CWHJVLNHIQ IBTKHJVNPIST
IY
(!i :7
IIg"[
.PbłS .Q
-|
7r :
A ) G'7): X I d,> (*t'"
'
fi' ltoznt az (-fr, , , .,lfi.) 'tl.r): zelCI'-QzV) > qe
ol'-q"""q:g-t
.(q .7) ered tar91>1 .tr Łu1emr.tpo 1se[;7 IIIazcnI{ tu 1sa[ 7 ur,tł M '*P"Z) : ) : d qcolu r Łru1epop Ł1rlrło41ec bqzc11 etzp3q u/ qcalN .9'I :e11r11 nryfzs 6tco1g,{poru Łcfutnd61seu dure,ra.fzeu e11r11 rrra.rg/Czs tllArrzclugv
dnsorNErodnu :8trc ,bttndÓ1seu atep (ul brcgoyerrr. Łueuzetu z)
eII111
urer;dzs nrrrelł,or;,(zsez od 8urr1e1q1eerq
furrnet
€Ip
.Z:
IT :
1s>1a1
ez toruoperrrr 19e[ terue.tror;Azs ztatceut ztvuz(ryy 'V'1 '
gzz pelo
y
[au.łł.{1n1o.ta'ur dzrarmur feu1o.tlop
v+ap ez,zplfurtęz I t.T €IuozPJawt1 z nloznt
tf,zn
Vx^Ą9zvxs1\A' .qcdu,t.t'd1
uL n1peddzrd n (szv peu) qc{ulu'dlnloAul lzletcętll 3qzc11 19er16 alcslll.f,zcazt -nIo'łAuI dztercęul tce1sod rrr dzcn14 azl1Azs oBa[.tr atuern.oso}s ł€cal€z fzlelc '(bunfi,7n7omut, bzrclceru órs errr.{zęu zJaIJ€uI
Ę'r) ._x : X a?,y
11111
nr;,{zs n4peddzrd 11 'erue,tor;dzs bfce:ado z €Iu€s dqe .zcn11 ?€JqoP >1e1 paf arupoB,.t,ra. fpet>1at51
.errr |ap1e1 .,{ur9dq11e1nzs e1111
-zo1 e1ltq erue,tor;.{zsap efcerado
.Z
d /lpi ,dv p€u u' x €.AtoJozalu
u't,
lzlercęus qcdu1ecerrvrpo
u
<
.6.1
zero Łzsłrrerd bqzc11 1sef eu rozrn fu1oBo vpr'eu7 Q)
óqzc11
.(f.tnoraz Joł{a^.r , q1,{q burns [ero14 .fzsret.tt P^AoIuII elmurqruo4 alatu1st otu az .ęzreuzo oc) tul(uzel€zotu o.Ą&olur1 1uero11ar'ł Łs ezs ue1erc p€u zJaIJ€I[ az'IĄe! dZ vx,1\A9zYxs1!|t'
-rarit tet fp8
...{pep.r oą1d1 r
fpepa, €ul€c€I,Ą.lpo
1saf
te1sdzroą.{6 .Łzs,rue1d Łqzcq 1sa[ d z,|pB .rua1etc 1sa| '@
7x7 lzn1ceul
eungt Pa! dV Peu
-
-
"d) "d)(t bqzc11 ruqzcl|az.?'łf6 .Łzs,rnrard
qcdu1eceu.tpo
erzp3q d
qcar5
LszZ Wu 7 x 7 Azrctceu qcfulecer.tir.po 1sa[
(q)
all (e)
'Z'I
xursnrvcccHl,H nns^xcsl's r I,vudHrsq.[AqA^}'IT.{C^T rrnsdr JIAHBo!{CTS szdbccJr r'L!,lT sHnN hnw^HcdnHEccorf ^clJzl.'lccsHacr f J.I'MCJS TV!lTUC I SEC!{JS.{nUilIIHl^lC
I.{tlS
I
A'I,\EI'IHTSf
rx gzcu^AbuvHnil'lgo rJIrVAfi
u'I gl'tf H'rN8ds c svr'u,lgur
dJ
r r C
cvEr zxf dAVHo^^GAVCSC I Sf sllT CXZTCCUUTXCySSTJI{Xo DilłvscxTnnNsoHg,t'gcsvxf cc Il.lxd^^vz ar JqE.IcTzvsv}'I
Wxl.tuTvnngssscl,oud.Iluscloocsbdhl^)ołr.I11--.IE^o
r^xsJ^v^ff 'IbWVXmS!,nXXf JruJrxxssrsEcbHr sNsANg
:r;fzs fueuzaru (P)
lgvvdrlxuscrdcsxAr
vuEdcocsxdccccr,cdsv)l cf dncJsNlggcrsvyJozcrgug
JJvdxIIuoI cf ccoxcccunsIccdvyslvlłuxszvxdbgJdcs dvcsvsl Jvccoccdcsdxosvsr rsdxuxsdEbzncvavgorux
dncJ^cf sltvcbsIcEuId^uyszncvsI )łucrcddctlsf EuEDy :Awzctttyz
gfzs
(c)
E!uozctrx,C
W
1. KLASYCZNA KRYPTOGRAFIA
42
@,'.
,y^)
:
(ą, ,,^,(,,ij \'- '
Itz
Izz
* (br,. ..,b^).
I*z
Przyplśćrny,źe oskar dowiedział się, że tekst jawny adisplayedequation został zaszyfrowany do postaci DSRMSIOPLXLJBZULLM
otaz że m:3. oblicz klucz pokazujący wszystkie wykonane obliczenia. 1.6
Pokażemy, jak można dokonać kryptoanalizy szyfru Hilla, używając do tego celu znanego tekstu zaszyfrowanego. Załózmy, że znamy wartośćmi rrl :2. Podzielmy tekst zaszyfrowany na bloki dwuliterowe (digramy). Każdy taki digram kryje odpowiedni digram tekstu jawnego, zaszyfrowallego za pomocą nieznanej macierzy szyfrowania. Wybieramy najczęściej występujący digram tekstu zaszyfrowanego' zakł.adając, że reprezentuje on pewien często pojawiający się digram z listy w tablicy 1.1 (na przykład TI1 lub 5?]. DIa każdej takiej hipotezy postępujemy tak
jak w przypadku ataku na podstawie znanego tekstu jawnego, aż znajdzierny wł aściwą rnacietz
szyfrowania.
Odczytaj tą metodą następujący tekst zaszyfrowany: LMQETXYEAGTXCTUIEIłINcTxLzEwuAI sPZYVAPEWLMGQWYA xFTc JMsQcADAGTxLl{DxNxsNP JQSYVAPRI QslllłNocvAxFv
r.7. opiszemy tu szczegóIny przypadek szyfru permutującego. Niech m,
rr,
będą do-
datnimi liczbami całkowitymi. Wypisujemy tekst jawny w wierszach, tworząc prostokąty rfl x n, Następnie sporządzarny tekst zaszyfrowany' wypisując znaki kolumna po kolumnie. Na przykład, Edy TL : 4, n :3, tekst jawny ',cryptography'' zapisalibyśmy tak: cryP
rogr aphy a wówczas tekst zaszyfrowany wyglądałby tak:
,,CTARoPYGHPRY".
(a) opisz, jak powinien postępować Bolek podczas deszyfrowania tego tekstu (z danymi wartościami m i n).
(b) odczytaj natępujący tekst zaszyfrowany, otrzymany w2ryrtiku-żBbosowania takiej metody szyfrowania:
MYAMRARIIYI QTENCTORAHROYWDSOYEOUARRGDERNOGW
1.8. Nad Z2 istnieje osiem różnych rekurencji liniowych stopnia 4, dla których co
:
okreśI,któte z nich prowadzą do klucza strumieniowego o okresie równym (dla danego niezerowego wektora początkowego)'
1.
15
zę;io
.1]',L
)
p
}r
1rpŻ
,ly : lz
:3łn3er Łc&fndÓ1seu cbfnso1s .,Ltroruarrunr1s zcnl{
o (*X,...,1X) o3a,tir,ozcn14 errro1s o8euep e1q 'e.a.reue8 -11 n.r;fzs btceąg.{poru ru,.bbpÓq tufmoruerurnr1s uregfzs zere1 ÓIs furatrule2
furzr-olra.1n u.ł rc9o3n1p
.11.1
cutlA^cJTvxosJdbnsHsJv}'l^ Tvl,t
:€zcnlł Iuolu€.lloJouoB rufuzc,,(1euro1ne z nr;.{zs tcoruod ez duenor; .,{zcn14 cttnso15 .61.1 acŁfndrezcdrrl alu€ n ll{nzsazrd -,{zscz 1s>1a1 .,bŁtndÓ1seu te$zcpo .€uFc€J^ĄPo .tu z1u oSazsleruur cdq rsnur zIoIcęuI \ I + u1: q pbts .brcgouzcazrds 1sa[ oc ,ul } tl llgof (P) erudo1s buf,tcuern4ar csowzolęz eru1eds .,{łr.orueturnr1s zcnl{ oł
'1(zo8apze4elp o:!
ZPjUI?+!z!D.
buffcuarnler rsouzalaz gerulads fa.ltoretru.{m-u,l
oz ,zvnlne7
.Ątr 1r{oJol{a.Ą^'
.rureraz
( - 3+T-qf z-u
rsnur .{'troruarunrls
zcnly
(c)
',fuza1ez o \olull 1se[ [a.tiloru11 rweztlsazr.d fu1o'r.rop ze.tnaruod .I + ul > 1'l
I + u' P€łłn
Łs !p
I{.ruu,{zcł9ds.tr ar41s.{zs.ĄĄ
alu tttzc
,|ztd
o-!
,""- ( : z-!
'Z Poul t+!n!D.
(o.
.
.'.0)
uo
o1 '6 olnPour
(la
.Ą^.oJoł{o^^. €.ĄtroIuII efceurq nlue.^l\oJaz I.ĄAolol{a1l\ ęwntol \n|... aferu1st ez b>1e7 .Ł1rrrro11ec bqzc11 Łzsfaruurleu 1se[ q ]I9af (q)
-ruo>1 eu1erira.dr1atu
o:!
.z Poru f+łofe.
( :
?|ua
I-u
oI ,I <
',
TI9af (€)
az 'lruPorrtoPn
.{ze1eNT
.-a|
.Auze1ezalu o^\olu{ pe1>1n trrrtoue1s a1 fro1>1a.t az .?IuponoPn lua}€z ..To fJołło.^A bs r'.l'-o>1ruu.{zc1ods.tn ,tzretceul Itu€zsJal.Ą az,fitlzenle7
..
'(t-u+:tz'"''?z):Pa Iłcolu T < ?
l'IC'.(*,., ...rz) ufrv'o>IłŁzcod ruaro11e'u'
z
/ ''-'-''-----.\ \n:r 7,
^-.-
połil t+łf lb
-
ł+uz
<:
I-u :9e1sod Łcttnd31seu eur [e1 .{zsrar.tl
uI x uI
lJ9ouzal€zalu
elcuern1et az .[ulz91ez orupazrdod .zZ
larrroruq fuzerrlou.tlgr 1sa[ ue1
.ta'94ruu.{zc19ds,tł.
>1e1
WrJ fzrercsur .q.7.1 n1ąund z
łaunJ€ł\
furrupo.til.opn nluazJl1^c ul,t+
fzrarceru Jsoul€c€J.Ą&po
M
.6.T
Eluozct.Ł|c
EV
1. KLASYCZN A KRYP'IOGRAFIA
44
opisz,jakrrrożlawykorzystaćpojęcieindeksuzgodnościdoustalenia,po
a po drugie, Samego słowa kluczowego. kryptoanalizę następującego tekstu przeprowadzając Sprawdź swoją metodę, zaszyfrowanego:
pi",-oe, diugości słowa kluc"owewgo'
IYIfYS TLONRFNCQXQ JEDSHBUIBC JUZBOLFQYSCHATPEQGQ JEJNGNXZWHHGWFSI'KI'L JQACZKK J OAAHGKEI"ITAFGMKVRDO
PXNEHEKZNKFSKIFRQVHHOVXINPH!{RT JPYWQG JWPUWKFP OAIIPMRKKQZWLQDYAZDRMLPB JK JOBWTWPSEPWQMBCRYVC IN RUZAAOT'MBCHDAGD TEltS ZFZHALTGKEMJ JFPC IWKRMLMP
AYoFIREAoLDT!łITDVRMSE 1967' Tekst jawny pochodzi z ,llhe Codebreakers" D' Kahna, Macmillan'
.[a'łoruazc11qo 1c9ouozołz oBa[ nportop oBau1n1osqe e1u .du1ednz-45 rua1qord ,{uur du1o.ta.op ąet fupnr1 aruł.o: laruurleu oc €zJJ€lsop rualqord fuep ez ,o1 o11f1 uo a[nze1f,u. :rcgouladnz-4N pg,ta,op eururod.{zrd efcenlds ea,
ls€Iuo1€u 1se[
.ntue1qord oBauul uapóI8z^\ po.t.rop du1n1osqe 9Bz ofiI I.€^\}suozcaldzeq nur-e1sds ts^\lsuazcoldzoq po^\op arudpat Órs aln1sdzn nlc9lapod IuD{€ł .{zJd . (o8al z e.&tsJds olqos az ?Błttspz {?upa[ d7e1e51 lluJfuzcaldzacł alłtllpo.ry\op,l .((ozs.dĄJald IIu€Iualsds dperr1aru óts ę.u'(zpu auzcgtsJ8ołddr1 .'(rue1sds aI{€J, .,|uzcatd Dlluudzc ęu cfizołzoJ €u?ou aru u [o}I..(o{ł€c dqzcll leuep rl9a| -zoq lsol duzcge.r8olddol ualsds duep" eruepz oluorupol{opt ctsrceuzo o+ .otuoper.tr urdr914 o (nua1qo:d azour .p€ł{dzrd eg dupru1 ozpJeq }sa[ oz nluolsds €^\łslJozcoldzoq oBou€ptsqz azJqop o8ou,ttad op o8auzcg€r8o1ddr1 .(e.ry\.1syezc o8ol[oluazcllqo Iltso.ĄĄ{ nruezperrrords €u ts8alod olc9lapod auu1 .€us€[ zcozJ -aldzaq npo.Ą\op olualułsl zlu ulduul eluładnz IuaDIunJ€.& }sa[ .oc) o8e.uoralnduo{ nwzc o8al8nłp alul€8ŁIsoalu €B€ul^.ryt tsIu€Iu€łz oBa[ , tspołalu eueuz tszsda1teu dpB ,,.tuzcatdzeq oAoluazcllcło.. o{ę! duzcgerSo1 .{aunJ€1/I [e[ eru1eds zt -d.,(r1 ura1sds e14f'ry\z órs e19en1o ecdp1erd 1lt pels .clzpJal.Ą\1s Buzolu aru ruduzcger3o1d.,(r4 errua1s..(s ur.,(uełt.oso1s ur,{uptz o .Łqzcł Łznp ozpreq az ,lnl|1 eu ąeupaf e8e1od 1!c1ugep ter1e1 9goupnr; .Łuo1e1sn Łurrred arzp8 .rfceredo ]y leruurleu oc erueuo>1dl.r e8eru tso| .ur1droB1e fzsda1leu qs -d,u .gru€utg1z o8e[ op^1cdzn1sod Órs euzour urr>1e[ -at,fi,uzcal,dzeq omol'uanxyqo oąe|,,{uzcger3o1ddn1 ure1sds 9II9oJło duazotr41
.oBeuzcge.rSoldfrl nurelsds erueuelz op dupSqzaru .{.noruezcrlqo >1a1ts.,ttr .o1\ĄoluozJllqo ońAłsuazceldzeg 1seI o8e.uotuozcllcło errt1suezcerdzaq Ł"rer141 .nua1sdso1ddn1 ert1suezcardzeq
ll}so^Ą)I
op ercglapod az|ill]ptssPJz ełrp Łfatup1
Bł€uołsop ?9ou[€J .Buouu€qs
.T.z
elcdacuo4 aJgualu ,{rurrrrotuo alpvpzol aJtzs
.euzcgerBo1ddr1 €IuBp€q a,vro{n€u eu ,tr'd1drvr duuor8o 1rełr,drrr 1n4.'tpy -|e1u1u 11 .((sualsfs dcerceg .{roaq;, uolł€clunIuuloc(( Łuts.&otn1f1ez bcetd \rlu.t'no1 \nc ;o 1ervro41qndo uouu€qs opn€Ic DIoJ 676I
-?uzlcal suapfrg
lpg
o|u]s|dos€zc
1Yr
'1Ą
EUoUUtrtłS tr!rcol
2, TEORIA SfIANNONA
46
Bezpileczeństwo bezwarunkowe. Ta miara odnosi się do bezpieczeństwa systemu kryptograficznego' gdy nie ma ograniczeń na długośćobliczeń, jakie może wykonywać oskar. System określamyjako bezwarunkouo bezp,i,eczny, jeś|inie można go zŁamać, dysponując nawet nieskończonymi zasobami obliczeniowymi.
Gdy mówimy obezpieczeństwie systemu, powinniśmy ustalić' jaki typ ataku chcemy rozważać. W rozdziale 7 widzieliśmy, że ani szyfr z przesunięciem, ani szyfr podstawieniowy, ani szyfr Vigenóre'a nie zapewniająbezpieczeństwa obliczeniowego wobec ataku opartego na znanym tekściezaszyfrowanym fieślitekst ten jest dostatecznie dlugi). W tym podrozdziale opiszemy teorię systemów kryptograficznych bezwarunkowo bezpiecznychna wypadek ataku ze znaTylJrr tekstem zaszyfrowanym. okazuje się, że wszystkie trzy wymienione wyżej szyfry są bezwarunkowo bezpieczne,
jeślido każdego elementu tekstu jawnego użyto innego klucza! oczywiścietrudno oceniać bezwarunkowe bezpieczeństwo z punktu widzenia zł'ozonościobliczeniowej , Bdyz dopuszczamy nieskończony czas obliczenia. odpowiednim narzędziem do badania takiego typu bezpieczeństwa jest natomiast teoria prawdopodobieństwa. Potrzebne nam będą jedynie elementarne fakty z tej dziedziny. P rzypomnij my naj pierw podstawowe defi nicj e.
DEFINICJA 2.1 Niech X i Y będą zmiennymi
losowymi. Prawdopodobieństwo ptzyjęcia przez zmienną X wartości r oznaczymy ptzez p(r), a prawdopodobieństwo przyjęcia przein zmienną Y wartościa ptzez p(y). Prawdopodobieństwo ł'qczne p(r,a) określa prawdopodobieństwo jednoczesnego przyjęcia przez z}rrlierlną X wartościr oraz przez zm\enną
Y
wartościy. Prawdopodob,ieństwo warunkowe p(r|a) określa prawdopodobieństwo przyjęcia przezX wartości r, jeślizmienna Y ptzyjęła wartośćy. Zmienne losowe X otazY są niezależne, jeś|ip(n,a) : p(r)p(a) dla wszystkich wartości z zmiennej
X i 3l zmiennej Y.
Prawdopodobieństwo ł.ączne jest związane z prawdopodobieństwem warunkowym następuj ącą za|eżnością:
p(r,a)
:
p(rla)p@).
Zamieniając miejscami p(:t,a)
:
r i g, rr'arrry
równość
p(ylr)p(r).
Z tych dwóch wzorów otrzymujemy natychmiast następujący wynik, znany jako twierdzenie Bayesa:
TWIERDZENIE 2.1 Jeślip(9)
)
\:
,, p\rla )
0, to
p(r)p(ulr) _.
pfu)
(twierdzenie Bayesa)
'^Ągp€łłzoJ qc,tutsI.ł\tsrrro tsIu€zcllqo P€PIdzJd,{1sord eu durzr1edo6 .elł'1suetqopodop .dp?g{ ctzpvłrotdazrd azoru tsIuazc{qo a1 ez .fitlzvlr'ne7
-łrerd dpe11zol tsuz
oH
{(x)c)n tx}
.(@),p)1!.@)"a
.3
{(ft)xp--r:51}
(x)aa 3
:
(fi|Ąad
@)ad
:r9zrrl dcblndÓpuu dualnlouf,zt1g .ń 1set uduerrror;dzsez luał$Ia}
Ige[ -€lY\
,(fi,|:r)ad e'rło1unr .r 1dq urdurlłet uroł$Iał eq,o?e1o.1ltqsgolqopodop.łrrerd qf,zc o1(łsgolqopodoprrłerd c,|zc11qo r:.uzouI esedeg BTuozpJoll\lł Łcoruod tsz zelol
{(n)xp: r
'6)aa 3
:s1}
:
@|Ącd
:o 1se[ rudu.tref ulał$Iat [pB ,fi etzpóq ,(r|fi)cd errto>1unrern urduenor;dzstsz luołsło}ez .o3e1 o1(rłsuolqoPodopnerd 1;1f,zc o,Ą\1stJalqopodoprrrerd cdzcqqo durezorrr d) fr I )) nqPo4,ez>1e1 fitnvv;ll'nv7
.((Ąxp)aa(y)la dtueur
))
fi,
oBepzv1tsIp s€zc.&o^\
.qcduerrt,o.r;dzs€z
.X
rvzcn11Ą
{(>r )c>ń
3
,xI
:
(fr)cd
bcourod vz 9ellizt1o tsuzolu oJg}ł
..!Ąg$Ioł qcd.trqzoru qcr11sdzs.tt "rgrqz
aln1uezerder
(y)p
cÓrrrr
r1e;
'{d>, :(r)xa}:(flC } ) X r;zcnlĄvlg.'n duer'ror;dzsez }s>Ioł olus€ł^\ 1sa[ due,trdzer1eztd az,o8e1 (fi)cd oqst1arqopodop'rłerd cdzcqqo oupnJłalu .aru1o1s1 .) Eu azĄp+ B./lllsgolqop
qcaru
-odop.t.rerd p€P1zoJ btnąnpur a \ d €u ts.łtłsgalqopodoplneld dpe11zor eł,q llll,fuze1e zelu rrrrerue zrep z Ł s r o8eurrtel nł$Io1 I X r;zcll|Ą roqdrln ev ,e1uavo1ez ercÓfdzrd Órs elupfrrr auptszor .durlruurod pb1s .o8eurlłe| n1qa1 azczsgt ęuz o|u ts|cIIY €zcnpl azroqd.tr ,tztd e4 .(rsnur aru tszcnPl nroqdrrr o.Ąrłsqolqopodoprrłerd pzcęuzo (y)xa qcer11 .
-ltzt1
.y
.euqopodop.rrre.rd alu.ł\oJ Łs ezcn1ą ar>11sdzsitl cór,t ?{q {ęr 19Bo eu zca1 1se[ duerarq,{-tr zcn1>1 o1sózc) uduzcd1sr1rqeqord uop€łłzoJ ur,{uo1e1sn rudu.ryrad z .ze1 durelnru|fzl1.r o8au.tę[ nł$IoT erupo8z X zcr|IĄbtererqdn. łolog I e|c11y e7 .4 o8eu.trel n1s eruerdb1sdlł, uoud o ojełsuolqopodopiuerd tszcęuzo (r)dd qcerN .dtu9gnddfra -{a1 luazJlsozld' eu €1^łsl}alqopodoprrnerd p€ł{zoJ uerrlłed dureu ez .zer oą1d1 órs elnso1s zcnp1 dpzu4 ez .durepe11e,z o|r.lzPzolpod tuĄ urd1ec 16 .orrroso1
.ńtrtc9o1reł\qcT{ -1sdzs.trr
ep (r)d :
.dpe1n ołI{1 dpe1n auzo|r-za|u b. I @|r)d dp8
A I x auuonuz xssorN^l.
u'u
vavNoxsoa ?1oNrvr
L?
2. TEORIA
48
Przykład 2.1 xiecrr p : {a,b}
oraz pp(a)
:
Ll4, pp(b)
:3/4.
prc(K) :.Il;, p"(k) : prc(Ks) : |l4
Niech dalej
K
SI{A.NINONA
:_ {K1,
K2, K3},
otaz C: {1,2,3,4}. : 2; szyfrowania są okreśIone następująco| eKI(o) : L, €K,(b) krvptogra:3, system ex"(b): 4. Ten :2, €K,(b) : 3 oraz e6,(a) Zał'ózmy,
). i""il":"
"x,(o) ficzny mozna opisać następującą mac,ierzq szyfrowania:
obliczmy rozkład prawdopodobieństwa pg. otrzymujemy
pc(l):
1
z
317 n-(9\--+-:rL\-, g 16 311
16
pcę)-_ro+ro:' .o
o
PcG): G' Teraz mozemy obliczyć rozkłady prawdopodobieństw warunkowych na tekście jawnym przy załozeniu, że natrafiono na określony tekst zaszyfrowany. Mamy więc: pe@11.)
:1'
pp("12):
pp("|3): pe@|Ą
pe(blt')
:
o
1
pr@12):?
1
pr(ui)
i
ą
:0
pe@|Ą
: :
X
t. I
NieJesteśmy już przygotowani do zdefiniowania pojęcia tajnościdoskonałej. zadlzyskać może nie gdy oskar wtedy, formalnie, ta,jnośćdoskonałą osiąga się zaszyfrowanetekstu obserwacji jawnym podstawie na nych informacji o tekście gt. oo uściśleniatego pojęcia wykorzystamy znane jlz rozkłady prawdopodobieństwa.
DEFINICJA
2.2
: pp(*) dla każdego System kryptograficzny jest d'oskonale tajny, gdy pp@|a) a posterioń i e p i y e C. Jest więc tak wtedy, gdy prawdopodobieństwo jest równe jest g, tego, ze tekstem jawnym jest r, jeślitekstem zaszyfrowanym jest jawnym z. prawdopodobieństwu a prioń tego, ze tekstem
Ic9ou1ń9J oP o^lł€ł znt iuJ (fr .9Z poru r fi, :;7. łsa| : (r)xa -Izpoqcop .esedeg tsIuozpJal.t.rł z cb|e1sfrzloy az luT{tsł ,y uezcn1n rududpe| ź.z qcdu1otll,op BIp z[p8.ft.r qcdu1o.uop e1p 9Z
I
(9zpo*r_fi)ld:@|Ącd dueru faleq .9?'Z) ó o8epzo1 ep 9ć I
:
(ftPd
alc?łInzal ^\
.I :
szz)X
ezz)X
@)dd d'd'
ę (9zv uolqz ófce1nuled
3 : (x-ądd 3
cór.tt drue tr41 .tsł\}sgalqopodoprrrr,erd urepe 11zor 1se I fi' Ic9ołJts.Ą\ ń oBeuo1e1sn e1q Łtrvroue1s 9z poru
y-
gzq> v
9( '\X - n)oa *\ T :
(v-n\aaW 'Is
szV)X
7 :
gzq= v
(@)xp)dd(x)"d s?zD,YtoM
'9zZ)
3 :
@Yd
ó qcerN .)dp곥zot 'urerdleu druzcqqo
'(s7,2 ) r) 96 potu X + n : (r)xa :ocQ[nd31seu tsuolger{o 1se[ xa etue.tlor;.,(zs o9.1\Ąoo e1n8or 9Z > 2. > 0€1p o?zEIo gzz:a:):4ez,,|ulttululodfzt4
ruezl1sez.rd €u
.Ł1euo>1sop g9oute1
np€łłzoJ
z ł1lzs o8eu,ue[ np{a} s€zc^\oł\ .9Z/T urałqsgerqopodoprvrerd
eru'uedBz urarc3runsaztd
o8eu1o.łr'op €Ip
rudlo,o1eupet z /rup,nttzn 1sa[ urarc3runsazld z nr;dzs dzcn1ą gZ z tp?EĄaz,'tulz91v7
8.z glNszougl^Ą,f,
'r
fcenlds
[e1
zerd.tt ,(uleurro; efep'.tr1sr;erqopodop.trerd .tszcnpl
po dpe1ązor due1sdzro1d.tr olzpo.Ąrop oBar91{ .tt .etuozpletłr1 eudó1se5 .urdu |cgouzolęz ny,9ZZ ] r 1uauala.{u1o.t,top ce,tło1uezerdoJ uo ozolu zalcezld o1 .a1sr.udfco gez
)
R II9o| zdp8 -mno4f,zsez ulałsłol+se| 'Ł1euo>1sop g9ou!e1 eru,uedez tuerc3runsazld
o+ Órs
efepd.u etuldcrn1u1
z l;fzs oz ,zeta1
dunul.ropop1
.qc,{ueru.o4dzstsz 11.!9}s{oł qcozl} qcd1e1sozod PIp oru
e1e .g o8euerrro t5.tzsvz
nł$Iat e1p Ł1euo1sop 99oute1 drueur y7 elzpe1ntzrd 16
v.łVNoxsoa ?FoNrvI,I.Z
6V
2. TEORIA
CU
, , \:
SI{A]VNO-IVA
pe(x)pcfult) - pr@)
PPWIA)
_ eeg)* :
ia
pp\n),
l
co dowodzi tajnościdoskonałej.
Tak więc szyfr z przesunięciem jest ,,nie do zł'arnania,,, jeślido kazdego znaku tekstu jawnego użyjemy innego, ]osowo wybranego klucza. Przyjrzyjmy się tajnościdoskonałej w ogólniejszym kontekście. Po pierwsze, zan'wazmy, ze dzięki twierd.zeniu Bayesa, warunek pp("|a) : pp(") dla wszyst. kich r ę P, a e C jest równoważny warunkowi pc(u|") : pc(a) dla wszystkich r e P, a € c.Przyjmijmy teraz tozsądne załozenie, ,e pc(a) > 0 dla wszystkich y ę C (pc(O : O oznacza, że tekst zaszyfrowany g wcale nie jest używany i można go w związkll z tym usunąć ze zbioru C). Ustalmy element n e P. D|a > 0, zatem dla każdego y e C musi ist-
;:f;
fJ.;,t*lTffŁ*
::|E|
3.,E|:,
gdyżkazd'a reguła szyfrowania jest różnowartościowa. W przypadku skrajnym, gdv lrc| : |c|: |P|, potrafimy podać ładną charakteryzację sytuacji zapewniających tajnośćdoskonałą. Jej autorem jest C. Shannon.
TWIERDZENIE
2.4
c,rc,t,D) ten
Niech (P, l2l. System kazdy klucz jest
dla każdego r ev@) : y.
sto € P i
każdego
a€ c
akim że |rc|: |c|: i tYlko wtedY, gdY eństwem 7l|K| oraz istnieje tylko jeden khrcz K, taki ze
oowóo
ZaŁózmy,ze dany system kryptograficzny zapewnia tajnośćdoskonałą. Jak stwierdziliśmy wyżej, dla każdego r € P i y e C musi istnieć co najmniej jeden taki k|lcz K, ze e1ę(r) : g. Mamy zatem nierówność:
lCl:
l{e11(r):
K
erc}l
< tn.
Zał.ozy|iśmyjednak, irc
|c|:
|K|, musi zatem mieć miejsce równość
l{"x("): Kerc}l :|rc|. To oznacza, że nie istnieją dwa różne klucze K1i K2, takie że "x,(,) : ex,(r) : : y.Wy\
ul/C.^Aoz?Joupa|
'Z pour
II9ar .tsIue.Ątor;dzs e|c4unJ
ruozcnlł z rJAzs, .T.z xgNns^tl
("N +
un'''''ty I
tfr)
:
(ft)xp
o+'(uft'" ''tfi')
ł€[ euzcd1uepr 'Z pour
("N +
:
fi'
1se[ erue.t.to.gdzsep etcąuq4
utr''"'ry 1 tr) :
(n)xa
o+,(u)I,' .',tX) : X I (ufr , ...,tr) - f, I|sa[ .cór.lrr, 4ea .(^qrlq .ryro8trc qcruper.uodpo qcg^\p buzcdl1eruds óctuzgt or1e| atuze.tł.ou'tł'or qn1) r r z Z olnpour t.uoro11e.u. Sruns o>1e[ (r)xa duretnlurJop ) X r.IA, : a : ) : d l{calu I b1r.,vio>11ec hqzcq e1zpóq"(zZ) I < U qDaIN
X .
"(zz)
.erue.tror;dzsap I tsIuB.&oĘdzs urru .u Órs .Ł1euo4sop afnuo>1op Ęef z .rc9o.tr1e1 qÓrzp ez4e1 dutdc1er1e ue1s'{s o} 1sof 99ou -|e1 eturrradez ua1 l1t|zs oz ,cltzęwlpz ow+eł,v.7' lnetuezprar.tr1 óts cŁ[nBn1so4 .1.7 n>1unsdr eu órs elnpleuz vl/^t*ozeloupef uezcnp1 z nr;dzs stdg
.|aryvgd 1e1 gg peuod fe1euo1sop rc9ou[e1 ętcófod .npo.trop o8eupez o1 eu 9epod ouoger1od olu colł) 1Łur.tzor alu uouueqs l{gdop ' ,,ertJat:lalz op arutt tuduzcgerSolddrl ruarualsds 1sa[ ud,ttoze.roupel :uuezcnl4 z .e.tteąar3 .qcfuzcge"r3alo} Tc9oluop€I,t\ €Iu l1dzs az .ou€.tt€uzn }€I olol,{t zazld ez -erto.r;dzsap t.etuenols.tzs o8euzcd1eruotnts op duełroso1s I n>IoJ f 16I ,Ą\ tsIuBuJoA
ts}Ioq1c zeztd 'tzstytlard zer od duesrdo .ulfltozełoupef urezcnlł z BtIIBuJoA .r;fzs lsef faleuolsop rcgoule1 n1e1n1sod rlcezrleer qcdueuz ozrqop z bupal .I.Ą\ołIuIo}
l
-fzg tlnetne1sozod [193ezczg.E.Zr;luezpral.łt} olzpo.t\op .u >1e[ aruqopod .qcfurrrel .,vro}s{a1 tuazt1sezld Pu ts1!\1s9olqopodop.ue.rd nptsłłZoJ o8eu1o.ttop e1p t1euo1sop 'aluazp 99oute1 eru.ryladez 'c.t?enrnez o.t1e1 1ef 'duzcgerSolddnl urelsds dpet6 .t>1un.re.u' eqo bs euoru1eds ez,tutzo1ez.óuor1s b8nrp 11 -JaI'ĄĄ} I1Y\9uI
o8apzg1 €Ip
qcdrpPi o
l)l/I :
X)X
:
tszcnF1
(y)xd ?9ou'Ąó,oJ euoru1eds cdq rsnru ,|2y| eu,t.rgr 1sa[ tzc .((frYd udu.uo.r ercr.tiouerur) ua.Ą\}sllolqopodop.te"rd
-nPI €quclT ąeupet z€,ł\aluod urd.troąeupel z au€.Ą{oso}s Qs
az .e1rud,tr ,(n,)aa
ezcn1>1 oz,o1ezceuzo > ,? > T tsIp (nYd : (!'X)ad (fi|lx)a'd lcsou.Ą\oJ z l1[zc.fa1euoąsop rcsoufe1 nłunJ€M Z
.?/
(nPd (?u)dd(?xPrd
@Pd
:
(r)ad(rln)cd duręru .esedeg €IuezpJol^\}
Icgou1rtoJ 9elnfrzl1o frqa4 .. . , ,óX.IX
o8auo1u1sn
€IC
.{LL
z .ł.r.ouz ctle1sf,zloy.?/ > ?
ozcnl{ c€.Ą\oJaulnuod
(fr,|lĄad
> I,fr : (,,)'x" durazow ) ) n ?.t qcalN
>1e1
> ? > 1 :lx} : d ez 'itnz91e7 'lyl :
vTvNoxsoo ?goNrvrr'6
I9
2. TEORIA SI'AAINONA
52
Vernam opatentował swój system w nadziei, ze znajdzie on szerokie zasto.
sowanie handlowe. Niestety, systemy kryptograficznebezwatttnkowo
bezpieczne,
takie jak szyfr z kluczem jednorazowym' mają jedną poważną wadę. Spełnienie warunku |K| > |P| ozulacza) że ilośćinformacji o kluczach' jaĄ należy bezpiecznie przekazać, jest co najmniej równie duża, jak wielkośćSamego tekstu jawnego' Na przykład w przypadku szyfru z kluczem jednorazowym do zaszyfrowania n bitów tekstu jawnego potrzeba n, bitów klucza. Nie stanowiłoby to dużego problemu, gdyby ten sam klucz mógł być używany do szyfrowania tóznych komunikatów ale bezpieczeństwo bezwarunkowo bezpiecznych systemów kryptografi'cznych wynika właśniez tego, że kazdy klucz służydo zaszyfrowania
tylko jednego Znaku (stąd określenie ,,jednorazowy,, w nazwie). Na przykład , szyfr z k\tczem jednorazowym jest podatny na ataki oparte na znatym tekściejawnym, ponieważ k|ucz K można wy|iczyć jako różnicę symetryczną ciągów bitów r i ey(r), Dlatego dla każdego wysyłanego komunikatu trzeba wygenerowa ó i przesł.aó bezpiecznym kanałem nowy klucz. Stwarza to powazne problemy w zakresie zarządzania kluczami, co ograniczyło stosowalność szyfru z khczemjednorazowym w zastosowaniach handlowych; znajduje on natomiast zastosowanie w sferze militarnej i dyplomatycznej, gdzie bezwarunkowe bezpieczeństwo może mieć ogromne znaczetie. Historycznie rozwój kryptografii zrnierzaŁ w kierunku stworzenia systemów kryptograficznych, w których ten sam klucz mógłby być lżywany do szyfrowania stosunkowo długiego ciągu tekstu jawnego (a więc jeden klucz do wielu komunikatów), ptzy zachowaniu (co najmniej) bezpieczeństwa obliczeniowego. Jednym z takich systemów jest DES (skrót od Data Encryption Standard standard szyfrowania danych), którym zajmiemy się w rozdziale 3.
2.2. Entropia W poprzednim podrozdziale omawialiśmy pojęcie bezpieczeństwa doskonałego. ograniczyliśmy się do sytuacji, w której klucz jest używany tylko do jednego
szyfrowania. Teraz przyjtzymy się temu, co się dzieje, gdy coraz więcej tekstów jawnych szyfruje się tym samam kluczem i spróbujemy ocenić prawdopodobieństwo sukcesu ataku opartego na znajomości tekstu zaszyfrowanego, zakładając, że kryptoanalityk dysponuje wystarczająco długim czasem. Podstawowymnarzędziem w tym badaniu jest pojęcie entropii' pochodzące z teorii informacji wprowadzonej przez Shannona w 1948 roku. Entropię można sobie wyobrażaó jako matematyczną miarę informacji lub niejednoznaczności, a ob|icza się ją jako pewną funkcję rozkładu prawdopodobieństwa. Przypuśćmy, ze n;rarrry zmienną losową X przyjmującą skończenie wiele wartości zgodnie z rozkł'adem prawdopodobieństwa p(X). Jakiej informacji dostar_ cza zdatzenie zachodzące zgodnie z tozkł'ademp(x)? Równoważnie, jeślizdatzenie (jeszcze) rlie zaszł.o,jak ocenić niepewnośó co do jego wyniku? TaĘ wielkość nazywa się entropią zmiennej losowej X i oznacza symbolem H(x).
I
'{Iuudzc
d1e1s o oą1d1 órs dqe1rueturz rrdor1ue ?9o}Jts1ri orrrre1spod feuur .{zrd zdpB .du1ur1 -rq"re 1se[ nur1dre8o1 drrte1spod oĄr.| Z dqzcq ;oqdłr oz ,ozczsot durtepoq .O + ?d qcfro14 e1p .z qceo1apur qcd1 od oą1d1 dualnurns ?d np곥zot rrdor1ue t|Iuazc -TIqo dzJd ez ,ocbzc1lln ąeupat durerurfdzr4 .Ic9oupnJł dqo1errrrerds oru .? o8au ?d, dp8'nlpeddztd a\uozczsndop'g : rz?ow 0-"IuTI zelrtoluod -,u.ed e1p 0: .qcts.&l}sualqopodop,terd qcd^\oJazolu qcDlłsdzs.łt od óuns o1e[ ótdor1ue '(paq -eru Órs elnrugep pb15 .euo1sar4o 1sa[ aIu ?dzBol ?9o1lts,ł\ .0 : ?d dpc VcV^Ąn
.(?r
I:?
:x)dzBo11ła: x)d3 -
o1 .1g feuuerluz IlutsIcso}re,tt turd.tr'qzou rur11sdzsr,r Łs u
,
,
:
(x)rr
tsIp
,e,'
IT9of
" " ,!d,GBoIlaś : (x)H
-tsł{zoJ o3a1 brdor1ua s€zc.Ą\oM
.(y)de.,vr1sgarqopodop.uerd
Ic9o}Jtsrl.t. aIaI.Ą\ oluozcgo>1s o>11Ą
óqzcll AIuaI1ńzBu np ruepe14zor z etupo8z
ŁcŁfnu|.{zrd Łrrtoso1 Łuuerurz atzpóq
8'Z
x
IłcoIN
VfCINIJSO
'[eu1euro; 1lclugap tecttndSlseu op
rzpe,uord efcerrrf1otu PĄr.I .?d z3o1 - rc9o>11er.u tuoze.tr Łruperg r|ceuro;ur Órerur lerrtoso1 lauuettuz ud, . , . ,zd,Idr,-w+svetqopodopn'erd pe1ązo"t
o4e[druarurldztd,y
du1o.,vrop .,tuep cŁ|e141
Łcourod tsz ?€1llopo{tsz
.dćBoI- nruezqq,{ztd tt faurvror rcgoBn1p o .uo1rq n8Łrc d urełt1sgerqopodoprteld z ecbzpoqcez aluoz;.apz tł-uzou]'
az,cezelqof'.ryI alqos durezour .|e1u1936 .u rc9oBn1p o 1[\9łTq urerBŁrc ?€.Ą\opo{€z u Z al.&\Tsuarqopodoprrterd o oruozrepz ez ,btnrc8ns ,{pe1ądz.rd ezszd,t.ro4
euzouI
z
_v
E:6 i Blu€.Ąlopo{tsz
-T
! +r.9 II
L'
lsol X feuuarruz op Łuqazr1od mgłlq óqzcq trupeJs stszc.tt-o6 .11 dqzcu tr U|lIołIu
-f'nl' zęto 91 dqzcl zr Ino{rudm ,g t|qzc11 Ir T.,wo>Iluf.tt otuestd,(z.rd 1se[ ało1tu,&rr qcd.ur1zour (.IIIoIu€.Ąopo>1.. tudu.u'd1ąe;e ferzpreql€N .olupal^\odpo ,pf 1,vlt,zlt Iua.ł\}sgolqopodoprvrerd z ttr|Gtr.Ir Tc9o1rę.ł.r dzr1 oą1,,t1 ŁcŁfnrufdzrd .Łrvroso1 bu
-uolIuz erzpóq
x qcalN
.pe14dzrd due.tro1rldruo>1s lerzpreq ocolu o1o
Y
.u tc9o3n1p o łtg}Iq uot8btc c€.tropoł€z ęluzoul t1euou lrlro1l.zl u zdp8 ,u oąet drugdqrll1soDlo ./t\o}nzJ qcduze1ezeru u 3rdor1ua oluqopod .xqzseJ ęIu -€,ł\opo{€z op 0 z€Jo DłJo eluertropoł€z op I ?/'qr..pe11dz"td eu .drugdqu8our zdp8 .y'ro}Iq nrueupaf eu.uor .t1euotu .etdor1ue qn1 efceurro; 1sa[ 1nzJ uepel etsetu Ęe[ .ur ez .arcófdzrd óts e[ep,{rrr. udupbszog .ZlI: (oł1zsa"t,)d: (yaz.rc)d:>1e1 epŁ13 e,t1suetqopodop.ue.rd ptsPIzoE .Ł1euour 1nzr afnsrdo x e.Ą\osol €uualulz qcalN .eu|dcąer1sqe ,.{u1e"rąuo>1 eu duzr1edod 1dqzeu o1 óts efepd1rl' II9or -drla.
.pe11dz"rd
VI4OATNq
tg
'Z'Z
2. TEORIA SHANNONA
54
pt: Ilndla 1 śi śrr,, wówczas f/(X) :|oEzn. Podobnie łatwo stwierizió,ze H(X)> 0, a fI(X) :0 wtedy i tylko wtedy, gdy pł: 1 dla pewnego i otaz pi: 0 dla wszystkich i t' i' Zau.ważmy,ze gdy
się entropii ńzny ch składników systemu kryptografi cznego. Moz".y .ystóJ o kluczu jako o zmiennej losowej K, przyjmującej wartości zgodnie z tizkł'adem prawdopodobieństwa prc1 i w tym kontekście możemy obliczyć entropię fI(K). Podobnie możemy liczyć entropie fI(P) i rr(C) zwiryzane z rozkładami-prawdopodobieństwaptzesttzeni tekstu jawnego i tekstu zaszyfrowanego, P r zy jr zy jmy
odpowiednio.
Dla ilustracji obliczmy entropie systemu kryptograficznego z przykładu
Przykład 2.1
1.2.
cd.
Zgodnie z definicją, obliczamy:
H(P)
1 3, 3 : - 1. ł_ łIoB, n ąIog,
9(tos" g z) : _'Lt_z\4' ', 4', 3 : 2 - j(roszs)
=
0,81.
Z podobnych obliczeń wynika, ze
H(K) : I,5 otaz f/(P) =
1'85.
2.2.t. Kodowania lluffmana a entropia Przedstawimy tu pokrótce związki między entropią i kodowaniami Huffmana. Wyniki z tego podrozdziaŁu nie są istotne dla kryptograficznych zastosowań entropii, stąd można go opuścićprzy pierwszym czytaniu' nie tracąc ciągłościwywodu. Jednak omówione tu kwestie mogą posłużyćjako dodatkowe uzasadnienie pojęcia entropii. .
Entropię wprowadziliśmyw kontekście kodowania zdarzefl losowych zachodzących łgodnie z pev/nym określonymrozkładem prawdopodobieństwa. Za,it.^od uściśIeniatych pojęć. Jak poprzednio, niech X będzie zmienną "".,ij.y losową przyjmującą skończenie wiele wartościi niech p(X) będzie związanym z niąrozkładem prawdopodobieństwa. Koćlowaniem zmiennej
J
:
)(
X
nazwiemy dowolne przekształcenie
--* {0, 1}*,
gdzie {0, l}* oznacza zbiór wszystkich skończonych ciągów zero-jedynkowych. t,tu.ią" .toń"zoną listę (Iub ciąg) zd,arzefi !I)L . . .In, możemy w ocz'.wisty sposób tozszetzyó kodowanie f
(ą. ., rn) :
/, definiując
7(rr)||
...
||/("")
'.
\
.(.urn11 .d,(z.rd) t'u'oluazlg4mod z zul,otclltlom 6rs ęmdzeu ISbIc aDI€t
rrSo1ou1rure1 feqs1od 161
.duor.łtrzpz Liunzpral.Ą\ls olzp ;(p8 ou1rrad€ z brc9ouzca1n1s ez óIs ozŁI..ń tsIdoJłuo o? (pt}op dur911tr9tu ulfzc o.urf} -óq aru łIulałdzc.€Idolłua órs e1rluefod alu .ĄĄ
.Q||(Ą0
ztslo
X 1 fi'(r
:
(r)6 az ol{€l .-{I.0} ) z Bblc
.t1uaulolo 31Y\p btaru\st, azu ltpB ,m9ą7so"t,pazl,d po au\om lsaf 6 alu
-elropoy) .n9q?soJpezJd po uL'fi'uyom lualu€1ńopo{ 1set 6 az .nure1 r4ótzp o.Ą\Ilzoru .Icelutsd op Órs eruerrłd1orrl' 1set ó rfc1un; arue,ud,ttopo1po euffcuer'ulos a}soJd -po zoq .ecgoą op n41tzcod po etue.ud.tropołpo eu[a1o>1 tsu tual^Aoq €uo tsIe^\zod ./ pe.' ó8errtez"rd eur 6 e[c>1un; erue,ud,uopo1po Icgo1vr}€ł tsIuozpl1( n11und 2 I .0r0
:
@q)q:
(co)tl
.€ltotcso1t€lvtouzor :pe1>1dzrd dzc.re1sdrrr 1se[ oItJ q az.ceuo>1azrd 31s dqy 'opqq c3l.rt. urar8btc 1se[ ,p zazłd dualndÓ1sez urduerYr'opo>1po .?2 €u dur"eruertuęz 0 olczsoJ,Ąr 111 atudÓ1s .0TTT0I01 8Łrc cttn1dzcpo .q o{e| -eu .g o>1e[ 61 durdzcerunł} 0I audÓ1seu ^\ouz .d1zser .pe11dzrd eg fureurcpo r oB druefnrwopo{po ,p qnlc.g.o dcŁln1uezerd po .arufdcue.t.u1as cervrodó1sod r (te.ua1 po) n11Łzcod po _or ctlegel1e5 8brcpod eu .n8Łrc eruel!\d.tropo1po cęuttzcTJz tza1eu.ó 1!c>1un; o1dzn oBar911 op lolo{ Z
.nłualuolo o8azcudpefod npo4 coluoł tsfctsuzo 1 arueą1odeu lfeł'a1 op lervrerd po
cbte1,|zc.9e'udrr.topo1po €uzolu
nluoluzglpo 'tt
/
1|c>1un1
Łcoruod ez due.t'opo1 Bhlc
.rurdrl.rorc9ołJę,Ą1'ouzoJ TlutsIue.Ą\opo1
II: (p)Ll III: (P)6
000r
: (p)/
0I : (')q : (?)d
0IT
00r
: (r)/
.,.t
1|c1uq po
Łs ó 1 / e|c1un; ez .n1 9tpr'11 I0: (q)ł o : (o)? : (q)6 s: (o)6
or or
: (q)/ r:
:ulue^Ąopo{ dzr1 acbtndó1seu durzr1edzog
.{p,,,q,,}
(D)l
-x
qcelN
z'z peIY.tzrd
.udrtotcgop€.ł\ouzgJ luoluacłtslz$I .eztd ctq ouur.uod / erue.trropo>1 pŁ15 .9e,.rłopo>Ipo aruzctsuzoupel e[ ,{urger1od az .9rurr.radn 3ts o1rerrr .,f 1!c>1uq bcotuod pz t8btc cts1rtopo{ dureur zerałJ{ga{ .(1Łtauou1 r'rrol;rlzJ. u Bblc nł }sQ| ulepep1dzrd rud1so.rd lrcÓrrued euotrrreqzod 1sa[ o1p9"rz zfp?,euzol rurpred ctqbzs
.nu.I e?,u n8Łrc dzerd,u
az,f,tnzannęz).(r)d.....(,")a
o8eu1orrrop eruardŁ1sd.tt o.1ll?s9aTqopodop,tre.rd
oz
,o1
ou^\oJ
ezcEuzo
1se['r...rr
,x
n8ŁTc
leuuerruz elu1s
-yerqopodop,uerd urepe1ązor udurlłed z etupoBz efndó1sd.,vr ?t vazrEpz oz opztsĄ ...(tu99nddzr4 o? Ąe| .l,c1zu.rod zaq ołpgJv zeztd' ./iuvztę.,rr1d.u 1sa[ ufr. . . Ilt Bbtc az
'.{t'o}-*X :! Ólc1uny o{€|
/
c€.Ąilo}{€rł
IJJaWz durezotr,11 ..rrroEbrc Ótąeue1opo1
ezctsuzo
||
etzp8
VI{OAJ.NS
gs
'Z'Z
2. TEORIA
DO
SHAIVNO]VA
jest
kodowania. Skutecznośćkodovrania / będziemy mieruyć tak jak poprzednio: nią ważona średniadługościkodowania elementu X (oznaczana symbolem l(/)). Mamy zatem następującą definicję:
!U)
: lnip)lf r€X
(")1,
gdzie |g| oznacza długośćciąglt g. Ot6z nasze podstawowe zadanie polega na znalezieniu takiego różnowartościowegokodowania /, które minimalizuje wartośó /(/). Istnieje dobrze zrlany algoryim, zwany algorytmem Huffmana, które to zadanie realizuje. Co więcej,
jest wolne kodowanie f , otrzymane w wyniku zastosowania algorytmu Huffmana, od przedrostków oraz
H(x)
<
!(f)
<
H(x)+
1.
Tak więc wartośćentropii stanowi bliskie przyblizetie średniejdługościoptymal-
początkowego elementu
r.
Wyjaśni to prosty przykład.
Przykład 2.3 : Niech X : {a,b,c,d,e} ma następujący rozkład prawdopodobieństwa: p(a) : : AlgorYtm p(e) 0,60. : 0,05, p(b) : 0,10, p(c) : 0,r2, P(d) 0,13 oraz Huffmana daje następującą sekwencję: a
t)
c
d
e
0,05
0,10
0,r2
0,13
0,60
0
1
0,72
0,13
0,60
0
1
0,15 0,15
0,25
0
1
0,60 0,60
0,40 0
1
1,0
a19rc9 r ta1ąndfirrr 1!c>1un;3tcrugep
'('urn11'ddzrd) 7 alerzpezrd m lat{ndd'tr furefnrudzr1o .rc9ou.tr9:aru e1qo 1tcrugep fa1 't ńfecerrrlp61
.npo,Ą\op zoq dul.&€}spozJd fi,
ŁJ9H .euesua1.
f r
az qcI{BT ,I
z
csou1v\gJelu
)
oło Y
fi,,x qcDlłsdzs^Ą tsIp
z \,
-( @F@I '\n*"7' dp8 .r e1erzpezrd n o7ń7qm
a19l'cg +se!
,f
e|c>1urtr1
.I ) fi,,r qco1pdzsłt eIP
z
.( z \"
6TT@I<\ffi1t dpB .1 e1elzpezld no7ń7ąm pet
/
e1srrrł'dzcezr elcąuq4
17'Z .dtuetnrugepz
zę:Lai-
€ osuaf ergł4 ,qcd1sóqlt 1|c1un; 'tzct1op u .99ouse1rw
YfCINIJOO ?9ou1(9JaIN
Łrvrorrre1spod buzce1izn ozpJtsq dualn1
'euosuef csou^roJolu o1e[ Łueuz
-NuJoJs m.rerd[e51 .rtdor1ua ecbzcfr1op r1rudrrl. ozclupesPJz aualad n1 dunupołrop1
lJgous€łł\
11do.r1ue
zzrr'o + zvSt'o+ rf98'0 + z1,tt'
'z\vL'r : :
o + rgrz'
0
.t.7,
(x)a
:Łrdor1ue z o1 durfeurrtg.to6
'8'T : : G)ł g.0
I.09.0+t.8T.0+8.zI.0+8.0T.0+t.
:npo1 cso8nlp truparg duralnurdzrlo
ptls
:tsIu€^\opoł o8acttnd31s'eu op ot lzp"&oJd
IrdOUJAIa
L9
D|ONSVxlvl'8'4
2. TEORIA
Dó
TWIERDZENIE 2.5 (nierównośćJensena) Niech / będzie ciągłą' ściślewklęsłą funkcją
SIJANAIO-IV/
określoną naprzedziale I,
n
sf,ot: '' t-l oId'Z (Ii > 0, 1 <
, ro''f("')
<
i:l
gdzie
i śn. Wówczas
/
/T_
l) lu
\ i:1
\
,ałri I|, /
ri ę I, I śz śn. Ponadto,
równość zachodzi wtedy
i tylko wtedy, gdy
tul-.-.-Ln.
Wyprowadzimy teraz kilka wyników dotyczących entropii. W następnym twierdzeniu wykorzystamy fakt, ze funkcja log2 r jest ściśIewklęsła na przedziale (0, -) (W istocie, wynika to natychmiast z elementarnego rachunku różniczkowego, gdyż druga pochodna funkcji logarytmicznej jest ujemna w całym przedziale (0,
*)).
TWIERDZENIE
X
2.6
będzie zmienną losową o rozkŁadzie prawopodobieństwa Pl,Pz,...,Pn, gdziepi > 0 dla 1< < n. Wówczas H(x) < Iog2n,przy czyTfi równość ma ' gdy pt:1l" dla wszystkich 1 ś1 śn. miejsce wtedy i tylko wtedy'
Niech
DowÓD
H(x)
Stosując nierówność Jensena, otrzymujemy:
: -A Lp,Iosrp, i:)np, los., zJ' " Pt i--r
!
: t
:-/ 1\ ślogz L|p,.; 'pi/) :
,_, \ logzn.
Ponadto równość ma miejsce wtedy
lśiśn.
TWIERDZENIE
2.7
i tylko wtedy,
gdy
pl : Iln dla
H(x,Y) < fl(x)+H(Y), przy czym równość ma miejsce gdy X i Y są zmiennymi nieza|eznyrni.
każdego
l
wtedy i tylko wtedy,
. (en1sr;erqopodopiue"rd p€ł{zoJ trlu'oue1s lpł az ,o?e+ z fulst1v1s&zJo{s I tsuosuar csollv\gJaru n1 drugtleł'oso1se2)
'0 T
uSol
t:l t:'t
tb?d,35"r", tp.t -^ "" _= ly..u4"óo1o'". (.. (.
!bt6z3o,
l:!. I:?
nr33
*
tl,
;'
?'Bot
,!, łn
nr3 3 1r
:
'ut
('ł.)a - (x)a _ (,ł..x)a
:drueru'tcgourtrtol
.
ł^ t'l1z3o,'1J
eueudzrlo cbz&'7
t:! t:p
l7l7 3uuś - : (,ł..x)a
az)l€upaf
'
-:
(ł)rr+(x)rł
elndÓ1seu oc druezcr1qo pb}s .(?' >
. > t)
I:!
l?r7 :
tb
L\
u
zęro(u1>p>I) t:.c
,or3: .(oBeuzcb1€Ałsualqopodop.uerd
ppłĄzoJ oł) u
.r'^-i*^n
) !}I,u'l
ro
,
> p> I
.(n : : f?"r ołpeuod qcolN .?' > f > I ęw (!ft : a)d : lb x)d A.,?r : X)d : ldqcalN'u S [ ) T'!n bs 1 leuuarruz e .tz > p > I .?r lcgolrel.r ofnurlfzrd y ez ,frtnzo1e7 6191!A00
zpro'vt > ? > I tsIp (rtr IlutsIcgolJts.Ą\
IIIOEINSIC|ONSVŻIYI't'Z
2. TEORIA
60
SIJA/VNONA
Możemy także stwierdzić, kiedy ma miejsce równość: musi istnieć stała c, : c dla wszystkich i, j. Z równości
taka ze pżqj lrij
n
ru m
m
tt rij :DDp,si: j:I ż:I j:I ź:7 wnioskujemy, ze
rtj
:
c:1.
t
Tak więc równośćma miejsce wtedy i tylko w.tedy, gdy
ptQj, czyli wtedy i tylko wtedy, gdy
p(X: lż,Y :
ai)
: p(X: rt)p(Y :
a
j),
1śiśrrr,,1
DEFINICJA 2.5 Niech X i Y będą zmiennymi
Y
losowymi. Wówczas dla dowolnej ustalonej wartości mamy rozkład prawdopodobieństwa (warunkoweso) p(x g). oczywiście, l
n 0x10
: - ln@la)
roez
p@]il'
Entropię warunkowq I/(x|Y) określimy jako średniąwazoną (względem prawdopodobieńst* p(g)) entropii fr(x|E) dla wszystkich wartości g. Tak więc
H(xlY) : -
tar lnfu)n@|il
rog, p(rly).
Entropia warunkowa jest miarą średniejilościinformacji, jakiej dostarcza Y o zmiennej X. Następne dwa wyniki są oczywiste, ich dowody pozostawiamy jako ćwiczenie.
TWIERDZENIE 2.8 H(x,Y) : H(x)+ n(xlY). WNIOSEK
2.9
rr(x|Y) < rr(x), ptzy czym iY
równośćma miejsce wtedy
i tylko wtedy, gdy X
są nieza|ezne.
2.4. Błędne klucze i długośćkrytyczna Udowodnione wcześniej własnościentropii zastosujemy tu do systemów kryptograficznych. Zaczniemy od wskazania zasadniczych relacji między entropiami składników systemu. Entropię warunkową f/(K|c) nazwiemy niejednoznacz-
1: 1 t
:
(vltv)d \tlby
1a
o: kFx)a o: (tlt>l)d
s:
(vlzv)d
,: lSfX)a L I
:
ę1"y1a
o: (tlzN)d
-ó1seu durerudz.r1o lesedeg oluozplal,*,.1 9e1sdz.ro>1drrt o3e1
.t
g: 6: L g: t:
(vltv)d, (slt17')d
,_ ,.
\zl'X)a
(tlrN)d
"p'"?.l#:f!";Ti
> ? > l,G|?N)d €ł\łstJolqopodop.trerd cdzcqqo drutsnru rrrratdle5 dcŁtndó1s .oruparsodzeq ctzprl.rerds -eu qgsods rw .lerrroąun.rern' rrdor1ua ótcrugap cŁlnso1s
o1 druezotr41 'gv'1 = g8'T - I8'0 + g'I = (ClX)fr oz 'uteu vt\gtu 0I'Z oru (3)g zerc s.I : (x)H .I8,0 (a)u c"| du9łdzc11qg -ozpJol../tl .q8.I = = .pc 1.6 peąltzl4 .1ru,{rrr,
uoł c€1r\oJłsnl,g
tq',rZ npe14dzrd
op durc9;rlło4
.óze1bueBeuldrrł altp oc
l
'(c)a - (a)a + (x)rr (c)n - (c'a'x)a
: :
(c)rr-(c'x)a: (clx)a
:efndÓ1seu
olc€łInzal
1|1\
l0 : (c,x|a)rr
oc .druezcr1qo ptts .(c.>ł)B. : (c.d.x)FI : n zfpB) du,uef 1s1a1 ,oBe1 z oluqopod łsło}I ZcnPI ez
ez .duelnąsorułr .((f)xp
aluzcalJzouPe| btęzcęuzf'rrl duerrror;dzs€z
'(a)a
+ (>r)a
: (a'x)rr : (c'd'x)H
r|cuerl.r1esuo{ M (d)H + (x)rr : (a.>ł)a .(a.x)'rr : (c.d.x)H ufa:iez drueru ,ouza1ezetu t. d I11 4eupat zts.Ą\aluod .(z)xa az1e1 te1ep ę.0: (a.x|c)a cór.lrr, er1rudłr pŁ1g - fi zfp8,frttvll. .(4.y)H+ -ol1f,zsez łS{o} aruzc€uzoupal b|ezcęuzttnl' dułre| }$Iał I zcn1y epezrd futzenneT o91\aoo
+(a'XlC);7 : (C'd'X)H eV
'tn1n1s'tzs.tt'
'(c)a - (a)a s€Zc.1rro6
+ (>r)rr
.uduzcger3o1d.{.r1 uaure1s,{s arzpóq (a, 3,
oT.z
.due.uoqdzsez
: (clx)a )l., .d)
/
q""IN
slNszousl,ł\'l
}s{oł €zcJts}sop
nzc
,.(uol,1ocoaznba fi,aq .Bue) Dnnll! bt,cgou -np1 o ter1et .tfceurro;ut Órgrur euo l,Ą\outs}s
vNZc^IAaX )gocnsa I gzcnax gNQg.Ia
I9
.Ż.Z
2. 'IEORIA SI{ANNONA
62
I dalej,
H(Klc)
1
8
.0+
7 16
-l
.
0,59 +
4
.0,81+
fr
.o:
o,nu,
co zgadza się z wynikiem przewidzianym na podstawie twierdzenia 2.10. Zał'ózmy, że w ramach systemu kryptograficznego ciąg tekstu jawnego I!ft2...fn
został za pomocą jednego klucza zaszyftowany do postaci AtAz
..
.an.
Przypomnijmy, że podstawo-we zadanie kryptoanalityka polega na ustaleniu klucza. Rozwazymy tu ataki oparte tylko na znanym tekście zaszyftowanym' zakładając, że oskar dysponuje nieograniczonymi zasobami obliczeniowymi. Przyjmiemy takze, ze wie on, iż tekst jawny jest wyrażony w języku ,,naturalnym'', na przykład po angielsku. Na ogół oskar będzie w stanie wyeliminować niektókluczami, z których tylko re klucze, pozostanie jednak z wieloma ',możliwymi'' jeden jest poprawny. Pozostałe, możIiwe, ale niepoprawne, nazwiemy kluczam,i błędnErn,i,.
Załóżrny na przykład, że oskar wszedł w posiadanie tekstu zaszyfrowanego WNAJW, otrzymanego przy zastosowaniu szyfru z przesunięciem. Łatwo zauwazyć, ze są tylko dwa ,,znaczące'' teksty jawne' a mianowicie riuer i arena, odpowiadające dwóm możliwym kluczom szyfrowania F (: 5) i W (: 22). Z tych dwóch kluczy jeden będzie kluczem poplawnym, drugi błędnym. (W istocie nie
jest bardzo trudno znaleźćciąg tekstu zaszyftowanego o długości5, otrzymanego w wyniku zastosowaniaszyfrl z przesunięciem, któremu można byłoby przypisać dwa różne teksty jawne; Czytelnik może poszukać innych przykładów). Spróbujemy ustalić ograniczenie górne na oczekiwaną liczbę błędnych kluczy. Najpierw musimy określićpojęcie entropii (w przeliczeniu na jedną literę) języka naturalnego L,którąoznaczymy symbolem f11,. Entropia fĘ powinna być miarą średniejinformacji (na literę) zawartej w ))zuaczącym'' ciągu tekstu jawnego.
(Zalwazmy, że losowy ciąg znaków alfabetu miałby entropię (na literę) rów-
ną log2 26 = 4,70). Pierwszym przybliżeniem Hr mogłaby być entropia H(P) Gdy I jest językiem angielskim, mamy I1(P) ł 4,I9, co można wywnioskować z tozkład:u prawdopodobieństwa opisanego w tablicy 1.1. oczywiście kolejne litery alfabetu nie są niezalezne, a korelacje między nimi zmniejszają entropię. Na przykład w języku angielskim po literze ,,Q,, zawsze następuje litera ,,U''. W ramach przybliżenia ,'drugiego rzędll,, moglibyśmy obIiczyć entropię rozkładu prawdopodobieństwa wszystkich digramów, a następnie podzielić ją ptzez 2. ogólniej, niech P' będzie zmienną losową, której rozkład pokrywa się z rozkładem prawdopodobieństwa wszystkich n-gramów tekstu jawnego. Potrzebne nam będą następujące definicje.
us
qcerp -TI?ouI qcT{Fdzsł\ tuopal8z^Ą) [zcn14 qcdupó1q 3qzcq Łrupel:s ęzcvufo ,I .,,(uryrerdod 1sat dzcn11 ..qc.f,rnr1zotu., z uepe[ oą1d1 zelreruod - l(r)y| tsu^ĄoJ
dpe1u 1set qcdup31q dzcn11 tsqfcl.1
.r( o8euernor;fzs-ez n1s>1e1 op qcdcŁzpe,tord
,u rc9oBn1p o o8aur'ref nłs>Ia} l8blc oBechzcBuz .,tzcn14 ..qcd.tr'qzour.. tuetorqz t1/.rzc .)1 [zcn1nqc.,(1 urarorqz tset (A)y cór.t >1e;, o8aurrł'ed ue4,tzs 1set d qcdropt ts1p {,{
:
(x)xa '0 < (x).dd 'ud.)
xE
:
N ) X}
: 6)X
rlcaruuC)nercI
.o3euelrr,or;dzs€Z
n}s{ał ule tB_u
zere1 ,{ru1ser{o aruqopod .o8eurrtel n1s tctln1uezarder t.tloso1 buuetulz o{€| 'c ferusezc.t drugl]e.uotugep7 ->1e1 ure.rB-u Łcąln1uezardar błtoso1 buueruz o{B! 'd z nTsrlaT .u9urer8.z qcq .(I: u nr1peddzrd ,tt zn| o1 drugrludzcn) o8aue.uor;dzs€ , pBłĄzoJ alu zezld due.uo4np -1sdzs.lvl. azJolqz eu 11'tzc ,) Eu €^Ą}sl}alqopodop.uerd -uI ?ITgeJło durezour ucl I a €u ts.Ą\1s9alcłopodoprrte'rd .t\opeł{zor qc,tuep e1q o8e[ fepe.tir.zc teupat
[ocÓr..u'
' (rcgo8nlp [euPut8d"ro fatuur op n}s{at o8er>1s1ar8ue oluts.Ą\o{npaJz efnpo.ttods
e.rp}{ U Icso}J€^ó' faznp etuzcełęłsop tsIp 'tourgr8-u tsIp tsuBuIJnH alu€./Ylopo{ ,o1 ezceuzo .ce1dzcpo o3 erue1s ,r.r' dtuerzp3q zblcu' az ,Ólarzpeu ?voltsuz €uzoul az o8er>1s1er3ue z ,$na?olll o?.Ąv.1 9\1l-t? \ IołII qcaro}zc qcdp?e{ z tzl1 cbulsn n1s{a} ,fizcęuz collunzoJ oBa1 dze1eu et5) 1d.uorelup€u oń9t n łsol DIsIoI8ue n,tzbt az IaIo{ Z
tzpów
oJ
.gf .0
.ło
?9o.Ą\oJ€Irupeu
drueu'tzl1o,g7,1oĄę| 7H fiuelncezso
t19ep
;óre1q Łupet Bu ula}Iq ero119d e rudupef elceuro;ut €IupeJs urr>1s1arBue n4dz3[ 'tt.
órs tcgerur azJo}II |aupet,tr e+Ię,l\\p,z
az 'o1 ezceuzo 'g'I I zg ) 1 :duzcdrrdue lrurtt' etuleluaur,tradsla ouelsdzn .p1r qcd.vrora1qfor1 tcgo1strrrdzcazt lyĄ..I11Ic9ołJ€.Ą\ alu€1v\oc€zso 9v4st|zn dq euzour zazrd'6.t n: zlGa)n buon1qltzld 99otJP.Ąl ouerudzr1o ,^/Igptsł)In olu€.&ocllq€łs .Qa)u ?sołJts.ł\ c?,t\oc€zso €u?ou tsIuts1v\odó}sdrt qct rc9o1sózc r qosods ua} rtorue.r8rp 'tqzu1 ^Ą teznp oru€.ĄĄocllq€łs zaztd o8arąs1er8ue v>l,{zbt n1peddzrd 11
l .ótcrodold
tsI9oDIo
.?9o.łtoJtsIulptsu o1e[ ,{tue1sarło oc ....ł|o1€uz qcd.uolerurpeu.. córlt 1etr, .la| .8ot bu,rł.or órdor1ue dq1erur drrroso1
zg
99o>11e1.tr
o? tĄv+
l.Ia bqzlirl o1e[ dtuelntugap rI
csonoJDl'I1lpDu }s€nuo1tsu
U
'-
Ga)n
L7H eqzc\
.{tuerrrrzeu
7
@eu
urll :7Y1
v4frzbt bt,do.t,7ug .urdu1ern1eu rueq.{zb| etzpóq
az t>p1
?
qcolN
9'Z VfCrNr,{SO
VNZ)^IAaX 7socnTa I gzcnTx gNofuca
t9
.Ż.Z
2. TEORIA SIJANNONA
64
wych ciągów tekstu zaszyfrowanego o długościn). Wartośćtę możemy obliczyć następująco
śn:De(v)(|lr(v)l -l) yęC*
Dp(v)ln(v)l
- yeC. Dp(v)
D
-
yęC^
P(v)ln(Y)l
vec^
1
Z twierdzenia 2.10 wiemy, że
H(K|C') : H(K)
+
rI(P') - H(C").
Możemy posłużyć się oszacowaniem
H(P")
=
nH7:
n(I
- R')log2lPl,
jeśIitylko n jest dostatecznie duże. oczywiście'
H(C") śn1og' Stąd, jeśli|c|
:
|C|.
|P|, to
I1(K|C") > H(K) - nRt
\og2lPl.
Q't)
Teraz zajmiemy się związkiern wielkości rr(K|c") z liczbą błędnych kluczy ś,.obliczamy następująco:
I{(Klc')
: ! y€C^
r(v)a(xlv)
vec^
ślo8z I r(v)lr(v)| :
y€C^
Iogz(s, +
/
1).
Użyliśmytu nierówności Jensena (twierdzenie 2.5) dla funkcji
l@) : log'(r).
otrzymaliśmy zatem nierówność
H(K|C') ślog,(s'
+
Łącząc nierówności (2.1)
logr(5,
t)'
(2.2)
i (2.2), otrzymujemy
+t)> H(K) - nRllog2lPl'
Gdy klucze są wybierane z jednakowym prawdopodobieństwem (co maksymalizuje wartość1{(K))' mamy następujący wynik:
(.urn11 .d,tzrd) omos1ysoupa[ 99o76a7po eluelgoJło zeluldoJ Jerl1ocls €uzolu
ezlnl€Jatll
711ł
nudzcoll qnl nplnpoJd rce1sod 1rrr qcduzcg€J8o1d,{r4 'ldoIuo}sds v-Iuozcbł łsfulod łsof n{oJ 6v6I z dcerd o8et rvt €uouutsqs zozrd buozpts.troJdm Łfce,u,ouur Łute1oy
auzJgBJBo1df"tą dure1sz(s a/ńoplnpoJd .9.u
.96 rc9o3n1p o o8ou€Ao{dzsez n1sąe1 Bblc (te,zct{ltz (olnroSns -ez) ,tzcrclsdnr ezcn11 BruezJoll\1po oSauzctsuzoupof op az Tudrrt ua5
.gć
tuteu;dzt1o 'gL'O
: zg
-e.rBo1ddr1 erure1sds urd}
:
ź (L,v .9L,O)f
v,88 = ou
feuzcd1dr>1 tc9o3n1p olue,łroctszso ecblndó1seu
durarrutdz"rd
qsal' 'i9Z
ł\ .drvr.oruer.ru'e1spod
:
l11l zerc
r;dzs pe1>1dzrd
9Z o>1eI
: ldl
utfuzcg,
dtuze.ttzog
.lal"B"tra l'173o' :olcl1rrou€nu
^. = "u n^,
.[auzcd1d"r4 rc9o3n1p alll€r'(\oc€zso lfillelll'tzt1o .u eu npó18zrrr druottutf,ztd 11.7 nluozpJal.ł\T II9of ^!
ez 99oułroJatu f,.tnezblnyzoJ I
0 : 's
'ur-{rnoruazctlqo urasBzc
ur8nlp aluzco}ts}sop
alnuodsfp oą1Ą 19e! ,vzcn1nBluezcęwzt|'u' oBauzcęuzoupo| op I.tlołIu1(Icoztd fizc
'erc3[od oupef azczsef geru'orugepz dtutsntr41
.lI1 €p tuolu€.Ą\octszso urdrqop cdq eru ezoln u f (u4-) g vqzcq ?/ IcgołJ€1ń qc,t1eur e1p ez ,ez>1v1 lerzpreq ud1 .arqop cdq eru o?otu aluts.ł\ocęzso u lcgouę1!& qcd1eu v1p ez .tvlzenne7.0 op ozclupe11drrr fiłbp t 79ope.,vr u etcgotzu' [zt1
"".|a|l|x|
.1_
qcdupÓ1q tsqzcll €u€.Ą\I{ozco
,r,y^!!t
tll
a.u
:łounr€.ł\ fcbtndÓ1seu eru1eds "s 'tzcn14 o} ,u o?eznp aluzce}€}sop ep u 99o3n1p eur o8aueal
.sezcrvro11 .e4,tzb|
t
pzcę,uzo
o8eue.t.rdzn cso1(oJ€IluptsIJ -ot1fzsez n1s{at 8Qrc 19at 7g. o1peuod qcaTN .|d| : |x| zvlo ua^\łsl)alqopodop.uurd rudrllo1eupef z eue"rerq .urduzcger8o1ddrą rueua1sds erzp3q (a.3,a.'.d) qcelN -drrt Łs
azcnlł urd"r914
.tr
IT.z slNgzousl^Ą.l
SNZCIIVADOTIIAX AWSTSAS glAOrXnAOAd'9'Z
99
2.'IEORIA
66
SIIA.NIAIONA
kartezjańskiego. Pomysł ten nabrał szczegó\nej wagi przy projektowaniu współczesnych systemów kryptograficznych, takich jak DES, o którym będzie mowa w następnym rozdztale.
Dla uproszczenia ograniczymy się tu do badania systemów, w których C : P; system tego rodzaju nazywa się systemem endomorfi,czrr,ym. Niech 31 : (P,P,Kt,€t,Dt) i 52 : (P,P,K2,€z,Dz) będą dwoma endomorficznymi systemami kryptogtaficznymi nad tą samą przesttzenią tekstów jawnych (i zaszyfrowanych). Wówczas produktem 51 i 52, oznaczanyr:r przez 51 x 52, nazwiemy system kryptografi czny
(P,P,K1x K2,€,D). systemie produktowym klucz ma postać K : (K,,K2), gdzie Kt € Kl i K2 ę K2. Reguły szyfrowania i deszyfrowania są definiowane następująco: dla każdego K : (Kl', K2) rrrarny regułę szyfrowania e6 określonąwzotem
W
e
6 r, 1a;(r)
:
e
11, (e
6, (r)),
oraz regułę deszyfrowania określonąwzolem d
(n,, * r)
(r)
:
d r<, (d
x, (a)).
t za pomocą reguły eI{1 ) następnie ponownie szyfrujemy ottzymany tekst zaszyfrowany Za pomocą reguły e7,. Deszyfrowanie odbywa się w podobny sposób' |ecz w odwrotnej kolejności: Inaczej mówiąc, najpierw szyfrujemy
d
(o,,*,)
@
g,, x,l@))
: d 6,, rc,1 (e 11,(e 6, (n))) : d x, (d 1ę,(e 6,(e 11' (")))) : d,x,("x,(r))
wego. Zrobimy to w sposób bardzo naturalny:
prc(Kt, Kz)
:
prc,(Kt) ' prc,(Kz)-
Tak więc wybieramy K1 zgodnie z rozkładem pp, i riezależnie wybieramy K2 zgodnie z rozkładern pp,. oto prosty przykład ilustrujący definicję produktowego systemu kryptograficznego. Niech szyfr multiplikatywny będzie okreśIony tak jak na rysunku 2.2. Zał'ózmy, że M jest szyfrem multiplikatywnym (w którym klucze wybierane są jednakowym prawdopodobieństwem), a S jest szyfrem z przesunięciem. Łatwo z wówczas zauważyć, że MxS jest po prostu szyfrem afinicznym (takze zk|uczarni wybieranymi z jednakowym prawdopodobieństwem). Nieco trudniej wykazać, ze również S x M jest szyfrem afinicznym z jednakowo prawdopodobnymi kluczami.
.dpe11.{zrdr1uoł
red ?€zts{s,ł\ oupnJlalu lqcduzcger8o1dd'r{ .vr9ura1s.,ts .au1Je?,ulazJ
qcrą1sdzs.,u. €Ip ł€} 1sa[ alu ł€upor .trĄI X qc9/1'p qcd1 e1p av,clzptev,tt1s cÓt.u tsuzol^I
zcn14 t|pzu4ez .ÓBerrtn pod
ulepz !
z
druep,q '141 x g o8arvr
o8euzcruge nr;dzs
: (92'D)CM5
(dPe
-oddzrd) ,X r-r: 2' dPB urfrvro1ąnpo td ez4f,zs lł'zIEl I nqfzs zcn14 fpzu4 o8euzcruge
ulozcnPl
(rX'r)
az 'druftuur
(Xe'o)
3yvt ąetr,
9e1sod tstrr zcnl{ erure1sds urdt
M
XD + nD: (X +
.trĄtr
X
r)o:
s ue1sds zen1
@)tD'x)a
vtfizc fztd .fwzt1edzo1g
'ruduzcruge uraqdzs
.olupol.Ą\odpo .;7 t o [zcl14,tr.1suarqopodop.tnerd urau.{zco1r
{€I 141 ,gZlI .zIlI : car,ra'
'mI x S
etłlefod
fruzc't1uept łsa! trĄtr '9U pour
,(o,X)
pet g x 1sa[ oc
71gf
1
euro.g.r 1se[
.urduzctuge ezl1'tzs -opodoprvrerd .!e1eq
uduzuuge ezl1fizs
11I
zcnl{
.Ą\
€zcnl{ o1(lsllolq {€J
.,tuervrorugepz 1se| aru9e1ie
'92 Pour
Xt
rrt
: (r)6'")a ultzc (złd
.9Z pouI frD : ,,) , (x)Da zcnPl ptrs (X 9e1sod €ru S X 141 urd.uo1>1npold ezt1fzs,ł! (9zZ ) D łualu etue.troqdzs 31n3er t|cb|ęzcęuzf'A T I : (gz.,)om'u e? !Ąv-I -e1e 1set rudurrrd1u1qdq1rttn az4izs .Ą\ IuazcnP1 \aIoĄ Z.9Z potu X + r : (r)xa ,9ZZ ) X +ueu] ttcgou,ło.r €u€P łso! erue.tor;fzs e1n8ar nur ectleper,t.rodpo ę .€IuozpJal,ł\}s a1 durftupo.uopn -a1e 1sa[ ulatc3runsazrd z ez4t|zs .Ą\ Iuazcnlx
furn{1og1d111ntu .rgfzg'Z'Z
xsNnsłll
'(gz,tz
u- =
\
:
fi,-L_ o
9Z
9Z Pour
'{r:
fi,'x\/
(fi.\Dp
rD:
(n)Da
druafnrugap )t)oEq szV)r}:)l
(gz'o)O111N ' zvto
ezZ: ): d
qcolNl
SNZCI{VECOTIAAX AWETSAS qIVIOTXNOOEł
L9
.
9'
Z
2. TEORIA SI{ANNONA
68
:
Z drugiej strony, operacja produktowania jest zawsze łqczna: (S1 x 52) X s3 : Sr x (S2 x S3). Jeśliweźmiemy produkt endomorficznego systemu kryptograficznego S z nim
Samym' otrzymamy system S x S, który oznaczymy symbolem 52. Biorąc n-krotny produkt, ottzymamy system, który oznaczymy symbolem S' i nazwie-
my'iterowanyrn systemem kryptograficznym. Mówimy, że system kryptograficzny S jest idempotentna, gdy 52 : S. Wiele spośród systemów omawianych w rozdziale 1 to systemy idempotentne) na pTzykład szyfry: z przesunięciem, podstawieniowy, afiriczny, Hilla, Vigenóre'a oraz permutujący. oczywiście w przypadku systemu idempotentnego S nie ma powodu używaó systemu produktowego 52, gdyż wymaga on dodatkowego klucza, nie zapewniaj ąc większego bezpieczeństwa. Jeślisystem kryptograficzny nie jest idempotentny' to kilkukrotna iteracja potencjalnie zwiększa bezpieczeństwo. Pomysł ten wykorzystuje się w standardzie szyfrowania danych, który składa się z 16 iteracji. Do tego jest jednak potrzebny nieidempotentny wyjściowysystem kryptograficzny. Jednym ze sposobów na zbudowanie nieidempotentnego prostego systemu jest wzięcie produktu dwóch róznych (prostych) systemów.
UwAGA Nietrudno wykazać, że jeśIioba systemy s1 i 52 są idempotentne
i przemienne' to system 51 x 52 także jest idempotentny. Wynika to z następujących obliczeń: (S1
x52) x(S1 xSz) : 51 x(S2x51) x52
: Srx(S1 x52)x52 : (St x 51) x (S2 x 52) : (S1 x 52)
(Warto zwtócić uwagę na wykorzystanie łącznościw tym dowodzie). Tak więc, jeśIioba systemy 51 i 52 są idempotentne, a chcemy, by system 51 X 52 idempotentny nie był, musimy się upewnić, że produktowanie tych systemów nie jest przemienne. l
Na szczęściewiele prostych systemów kryptograficztych mozna przy tym podejściu wykorzystać jako proste elementy konstrukcyjne. Często stosuje się technikę ł'ączelia w ten sposób szyfrów typu podstawieniowego z szyframi typu permutującego. w następnym rozdziaIe zobaczymy, jak to wygląda w realizacji.
2.6. Uwagi Pionierem w użyciu w kryptografii metod opartych na entropii oraz pojęcia tajności doskonałej był Shannon [SHa9]. W tej samej pracy opisał on tez Systemy produktowe. Samo pojęcie entropii także pochodzi od Shannona ISHaS]. Dobre
.in941sorpazrd
Po
aulo1rĄ
x
'(y)g Łtc9o1l€,t\ z €Iue.!\opo1 o3e1 79o3n1p [euz*9ro4 alu€..ńoPoł eu1eu.{1do vpteuz.eueurgn11 nur1dro81e z
cblpts,{zrox '0T'0 : (a)d zerc gI'O : (p)d 'OZ'O: @)a 'tZ'O : (q)d 'Zt'O : @)a :€1t\}sllalqopodop.terd P€łłzoJ .{cŁfnd51seu eu {a,p,c,q,,l) : X o? ,ltllz91e7 '(y)11 zvto (/)7 nlped
-fzrd
urd1
.9 : u dp8 .Ó[c1nr1suo4 Ł[o.us arzpe14[zld ęu r'te1spazr4 ńA zJIIqo .T f { 1c9o8n1p r8Łrc o4e[ f1uaura1a a1e1sozod e .ry rcso8n1p o x nJolqz ^rolueulala u - l+"t7 |1tpo4e7 r{x.ĄĄ9zvxsl\Ą
.tgBŁrc tce1sod
+5t: U)t zelo
.g.7
(q)
.Ą\
'ul t-cZ
- z-l
a? alĄr-+.y nrorqz,f aruerrropoą,r.rgą1sorpazrd Po aulo.Ąr vpteu7 @)
,,1ąZ} u } łZ ez
oBar>p1
.u o'au.tłed
'.oT
.duqopodoprrrerd aru,t.gr 1se[ fue.tr.or;dzs€z
i;;-,"il]::;::ł;:łl:.,j],)'f , . }$1ol fp7o1 o1
,|a|:
|c| : |x| ,?ęĄA7y'
8'Z
.o8aułrę[ n?słal c.t}syatqopodoprvrerd npe14zor o6au7omop e1p b1euo4sop ggoute1 elnrrroqcez az,zen[16.o8eurrreIn1s4ał €.Ąlsualqopodopr'rr:rd npe11zor o8eu ura1s.{s uer'u'ad ez,Ńnz91e7 e1p t1euo4sop 99ou|e1 ęruitadez
vb
zero Ł1euo4sop 99oute1 ęru,tładęz fuzcger3o1d.,(r1 ura1sds IIga[ a? -'tad
'{uzcge.r3o1dfr>1
.Ł1euo1sop 99ou|e1 eru.tradez Auzcluge t1.tzs az,?ęĄtM .b1euo1sop 99ou|e1 eru,tradęz pIsIl]J€ł
t€Jp€.Ąd.ł
dcb [n1sf zro4d.tr f uzcr1er3o1d.,(r4 ure1sf s
Z'Z
az, o?a1 pgrrrop f u1ad tepod
.(€lu€.łr
-o4.{zs Ó1n3ar Łupet qosods ua1 't alnraueB n1erpe.t.l.1 zsrctn' 'Ąpzey) .({,p)l : : (c)la :oct|ndÓ1seu €uolsaDlo atzpbq ta erue.tror;,.{zs e1n8ar qcaru ,z,l > ? > I ęIC'.{u.'...T} : a : ) : d ,{rrrlrrulfzr4 .duzcgerSo1dfr4 ura1sds tlltu z [ttez -Łr.trz uarrrrad c€l&olugopz '{ruazoru u npbzt 7 oBerr1sr;rce1 nlEIP€/Y\{ o8auep e1q
o}o .aluurnlo{ |op?€{ I nzsJol^Ą
:g npÓzr o8ar4sr7rce1 n}€Jp€^e{ pe11fzrd ur..{pze1 r'^ z€J olup€ł)Iop alnd31sdrrr qJIu z €pze>l all./[o{ł€J '{qzc11 bs lru€1uoruala [aro14 .qceuurnlo{ u npbzt u,\'r!sy1nDl uaJDJpDnX .Ł1rrvro11ec
o? ,Ąr-I onoz>zsolnzol 11,, . . . .I u I rIJ€zsJaI,./\ u o 7 ztelcel;rbs Łqzcq Łtu1epop atzp3q u I{JaIN 'I.z
"'t"t]{zreu
€IuozJIńAc
-sBJg
.€uouu€qs rąrud.tl. azsfolu9ozc.ł\ qru193on tfzt914 . |ss a l./Y\oulluoqcnveg lillvzcótzp||\ęz v.z ol".lupzorpod 'u ouezcęI[zrd
I
lroac] Bqculd
a] I,{\opJ€s HludlĄ
[88s^Ą] eqs1e76 qce1ztrs1 L\ czo|Buz ęvzouJ tsu€IuJ:nH uts1(opo{ .trdor1ue op eruezperrr.ordlu,
r oBerp1og Z€Jo
,ł\g}tsulel qcdu.uar1od qcduul z€Jo
Etuazclttc
69
2. TEORIA SfIANNONA
70
2.7. Udowodnij, że H(X,Y)
fr(x|Y) < f/(x)' przy i Y są niezależne.
: H(Y) + f/(x|Y). Następnie wywnioskuj stąd, że czym równość ma miejsce wtedy i tylko wtedy, gdy X
2.8. Wykaz, że system kryptograficzny zapewnia tajnośćdoskonałą wtedy wtedy, gdy II(PIC) : H(P).
i
tylko
2.9. Udowodnij, że w dowolnym systemie kryptograficznym II(K|C) ) H(P|C). (Intuicyjnie, z nierówności tej wynika, ze gdy przeciwnik ma w ręku tekst zaszyfrowany, jego niepewność co do klucza jest co najmniej taka, jak jego niepewność co do tekstu jawnego).
2.I0. Rozważmy system kryptograficzny, w którym P : {a,b,c}, K: {K1,Kz,Ks} oraz C : {|,2,3,4}. Przypuśćmy,że macierz szyfrowania ma postać następującą:
Kt
Kz Ks
aoc 1
2
3
2
3 4
4
3
1
Przyjmując, ze khl,cze wybierane są z jednakowym prawdopodobieństwem ) a rozIl2, kład prawdopodobieństwa tekstu jawnego jest następujący: pp(a) pp(b) : rl3, pp(c) : 116, oblicz 11(P), H(C), H(l(), H(KIC) oraz I{(PIC).
2'II. ob|icz wartościI/(KIC) i //(KlP'C) dla szyfru
afinicznego'
2.I2. Rozwazmy szyfr Vigenóre'a ze słowem kluczowym o długościm. Wykaz, że dłu-
1'f R1, gdzle tr, jest nadmiarowością używanego języka. (Ten wynik mozna interpretować w sposób następujący. Jeślino oznacza liczbę szyfrowanych znaków alfabetu, to ,,długość''tekstu jawnego wynosi ngf m, ponieważ każdy element tekstu jawnego składa się z m, znaków. Tak więc wartość IlR1, jaĄ przyjmuje długośćkrytyczna, odpowiada tekstowi jawnemu, złozonern,l z rnf Rl znaków alfabetu).
gośćkrytyczna jest równa
2.13. Wykaż, że długośćkrytyczna szyfru Hilla (zmacierzą szyfrowania m X m) jest mniejsza od mf R7. (Zallważ, zeliczba znaków alfabetu w tekście o tej długości jest równa m2 l RL), 2.1'4.
w
szyfrze podstawieniowym nad n,-elementową przestrzenią tekstu javlnego ma|rc| : n|. Wzór Stirlinga daje następujące oszacowanie liczby n!:
my
/n.\n
nl=t/2trnl:l \e,/ -
(a) Korzystaj ąc ze
wzoru' Stirlinga, znajdź oszacowanie długościkrytycznej szy-
fru podstawieniowego.
(b) Niech m ż 1. będzie liczbą całkowitą. Szyfr podstawieniowy będziemy nazywać m-gramowym' gdy przestrzeń tekstów jawnych (i tekstów zaszyfro-
wanych) składa się ze wszystkich 26- rn-gramów (ciągów m-Iiterowych). oszacuj długośćkrytyczną rn-gramowego szyfru podstawieniowego, gdy
Rt :0,75.
2.I5. Wykaż, że szyfr z przesunięciem jest idempotentny'
.sS
rrr
fzcnl{
, 1
lsaf 15 X zs ulfuz)s€r8o1d,fuą olulełsds ?qzcll ol ,zul, Poul o ł Iu \,or vx.1tA9zY)Is.1\Ą
ęqzcIlz:crI €zs[alulu
uriorło1>1npord ,rł' dzcnp1
.lrupoalopn .eupÓ1q 1se! etuezczsndi(zrd o1 ez .€s - ISX zgo1((zul.ll11)rvr,rvrrt rc9o3n1p o rudrrrozcn1ą luońAołs az e.ereua8r1 ruaqdzs 1sat eg 119et :fzsteru198o ąrudlrł' lzpoqcęz az,cezczsnd&zrd dq euzo6 (q) 'ru,lzut IIgo! o? 'ze)rd16 (e) .Ts
- rs x zs ol
'zu) < ruJ ut&zc /rztd'oluperrrtodpo z1L'r'til,
qcerc9oBn1p o 1ruf,u,ozcn1ą IIII€ńAołS ez e.ereue316 rureq.{zs Łpóq
zg I IS qDaIN .fl.z
'rS - zS X TS a? '7v1t(6 '(errnlsyerqopodopruerd o8e,tro>1 -eupef9eru.r'edez1snruarudr91)}dę,t}suarqopodop,rłerduap€łłzoJurfu,u.adz
.tuercarunseztdz ue4dzs z5 e ((e1>1fn.z r1et erupo8z bs auererqf,rł, azcn1>1 ru,{r91ą rn .1ruezcn11 turduqopodop,ugrdou,tor z) ure1cÓ1unseztd z vlet1&zs erzpÓq t5 qce1p .9I.Z
u
elaozclltL2
Standard szyfrowania danych
- DES
3.1. Wprowadzenie 15 maja 1973 roku National Bureau of Standards (Narodowe Biuro Standaryzacji) ogłosiłow Rejestrze Federalnym zamówienie publiczne na systemy kryptograficzne. Tak rozpoczął się proces opracowywania standardu szyfrowania danych (ang. Data Encryptźon Standard, DES)' który stał się najpowszechniej stosowanym w świeciesystemem kryptograficznym. DES powstał w firmie IBM jako modyfikacja wcześniejszego systemu, znanego pod nazwą LUCIFER. Opublikowano go po raz pierwszy w Rejestrze Federalnym 17 marca 1975 roku. Po długiej, publicznej dyskusji DES został 15 stycznia 1977 roku przyjęty jako standard do ,,nietajnych'' zastosowań. od momentu jego przyjęcia, mniej więcej co pięć lat, DES jest poddawany rewizji przez Narodowe Biuro Standaryzacji. ostatnie przedłużenie ważnościmiało miejsce w styczniu 1994 roku; jego waznośćupłynie w 1998 roku. Przewiduje się' że po tej dacie DES straci swój status standardut.
Dnia
3.2. Opis DES Pełny opis systemu DES znajduje się w publikacji nr 46 Federal Information Processing Standard (Federalnego Standardu Przetwarzania Informacji), datowanej 15 stycznia 1977 roku. W systemie DES szyfruje się 64-bitowy ciąg tekstu jawnego r za pomocą klucza 1(, będącego ciągiem bitów o długości56, i otrzy. muje w wyniku 64.bitowy ciąg tekstu zaszyfrowanego. Przedstawimy najpierw ogóIny opis tego systemu.
Algorytm jest realizowany w trzech etapach.
(1) DIa danego tekstu jawnego r jest tworzony ciąg bitów z9, przez wykonanie permutacji bitów ciągu r zgodnie z pewuą (ustaloną) pennutacjq iAngielski oryginał został wydany w 1995 roku (przyp. tłum.)'
: a
:1A93bIc lłcd.&o}Iq-g
.f łsal {ru.{1lr ę
a (y)g
'agtgsgsgvgtgzgtg :
nlluso llc€uol.B)luoł lc€lsod
vuzc,t.JłaIuds ęcluzol €u€zcqqo
rr.r ^,tuerrtdsrdęz
tsoi oludółs€N (u)
.qclu poJsods 9I uoldŁłsd,rrr' qcdurgylł'od z ztsIo.tlce1nurrad [au,tł'ad qcdueppod 'y n8brc l.rgllq Ut z 3rs epepls (y)S 'S D'tuDzrazszor b[cqunl Łu.uod z elupoBz'!Ą9}Tq 87 op ,.ttuezlezszor.. 1se[ y łuaurn8re dzslvrret4 (1) .qgsods dcŁtndó1seu .u
pet e1 ?9o}Jts^Ą .11t9}Iq 97 rc9o3n1p o 1 n8trc zero npllg 79 tc9o3n1p o €u€zcllqo y n8Łrc :rrtg1ueurnSre Tłc91llp po fize1vz (dłro11q-6g BŁtc) / Ilc1unJ ?go}Jq\A
Soo orulałsfs m etuerno.r;fzs
9T? csoutolo{ Łuocgrłrpo gu 38p.ttn
: ź cÓrrrr. {tsJ
epun.r €uPof
.T.8
xsNnsł"lJ
'eru I nt o1r€ł\ .(ot7st3r)._41 :
1Icollillf |9r19la n8ttc op op Łu1o.rrtpo .,_dI ólce1nrured cŁtnuo>1f16
.n .duervror;dzsez 1s{oł óts afnrudz.r+o
.[e.tlo11tzcod tlct1nurred
(g)
'etue.uor;.{zs nsecord epunr eupel
.()1 luoJoqdrvr urduerrro1 z € JnI>I Buol1Y\ts}spozrd 1sat 1.g nąuns,.tr tsN ^tołIq .X €zcnpl e|c>1ury o>1e[ qcdu -nurrad rudu.ued lset l2. tcgo1st.ttdzcefl M) .Bue) fi'zcn\qpod mo1saz actłzl -tszcllqo 1'1\9łIq 87 rureBŁtc bs ((appaqcs fiaq .laruzod durezsrdo 3!c1ung .rv'91rq qce8 ,. . . tZX.I' ,f łs€Iruo1€u -o,rł'1) or2.
-Łrc qcg.trp eu buo19erąo lauzc.'fu1eruds '(cruzor ófceredo Ezcvuzo O oIZp8
((ty(t-tg)
gI > ? > I tslO ozsrytrard
:Ł1n3ar ŁcŁtndÓ1seu z etupo?z '1fc>1un; feu.ryred
{
a r-?rl?a r-?A?rI
łg?7 6ls ęzceuziu'
tlceralr 91 qcduezcqqo pet etudSlseg
(6)
.0r n8Łtc dłlq alu}€łso o1 gez og .0r n8blc duq zg zg .61bmos11bzcod ęz)euzo o7 etzp?,oaoT - (")aI: 0'' :fulozsld
I
i 'j
ssa srdo 'c't
TL
74
3. STANDARDSZYFROWANIADANYCH
(3)
DES
w
następnym kroku jest używanych osiem bloków podstaw,ień zwanych S-btokami (ang. S-boxes) Sr . . . , Sg. Kazdy blok Si jest ustaloną macie' tzą 4 x 16 o elementach ze zbioru {0, 1,..., 15}. Mając dany ciąg bitów o długości6, na przykład Bj: bńzbzbąbsba, oblicza się,Si(B,) w sposób następujący. Dwa krańcowe bity brbo okreśIają binarną reprezentację wiersza r macietzy S; (0 śr ś 3), a cztery bity bzbsbąb5 są binarną reprezentacją kolumny c macierzy Si (0 < c ś15). Wtedy S7(B7) jest definiowany jako element Si(r,c)' zapisany binarnie w postaci ciągu bitów o długości4. (Możemy zatem traktować macierz S7 jako funkcję' której argumentami Są pary ciągów _ jeden 2.bitowy, drugi 4-bitowy' wynikiem zaściąg 4-bitowy). W ten sposób otrzymujemy Ci : S1(B),
1
(a)
Na ciągu C : CtCzCsCąCsCaCrCa o długości32 bitów
wykonuje
się permutację P. otrzymany w ten sposób ciąg P(C) jest wartością f (A,J),
RvsuNpx 3.2. Funkcja / systernu DES F\rnkcja / jest zilustrowana na rysunku 3.2. Zasadniczo składa się na nią podstawienie (z lzyciem bloku podstawienia), po którym stosuje się (ustaloną) permutację P. Wspomniane 16 iteracji funkcji / składa się na system produktowy, opisany w podrozdziale 2.5. W pozostałej częścitego podrozdziału opiszemy funkcje stosowane w systemie DES.
tT9 0g 8t LO
O OIil 8 0T E, L 6 9 6 TIZI 6 9 ZI 9
IT9 L zI 9I TT 9 OTI OTT 8 IS,
I 6 V Z Z 9 €I 8 TIZ VIV I II9TZ
.4 elct1nrurad r uer,rne1spod
I 6Z 9Z
ZE 8Z
qT
tz
vz
IZ
0t
TC
II
0ć 9I ZI
LI TI
9(
LZ
L
8
6
v
EI 6łIIrtl ,
g
6I
6Z :G
.łl9>1o1q
LI
8I
0z
IZ
7,e
o
8 ZI 9I 7I I v L gTO TIV VI
tuarso .ou[e1o{ o}o
8Z VZ
9I ZI
II
VI OT
I
t
8
v
I Z nroq .&€
eluaz lazszor
Ó
ZT IOqB.
tc>1un;
€IsaJ{o
gZLgLr6V6rVTtt 8q 8T 09 0I zv z LZ696IIgTItv€9t 97,
€cIIqB}
eu [a1oy
vt
8e090zz9zrwv9t 6Z19rZt9tI9i9Lt 0€Z9Zz?9vI9T98t rttgtz99qILVL6t ztv9TZ9q9T8t807 ,_dI
ęzsztuod elnsrdo 1_dI Łu1or'rłpo ólce1nurra4
:€cllq€l
.pTT
1sa[
r
,tr.
1Iq 09
.(")at ^\
tuo}Iq urdzs.ttrard 1se[
(tr)dI
,tł. ua}Icł
z n8Łrc łIq 89 az
LgIEZIT6TLV9q19 gtrrz6zLt9Vtg19 €II6ILzqtttTg69 I6Lrgzttw6vL9 8 9T V7, Zt 0V 8V 99 9VrZZ0t8t9Tv9Z9 va0z8z98WZ909 ZUSIgZTEZTOgSg
q8l'p
,o1 ezcvuzg
V9
dI
:ce1sod ŁcŁtndó1seu BTu dI e'uo41Łzcod elce1nurre6
SSO
?t
SIIO
'Z'T
3. S?ANDARD SZYFROWANIA DANYCH
76
15 1 313 014 13 8
814 4 7 7rr 10 1
10 0 13 7 13 6 1 10
914 0 I 4 9 13 0
7r3r4 13 811 10 6 I 315 0
611 3 4 I 15 2 81412 10 4r3 1 5 3 15 4 2 11 6 315 3 4 6 815 3 6 I 8
5 11312 7rr 4 2 10 2 I 5r4r2 1115 011 r 2r2 51014 7 4 15 14 3 11 5 2 Są
3 0 6 910 5 615 0 3 012 11 713 610 113 8
4 r 7r0 4 7 4 2 1111013 11 812 7 r14 2r2
14 11 212
L2 11015 1015 4 2 9r4 15 5 4 3 2r2 4rr 21.4 13 011 7 14111312 61113 8 13 2 8 11513 7rr 4 2 rr4
7213120510 0 110 6 911 812 6 9 3 2 67r205r49
15 4 1
2
7
15
1
9
cvo
11 6 13 1 7 8 213
I 2 6 712 I 2 8r2 9 5 15
1
4
i
8 511L2 4 212110149 3r4 5 2 8 51112 7 2
8 5 31513 5 01510 3 15 912 5 6 615 0 910
0t4 986 3014 453
_ DES
5
15
8 1 .7
12
L5 4 14
9
So
8 013 3 4r4 7 5 5 6 113L4 011 3 3 7 0 4 10 11311 10 11 14 I 7 6 0 8
0 813 3r2 I 7 510 9110143512215 3 714 1015 6 8 0 5 4ra 7 I 5 01514 2
4 6 15 11 1 10 9 3 14 5 0 810 3 7 4L2 5 611 014 3 2 0 6101315 r 9r2r4 I 0 3 5 7 4 10 8131512
11
8 6 13
61 86 92 312 12
I
F7 I
2
5
8
6
11
VZIOZSZStIrc 6Z Lt, 9V tg 19
M
zz0t8t9vv9z9L gr tz It 6t Lv sq 9twz909tTT6I LZ St EV rg 69 Z 8r9ZVtZV0S89I 6LI9z€€Iv6vL9
t9 0r
I-
dcblndó1seu qgsods
.Ą\
ouolsol{o
Łs .dzcn1ąpod n'rłe1saz nlutszcllqo dzrd eue,tł.osols .z-cd I I-cd alce1nrure6 .g.g >1eunsd.t a[nr1sn1r dzcnp1pod n.&€}soz aluozcllqo .blce1nurrad Łuo1e1sn buur 1se[ .n>1peddzrd rrrdułrtceztd nt atcfrzod al,ł\p o .9I qnl 6(7(1 - z ipB 614 ,btc'tzod Łupet o :? IcsolJę1{r po Ic9ouzaltsz n ,e|cttzod al/ó.p qnl Łupel o (o.tre1 ,t.r)
ercórunsezrd euzcr11,{c eln1uezerder
!s1 .(?o?c),Z.cd : lX zaro (r-?O)!S,I
:
?O
(r-?c)?sI : ?c
órs ezct1qo
nSbrc
rvr91rq
9I op I po
?
Eo
(z)
.(>l)r-ca .1!l9}Iq 8z qcTuT€łso elnruleqo 0o
.oooc 96 qcdzs,u"rerd elntuleqo og etzp8
: (>l)t-ca ł
-esrd druerzpeg 'f-Ca rfcelnured (teuolelsn) bte8elpod dlrq alelsozod .au€cnztpo bs ,X nzcnPl urd.uo1rq-79 łt ecbfndl1sdrvr .rcso1sdzred d1tg (1)
.aueltuod Łs rc9o1sdzred dłTq ..tzcnp1pod n^\€+soz tsIutszcllqo s€zcpod .erdnr8 .1eudpet dqzcq le1sdzledetu z |a.tro11q-g |epłq 1lri pŁłq crcd.t.rqcdrrl €uzolu cólrrł. >1ea .(łr9p 3rs 1epe11s ł|€q dp?e{ dq .'{n} ouol9aqo bs vg,. . . .9I .8 qcelcdzod eu d1rg .d.lu.tcse1.łrr zcnPl l,Ąlouts}s -ó1q 1or1uoą op) rcso1sdzred d1rq o1 qcd1e1sozod 3 e 99 qcdr9p1 z.^Ąg}lq 79 urar8trc rcso1sr.udzcezr,rł. 1se[ X zcn11>I .X tszc||IĄ errlre1spod
eu dzcnp1pod n.te1sez tsIu€zcllqo sacord cesrdo ezczsat furrsnur celuo{ €N
gZV IIZZ 90ttr6r 6 T LZZT
vrvzS
OITTSIS 9Z T,Z gI LI 8Z ZI IZOZ L
z
I
I
6Z
9I
sso srdo 'z't
LL
3. ST/NDARD SZYFROWANIA DANYCH _ DES
78
RYsuNEK 3.3. Obliczanie zestawu podkluczy w systernie DES PC-2
1417 11 24 3281562110 2319124268 1672720132 41 52 31 37 30 40 51 45 44 49 39 56 46 42 50 36
1 47 33 34 29
5
55
48 53 32
oto zestaw kluczy otrzymany w wyniku takiego obliczenia. Jak stwierdziliśmywyżej, w każdej rundzie stosuje się klucz 48-bitowy, zł.ozotty z bitów pochodzących zk\ucza K. Elementy tablic przedstawionych poniżej odnoszą się do bitów klucza
K
10 3 22 61
uzytych w danej rundzie.
51 35 28 21
34 26 39 38
60 25 54 63
R
I
57 49 44 58 59 1 37 4 47 30 15 20 45 14 17
Ru
2
I 24326524r 60 27 18 17 36 50 51 1.4 20 31 46 29 63 39 53 13 30 55 7 12 37
49 58 22 6
2 36 5 13
I 27 53 62
19 18 23 55
59 57 28 5
1 19 45 54
11 10 15 47
42
4r 29 31
34 33
2r
23
6L
sgo srdo
'6'8
3. STANDARD SZYFROWANIA DANYCH
80
25 18 39 15
r 50 14 38
49 47 21 55
10 11 4 45
35 59 54 28
9 2 23 62
50 34 61 22
33 25 5 39
59 60 55 29
19 43 38 72
58 51 7 46
34 18 45 6
77 I 20 23
43 44 39 13
3 27 22 63
Runda
Runda
52 57 37 53
13
52 42 28 30
43 52 47 31
t7 51 22 30
60 42 7 12
34 33 5 37
27 36 31 15
I 35 6 74
44 26 54 63
18 t7 20 21
11 49 15 62
50 19 53 61
57 10 38 47
2 1 4 5
3
4L 59 22 31
51 50 55 20
44
25 43 6 15
35 34 39 4
58 57 45
I4
42181275249 35258571125 542942365 3053728472r 26 2 50 11 19 51 42 41 38 13 55 7 1.4 37 54 t2
12
3 58 13 46
Runda
36 41 21 37
11
19 I 29 62
3 44 53 6
26 33 12 62 14 46 Runda
36 33 60 9 5320 31 5
15
49 10 63 61
a16
185942357 41 11 43 34 33 52 r 2 30 5 47 62 45 12 55 6 29 46 4 23 28 53
37 45
44 18 17 52 4621 30 29
36 10 17 27
I 44 35 26 38 13 61 31 22 2t 7 63
_ DES
57 27 46 13
4r 11
30 28
25 60 14 12
I 61
63
47
50 49 37 39
Do deszyfrowania wykorzysuje się ten sam algorytm co do szyfrowania, z ciągiem wejściowym y,Iecz zestawu podkluczy llzywa się w odwrotnej kolejności: Kta,. .. ,1(1. Wynikiem jest tekst jawny r.
'('urn11'd-{z:d) ru,{rrrollseusezs fazceu1l
I0r000l00oo00000or0o0T00lIT0TII0 OOIIOOTOTTTOIITOTTOOOIOOTIOIITOI
: :
T T T
T
T
T
T
TOOOOIOOOI
T
v?r
:
srl
,\eg{olq-.9
TOOIOO
tx
I I TOOOOOITOT
IOIOI T TOIOIOOOOOOOOOOOOOI
TOOOI OT
T
T
TOTOOI
TOI I IOIOOOOOOOOOI
EX
T
-
IłIuf^\
(za)g
zA :
I
ErI
("x',a)t
ITOO
I IOIOOOTOOOOI
@
Ga)s
T T
IOOT
I IOOOOI I IOTOTOIOOIT
IOTOTOIOII IOOOOOOTOITOOOTTTII
TOOIOOI OIOOT IOOI TOOOOIOTOI I IOT
zx
zx
I{Iud^Ą
Ca)s
@
Cx'oa)l
,Y'g{olq-,9
IO
plluflA
.erue.to.r;dzs punr 91 Órs e[nuo>1,{.t ta1eq
:
IITTIITTOOIIOOIIOOOOOOOOOOTTOOIT
II ITTI IOIIOT ITTOITOI epŁ18'tłr
plluf^Ą
: nX @ ęu)g : 7' : tA : vrl
(tx'za)t
IOI IOOT TOIOOOTOIIOOTO
I IOT TOTOOOOT
IOOTOOOOOT I I ITOOOTOOOIOOII
TOOIOIOOOOIOI
?X,T2T)I
0T0ITT0oIIITI00TIoIT0TTIIo000I00'\&g{olq-s 00T0II0I0I0T00T00IIII0IToIIT0T0oIITI0TIIoT000100 IOIITOOOTOTOTTOOTTOIIOTTOIIOIOTIIOIIOTOIOIOOTTIO IOOTOIOTTIII ITIOIOIOOOOOOOOITIIIOTOOOOIOOOOOIOTO OOIOTI I I I TOIOOOOOOT I IOTOOIOOOIOT OOOOT IOIOT I
OTOIOOI
TOOITOOIT TTIOOITOTOOOOTOOTOIOOOTOOITTTTIIOIOIOIO I
IOOTOOOOI T
OTT
^eg{olq-,g
OOT IOI I T T TOOOT TOI IOTOI II IOT TOOOTOOIOOOTOOOI IOOOO IOIOOT I IIOOTOOI TI TOITOT T IOOI TOT IOT T IOIOI TOOI TI IO IOOTOOOOOIOIOIOTOOOOT TOOOOIOTOIOOTOTOIIIIOTOI I IO
IA : zrl
OOTOOOIOTOTOOIIOOTOIOOTOTTIIOITT IOI I TOI IOOTOIOIOIOTOOIOI TOOOIOO T
I I TOTOOI IOTOI IOIOTOOOOOTOOI I TOTO T T
rx @ (w)s tx ea)s
OIOOTIIOOOOOIIIOOOIIITTT III IOIIIOIOOOOOOIIOTTOOO IOIOIOTOIOTOTOOOOTOTIIIOTOIOIOIOIOIOIOOOOIOIITIO
.fazruod
4e[
: og :
0T0I0I0I0000IITI0I0I0I0I0000TTTT
t7
O?
-rq rce1sod 1!\) o2i 1 07 duretnurdzr1o 41 rlce1nrured €Iuts1r\osołs€z .OOOI :>1e1
:(feu"reu nr1tud.tt 16
TOOTOOI I I IOTIOTOTOOIOIIOOTOOIOOO
tcso1sdz.red ./ńołIcł zaq zcn1ą rudureurq erue1sds
'11
'TJCCCSS66f LgVtEr
,)
I
1
Bzcnl{ (oBau1eudcepes1eq) Qcourod ęz ;
(
JEOCgV68f9gnteT0 (
ce1frotl{zsez
rurduleurdcoptss{aq aruralsds
rrr
,1
duesrdez) durvref 1s1e1
drueu ez durggnddzrd 'sgo tcouod ez eruerrror;dzs pe11,tz.td o16
sgo oplatsds
lll' e1uearr'o.rgr(zs pe1ąfz"r4 .1.6.9
ss.a
I8
srdo
'G'8
3. S?A]VDARD SZYFROWANIA DANYCH _ DES
82
Rł) : l(s :
E(Rł) @I(s
:
S-bloków
Wyniki
: : Rs :
f(Rą, Ks) La
E(Rs\ :
1(o : E(Rs) O 1(o : Wyniki S-bloków
Ka) : : Ra :
f (Rs,
Lz
E ( Ra)
K7
:
--
l(z : S-bloków I (Ra, Kz) : Ls : Rz :
E(',io) o
Wyniki
: l(s : E ( Rz) A l(s : Wyniki S-bloków f(Rz, Kr) : Ls : Ra : E
(
Rz)
: : ,E(',?a ) @ Ks : .E(Ra)
1(g
S-bloków
Wyniki
l(Ra, Ks) Lrc : Rs
: :
: : E(Rr) O Kn : Rs) rc
K
Wyniki
S-bloków
Krc) : : Lr Rrc :
f (Rg,
: t -u. :
Ero)
K E ( Rn) @ K
Wyniki
t
S-bloków
: : Rr :
./(R.0, K:n)
Ltz
101110101110100100000100000000000000001000001010 011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 00101000000100111010110111000011 10001010010011111010011000110111 110001010100001001011111110100001100000110101111 011000111010010100111 110010100000111 101 100101111 101001101110011101100001100000001011101010000000 01000001111100110100110000111101 10011110010001011100110100101100 11101001011001111100110101101001 111101010010101100001111 111001011010101101010011 1110110010000100101 10 1 1 1 1 1 1 10 1100001 1000101 1 1 100 00011001 10101111101 110000001001 110110011 111011 11 00010000011101010100000010101101 10001100000001010001110000100111 00000110010010101011101000010000 1 1 1 10100000010100000 11 111 1011 111101111000101000111010110000010011101 1111011101001000011011111001111001 1110110101 1011 01101100000110000111110010101110 00111100000011101000011011111001 11010101011010010100101110010000
000000001 1000010010101010101
011010101010101101010010101001010111110010100001 11100000110110111110101111101 1011110011 110000001 1000101001 1 10000101 1 1001010010001001 101 100100000 00010001000011000101011101110111 00100010001101100111110001101010 00100100011111001100011001111010 000100001000001111111001011000001100001111110100 111 101100011111001101000111101110100100011001001 101000010111000010111110110110101000010110111011 11011010000001000101001001110101 01100010101111001001110000100010 10110111110101011101011110110010 010110101111111010101011111010101111110110100101 001000010101 1 1 11 1 101001 1 1 101 1 1 101 101001 1 100001 10 01
11
101
1
1010000101
1 1
1000001 1010000101
01110011000001011101000100000001 11100001000001001111101000000010 11000101011110000011110001111000
1
100010001
1
oJ ({Iud,ł\ Iutss uo1 elep qc,{.t.rotcsldrrl rcso1rtsjł qco.ryIp fouzc,{r1euds dcruzo'r eru -ozcllqo pe1>1dzrd EN .anoxul1 Łs - l.ro>1o1q-g ueq1btd,tł. z - sgo 1lI au€zpts1ń -o.rdezrd tsIuozcllqo eq1sdzs16 .,tlołolq-S o1,tzct1op vozozr+sez z oupof .Ęd1d;ą SEo lltloula}sfs eruepeu elcdzodor4
Ł13e1zor z órs e1o11ods nPJ€putsłs nrol}pJeqc
Sgo
ł9ło'lAafsJańAoJ+uo>I
.t.t
'90rrrv0J0r9tT8s98
-9111
.duervror;dzsez
1s>1e1
pat (teu1erudcepes4eq tce1sod
duefnurdzr1o .,_dI ófce1nurred cŁlnso1s (ceruoą
IOIOIOOTIOOIIOTTOOITOOTOOIOIOOOO 000TTO0TIITTO0T0000000TT000I00IT : IooI0I0000I00Io0IIooo00ITII00IoI _ TOTIIOIOOIIOIOIOOOIOIOOOIIIIOOOIIIIOIOIOIIOIOIII : TOTOITTIITTOIOOOOITTOOOOITOTOOOITOITITOOTTOTOOII
00010I0II00000I00T0IT00000T000000I0I0II000000I00
,tł') urdr
e5
9I?I
(eTt" srY) { l{Fd^Ą 9IX O (SIU';'
1'A9{olq-,s
9IX
(erU
00I0TT000T00IT000T0000T0TT0000T0 - sra - slrl : (gIX.NIA)I OTTTOTTOTITOOTOOTOOOOOOTTTOTTOTO 0oIIII0oIoII0o0I000IoTII0I00II0I'\Ag{olq-,g p1lu,(^Ą
-
T0TT00000TT0T00T00TT000T0I0000TT
:
IIorr0roo00000rI0r0l0or0ro0rr0r000roroloo0oooTTT
IOOOIOIOT TTITT TTTTTOIITOOOTOTOTT
TOTOOOTT
TITITOTO
OTOIOOOOITTTITOOIOTTTTOOIOTIOOOTTOOOTOOITTTTTTOI
gIX @ (?IA
91X
)
g
?t2r)g vta
-
srT
IOIOIOIOOIIIOOOIIOOOIIOOIIIOIIOI : ?IX,I'A) { I00oIIIIoI0IIo0IIooIIII00oIoolI0 1(9{olq-s HIud^Ą OITTOOTTTOTIOOTOOOOTITIOTOOOTTOIIOTOTOTOOOOOIOTO
OTOI IIOOI IIOOI IIOIOOII IIIIIOI IOIIIOOOOIOIIIIIOIO 0OI0IIII0IOIOIOI0I0I00OI0II0OO0O0IIOIOOOIIII00OO
_ :
I
T
I
T
TOT
T T
(8r
vlrl
1Yr9{olq-.9
TOOTOT TOIOOOT TOOOTOT TOTOT TOOT
TOT TOTOI I TOT TOTOIOOOOOT T I IOTOT TOIOT
TOOOT TOTOOOT
lrl1udlA
ErX @ (zrY)g
tlx
\",4 )g
TOOOIOTOTTTT ITOTTTTOIOTOTTTOO
IOIOOOI IOTOOOOOOIOI IOI
?IX O (TIU)g TIX zIA
(trx tzrll) {
OTOT TOTOTOTOTOOOT TOOOOT TOOOI IOOO
OI OOOI OOI OOIOIOOI I OI I I OI IOI I I OI TTT
IIOIOIOIIIIIIOOOIOII IOIOOOII IIIOIOOI
TOOOOOIOOIOI
OOOOI TTTOTOOOOOOTTT
t
zta - t17 (zrx ,rrY) {
OOOT TOIOOOOT TOOOTOT I I IOI IOIOT T IO OIOTOTTI ITIIOOIIOOOIOIIOOIOOOOII
TOIOI TOOOT TOOTOOT TOTOOOT OOOT IOOOOOIOOI I I I
l
&9{olq-,9 I{Tu,{^Ą
TO
zty 6 (ttg)g ztx
IOIOIOOO
IOOIOII ITIIOOIIOOOIOIOOI IOIOI ITI IOOOITIOIOIOIIIO TOOOTTTITTOOOOOTT TT I IOOOOOOOT IIT TTOTOTOTOOOOOTTO
I
T21
Sgo s?}IoAĄ grSEgAĄoEINoX
t8
.t.8
_ 3. STANDARD SZYFROWANIA DANYCH DES
istniały w DES tego typu pułapki. W 1976 roku Natńal Security Agency zatwierdził'a następujące własności S-bloków, które składałysię na zał'ozenia projektowe:
P0KażdywierszwdowolnymS-blokujestpermutacją|iczbcałkowitych 0,"',15'
Pl
wejśZaden S-blok nie jest liniową ani afiniczną funkcją swoich danych ciowych.
jako ,,wyDwie dodatkowe własnościS-bloków zostały przez NSA okreśIone
nikające z zaŁozefi projektowych''
P4 Dla dowolnego S-bloku i s(")łS(rO11el00).
:
ciągu wejściowego r otaz dowolnych
zawieta się zawsze między 13
i
e,
/e
{0, 1}'
19).
innych Do publicznej wiadomości nie dotarł a zadna informacja o stosowaniu
tszszt'fi\azld llc{tssutsJl l{cdł csotJ€rvr aluzcbł lrfc1esuer1 €IutszpJali&}od op ggq órs elnso1s (saIHc .ure1sd5 s1uerude4 {u€qJałul asnoH 3ur"rea13) qcd.ta.o1ueqdzpórur
wozc:r|zol etua1sds ,'V\ a?ItsJ .1l\9}tstuo{ueq ule.ĄĄl.cluporsod pz qcduervrduo1diu. qce1 -uo{ tsu tlcęredo zero (514) qcdutdco1gd}uapl ..i\oJalunu qcd1srqoso eruerlł.or;:dzs op duelł,dzn rso| Sgo .(ru'9crv'or1ueg eruozsfz:grlło}S olłsgg{dJeury) uor1ercossy sJa{utsg u€cIIauY zazld ouelrt.ocerdo .{prepue1s órs efn1sdzroąd.ł.r erzpB .e.uo1 -ueq alcąesuer1 Łrrrloue1s 5gq ntua1sds u€.ĄĄ.oso}s€z óutzpetzp Łuzełl ozpJ€g
.VSN
zezld t7ctueuzn .SSCI nure1sds o8err.roturg erue.ttoruęr8ordo rce1sod rw qn1 qcdlł.o1 -Ózrds tlce1ueura1durr 97 oł€Iu}sl nłoJ 166I M .'!\oJ€Iop 00t .{o aln1zsoą wł{n .>1es/}Igg
1 Łrc9o4pó td z cę,n izHI^I 09u tcso.tr11o1sÓzc o ruarp8oz nlu€^\o+ł€} dzrd -or;dzs azoln frl9+n..toro1sdzueJ1 000 09 z o8auo?o1z o8euo1ecs nptsł{n olu€.Ą\ołnP -ordd.tt e1tso13o uor1erodro3 1ueudrnbg IB}I8Tq €urlg u6(old11{c s€zcpod .alu -tsł€Izp eo1qdzs e1ąd.uzaru Łferlrqzoun ełro1lzrds efce1ueura1dur eusezc1ods11 duzctuor11ela p€ł{n cttnpnq qn1 (ruduzcd1srrue-r8ord arurorzod
eu) act1qe1 cŁfnr1nzsazrd .ats€zc urd1e1s .& c€..r\ozll€al Bu?ou 9Iy t . . .(zX LIX olu -€zclTqo zvlo d t 41 efce1nur;ed.r4o1q.g .g uluaztezszo"r Ó[cr1uq4 .11\9}Iq rrt93trc (ecŁ|ezcn1>1d.tr e,td1eura11e) euzcdr1eurds ectuzo.r 1sa| Łuzcd1aru1dre Łfcęrodo Łu budpep .uduzcd1sture.rBo.rd t 1e[ .urdrrto1ózrds alulolzod tsu ou.ĄroJ€z d,ru,1e1 ruelsds o1 pet'r8n1p qgop ]sof -e,ttduo4d,t.t.
'rlceluetueldurr op
SgC nurelsfs srdo zercoq3 aJ/Cł{BJd 11.l' sgo .7.t
.dutzpo8 q.t .{o op .{q1e1eurz €zcnPl Blu€.Ą\I{nzsod spzc nrc,{zn [at fizld e1e ..trore1op 000000 1 dqe1ervro1zso{ .Ą\oł\€ls -az 61 ectln1s,{zro1,{.łt ętl,tzseul lerup g.1 n8Łrc .u olupoJ9 ggq nue1s'(s €zcnPl oIuaIzaIEIJz dqe1er.tl'r1zorun
u4$1d g)IBł B (irłore1op 00000I Bz c€.t\opnqz
tsuzotu .ł\opePln 6929 ŁcŁtelarn'ez
'Ęqo1[q
31$14 .€JtsIop q.gT .{o dq1rsoud,u npep1n
./\{oJ€Iop .'{qo1e,uo1zso{
oB
.ł\ouoITIuI 0Z .{o
aq€t eluezpbzxt n{unc€zs qcr 3n1pe11 .dzcn14 uazl1sezldb7ec vell. .etup
-o1se1azrd dq o8eupaf dqe1e.uoqazr1od .uope1>1n qcp{B1 90I t.\Ą euozesoddiu. eufzsetr41 .Ópun1es eu dzcn11 g0T ?Izp.terds dq139ru dr9ł{ .ISTA oSeuo1ecs np -Bł{n €Iu€.Ą\opnqz c9o.Ą\Ilzolu €u t1ervl,{zo1s.tt u€uqlaH T osTo DIoJ ZZ61 1Ą znf .(uapet ztu lec3t.ryr c,{qazoul dzcn14 I{cH€l ez,.knzvl.t'lnez) fi' : (r)xa {aunJetlt dq1,{q duoru1ads oSerop1 ęIp,X zcnPl DI€t €u €Iuag€Jłtsu op ze .zcn1ą d.trt1zour tpze4 tqerypeq ń o8auettot1,|zsvz n}$Iot nur oSecŁfeperrrr -odpo r r o8eu.łte[ nłs{oł oBe.uo1rq-7g po ctzpoqcdn .g{ęl eudzsetr41 .dzcn1>1 ru .azl1seztd alu€1(rDlnzsaz"rd acblndrazcd.tr dqd1e,trduo1d,rn. izcezl alco}sl ,ró. oJgpl
gc^Ixvad
s8
1A
ssa
,Ż,8
3. STNNDARD SZYFROWANIA DANYCH
86
_ DES
tygodniowo kwotę 1,5 . 1012 dolarów. Wreszcie DES jest powszechnie używany w instytucjach rządowych, takich jak Departament Energii, Departament Sprawiedliwości czy Federalny System Rezerw.
3.4.I. Tbyby działania DES opracowano cztery tryby działania DES: tryb elektronicznej ksiqżki kodowej (ang. electron,ic codebook mode,ECB), tryb szyfrowego sprzężenia zwrotnego (ang. cipher feedback mode, CFB), tryb wiqzania blokóu szyfrowych (ang. cipher btock chaining mode, CBC) otaz tryb wyjściowego sprzężenia zwrotnego (ang. output feedback mode, OFB). Ttyb ECB odpowiada zwykłemu szyfrowi blokowemu: mając dany ciąg x1'r2... 64-bitowych bloków tekstu jawnego, szyfruje się każdy element ri za pomocą tego samego klucza 7(, otrzymując w wyniku ciąg bloków tekstu zaszyfrowanego ArAz..
..
W trybie CBC przed zaszyfrowaniem kolejnego bloku tekstu jawnego oblicza jego tóznicę symetryczną z otrzymanym w poprzednim kroku blokiem tekstu się zaszyfrowanego danym kluczem K. Mówiąc bardziej formalnie, zaczynarny od 64-bitowego wektora poczqtkowego IV (ang. init,ial,izatźon uector) i definiujemy : ex(a;tar;), 9o : IV. Następnie budujemy bloki 91, a2,. . . zgodnie z regułą at rysunek 3.4. ilustruje CBC DES w trybie i ż 1. DziaŁanie algorytmu jest a następnie jest genelowany klucz strumieniowy' W trybach oFB i CFB (w algorytm tych trybach obliczana różnicasymetryczna klucza i tekstujawnego
działa zatem jak szyfr strumieniowy, patrz p. 1.1.7). Algorytm DES w trybie OFB jest w istocie synchronicznym szyfrem strumieniowym. Klucz strumieniowy powstaje w wyniku kolejnych szyfrowań 64-bitowego wektora początkowego IV. Definiujemy zo : IY, po czym obliczamy klucz strumieniowy zlzz . . . z uzyciem reguły z,i : ex(zł-t), i > I,Ciąg tekstu jawnego ItIz. .. jest szyfrowany przez obliczenie aź :
ri a zt, i ż I. W trybie CFB zaczynamy od ao : IY (64-bitowego wektora początkowego) i tworzymy kolejny element zi khlcza strumieniowego, szyfoując wcześniejszy blok tekstu zaszyfrowane[oi zi : ex(ał_t), i ż I. Podobnie jak w trybie oFB, ai : itźa zt, i ż 1. Działanie algorytmu DES w trybie CFB ilustruje rysunek 3.5 (zauwazmy, że w CFB i oFB funkcję szyfrującą systemu DES, czy\i eK' Stosuje się zarówno do szyfrowania, jak i do deszyfrowania). Istnieją także modyfikacje trybów oFB i CFB, zwane k-bitowymi trybami sprzęzenia zwrotnego (1 < k < 64). Wyżej opisaliśmy tryby 64-bitowe. W praktyce często tlzywa się trybów 1-bitowych i 8-bitowych, gdy szyfruje się dane bit po bicie lub bajt po bajcie. Kazdy ze stosowanych trybów ma swoje wady i zairety. Gdy w ECB lub oFB zmieni się jeden 64-bitowy blok rl tekstu jawnego' zmiana spowoduje modyfikację odpowiadającego mu bloku tekstu zaszyfoowane1o at, lecz nie wpłynie to na inne bloki tekstu zaszyftowanego. W niektórych sytuacja taki efekt może się o!ę,zać pożądany. TYyb oFB jest często stosowany, na przykład, do szyfrowania transmisji satelitarnych.
\
)l
.cYIĄ ulopo{ z zęIlr\ ur. . . Ir o8au.r.re[ n}${a} 11\9}IoIq 8trc e1dsez.rd e|c11y {olog erudÓ1se5 .cYW o{ts| uź duelnrugoP olczsoJł\ ,X tszcnlĄ bcourod ęz ufr'..,Ifi o8eue.tor;dzs€z nłs{ałrąo1q dtuetnpnq .cgc erqdr1 .u ctle1etzp .[a1eq ."rez qc.{tu -ęs z oBeuozołz AI o8errro>11bzcod ero14e,tr po dueu'{zc€Z .nłvlllunruo{ tsIu€ruIoł -dzrorłrn npoł BluozJo.1(łs op cgc q{J} dueitdzn 1set 1et .zere1 ,{urezsrdg
.(rcgou;nod ęrułledęz atu .ęusg[ zcezt ,cot1c) Ic9oluopel1( (csouzcd1ue1 -ne r) 99ou1erBe1ur afn1ue"relł.S 3y141 cótn, {€tr, .tsJurlso zezrd duoruonuz ozpoJp od 1e1soz e1u 1 1!cg1y po rzpoqcod orcsr,udzcezr Sttc iu,9 o? 's{log erueuo>1ezrd nlac 1ń o8euirłęl n1s{ał ł\.o{olq n8Łrc op duezct1op 1sa! po4 qe; .(3y141 .apoc uox+D)xłue1ł?no a6ossau, .Buv) mgpqt,uruuoq ot'uot,u1a7fr,z"t'a1,nn npoq tsIuazJo.l(ł op cdzn1sod Ł8our e1 dqd.r1 .larup€ł{oo .etuetu1e1dzrolł\n o Izpoqc dp8 .dpeyu' eu -1ep,tztd bs ggc I csc [o,t'4 az .elnpołtod 99ous€ł1( ea .o8euerrrollltzsez nłs{oł r1olq urru od ecŁtnd3peu er41sdzsłr. tsu oz>l€1 e1e(?fi, eu o11d1 aru o1 erud1drw .oSeu qceqdr1 .u dp8 tstsruIo}€N -,rłeI n1sr1e1
le {olq oIuBIIuz aru8a1n gJIc qnl
3g3
CAC q,qt'7'S xaNnsłlf
I
1CIIXVAd
L8
/vl
SEO
'V'8
3. STA.I{DARD SZYFROWANIA DANYCH - DES
88
RYSUNEK 3.5. Tryb CFB po odebrani:u xl' ' .. r' potrafi odtworzyć at . . .an za pornocą (tajnego) kllcza K i sprawdzić, czY an pokrywa się z tym, co otrzymał jako MAC. Zauwazmy, że oskar nie jest w stanie wyprodukować poprawnego kodu MAC,
ponieważ nie zna klucza K lzywanego p|zez Alicję i Bolka. Ponadto' jeśliprzejmie ciąg bloków tektu jawnego rr. ..rn i zmieni jeden lub kilka z nich, to jest bardzo mało prawdopodobne, by mógł zmientć także MAC, tak by Bolek go zaakceptował. Nierzadko konieczne jest zapewnienie zarówno autentyczności, jak i poufności. Można to uczynić w sposób następujący. Najpierw Alicja uzywakhlcza K1 do utworzenia kodu MAC dla ciągu 11 ...:tn. Następnie' przyjmując, że MAC jest równy fin11, szyfrlje ciąg x1 . . .tnł! za pomocą innego klucza K2. Bolek, po odebraniu ciągu wynikowego y1 ...ynłIl najpierw deszyfruje tekst (za pomocą klucza Kz), a następnie za pomocą klucza 1{1 sprawdzd, CZ! frna1 jest kodem MAC ciągu frI ...tn. Ten sam efekt można takze lzyskać w inny sposób. Alicja mogłaby vyć klucza K1 do zaszyfrowania ciągu 17 ' . ,frnl otrzymując pewien ciąg ut . . .an.
Dalej użyłaby klucza K2 do tworzenia kodu MAC dla ciągu at,..Un,Wtedy Bolek użyłby najpierw klucza Kz do sprawdzenia kodu MAC, a potem khcza K1 do deszyfrowania ciągu Ut
..
.an.
eSprrrd,u' ru1dro81y .rurd1rrl.r.o>11ec nutsqzcq rullu1€pop Łs erop1 .7 t u,ł dr1eurered ervrp Łzc:e1sdłr nru1,(ro81e nsrdo oq .(dcqqe1 ureruepŁ18ez:d z nruęu.twg.rod .u) Łrc3rupd Łzsleruru z (uaruerr.r,r>1nzsaztd urdctfndrezcd,t z nrugurla.grod łr) gazcq -qo s€zc dzs1on1 cfizcb1od tsI€/\ezod Łrcórured ts luas€zc dzpórur sruordruoy
.(dclTqe1 :uu-'tpzu4 r\\ ęuzoul dpe1u leures [e1 cdzn nąpeddztd ztpB.zvleu dzcnp1 n>11>1 óts e|n>1nzsod dp8 {pe1rrt orerdop órs olsoJ{o tudu.ryrod,trt .nsezc olues e1,,(1 feruurfeu oc er,upfod csfizloy.alu€'ł\I{nzsaz"rd actfndrazcfin oc p8prudrrr dclTqe1 oruts.Ą\onJ1suołS .PzcnPI nluolzol€uz eu e8a1od alu€ptsz o8eupe| uazclTqo nstsz) oBeuzcb1 ęIuazp
dp8 .tcsfzro1 qc,Aupez alep eru ercgfepod al{€l
-r.tt n11und z ez .[ulztsl.łne7) 'qctudbłs,ł\ uozcllqo nsazc zęJo rcÓrued ocbzc,t1op ceBetqez.rd
etue8eurd,u euuror8o 3rs Ł|errwefod lnez-t erzpÓq tszcnlł aluol€lsn e1sr.łrfzcez.r ?9Io
ut1
.X
zce1 .ols€zc
rud1e1s
.lrr.
zcn14 eln'tz4o 1serurqcd1eu urdur
-es rud1 e .dcqqe1 rrr ń cso1.re.u erzpleupo .r nrueułltsl l.ł\ołs{a} dcŁleperrr.r,odpo fi' fr.ueno4'Kzstsz }sła} etzpóqopz rvąs6 faru79d fpc .qcdupózr1gdsrt qcdzs,łr.retd qcdue.uo1ptzrcdn ,(y,Xfr) rcd 3c11qe1 c€.Ą\opnqz erudó1seu v ,y 'tzctt1>1
Sn1pervr
tsIuaZDIIqo c€u gqZ qclłłsdzs.l( BIp (r)xa : Xfr, ?izc\qo olclłrou€Ilu -o>1flr dq139lu Jvrlso .furvre! 1s1e1 nr1ór rr.t ctleur .duor1s ler8nrp 7 .fzcn1n nn7 olupoJg eruezpnerds ęSpudał' zcn11 du,rrnerdod eu alualJ€Jl łsBIIuołBu.9ótued eu -qez;1od 1sef aru tsIu€ł€Izp o8eqe1 oCI .gsZ oIqzcIT oZcnPI a.&IIzoIu er11s,{zsrrt ^Ą' durezpru'erds .due.uor;dzsez 1sło1 du.tte! 1o1a1 d"red nrutpersod n. ctpóq az .ln.t1 eu tcŁ[e8e1od .erue.ur>1nzsezrd o8ectfndrezcd.tt ófcdecuo>1 znf du9r1errvreur6 .eudÓ1srrt
G.p)X oluEzrllqo .9.9 xsNns^ll
(+'-)x (+'z)x
G't)x
+
6
6
(t'u't)x
e
6
(o'ra)x
(t'z)x e6 (o'z)x (r'r)x (-6 (o'r)x
66 ś_e
66
.dzcn1ą BIp 99 zvro qcdue.tror;dzs€z .Ąro1s{ał T ^\9}Iq qcdu,uef ,ł\9ł$Iołn1peddzrd ,tt, .{łlg 79 :łroBbrc rc9oBn1p Ł. sflo nura1sds rtu€Ic9 BIp ru.'(u1o1st rurfudpe1 .ggq ..drnp1n.r1s.. po qosods uop€z ^\ vtuezbvyrzot o8al tqcec bulo8ezczg
l
1
.ous€ł1rt. n{€}B
ouo
izalez eru ez 'o1
1sa[ o8e.nosruorduro>1
';7 clTser{o ecqc t r(r)xa : fi etzp8 ,fi, zBto z ntuepetsod rrt .' Bzcnl{ (o8eueuzaru) Łcourod ez 1se[ re>1s6 córł' {€J tll''fueli'ol1(zsez lua1s{ał nur rudcŁfeper,uodpo t urdu.uęl rue1s1e1 afnuodsdp :Y4s6 n{e1€ ull{ts1 .u az .durfruruodfzt1.rudułref olcgło} ruduerqdrvl eu o8e1redo n1e1e n1ped.{z"td ryr azvrorcóruręd eruB8urdłr I o.lr\os€zc etue8eurdru. eu np31Bzrrr. ez udll -ostruo.rduro1 ulaluęzblntzor ectp3q arcglepod o.Ą\g{olc duazsrdo olr-,Izpfol Iuf1 M
nsrruo"rduroą
eq9;d - arno1eó1ured erue8etuf.m € ońAos€zJ erue8eurf^Ą .9.t
68
"'slAOrCarWVd VTNVCVW^/y\ V SIAOSVZC VTNVCVW^1A
'9'E
3. STA]VDARD SZYFROWANIA DANYCH _ DES
90
takze funkcji red,ukcjź.B, skracającej ciąg 64.bitowy do 56 bitów. (.rĘ może na przykład po prostu odrzucać 8 bitów). Niech r będzie ustalonym ciągiem tekstu jawnego o długości64. okreśImy funkcję s(Ko) : R(e6,(t)) dla danego ciągu bitów 1(o o długości56. Jak widać, funkcja g przekształca ciągi 56-bitowe na
ciągi 56-bitowe. Na etapie wstępnym oskar wybiera rn losowych ciągów bitów o długości56; nazwijmy je X(ź,0), 1 < i' śm. oskar oblicza X(i,,j) dla 1 śj śt zgodnie zza\eznościąrekurencyjnąX(ź,j): g(X(i,j-1))' 1< ź < m, 1śj śt,jak to widać na rysunku 3.6. Następnie oskar buduje tablicę par T : (X(ź,t),x(?'0)) uporządkowanych ze względu na pierwszą współrzędną (a więc przechowywana jest tylko pierwsza i ostatnia kolumna rnacierzy X). W pewnym momencie oskar zdobywa tekst zaszyfrowany y , któty odpowiada
r
(jak poprzednio) . Znów jego zadanie polega na ustaleniu klucza. Ma stwierdzić, czy 1{ występuje w pierwszych ź kolumnach macietzy X, a|e będzie przeglądał tylko tablicę T. Załóżmy, ze K : X(i,t -j) dla pewnego j, takiego że 1 ś7 śó (a więc zakładamy, ze K występuje w pierwszych ź kolumnach rnacietzy X). Widać wówczas, że gi (K) : X(i,t), gdzie g3 oznacza funkcję otrzymanąprzez j-krotną iterację funkcji g, Zatsłazmy teraz, ze
wybranemu tekstowi jawnemu
si6) : gi-r(g(K)) : gi-r(R(er<("))) : gj-'(R(a)). Przypuśćmy, że obliczyliśmy yi dla 1 <
j
< t z następującej zaleznościrekuren-
cyjnej:
afu), rJ I ls(ui-r). 9?-\
|
\u,
,
Wynikastąd, że 9i
:
gdv j : L, sdY 2
: X(i,t_j). Jednakżerówność aj : X(i',t) _ X(i,t j), gdyż funkcja R nie jest różnowartościo-
X(i,,t), jeśIiK
nie zapewnia równości K : jej dziedzina rna 264 elementy, podczas gdy zbiór wartości ma ich 256' a więc średnioprzeciwobraz dowolnego ciągu 56-bitowe8o ma2ć :256 elementów. Tak więc, aby przekonać się, czy X(i,t- j) jest rzeczywiście kluczem, musimy sprawdzić, czy y: ex,,t_j)(r). Nie zachowaliśmy wartości X(i,t - j), a|e możemy ją łatwo odtworuyć na podstawie znajomości X(ź,0), wykonując t _ j tazy iterację
wa:
funkcji 9. Działanie oskara jest opisane algorytmem zamieszczonym na rysunku 3.7. Analizując prawdopodobieństwo zakończenia algorytmu sukcesem, można wykazać,że jeślimt2 = N :256,toprawdopodobieństwotego' że K : X(ź,t- j) 0,8 wynika z faktu, zel\czby dla pewnych i, j, wynosi przyjąć rn = t x N|/3 i zbv x([,il nie muszą być ńz funkcji redukcji R. Związane dować około l{1/3 tablic,
.%r9z o,go,7 : buęuz az 9u9z l 0u07 ou frctuzgt brcsoperu' teuzcfl1errrds e Wol .qcdue.uo4,{zsuz.Ą\o+$Iol urt qc..{c -rrtet ,{1s1e1 ełrp ge.tr'{r1edzot 'tulatzpÓq 193o e5 -tteperlłodpo tuzc.'(r1eurds tcruzor z qc,,(urrlel,ru,p1sąe1 qc91f'p ([ecbtezcb1,t.łl f.ttd1 -eure11e) feuzcfr1euds dctuzgr erugułlo"rod ęptsł{tsz €^\ocluzoJ ez11eueo1ddry .(a"] druece.r,ł\po alu az n8Łrc .SsC ,za1 due,uor;fzsez o4v| uyu7 v urd.uopunr-u f.utzelllntsZ) ueur1dro81e }$Iał .9T .furvre! > t, Icso}J€,ł\ 1sąe1 o>1et 0ar07 cts.łńot4er1 durerzp3q erc9ąe1uo1 tudł ,ĄĄ t1cl|uzol e1p .punr u op duozctuer8o ggq ,tulu7ea'zoł,|e4t'tii. drugt1rzprer.tłS ł€f .(dzrpueo1ddrą ep ęIuozcauz euo Łlęur aru) Qu1or.łrpo feru op tfce1nuued z zęuń' .>1e1e nlezpor o3e1 9rzpełrordezrd 41 brlło>11Łzcod ólce1nurred ceqparuez 'K'uaozoul .erue,uoso}stsz n'1 [1ze1euz aI9PI (,{łsdluod arrtorvr.e1spod zere1.druazstdg
dqy
.}nulul n41ą n8ttc rrr rud1stq .ezsleruur -oso ezre1nduoł €u cr-uIęłz tsuzoIu ggq r;dzs drvropunr.3 pe1>1dzrd e5 .n>1peddz.rd .łvr. sac{ns rsoudzrd .5gq ngdzs 1se[ erue.t.lor;.'tzs punr eqzcq dp8 o8arvropunr-g1 .o3e1>1d,uz ts|uęuJęłz nqosods o8euzcd1r1erd euo ezcre1sop oru ?oqc .ru,{u.ttę[ ruol$Ioł ruduerqd.rrt z Ąę2a o1 łSof ...Q.&rocluzol Łzqeueo1ddtn,, buenz n{€l€ 3po1eul bueuz stzp olu}al^\s r1e.troce.rdo fiuI€qS I ur€qlg
.ggq
ure1sds tsu
€^ĄoJIu?gJ
ezr1eueo1df,'x .9.t
.1ruudzc d1e1s e1se"rzrvr nu1dro81e n8arqezrd sezc duełrr1ozco 9 | v o oą1d1 nlualupó18z.ltn od 1emeu az.atlzu>1.t'tt ęzqtsu€ e*o1o8ezczs
1Yl9{oJ{ rfcezr1ee.r ns€zc
larzpreg .(tnn)o npÓzr 1se[ nur1d.ro81e nBerqazrd stszc o} .(Ęzerod órs bzcuo>1 €Iuts..v\Dlnzsod qdzc) duoru1eds dp8ru 1sat aru t n{oJ{ .ryr duesrdo {aunJę.1( II9of .o3eureutq tsIu€.ry\Dlnzsozrd Łcoruod vz (ul'8o1)p ersezc łr (n1peddzrd rudzsroB -teu .u) qn1 (eruenozseq tcotuod ez) rud1e1s ersezc (ur,,{ueru'tąozco) 1*r t )IoJ}I c€.rl\ .ozsllłletd o4 .nu1dro8lts €Iu€ł€Izp .ozIIęaJz stszc cluoco ferupnr1 ocet11 tsu?ou . ( ru ) o npózr 1se I qcdzcrvrełro1 oB Az td uozcllqo sęzc oz, c izę rnr.ęz o.Ąttts?
.(^qrlq z .qcd1r.uo>Iłtsc qzcł t/zN .Z 7e.uoqcezrd durts gg epzu4l1ct.t91>1 elnurlez o1 rc3rured nJ€ItuzoJ ecbzcf1op erue8erud.u urd1 z
-nlu ?€^Ąeluod)
^qrlq t/eN.ZII
sgo
/lĄ
b1có1rrred I ulosezc fzpórrrr srruo.rdtuo;4
IInb (!
-
.f.8 xgNrrs^u
(!D6 : I+tft 7aĄqo G _ ł,g)x : y tluttlzld ueq1 (r) G_ł,l)x2 - fi, 11 ó
rfce.ralr
1!c>1un1
+) bcourod w (0'?)X z (t - +'t)y zcqqo uotłłp o8eu,uod €Ip (?.?)x :|nI op ? oł 1:[ lo1 @)a : rn zc\qo
(s) (s)
(r) (e)
(z)
(r)
VIAOCINZOE VZI'IV NVOIdAAX'
I6
9' T
3. S?ANDARD SZYFROWANIA DANYCH _ DES
92
tozwazaniach będziemy zawsze stosować primy (,) do oznaczania rózricy symetrycznej dwóch ciągów bitów.
W naszych
DEFINICJA 3.1 Niech Si będzie określonym S-blokiem
(1 < j < 8). Rozważmy (uporządkowaną) powiedzmy (B parę ciągów 6-bitowych, j, B;).Wówczas B j @ B; nazwiemy wejśc,iowq róźnicq sEmetrycznq, a S1(B1) o sj(B;) wyjściowq różnicq symetrycznq (bloku 53). Zauwazmy, że wejściowa róznica symetryczna jest ciągiem 6-bitowym, podczas gdy wyjściowa tóznica symetryczna jest ciągiem 4-bitowym.
DEFINICJA
3.2
jest zbiorem wszystkich par uporządkowanych Bi e (Z,2)6, ^(Bi) róznicąsymetryczną jest Bi. (Bj,B;), których wejściową
DIa dowolnego
Łatwo zalważyć, że kazdy ze zbiorów
^(B):
{(Bi,Bj
@
B,)
:
^(B,,) Bi € @,)u).
rna 26
:
64 pary oraz
Dla każdej pa
|tczyć wyjściową różnicę symew formie tablicy. otrzymujemy tryczną bloku 24 : 16 możliwych wartości. 64 wyjściowe rozkładów. tych niejednostajność ataku będzie Podstawą
Przykład
3.1
Przypuśćmy,ze zajrnlĄemy się pierwszym S-blokiem' symetryczną 110100. Wówczas A(110100)
:
{(000000, 110100), (000001, 110101),
..
Si, i
wejściową tóznicą
\ ., (111111,001011)}.
DIa każdej pary uporządkowanej ze zbioru A(110100) obliczamy wyjściową 1110 tóznicę symetryczną bloku Sr. Na przykład, s1(000000) Erc oraz ,5r(110100) : 9ro : 1001. Zatem wyjściowąróznicą symetryczną pary (000000, 110100) jest 0111. Po wykonaniu tego działania na każdej z 64 pat zbioru A ( 1 10100) otrzymamy następujący rozkład wyjściowych róznic symetrycznych:
.|^9'Ip feuzcr(.r1eurds
Is l |a
lc9ou€1(
dcruzol
fe.trorcsfdrrt cso}Jts,Ą\ z9.ro 8
t|tnęuz ez .31trrrqc
}f) t
,f, o8eu.ted e1p
zaztd [ulz91pZ.*E t *g z Aullqorz eruqopod L8[Lrgrtrvrt,rótIr : r
t
agzgsgsgvgtgT,glg: g agLgsgsgvgtgzglg : g
:qcfrvroltq-g
.g Kpzeą tulazslde7 az rvroątupe1ns rvro8trc nrurso rfcęua}e>poł lc€łsod 1,\ f I E .(,tzepz e.rvl'orcsl'ttt ectuzgr zuuzc.t.t1eulds po trcgou,ued qclu 9oqc) ezcn1ą łr91tq .911ser1pod oucour nł olJtsł\ tza1vz olu euzcdJlaurds ecruzor tsł!olc9|a..W ez
po
.*gaE:(f
o.A)O(f Og): *gaI
-S nllugo qc t{l s.{zs.ł\ ocŁ tndótseu c.{zcr1qo ze Ia1 ęuzoLu ( ^g'Iolq .olzpunJ e1p) Łuzcdr1eu,ts 3cruz9r t.uorc9ta,16 !et-? ,n EzDnI{ /'t,g+Iq z Óts epe1ąs p'r-?A vror.uaztozszo.r 1se[ (r-rU)S - g arzp?'f A g: {7 Ictslsod ?X : :
f .,{tulruurodfrzl4 Łlęr.uetod alzpunJ |et-p lv'ł\g{olq-S e1p erworc9fa,t\ au€p az .ere1nduoą ?couod Bf cęN' (,lrgp€łĄzolZIgc,tzcl1qo:ulrel+ęz €u?otu.euzcf,'t1 npnJ} zoq r;lfzovl oJ9pI -^
órs
-ocllq€ts
-eur.,ts ectuzgr errtorcgfełr a..vtllzolu 79 tleru1sr
'\\o.rolqz eIsI1r.luozczsalul€z Ic9olJ€,Ą&
}so|
8.t
z 3rs epe1ąs 1.g erzpe11dzrd
ł\g{olq-S nltu9o z o!ep7e4 e1q
'(fc'oororr)Wr
vN.v(Z) > lc ,C7.00I0II)W
n>1unsdr .lu.
duerr.tocllq1?}s
p€łłzoJ ez,futvell'r.e7
'vtg eurló.gt
,łed' Bu clqzoJ Quzc,(r1eur.{s ócluzol (b',v,orc9ta.t) EIu Bpzvl{ qcdrglł z 7l(!p,!,d!n ,buzcfłąal:l.f,s Ócruzo.r ua+ J.IqZ,(,lc,!,d,^Il nJoIqZ ez ce1,|zcpo ęuzoul "'zovl bryrorcs|,{.tr tuo19eqo ecttep t Łuzcdr1auds óctuzor Łrvl.orcs[e.u Łueze1s,tr acŁleu n{olq-S e1p euzcdr1eurds ecruzor e^rworcgffrlł, leuzcdr1eruds's'dcruzor fervrorcgfe.tr o dred ezup (!,9,|,a)!t,I
.dred e1 a.ueg
qcd.Ig}>I
,,,a
.|p €u,ł\oJ }sa!
Wió,
'Klc ",d
I
n
I:
(ic'
t,a)!
71
zęJo
{!,c: (a e ta)ts a (!g)ts : n(zz) ra} :druelnrugep |p
qcd,r.r'o1rq
:
(!,c'ta)!nt
-v \ !,g 'uo8brc qcd,ta.o1rq-9 r-Ip zęJo 8 > f > I €Io
8'8
VfCrNrdSO
.€Iuts.Ąltsłs..rlod qcr nqosods oz)I€l e .,uopu14 -zor qcduerudzr1o nsrdo op truper.trrodpo ólce1ou .{rurzpenord'rł' dpo8dlł e1q 'qcfuzcd.rleurds ctuzor
,bts
azg{o ol qc.{łrotcstd.tt qcdrvr'r1zotu qcr>11sdzsrrl %O8 gL olupoJ9 afndó1sd,tt az .tig buzc(4aurds Ócruzgl t.trorcgle.u zero !S {oIq-S durrp1sn l9et 19Bo e1q .fu[t1s .qcduzcd.r1aru,{s -oupeferu ecosdryr 1set pe1ązor n1peddzrd ul'tu1oflazczs uI,(} M cluzgJ qcd.uorcsldrrl qcd.ttqzoru 9I z rualso oą1d1 etndÓ1sd,t' 1.g erzpe11,{zrd 16
VIAOCTNZQA
t6
VA'MVOT4IAX'.
I'
{
I
t
3. STANDARD SZYFROWANIA DANYCH,_ DES
94
Wynik r6znicy
Możliwe argumenty weiściowe
svmetrvcznej 0000
00001 1,0011
0001
1
1,011 110,011111
101010,101011,110111,111011
0010
000100,000101,001 1 10,010001 010010,010100,011010,01 1011 100000,100101,0101 10,101 1 10 101111,1 10000,110001,11 1010
0011
000001,000010,010101,100001 1 10101,110110
0100
010011,1001
11
0101
0110 000000,001000,001 101,0101 1 1 011000,01 1 101,10001 1,101001
0111
10100,111001,111100 001001,001 100,011001,101101 101 100,1
1000
111000,1 11 101
1001
1010 101
1
1
100
1
101
11
0001 10,010000,010110,01
1100
100010,100100,101000,110010
10
000111,001010,00101
1111
1,
110011
111110,111111
RYsuNpx 3.8. Możliwe argumenty wejściowe dla wejściowej różnicy symetrycznej z 110100 czyli
Cj : Si(Bi) O sj(B;). Wówczas musi być spełniony walunek
EiaJieIN|(E;,C;), gdzie E'j : Ei C Ei.
Zdefiniujmy zbiót testi w sposób następujący:
DEFINICJA 3.4 Niech .Ei i E,l bu6* ciągami 6-bitowymi i
niech
Cj będzie ciągiem 4-bitowym.
Definiujemy
E;,C) : {Bi gdzie Ei : Ei @ Ei. testi(E1,
O
Ei : Bi e IN1(E|,C;)},
uII qcdcŁl€ptsI.łrodpo I qc,|tu.&€[ lYigł$Ial d.I€d po 'tluoluzc :qcduB.Ąto4dzs€z ^Ą9}s{oł -tsZ .sg61 4dzs drrrr'opuu-t €u urdu.uel ulo}$Iał uduerqdn' z n{tsl€ .ł\ elu€^Ąosołs -Ęz ?vo1euz Ł8our n1erzpzorpod o8etupezrdod z d1s..(urod 4et ,zen1 duzr1edo4
ggg .r;fzs dałopunł-g Bu >IBłY .T.9.8 .I1
1^
€zcnlł ł\9łlq?9ołJ€^\
,.1óqzcq f,cb|erclnez.>1ruzct1 uepaf etupep1op Ł.urzprvrerd 1ełro1uezerder uo arzp3q 'uapal
o 3rs ezs1Ór,trz od az.Ólerzpeu carur dza1e5 fivlerzpteuz {a|9Jł ? nlu€p€qazJd ,pIlgJł l?se+ azlo|qz łr 3rs Łfeurrelod ezcn1>1 e1p teuep {IuzJII IrIIIJ' z fuęzbtnrz .Ir łr ł\9łIqnlcsazs €Ip IJ9o1(ITzoTu d1tq erupar,todpo dp8 ,tJ'Ioz"-l uldp?€.{ tsZ
.ał'o>1ruzct1 vg .dzrctcetl eruendrudzr1n 1se| /\|oqosods oz 79 Łtn1uezerdal oJ9}{ rudupe1. .Ir .tt €zcnl{ łt9łTqIc9o}Jelrl- ?^zcBuzi.tr o4qdzs ,|ulazotn.[ocór.tr {o|gJł Iłcp{tsł cŁ|e6 .zv,lgrcIqz qc91[\p qcd1 teu19dsrrr. rc93zc rrr 3rs 9ervropleuz rsnru Tf
?9o1JB^\
tszcnp1 ,trołIq IcgolJelr qcd.ur1zovJ r?se? r9rqz r8nrp B1slłrdzcozg .Ir .Ic,łg^\(Ig. e{[oJł Ęe1 tBnrp rlc,tzodsdp op dureur r1sep
9eul,|zl1o '&lluozoul
I
'{rroorr'T00I0I'T0I00r'It000T'r0Trt0'TIr0I0'I000r0'tti000}
:
:
(roIT 'totoTT 'rooooo)rlsal
ptls '{oroorr'000t0I'00t00t'0T000I'00IIT0'0rT0I0'0000I0'0rr000}
:
: .',
(TOII.OOIOII)WI
,l
I
I
.durefnąsolu.&
az 8.t n{uns -h 7 .npIIĄ,tro8trc 8 alup€ł{op rso! (I0II .I0T0TI .'ooooo) ''""? ozrolqz,l.r. cÓu.r ,g: (tgtt'00T0TT)TlI due141 'I0II: jpzerc I0I0IT: JA'100000: rE qDaTN
.l
6'g peyry,tzt4
T.8
-zot lącfizsz1.nyod z
gINgzolIEI^Ą.L
r.,aapl|1ry uIoI{soIu..(I urtuparsodzaq 1so| eluozp JaI.*ł ""t '(!,C'!,A)Wt nrorqz euzc.t'ąeuds ectuzor durezrerq .orrtopŁ18od ctrłt91,11
ua1uouala udpze4 7
lg
UIAOCINZ?E VZrtV NVOL4,\AX'. 9'I
96
3. STANDARD SZYFROWANIA DANYCH - DES
96
LyRO, LóRó, LgRg
i LiRi. Moźlemy zapisać
'R3 w sposób następujący:
Rs:Lzaf(R2,K3) :,BrOf(Rr,Ks)
:
Lo
a f (Ro, Kt)
@ f (R2, K3).
Podobnie można wyrazić rĘ$' stąd
RL:
Lo
O.f(fio,1(.)e f (Ró,Kt) a f (Rz,l(3)o f (Rź,Kz),
Zał'ozrny teraz, ze wybraliśmy teksty jawne tak' by Rg
:
Ilfi, a więc
R6:00...0. Wówczas f (Ro,
R;:
K) :
j (Ró,K1) i w konsekwencji
LoO t(Rz,1{3) O l(Rź,Ks).
otóz tetaz znamy Rź, gdyż możemy je obliczyć na szyfrowanych, i znamy takze L,o, gdyż rrrozerny je tekstów jawnych. To oznacza, ze rnozerny obliczyć nanla f (Rr,Kz)
podstawie dwóch tekstów za-
obliczyć na podstawie dwóch f (R,, Ks) a f
(Ri, K3) z rów-
a f (R;,t{z): RLa Lo.
Da|ej, f (R2,xz) :P(C) oraz f (Rź,Ks): P(C-)' gdzie C i C* oznaczają, odpowiednio, dwa ciągi wyjściowe ośmiu S-bloków (przypomnijmy, ze P jest ustaloną i publicznie znaną permutacją). Stąd
P(c) o P(c.)
:
RLa Lo
i w rezultacie
C,:C@C*:P_'('ęiO'6)
(3.1)
To jest wyjściowa róznica symetryczna
Znarny takze R2 : Lz i Ri : l,$ (st frowanych), możemy więc obliczyć
E:
E(trs)
otaz
E.:E(LI),
(3.3)
korzystając z publicznie znanej funkcji rozszerzenia E. To są dane wejściowe dla S-bloków w trzeciej rundzie. Znamy zatem tetaz E, E* oraz C| d|a trzeciej rundy i podobnie jak w poprzednim podrozdziale możemy zbudować zbioty ćest1,,..,test3 możIiwych wartości bitów kllczaw Ą,., ',J3.
a.&\OICS[O \
.OTIOIOIOIIIIIOOOOOIIIOOTOOIIIOOT
:,C
8btc 1se[ n{olq-S huzcfl1eults Łcruzor t.tłorcgfd.u dp8 sezcpod .OIOIOIOIOOOTOIOOIIIIIIOIOIIIIOIOOIOTOIIOOIOTOOOT 0I I0TTII0100000010I0I0000010I I I IITI
T
I
T0T00000I0T
: *fl :,g
:n{olq-S e1p e.,rtorcgfełt ouep ecblndÓ1seu durelnrudzr1o dred ler8nrp 7 .TTTOOTTOITOTTOIOTOTTTOIOOITOIOOI
:(I.g) erueurrrot
z
l
:,'
Aulvzc11qo DIoIq-s buzc.t4evttts ócruzgr brtorcsld16
'01001010000000I0I0I0000000I
I0T0I01000000I
IIII
T0I
00I T0000000I0T I00000000T0I I I00000I I I I I I000000000 :auo
auep (g'g)
o}o .(.{punr [etcaz:1 e1p)
(z s) g€u.łIoJ Łcourod ez
fiulvzct1,|'ryr'
vv6ac€,z8z3vf IgJ0 cc9cgg8zJZ8Ttv80 LgttgZCV916Ll7el 0tLcov9as98zvJ9?
sc709E0960v0998f 0TJ60v8090€0fc80 fue.ttor;dzsez
tsła}
: .A :,g
.ło.9>1o1q-g
dred |ezsntrctd 7
98CSJgT0Z786V9Zr
98CEC8ToVO8M9t TSJJOCV9JTgOS9ZT TtJCCCVgZ0T I 6987
f60r 978t799LVLgt
1
I
f60T 9ź88oceo98bL ,{uł.e[ 1sąe1
:o3eupudcepes{alł nsrdęz drrrolfzn .n1u1e1 ce1sod Łzs1or1 9erudzr1o dqy
.€zcnl{ o8eures o3e1 Łcourod ez euerrror;dzs,euzcfs1eulds ecruzgr euo19en1o Q[eu ,tlllzo1e7 eurrrel ,.t1sąe1 lqcduer*or;fzsęz l qcdurlł'el 1rrio?$1o} lt'rcd ,|zt1 dureur ez
g'g pe74.tzt4
'uepe1>1dzrd o1 dru lrupn1t2
3 qcdcbtnąerq erueru1edd.rrł' rcso.tłqzov] g9Z: 8Z qcpIFdzs^l aruvr1nzsezrd ecŁfndrazcd.r.r zezldod cu>1sfizn arudÓ1seu erzp3q ęuzouu tszcnl{ ,'Y\ołIq gq eq1sdzs16 .fpunr lercazr1 €Ip tsZcnP1 .ty 37 duqe1sn qcdJg}{ errvre1spod .,c,^gTIq ..tło>1ruzcr1 druefnPng dzrarceu uretso {a|9Jł I{cI{€ł n1errvr dueldzn *x,fl .nru1dro81e oBe1 arzpo1opnesd rrt srdo 3rs efnpleuz 6.9 nąunsdr e51 .11l9łlq
eu
n{€}ts
M
.rgfzs f,rir,opun.r-g gu fairocruzgJ
5gq
(,C,lS
(92)S:
9u:
0u erzp8
t
TBłY .6.8 yaNns,tg
rg)!1sa? zcIlqo
*E zvro
opSo+I:proJ
(82)S: E
el .!g!7 zęro tat7 ,9,a9l (0210?
(r) zcrlqo (z)
e9211r_'d- tc zc\qo (r) :o1r\olcgfełl
aueq
VZI'MVOT4IAX'9'8
UIAOCLNZ?A
L6
3. S'IANDARD SZYFROWANIA DANYCH DES
98
Dane wejściowe dla S-bloków otrzymane z trzeciej pary Są następujące:
E: .8.
:
111011110001010100000110100011110110100101011111 00000101
11
101001 10100010101
1111
1010101 1000000100,
a tóznica Symetryczna S-bloku: C/
:
11010101011101011101101100101011.
Dalej umieszczarny w tablicach wartości ośmiumacierzy licznlków dla każdej z ttzech par. Dla ilustracji prześIedźrnytę procedurę na przykł.adzie macierzy liczników dla Jr i pierwszej pary. DIa tej pary mamy E/ : 101111 oraz C, : 1001.
Ponadto
ILr1(101111, 1001)
:
{000000,000111, 101000, 101111}.
Z równości Er :000000 wynika, że
:
J1 e tesĄ(O00000, 101111, 1001)
{000000,000111, 101000, 101111}.
Tak więc zwiększamy wartości 0, 7, 40 i 47 w macierzy liczników dla Jr. Poniżej pokazujemy ostateczne tablice. Jeśliuznamy ciągi 6-bitowe za binarne reprezentacje liczb całkowitych z ptzedziaŁ,l' od 0 do 63, to 64 wartości odpowiadają zapisom liczb 0, 1, . . . 63. oto macierze liczników: '
J1
1000010100000000 0000011000011000 0100010010000003 0000000000000001
Jz
0001030010010000 0 0 2 0 0 0 0 0 010 010 0000010010100010 0011000010102000
0
0
3
0000110000000010 0003000000000011 0 2 0 0 0 0 0 0 0 0 0 0110 0000001000001000 Ją
310 0 0 0 0 0 0 0 22 0000110000001011 1110100001110010 0000110000000021
0 0 0
0
0
ITOOOIi LIILIII 0ZŻ0000 00i00ŻT 0ŻI0ŻI0 TOOOITO ?tsłsod Eu]
X
e1p dzcnplpod 'uelsez BT g[zrolll+po .{ruououl 'dpun-r lercaz.r1
T00I0T0 IOIIOOO
zcnl),{.Ezcllł ł\g}lq
pu zurol cbztle1
: :
I 100T0
: 8f : if
ITT000
'1000tI
II1000: ef 000II0: qf 000000
Df
8f
T01000: uf
tITT0I: :8f
'' ' '(r1 ,{uefnudzrlo
Tf
'ur.{ureulq olrua}
.6v,L,L,vz.O,6I,g,2p l7cenulnu o e|cfrzod -sds lvr all^\o{łBc dqzcq a1 cŁtnsrde7 .8f . . . . (I1 .oruper.46'odpo .o1 €zcnlł f,yqbtezceuzf'lrl- r.l,oĄtuz4l qcd} etc'tzo4 b5 ^\ ..(udpef uepet 1set .Ąl-ołIuzcll fzlelcvlll nlulso z lapzeł M .t lcso}I€ł\ o {IuzcII
0000000 IOIOOIO 0000000 0000000
0 n
0
I
T
0
0
I
T T
Z
0
0
e 0
0 0 0 0
0
T
0
0
0 0
0 0
0
T
0
0 0 0 0
0 0
0 0 0 0
0 0 0 T
0
0 0 0
0
I T
I
0
0 0
0
0 0 0 0
T
0 0 0
0 0 0 0
0
00r000080 r00000000 000000000 000000000 An -t
0
0 0 0
0 0 0 0
0 0 0
Lf
0 0 0
c
I
0 0 0 0
T
0 e
0
z 0 0
T
0 0 0
0 0 0
I
0
0 0 0 0
I
0 0 0
I
T
I
T
0 0
I
T
T
I 0
0 Z
0 Z
0 0 0
0
0 0 T
0
0 0 0 0
0 0 0 0
T
0 0
I
s1,
0
0 0
I
T
0 0 0
0 0 0 0
0 0
c 0
ea -t
0 0 0
I
0 0 0 0
0 0 Z
0
0
0 0 0
e
0 0
0
0 0 0 0
0 0
0 0
j
vIAOCtNZgE VZ(IV NVOLIIEX'
66
g'.
t
I
J
3. STANDARD SZYFROWANIA DANYCH _ DES
100
PominęIiśmy tu bity parzystości' a znak zapytania ,,?'' zastępuje nieznany bit khrcza. Kompletnym kluczem (w systemie heksadecymalnyrn, łącznie z bitami parzystości) jest ciąg 74624C89520DEC46.
I
3.6.2. Atak na 6-rundowy szyfr DES opiszemy tetaz, jakrozszerzyć poprzednie rozwazania, by uzyskać metodę probabilistycznego ataku na 6-rundowy szyfr DES. Pomysł polega przede wszystkim na umiejętnym doborze pa,ry tekstów jawnych z okreśIonąróżnicą symetryczną, aby następnie wyznaczyć prawdopodobieństwa odpowiedniego ciągu tóznic symetrycznych powstających w kolejnych rundach szyfrowania. Musimy teraz zdefiniować pewne ważne pojęcie.
DEFINICJA
3.5
Niech n ż I będzie liczbą całkowitą. Mianem n_rundowej charakterystgk,i określimy listę postaci L'o, R!r, L'r,
R!,pt,
...,
L'n, R!r,pn,
spełniającą następujące warunki:
(I) L,o:Ri_, dla1śzśn. < n otaz zał'ózrny, ze Li_1, Rt_t i Lł_,, Rł_, są tak dobrane' ' : L,t_t oraz Ri_1 O Rł_' -- Ri_'. Przypuśćmyponadto, a Lł-, ze Li,Ri otaz Lf,,'/?i są obliczane w jednej rundzie szyfrowania. Wówczas prawdopodobieństwo tego, ze L,ia Lł : L,l oraz Ria Ri : Ę|,
(2) Niech 1 < ze Li_1
jest równe h. (Zatlwazmy, ze prawdopodobieństwo jest liczone względem wszystkich możliwych 48.wyrazowych ciągów J : Jt.. . Ja). Praud,opodob,ieństwem charakterystyki nazywamy iloczyn
p:
pI . ....Pn.
Przypuśćmy, że wybieramy Lo,'Bg i ,Lfi, rĘfi tak, by tro e Ló: L,o o,a, : Ró, Po czym stosujemy n-rundowy szyfr DES, otrzymuj 4c Ll, . . . , Ln i rRr,...,t'. Nie możemy wówczas twierdzić, że prawdopodobieństwo tego, ze LąaLł: L;i Rta Rł: RIdla wszystkich (1 <, śn)jest równe Pl.....Pn, ' Kl.,. ' . , Kn nie są wzajemnie nieponieważ 48-bitowe ciągi w układzie podkluczy
UwAGA Ro O /?ó
za|ezne' (Gdyby owe n ciągów 48-bitowych było wybieranych niezależnie' twierdzenie byłoby prawdziwe). Mimo to możemy się spodziewać, że |iczba Pl . . . . .Pn
będzie stosunkowo dobrze ptzyblizać rzeczywiste prawdopodobieństwo. Musimy także zalwazyć, ze prawdopodobieństwa pi występujące w charakterystyce są okreśIone względem dowolnej (choć ustalonej) pary tekstów jawnych,
.9u : atcsr.tdzcg .vglil rua.t1sr;erqopod dueur azswęz c9ou../roJ \l ,|7 z n?b:c o3e1buzc,|l1aruds ócruzor ctl -oprrrerd z \g euu?elndłt druetnrudzt1o -tszclTqo eToozsosoo
ffiffiffiffi,ffi fuęur .4 cŁtnso15 .vglvr
:1ffir]:
vslvt
durelnurdzrlg '(7I
ule.tr^qsgalqopodop.trerd
:
-
ula,4.\}slJalqopodoprvrerd z
00000000000000000000000000000III rno+tsz
z^p?)
trvrorcgtd,tl
:,C
(0III'00II00) IN ez 'e4ud.tll Vazcrlqo z
z OIII
erzpÓq I,s e1p tuzcdr1eurds Łctuzgr
dp8 sezcpod .tuzcd;1eruds bctuzol Łłr.orcgld.tt erzpóq 6696 8Łtc sg op .000000 8Łrc Łru pet arro4o1q-g qcd1e1sozod nrrupets z o8ap .00tI00 }sa| I,s e1p tuzcdr1eru,{s Łcruzor Łłrorcgfe.tr cólu >1e;
zs: po .ry\ołolq €Io
-?q
ts1p
}s€ruIol€u
'0' ' '00Ir00 8trc
1se[ uozlozszol qc91^p ląct1 buzc,tł1eruds bctuzog
,(,x,9a) t (Ix,ou){ nluazcllqo od dueuo>1,{rvr qef ! l otl oIuozl;azszol erzpóq .urer1orą rudzsrrr;er4 .11.g n>1unsd.r z Ó>1,{1sdre1{tsJ€qD eu letuzg.trn ńurzr1edo4
.9u
E.ł\Ąopun
vslvr:
J-T
er1r(1sf re1ąe
eT00280800:
d
eT00000009
:
JEqc BIIuI
ju
.
T T.
8
9t:Ia
-rI
x gNrr s.ł.tl
er00000009: ł7 eT00000000
9u
B1\ĄoPunJ-T a1l(1st(.ra1ąeJBqc .oT.8
t
eT00000000:
:
97
xgNns^ll
eroooooooo erulo.,vrop
92r
:
T,?
: !7
l I
'II't
1
n{uns^r
{
ęu ?€pI'Ą\ Ł,uopun.r-1 Óąd1sd"re11ereqc Łuu1 .(lau1erudcepesr1aq rfce1ueze.rda"r dru -r-nfzn otupezrdod ł€|) sso '(.tropunr-g Bu n{€}€ órwe1spod tsłI1v\ouełs €J91ł .ó>1d1sdrap1ereqc Ł.ttopunr-1 :pe11dzrd d1so.rd dueze4od }so!
0I.t n1unsdr e5
.oruper.ttodpo .ud, (Id uIoIc9o}J€.Ą\ eIłsITq Łs ecd1s l -d.re1ąereqc ,tr rrudueze1s.tt rurduzcd.r1eruds rtuęcruzgJ z ę,|utsItior;dzs qcepunr u .u ,tatzpeu ru' (tuzcfr1aru qcduzcd;1eurds cruzor rcgoupoBz €.Ąó'lsqalqopodoprvrerd az -ds Ócruzo.r Qrupar.tlodpo ŁltsIu oJ91{ .qcd1 p9r9'łr) o,ł\osol ou.trę| d1s4e1 1ererq,{.t
uo erzpSg 'zcnp1 (dueuzeru coqc) fuolelsn cdzrorvr'1po etnqgrd >1d1qeueo1ddrr1 zcorl 'Icso.Ą\I|?ou gv1, e141sdzsrvr eBerqezrd ggq Łcotuod ęz erue.trt.or;dzs etzpunr ,buzc.t.t1allufs ócruzor Łuo19eqo qcdcŁleu |eupa| .& Bzcnl{ ]K9łIq 87 ulizc ltzld v,MocrNZQE
IOT
V
ZTMVOT4AAX'
9'
I
3. S"ANDARD SZYFROWANIA DANYCH - DES
r02
: ti : tri : trl : tó
: 0400000010 ti :0000000010 ti : 0400000010 Ri : 40080000r0 R6
40080000ro 0400000010 0000000010
04000000r0
p: rl4
P:I p:714
RYsuNEK 3.12. Charakterystyka 3-rundowa Atak na 6-rundowy szyfr DES jest oparty na 3-rundowej charakterystyce przedstawionej na rysunku 3.12. Rozpoczniemy 6-rundowy atak, mając LoR'o, ptzy czym teksty javlne są wybrane tak, by 16 : 40080000ro LóRó, L6R6 i 'a.Bó, Ciąg R6 możemy przedstawić w sposób następujący: i R6 :0400000016.
Ra: Lsol(Rs'1{o) : Rąę l(Rs,Ka) : Lsa f (Rs,Ką) o /(ts'1{o). Podobnie można wyrazić rĘfi i w rezultacie otrzymujemy
RL: LLO.f(ta, xą)O f (Ri,Kn)
O,f(,Bs,l(6) O f
(Rś,Ka).
(3.4)
(Zwróćmy uwagę na podobieństwo do ataku 3-rundowego). Znamy rBi. Na podstawie charakterystyki szacujemy, ze L', : 0400000010 i RL:40080000ro z prawdopodobieństwem 1/16. Jeślitakjest w rzeczywistości, to za pomocą funkcji tozszelzerlia można obIiczyć wejściową róznicę symetryczną dla S-bloków w czwartej rundzie: 001000000000000001010000
..
.0.
Wszystkie wejścioweróznice symetryczne dla bloków Sz, Ss, Sa, Sz oraz,S8 są równe 000000, zatem dla wszystkich tych pięciu bloków wyjściową różnicą symetryczną w czwartej rundzie jest ciąg 0000. oznacza to, ze wyjściowe róznice symetryczne w szóstej rundzie dla tych pięciu bloków firczemy obliczyć z równania (3.4). Załóżmy więc, ze obliczamy
clcLcLcLc',sc',|c+cL
: P-' (RA o 0400000016)'
gdziekazde Ci jest ciągiem 4-bitowym. Wówczas z prawdopodobieństwem 1/16 ciągi C|2, C,u, C,u, C,? i CL będą wyjściowymi różnicami symetrycznymi w szóstej rundzie d]a bloków Sz, Ss, Sa, Sz oraz 53. Z ob|\czeń wynika, że wejściowymi różnicami symetrycznymi dla tych S-bloków w szóstej rundzie będą E2, Es, Ea, E7 i Eg oraz E$, Eł, Eć, EĘ i E$, gdzie
E1E2E3EaE1E6E7E3: E(fis)
:
E(tr0)
oTaz
EIE;EiEtrEiEćEłEó: E(Ę) : E('ó)
fursqrzpe.rrtordez.rd bt91n,ot,uomo"t,77! z[co"t'ado laru z [acŁ[e1rudlł' r rlcerruesqo [e1s -ord [a1 plelzq .29.6 o1o1o oułroJ 1se| !7sa7.|t1\oJotqz p9J9łl o8e1snd nloTqz o8eupef lerurufeu oc óts eruar.t'elod orrr1syerqopodop.uerd vIa1.BZ.tt.0 = n(3.g) o>1et 9ełl fysa! 1|llgJolqz nrc3rd z uape? o?.o3e1 orrt1suerqopod -oc€zso €uzolu .d1snd 1sa[ "g -op/lleJd .9/t elu9gł'n au.łr\oJ ntuezr1qdzld.tr 1sat6 : (|c,t,a)w ez.oBo1o^llsyolq
-opodop.trerd 'lerusozc,"vt dursrleruuods,ra.
>1ef
'er8nrp od e 'l[paql
:
(iC'!,A)fAI
.ezsn'letd od e7 .urd1 ouoluptss€zn lts elepdrrt oI,ua?ołtsz aqea .9/1 ouliloJ nlu -azt1qltztd ,rł. 1se[ / o8euo1e1sn tsIP 0 : |!7sa7| az .o3e1 o't.t'1suarqopodoprrrerd ez ,gb$ztd etupŁszor durezotu .Óred bupó1q cŁleu z91g .brcd ŁupÓ1q z tsIuolu -[zc op dtueur Łrcgourrled z o+ ,0 : |!1sa| {8.f .9 ,g.7'} ) / ąer.tr1oąo8ar9ł4 tsIp llgaf .fcŁtnd31seu qgsods .ryr' óred Łup31q ce,rno>1gd1ueplz ęluzouJ o1sóz3 .urd.rrroso1 tuololqz olcołsl łr' arzpóq |7sa7 norc1qz ez .tpzvs1az .ce.trdruerutuop fize1eu l !,3 99o1rcn tuałerdodoru druo1s.,tzn .eupó1q erzp3q ered rt9a1' .|7sa7 azl -olqz ru' Órs Łpleuz !7 oBepzu>1tsIp tszcnl{ d1rq eu.trerdod o1 .dred leu.tterdod po tularuzcęz lgaf .8 L,g.g,z : t r.ilp (|c, Ia l tg)!4sał g'tzceuzf'n erud31seu [q,|"? duesrdo qosods n tp zerc Ig '!g nruozcrlqo eu e8alod etBelerls tiilfr.^, ,
-d.rrr
-ołł€rcqc terrropunr-g lezseu uapÓ18zrt eupó1q Qpóq dred e1e1sozod 1,ni*o1"., .dtuefn1ezc6 .eumgrdod dred ctrrł'oue1s ŁpÓq red qcq1sdzsn 9I/T ołołooz 'oup1yq 1se[ e1 etvd ez śdtuulrotu nąpedfzrd urdultrcazrd M .2i > ? > I o? qcq€ł .e qcr>11sfzs.u €1p iu : lg ę lg zelo ?,7 : h e !7 {ge| .r1d1sdra1>1ereqc uopó18zlł bumo"t,dod brud 1sa[ pg.Pz l .drurno;41 .9u oa : W e 0? qcalN zęIo e 9l 9'8 YTCINIJSO
0ar0? qcdu.Ąts!
.t.r91sr1e1
:
elęd ez
.epŁ18,{irn' o1
.ecŁfncerqo
eu
>1e[
9u
,vutelzpeuzaq
.3rs elnz >1e1 1se| etu efcen1ds ez .qcdu.lterdodatu
-e>lo oIts łsol 9I/9I t1af'rcryąz 1f,qz o1lrs e[epd,t.l' arp .qcduep aute1spod €u zcnPl du.ł.rerdod clltsłsn dq .o1 eu qgsods ?vo|tsuz vle1ez [ul -IsntrĄ .IcoTIug elł.oąpeddzrd eu oc .ezcn1ą d1rq eu e1d1 etu durger1 qord qcqpdzsrrr ,pzcvuzo oc .gIlI erudpel tsoudrrt tuzcdr1etuds Óctuz9r b,torcgf,{lu. ,łt 9I/9I ''\Ą oz tsIuaU€Jł o/l\}syalqopodopłterd az ,ul.{1, rrt 1odo1y .urdl.ropunr-t n{€łts łl dtu911q
-olz oI {E| łts} .8r ! Lr ,9r ,9r .zr 0€ cfizcęuzl|'u' dur9dquatcq3 ^e.zcr.lĄ,!ĄgłIq 'tI'g n{
-unsfr €u
?€pI^ó,
or ł3! .qcdue.tro.gfzs€z
ggq
łr.o+$Io1 errrre1spod
gz(zs rQtł'opun.I-g gu f,rrrocruzgJ
eu cdzcr1qo
tsuzotu
łBłY .8T.8 yeNns^ll
| g) | 7sa7 zcl1qo (|c, Ia oP {8'f 'g'g'2,} )f .rog (9z)s : +g zęlo (nz)s: g zcllqo (sTooooooro o 9u)r-d : tc zurqo erooooSoo7: 9z :a \olcsfean eueq ś
eToooooo7o
erzpB's*g!1 zvto
sEsI'kfPZ
:9a':
( ( 7,) ( T)
(0U0?
UIAOCrNZ?A VZrTVNVOrdIAnr'9'8
80r
3. STANDARD SZYFROWANIA DANYCH - DES
704
wyżej, mozemy wyeliminować około 2f 3 wszystkich błędnych par. Po filtrowa-
niu stosunek par poplawnych do wszystkich pozostałych par jest w przybliżeniu równy
1 , 15
ro --T--F
lo
1
J
Przykład 3.4
Zał'óżmy, że dysponujemy następuj ącą parą tekst jawny-tekst zaszyftowany:
tekst
jawny
tekst zaszyfrowany
86FA1C281F5 1D3BE 7E23ED7F2F553971 06F2IC2BLB5 1D3BE 296DE28687AC6340
Wówczas tr6 : 4008o00016 oraz l?6 : 0400o00016. obliczając d'ane wejściowe i wyjściowedla S-bloków w szóstej rundzie, otrzymujemy:
E; 2 Ę
6
7 8
111100 111101 01 1010 101111 111110
010010 111100 000101
C; 1
101
0101 10
0001 0010 1 100
101 100
1
101
Następnie wyznaczamy zbioty test
i
:
14, 15, 26, 30, 32, 33, 49, 52
7,24,36,41,54,59 34,35,49,49 Widzimy, że zblory test5 i test7 są puste, zatem para jest błędna i zostaje odrzucona w trakcie operacji
filtrowania.
I
Przypuśćmytetaz, że mamy parę, dla której |testi| > 0 dla j :2,5,6,7,8, taĘ, która przetrwa filtrowanie. (Rzeczjasna, nie umiemy stwierdztć, czy
a więc
jest to para poprawna czy błędna). Mówimy, ze para ta sugeruje 30-bitowy ciąg J2J5J6J7J3, jeśliJi € testi d|a j : 2,5,6,7,8. Liczba Sugerowanych ciągów jest równa
il
|tesĘ|'
jęt2,5,6,7,8}
,/
Nierzadko liczba sugerowanych ciągów bitów jest bardzo duża (np. większa {d. 80000).
:
?
I OI 9V
OZI OIZ
992 IEZ
08r
IIT
OI o 8
L 9
I
h
t z
.qcd.u.ołuoluala-2 ./(\grolqz Ic9o}Jts.Ą\ qcdcŁ tndÓ1s"eu e1p
qcdu1ezczsndop pu .{urelnurfzr1o qc,|u1v,zczsndop ,torolqz nlu€zcllqo dzr4 .urdu1eu.{cep€s{aq ,ryr. eurtręl d1s1e1 urr actfeper.uodpo arsrdez .ezcnp1 (o3 zero qcdue.uo ls.tzse,z łrgłs{ełdred a1 ouol1r\tsłspazrd Łs 1.g dcqqe1 6 .turduzc,{r1euds -a.troso1) oBauręs o3e1 Qcotuod ez ouemor;dzsez erudÓ1stsu oI9pI ruduo19er4o z qcdu.u.el rrr91s{o} red 961 Ó1q9rd tn,oso1 oue,toreue8d11 IIu€cIuzoJ
.b,uore1nduroą 3q9rd dursqrzpe.tlordezrd .ercglepod n1 euesrdo 9tzpmerds
,.(qy
g'g pep,kt1
.Ł1sord Łrrrerds
bcourod Ez
I
znl
1se[ o8eufdcuern>1ar nur1ńlo81e eurrrerd
llorolqz qcdu1ezczsndop qcr11sdzsl& alu€.Ą&opnqZ.EzcI|IĄd1rq
-od oą1d1 certore8ns dq189tu dr914 ..ł'91ueule1e 91/pg (nruazqqdz.rd .ti) o8actteu nJolqz o8eu1ezczsndop €{ualułsl cerrrerzpods u]o+ęf Órs duazotr41 .du1ezczsndop .1 ) z oBapzu4 e1p eulrerdod 1se[ ered tsł-? II9or .|7| euł.9r 1set 1sef 7 r9rqz o}
tu3 eupózr1odsrrr eupef feruuleu oc
{8.f
.9 ,g.7'}
)t
tsJoł{a,łl
oBepzv4 €Ip II9o| ,fi,uyozczsndop
.łJ
.8,L.g,g,z
: [ a| - 1 dpc >?>I rya| 1 ez.durtłtoul durlr.nzeu r tr;d ezczsal qcdlepozod z lep4v1 e1p ,{rople,Lt' eqel fuzr9,t4n '(nr1e1e urd,nopunr-g dzrd ,,(urgqerrrdzn taJg1>l ',ttoTuzcrl dzrercetu rcels -od ,u. e[ct1uozeldet oc .oul€s oł olcolsl rrr cÓr.u o1 1set) 0 €u1d9J pal eupÓzr1gds,tl e1-e ru1peddzrd urdułrtceztd nt ,,[7sa7 lrc1qz op ,{za1eu t, óqzcq dcb|n1uazerder 8Łrc drrto1rq-g tl9a! .1 €ułtol 1sa[ (t9 > p > 0 Ep) uupÓzq9ds.,rt. e1-e udr9p1 lrt .,ug}Iq 79 rc9o3n1p o fu erop1a,ra' rce1sod .Ą\ c€^Ąopo{tsz f,'d(tevoruJ |7sa7 rct.qz lp .zę,>4.I|safc nur1droB1e c3rirn, durelfzn.ouzcórodetu r leruu oSecŁleEeudrt ęcslerur qcduerl.rore8ns qcrą1sdzs.tr ńcqqe1 łr aruesrdv2 dqo1dq A91Iq .{^1.....T}
.^1
aclal.^,1t
^\9BŁrc .(bqnp ozpJtscł tqzcq 1sa[ oc) ogZ ze 1sa[ Ic9o.Ą\Ilzou e.o.łł.oso1 alzpesez rw cgtrrł'elod euo Órs tpóq ze.t.retuod.fetzpez: oznp cerlrr,odÓ1sdłr, duut.t.t'od
eurlł.erdodetu 1Bb1g',|zet
1I|NE
facÓtrrr faruur
o3
I'.utlfzcl1
-od lurduel.r,ore8ns ruer8Łrc erzpóq a1z1s7s7z1, Ebrc du,ugrdod d.ręd feu,u,p.rdod .€Iu€.Ąor11g rfceredo nąrudlro, ne ouocnzJpo ,{1epoz olu aJoł{ ,ted 71 z |epzg,t
€Io
euerudzr1o
,rir,91rq
rBŁrc euerrł.ora8ns a141sdzs'rł' 9tsł\ocllq€łs durecqc ez,[utz91e7
VIAOCTNZ?E VZITV NVOT4IAX' 9't
90r
3. STANDARD SZYFROWANIADANYCH DES
106
T.a.sLrcA. 3.1. I(ryptoanaliza 6-rundowego szyfru DES Tekst jawny 6FA1C2B1F51D3BE c5F21C2B1B5l-D3BE
29 6DE2B68'7 AC6
9468A0BE00166155
3D6A906A556 6D0BF
Para Poprawna? 8
f
EDC43 98C93 5E1ACD ADCC3 9EC97 5E1ACD
J
D460A0BE04166155 D4FF2B18A5A8AAC8 9 4F7 2BISALABAAC B O9DOF2CF2'I7AF5 4F
4 -5
49D8F2CF23 7AF54F cBcT L5't240D415DF 8BCFI57 2Ą4D4 1 5DF
6 '7
0D4A1E84890981C1
8
6cE682A988194835
4D427E848D0
9 8
1C1
2CEEB2A9BC19483
5
Tekst zaszvfrowanv
1E2 3ED7F2F5
5 3
97 1 340
0F8478FE90466588 93884839F3744408
3BC38236398379E1
268]-47 38C255 6BA4
15753FDE86575A8F 15751F4F11308114
6 04 6A7c8 63F0 6 6AF 7FCDC300FB9698E5
52278sDD7E4?D43A E7C0B01E32557558 972c6341A69DF295 7
5D5
2
E02 8A5C4 8A3
6c88603B4BE5A8CE A6DA3 2288F2444E5
99F63c3c9322cIA 97 63c3cD322cIA 6 6 3 4AA9DF 183 07F4 l-B356458381EDF48 1F9LE295D5590918
9
7
39
t0
5B3 E64 5E3C1EDF4
I
85CA13F5 OB4ADBB9
c5c2 13F50F4ADBB9
tz
7
3 96BA8EFD55BC4A1 7BCFF7BCA45 5E6 5E
l3
3BCTFTBCAO 5 5E6 5E 0c5 05CEDB4 9921,8C
l4
4c585CEDB0992I8C
l5 ló
6c5EAo
**
5
6CDC9 1A1 4
2c56A056c9c91A14
c03 33c994AFF1C99 80383C994EFF 1C99
9878297 4F00E1A6E
)8
DE7329't 4F40E1A6E CF592 897BFD7 OCTE 8F512 897BBD7 0C7E
l9
3F4
0
5F4A3E254'7]-4
8c7143997L5A33BA c3 44c73cc97E4Ac4
47 5A2D0459BCCE52 8E9 43 3 4AEF3 5 9EF8
D3C56239E89CC076 9A3 16E8 01EE18EBlBC7EBA15 9BCA94E6 67DB93 5C2 1FF1A8D
6622A441_A0D3241m
262AA441,A4D324I5
t7
4 3
1381
9 2
5F5B54Bc
6A4CF1c0 22IB1,I D22B42D81,5 0E2CE8 112D286D9606E6FE 2277 A9].F8C427D21 FBB 92859E7DCE?EC D4
c3288765E1CC6653
8976cF19124A9FA1 905BF24188509FA6
20
A97ECF1
9 1
64A9FA1
5c0969687363675D
2l
1c0 16 9 6E77 6 3 67 5D AB 1 4 5AB3C1B2C7DE EB 1C5AB3C5B2 CTDE 47DF6A0BB11 87 ]-59
zz 23
24
96 3A8EF.D1 5BC4A1
9 4FC 1 2C02C1 7CA ED1O8EE7397DDEOA
D0
ł
07D7 6A0BB51871,59
7C86546432 9B4E6D 3CEE54543 69B4E6D
gADDBAOC2
3 DD7
24F
92D60E5C71801A99 DD90 908A4FE8 16 8F F6 8FC9F80 5 64847B 5
1c04 185
7 1
1B8 13 2
52E36C4CA22EA5A2 3 7
3EAFD5
O
3F6 8DE4
832A9D7032015D9F 85E2cE6 6 551 LE99c
**
VZLIL$ABSjALTBJE 9oBLa9ssZe8JJLT6
*
0c97EZElT00EE66L ECe97EoosZ76J609 0Z8o0v9c8T0v9d6S EcE9tt60aZV6?602 oJ9SZJZe9v00J0,{6 0 0so9 6V8 Z 0.{CeOI T s88eLEsTVc L68v sc7s0 0v's s 0.{E' 0
Ls
sG8 LEI9vszs8JŁ ŁTo
zd
0 8
ZOZSVO9
00 t
99(J69gLz0.{a6
0
T
€v
LE
sgcTv€Io
ŁETo
t
lsłal
vE9
LB0
tb
0t 6t.
0s'{EIś'zas6z
vEEvEd9 6J6
8r_
9E
9[
ie I
[t zt ]t
6Z
t*
s8svc€8Źdzo6scE', Zgtvs88trJ9as806
6 Ls
6ov9a'ilzt
AuA\el
0f
0 Ez s
0
**
Zs7vs8JtLC9A9800 90JJ89tT98V69898
9o.{.łB9eT9EV6EBsJ ** LVST
9n 9n bn
ffi 7ł,
oVJTVZZv6E908,{CE
Ja9t8osvszoE0E0Z
3s9€8oJvszoE8e09 ?29006To86S87t9c tZSo069086Cr8Jt96
vsst80'scsJZs969
LT
qJ tvgs I
vesvsdz6J6
c0 8svJvo
vJv.{vz I ta6s9ovs
9
AuB/t\oJJAzsez
8t
L'
00go95s8zo.{c€IoT9
0CS9 Ss8 So6 ZIVJCE
EtsLTJssJZ6)S'v
ssooa6 s.{aŁazząuE 0Dss ggJso6 zTccJJ s6g9JJo0z0Y06T€a s9t€ogs76IcEVscs sJEOS 6 0 0 9 t E6 9S90 99 LElATi6IJEZSCV
cas ta7s6 9E Luzz1s zzln L8TI9E8J6d6 0 ccT 9ssJocsSc0 8 9 z zzln L8sI9E8JTJ6 p Vtsso'B9B9.ą6lzJ0 60999szsvc L96s6s snsIgnv L?,ss.ztz.gc 6 0 9 s 9I9svJL9 T s 6J ovJrvZ9V6 ESOoCCT cT I
Btt8saJ9080E89Z6 6LJET8stŁT9nt'z09 0'908'c.{s90z8Y0T ,{0cJasT0to8GZJJ8 8TC9J90TLZooTJJT
ETTcovs6sJJ€€9J'
E 6 TOE 0a9 T 0 SZ89nS 609J9 6qEV7 EOTvS0 J9 tC9svtS 8s?0 0 ZJ 609J9 6 6 Ev7 Eo6vS t 6.{VVCECVS T I S LJJt rZSZ9tSt 60 LnZJa6
\rVJ009g9TJJoź0Ts TzszgEuE60L'vJclo 0v69gs677Js8E9CB C8,{9077sO899St80 sc'8ssv0c9Z€9ET8 c8.{9070soa99aL8v *+ EEEET BOJTOB,TVVI? T 9SOEgO 8Y9(l9 L6 Lg as88T86JTo8JJ?T0 8gJac'TE7Jl60Lzą ** t9J0sazJT08tJT9S 6oJtoetcTz90ts9E vzsoETJJV96JTSAS 60J'OEoJTZ90Js9L **
JvoŁvszoYJtTBJJ9 ZTETo9T8ocv6t88Z 9LJs'sL0TJ66oT?J zTETo998acv6s8B9 ł(* 6TOTSJSJVBEBqTOZ 9OSOOCEY'JgVJJ6E
oJŁs0vg9tr98Eg9z'd 90s00cLv7c9VLJ6V ** tsEa66v9z38EIETV EJETorr90sSZVTtSE 98tJE0Z6A89totJo BJST0SZ0S9ZVCESV *
zza6z6 8
sSEvcEcrJZo6tot0
et7zeET900JZovat 96e6EToe0gYo'ges 0,r979SSS76 EeCn0I JOBttv6JET69SEJC T9JCVL9StJU Ltc9Z 6t89Evc0Eo6sss6t
sJt.{?v,{s ELT9AEBT tvsT6tT60v9sLIZ] Łs9
lsłeJ
lłz LZ
9z 9Z
ćBu1Y\?Jood BJBd
.pc
T.g
vcrTsvJ
VIAOCTNZ?E VZTTVNVOTi^Ay',9'8
LOI
3. S'IANDARD SZYFROWANIA DANYCH
108
TABLICA 3.1 cd.
Para Poprawna?
Tekst
jawny
49
50FB0723D7CD1081
)U
7408 15A4F6CDCABB 3 4OO15A4F2CDCABB
1
0F3 07
2
3D3CD10
8 1
EDA46A1AE93735DC
-51
ADAC6A1AED3
)l
6
6FDOD3 1EA4E6 8AB 6191_AA5 948 91CF5
46111AA590891CF5
5EA7EFD557 946962 1EAFEFD553 946962
4IFB77 04't B1CC88A 0 1F3 7 7 04 7C1cC8 8A
57
59
9689B9123F7Cs431 123B7C543I 6F25032B4A3098F8
Ó0
D8C4BO 2D8E8BF1E9
ó
F66 3E8CCEE868058
67
42
63
04BE2D22D8 1EDC66 44B62D22DC lEDC 6 6 66'1817 91,23A3EF80 26'.137'7 9L2't A3EF8 0
58
D68 1B9
2F2DO32B4E3 O9BFE 9
65
6ó 67
8ccB02D8A8BF1E9
B56BE8CCEA86805B 882 9BFDFAS
3
8DB
O28329BFDBA838DB
64 'ł<*
BC86D401D65't2438
FC8ED4 0 1D2 512438 6FE5E954'7 6 5 98401 2FE.DE.95472 5 9840 1 27D3BAC645 3BE3DE
67DBBAC6413BE3DE
68 ó9 70
'll tz
111
2A5 1B7E5 47 6A
D6BC4B8 9CED2DEAC 4D464847 065C093 8 7554D87AEDCE5 6 34
0
56
3D04cE9 4D6
0
9BBAD8F23L2 D6F5 OD3 1EE4E68AB 9
55
92
5F817FoABC'77 1E't5 DFB5F3F500BC0100 B7B9FED8AC9 3 BBFA
8BC3 987
E7 462
54
5
0B3
5DC
7 3
6B2Ct28 48843981 62B2eI28 A7 4E2 9BBA9 8F23L2 o
53
Tekst zaszyfrowany 16AF758395EA3A7D cDcB2 3 3 92D144BED 4A84D2ED4D93 51AB
1D86487 642A7 02 3A 5D8E4E7 546A7 02 3A
5256cA6894707CBA
1258CA6890707CBA c053 83B8EFCD2BD7
8O5B83B8EBCD2BD7 50882 1CA13F9A96E 1 0E3 2 1CA17F9A9 6E 6OEBL229ACD9 OEDC 20E'31,229A8D90EDC
A2B35287F922E8DA
6 49C1D0 I 4F920F9E BE12A10384365E19 15E664293F4D77EE
823396A758DC9CE6 8ABD3 85C441FD6CE 06DE8D55777A865C EI8631,20'742099BB
1AF8 8A2CF6 649A4A
48FE5oDE77 4288D7 4795069L260D5810 F34D565E6AE85683
A4D2DB5486 22A888 5 1BD62C9DsDOFOBB D2ABBO3CF9D2 6COA 006D62A65'7 610 89F 9FD7 3EF6 1 2 4B0C1 1
26D99536D9985707
94 144EBDAOCDEB55 5D0 9CBF2CE7E5A6 9 5EFFSBFCATBAAl 52
80557 2AAA5F6C37'7 3c67 0Bc45 5 1_44F6L 2c45 5BF6F52F864C
B?lD106444F95F31 8F160E29000461cD 2A6660F46487F885
5F9 lEEBFDSA9CO 5 84761791B3C36651 9]-52'7F93 49ABCF15 3 0F2 8F06A7B0A3 5A 6
710B5EC61BF63E9C 5
3AC0
2
6D9 5BA4DE4C8
2
9D880 17 9D5
5CF
8FO1A9OF63 BAFFF6
3890EE8567182F96 EE404DF7BE537589
_
DES
E
09CZSvtrs.?, E6CIa6d
0 t8t
ooTa7a908 E)t0z'79
0
ZJ8 rJ8 e J,{?CCA6
8go6VEJo9sJ9T9€8
ao8z60 LLEw 9JD9 6
Jsog EJJJ ts8
8V900 Toa3s z
t
L0vV0
ooTe'szo8ect.9zgz
*ł.
jgJZSiSSEZ E6 Ss6q 8l833T L6
JvL6soT
8
gsTC0SO
tqqr6Z 6
0JssJavg 6 z LC
E60TYJTCOAAZ
9SJJT zoŁ
sqvt\zz
8
ZY7v0v0vz tzJt zs
9
tVB?ts7s BJV6 EJ0
6vg9o8v8,!Io8
LL
0cs7T gJJeT t 6 8Es
{ume[
1s4aa
ió
('6
*
€6
*+
** *d.
8 Zvtvosovz EzTt-z'r ToJcLvZq.{gz9sg'V
l6 06 ó8
ToJcŁV9q'{aZ9t.s'vg' t
7€vE77,{7sBJVTEc? 98 T 6 0
eg.{vss€vsva?8€.
Lu
Es8s6JYL0t, Lt8z
J0VBtzovJtEcssJa I€ JVE9Lvgvo?OeLt t'c€J€
zJs
ovv?
s
lsłeJ
96
s6
T
6o6vJBoTEZ9o'Jg? JVL6ao0TBLBBDTLc ** oJ6s66SZEoL8ZS08 0ss08tt78JsLeELL
9lązvv8rv96s8o?s osgO8'ł'8JsLsELe s6tEssu?0t9J'JSZ LVo068EoAdSstt90
vLZgosOaoV6JEJ06 tVO068tosOSEJt9t 6e9EJsT98lStrcot 0TTt98B8t9t9s9st J9Js.{6CZtsTBS8s0 0TTtSBJ8?9t9E9st t9s0edog89csoJ8E t00?tSTVSTeSsZTe EvoTLB8aJEsJz9o€ D00żt89vE7t99zlL J6
csg3sqzJ6 690JJ0
c€IJv'Tss Lo' zJ8 0 0 vcTg9 Z'l9 E E.{Vo.{o z
88
zvE8.{6J98900L7vJ 0€.6zL68E0L0JtEs6 0t 6z L63t 0 L0cstaq T 6 6JOT z T
Tsg6Elosv6oE9TOos 9
L8
+*
Vet9 LCIatt STggGS SBT606es9OBv0,{oJ ** Z9II0eLs6c6098JJ T99V0JJJtzsE€T7J z6JzILatssg?8zsz T99vO.{8JŁzatgTv8 -0 E9JTovov]ąIYZ7 O 7 BJs zJ0 0Vv9EEoa sJlo.{v6ssOTcTdZg ' e'szzg6sa9?E8eT'6 ELTss€IoJ8D)zazj L '0E9JT6v0v0o6vz0 vszr0sgccs0ss,{78 zszzZ6vq9vESsTTo s 9 T sgJJTJ8 73ss 9 9 T vJEaJY6 Łc9e8sEIs u9LLsI6t'9t'?oEV6a T 8T66ssz88gscc I€IT sT00'T9ots6w9J00 sz€'JEEIJa6LJ9EO€ SsZJSJvEsoZagO00 sZeBI6qSaZ,88os38 sz LECVaaS' S 80t t 0 s7 ss809Jte9rzE)6
azc LZl066z
6a
Et
aozgL8 LaIIot
?JJLVTT€vosT6tTŁ o'zcLzlniizLvvtJL ż98EozTEJs66q€v? ctcavTs€tTcs'EJ6 V8?JTg960st9ToJs JtcEVTTE€TcsJEJo VaGYT€Ig9
ł.
98 S8
?8 €8
z8
08
**
l8
!i*
6L
** ** **
sVJJts66vt99gLIv 9oJs'TTJ.JzTŁT8aT *+ v19vgLgŹZ0Eq8 z7 0 t T 8 8 6c9 0 8 ooJoJEIz c€T0ssJTs.{ovs86V tT886JZ08ooJscs9 z96s9€8gJo9ggvLEI 66setT.{LTo Llz6gc oJEoEtz9Et6t3S88 66SEtTstToLTY6sS
aeu/r\€Jclod
.Pc
8L LL
9L 9L VL CI
€Ied
vcrTsvJ
T'g
-o:;,(zsez
vl ocrNZQa vztTvNvordLEx
60r
'9't
3. STANDARD SZYFROWANIADANYCH DES
110
TABLTcA 3.1 cd. Tekst jawny 1EB8ADAA4 3BBDs7 5 5EBOADAA47BBD57 5
Para Poprawna? 91 96 99
3164AA5454D9F991
716cAA5450D9F991 D7
8C1C5C6F 2243D2
841C5C682243D2 BBE2I2A7D3CE3D14 97
100
02
FBEAl 2A7D7CE3D1 4DDA1 ODD2
IUJ
1
14D6EFEEEB4 14D5AFEEEB4
EOBEDT82
AOB6D782 104
r05 106
t07 tott ru9
4
r0491'7'7 95E98D0FB 5 04 1 177 9 5A9 8D0FB
oAE 15
5
8
8
5BFOA7 7
1BFOA77
5FA1'7
r62L4
4AE9555FA51162]-4
465'7c267 90FcB3 54 065FC26't 9 FCB3 54 3 2BD7 1 980DC1B0 9 1
'72857 L9BO9C1B091
92F8C8C73A9BFE 4 9 9AF8C8C3 3A9BFE 0 2c3F0 6 1A2 3 TBBEB 42CBFO61A637BBEB 09
8 085 2 985 9EDE682'7 c0ED2 9E6 9ADE582'7
B55E84630067B8D5
ll l2 l3
ll4
ll5 1Ó
|7
F55684630467B8D5
4932EBC603BFF2 4132EBC203BFF2 c4c 5E14D4c5D9FF5 84cDE14D48 5D9FF5 15668A2 1F2 64'7EI1 5 5 5EBA21F6 54'7Erg 2D093D426D922F92 2'7 6'7
6D013D42 69 922F92 0 04 5 1 84 6 8E0c9 6c3 404D1 846 8A0c9 6C3
437870A98AE03344 0373?0A98E803344
2D01F1073D3E3758 6D0 9F1 07
IE
l\)
ttu
3 9
3E3
7
5B
66573DD7E0D7F110 265F3DD784D7F110 0846DB9538155201
484ED8953C1ss201
ABB34FC19 5C82 0D1
EBBB4FCl 91C82
0D1
Tekst zaszyfrowany 21A1E04813 6L6842
DO44BA3F2 5DFDO2A 93
82c6c1
8
83 F1 03 8
5CDFED4FF2 117DEC 1CCEBO91E03 0E6A6 4DA2CD57CC 449B2]2917 c20'784D9 3E0D AO1D5 OE5A2B9O2DB
40916A71385C2803
413FD2 68F61 rF46D
2E2:65E1D5CBAC3 1 6FFo3BC09 13ED6
A1
5D9EFEFFOAD].0
49O
4c5cA1FAC3 6A8E5B 3 7 840oBCED3 9EB81
A1E0C75 8BD89L2c2 5BBBAOT 9B2E'7E,D2O DA9
O
82
7AEED7A4 1F
F34'7'tC'7 552BCB0 5D
EFF444 44 9D6 6BE9E 9F3FFD0F15 8295F6 c13835BDCECC8FC7 AC2 BB03 0712'7EA'tC 3 FFlDAED9EOPCBC5 1DF 1DB7 B6 6BA].AF
1
15?00151A5804549
8832161LFF9DA4f1_ O 64 9D? EACF9 1F9A A62B23A'7 348E2C3A
9
EB750A09C7FF5153
ABC2312FBFD94DF5 D2BB5954E5062D53 A241ED988457 CB7 8
5E99F23100sF5249
5DF62 03 0B9F2 3AE9
5D92DA1FA3DO 7BA1 5FF7E84F3 8F
F2 8D8
52541B0443053C57
4B3 FBF9 I 2 3B4CF7 14EBEC7 9DAD3 O93E
0
F10B3El,EE3 56226C
of r z oUA)j1J J z)BÓ z F.2F26204C2 9FE5 1E 08 3A4ECE57E42 9AC
F120D0D2AE788057 0occ914A3 3 0341 82 5F17AE066B5 0FC81 2I 5
8DD6 3A2FA4B5 3
.punr -vI ,-?](-g1 (qc.{uirłe!.t91qa1 qcduerqd.t.r v,Z r.?evl['n dł'opunr-g r;dzg ezĄę+ PJuzout fa,rnocruzgr dzqeueo1d..tr1 Łpo1e6 oIqzcIT [ezs>1ór,rł, o Sgo c€^Ąo{ts}€ .fzqeueo1d{.rą dpe1ądz.rd euu1 .t.9.8
n
|arnoc.ru79"r
.rurdu.uerdod rtugręd ..nudlwt1zoul., 2y z futgl1v1sozod urc+ęz
",e'.ln^o'11g nsecord oIcł€J} lt eupÓ1q tsz alIr.uzn d1e1soz 92 lvd 0u I qcdł p9r9od5 .nu€^\oJ}IU t|zld. auocnzrpo d1e5oz aJgł{ l eup31q Łs oz .dtuerrrł' qcdrpłł o .dręd ał * * Tulg'Ipzgrrvr8 .eurer.up ts (auA€Jdod dred * Ępzer.tr8 Łupet dut911[zcBuzęz .drrrsr1eturrrods^{ łtsf oluunloł tar$nrp 16 .red 961 er11sdzs^\ €Jal^r€z I.8 €cllqts}
'Itz99LjZVrLt1Tbe (rcso1sfzred TuItsłIq z o|uzcbł.urdu1euoBes1eq ersrdez B^AopIInJ.g
vlr: r-fl vlt:
d d
er1r( 1sr(
łr) zcnp1
:1e1 ept1S,,ttt
du1e1duroy
.re1ąeJBqc PuuI .7I.8 xgNns^t1
otgggg666g: !U.
eT00700000 : 1u eroooooooo: łtI
erooTooooo: 9tI
ot667g66gg eToooooooo
erooTooooo erSoooozoo
: : : :
I
!7
9?
]?
9?
.olug{nzsozJd ect fndrazcd.u' q-uzoul €zDnI{ 1ńgtlq ?euo4drrr
.eznpelu o.Ą\o{unsop 1se[ 78t9I : vlz Eqzc\I 71 qc.{łro tsIual€łsn nloc 1/t car.łł' .vr Ir z d1rq erctrvrouerru e .rrr91 oz{tsuPaf .^\9łIq y1 ezczset. uliowz ureu efnąerg I ,71.g .sd.r eu feuotru.e1spaz.rd .ecd1sdrep1ertqc -1q 61 qcduda1s"eu 9dzcqqo €uzolu fe.uopunr-g fauur o1órzq .tszcnl{ r'{lg}Iq 9q z gę cu>1sf,zn drrrazour bpo1eul Ł1 .red qcdurvrtrd .0T > ? > 9 tsIp n": (ć,) zaro zgz: (':') zdp8 -od z tteprlłod e.t.ro1ueuola-g olnlę,zczsndop drorqz (l1cazą zcotdo) er11sdzsiu 1uur -elu z€Io aĄo}uouola-g leruurleu oc aul€zczsndop drorqz ol{łs/tzsłl ez.fulzenrte7
II000I:8f 0I0I0I I00I00
: rf : er
'{gtt'zo't8'99'29'og'87'0t'62'vz} r9rqz pet urdł'o1ueurala-gT luaJolqz ut,|u1ezczsndop urdu{pe1.
III
U/Y\OCINZ
9E VZI'MV OIdIaX'
9'
I
3, STANDARD SZYFROWANIA DANYCH
r72
_
DES
i 16-rundowy DES
i
r,;.ozrra zł'amać, gdy dysponuje Się' odpowiednio' 224, 23I , 2zs 247 wybranymi tekstami jawnymi. Gdy liczba rund przekracza lO, atak jest,
jak dotąd, praktycznie niewykonalny. Wiele podstawieniowo-permutacyjnych szyfrów produktowych jest także (w różnym) stopniu podatnych na kryptoana|izę róznicową. Są wśród nich systemy kryptograficzne powstałe w ostatnich latach, jak na przykład FEAL, REDOC-II i LOKI.
3.7. Uwagi i bibliografia Smid i Branstad [SB92] napisali dobry artykuł o historii systemu DES. Publikacje Federalnych Standardów Ptzetwarzania Informacji (Federal Informat,ion Process'ing Standards, FIPS) poświęcone DES obejmują: opis DES [NBS77]' implementację i użytkowanie DES [NBS81], tryby działania DES [NBS80] oraz uwierzytelnianie komunikatów za polnocą DES [NBS85]. Niektóre własnościS-bloków badali Brickell' Moore i Purtill w [BMP87]. W [En93] można znaleźćopis układu scalonego DEC dla szyfru DES. Maszyna Wienera do przeszukiwania przestrzeni kIlczy został'a przedstawiona w ramach CRYPTO'93 [Wt9 ]. Rozważania na temat kompromisu między czasem a pamięcią w DES pochodzą z pracy Hellmana [Ho80]. ogólniejszy wariant takiego kompromisu przedstawili Fiat i Naor w [FN91].
Metodę kryptoanalizy różnicowej zawdzięczamy Bihamowi i Shamirowi |BS91] (pafuz takze [BS93ł] oraz ich książka [BS93], gdzie został'a omówiona również kryptoanaliza innych systemów). Przedstawione tu podejście do kryptoana|izy różnicowej opiera się w dużej mierze na [BS93]. Inną metodę, kryptoanalizę liniową, która może posłużyćdo ataku na DES i podobne systemy kryptografi.czne, zapToponował Matsui [Mł94, Mł94ł]. o innych systemach podstawieniowo-permutacyjnych mozna przeczytać w następujących źródłach:LUCIFER |Fo73] ; FEAL [MI91] ; REDOC-II [Cwg 1] oraz LOKI |BKPS90l.
ztżyciernklucza K. Przyjmijmy, że 9: pBg1",K) oraz g, : DES((c(t),c(K)), gdzie c(.) ozflacza dopełnienie argumentuT' Wykaz, że a, - c(y), (Inaczej mó. tCzyli ciąg, który powstaje z argumentu przez zarnianę 0 na 1 i 1 na 0 (przyp. tłum.)
fureru az ,itllz91e7.rudu.,ne[ aIJ9{a} ru..(uerq.{rrr eu o8ayedo nł€}€ EIp Łrc3rruęd t o lzpoqJ nluazDl.ł\c lufł M .9.t uilesaz) dzpÓrrn nsrruo.rduro1 oBauozczsordn alu€p€qz (z ,gdo
'gJc qnl gcg a1qfr1 't €u1Y\9J łsa| I ł. oue,tor;fzs erqfr1 qnl II9a[ 3g3 .1 eu.ł.r.gr 1sa[ o8aurrref n1s1e1 rrtg{olq qcdue1fzcpo Órs o1.,(qpo a1uerrtor;dzs .{pB aI? tsqz;;\ a4 ,qen(.11y.(lg'.ł'Po €u qnl 0 €u T ouolualluez qcetc&zod qcdr91>1eru eu |?n .fu;rpaIillrod .o3aue.tror;fzsez nls{al cÓrrrt e) eru.terdodaru ouęzęĄezld '.t.t'-o{olq z , . . . Ir uapel az .dur99ndfzr6 .un. . . In o3aue.u,or;fzsez n}s>lał tr1o1q cŁtnurf z:1o ur oSaulłef n1s{ał
nBŁrc eruełro.r;.{zs"ez oP
Sgo nr;fzs
o1,.(zn
ez ,,|tlz91v7
.9.g
^\-ołolq .3g3 erqdr1 jA I.7.t .d r* furst1fzro.łr1n leuetn,tzl1o 4e1 az .zeąd6 .(I_un))Ie rce1sod 'tr fr9}r1 .ufl z luleszo1 łsaf cYW .G 3yp11 dure19al{o aIJzsaJ^\ -, o>11d1 7n| 1sa[ o3aue.u,or;dzsez n1s4a1 ^\głolq oz ,dvlzelltnez) t_uń. . . lfi, cb[wsst|zl }o .gdc erq-,(r1 P-ZJI|IĄ Łcourod Ef u:t. . . ztr 'ł.r' X . . . Ir oBaIJ ,{urefnr;.{zs arudÓ1seN 'rz durrrgr n1 '{rrro11Łzcod .ro11a.til .,{uralnrugep uI .cgc .gg3 arq.{r1 r alq -.tleI n1s>1e1 A9łoIq n3b1c oBeuep €Ip az '{ulJsndfzr4 {er .7.8 -dr1 rrr ou.trorez 9ełrorauaB,tłr euzour (cvltt) ł\glallunulo{ etuetu1a1fzral^\n Poy
IJEOTJAOOSJTOACI EOTJAOTCCTOEJIOS
SJSOSJEOEJCTEJJI
SOA.{SOE.{JTSJJTAJ
TJTOICIOOSIOOETO IOIJIOICTOOAIOOI
,|zcn1nz
Órs Łtepe1>1s
:qcfulenp (ulfupuo8es4aq atstdez .tr) .,tred acŁfndó1seu e7 .7e4f16 (p)
.(lq fihlc bferu ggouse1n' Łuqopod) .''TTTI 8brc 1saf ? LtcI19 ngBblc Łuzcd.r1aurfshcluzgl 9T > ? > I €Ip.II .ze1f1.1 (c) o1 .(ur.,{ureurq erstdez nł) or...0I0I qnl T0''.I0T0 : op 19e| ez T.{TCIJIJ0g0g0g0g SOAOEOIOJTJTdTJT
gJgJECEJACEJSIEJ TOTOT OI OTOTOTOT O
:aupnpotu -es bs (urdupur.,(capesleq ersrdpz rrr auepod) ezcn1ł actlnd31seu az '?ts{f^t\ (q)
'.{ulenpoues
I J
1se[
z oq1e ,taz qcdures z oq1e 3rs €p€łłs a?ry1 oQ X zcI|IĄ o1 .4audpa[ qcfures,tez 0c łgal az ,z,v>1(1yl (e) qcfrues z oq1e Órs €P€PIs zero >1aufpa[ qcdrues z oq1e .ur.{upnp
uazcnlł urto,ts
1se[ 119a[
.r(upnpour
-es 1se[ zcn1y .(ru..(u.te[ ura1s>1a1 z luleszo1 1saf '{uerrror;dzsez +sĄo1 tu.{rnocr;o1 alcłaJa ,u. zdp8 .nrue.łroq..(zs rudu1or4n,tr.p iztd vuepbzodatu acosfltł' efcen1ds o1 pe1) .au1onp hs zX \ lX az)I|IĄ az .durrngtu o1 ,IXp erue,to4fzsap elcąun; oc tfc tues Ł1 1sat zxa erue,lłorJfzs e[c1un; az .epe11s 6rs ąe1 19e1 .(Łqos az Sgo
-1un;
|zX I rX az)r.1Ą 1>1npord n1sord od cÓr'la. fureur) ((r)Ixa)zxa : fr, furafnrugep ctteru :aluomoĘfizs auJan5lnnp rsa! SgG €Iualucotuz1ń rvrgosods az u,(upe1
elrrr'p
.g.g
.ę|uazc
-puz nI €Iu alu nure1sfs .tlgłIup€ł{s qc,{uur I ,Y\głoIq-S €JnłłnJ}s e1sr'u'dzcazr lggq .aBerrrn nrua1sds stdo ,.nulorzod o3ar>1osf.t.r.. fzeru1s'{,ra, nPo.ĄtroP op e7 99ll.1'.7,(oaeu .entot1l|zsez nls{al aluolu1adop .{urer1sfzl ,zcn141 duir.re| 1sąe1 cŁferu1edop .cŁrr*
eIUOzCtlxC
TII
3. S?ANDARD SZYFROWANIA DANYCH - DES
1.T4
System kryptograficzny, w którym P : C: nałą. Musi zatem być tak, że równość ex(r)
K i który zapewnia tajnośćdosko: eK,(I) pociąga za sobą równość
K : Kt. Niech P : Y : {a,,...'UN} i niech r będzie ustalonym tekstem jawnym. okreśImy funkcję g : Y + Y Łak, źe s(u) : .,(,).Zbudujmy na zbiorze wierzchołków Y graf skierowany G, w którym zbiór krawędzi składa się ze wszystkich skierowanych krawędzi postaci (u,,s(a,)) dla 1 ( i < N. (a) Udowodn1j, ze G jest sumą rozł'ączlych cykli skierowanych-
T
(b) Niech :rr'arrry
będzie parametrem określającym pożądany czas. Przypllśćrny, że zbiót 2 : {zt,...,z-} ! Y, taki że dla każdego elementu a,i' €Y
albo y; należy do cyklu o długościco najwyżej T, albo istnieje element zi f ył, taki ze odległośćmiędzy ll i zi w grafie G nie przekracza T. Wykaz, że istnieje zbiót Z, taki że ,N
lzl<;, (c)
awięc |Z| jest postaci o@lr). DIa każdego zi € Z określmy s-r(,) jako ten element ał', dla którego s,(uu1 : zi, gdzie 9T jest ?-krotną iteracją funkcji 9' Zbudujmy tablicę X złożonąz par lporządkowanych (" i, g_, Q i)), uporządkowaną ze względu na pierwsze współrzędne.
Rysunek 3.15 przedstawia opis w pseudokodzie algorytmu znajdowania u: ex(r)' Udowodnij, że algorytm ten znajduje l( w co najwyżej ? krokach. (Stąd kompromis między czasem i pamięcią jest rzędu o(N)).
k\lcza K, dla którego
(d)
opisz z użyciem pseudokodu algorytm budowania wymaganego zbiont Z o(NT) bez korzystan\a z rnacierzy rzędu N.
w czasie
(7) apo..: a (2) backup: false (3) while g(a) ł Upo", do (4) if y: 2 dla pewnego -.r (5) ,:s-'(zi) backup: true (6) (i
I
(8)
else
a:
K:a
j
and' not backup do
/\ g\a)
RysuNnx 3'15. I{omprornis między czasefil i parnięcią 3.7. oblicz prawdopodobieństwa Tt _ Ło16 tri :0000040010
tr! :0000000010 i :0000040010
następującej charakterystyki 3-rundowej:
: l?'r
:
0000040010 0000000010
E! :0000040010
El :
0020000810
^-2 IJ _'
P:? p:?
. (etuelł,rr1nzsazrd oBecŁlndJozcf^\ fu po1aur op efe1sozod) zcnp1 .(1ec zc{qg (")
l.Ą9łIq ?zalęuz €uzoTu aJ91{ 7T €Iual€łsn
IgoJgEgAYVZfCsCC ECGACJvva798f988 t606ECgr.Z9Z9SgoJ SCoEJCWZ?98f9ET 9aT T?.{su l.076żvsv tE69VSZ9JZ?StVE6
80c9s760su 68?cT8 TCTCZ806ee80009S T9TZaZ9S.LZCI6t,L8 .{388IvzT€T 9I zs8s
fue,tor;fzsez ezcn1>1 .{1rq vp|'.euz ,duetutot1.tzsez
.8 > ., > 7 e1p !7sa7
-e1spazrd nur1dro81e
o1fzl
-{€J€qc
a7sa7l
TJJTtfEEfS6oCCgS I.{JTS/Ee/86oCCSV
eeT600Loocg9fz89 EeT600fooog9/e8t 0v6c8s983CVS6t8e
0v6o8s98'cv€6'8T fuirłef 1s4e1
1s1a1
'81t"'17' 1s>1e1 fu,r.re[ 1s1e1 f.red auep cŁteyq (q) a? ,1ęĄfM.91.g nąuns.{r eu o8euor.l.r op ez,lulzo1v7 (e)
) tt
..
.Iz+saJ.trgJolqz €Iuozcllqo
er00000002:
I:d
eToooooooo
eu lauorłte1spazrd
eToooooooo:
: łu
j?
eToooooooz: 9?
:61'g
z
nlunsfr
urar1ped,{zrd ul'tu1oBazczs tacbpóq (rą..{1sdra1 .{rrropunr7 €u {€}€ flwocruzor ftuze'r.r'zog .g.g
tr1.'{1s.,(ral{€J€lłJ
fecŁfndÓ1seu ruarcdzn
5gq
Sgo
.rg/(zs rQu'opun"r-7
eu f,rir.octuzgJ łe}v .9.s xgNns^u
(C, IS(!g)!7sa7 zcrlqo
Gl)A: atzp? ,t*gl7 zęJo
*E zero
op8oł7:[ło1 ft) (rl)5.: g zulqo
(,A)r_a:pznlqo
eroooooooo: 9u I eroooooooz: 9? vav7,?a?1 ,oao7 :e,tł'orcs[e.u. eueq
9II
(7) (1)
eraoz)r.Lrc
System RSA i faktoryzacia
4.1. Wprowadzenie do kryptografii zklluczern publicznym
w rozwazanym do tej pory klasycznym modelu kryptografii Alicja i Bolek potajemnie wybierali k\ucz K, z którego wywodziły się reguły szyfrowania e7 i deszyfrowania drc.W systemach kryptograficznych, które dotąd rozważaliśmy,d1a jest albo taka sama jak reguła e11, a|bo da się łatwo z niej wyprowadz\ć (np. deszyfrowanie w szyfrze DES jest identyczne z szyftowaniem z odwróconym zestawem podkluczy). Systemy tego typu są znane jako systemy z kluczem prywatnyrn; cechują się tym, że ujawnienie e6 wystawia system na niebezpieczeństwo. Jedną z wad systemu z kluczem prywatnym jest to, ze zanim nastąpi przesłanie pierwszego tekstu zaszyftowanego, Alicja i Bolek muszą przekazać sobie klucz, używając do tego bezpiecznego kanału. W praktyce ]rroze się to okazać bardzo trudne do osiągnięcia. Jeśli,na przykład, Alicja i Bolek mieszkają daleko od siebie i postanawiają komunikować się Zapornocąpoczty elektronicznej, to mogą nie zna\eźć wystarczająco bezpiecznego kanału komunikacyjnego. Istotą systemów z kluczem publi'cznym jest możliwośćznalezienia takiego sys. temu kryptograficznego, w którym ustalenie dx dIa znanej reguły e6 jest obIiczeniowo niewykonalne. Jeślitak jest, to regułę szyfrowania rnozna ujawnić, choćby publikując ją w książce telefonicznej (stąd nazwa systemu z khrczern publicznym) . Za\etątakiego systemu jest to, że Alicja (lub ktokolwiek inny) mo. że wysłać zaszyftowany komunikat do Bolka (nie podając mu wcześniej klucza tajnego)' lzywając publicznej reguły szyfrowania e6, a Bolek będzie jedyną osobą, która potrafi odczytać tekst zaszyfrowany za pomocą swojej tajnej reguły deszyfrowania dx. Działanie systemu ilustruje następująca analogia. Wyobraźmy sobie, że Alicja zamyka jakiśprzedmiot w metalowym pudełku' zamykając je na kłódkę z szyfrem pozostawionąptzez Bolka. Wtedy Bolek będzie jedyną osobą, która może ten przedmiot wydostać z pudełka, ponieważ tylko on zr'a szyfr kłódki. Pomysł systemu zk|lczem publicznym pochodzi od Diffiego i Hellmana' którzy przedstawili go w 1976 roku. Pierwszymi realizatorami takiego systemu byli w L977 roku Rivest, Shamir i Adleman. Opracowali oni powszechnie znany
.uld.Ąó'ouelulolal.]lA
oIsPzJ
o8aJŁ|ełeIzp nulł{Jo8I€
^\ o8auPtsz dtueuz aru qc,{rppl e1p ..trgula1qo.rd bse1ą burazsqo Ł1,luroue1s eu1ednz-41q
.99ouse1'ra.
dua1qor4.
.(ełtoa zc9rd qcqłsdzsłt ep) BupnJł o^Ąoluozc Ęe1 eru elc{unJ dpc
.?n| drust1tzprat.u1g -TIqo 9dq ęuul1Y\od (ecŁfnr;dzsep 1(zc) €ułoJ,Ąó'po e|cąuq o? .€Iuozcllqo op ę/vt}€ ł 9dq euur.ta'od .ya €lcłunJ qdzc .er11og ectfnr;ńzs eicąuą1 aIuI€IuJoJoIu arcólod o1 dufnrugep7 . (uot,7cun{ fi'n m -auo "t'oopdo.t'T .8ue) ruercgtern uduzcoq z 1|c1un; larrroąunrerąoupel ercólod o3eu[,{c1eJ+sq€ op órs ge1o,rł'po 1sa[ erupo8,{lrn uduzcr1qnd ruezcn11 z irł'oure1sds nruer,tłetuo dzr4 .tu,(uzcqqnd ulozcnl{ z,rrr.oura1sds ołr1sgezcerdzaq a^loluazcqqo erudpe| 2epeq pŁ1po durarzpóq npo1rlod oBe1 7.ń n1s1e1 eruertor;.{zsap tuaDIIu -d,u 1set r ł${at s€zc.Ą{to6 .@)xa : ń o3er911 €IP .:' pąe1 du;(pel eu ger1 eru .
d1s>1a1 o..(Ilzou elłtsdzs^\ re1o1 od c€,∨dzs azouI Xe erue.tror;dzs I{gdop ,oB ó1n3a: Łuzcqqnd r ń due,uor;dzgvz +sĄo+ rtcdzodsdp op cŁletu .1ercefdzrdetw ez .elł'1suezcerdzoq o8a.ry\ołuu€1rtzoq cru,tredez auo Ł8ou olu dp8ru -a+ z o+ g{Iud6 :urduzcqqnd tuazcnl{ z .trr.oure1sds Óqcac tu1o1s ozpJ€cł rLzęI po dutn1oupg
.eurrtef
.
'(g lerzpzot zt1v6.) 'ufuzcrlqnd rrrazcnl{ z dura1sds auur o3e1 Ł[e8eurd..ra. z1u .qcezcn14 qcdzs1oo1 dz.td orvr1suezcardzeq Łtnrtoqcez a1r dure1sds ez .ars e|epd'11 .qcduzcd1dqa
qcdrrrfzr1 tsu zcal .qce1erc qcduozcgo4s .tr' olu gazcllqo tur{cŁfeBerudrlrr .(e1eureg1g rue1s.{s .du 4et) łt'oura1sds qcduur rruefce>1gdpotu Łs o} dure1sdg .qc.ltuzcr(1dqe qcfłr,dzJ>l Bu ołJedo euzcge.rBo1d{"rą {ure1sdg >1eupat 1vpeu .o8e,uo>1ece1d ndd1 rrra1sds
.tuzcatdzeq ua1sds ęz tuvtytęuzlt
ozĄęI
oI .Błso^IlI-BJoIłc ue1sl(5 .|9
łę,I.zpzoJ zl+ed)
.urduozcuor1s olalc qcdu1arąsdp .tłour1dreBo1 €Iuezcllqo IJ9oupnJ} Z g{Iu ^l .€IBIIIB91g tue1s{g -d,rł. epureg1g o8euzcger8o1ddrą nue1sds orrr1suezcardzog .9 łtsIzpzor zr+tsd .(du1ednz-451 o?Ąr.I) o3e,r.r'otut1 npo{ tsIuts.Ąó'opo{op ure1qord ..tze1 ru.e1spod .ttuzcaldzeq
luałsds vz f,uvzvnyl zŁrcirrr' 1se[ I tsIu€^\opo{ trroa1 feu o8at n -zcrerqe81e z eldtezc e(acaIIEcIĄ duzcger8o1ddrą rue1sd5 .BśaDollgctrĄtr ure1sf5 .g oltsIzpzoJ ł\ dul .(|"t'p órs durarurlezuil'lo14.e1serrtg -BI.Ą\€Iuo tsutsulloH-€śal>IJotrĄI rue1sdg tsJoqc o8auzcge.r8o1ddr1 nure1sds rrrerą1Łtdr*r z) e.,rl1suezcatdzaq o8eu1ad (outszuĄ't,tr .d1e1sar5 .(,oBeupdnzt[n1ue.re.t8 alu o.Ą\o{tsca1d due1sds az -dN) erue.uo1ed nure1qord lcsoupn"rł tsu o1r\łsuozcatdzaq eforts Ł[ęr -erdo due1s.{s nru auqopod r ue; .BuBuIIIoH-e.oPlJatrĄI dlrł'oąece1d urepl{5 .t.v olalzpzorpod łr' rue1sds ue1 duelnsrdg .azsnretd r1tuudzc €u qzcq qcdznp np€łłzoJ Łrcgoupnr1 z óts azbwy vsll nulo}sds orrr1sgezcetdzeg .yg11 :o} tłclu z ozs|oluzę1:J'leN .qcdłroruozcllqo .troure1qord qc,|uzgt z o.u1suezcetd -zeq efo.tts qc,{cŁzporvrd,rn' ur,.tuzcqqnd urazcn1r1 z ,tł'orue1sds oIaIA ołe}s1r\od f.tod .Vsu fuzcge.rto1dd.rą rue1sl(s |ar po 'olalzpzor urd1 ,u ,tturru.e1spazrd ,{r9p1
LII W^NZcIIand WsZcnIX
Z
ilivacold^a>I oq gINgZauAĄoad1A
.I.Ż
4. SYSTEM RSA I FAK']:ORYZACJA
118
a więc gdy sama jest łatwa do obliczenia, a jednocześniefunkcja do niej odwrotna jest obliczeniowo trudna, mówimy, że jest to funkcja jednok,ierunkowa. Chcerny zatem, by funkcja ev była (różnowartościową)funkcją jednokierunkową. Funkcje jednokierunkowe odgrywają w kryptografii zasadniczą rolę, szczegóInie przy konstrukcji systemów kryptografi.cznych z kluczem publicznym, ale także w innych sytuacjach. Niestety, mimo istnienia wielu funkcji, o których sądzi się, że są jednokierunkowe, nie udało się do dziśudowodnić o żadnej z nich, że istotnie ma tę własność. oto przykład funkcji, o której sądzi się, że jest jednokierunkowa. Niech n bg dzie iloczynem dwóch dużych liczb pierwszychp oraz q i niech b będzie dodatnią Iiczbą całkowitą. określmy funkcję f : Zn -. Zn w sposób następujący:
f
(') : tb
mod'
n'
(Przy odpowiednim doborze wartościnib otrzymamy funkcję szyfrującą systemu RSA, kórą omówimy dokładniej nieco później). Do zbudowania systemu z kluczern publicznym nie wystarcza funkcja jednokierunkowa. Z punktu widzenia Bolka jednokierunkowa funkcja szyfrowania jest niepożądana, ponieważ chciałby on przecież sprawnie od'czytywać nadcho_ dzące komunikaty. Tak więc Bolek musi dysponować bocznEm wyjściem, urnozliwiającym łatwe odwrócenie funkcji e11.Inaczej mówiąc, Bolek powinien mieć możIiwośćłatwego deszyfrowania dzięki dodatkowej' tajnej wiedzy o K. Jednokierunkowq funkcjq z boczngm wejściem nazwiemy taĘ funkcję jednokierunkową, którą można łatwo odwrócić dzięki znajomości odpowiedniego bocznego wejścia. W podrozdziale 4.3 dowiemy się, jak zna|eźćtakie boczne wejście dla wyżej określonejfunkcji /. Doprowadzi nas to do systemu kryptograficznego RSA.
4.2. Jeszcze o teorii liczb Zanimprzystąpimy do omówienia działania systemu RSA, musimy przypomnieć parę faktów z arytmetyki modularnej i teorii liczb. Potrzebujemy dwóch podsta-
wowych wyników: algorytmu Euklidesa oraz chińskiego twierdzenia o resztach.
4.2.1..
Algorytm Euklidesa
Stwierdziliśmy jlz w rczdziale 1, ze Zn jest pierścieniem dla dowolnej liczby całkowitej dodatniej n. Wykazaliśmy także, iż element b e Zn ma odwrotność wtedy i tylko wtedy, gdy NWD(b,n): I, i umówiliśmy się,że $(n) oznacza IiczbęIiczb całkowitych dodatnich mniejszych od n, które są względnie pierwsze
zn.
Zbiór reszt modulo rr, względnie pierwszych z n Qznaczamy symbolem Zn*. Nietrudno sprawdzić, zeZn* jest grupą abelową ze względu na mnożenie. Wiemy tez, że mnożenie modulo n jestłączne i przemienne oraz ze 1 jest elementem neutralnym mnożenia. DIa każdego elementu zbioru Zn* istnieje element odwrotny
(o"r
pour) I1z-?7: z-?1
dueur o8euldc1npul ęIuozołBf Z
.? : I e|p cso.utzp.t.rerd oBe[ druezur1tn lz < z oBaułled ę|p,z - ? : t \ I - ? : I rrt BIp emrzp./r\tsrd lset ez'itnzo1e7'I: [ | 0 : .t BIp e.urzprlrerd qosods '{lst.rrrdzco .' eu npó18złr ez duldc1npq pg^\op durzperrro.rdezr4 o9^Ąoo 1se[ aruezpleT1riJ
€P
(o"l
poul) t"l|?
-
'tu S [ > 0 a?
oBeqel't
o8epzv4
.tuduldcue.rnąer n8brc urdzszdrr.rod r'l >1et f.l' spzctli\9M 1e1 |1 1e1 ou€.&olugopz tpóq t.1 r fÓ qcerN
dqzcq 1se1uro1eu .esepr11ng arur1dro81e
rrr >1e|
T.7
oINflzolJEI^Ą.l
.oIuazPJoI1(ł euzcey|zod ect lndó1seu .?,
<
! dp8
.0.ł potu
I-.[?I-!b
stszc.ĄĄo1v\ frue141
- z-!7: .t7 I:IJ 0:0?
!
:(tezd.u ąeI euo1serąo bs |b dqzcq urdro1ą łr) rrrdut,buoJn{al luo.roz1ri udcŁf -nd31seu z elupoBz -?, . . .(IJ(OJ qzc|I8Łrc durgqe.uoluuapz az.zete1 tutz91e7 ' (aferulsr rlget) oBeulorrrtpo n}uouolo Ic9ołJ€.& nąpeddzrd u,(1 ,u. efepod eru ur1dro81e .d1e1sar5 .9 : I"t' I oJ qzcll po €Iuozcllqo cbtpu,|zcpz .u o1nporu eluazoulu uepó1Szrrł' du1orrrrpo
u
:
}uarrrala
ęvl u > g
ts}vrlo{łtsc
€qzcll €Iultspop ,tzc .erue1e1sn op 9fizn
cór,u, oB
Bu?otu .qzcq qc-orrrp łruIalzp du1odsrYr dzs4órrrrr'feu tszcllqo €sopĘIng ur$ro81y
'ur: (rr 'or)o,ł\N ez 'erlud,tt P&r1s ,*J: (*,.I--J)CI^ĄN: ...: (z"l .t"l)o1.1N: (t"l .o"l)qtr651 ez'cezv4ttn oupularN
r-uJ>-.t>O
.uJub: I_uJ LUJ+I-uJI-ub-e-uJ :
Lt1a 217,[ 11 (ó11I11[_01
z.t'>t"t'żo t.t'>ó.t')0
:uololzp n8Łtc o8ecŁlnd -ó1seu ntueuo1d.t' eu e8a1od tu1d.ro81y .I"t, < o.t, etzpfl ,I.t' I 0J qclułtspop qc.(1r.tn qc-o1Ąp g{ruIalzp o8eu1gdsru' o8azsąótrrrleu tsIu€zcllqo op dzn1s ur9t1 .rce1sod |azctupesvz o8e[ rrr €sop{łng ur1dro8p urt11sdzsrrr epezrd durzstdg
.ołł€c qzcll
.mopn{ng ur1dro81e ttuoztazszoł ..&zł IuIu
1se[ r efetu1st
u1dro31e rąe;, .o3 eruerrlopleuz nur1d"ro81e o8eur'rd14e;e ezczse| 1eupel dtueur eru .._Q du1orrlł,po luoluala tsW *uZ ) q tualllolo fpvu1 ez ,ule1ez druet41 .figezq,,|'n o1 tnqgrds) u z azsriiyteld erupÓ18zal bs pet ftr EqzcII fęr'lioluod .atuezouu eu npó18zn fi,
t
ez
r
tp? ,u z
d1Óru>1urez
ęzstvytotd erupó1Bz.trt
1se| *u7
.arczsaq11 .(*uZ
op
ficb,ze1eu o?{ęr) tsIuazouul urepó18zirł
azcn ilaogl o gZcZSgt
6r1
,Z.Ż
4. SYSTEM RSA I FAKTORYZACJA
I20 otaz
ri-y : ti-yr1 (mod rs). Obliczamy:
ri:
ri_2_qi-7rź_I: : tr-zrt - Qt,ttt_trt = (t+z - qt-ttt-t)rr : tirt (mod re).
(mod
16)
(mod 16)
Tak więc z zasady indukcji wynika prawdziwośćtwierdzenia. Następny wniosek jest bezpośrednią konsekwencją twierdzenia.
WNIOSEK
4.2
JeśliNWD(ro, rr)
:
I, to t^
: ,,_'
(mod rg).
mozna ot,rzymać w algorytmie Euklidesa jednocześnie z|iczbami Qi i ri. Na rysunku 4.1 przedstawiamy rozszerzony algorytm Euklidesa, umożliwiającylobliczenie odwrotności |iczby b modulo n, jeśliistnieje. W tej wersji algorytmu nie przechowujemy obliczonych }ozliczb Qi, ri i ti w ma' cierzy, gdyz tta dowolnymietapie algorytmu wystarczy pamiętać tylko ,,ostatnie'' dwa wyrazy każdego z tych ciągów. W kroku 10 wyrażenie ten.Lp zapisaliśmy w taki sposób' by przy redukcji modulo n rnieć do czynienia z argumentem dodatnim. (Wspominaliśmy jlv, że w wielu językach programowania redukcja tego typu daje dla liczb ujemnych także wyniki ujemne, podczas gdy tu chcielibyśmyna koniec obliczeń uzyskać wynik dodatni). Zatważrny tez, ze w kroku 12 zawsze jest spełniony warunek tb: r (mod n) (co udowodniliśmy w twierdzeniu 4.1).
Liczby z ciągll to,tt,
,..
,t-
oto mały przykład dla ilustracji.
Przykład 4.1
Przyjmijmy, że chcemy obliczyć 28_1 mod 75. Rozszerzony algorytm Euklidesa wykona następuj ące działania:
19 : 19 28: I. 19 + I 3 . 28 mod 75 :9 L9:2'9+1 67 .28 mod 75: 1 9: 9. 1 75:2.28
+
73.28 mod 75
W wyniku otrzyrnamy 28-r mod
75:67.
krok krok krok krok
6 12 16 12
krok16 krok 12 krok 16
bł9+Ą,'-Z,
X...X "-Zx,-Z*- WZ
('u,ł pour tr,
. . ,(I?)'L
pour
r) : (r):l
:dcŁfndó1seu qgosods .tl druefntugepz :.u Ł[c>1un1
ólsgbtez n1ecrud1
^
o''n1u^,
oBe1 rlcuenr8uo{ .Ą9p€ł{n ętuvn.frzbtnzor u1dro31e du,ud11e;e .,(urezsrdo r >1ru..t.łr ue1 frurupo.t.ropn al€Izpzorpod udzsle1ulu M .J,u'L . ... . 7ut' . I11! : Jry olnpou ęl.uęzbInzoł o8euzcr'uzoupel aruaru1sr tszpJal.Ą\}s qc€}zsal o aluozpJol,Ą\} aTłsgTqc '('u^r
pour) rD =
tr
.
(zu,ł potu) 7D (Tu pour) ro
: tr : r
:r[cuanrBuo4
pe1>1n dcŁtndÓ1seu Aulzenrzop.ru,,(1t.trroą1ec Iu€qzcII bpbq Jo(..'(ID qcaru I (t ł e dp8 .I : (t-.?u/)o^ĄN qdzc) qcru1epop qcd1r.uo1łBc qzcq qcdzs,t.rratd .tlcuenrBuo1 ,uope14n qcdu arupó1Bz,rrr rruered uret8Łrc erzpóq Ju),....Iu,c qcolN -.tred eruę.lu.'&zbtnzot bpo1eur alcolsl lł 1se[ qc€lzsoJ o oluozpJal^\ł eplsy1qc qc€łzsoJ o oluozpJolnĄł o!{stlltlc .z.z.v
€soPułng
rury(.ro81e .tuozłazszo1g . T.7
u potu
u olnpou lc9oulor.ry\po
(upotu
?: 19
I
i
1
I
I
xgNnS^tI oslo
tsIu olu g
uoqł T ł os ll (lt) og.b ou : .t, (gt) (qr) [#l : n J : oq (łt) oq: ott (et) d,ula7: ł (zl) (tt) ?: o? (ot) (duay-))-u_duay uoqł 0 >duayy u potu dul,ay: dua7 luet11 g ą du'n7 y (0) (S) - o?: druaT ?.b
op 0 <
"l
e1gał' (2)
oq.b_ou:r (g) t#l : o (s) I:] ę)
o: ol (t) q: oq (z) u:ou (I)
ilAOSL
SZCI'I
IZI
O qZCZSST
'Z'V
4. SYSTEM RSA I FAKTORYZACJA
122
Przykład 4.2 Niech r :2, mt jące wartości:
: : a'(6) : r(e): n(0) r'(3)
rr(I2)
:5
:3;
i mz
wówczas
M:
: (1,1) : (a,I) : (2,I) n(10): (0,1) ?T'(13) : (3' 1)
(0,0) (3,0) (1,0) (a,0) : (2,0)
?T(1)
r@) r(7)
15. tr\rnkcja zr przyjmuje następu-
r(2): n(5) : r(8) :
(2,2) (0,2) (3,2)
n(11): (1'2)
tQĄ :
(a,2)
! Dowód chińskiego twierdzenia o resztach sprowadza się do wykazania' że tak określona funkcja zr jest bijekcją. Łatwo zanwazyó, ze w ptzykł'adzie 4'2 tak właśniejest. Teraz znajdziemy jawny wzór ogólny dla funkcji odwrotnej zr_1.
Dla1śiśrdefiniujemy Mo: M mi
Nietrudno za,lważyć, ze
NWD(M, m;) : I dla 1 al
śi śr.
Dalej, dla
1
śi śr
definiujemy
: Mł 1 mod mt.
(Przypomnijmy, ze ten element odwrotny istnieje, gdyż NWD(Mi,m,;) i można go zna|eźćza pomocą algorytmu Euklidesa). Zallwazmy, ze
M&t= 1
:
I,
(mod m.;)
dla1śiśr.
określmy teraz nową funkcję P : Z^, X ... X Z^,
. Zu w następujący
sposób:
p(a't,. .. , ar)
: ś LonMrA, i:T
mod M.
Wykażemy, ze p _ T_I , & więc że funkcja p stanowi jawny wz6r tozw\ązania pierwotnego układu kongruencji. Przyjmijmy X : p(o',...,a,) i niech 1 śr śr. Rozwazmy składnik atMtał' sumy występującej w definicji funkcji p, zredukowany modulo mi. Jeś|i ź : j, to
atMtUł': ai (mod mi), ponieważ
Mtat= 1 (mod
rn1).
.J
> ?>
I
ęIp,?u1
pollt, :W :
?fi,
'W
zpto ?ul W
:
l71 etzp?
I:?
Pouu
uloJoz'ry\ ouęp
?ft'W?o!:
n
Ju'L....-.,*: w
olnpou atupzbtnzot auzctsuzoupot eru (; > ? > t) (eru poru) rp : ,t Ilcuanrfi L . . . |ID e (turd1trrro>1 -uo{ J p€łłn s€zc1l\o,11 .rrrrd1rrvro{łtsc Iu€qzcII ąpeq qcalu JD ('..(Iu,, qcoTN -łBc TIutsqzcII runu}€pop rtu,{zsru.rerd etup318zr'r IuI€Jęd bpbq JuL' (qcepsar o
oluozpJol1Y\1
eqsr;rqc) 8.7 slNszctllflLĄĄ,l
.9el.rd1o.uod lcgo1zsf,ztd -ozpJal.Ą\1 lcts}sod
..y|
.8I
ol€IzpzoJpod T
II
urd1
^r
.ZI:
efr
: r
zalov
: W
^\
olu Bu
Órs
c9ur dqe ,etu
ouol.&\ts}spezrd t1rudrrt du[n1nur;o;5
.2 o1nporu 768 ?ts/!\ołnpau t|zctv1s[.&\ €Iuazp.óAtsJds
I00I poul ez o1,(ę1potu) 0T
e|c1uqE
druezclqg .I00I
zplo (rr po*)
t: r
u.
I00T pour 768 r00I potu f06tl vz6+ t. 798 ł 9. 9IL
,(L polu) 9
e1q
: : : r
druafnurdztlo nJoz/&
: r
II9o|
.pe11dzrd
e5
'I00I poul EDvz6 + zDvgt + rDgIL : (tr' eo' ro) r_L :>1e1 dpe1u epĘ8dłt IooIZ 4_ tlv x rrv x Lv: ,_ll' rźoTud3}seue.22: tW I16: zW,EvI : IW : t,111 ztsro II : 7'u1' L : Ilu |t - J qcalN
:zfr,g:
sęzlrrl'ofu\ ię1
(
'dzslerurazsqo
]
j
c
'JD( " ' LII
.dulepoq .d : 1se[ ,_'lz az l_! r Łtcąattq Łfeur rc9o1re.Ą Jglqz I. tsuvpovp z€ltoruod
1l .
.(..eu.. qdzc) tr an1e1 1set ez .pŁ1s e{1ud^Ą -po1(opn oc oratdoq.,Ą\o}uouala W r-ull.cso, uroJorqz 1se[ Lr tlc1uq tsulzpar.z1'tsruazcllo olnpou eudpal tsof X ',trry
'"r
) {>I
o? o8eulel
't
aruezbttvtzot ez 'rlcuen.
oBePze>1
e1P dt
.({uł po.'l) urelez durt
tzr
4. SYSTEM RSA / FAK'IORYZACJA
124
4.2.3. Dalsze pożyteczne fakty
TWIERDZENIE 4.4 (Lagrange'a) Niech G będzie grupą multińtit"ty*"ą rzędll n oraz niech s e G.Wówczas ruąd elementu g dzieli n-
Zasadn\cząrolę w naszych dalszych rozwazaniach odegrają następujące dwa wnioski.
WNIOSEK 4.5 Jeślib eZn*, 6
powóo
Zn*
6Ó@)
jest,
:
1 (mod n).
grupą multiplikatywną rzędt:' s(n).
\MNIOSEK 4.6 (Fermata) Jeślip jest liczbą pierwszą ib
eZe,toP:
b (mod p).
Z,*
jest cykliczna.
p), Jeślip jest liczbą pierwszą, to Ó@) : p_I. Zatem sdy b #0 (mod gdyż : prawdziwa' pozostaje p), teza (mod teza wynika wniosku 4.5. Gdy b 0 " I op = o (mod p).
DowoD
TWIERDZENIE
4.7
Jeślip jest liczbą pierwszą, to grupa
Element a rzędl p - l nazywamy element em pierwotnyrn modulo p. Zauvtazmy, ze o jest elementem pierwotnym wtedy i tylko wtedy, gdy
{o',0
zą)aa apisać ze rzą
p-I NWD(p
- I,i)'
ulop.
gdzie
I + (u)Q7: qo
ol
,((u)ppou) r=qD z€^1.oIuod . rrrr,{u1orłrpo alqols op eruurelezryr nuefceledo aluło}sl Łs eruervro.r5dzsop I aluts.&\ot5fzs az.rud1 o Órs druleuo1azJd '7,.v nąunsdr uu duretrte1spezrd nua1sds srdo ,.(u1erurog
'(r-r)(t -d):(u)Q
.D r d qcd1sdzrpderu qcdzsrrrretd qzct1 ,g,|zuntrrez ,u o}ręM ,tqzct1 !e1ąe1 up ez ,uv łr óts alnuo4dłr erure1sdso1d,{r1 qcduzgr lłc9/Ąp uraudzco1r 1se[ u e1zp3 .ygg .{uzcger3o1d.{r4 ue1sds zere1 duezstdg u.,(1 rr,r, €Iuozcllqo er41sdzs16
y511,l(uzcge.r3o1dr(.ol tuałsds .t.7
I
rurdulorr,rrerd
cór.tr
Ilu€łuoluela o3e1e1q .TI qnl
'II zvro L '9 'Z :ts g 1 olnPou z dpB .,,{pe1u o{Id} I .{pe1..rr dpe1u du1orvrrerd }so| lZ }uorualg
L,g,I:
e .1 - (zr.p)ołtu dpS .dpeyrl o{Idt
T
l ]
I
F8lpóffiGr
: tI Pou orZ : tT poru 6z
0T g
6 : tI poru 3z -T-: tlFo;fraż zI : tI poru ez il=TTT-ourd g: g: v: i: :
I
1se|
tT pou ,7, gI potu ,z
tI pout 7z tr po*(, tI pour oz
'tI oFporu urdulo.uterd rueluarualo ,7 ttqzu1r8Ó1od eu[e1o1 cttezcqqg .g1 : d qcet5 7 ez.crzp.ue.rds druazoru V'V Pe\>','{zt4
.fi_ĄQ €u.Ą\oJ 1sa[ d oppotu qcdu1ołrrerd ,t\o}uoulala ęqzcllaz.pb1s eryud'11 (p.T-d)C^ĄN {ps ...(pepł ołId1 T dpe1rvr urdu1o.u.retd rualuoulala pat 5i cótrt
:
vs?' INZCL{VECOT4IAX
9ZI
:1
:
>1e;
'8't
Wsrs^s
4. SYSTEM RSA I FAK'IORYZACJA
126
Niech n
:
pq dla liczb pierwszych p i q otaz
P:
C
: Zn.
K: {(r,p,e,a,b): n:pe, p,e pierwsze, ab: I DIa K : (n, p, q, a, b) definiujemy e7@)
:
nb
:
y" modn
Okreś|my
(mod @(n))i.
modn
otaz
dx(a)
(,,a ęZn).Wartościnib Są znane publicznie' a|iczby p,q,asątajne. RYSUNEK 4.2. System kryptogra-ffczny RSA dla pewnej liczby całkowitej ź ) 1. Niech
re
Zn*; wówczas
(,o)" = ,tQ@)łI (mod n)
: 1,Ó@)1tr (mod n) : Ltr (mod n) : e (mod n),
tak jak się spodziewaliśmy. Pozostawiamy Czytelnikowi jako ćwiczenie wykaza(mod n), gdy n e Zn\ Zn*. nie, ze (ro)" =r oto uproszczony (i niezbyt bezpieczny) przykład systemu kryptograficznego
RSA.
Przykład 4.5 Przyjmijmy, że Bolek wybrał P : 101 i q : 113. Wtedy n : II4l3 otaz Ó@) :100.112 : 11200. Ponieważ 11200 : 26527,Iiczba całkowita ó może posłużyćza wykładnik reguły szyfrowania wtedy i tylko wtedy, gdy nie jest podzielna przez zadną z |iczb 2,5 i 7. (W praktyce Bolek nie będzie rozkładał |iczby Q@) na czynniki. Sprawdzi jedynie zapomocą algorytmu Euklidesa, czy NWD({(n)'ó) :1) Zał.ózmy, że Bolek przyjął' b:3533. Wówczas zrozszerzonego algorytmu Euklidesa otrzymujemy b-L
:
6597 mod 11200.
Tak więc tajnym wykładnikiem deszyfrowania jest a : 6597. Bolek publikuje liczby n : II4I3 i ó : 3533 w informatorze. Przyplśćmy teraz, ze Alicja chce ptzesł'ać Bolkowi tekst jawny 9726' ob|icza w tym celu: 97263533 mod 11413
:
5761,
.ł€ł olupęł{op q lcsoluoltsuz al^\€lspod €u o. €Iu€lYioqltzsap .{alog łIqoJz oł ł€| _ _ : e.,"o*.r",911 óo .t1.o'a bzcezt znl 1se[ (r n) (t d,) (u)Q łIuptsp.d1{I c.tzc\qo o1 3rs ep 19e1. .u1ruudzc pu u f,qzct1 vlaa1o1zor eq9rd €u n{€1E .ugqosods qcf1srłrlzco z ulf,upe1 aluezcqqo
oł .clqoJz
pTe} 1sar xu)cgerSo1ddr4 ure1sfs
y511 efcąnrłsuo' .8.7
xgNnsltl f,uzcy1
b r d'ezs.'vr erd dqzcq arrvrp efn'laua8 >1a1og (1)
yg11 efeeluauraldtnl'7'7
'YSU nlu -epdso1ddq
e.to.1sgazcetdzaq
lllsał\ł gcsferrrr
[ec3r,lł duncórngod n1e1zpzol 1cgbzc
oz>l€ł €soplPlng
nu1dro81e tcourod ez etu
tezqep ł\ ęIu€1jĄor;dzsep 1rupe11dn' .bd,: u np€tłzol -oał.".'." .(r -o)(r _4 : @)Q cltzc11qo nrue1o1Órzp uo g3Jłod eruó1dzcpo l/leo{Iog urdctfer,rrr,r'zourn urercgfdltl 99ouro|euz.ó3et 1set.'i*4'""-o1 n1s ito,,og.au1euoąd,rłelu o,Ąó'oluozcl'cło ę{Iu.|n'Icazrd e1p 1sa[ o3euerrro.r;fzsez u potu qr :- (x)Xa .?7
olutsptsz cót,tł'
-ą"1
e
",.ló^or;dzsep eĘun; ez .nruezo1ez eu ecttnr;fzs
.ełlo1unrar1oupef 1sa[
Órs
erordo
y5g
nrue1sds orrr1suezcardzeg
.rureur1fr (ttnuoądlł, at er914 n .euerrtoąqduro>1s Órs .&uerruf,ez olę,|zPzorpod urdudap€u lĄ oI€ elceredo qyrtqc !e1 11) ozpJtsq ars peńpr.n.r' tBour ęruemor;dzsep r etue.tłor;dzs
1o3p lrrrduo.ldp1e;e
.9ZL6: tI7TT poul Ź6q9l9f9 os
:cdzcqqodq.eruełror;dzsapvr1rupe14dłro8eute1o8e[o,u,serrtdzn.e[nur.{zr1o zeztd e1dsdlra' rudzc od ró2s duerlłor;dzsez łs{ołłtsug'I ruPal/(odpo
>1e1og
rpc
vsa vtcvlNgwg\dwl
LZI
'Ż,7
r28
4. SYSTEM RSA I FAKTORYZACJA
(Istnieje hipoteza, ze zł'arnanie szyfru RSA jest wielomianowo równoważne2 faktoryzacjiliczby n, choć dotąd nie udało się tego udowodnić). Tak więc, jeślisystem RSA ma byćbezpieczny, liczba n: PQ musi być dostatecznie duża, by faktoryzacja okazała się obliczeniowo niewykonalna. Zapornocą
używanych obecnie algorytmów rozkładanie na czynniki mozna zrobić dla liczb, które mają do 130 cyfr dziesiętnych (więcej informacji o faktoryzacji w podrozdziale 4.8). Stąd zaleca się dla bezpieczefistwa' by kazda z liczb pierwszych p i q miała co najmniej 100 cyfr w zapisie dziesiętnym; wtedy n będzie liczbą 2OO-cyfrową. Wiele sprzętowych implementacji systemu RSA używa modułów 512-bitowych, jednak taki moduł odpowiada ok. 154 cyfrom dziesiętnym (ponieważ liczba bitów w reprezentacji dziesiętnej liczby całkowitej jest |og,l0 tazy większa od liczby cyfr dziesiętnych), a to za mało, by zapewnić wystarczające bezpieczeństwo na dłuższą metę' Pozostawiając chwilowo na boku pytanie, jak zna|eźćdwie 100-cyfrowe liczby pierwsze, zatrzyrnajrny się przy arytmetycznych operacjach szyfrowania i deszyfrowania. Szyfrowanie (lub deszyfrowanie) wymaga jednego potęgowania modu|o n. Zwazywszy na wielkość|iczby n, musimy do wykonania dział'att w Zn uzyć arytmetyki wielokrotnej precyzji, a czas potrzebny do tego będzie zaIezał' od Iiczby bitów występujących w binarnej reprezentacjiIlczby n. Zał'6zmy, że n rna k-bitową reprezentację binarną, a więc 6 : [log2 n] + 1. Nietrudno stwierdzić, wykorzystując do tego celu standardowe metody arytmetyczne rodem ze szkoły podstawowej, że dodawanie dwóch k-bitowych liczb całkowitych rnozna wykonać w czasie o(k), rnnożenle zaśw czasie o(k,).Podobnie w czasie o(kz) mozna zredukować modulo n liczbę całkowitą co najwyżej 2k-bitową (jako że operacja ta sprowadza się do wykonania dzielenia i zachowania reszty). Niech r, a e Zn (zakł.adamy przy tym, że 0 ś!x, a
nlcdzn dzrd) ópuru1as tsu lĄgłIq{ 669 npózr erue.troqdzs 99oąqdzs Ł|e8Łtso y5g .9q9e;:1pod dze1e5 nure1sds efce1ueue1durr aurrr,d1ąa;a lerzpreqfeu olucoqo az
[
.Tgfs 1se[ur'(uełlot5,|zsez uloł$Ial .forusazcltl. dursqrzpretirł'1s 1e[.c3rrw ąe; I9L9
:9216'
:
98I0T
:
9Z0II
,I9ZOII
I 0
7907
9OI:92L6 'e98T0T
9ZL6' z6zgv
629?: 28629 8629: TtBLL ZBLL:97,L6' 2896V 8967:9216'zLgI6 LgI6:9216' zVt99 ?8,99: 76992 6992:9216'zgZL6 9ZL6:92L6' "I 7
T
0 T
Z
9
I
v s
0
0
c
I
OI
I
t)
0
8
T
L
I
T
łq
TI L
:tT7TI Pou gg9g9Zf6 3qzc{ €Iua?ouul I n}€Jpe.&tł op etuezsoupod ez cb,|ezcqqo ,gZL6 durln,e| 1s1e1 atnr;dzs etc11y .t€gt : q
nru1dro31e Łcourod
1se[ eruerrror;dzs ureu[upepldiu. ruduzcrlqnd ts
'8I7II - u o?
'drufruruoddzr4
'pc
A'V pe1>y.tzt4
.nur1dro81e alu€łęIzp 9f,zceqoz f,1'.g.v npe1ądzrd op dur79r6 'V7 po vzsnbrl/r olu r 7 po ezsferuru oru 1se[ uezouru qcdurepporu eqzcq ./ op p euzcb1 olctsłInzal 0 Po nttsIzpeztd z [e1rnoą1ec oIqzcIT laurrtad cót,u, ,q ttqzc11ersrdgz tudureutq r'n. ąeudpef oIqzcIT tsu.&roJ 1se! 7 nąorą lu' qcfure1npour ^A op frzel 7 .{rursoupod ozsrrlrr.Z.qcdureppotu gazoulrr raqzc\1 .(e ło'{) nl€Jp€,'[DI .u ,cf,zct1od : z €Iu€zcllqo poIII o/v\}€ 2 qr vazouuI efnuo{dlrł rulroB1e uol aII q.nl g : tq etzpB 7'7 nluns{r e1i1'I
!
1
- / > ? > 0'T
u1d.roB1e dtuelnluazerd
o:?
',znSś: S I-V
:urduruurq ersrdez
rrr
duep 1se['g dtuzper-tr'od
.ąrupe1ąd.tr oz,nluevo1vz eu 3rs erardo aluozoulu I n}tsJp€.Ął>I op oluozsoupod
-qo Blu€zeurrrfrn
1
u PouI
,r nłBJP€JIAł oP Bluazsoupod ur1r(.ro8|v .?.? xsNns^l1
f,o}.t3zł11
(f) u porrr tr-z : z uotl+ I: ?q I u potu óf: Z !s] : ? łoI \Z)' I:z (I)
op 0 ołuJ'Aop I _
7
Vsa vrcvINgWg.IdWI,Ż'?
oót
4. SYSTEM RSA I FAKTORYZACJA
130
512-bitowego modułu n), podczas gdy dla DES osiąga się 1 Gbit na sekundę. Mówiąc inaczej, RSA jest około 1500 razy wolniejszy od DES' omówiliśmy dotąd operacje szyfrowania i deszyfrowania w kryptosystemie RSA. W następnym podrozdziale zajmiemy się generowaniem ]iczb pierwszych p i q (krok 1). Krok 2 - bezpośrednie obliczenia - można wykonać w czasie o((log krokach 3 i 4 stosuje się algorytm Euklidesa, więc rozwazmy tu krótko ")2).w ich złozoność. Załozmy, ze obliczamy największy wspóIny dzielnik |iczb rg i ,l.1, przy czyrn ro } Tt.W każdej iteracji algorytmu obliczamy iloraz i resztę, co można uczynić w czasie o((logrg)2). JeśIipotrafimy określićgórne ograniczenie liczby iteracji, to otrzymamy zatazem ograniczenie zł.ozonościalgorytmu. Takie ograniczenie uzyskamy dzięki twierdzeniu Lamógo. Twierdzenie głosi, że jeślis jest liczbą iteracji algorytmu, to f śr9, gdzie fi oznacza i-tą|iczbę Fibonacciego. Po"+z
nieważ
/
-\ " tt+/5\ Jo=l , l, x
\./
wnioskujemy, że s jest wielkością rzędu o(logrg). Wynika stąd, ze czas przebiegu algorytmu Euklidesa wynosi o((log Wy")3). konując bardziej wnikliwą ana|izę, stwierdzimy, że jest on równy o((|ogn)2).
4.5. Probabilistyczny test na liczby pierwsze Przy konstruowaniu systemu kryptograficznego RSA są potrzebne dwie duże (np. S0-cyfrowe) ,'losowe liczby pierwsze''. W praktyce generuje się duże liczby losowe, po czym sprawdza się, czy są to liczby pierwsze, Za pomocą probabilistycznego algorytmu typu Monte Caflo działaiącego w czasie wielomianowym' takiego jak algorytmy Solovaya_Strassena lub Millera Rabina. oba omówimy w tym podrozdziale. Są to szybkie algorytmy (Iiczbę n sptawdza się w czasie
wielomianowym ze wzg|ędu na log, n, |iczbę bitów w binarnym zapisie \iczby n), ale nie moznawykhlczyć, że algorytm rozpozna jako liczbę pierwszą liczbę, która taka nie jest. Można jednak zmniejszyć to prawdopodobieństwo poniżej dowolnego ustalonego plogu - uruchamiając algorytm wystarczającą\iczbęrazy. Nieco dalej zajmiemy się tym tematem bardziej szczegół'owo. Drugą ważną kwestią jest liczba liczb losowych (określonej wielkości),które trzeba sprawdzić, by znaleźć liczbę pierwszą. Znane twierdzenie teorii liczb, zwane twierdzeniem o liczbach pierwszych, mówi, że wśród pierwszych '^/ Iiczb naturalnych jest około l//lnl/ liczb pierwszych.W związkuztym,jeśli wybieramy losowo liczbę p, prawdopodobieństwo, ze będzie to |iczba pierwsza, wynosi około 1/lnp. Dla 5l2-bitowego modułu mamy Illnp = Il777. oznaczato, ze średnio spośród 177 losowo wybranych liczb całkowitych p odpowiedniej wielko. ścijedna okaże się pierwsza (oczywiście jeśliograniczymy się do poszukiwania
'qzcrl rrrool z
qcdłeludJazc€z 1r\ołualunJłsul cłos€z 9lctsBoqz.Ą^ ocolu dlulsntu .nu1dro81e nstdo op ,|uletzp|aztd:uulur-z.Ił?ŁIq :qcęłę:.zpzol qcdzs1ep .u Órs ŁzpepdzJd aJ9}{ .errroqzcq -olJoał ercÓtod au1ńod unu ,iró. Órs Łlerrwelod o1peuod e .dzs1sord o.uorcÓfod uo 1se[ zdpB .o8eru1€}so o3oł po >1eupat duro|uzctsz.euasser15-eder'o1og nu1droB1e po dzs -qdzs eprrrerd oc 1sa[ (|eryvgd Órs,{ruarrulez
uldrgq) tsulqtsll-eJal111'1 ur$ro81y .z/T uro^\TsyalqoP
l )
.1or,trpo eu t |euozo1z .euo?o1z -odoplre"rd z uĄtsI,, arłrodpo ru1d"roB1e 1set z qget ...{tsł.. eperrvrodpo rrr1d"ro81e ,|pB az,o1 ezceuzg.7/1 urdurrlo.r np 1se[ u eqzcq -ó1q urełr'1suetqopodop.rrr,erd z rcsou1eptsłĄzoJ nure1qord €Ip oIJtsc o}uo1ĄI tu$"ro8 1e duorrvrelseu etu.udldzod'euesse:15-ede.tolog ur1dro81e durr,trotuo rrrrerdle1q
,ęuozołz 1se[ u eqzcr1 rT9e[.npep1zoJ €Iueze>lsló. nur1dro81e po duraln4ezco alu ?9ou ...alu.. qn1 -Itsp곥zoJ nrue1qord nąpeddzrd rt rc9ou198azczs ł\ ..>1e1.. rzpeurodpo gTlorzpn aru'tpet pru o8euldzdJap nuolqord e1p u1d"roB1e az'drufruuroddz"r4
99ouIBP€łłzotI Leuozołz pet u .Z
.9.7 >IgNns^tI
,|zg
< u Bll1y\o{łec tscłzcll €Iul€pocl
e1ue1d4
ouBo
'?goulepBł>I zo ł, lfut'tz'tcep rue1qord durer.tre1spe zł.d g' v nłunsdJ tsN '(qc,t,ttotc9 -tela. qcduep qcduo1epn eu Acb|e1etzp ur1dlo81e zeztd l1cfiue,rłduo>1op ,uoroq,{,u qcdlrloso1 qcdrr.rr1zoru qcl{Tsdzs^\ op nłunsołs.u órs ezcr1qo o.Ą\}s9olqopodoprrrerd zpal.Ąodpo (Łu,trerdoderu) up oa) .l fezd.t'feu oc ua.ł\lsuolqopodop.rr.te"rd z ,,a|u,, .n1peddzrd tudp?tsł 1'\ -od ur1d.ro81ts .u{€ł.. łsol tlzpolłlodpo turvrerdod dp8 IIga| .f au..tł.oJ np)1q om1st1at,qopodopmo"t,d eur o1re3 o}uo6 ur1dro8p duorrvre1seu eru .eruzcr3o1eue durefnrugep oIJDc e?uory lu7fi"l'o67o fr,uol,mn1s -,rł.d1dzod az .drrrr.u9141 -ou atumfi'ylża7J .eup31q ctqezoul ..alu.. zpol.Ą\odpo 1seruro1eu .puru.erdod ozsl'lief .o3eu[dz,{cap ntua1qord elue8,tzl1szo"r duzcd1sqtq łsof ((łtsł((7perrtodpo u,{ro14 rrt -eqord ru1dro81e fulęnt1'zęu oIJDc a?uow u'au,7fi,.t,o67o u't'fl,uolmo7sou at'umfi1fr,zo4
T'P
VfCINIdSO
.qcdutdzdcap .uoure1qo.rd etueŻ'Ązt1szor rrr'ou1dro81e qcduzcd1sqrqeqold
op Órs Isoupo efcrugep eud31se5 .(tul,fruzcfr'7st,u?,ulJaJap drrrar,łtzpu .bfełrdzn atu qcd.uoso1 qzcll oJ9ł{ .e1 cÓr,tr e .du1droB1e a1e1sozod) aĄosol dqzcq aln1sdzro1 -d.rr 19et 'utfruzcfi,qstyzqoqotd /..,lwellrl'zeu tu1d.ro81Y '*olu" oqle ,,>1e1" 1se[ eruelfd .ue1qo.rd o1 fi,utfi'zfi,cap uelqoJd IuIu .Ąr' ouol1(€lsod eu btzper.tlodpo rudr911 .rrł' .zere1 dtuezsrdg .eu1ear .rqor Órs o} +sa| Ysu {€! ntrrałsds e[c1n"r1suo1 IIIja1;Ez e .eu1euo1d,rł' etcglu.fzcazl łsa[ (śqcdzs.ł\retd etuqop -odopmerd" qcdrrrosol qzcq qcdznp oruzcoltsTsop aruervrorauaB c3rru' 4e; '(ll.tlZ oło{o au.ł\oJ e1zpóq r rolrpod órs o.tt1suerqopodopłrerd .qcd1sdz"redalu qzcl1 poJsł\
III
gzslv|Egld AaZcI.I
y^I
JssJ
.9,Ż
^NZcAIsITgvgoad
4. SYSTEM RSA I FAK'TORYZACJA
r32
DEFINICJA 4.2 Niech p będzie nieparzystą liczbą pierwszą1 a r |iczbą całkowitą, przy czyrn 1 śo < p - 1. Mówimy, ze r jest resztq kwadratowq rrrodlio p, gdy kongruencja y2 : z (mod p) ma roz:wiązanie a e Zp.Element r nazywamy nieresztq kwadratowq modulo p, Edy r # 0 (mod p) oraz r nie jest tesztą kwadratową modulo p.
Przykład 4.6 Resztami kwadratowymi modulo 11 są liczby I, 3, 4,5 i 9, ponieważ: (+I)2 : 1, (+5)2 : 3, (+2)2 : 4, (Ł4)2 : 5 otaz (+3), : 9 (wszystkie działania wykonujemy tu w Zn). I Na rysunku 4.6 definiujemy w oczywisty sposób problem decyzyjny reszty kwadratowe.
Dane Nieparzysta liczba pierwsza p otaz liczba całkowita r, tala 0śrśp_1. Pytanie Czy :t jest resztą kwadratową modulo p?
że
RYSUNEK 4.6, Reszty kwadratowe Udowodnimy teraz wynik znany jako kryteńum Eulera, który lezy u podstaw deterministycznego algorytmu o czasie wielomianowym, tozsttzygającego problem reszt kwadratowych.
TWIERDZENIE 4.8 (kryterium Eulera)
Niech p będzie nieparzystą liczbą pierwszą. Wówczas modulo p wtedy i tylko wtedy, gdy
r@-r)/2: 1
oowÓo
r jest
resztą kwadratową
(mod p).
t : 92 (mod p). Z wniosku 4.6 wiemy, i:'e gdy to rp_\ : 1 (mod p) dla dowolnej liczby r, takiej że
Załóżmy najpierw, ze
p jest liczbą pierwszą, r I 0 mod p. Mamy zatem
,@-t)/z : lrzy@-t)/2 = aP-t (mod
: 1
(mod p) p)
(mod p).
Na odwrót załózmy, )ę g@_t)/z : 1 (mod p). Niech b będzie elementem pierwotnym modulo p. Wtedy t: bi (mod p) dla pewnego i. Mamy wówczas a(a-t)/z
: ltty@-t)/2 (mod p) : 6i.(n_t)/z (mod p).
",(T)
rJ:
(;)
:qosods dct|ndó1seu (#) ożal,qoco1 yoqu,fl,s ^ ,'(uafnrugep 6 ą o |e11,vro11ee dqzcq €I0 .ozs,Ą\Jeld rąruufzc vu u ,tqzu1tuop€łłzol erzpóq c"Id... .,Id qcetu r tru1epop b1r.t.roą1ec bqzcqbryfrzlederu erzpóq d qcet51
7'7 VrCrNr.{SO
'e.o"rpue8e1 n1oqurds etuatu198on eułrad zera1 drufnrugep7 .(d
pou) e/G
l
/d\ t-t
ĄD = \
?7,/
s€Zc'ł\oł\ .Łzsrrrrerd bqzcl1 b1s lz.rederu erzpóq d qcat5 6.7 slNszollsl^ĄJ .e.arpue8e1 qoqurds €Iutszcllcło nru1dro81e oBaurw.,(1ąa;a ezJJts1soP
.(dpoul)
.(dpoul)
€J9p{.99ouse1ru. ŁcŁ|ndÓlseu lua}ez ńurery I: 1_aD zdp8 I- = z/ft_a1o o1 ,d olnpou Ł.t.lo1e"rpe,tr1 Ł1zse.reru 1sat o .{p3 .etczse"r11 .(d poul) qgep 'd opporu t.tro1erpe.n1 O = z/ft-a)D arcsr,udzco o1 'd trcsoulor{olalm lsat n b1zset 1sat o dp8 .,,(pe1.ti o{Idt I fpe1u (d poul) I:- z/G_ĄD a?,qn|,'(uret'11 .d oppour Ł.uo1erpe'łt>1 t1zseraru 1se| o .d o1nporu Łrvro1erpe,trą b1zsel 1sat o '(d Poru) 0: D :dcbtndÓ1seu qosods
6
ąo
!e11.r.roą1ec
lqzcq
^ (g)
dp8 .Idp8 ,I dPB '0
):t*l
o,a"lpua6a7 1oquńs duretnrugap
leu1o.ttop e1q .tzs.trrardb,qzcqŁ1sdzredaru erzpóq d qcet5
8'7 VfCINIJIOO .qzcll IIJoa} z rfcrugap
n{IIł azczsaf dutefnqazr1o4 ('(aao1))6' 19ouozołz
t n1erpe.tu1 elu ua} u1d"ro31y .d opporu €Tu€.Ą\o8ó}od etueuoąf,tr op tsIu€z€uudrvr op vluozsoupod ópo1eur 3rs alnso1s urd"r9p1 ,tr .erue1erzp ersezc rud,ttoueTtuolal^\ o qcd.uole"rpe.u{ }zsar eruezp.tterds tu1d"ro81e uer.tred eltud.tr 8'V r'-ruazpJorir\l Z
r
I
^qzul
ts z/,e9T p ,h1sfzrcd Łqzc11 }se| t, ez ,tszcęuzo oc rurd,uo1erpe^Dl lu€{ls€Irrt.rotd d)z ureqrula\zp ?./:q, Isnu I - d utalez'1 - d durvlor 1se[ g nlueruele pbzg 'Z/
G
-
gZSlAAgId AAZCI'I'tlAJ
8tI
JSSJ ANZCATSITAVAOA4'
9'?
4. SYSTEM RSA l FAKTORYZACJA
134
Przykład 4.7 obliczymy symbol Jacobiego (ffi+g) Mamy następujący rozkład liczby 9975
:
3 .52 .7 . 19. Stad
: fP3\ \ ee75 /
(
9975:
(
6278\ / 6278\' AzzA\ / 6278\ (ti\,r/(ti(*/
(3)
(;)'(;) (*)
(-1)(-1)'(-1)(-1) 1.
I
Niech n > 1 będzie liczbą nieparzystą. Jeślin jest pierwsza, to (fi) : ą@-\)/2 (mod n) dla dowolnej liczby a. Z drugiej strony, jeślin jest złozona, to może - ale nie musi! - być tak, z. (*) - o@_7)/2 (mod n)' Jeślitak jest, liczbę n nazwiemy liczbg pseudopierwszq Eulera przy podstawie a' Na przykład, 91 jest pseudopierwszą|iczbą Eulera przy podstawie 10, ponieważ
/10\ : I -1 : er,/ \ =;
{
t0a5 mod 91.
Można jednak wykazać, że dowolna nieparzysta liczba złozona n jest pseudopierwszą liczbą Eulera przy podstawie o dla co najwyżej połowy spośród liczb całkowitych o, takich że 1 śo śn- l (patrz ćwiczenia). Ten fakt dowodzi,że algorytm Solovaya-Strassena sprawdzania pierwszości liczb, przedstawiony na rysunku 4.7, jesŁ pozytywnie nastawionym algorytmem Monte Car|o z prawdopodobieństwem błędu równym co najwyżej 1/2. Na razie nie wiemy jeszcze, czy algorytm dział.a w czasie wielomianowym. Umiemy jlż oblriczyć o@_L)/2 mod n w czasie o((logn)3), ale jak efektywnie obliczyć symbole Jacobiego? Mogłoby się wydawać, że trzeba najpierw rozł.ozyć |iczbę n na czynniki pierwsze, poniewaz czynniki te występują w definicji symbolu Jacobiego (;). cayuysmy jednak umie]i rozłożyćn, wiedzielibyśmy już, czy n jest liczbą pierwszą czy nie, zatem takie podejście kończy się błędnym kołem.
(1) wybierz losowo liczbę całkowitą a, I śa śn (2) it (#) : (mod n) then "("-')/2 jest pierwsza" odpowiedz else
-
I
,,n
odpowiedz
,,n
jest złozona,,
RysuNpx 4.7. Test pierwszości Solovaya-Strassena dla nieparzystej |iczby całkowitej n
Na szczęście,możemy obliczyć symbol Jacobiego bezrozkł'adania na czynniki Iiczby n, korzystając zato z kilku wyników teorii |iczb, z których najważniejszym
(
ffi
7 IcsousBł/y\ z
z
lcsous€ł.ry\ z
8Tc9ouseł^ó', I
/ tlt\ \^ )
lcsoustsłrló' z
(qe@) \IWL/
7 lc9oustsł1ń z
:qgsods dcŁlnd31seu .ł' ) oaerqoce
1'
dqy g'V Pe7>7,tzt4
erue.troso}sęz ?e.Ą\oJłsn1z 1oqurds furdzcqqo, tcgouse 1łl qcd1
.n>1pedfzrd udu,trtcezrd
'(Y Potu) s€zc1jlloM
t:I-L:
u't
łr. , (#) l r'r : - | \a)
'tPB
' (+)
'rrud1rłtor11ec llutscłzcll rurd1sdzrederu
tp6q u t ul qcetl\I (7)
(;) o1 .Ł1sfzrederu Łqzcq łSo! ? I ?uZ
:
'ę):G)
u't dp3 .rc9ou19Bezczs
1y1
(:^,)(+):(#r) o1 .t1r,to41ec Łqzcq Q1sdzrederu 1set u 19e1 (g)
i
i
'(s po*) sa : u dpE 'II (:) : u dPB 'I J -: \Z ) '(8 pour) t+
o1 .Ł1r,rł'o11ec bqzc11t1sdzredaru 1set
u 19e1
(6)
(*):(h) o1 .(u poru) Z61,:
-a*ud6'
( te
zruo
I,111
zero b1rnoą1ecbqzct1b1sdzrederu 1set u 19ep (1)
d 7 e eouse'rr )
rc
eouure re zn
ffiffi1J:jT::'#ffiffi :it:l
gzsivl4gld I1ZCII YN JSAJ INZCIISITAVAOE4
9tT
'9'7
4. SYSTEM RSA I FAKTORYZACJA
136
z własności1 z własności3 z własności2 z własności4 z własności1 z własności2 Zwróćrny uwagę na kolejne stosowanie w tym obliczeniu własności4,7, 3 i
2.
|)
Na ogół, stosując te cztery własności,możemy obliczyć symbol (ff) w c"asie wielomianowym. Jedyne wymagane tu działania arytmetyczne to redukcje modularne oraz rozkł.ad potęg dwójki. Zalwazmy, że jeśIiliczba całkowita jest reprezentowana w zapisie binarnym, rozkład potęgi dwójki sprowadza się do ustalenia liczby zet na końcu. Tak więc o zł'ozolościtego algorytmu decyduje liczba niezbędnych redukcji modularnych. Nietrudno udowodnić, że w przebiegu algorytmu wykonuje się co najwyzej o(Iogn) taklch redukcji' a każdą z nich mozna zreaIizować w czasie o((logn)2). Wynika stąd, że złozonośćalgorytmu wynosi o((log n)3), a więc czas jego wykonania jest wielomianoz a|eżny od log n. (W rzeczywistości, jak wykazuje bardziej szczegółowa anaLiza, algorytm ma zł.ozonośćrzędu o((log n)2)). Załóżmy, że wygenerowaliśmy liczbę losową n i chcemy za pomocą algorytmu Solovaya-Strassena sprawdzić, czy jest ona pierwsza. JaĘ ufnośó możemy pokładać w odpowiedzi pozytywnej, jeśliwykonamy algorytm m tazy? Chciałoby się w tym miejscu stwierdzić, że prawdopodobieństwo tego, że liczba n jest pierwsza jest wtedy równe 7 - 2_^ - i taki wniosek jest często formułowany zarówno w podręcznikach, jak i fachowych artykułach, ale nie wynika on z posiadanych danych.
Uzywając prawdopodobieństw, należy zachowywać szczegó|ną ostrożność. okreśIimyteraz dwie zmienne losowe. Niech a oznacza zdatzenie ,,losowa nieparzysta liczba całkowita jest zł'ozona,,
,
natomiast b niech ozrlacza zdarzenie ,,algorytm odpowiada
ln jest liczbą
pierwszą<< rn
razy z rzędll,,
.
oczywiścieP(bIa) < 2_n . Jednakże prawdopodobieństwem, które nas interesuje jest P(a|b)' na ogół różne od P(bIa). Do obliczenia P(a|b) możemy wykorzystać twierdzenie Bayesa (twierdzenie 2.1). Musimy w tym ce|l:' znaó P(a). Zał'ózmy, ze.A/ śn < 2N. Zgodnie
.tsuass€Jls-€derro1og
rrr1f roB1e
zru r>1rudlł' ezsde1
ecd11erd rt e lep tsulq€u-tsJol1ryq ur$ro81e rc9o1srłrdz coz r M.€uossts JłS-E,te'ro1o5 pa1 >1et Łures Ęe1 .(,(z8o1))p ?9ouozołz uo €Iu oz .g{Iud.& .{zt1eue laure1uarrr .e1a z lur,,t,trl'outsItuolal/Y\ olstszc r'^ ełę:rzp ue1 ur$rofi1e zt,c,tzełtItęz oló't€? .6.7 n{ -unsdr gu o3 durgr,nełspozJd .(..qcdzsrlłretdopnesd qzcll łsołducotu.. o>1ef eząe1 ureru1froB1e urfueao'z.ęvozołz 5e! uqzcr1 f,zc uttcbtezp €ulqtsu-€Jol11tr41
udueuz)
-lłerds oIJtsc ałuol^tr uraru1dro81e urdupet azczso| 1erzpzorpod ue1 durdzcgoy .npełq o.Ąilłsualqopodop,uerd oł€Iu ozPJęq .--Z {ts! colsltzn dq .00I - u,l qnl 09: 11I 9btf,ztd dzcre1sdan, 1tupel ecdp1erd lĄ o>1qdzs {tsł oTu zce1,ozctupełłd'rt 0 op d@p G--Z + gLI) lgLr csolJts.l(\ zelcolłc 1ńgłualun8re qcdrg1ąaru e1p rfcąun; [e1 tcso1rerrr .,(urerlte1s tsu^ĄgJ nruazr1qdzrd r'ł 1se! .?,l^ł
-pozrd g.7 ru1uns..(r eu dc11qe1 1[c>1un1
M.G_-Z + gL1';;llgLI
.qcdzsrrrrerd qcf1 z tszs/(Jold s"ezcł\oł\ .vsu e1p .{ure|nąnzsod qcdr911
.durfrrulfzr4 , qzclT ?9ołIaI.& 1set v1e1 zfrp? ,,,a ź sszZ ź u a? u-z zę,Io (*-Z :u.ł lauuerurz l|c)tuĘ qc9ńAp alu€ulłglod paf emc4et3 .
+ Z _ uvi lk ""l)
..€zslłletd 1se[
e1r,rł,oą1ec
€qzcll e1sdzredetu
ł
tslr.toso1..
a|wozJiępz l+ vzceuzo
e
1oqul,.(s
.t+-Z+Z-uu\
z-uul
z+
k-
uu1)--Z
(z - uul)--z ?,+ k - uu1)(elq)a - uu1)(elq)a (6
ył + (T
-
r) ("|q)a
ęł _ r) ("|q)a
(c)a(clq)a + (e)a(elq)2' (e)a("lq)a .
|q),ł
O.r1-Etr:
(qlB'rd
:ocbfndó1seu d1epŁ18dlro' bp3q eruezc11qo dpe116
uur Z
-o{ł€c qzcl1 qcd1sdzrede\u Zlu
ź (,lN
-r=(B)d
.qc.{1tlttr tsIu€ndoc"ezso durefdzn
Tsa!
r 7ę. dzpóru az .ó8elłn pod ctrotg ^Iu
llul
llq
uur
u 11 -= -=
llzul NZ
11
€u//tgJ nruezr1qdzrd l\Ą 1sa[ l N ,tzpbltll qcdptrrtez o IuoIuazpJoI/Y\ł z ^1Z qcdzsn.rerd qzc11 (qc,{pdzredaru) eqzcq qc,|zsłrrerd qceqzcll
SZSfuIASIł AqZCI'I
LTI
tr/N
JSSJ ANZCATSITAVAOAł
'9'V
4. SYSTEM.RSA
138
0,500
1
0,250
2 5
10
20 30 50 100
0,312 0,977 0,954 0,931
FAK'IORYZACJA
t75
2-n
rn
I
10-1 10-3 . 10-6 . 10-e . .
o,ggg . 10-15 o,7gg . 10-30
I75 + 2n+I 0,978 0,956 0,732
0,787. 10-1 0,834. 10-4 0,815 . 10-7
0,777 .r}-r3 0,690 . 10-28
RysuNnx 4.8' Prawdopodobieństwa błędu w teście Solovayaśtras-
sena
(1) (2) (3) (4)
napisz n - I :2km, gdzie rn jest liczbą nieparzystą wybieru losową liczbę całkowitą a, I śa śn - 1 oblicz b: a- mod n if ó : 1 (mod n) then
odpowiedz
,,n
jest pierwsza"
(5) fori:0tok-1do (6) if b : -1 (mod n) then else
odpowiedz
,,n jest
QUIT
pierwsza"
QUIT
b:b2mod,n (7) odpowiedz ,,n jest złozona,,
RvsuNpx
4.9. Test liczb pierwszych Millera-Rabina dla nieparzystej
|iczby całkowitej rr,
Wykażemy teraz, że omawiany algorytm nie może udzielić odpowiedzi ,,n jest złozona,,, gdy liczba n jest pierwsza. Inaczej mówiąc, algorytm Millera-Rabina jest pozytywnie nastawiony.
TWIERDZENIE
4.10
Algorytm Millera-Rabina badania złozonościliczbjest pozytywnie nastawionym algorytmem Monte Carlo.
DowÓD
Wykażemy tezę, doprowadzając do sprzecznościzał.ożenie, że algorytm odpowiada ,,n jest zł'ozona,, dla pewnej liczby pierwszej n. Taka odpowiedź następuje wtedy, gdy a- l 1 (mod n), Rozpaftzmy teraz ciąg wartości ó testowanych w algorytmie. W każdej iteracji pętli for liczbab jest podnoszona do kwadratu, sprawdzamy zatem wartościa- , a2*, . . , , ou^_,* . Ponieważ algorytm odpowiada jest liczbą zł'ozoną'', wnioskujemy, że ',rt,
-1 (mod n) dla0ś'<ł_1. a2'^ #
:€Iu€urlĄoJ
e.tnp
(t r)(t d): (u)Q bd: u cŁfnztr,lo'zol .ozs.tuerd o1tuudzc eu
,(")Q
gl|zo1zot o.ł\}€ł €uzotu u o1 .b.d qcdzsrra.rerd qzcq qcg^LP ueudzco1t 1sa[ z e l u ,|qzc11Łs eupuz I9af .(u)p .,(qzcrl 9gouro|vuz ,tzcrc1sdrvr rrlnoąd1qeueo1ddn1 ez .nzer po ,|lnzvnnv7 9€,Y' ir1ruudzc eu u fqzu1 p€łłzoJ zaztd zla tezcęIJl Vsu .etue1d4 -oĄtswtsz tsuzolu ^tzc :tulztq.e1erzpzorpod urd1
rr.r
.{
ars .{uerurtez urdr9p1
YslI
Bu IąB+v .9.7
.9rqor n1 durerzp3q eru o8ezc .9eze4['n tsuzotrĄT .v f 1 ouo vzcvtnezld eru ez .€ulcłts1I tsJo11141 nru1dro81e npÓ1q o^ĄłstIolqopodop'ra'erd ?ępeqz e[e1sozo4
l
.1sa[
...tszslrłtetd
u.. dq1erzper.łr.lodpo ur1d.roB1e nąpeddzrd ud1 .tr ez one|,bt.csouzcezlds 1se[ oc
,(u pour)
uIoIłłs€I.dó'JaId
.aruqopod cblnurnzog .1 z urd.uo1eJp€1ńI
drurzpoqcop
n{un.I€.ł\ op ncyo{
.t.r
.polzrJ{,u.
.(u
I:_ *D
ue1 ctfezrepł'od
polu) Iź -._,óD
?dq
lsfiu uz
,zD
dPełr\A
.(zporu) I=ur_rcD łaunJts,tt duoru1ads cdq ura1ez tsnru
,(u poru)
.((u pour)
I=r
IuoI{łsBI.ĄlJord 1set
qdzc) (1
r
'((u pour)
- ")|"
I-
I_ #
_,_"7D
ez 'durarpl
r
qdzc) (1 1 r)lu oqle z eqzcrl z€^Ąoluod
= oqlts tuał€z .gzsltlerd 1se[
'(r +
dp8 .dpe1.u
dpeyt
o{Idł I
?,,
")(t
- ")
1"
o1npotu 1 z urd.uo1e.rpelu.ą .?,l
:tlce.uresqo qcdcttndóptsu z oI g{1ud^A
potu 1a qtzc,u
o1
łso| -,_"eD stszc.&\g6.u't,,(:1_uz,tp8
-npou 1zurdrrto1erp€A{IuoD1łsprrrrrord
,(u pour) 1= _,eD dureur '(g'7 {eso!,t^) eleurreg
oruozplol1r\ł cŁlnso1s r .Łzs.trrerd bqzcq 1sa[ u ev,vtuazo1vz z zęl:o1-cbtepfiztoy
ysuł/N rxvrv '9',
6tr
4. SYSTEM RSA I FAKTORYZACJA
140
z dwiema niewiadomymi p i q. Podstawiając q otrzymamy równanie kwadratowe zmienne; p:
: n/p
do drugiego równania,
p2-(n-Ó@)+l)p+n:O, Pierwiastkami tego równania będą |iczby p i q, czynniki |iczby n. Tak więc znajomośćliczby $(n) pozwoli kryptoanalitykowi rozł'ozyć na czynniki n i tym Samym zł'amaśsystem. Innymi słowy, obliczenie Q(n) niejest łatwiejsze niz rozkł'adna czynniki liczby n.
oto orzvkład.
Przykład 4.9
Przypuśćmy, że kryptoanalityk poznał Iiczby n : 84773093 oraz Q(n) : 84754668. Ta informacja pozwala mu uł'ozyć następujące równanie kwadratowe: p2
-
t84z6p* 84773093:
o.
Można je rozwiązać za pomocą standardowego wzoru; otrzymujemy dwa pierwiastki: 9539 i 8887. To własnie dwa czynniki|iczby n. I
4.6.I. Wykładnik deszyfrowania Udowodnimy terazbatdzo ciekawy wynik: każdy algorytm obliczający wykładnik deszyfrowania a może być lżryty jako podprogram (albo wyroczn,ia) w probabilistycznym algorytmie rozkładającym n na czynniki pierwsze. Wynika stąd, ze obliczenie a jest co najmniej równie trudne jak rozkład n. Nie wyklucza to jednak możliwościzłamania Systemu kryptograficznego bez obliczania o. Zalwazmy, że wspomniany wyżej wynik ma nie tylko teoretyczne znaczenie. Oznacza on, iż ujawnienie liczby a naraza na niebezpieczeńStwo takze wartość n. Jeślitak sięzdarzy, Bolek musi nie tylko zmienić wykładnik deszyfrowania musi również wybrać nowy moduł n. Algorytm, któty za chwilę opiszemy, jest algorytmem probabilistycznym typu Las Vegas. Oto definicja.
DEFINICJA
4.5
Niech e będzie liczbą rueczywistą spełniającą warunek 0 śe < l. Algorytmem Las Vegas nazywamy taki algorytm probabilistyczny, który przy rozpattywaniu dowolnego przypadku może z pewnym prawdopodobieństwem e nie udzielić żadnej odpowiedzi (tzn. może zakoficzyó działanie komunikatem odpowie'brak dzi''), ale każda udzielona odpowiedź jest poprawna.
UwAGA Algorytm Las Vegas może nie dać rozstrzygnięcia, ale gdy je daje' jest ono poprawne, natomiast algorytm Monte Carlo zawsze daje odpowiedź,Iecz nie zawsze poprawną.
.tI
:
(t07,zI8)CI^^.N
fęJo It:
(t07,t6)o^ĄN :dul€Iu 0I.7 olzptsłłdzrd6 1ddrą .tr rvr.o>1rud.tt n1 er,rł' brte 1sp o d .
r
ge rBo
.uazclTqo ols€zc urd.uouerurolal.Ą\ elrwpal€z n u iqzcl1pełłzol 1se| 1>1e3 /:uzent ua; o8eu1erirldr1eru 99oruo| 9l|zc1qo e1erla'zod Ł' olnpou 1 z oBerto1erp€.Ąt>l erlłStsI1vrrerd .eseprp1ng -euz oz ,ula1tsz órs etnze46 .u tntu:o'frzc eu dqzcr1 np€PIzoI cb|vuz eru nru1dro81e Łcoruod ez cfzct1qo 'tuleqoul qzcl1 qco.Ą\p {IuIoIzp du1ods.tl .{zs1Órł'[eu erc9r.,yr,.{zc6 '(D
olnpou
.U
,e>1rud.trt
ez
q"t
d: (u't -
l) b qnt
d:
(u 't +
z)OMN
")OMN'eruzct8oleue pb1g .te.te:d od łr'gąruudzc z ofleupez ual{Iulotzpod 1set alu ?'
oI3
!
'(r+")(r-r)lu
n
7 =, l
1 z urd,r.r,o1erpąłt{ ulal{}sgr.urard udu1er,łrd.r1eru 1se[
(er potu)
I- = r
r
dpał^Ą
ez,frwz91e7
np€ł{n weIuęzbttytzoJ €uo łsar .ITt
:
'(re polu) z6 _ t}v
eqzcq V[q rsnu ruoDllser.urerd ur4e1 urr8n.rp ez 'durer.tr '1e1set.urard duler.u'dr1 -alu uol cŁ!e14.qc€lzsoJ o €IuazpJal..r\1 o8erąsyrqc Łcoruod ez (lt, pout) 1- : r
.(tt po*) I : Ż np€ł{n z duefnu'tzl1o -zct1bs t07
olnpou 1 z
.ZOv zEro
ITt
.Z6 .I f,q
76 łałs€Ił\JoId .It . tI : t07 _ u
IIug{łs€I1r\JoTd
rudrrto1eJp€1rDl
qcolN
91'V Pe74tzt4
'pe1>1dzrd eu durzrledo4 'u rurel eruura[ezr* rurdurrnrcezrd olnpou .d o1npotu 1z -uaualo bs t luL'fiu7otmfi,.t,7at,u bs eue.u.dzeu t>11sr.u.rard €.Ą\p oł€łsozo4 r11sernrerd au\ol'mfi"ą outs,Ą\z ł€ł o} Łs lu pour I+ : lt o1 yezht.nzot o,t\o}€Jp€^\{ .qc€łzsal o €IuazpJarrrr1 o8ar>1sgrqc tcoruod tsz Jzalęuz e[ euzour t t7c,|1 z B.ł\c[ u b|a1u1s1 .(Ó poul) I+ u oInPouI L = I .e1ru,trvr ,(Ó poul) (d poul) 1a I = er ez r (d, p Pour) I : zr o?'oBat,7 I: up,zblntzol €l(Ip €uI (Ó poul) "r .d o1npour eluezb1n .d I = zr elcuanrBuo1 oruqoPod potu I+ : r oIcI^\ou€TIII ."or ó,'lp eu (d pot'') I - zfr ę,tcuonr8uo1 az .dulruuroddzr4 .qcdzsrvrro1d qzclT .u o1npour z qcfłro1 1 qcdpdzredaru qcduzor qc.oł\p uraudzco1r 1sat Ód _ u etzpB -€Jptsió,{ .u'9>11septrr'"re1d qcdcŁzcd1op qcepl€J qcduned ęu órs erardo ur/ro81y .-zlI _ I tuo1ńtsuolqopodoprl.rerd z r;uofołzol olu€}soz u tsqzc\,frmt u't, .7,f 1 teyruileu oc luo1r\łsuerqopodoprvrerd z azsałrard t>1tu
o3,(urcgnd c3rrt q9e1'
.ruzcordrrt o{ts! nul1dro81e dcQfen'dzn -u'tzc eu u bqz.'.1tsp€ł{zoJ ue1 ur1dro81y se8en se1 u1dro31e durezsrdo 'u r g qcduep erłru1spod €u 17 €Iu€.{tor;,tzsep o1u az,frlnz91e7 -peł{d1^ ?gołJts1l\ urdcŁtezcr1qo ueur1dro81e uduzcf1e1odrq 1set .(etuazcr,rłc zt1vd) (' tsoud,l.t' tzpetłl t)
v
-
y lt
-odpo eruerudz.r1o op qcduqazr1od łto8erqazrd uqzcq (eue,rł\Ąozco 1dzc) erupers au.Ą&oJ 1set qce8erqezrd qcdufe1oą u,ł od etcaru8 1lzl1szot n{tsJq o.ry\lsuerqopodop
.u'
.etu1o.rąo1arrvr o3 druerueqcn.rn n1sord -1t\tsJd .Izpolrtodpo dueurdzr1o eru r4odop od o1.se8en se1 ru1dro31€ cts^loso}s€z durecqc nura1qord etur.zbtll.zol op II9of
.t/su
WI
tr/N
IXvIv
,9,Ż
4. SYSTEM RSA I FAKTORYZACJA
r42
(1) (2) (3) (4) (5) (6) (7) (8)
wybierz losowo u, takie że 1 śto śrr, _ 1 oblicz c : NWD(u. n) if ). < n
ab-I:2"r, r :'t r mod n
r : ()
nieparzysta
oblicz u
if tl : 1(mod n) then quit (porażka) while o I 1(mod n) do
(9) (10)
(11) if
:lr : u2 mod n
uo
u
,tlo
: -1(mod quit
else
oblicz
n) then
(porażka)
r:
NWD(oo + I,n) (sukces: a
:
pt
lub
r:
e)
RysuNpx 4.10. Algorytm rozkładu na czynniki na podstawie wykładnika szyfrowania o
Na rysunku 4.10 przedstawiamy algorytm, który, korzystając z hipotetycznego algorytmu A jako podprogramu, poszukuje nietrywialnego pierwiastka kwadratowego z 1 modulo n,by lzyć go do próby rozkładu n na czynniki. (Przypomnijmy, że A oblicza wykładnik deszyfrowania a odpowiadający wykładnikowi szyfrowania b), Zobaczmy najpierw przykład ilustrujący zastosowanie tego algorytmu.
Przykład 4.11
Niech n będzie ab
:
89855713, ó
u :5, Wówczas
- r:
:
34986517
i a :82330933 oraz niech wartością losową
23 .360059073378795.
W kroku 6 otrzymujemy u
:
8587770I,a w kroku 10 mamy u
:
1.
W kroku
12
obliczamy:
NWD (85877702, n) To jeden
z
:
9103.
czynników n; drugim jest
n/9103: 9871.
I
Przystąpmy tetaz do analizy algorytmu. Po pierwsze, zanlwazmy, że jeśliuda nam się szczęśliwie wybrać |iczbę w, tak by była wielokrotnościąp lub q, to potrafimy natychmiast rozł.ożyćn na czyrrrriki, co okaże się już w kroku 2. Gdy tr,' jest względnie pierwsza z n, podnosząc kolejno do kwadratu obliczamy 1!), ,1D2,
,11)4,,. . . aż d|a pewnego
.ur'=1
(modn).
t spełniony będzie warunek
stszc1r&o6
'16:
.t"(,: (I -
sD) | (t
-
''t'"7 | rbrd r*r7
drrręu
0)(t
-
d)
:
(u)Q
nłunJ€'t' Z.Ib tp+sf,ztederu dqzcq leu,tted
e1p
rb&:I-b zeto rd lalsdzrederu dqzcq
rd,z: r -
I
ep
d
qCOTN
'.tnl(1-d) (dpour) I=,n6 pour) I:_ ,a (d
fl1'
dureru
'Z-d>
rr,
> 0 o? !ap1e1 'n [e1luo11ec
.d oppoul urdu1onretd luełuoluolo dqzcq teuo1gaJ{o oluzctsuzoupef leułlad tsIG ,Ezs erzpaq 6 qcerN .Łuzcq1dc Łdnr8 1set *oZ L.v tsIuazpJal^\ł dcour eu uso,1ez .(d -.t.rard 1sa[ d eqzcq zeł\oluod
poul)
T
:
u l|cuanr8uo4 po cót//. lultluzce7 .(Ó poul)
..{pe1.u ołIdl dpe1r.r, (u poul) I = r az,ful l I :- tr zerc (d'potu) I : r dp8 -zr'llrntsZ.qc€łzsoJ o €IuozpJal,Ą\1 o8erąsgrqc bcourod ez a| flnf,zch1od erudó1seu e .aru1etzppo pluęzbltyyzol .rłrerdfęu fulfizt1vdzoJ €Iuts..y\ozTl r d o1npou Ó oppour .(?' poul) -pupaztd ta| n1ac M I - Jrn blcuonrBuoą 3rs durfrurfez ąa1Łzcod e5 .rlcuenr8uoą z Ep?EĄęuluęzbtnzor e1r .tue1ez furzcqo4 .I.fpoll^vz z leupef feruruleu oc etuezbtl'trzot
urldroEle I1Ytou€}s
t
fr12 bts
alnzvrlo ,,loqdrrr" o1 'qcru
.rfcuenr8uo{ .ntsqz.|t|euerqf]rrr. oAosol qse1' T+s eluozts/lllzol op duetrltr
.(rr
ło''t) T _ s
> ?>0
.? o8eu,u'ed tsIp (U
potu)
I- =,,zn
(z)
(Z tont) (u pou) T = ,rn (I) :.uopo.łł'odqc9ł\P z co1u;Lu ezoru t4ruudzc eu u tqzc11nptsł{zoJ Ąe;'1'.ZlI faruurleu oc uo,Ą\łstJalqopodop.trerd z .er1azc ztsJol Stsu ar91ą .arueptsz ou/ttgłc łIud''! etep ru1dro81e ez,atuezv4d,tt o1
((u)ppour)
O=r"Z:I-qD nłunJtsA z !o|oĄz
ysu't/N
wr
Ixvrv
'9'n
4. SYSTEM RSA I FAKTORYZACJA
r44 a stącl
i-|jśs oTaz
P9t
I
r'
Dalej, warun"k (p_ I)|ur przybiera postać 2ip1|ur, Ponieważ Pt|r ir jest liczbą nieparzystą, warunkiem koniecznym i wystarczającym do jego spełnienia jest,
by2,|u. Stądu:k2i,0 < k < rozwiązai'
Pl-I,
akongruencjau), = 1 (mod p)rrrap'
Rozumując podobnie, wnosimy, że kongruencja w" : 1 (mod q) ma dokładnie q1 rozwiązafi. Łącząc|
: I (mod n) jest równa p1q1. Następny etap to rozwazenie kongruencji ,U)2", = -1 (mod n) dla ustalonej wartościt (gdzie 0 < ć ś s _ l). I znów, Zaczynarny od kongruencji modulo p i modulo q (zauważmy, że u)2", = -1 (mod n) wtedy i tylko wtedy, gdy _1 (mod p) i-,,": _1 (mod q)). Zajrnifuny się najpierw kongruencją 1,)2,, = _1 (mod p). Jeśli,jak poprzednio, przyjmiemy w - 9u, to Inalny ,,)2", = no rozwiązanie modulo n. W rezultacie liczba rozwiązafi kongruencji u),
- -1
nu2tr
(modp).
Porównując to z warunkiem g@_t)/z:
uz"r:. D-l ó
_1
(mod p), otrzymujemy
(modp-1)
(uz,,- Ł=) _ " I\"\| 2 ) 2(p-t)l(uz'r-(p-l)). Z koIei z równości p _ l : 2,p1 (p
2iłIpt | (u2t+1r -
2i
mamy
p),
Gdy wył'ączymy po obu stronach wspólny czynnik p1 oŁrzymamy 2i+1
|
ltrt+Ir \Pt /
(
.
i
wykonamy redukcję'
\
/
JeśLit ż i, to rozwiązań nie rna, gdyz 2i+t|2t+I, a|e 2ź+I y2n. Z drugiej strony, gdy ć ś ,ź _ 1, wówczas u jest rozwiązaniem wtedy tylko wtedy, gdy u jest nieparzystą wielokrotnościąliczby 2i_t_r (zalważmy, ze rfp1 jest nieparzystą liczbą całkowitą). Tak więc w tym przypadku liczba tozwiązafijest równa m-:-
|
|
2i-t-7 2 -)rn.- "' .
-
ł$1a} o8ocŁtezclTqo nult.{Jo81e r[c>1nr1suo1 dzrd ótuzco.rd.łr ez ctzn1s ezoul,(fi)yod t 6 oBeuep ep dr9q .urp{rofi1e fpqvĄ eq .drrrezv1d11 (fi)"t,od tszcllcło (r)xa
.Zlu > r 5 g
,.(p3
leruruleu tszcęufo
.g:
:
dp8 - u > r > zlu ((x)Xa (fi)yod etzp8 ,(fr')yod zu1qo .T
(Ąl'od atzp?
,(fl,).t'od zcqqo
,(,),, :
.I
-
: fi'
(ń)yod
auep
zerc
cŁ!e6
(7)
ln yq ficbzceuz fr euep cŁte6 (1)
i
'1
:rfceuuo;ur lełr'orcsózc dpe1ądzrd ts^\p nł durelnr1ed
.zog .YsE etua1sds ,tt etue.uor;dzs sezcpod ..colcd.lń.. ozoIu €J9l{ .tudu.ł.rg[ arcs .4rud.tt dudÓ1se51 -ąa1 o rtceruro;ur lerrtorcgózc 1lzct1op.dtuarurfęz zere1 órs rudl914 oBaur*ef
nł$IołtIcBłIq o
e|ceur.rogu.r
ernorcsbzc .z.g.v
'7f latuuttvu oc rsouf.tr 1 ...qcdrqop.. rtoroq,{'u nru1dro81e nsac{ns o.Ą\}s9olqopodopłre"rd pŁ+S zlG - u) lerutuleu oc dueru , ;1ct1z,, 1se[ rn dqzcr1 rrtgroqdłr zlG-u) fezd,trfeu oc zB,t\oluod
i-
n\ t 9 (t-t +"ltbtd -+u u > \rzZ Z/ pŁ1s drualnudzr1g
'u
zf,pB'yfu >
rbrd, olptsuod
,
'rbft:1-b
(t
-
D)(t
-
d)
zerc ldr?,:
:
'b'd ,*,2
)
rbrd,zZ
.{urerll 'I < ? < ! o? '?a! o? '.{tu[ruruod,(zr4
I-d
e\ / ę (*+il'n'a:
(t
(]
\rzZ
-,#-Ł
+
Z/ \ t
)
łu :
(z_eeZ+'' . +
+ zz + I)IbId + IbId
v7,
tqzct1 ezce t>1ez.rd eru m fqzu1 łloroqd.u,,t1c lt1z,, ,ch|tztd eqzcrl eu1oSo .0 tsu1(oJ 1se| uezhtr.rrzoJ €qzcq ,? < + f,pB.dpe1u :[ } p eł dtuezour rcsou1g8o d1er1n zo1..I - s op 0 po lc9o}Jts.&l ce.rerqdzrd azouI ł e-uuo|ulz
.t-{[.p}ug'>ł fpB fp8 U,p},l-
'tbrdrcz
< ł
'o
€u.ĄdoJ 1set (u potu) I=',"* rfcuen.rBuoą uvzbln -zol ęqzclll az ,f,tllvzpletrrt1s .qcu1zso.r o oluozpJol^lł aI{sIJIqc aru.ryrouod cŁfnso1g ,l1vzbl.ĄdzoJ tsIu aru (D poru) ,uezblnzot .r olu€.ó&olunzoJ auqopod
rb,?, ęul |,! < 7 ttp? - t > ? dp8 I_ = ',zffi elcuenr8uo>1 a? .n>1soru.tr op rzperrto'rd
ysu't/N
9TI
rxvrv
'9',
4, SYSTEM RSA l FAKTORYZACJA
r46
r. To
jawny
jawneznaczy, innymi słowy, że obliczanie na3niżsfego bitu tekstu
go na podstawie znanego tekstu zaszyfrowanego jest wielomianowo równoważne ustaleniu pełnego tekstu jawnego!
Najpierw udowodnimy, że obliczanie par(a) jest wielomianowo równoważne obliczaniu pol(d.Wynika to z następujących łatwych do wykazania równości (paftz ćwiczenia): pol(y)
:
par(A ' e6Q) mod n)
(4.1)
par(a)
:
pol(y' ,*(2-t
(4-2)
mod n)
)
z prawa mnożenia e1a(r1)ey(rz) : e1a(rp2). Pokażemy' jak obticzyć n : dx(a), dysponując hipotetycznym algorytmem
otaz
(wyrocznią) obliczającym pol (a). Algorytm przedstawiamy na rysunku
(I)
4.
1
1.
oznacz 1x: l\og2n) :0 to k do
(2) for i
(3) (4)
,n: pol(a) a : (a ' "xQ)) (5) lo:0
mod n
(6) hi,: n (7) forz:0to,kdo mźd': (hi + Io)12 (8) if yi :1 then (9) else
(10) r : lhi)
lo: hi,
:
mid
rnźd
RYSUNEK 4.LL. Deszyfrowanie tekstu zaszyfrowanego w mocą wyroczni obliczającej pol(y) W krokach
,r: dla 0
2-
4 obliczarnY
pol(y. (ex(2))n)
śi ślog'
pol(e6(r))
: Pol(e6(r
n. Zaullłazamy, ze
:
g
ę
"
.
pot(e6(2r)):s <+ ze pol(ey(
'2'))
ł)):g <+ r €
|,,Z)
[o,i)"1;,T) |0,;) "
[i,*) " [; T) " [?'?)
i tak dalej' Możemy zaterr- zna\eźćxj za pomocą przeszukiwania binarnego, odbywa się w krokach 7-11. oto przykład dla ilustracji.
.uZ
óts 9euo1ezrd dpe1trr druezotr41 ) r qcolN olnpolu 1 z qcdrl.ro1eJpąry11l 1(o{ -1set.urard z urdupel erzp3q r,l qcelu .lerupe1ąoq .eu.me[ ,Ęs1e1 a.Ą\IIzoIu f,'ta1zc ce.otoluezardar ezour due.no4dzsez ts{o} dueq 'euzceuzoupel 1se[ aru erue.tior;dzs -ep cótn' e .ernotcso1.tamouzol łsal alu xa €Iuts1ńo.r.;dzs e[c>1un; ez ,[urcze4['71y .?,,
.nrue1sds srdo u11oo1 Órs elnpleuz g1'7 nrluns.{r el\T 'rqruudzc eu g,{zolzoJ Buzoru etu bd: u n{npolu 119e[ 'rudu.uel oIJPIoł tuduerqd.lt.t. eu oBa1redo n1e1e r1aped,{-til eu tuzcetdzeq oru'otuezcr1qo 1se[ ,(r9p1 .eurqe11 ńuzcg=.rEo1dd.tą ure1sds e1erzpzorpod rud1 .tr durr.te1spazr4
BuIq€lI r[uzcger8o1ddrą ula}sds .f .7
VS1I
elu€1ńo.rgf
zsep sezcpod auJBuIq olueló'IłnzsozJ gg'666
9Z'000I
69'I00I 69'I00I 69'I00I 69'I00I
gg'666 gg'666
9Z'000I 78'866 00'966
0t'066
zg'016 9L.Z60I 09'8eL
00'Lgvr
69'I00I
9L,Z60I
26,8L6 9I'996
69'I007
69'I00I 9L.Z60I 00'f 97I
L
0t'066
OI 6 8
78'866 78'866 78'866 00'966
z6'8L6 9I'996
z9'0I6 Z9,016 0g'gzL 0g'97,L
00'0
d zl.v xgNnS,t.łI .
o
h
c
z I 0
p?u'L
[.71.7
n1uns,{J €u
.666 : [s9.666l : r córłt 1se| udurlnel uro}$IaJ .1e1 eBetqezrd eu.reutq olue1(I{nzsoz"rd sezc,ra.o11 ?BpI.& o} {B!
a 8
I
I L
q
I h
Z
I
OI
I
:?ń rcgolre.tt actlndó1seu nur1dro31e t n{oDI ^\ durelnurdzr1o 1od r|cąun; e1p óruzcordrvr cŁlnso1s az|&nz91e7.9n6 : (Z)x" ,|-n,, : : u IłJoIN -\qo .zzL fr, atzpóqtuu'{uenory'{zs€z tuo}s{oł qcolu I 6LL LgvI Q, 6t'V Ptsl>ltzrd
-
yNlayu ANZcIivaDoId^EX Wgls^s
LVI
./'Ż
4. SYSTEM P,SA I FAKTORYZACJA
148
Niech n będzie iloczynem dwóch tóznych liczb pierwszych p i (mod 4). Niech dalej P : c : Zn, okteś|my
: {(n,p,q,B) : 0 <.B śnK : (n,p,q, B) definiujemy
K Dla
e6(r)
: t(n + B)
otaz
Q,
P, Q = 3
1}.
mod n
IE\
B dx\U):\,l ą *u- , moon. Wartości n otaz B sązlane publicznie,
natomiast p i q pozostają tajne.
RvsuNpx 4.13. System kryptograficzny Rabina o prawdziwości następujących równości:
//
"^ ('\'*
B\ : // -, z) ) ('("* B\
B\
z
)^
,/ BY :'-('*Z)
'r)
('('.'r) .'u)
Ł\, \2)
(
: 12łB,++- pz ,
: 12+Br : er<(r).
+
(Zalwazmy, że wszystkie obliczenia są wykonywane w Zn, więc dzielenie ptzez 2 i przez 4 jest tym Samym' co mnożenie przez 2_r i 4_1 modulo n, odpowiednio). Czterem tekstom jawnym: I, - I - B, u (r ł B l 2) - B l 2 oraz _w (r ł B l 2) gdzie w jest nietrywialnym pierwiastkiem kwadratowym z I modulo n, B12, przyporządkowany jest ten sam szyft e6(r). Na ogół Bolek nie jest w stanie o ile tekst jawny nie zawiera okreśIić,któty z tych tekstów jest ',poprawilY'', nadmiarowości wystarczającej do wyeliminowania trzech spośród czterech mozliwych wartości. Popatrzmy na problem deszyfrowania z punktu widzenia Bolka, który dostaje tekst zaszyfrowany y i chce ustalić wartośćc, taĘ by 12 +
Bx: g
(mod n).
Mamy tu równanie kwadratowe zmiennej z. Podstawiając t1 : rł Bl2 lub równoważnie x : r t - B l 2, rnozerny wyeliminować składnik liniowy. Dochodzimy
wtedy do równania
.R2R2 r| - Bą+:- + Br't - ? _u=O 42"
(mod n)
:
(ft)xp
:erue,uo.r;dzsep Ó1n3ar qgsods uoł ł\ durelnąsdzn .aurrrel d1s1e1 o.Ąlllzolu f,.rc1zc durelnurdzr1o ! z/€I _ Ix : durezcr1qo Tr Tc9olrę'yr qcdłrq7our qcalolzc nruol€łsn od
:
Jr tsIUtsU./r\ol
z
t
I
urdrlłougrruolalr'jĄ als€zc n Acb|e1etzp 1s€IIuo qcdrvro1erperrł'{ łzsal z a.&o}tsJpts.1!ó.{ I{ -btezcąqo duzcd1srurura1ep ur1dro81e uapez
'se8en se1 nddl
ur1dro31e
I
-npou
a.ł\o1tsJPB.ł\{ tą1ser.urard ['le1zc qJ€+zsoJ o € -efnrudz.r1o npnJł zaq ?n! pŁrs .D po* r/(r+'
fiIIg{łs€IAJatd .etuqopo4 .d potu
y1
641cł
-tsl'ó'{ nug{}sęrrrrrard córm >1ea .(d potu) 1 = IIgo! ez'vzptettlrls er91q 'ere'
blzsar 1se[
C
@r (d
sezc,r-o16 '(7 p
-errtą Ł1zsar atzpóq -ts.Ą\{
qcalN .nJoz.ł\ oBa1so.
łzsoJ z qcdrrł'o1erpfu\{ '
ruet>1rud'11
.
9
.1t\.o{}s€.Irrł'rerd
e
'ttol
z t7c['lll'o1eJp€,Ąr>l
runrreldry'auozperr,rordazrd
rrrgr11se1łrretd
aru.uerdod o1e
oppo* l) d o1nPotu Łrr.ro1erpe unua1drą bcorrrod ęZ.(N olnpoul i
arzpóq oc .(D
€Jolng
-,|zt1o ,qce1zsal o €Iuoupretłl1 -ę11t)I
I)IłsBI1{Iretd errrp
o8etąsvlqc z za
zBlo d olnpolu
'
:rlcuanrBuo>1 d.red pruerrrdzbtntzot op - i -tsIp€.ł\{ .Ą\9{}s€I.tiJold etuezct1qo op órs ezpt
:[ecor1 gvstdez {aunrts.&r ue1 durezou
6VI
VNIAVA
4. SYSTEM RSA I FAK'IORYZACJA
150
Przykład 4.73
Do ilustracji procesu szyfrowania i deszyfrowania w systemie kryptograficznym Rabina użyjemy bardzo prostego przykładu. Niech n : 77 : 7 . II i B : 9. Wówczas funkcja szyfrowania ma postać
,^
e1a(x):# +9tmod77, a deszyfrowania
d,x@):\F+y-43nrlod.77. Przypuśćmy, że Bolek chce odczytać tekst zaszyfrowany U :22. W tym celu musi przede wszystkim ob|iczyć pierwiastki kwadratowe z 23 modulo 7 i modulo 11. obie te |iczby, 7 i tI, przystają do 3 modulo 4, rnozemy więc użyć wzorów
23(z+t)/ł:22:4mod7 oraz
2BG1+r)/4:
13
:
1 mod 11.
Stosując chińskie twierdzenie o resztach' obliczamy cztety pierwiastki kwadratowe z 23 modulo 77; są nimi liczby *10, t32 mod 77. ostatecznie dochodzimy do następujących czterech tekstów jawnych:
- 43 mod77 :44 67 - 43rnod77 :24 32 - 43 mod77 :66 45 - 43 mod 77 :2. 10
Czytelnik może sprawdz\ć, ze każdemu wany
22.
z nich
odpowiada tekst zaszyfro-
I
Zajmierny się teraz bezpieczeństwem systemu Rabina. Wykażemy, że każdy hipotetyczny algorytm deszyfrowania A może byc lzyty jako wyrocznia w algorytmie typu Las Vegas, który rozkłada moduł n na czynniki z prawdopodobieństwem ll2. Taki algorytm jest przedstawiony na rysunku 4.14. Musimy tu wyjaśnić kilka spraw. Po pierwsze, zanwazmy, ze
a:
eK (,
-
zatern wartośćt otrzymamy w kroku 3. Dalej, patrząc na krok 4, stwierdzamy,
(mod"), n). Oznacza to, ze 11 : *r (mod n) lub rr = +ur (mod n), jednym jest z nietrywialnych pierwiastków kwadratowych z 1 modulo n. gdzie u
ze
rl : r2
W drugim przypadku spełniony jest warunek
nl(rr-r)(rt+r),
aDIęł 9.{znłsod azolu .tudurr.rel tuał$Ioł urdue"rqd,r.r, z n}1e}€ coqo.{t elu.1sgezcetdzeq ,rcso1sr.udzcezr olzpo./l\op n [1[zn,y1,v .sś'teu duesrdo ur1fro81e 6 .rudue,uor; -,|zsęz tuałs>Iałruduerqdru, z nłtsł€ rlcen1ds ł. duor.treqzod e,t1suazcardzaq o3e1
.tudułrgl
gulq
rue1s1e1 urdue.rqd'rn' z ru1e1e >1epedf,,tr tsu eru1ednz uo 1sa[ }s€rtuołtsu . -eg o8euzcger8o1ddo1 nure1sds o.tr.t1st;ezcerdzoq ?Iupo^\opn tsuzolu ez a.tleąat3 .pŁ1s dur .7f 1 aunol 1sa| nu1dro8lts nsac{ns o.Ą\tsgalqopodopłrerd ez -a[n>1soru,11 .ou..r\oJ ts rcsope.tr qcdrlłr1zoru qcaJołzc qcrr11sdzsn' eruardt1sdrr,r ełr1s .nu1dro81e socłns tsIu -gerqopodoprvre.rd rue1ez .o,ttoso1 euerarqdm. 1set "l 99ope11 ,ft+ : J -lł.edęz ftna : J łsBIIuołęu.uratuezportoderu Órs [zct1'o1 u1dro31e II9of
'{fr.+'n+) .ń rc9o1rerrr |a1u op nruezperYrordrvr od
y
ótuzco.rdł. zaztd
:
dpeyrn buvzv>1s.Ą\
l'
ln)
due6
?9o}r€.ł\
zerc1 t|ulzl1edzop'fi' ?9ołJts.ł\ brues 31 Łtep rtc1er1sqe dse11 lerues [a1 op ectze1 -tsu J lc9ołJts.Ą\ ol,ł\p aulo.t\op 71.7 n>1unsdr pu ur.{uor.ryrę1spezrd arur1droS1e 6 .U oFpotu z rud.tr'o1erpts,{\ł uloullser.ryrrord urfupr.trdr1eru 1se[ m etzpB 1
'{u poru
lna'la} :
l.t'l
i
.rgrqz 1se[ J nłuoualo rtc4e.r1sqe tsu14 r|c4er1sqe dse1ą te! eq1s,{zs16 .?'c,ou?Dnoun9J lerYro1ueure1aoJo1ozc o. {o} ^ Z.t' I.l, ttn4łdrn E"t' az .pb1s g{Iud6 ,tJ btco\a.t, }sa[ ! z"t' I.r plunrpn. e Lr1 t"r TIge! 'o1peuo6 '.t' oBepzv>1 c-lp N .t' oV 'E1'Vv11'nP.z orv\Ivq e1 o+ Lzr
-
-
\"Z
-
-
r
-
-
.(u potu)
2,: ł, ę
óJ
-
qceru 'ZJ I
IJ
I't' +zSgt
€Io .J lc9o1Jts.ł( lelrroso1 d.roqdrrł. o.Ą\IIzoIu 1 - u arr11s,tzs,l.l pod ctrorq .ntu1dro81e o3e1 nsecr1ns o.ł!'łsualqopodopl,rerd durzcqq6
qcdmorezetu qc-onep Ó8g.trn
oc
.tąruu..{zc u ltqzct1np€PIzoJ sacord fizcuo4 eu qnl) (u.J+ Tr)oMN €IuazclTqo cfq rsnur ((,,,'")o6.t.t .oluoJls ferrrp"rd od .uoąruudzc z o8aupe? \o\zp a|u u zcol ąea
.Ó oq1e .d oq1e
uretąrudrvr cÓrrrr'
-Azrr z BuIqglI artua1sfs
eruerno.rgfzsep ruzco.rfrn tuarc
tlA
nłnPoul 1>1.ruui(zc Bu PBłłzolI .7T.7 (sec4ns) Ó qn1
d:
uaql
xsNnslll
(u,.l' + Ir)o^ĄN
(vr1zerod)
łI.,b
(u poru) "ra = rr
I
JI
(9) (7)
ZIA+a:r:D zcqqo
Ź łS{eł fiuv,,,tot1,|zszor cvr1sdzn dq .(ó)v te1ołtdłt(g) : fr, zulqo (7) u potu V I zA .J o^Ąosol "r zretqd,t (1) >J>I I_
?/
./.,
ł/Nlsyu ANZcIivEcoId^ax wgls^s
I9I
4. SYSTEM RSA I FAKTORYZACJA
r52
do złamania systemu Rabina przy ataku z wybranym tekstem zaszyfrowanym! Podczas takiego ataku wyrocznię
A
zastępuje algorytm deszyfrowania stosowany
oruez Boll
4.8. Algorytmy faktoryzacji Literatura na temat algorytmów faktoryzacji jest niezwykle obszerna, a dokładne przedstawienie tego tematu zajęłoby więcj stron niz |iczy ta książka. Poprzesta. niemy zatemjedynie na krótkim ptzeg|ądzie wraz z omówieniem najlepszych istniejących algorytmów rozkładu i ich zastosowania w praktyce. DIa dużych liczb
najbardziej efektywne są: sito kwadratowe, algorytm krzywych eliptycznych oraz sito ciała liczbowego. Powszechnie znane są też algorytmy, które można uznać za poprzedników tych ttzech, czyli metoda p i algorytm p _ 1 Pollarda, algorytm p * 1 Williamsa' algorytm ułamków łańcuchowych oraz, rzecz jasna, algorytm dzielenia próbnego. W tym podrozdziale przyjmujemy, ze faktotyzacja dotyczy liczby nieparzystej rr,. Dzielenie próbne polega na dzieleniu n ptzez kazdą liczbę nieparzystą niewiększą |''n| Dla liczb rł, takich że, powiedzmy, n < IOl2, jest to sposób "d całkiem rozsądny. Jednak dla większych rł potrzebne są na ogół metody bardziej wyrafinowane.
4.8.1.
Metodap-1
opiszemy tu pochodzą cy z I97 4 roku algorytm p _ 1 Pollarda, który może posłuzyć za przykład prostego algorytmu, dającego się niekiedy stosować do dużych Iiczb. Algorytm, przedstawiony na rysunku 4.15, ma dwie dane wejściowe: liczbę n (nieparzystą)' podlegającą faktoryzacji) otaz ,pgraniczenie'' B. oto jak
dział.aalgorytmp-1.
Dane wejściowe: rr, i (1)
n:).
j:2to B
do
{2)
for
(3)
d:NWD(a-\,n) ifI
(4)
B
a:0,3 mod n
d jest dzielnikiem n, (sukces)
else
nie znaleziono dzielnika n (porażka)
R,YsUNEK 4.15. Algorytfi| p - 1 rozkładu na czynniki pierwsze
[
.duolułods elzpeq ig|8f6stT {ounl€1v\
'tuvpb,z,ELI <
g
durerur7ern' cóvrr 19e1. {
'8fI ' ItT
't'Z:8f6StT
o11d1 eu 8f69tT vfcvzf,tolle; nlpeddzrd urdl 6
:ezs,tnrerd r4tuudzc ..o1€ul..
tsqrDrl zrel aruod 'tueruezpo.uod 3rs el,tzcuo4ez
'6f69TI'
61
6sgT
:
I?T80L0LL9I
:dcŁtndÓ1seu 1se[ ezs.ttretd u1tuudzc Eu u pełĄzol ,7Z7IóZOZ9TI : o fruleull|zl1o du1e4 .616991 erzp3q p Łrcgope.t Łuozcr1qo E ?/qcalN .08I: g.€ I p 1_dur1,t.ro81edruelnso1sezI.I9or.Ią80L0LL9T: V7'V Pe74.tzt4
8nłoDI^l
'rlcerlsnlr ep PePldzrd o16
.ouozołz dqzcr1 o1
ts
q9et ,pf u zeł'o p l|cvzf'to1
-4e3 qg.rd op ggtezrd tlutazout p u4tuuttzc oBeulerrtdrlalu nluolzoltsuz o6'(1 = P-qzclrI órs o1r.tetod alu t n{oJł a.r' a1r o) U tuol{Iulolzp rudu1er,ud"r1aru arzpÓq p n
'(u,I-o)o'łł.l,t:pId
pbls e
'rld ztsro
fi-")la .(t 7 n>IoDI al c3rrrt {tsJ
(dpour) zr .durtsoulrt
.igl(r
-
n1oq łr)
1:o
d) az,oae1 z,ę+!J:Uoraj{ €IuouPJoI1Y\ł dcour gu (d
potu)
I:
1_aZ
'te1eq 'uld zsrrraruod ,(d
pour) iaZ
=, uJałęz
,(u
druęur (z
pour) iaZ=, ło'ł).rog rl13d ncuo{ tsN
is l(r-a) {aunJ€A.
duoru1eds sezc.&olĄ 9dq 1sn6
lepzgt €1p
g >b
zr-to
u
.(r_4|l
a7 !e1ąe1 .Ó fezs,uletd dqzcr1 r3ó1od
,l|utzo1v7 ltqzu1urdzsrlłrord uol{Iulolzp pa| d az
ItcvZ^EoIXvt AWI^aoD.Iv
tqI
.8,Ż
4. SYSTEM RSA I FAKTORYZACJA
r54
potęgowań, W trakcie realizacji algorytmu wykonuje się B - 1 modularnych będziemy (jeśIi każde wymagające co najwyżej 2|og2B modularnych mnożeń podnosili do kwadratu i wymnażali). obl L .ożna wykonać w czasie o((log n)3), sekwencji algorytm ma złozonośćo (B
|oę
wita B jest wielkościąrzędu o((log n)') r Jednakże przy to algorytm będzie rzeczywiście działałw czasie wielomianowym. Z drugiej znikome. takiń wybor,óliczby B prawdopodobieństwo sukcesu będzie zaa|gorvtm do powiedzmy l/ń, strony, jóśIi drastyc znie zwiększymy wielkoś ć B, dzielenia szybkość niż tonczy się sukcesem, ale jego szybkośćnie będzie większa próbnego.
|iczba n rniał'a Tak więc wada tej metody polega na tym, że wymaga ona' by LLa ,,rlałe,, czylt. czynnik pie.*s"y p, któ."go poprzednik p - I tozkŁada się tylko : oparłby się .,iki pi".*."e. Łatwo uvtouj zludować moduł RSA n pq, który znaleźć skutecznie faktoryzacji"przeprowadzonej tym sposobem. Wystarczyłoby : q )q1 i tI są 1 dwie duże liczby pierws,e p, i q1, takie zeliczby P:2pt * sprawCarlo Md: równiez pi",*.""'(,u po^ó"ąjednego z algorytmów typu 4.5). Wówczas modułu podrozdziale w omówionych liczby, dzającyihpierwszość RSń'n : pq nie dałoby sięrozłozyó na czynniki metodą p - 1.
przez Lenstrę Silniejszy od niej algorytm krzywych eliptycznych' opracowany mejest uogó1nieniem istocie w wieku, ubiegłego * poło*ie lat osiemdziósiątych jego teorii, wspomniimy tylko, że tody p - 1. Nie będziemy iu w ogóle omawiaó jego zukces wiąże się ze"zna1ezieiiem liczby ,,bliskiej'' p,która ma tylko ,,małe'' się na właczynniki pierwsze, co zd'anza się częściej.o ile metoda p - l opiera odwołuje się do grup s,',tś"iu"t.g. lpy Z,, o tyle metóda krzywych eliptycznych okreśIonych na krzywych eliptycznych modulo p.
4.8.2. Algorytm Dixona i sito kwadratowe
Zobaczmy to na starannie dobranym przykładzie.
.z poul (0.0.0.0.0.0)
:
to
ł óD + ID
ez,cazt1sods o^r}€?
'(I 'o'o'o'r'1) 'o'I'o'o'I) (I
(o'o'I'o'T'o)
:
: :
eo eo ttr
fro11atu dzr1 drue1łq
'pc 'g
a7'V pe1>ptzt4 >
C
n>lPeddzrd
.9I.7 npe14.{z.rd op du79r1.1 urd1 ru, 9oqc .ecsferur tfeur rcsouze1ez e1.uu.Atg1{ ł\ ..tzvł' óqzc1b1stzrcd rdtpd.tr g lro|qz ez ntuufrzc tpv,Ą r,.Ą\gluotuolo qcruper.t'odpo erufzco1r .łt o} .(0..'..0) dłlorez "ro11er't 1sa[ .fo al{eł 9erqdr'r ^\oJol{o1vt qcd1 porsods €uzoru llgof Z oppour tuns qcd.roł{ '
,(zz) )
(7 Potu
Iołło.1!ó. fulzt1vdzol
(u
p
laP
t
''
'' 'z Poru !") : !' EC'.
o8apzu>1
c
>f >r
pour),f.d. "' .,"3d.,,]d,:
ep
c2r
:r[cuenrBuol
g : C 'd") A po bzs13t,tl oruzceuzaru g ry\qz 1se|npep1zothzeqaz,1utzo1e7
durgleurdzr+o az'ducsnddz.rd I (Ot +
bqzcq erzpÓq
c
qceTN
.{,d, . .',td,}
:
'u tlqzul6gfglI '
6
gLg r
I
:
Gwso
to
t
4tuufrzc qgsods ue1 Lgr', 9v9
-
rrr
cblnpftuz
s8f 9t78096) o./v\N
{IuIaIzp du19ds,tt dzs1ór.tr leu,{ure zcqqo ze"ra1
:
'(u pour) z9t9= zg8f9t7g0g6 drrręur .u o1nporu qc€sel1t\€u
'(u potu)
"(tt'
t'E'z)
:-
rt erueze.rdn cŁ[ezeuu,(16 '9sT7t60788)
"(ttooozt,ttz'w6zv6w0zl
durelnrudzr1o .rfcuenr8uoł qcozJ1 qcd1 ufzco1 ctrotg
.(u pour) (u
pou)
tT.g.Z=
il.L.2=
(u pour) L.
IIIO}}L9LLZ
|W6ZV6WOZI
t:_ z9Sl7t607g8
:efcuenr8uol frzt1 iutztqedzog.{g1 ,II,L,g't'T,}: g qcaru r : u qcolN (v1.v atzpe14'tzld n dugrTdzn Łr91ą .eqzc1l etu€s E+) IĘ81LOLL9I q7'V Pe74,tzt4
r CVZAAOIXV,T AWTAEOD'IV'
ggr
8'V
4. SYSTEM RSA I FAKTORYZACJA
156
otrzymujemy stąd znaną już nam kongruencję' prowadzącą do rozkładu liczby n na
czynniki.
I
Zallw azrny, ze zna|ezienie podzbioru zł'ozonego z C wektorów a L l,, . l a g, któ. rych suma modulo 2 jest wektorem zerowym, jest w istocie stwierdzeniem zaleznościliniowej tych wektorów nad Zz. Gdy C > B, wektory muszą byćza|ezne, co można łatwo wykazać za pomocą metody eliminacji Gaussa. Jeślibierzemy C > B + 1, to dlatego, że nie mamy żadnej pewności,że jakakolwiek dana kongruencja doprowadzi do faktoryzacji liczby n. Średnio w 50% przypadków okaże się, że r : tg (mod n). Jednakże sdy C > B + 1, możemy otrzymać takich kongruencji więcej (odpowiadających różnym układom wektorów zależnych). Można oczekiwać, że co najmniej jedna z nich umożliwi faktoryzację n. .wszystPozostaje jeszcze wyjaśnić,jak ottzymać liczby całkowite ni, takie że kie czynniki pierwsze liczb x} mod n znajdują się w zbiorze B. Mozna to zrobić różnymi metodami' Jedną z częściejstosowanych jest metoda sita kwadratowego Pomerance'awykorzystująca liczby całkowite postaci ri : jł|,f"), i : I,2, . . .. Nazwa ,,sito kwadratowe'' odwołuje się do procesu przesiewania (którego nie będziemy tu opisywać) używanego do znajdowania tych Iiczb r i, które rozkładają się nad zbiorern B, Metoda wymaga pewnego kompromisu. JeśIiliczba B : |B|jest duża, zwiększa się szansa nato, ze liczba całkowita ri rozkłada się nad zbiorem B. Z dtlgiej strony, im większy jest ten zbiór' tym więcej potrzeba kongruencji, by uzyskać odpowiednie za|eżności.optymalny rozmiar zbioru B wyraza się w przybliżeniu
liczba
erĄ"nl"lm co daje oczekiwany czas dział'ania algorytmu
o (et+"tt))/lńl"ffi)
.
Sito ciała liczbowego jest algorytmem nowszym, pochodzi bowiem z późnych
lat osiemdziesiątych ubiegłego wieku. Rozkład na czynniki pierwsze Liczby n uzyskuje się tu także przez konstrukcję kongruencji 12 : 92 (mod n), Iecz obliczenia odbywają się w pierścieniu liczb całkowitych pewnego liczbowego ciała algebraicznego.
4.8.3. Algorytmy faktoryzacji w praktyce Asymptotyczne czasy działania sita kwadratowego' algorytmu krzywych eliptycznych oraz sita ciała liczbowego przedstawiają się następująco: sito kwadratowe
O (etr+"trllvmr"t"';
krzywe eliptyczne
O (eG+.ODOt"et"t"e)
sito ciała liczbowego
O (eO,sz+.{t))
(tn n) 1 /3 (ln tn n)'?/3
)
Łrc9o1qfzs
'('urn11 'ddzrd) (puocas-.tad-suol,Jrnr?sux-uozllzzz) Spunles eu tlc1nr1sut 000 000 I ra1ndruo1 zazld rt4ol nSŁrc ,u eueuo>1d.tr ece:d o1 1or-sdrru 11
z dcblncerd
-€./ńoqdzsop uJ'/.ruzcaufoupol z ulałsds duqopod :lozvu] /!t tsulqtsu zazJd dutssldo (I'lr ł€lsoz tsulq€u duzcge;Bo1dfo1 rue1sd5 [szvsg] I^\ouBuIeIpV I l.d&oJnu€qs .lszHo] eu[.{cue"re;uo1 ec -o}sa^QJ llnezcóvpntez Vsu duzcger8o1ddrą ule1sd5 latugezcilrl oceru.[y9211q] 3rs atnfc fercsózcleu ?oqc.(.J 9f6T) -erd 3rs€ł€z€{n €utstulloH r oSegrq po rzpoqcod urduzcr1qnd uazcnPl z rger8o1ddq 1s.,turo4
BgBJBoTIqTq I IBB^Ąn .6.7
,l
t
I
qce4dc 66 I 6t .2 o ezsłr.rard t1tuudzc izl1 eu _ I .zZ ,|qzcl1 eluezołzoJ op oBe.toqzct1 €ł€Ic tslls dpo1eur r1fzn p.re11o4 I osstsu€JĄ .e"r{sue1 .el1sue1 n>IoJ 066T 16 .qdc 08I-9ZI ?Iu ,óls ęzczsttddz;d fecÓrrrr qcdctleru qzcq e1p .{zsqdzs )vzvĄo uo Órs ezour az 1eupet .gtugrla.drrtoc€rdo etde1e eu zbtciyl. uo órs etnpleu2 .qcduzcd1dqe qcd.tł,(zq dpo1 -au r >1e[ .o8a.to1erpe1ńł €łIs tsIueł€Izp ns€zD po ou/riolr-z dzs1orą 1se[ erue1erzp o8e[sezc duzcd1o1dur'tsr. ez.rud1 od 9lzpbs rlgal(1e[cue1od rą1evu. callu uo Óts elep .o8ervroqzcllęłęIc o1rs 1se[.ru'oru1dro81e qcduetrvreuro lącazr+ z urdzsilł.oufe5
-d6
.tsłtsI.Ąr'9 o8ałtsc z ,|zcepeq 009 .{o tzpótul qcduo1etzpzor .(rc9o>11er.t.r leuozr1qz qcfzs .1le|-sd1u g6gq 1e8euld'rr' 6zt-Ys.łt fiqzu1 pe1nzog -.łlrard qzcll qc.o.Ą\p uroudzco1r urdrvro4dc-p 1sa| p-YS1J r-qzcl.I'r[cezd"ro11e; rrrgru 1dro31e €Ip !(alu€1(Izd,tt.. o1e[ aIJouJo}uI .ł' |euerrto1r1qndo y5g ^\ołnpou oIc9IT eu órs tfnpl€uz 009-YslJ .. . . .0II.YStl .00I-VSu nqzu1) .6zI-YSu o1e[ tueuz
3qzcq t.uo.r;,tc-6r'I o3e.trro1e.rpelł.>1 e1rs tpo1eru r1ruudzc eu t1lzo1zol. pue1de1 t nIułaI1Y\łn oq,tącfizszllq ocelu qc€sezc BJTsuoT .ge.rg .surą1y .ru1or 7661 . ( ..tuzcruo.r11e1e ó1zcod zoz rd brcEz i.ro1r1e;.. ^\ Il€.Ą\ztsu fcerd qdr1 ue1) qcdzcoqo"r rlce1s olqals po qcd18e1po qtas dzpenu ę:nfoz,c -rlqo cŁle1erzpzor .r;.'(c 90I op ecŁfę.rer.ttęz dqzcll qepePIZoJ ess€utstrĄI I €Jlsuarl dpo1eur [e1 tcotuod €z n{oJ 6861 1l1I r d31sod fzs1ep 1erl.rodÓ1seu qcd1Qrsetzpurotso qcB}BI M .I - p7Z tr1zc\I ruerąruudzc (ln,tuozo1z) ŁctpÓq .Łln'o"r;dc-69 3qzcll o3 .st,req -o.ĄloTtsJp€.Ąt'{ e1rs Łcoruod ez 1ntuu'Kzc eu l1.tzo1zot suoluruls r e3prrp1o11 .arrto1 ,11 'rurdłro1rlu IIu€IuoIIug{ €uIo{IPI 1se[ duozceuz |oll'zol o3e1 oTIs łsol rueu1d"ro81e 1ytqc |e1 .u urdzsde1leu (Ic9o{IaT'vi lauqopod ttu
n{oJ t86I -€Jpts"&\{
r[cezdro1>1eJ oq -dzsrrrretd Iu€qZcII bs b t d ę ,bd : u erzp8) .y5u ^\ołnpou .I e1eru:eg óqzlq .Łrc9o41arm ,,7(, ócbzcuuz órs Łruzor turuor8o Łpo1eur h1ytzo1zol łuoJg n>IoJ 886I pel qcduzcd1dqe qcd,udzrr1 u frqzcq azsłlrerd t1tuudzc dp8 .eu1epdzłd telzprcq ^Ą €po}atu q1pĄZ.d1e1pzer ezsde1 elep a^lol€Jp€1Y\ł oTIs qcęlc€n1ds qcr1e1 .u >1eupet .ou.lr\o.r bs qcduzcd1dqe qcfrtdz"rr1 I o3o.tl\o1tsJpe^l{ €łIs,ttorrr1d"roB1e €Iu€ł€Izp dstszc euzcd1o1durdsp az,cbt'Aztd euzour cel.Ąl' ts ,ył = d n1peddzrd udzsro8leu
.oo <-
u tp?
.u
'11 tqzc11udzsłl.retd uet4tuudzc ur.(zsfetuurlpu pel d }s€rruol€ u n+ tszcEuzo (1)o 1oquld5
.g op dzŁp er91ą .u feuuertuz
Ó|c>1un5
VH.VacoIIgIa
L9I
I
lcvlLn
.6'Ż
4, SYSTEM IISA I FAKTORYZACJA
158
niem i udowodnionym bezpieczeństwem opracował Wi]liams [W'80]. Polecamy ogólny artykuł przeglądowy Diffiego [DI92], poświęcony kryptografii z kl-uczern publicznym. Test Solovaya Strassena został opisany po raz pierwszy w [SS77], test Millera-Rabina przedstawiono w [MI76] i [R,t80]. Przy omawianiu prawdopodobieństwa błędu opieraliśmysię na obserwacjach Brassarda i Bratleya [BB88,t, $8.6] (patrz także [BBCGP88])' Najlepsze obecnie oszacowania prawdopodobieństwa błędu dla algorytmu Millera-Rabina można zna|eźćw [DLP93]' Materiał zawarty w podrozdzia]e 4.6 jest oparty na pracy Salomaa [Se'90, s.143 154]. Dowód f'aktoryzacjinprzy danymwykładnikudeszyfrowaniaznajduje się w [Dn8a]; wyniki o częściowej informacji, jakiej dostarcza RSA, pochodzą
z [GMT82].
Jak wspomnieliśmy wcześniej, istnieje wiele źródełwiedzy o algorytmach faktoryzacji. Pomerance [Po90] dokonał dobrego przeglądu problemu rozkładu na czynniki, natomiast udany artykuł Lenstry i Lenstry [LL90] zawiera ogólne omó. wienie algorytmów liczbowych. Książka Bressouda [Bn89] stanowi elementarny podręcznik na temat faktoryzacji i sprawdzania pierwszości liczb. W kryptograficznych podręcznikach Koblitza [Ko95] i Kranakisa [Kn86] jest uwypuklona rola teorii liczb. Lenstra i Lenstra napisali monografię [LL93] poświęconą situ
ciała liczbowego. Ćwiczenia 4.7-4.9 zawierają kilka przykładów niepowodzenia protokołu. Artykuł, w którym temat jest ujęty drobiazgowo' napisał Moore [Mo92]'
Ćwiczenia 4.L. tJiryj lozszerzone$o algorytmu Euklidesa do obliczenia następujących odwrotności:
(a) 17-1 mod
101,
(b) 357-1 rr..od1234, (c) 3125-1 mod 9987. 4,2. P'ozwląz następujący układ kongruenc.1r:
r : 12 (mod
r=9 r :23
25)
(mod26) (mod 27).
4.3. Rozwiąz następujący układ kongruencji:
I3r: 4 15r =
(mod 99)
56 (mod
wsKAzowKA
101).
Użyj najpierw rozszerzonego algorytmu Euklidesa, a następnie zastosuj chińskie twierdzenie o resztach.
. JsoufJbł,,b:uzliandzaq., 9ru.tadez dq .duzcger3o1d.{r>1 .1elotu pŁp a1ud6 .(bz11eueo1 ura1sfs *.[uzcaldzaq* ?€^roso}s dzcre1s,t,t etu az .Łrc9 -ddr{ sacord va+ )err\z?u ouPnJ} .ezcn1>1 El€lsn alu 1rurrrrcezrd ze,r.r'aruo6) (?zcnl{ €Iual€}sn oBarupezrdn -ouzoJlso b1f,ze1et z ,|tlęn',|zl lsal aru ulolsds II9o[ ,o1 l^ó'ou ouo eu pe14dzrd zaq .{u€ł\o{fzs€z }s{ol ve1&zcpo azolu łIu1rtlcozld az .o1 cer'tor1snll €uI oluazcli(rc oJ LV -ę!s .nloqołoJd, azuazpomodat,u o>1e| ars e19er4o oc
'9867
.2761 .esar,req €uospaq .ero11tay €uosIJJPc ..sdeq uo3aqo,11 a>7e1,. z 9ez r8nrp -o.ll lonur€s ;o drerq oqtr. z rzpoqcod ,'(urrre[ 1s1e1 fzs,u.rer4 ((s{u€qq)J€trĄI
.arnpecord
Ó1
?rc9rr'.rpo ł€Isnul zsarzpÓq nruer8ord o8aforta n{oDI IuIu}?}So
l!\
'9L9LI : 97, + 97,' 9Z + + ZZZ z9Z' 9Z rLtr :6T + 9U 'O+ z9Z' Z + JVC + zgz' t COA 86tZ
:
9 + 97,' VI
?
I
;qcepelldzrd qcdctfnd6lseu ira' 4e[ 1e1 'n1eqe;1e r4euz ,fzt1 aln1uezarder uv +uavle1a tp?e>I.uv n91uaula1a rce1sod /ń .(au€.Ąeopo{.. Łs n1eqe;1e r4euz 1e[ ,carzpaln' zslsnlu .r1s1at8ue 4dzl[eu.{u.tłe[ 1s1e1 cfzceurn11azrd fqy .ęrupzeuurdit oP €Iuazsoupod nu/ro81e lfzn z o1npour erue.tr,o8ó1od nl€ J p€ /({ I .arudó1s , .fuer,.r.or;fzs€z łsłalte1,tzcpo ulałod .o >1rupe11d'tr. zcqqo (u)Q cbteuz
oq
-eu e .(e1errr 1sa[ u eqzc11 ez oąel.rcsoupnr1 rrwerds aru oc) uóqzct1t1nrrrfzc eu .(6 fc11qe1 e1p) z91zol ,ezsntlard o4 'dc&tndó1seu qosods n cęzblnzot a[ euzo141
8T67 : s I tltTg : u zzlo (1 dc11qe1 €IP) T9zI :q T tz68T - t,l :Icso)flalłt acŁlnd -31seu bs nuralsds rtuerlaurered rurfuzcllqn4 'ntueldzcpo qcr eu e8alod łnrepaz .YSII 1Y\ o8eueitor;dzscz n}$Ieł PIqgJd ol^tp auollł€łspazrd Łs z.v \ |v IłcęcIIqtsłl& 9T .(Ó
poul)
z1:
=
Ixi r (d poul)
zt
=
It.{p3
.dpa1.t.r
ołIf} I ,{pay'n'
(Ód potu)
ZI = lxj az .ełrud,ra. qc€łzsoJ o €IuazpJol1rĄ1 o8etr1stltqc Z vxly\9zvxs1\A .uZ ) :t oBau1o,r.rop €Ip ?9ouseł/.r ó1 ttupo,l.t'opn *uZ ) t dp8 .u : (("),)p ez ,[u;L9t1ezv4{M .u pour oź : (ft)Xp .u pour ,r : (r)xa :eru -eiwor;fzsap r eruu.tor;dzs afceredo YSU ts1p ftuelgar>1g ((t - f)(t - d) pour) (ód : ?,c r[cetJ{ qD z€lo .rurfzsltrt'rard rtueqzcq rurfuzgr Łs Ó r d alzpa 'u>?>I€Ip .
I =
'9V
.dpayrr o>11f1 r fpepł' d o1nporu urdu1o.łnrard ruerą (d pour) I # la1ę_a1t dpB lsaf 0 I z.az 'lruporrtopn 'rur.{zs'tnrerd rureqzcrl tur,(uzgr bs vd etzP8
-1s"er.r,rratd
.,:dTI:I-d 'a -Ll
:aZSrrtrard
r4tuudzc €u peł{zoJ ,{ct[nd31seu €ul
I
-
d
ę .ezs,t.rrard 1se[ d tqzcq ez ,,tulz91e7 (c) .Ź6 oInP
-our o8eu1o,u,rard eą1ser,lue1d o8azsleruurfeu erue1za1euz op .{po1eur lar
|,tłn (q)
.(zo fPB .'(Pe}^ o41f1 t .{payvl f6 oInP po-) I # ,,, zerc (26 Pour) I ł t aq,ven,{.py.gzs,tretd 1set 26 eqzct1 (e) -our ur.{u1o,la'ratd urer41ser.lłrerd 1sa[ o +",, .qc.{u1olruard n941serałrard lJ9ous€łńe a.Igl{alu n1 .,turepeq2 7.7 .
eruazcthrg
69T
160
4. SYSTEM RSA I FAKTORYZACJA TABLIcA 4.1. Tekst zaszyfrowany za ponrocą RSA
t2423 |524 7243 9't92 13629 t4407 5300 1395t 8l
22U 96r t2693 9553 |2|6| l307l
t't459
18194
ló900
13236 5300 13951 5061 t234'7 1817
f
2620 6276 8500 3533 t3842 ',1537 3460 988ó 8687 t2867 t3203 5102 |2|92 5ó 247| 2430 974t |6'75 7913 6246 t4301 796 195 9872 9'192 t4251 1498 56 4lt8 |1302 427.I |0ó 17 874 236/ 15570
16979 15404
1367 2186 8676 23ó4
25t2
3460 6127
t440'l
9433 t3293 4782 n374 6't89 n634 11748 t4616 | r453 9522 t4838 '1437 r8628 14326 9t'15 f
295t 722
15334
't459 14303 6121 t0964
t6399
l88l7 I8830 |355ó 3|59 |6u7 898ó 8007 |3|67 |0022 |.|2|3 4l0l 2999 14569 t7t83 t5827 3ti30 t3998 1250t 18873 .|f33 266/. sf.]o |708ó 9792 |4266 8850 t2t29 609t I8t r0 3332 't946 n6't5 t3924 1389f 18031 201 8850 il t78 tu7't l0t6l 12259 t8t l0 44 2364 15570 4481 n23t 7541 I t383 17910 4742 5053 15407 29"76 9330 t5334 84t t3995 17592 t3297 424 ó68ó 738 |38,74 8168 ||44 905ó |5967 7328 13203 16979 t5404 14130 9t05 zu)l n296 |t05 4502 16979 |t05 5988 33ó3 |5827 6928 4|9| l3flt I t82t 3090 t8l t0 M 988ó 9988 3798 | |58 9872 9872 36s2 14838 't437 2540 5053 t52t 297 t0935 t'7137 7555 l3ól8 13000 6490 53|0 446 4165 n634 3846 l46t 4493 4063 45't6 17955 't965 t't666 925 s6 4t 18 18031 3880 ||4'16 8305 5lO2 2999 906l ó50 l8l t0 8.720 |5404 84l 156|0 2443 | l05ó 2|86 I
Przypuśćmy,że Bolek ma system kryptograficzny RSA z dtżyrrl modułem n, którego faktoryzacji nie można przeprowadzić w rozsądnym czasie. Załózmy ponadto, że Alicja, wysyłając do Bolka komunikat, reprezentuje każdy znak alfabetu zapornocąliczby całkowitej od 0 do 25 (czyli A * 0, B e 1 itd.), po czymkażdą resztę modulo 26 szyfnlje jako odrębny znak tekstu jawnego.
(a) opisz, w jaki sposób oskar może łatwo odczytać tak zaszyfrowany komunikat.
(b) Zilustruj ten rodzaj ataku, deszyfrując następujący tekst zaszyfrowany (za pomocą systemu RSA z parąmetrami n : I872I i b : 25) bez rozkładania modułu na czynniki:
365,0,4845, 14930, 2608, 2608,0.
4.8. To ćwiczenie ilustruje inny (opisany przez Simmonsa) związany z RSA przykł.ad niepowodzenia protokołu' nazywarly niepowodzeniem wspóInego mod,ułu. Załózmy, że Bolek dysponuje systemem RSA z modułem n i wykładnikiem deszyfrowania ór, natomiast Cezary dla tego Samego systemu używa modułu n (te8o samego co Bolek) i wykładnika deszyfrowania b2. Przyjmijmy ponadto, że
aruazpo,todolu) vsu
:
Iq .I7'L8I
.nłnPoul
{oI1t\Io{o3oDI?f
(n1nporu oBau19dsłr
n1oąo1ord aruezpolrrodalN .9T.7 ?,r,
: u tpŻ.r
xgNnsłlł
porrr ,_("|Ą,Ifi : t, ,,,,,o IgIr) : zc zcIlqo ,|9: tc zcIlĄo
zqlfi ag
poul
zfi LIfi (Zq (1g (u
,LILL:
zq ,tv
(e)
(z)
(r)
:on,Aolcs[e,lł' eueq
.7,OLVI: Zfi ZI,-TO LLSZI : Ifi .4e1e [nr1sn1r2 (q) bpo1eru Ł1 cŁtezc11qo
.l|cIY
rua1sds r19a[ 1e,ueu }ełIunuro:I ' ..'t:oizcatdzeq.. 1sa[ duzcgerBo1d.{r1 >1ea .r t1,|zc .r[cr1y rrrdu,rłef ure1s1a1 oTJolsI ..1\ ve1,tzcpo azolu Jg{so cÓrlrrt śzenlt'1l1y (e) nr1uns'{r z nru1,(ro81e t nłoDI ł\ €uozollqo Ir 99opp,lł az
i."t gi.r
'91'7 n4unsdr eu .o8areza3 op auezg{od €IuozJIIqo a|nuo>1.{n \ Zfi \ tfi.,(1sąe1 eqo afnufezrd rer1sg zn zelo €łIos op in e1fsd,rł rudzc od .u pour z,fr : Zfi, zEJo u PoIu Tqu : Ifr, ezc .o8areze3 €{Iog op du,rłet 1s4ai ures ua1 ura4fzs ceze4eztd ectąc I '.""^ń -ez e[c11y ,(p8'eruels,tod er914'3[cen$s mrc1 tu;:ztledzog'1 : (zq'rq)OMN .11qo
ó860€
u'fi
t.L69c
(,611 SC?S frZE(, 69t 99ot E|P6z 08zl€ 0009 g9'8 Ł€861 09E9 86t|z s6sv nEzgz LveLt €8l€ LOr gt0il EL6tt 1608 vt,Lt E99L t|9L( 6ntT LLz9z s(,EL 98gól 90LL(, 009il /8091 s1691 '99ól tws 6t7,8 W9El tgzta rzEoc s\LLc 6l,z7, tsl8l 9sl0€ 9I0'l l0s9 6nlc 62t67, 6tt7, wL6 98tLa z|zL(, wz\c |69v7' 8€tI t ?wET, se98 8nL6e 0€ós l s\LL( (wDr 6rl?, ?696 n66L L|66 L9z8 900€z ssto€ t\zs(, s890I w|jz t?L8l 90tLc 8011 LEnZt 6t9r(, owoz L68L t LZgZ L7ESZ 60892 90692 Lt?l sotsr 9s662 lt98 88e09 969t| s89' tl€o€ 8ó99l €08l l z8U, LZSZZ UeL OLI?Z 6StL tol 9 s€98 80ót 6nrc, ZLEL ,LOZ(. 8061 'I€ 9gt8l nLLs( ZLEL IO6E7, LWL TLL9Z 6twz lzv6z 9trc| Lis? óó6'| ngsL(, stll n|gtz 9gó8 0l0'l 60t8 07€9
roEl 9898 Lnstl 99021 r88tr 909t 96eó 88€0g ó08sz
t8'9l
98w7
ULsLz
Ez0s7, 9stLz
06s0E 9(ńn(,
yg11 bcoruod ez fuemol1&zse,z ł$la1 .z.7 vcITgvJ, eruazcrlrD
I9I
4. SYS'IEM RSA I FAKTORYZACJA
r62
4.10' Mówimy, że tekst jawny jest statg, gdy etę(r) : r. Wykaż, że dla systemu kryptograficznego RSA liczba stałych tekstów jawnych x e Zn" jest równa NwD(ó - I,P - 1) . NWD(b - 1,q - 1).
wsI{AzÓwKA Prozważ układ dwóch r (mod q). "*(r):
kongruencji:
e6(r) = t
(mod p),
4.11' Niech A będzie algorytmem deterministyczlymprzyjmującym jako dane wejście we moduł RSA rł, wykła,dnik szyfrowania b oraz tekst zaszyfrowany 9. W wyniku działania A albo podaje wynik deszyfrowania tekstu 3r, albo nie udziela żadnej odpowiedzi. Przyjmując, że istnieje e(n _ 1) tekstów zaszyfrowanych, które A potrafi odczytać,, opisz jak użyć A' jako wyroczni w algorytmie deszyfrowania typu Las Yegas z prawdopodobieństwem
wsKAzowKA ex(rt)ex(x2) :
wane modulo n.
sukcesu
e.
z lrrnożelierrr: gdzie wszystkie działania atytmetyczne są wykony-
Wykorzystaj zgodność operacji szyfrowania
"x(,,,,),
4.12. Napisz program do obliczania symboli Jacobiego, który używałby czterech własności opisanych w podrozdziale 4.5. Program nie powinien przeprowadzaćzadnej faktoryzacji prócz dzielenia potęg lilczby 2. Przetestuj swój program na następujących symbolach Jacobiego:
/610\ /20964\ / L234567 \ (,s87/' ( 1e8?,/' (rrurrri : 837,851 i 1189 określliczbę podstaw b, takich że n jest liczbą pseudopierwszą Eulera przy podstawie b.
4.13. Dla n
4,I4.
w
tym ćwiczeniu udowodnimy, że prawdopodobieństwo błędu w teściepierwszości Solovaya-Strassena nie przekracza 1/2. Niech Zn* ozlacza grupę jedności modulo
n,.
Niech
{", oez^.,(9)
G(n):
- ón_7)/2 (moa rr,)}.
(a) Wykaż, że G(n) jest podgrupą grupy Z-*. grange'a, jeśliG(n) f Zn* , to |G(n)|
(b)
lV.,*l
}
na mocy twierdzenia La-
n
-l ś'-ł'<,. 2-2
Za:ł'óżmy, że n
k
st&,
:
pkq, gdzie p i q są liczbami nieparzystymi, p jest pierwsza, : 1. Niech o : I + p,_,q. Udowodnij, że
2 oraz NWD(p,q)
(:)
# a(n-7)/2 (mod n).
wsI{AzÓwKA IJżyj wzorl dwumianowego do obliczeni^ o@_t)/ : pI . . . P', Edzie p,i są różryrl;'i nieparzystymi liczbami pierwszymi. Niech a : u (mod pr) oraz a : 1 (mod p2pB...pn), gdzie z jest nieresz-
(c) Niech n
tą kwadratową modulo pt (zawważ, że takie a istnieje na mocy chińskiego twierdzenia o resztach). Wykaż, że TA\ : t-l -1 \n,/
(mod n),
.1
-
.ngąpeddztd t1ci1 z :uo.I.pzen M €I ?tq Isnu aznP ł€r Żsoc{ns clu^ó.ad€z dq d fpo1aur Łcotuod ez Lgt0zv6 \ t,qozqz dqzct1 azs.lruard r1ruufzc ęI] zgłzoE .6I.t
.lx o3aue,ra.or;r(zsez .bd
:
nts{al €Iu€.Ąo{dzsap
I{Iuf.{\ ał\IIzouI ,trc1zc złetz[.-^Ą (J)
.Uglzt)x,: f
u ł9o| .2' olnPou I z o1r\ol€JP€łr1
duerra,or;dzs€z
lsłal zJllqo
(q)
r11serrtrerd lrc1zc zceuzl'^Ą (€) :€IuozcIIqo
ac&tndÓ1seu
!euo1f6 'fqtl : g zero IIZ : b '66I : d eurqeg enuelsds tt az 'ftttzglez '8I'V ."lod frupołlopn .21.7 .Igvtl 1 yod
a|c1un; bzbv^ o:'9+Ą.k.v) .€Iuozcqqo
l
(1.7)
rc9ou,ra.g.r
: nl a1ą1s,(zsru' 'ryr"łsPazJd qcduerq{,r.r. ..o1rtoso1.. eu ur1d"ro81e tg.ta's 7prrrerdg .rfceurro;ut t866 : rD qc€IcgolJ€^\ .6L9v : q [a1 errne1spod ęu u {łezf,'lot{€J op ,tuzc,t1sr1rqeqord u1fro31e [nso1s'e2 ! : u ru,{uzcr1qnd uozcnlł z YSl{ urfuzcgerSo1ddrą erure1sfs 6t07I : ^\ .91.7 .dur99nd'(zr6 D €Iu€.l{roJJdzsap ąrupe11d,r.r' fgiu's 11une!n eruz.r1edoaru {alog oz
i
T899t
:
z3o1-l
. [; r'aqI
rsoud,r,l
I
g fez.l[rrrfeu oc op
etuazporvrodetu €ńAłsgalqopodop,rłerd pruazcruer8o op qcfuqazr1od rlcera1t eq -nIIo4.fruporvropn .1 po bzsfaruur b1sll./.f,zlazl Łqzc11 Łru1epop arzpóq 9 qcolN (q) e1 az ,zvn,t111
.(' _ l)
lt
eurrngr 1sa[ €IupoJs
.(_d.u)3
;
-rt9r 1set nsac{ns ercótu8Łtso op euqazr1od q9rd eqzc11 (eue.t.rr4azco) erupe:g (e)
'('- T),-., - .d ou.ĄoJ 1sa[ arqgrd .frupor'ropn (e) !e1-u iln nsacłns o8azs.ł'rard eruo1sfzn ol.l.1syerqopodoprrrerd az 'a ru,{uita.gr erluezp ,,tuzg1e7 .91.y o,la.odaru ua^Ą}sllelqoPodoprrłerd z sc8an se1 ndd1 ur1fro81e dtueru ez
.7f1 ezłut4ezrd aru ęuesser15 ederro1o5 1c9ozsluard oIJ9a} 1^ npÓ1q on1syerqopodopłrerd az .lruporrropn :rr1rufu e.łlosezcqc..(1op tntunspo4 (e) '7,1fi
-tr) ) l(u)Cl
o'1,'buozolz r blsfzredaru bqzcrl 1sa[ u tlVal az'?e>ld^\ (p)
.(u pout) I_ ł 716_u10 Idrc1ez
,(,d". Edzd Pout) I = z/(t_u)D zJaI
etuaz)Ll
t9r
c
Inne systemy kryptograficzne z kluczem
publicznym
W tym rozdzid'e omówimy kilka innych systemów kryptograficznych z kluczem publicznym. System ElGamala opiera się na problemie logarytmu dyskretnego, którego będziemy mieli okazję lżywać wielokrotnie przy protokołach kryptograficznych w pozostałej częścitekstu i dlatego poświęcimy mu tu wiele miejsca.
Następnie, przedstawimy stosunkowo krótkie omówienia niektórych innych dobrze znartych systemów z k7lczerrr publicznym. Są wśród nich systemy typu ElGamala, oparte na teorii ciał skończonych i krzywych eliptycznych: (złamany) plecakowy system kryptograficzny Merkle'a-Hellmana oraz system kryptograficzny McEliece'a.
5.1. System kryptograficzny ElGamala i logarytmy dyskretne Podstawą systemu
ElGamala jest problem logarytmu dyskretnego. Zacznij-
my więc od przedstawienia tego problemu na rysunku 5.1 w kontekście ciała skończonego Zp, gdzie p jest liczbą pierwszą. (Przypomnijrny, że grupa multiplikatywna Zo* jest cykliczna, a generator tej grupy nazywamy elementem pierwotnym).
Dane I :
(p, a,
B), gdzie p jest liczbą pierwszą, a € Zo jest elemen-
tem pierwotnym oraz 0 ę Z,*.
Cel
Zla|eźćjedyną liczbę całkowitą o, 0
ao=0 TaĘ liczbę
śa śp -
2,
(modp). a oznaczymy symbolem |oE- 0'
Rysurrlpx 5.1. Problern logarytmu dyskretnego w Z,
taĄ
że
..r$oqosods qJfuz9J
aIaI.Ą\
.Ó|cltv zez.rd laue.rqdrvr €u duts.Ą\or;dzsaz c/rq ozour du/v\€[ ł$1o1 ur€s uał o8a}BIQ po azłełe1e .o8eu.t.re[ n}$1o1 po or11d1 a1u ,|za1ez duerlło4dzs
ł lc9olJtslv\ fe.troso1
-Bz łs{ałz€^\aluod .ruduzcd1srulul.ralopalu ruatuołsds 1se[ epure31g ula1sd5
-zc11qnd uIazJnIł z
€I€.,,€clg
fuzcg=rso1df.rą ure1sf5 .d pour
..,;"'il:f;
,_Gą"n -- (zfi|tft)xp
druefnrugeP *oZ 'd
)
2fr,'tfi eIC.
poru dr
:
zn
zeto
dPour qD: rfr erzpB ,(eft,Ifr,)
druefnrugep .eute1
t-dz)
1se[
?7
s1
tqzcl
[a.uoso1
(faufel) I
c9o}J€..( ,etuzcqqnd eueuz Łs
'{(dporu),D du19er1g '*oZ x
=d
: (ą,r)xa
(i'o'a'd) : y
! :
e1q zvlo łr ,d tc9o1re11
(i'o'o'd)} : X
*oZ: )'*oZ: 4 'knftut'tz.r4
urel
'ur.'(u1o,trt.retd
-uoualo erzpÓq |Ą"z łr qcolu I,dZ 1,^ fiu1ezbtlwzololu o1\\oluozclTqo }sot = oSeu1e.r1sdp nu1d"re8o1 ure1qord e? bĄę+.Łzs.łtrerd bqzu1 etzpbq d qcet5 .6.9 nąunsfr pu o3 dtuer.,vre}spaz.rd .o3eu1an1s,{p nru1,(.re8o1 arure1qord eu d1redo ruduzcr1qnd uozcnl{ z luzcgelBo1ddr1 ura1sds 1e',rtocerdo I€urecIE .Ł,toąunreo1oupet ttc1un; qc,{zsrtrard qzcll qclupar.uodpo e1p 1set d opporu
I nł€Jpts.Ą\ł op eruezsoupod erue.tro8Ó1od e|c1uq .cŁrlwoul lezceu1 .e'u1e1 oł\oluozcllqo 1se[ erue.łto831od ópo1aru lorusezc.łr tuestdo 3rs elnso1sez dp8 ę|cerado tsu}oJ.Ą\po }stsnuoTtsu .eupnr1 (eruqopodop'rn.eld) }se! rrrour1d.reBo1 qcdu .1e.qsdp etue,uopleuz ez.oBe1z órs ez.retq rgerSo1ddł1 ]!& o8au}aJ{sdp nur1dre8o1 nule1qo.rd csouzce1tzn.ezs.tr.rord ęqzcll (Pznp.. cdq euur'łrod I - d dqzcq 'uo1tu .erugzęuur.'{.tł.
,r;,{c -uf,zc z urdupet leruurfeu oc r 691 leruufeu oc carru suurrvrod d eqzul'n4v,1v .rud.trr'ou€Iruolal..(\ olsezc ,ł\ o8eu1erąsdp nru dqosods aupuf olĄ|azsrvl 9dzcerwtuz dqy -1d.reBo1 uelqord ,tcblnzb,tnzor ur1dro81e uapez lueuz 1sa[ eru rcgoulgBezczs ,11 .eruqcezs.łu.od órs ez .dupn.r1 ue1qord o1 1set d frqzc11azJoqop u,{uuere1s ltztd vl nlol.l( uololurpezrd ł'frq dZ.Ą\ o8au}oD1sdp nur1dre8ol ulolqoJd -ts1^rl .u€ptsq
"'
s9r
vlvwvclg LNzclivucordLax INgrsIS'
r'9
5'INNEłYłTEMYKRYPT)GRAFICZNEZKLIJCZEMPUBLICZNYM
166
jawny r Spróbujmy opisać nieformalnie działanie systemu ElGamala. Tekst jest efektem przez czego jest najpierw ,,maskowany,, przez pomnożenie Bk, Boak. wartość się także ptzekanlje iekst gz. W rańach tekstu zaś,yfrowanego ak obliczyć znajomości podstawie Bk, lek, który zna tajny wykładnik a, moze na a następnie usunąć ,,maskę'' , dzie|ąc a2 przez Bk .w ten sposób otrzymuje tekst
r.
Jawny
Popatrzmy na prosty przykład.
Przykład 5.7 Niech p :2579,
g:
:
2765
a:2,
a
:765, a zatem
mod 2579
949.
Załózmy teraz, że .L\icjachce przesłać Bolkowi komunikat r : 1299. Niech losowo wybraną przez nią liczbą całkowitą będzie k : 853. oto jej obliczenia: Ut-
: :
2853 mod'
2579
435
oraz
Az
: :
1299 '949853 mod 2579
2396.
Gdy Bolek dostaje tekst zaszyfrowany a
r: :
:
(435,2396), oblicza n:
2396. (łetrzos;_t mod 2579 1299,
a więc rzeczywiścieotrzymuje tekst zaszyfrowany przez A|icję.
5.1.1. Algorytmy dla problemu logarytmu dyskretnego Zakładamy w tym podrozdziale , ze p jest ustaloną liczbą pierwszą, a Q ustalonym logarytmu dyskretnego możemy teraz sformułować w sposób następujący: dla danego 0 e Z,* nalezy zna|eźć jedyny wykładnik o, taki że 0 śa
929
:
d
't :
^,
'66
s€zcnoł\ .6u
:
:
608
LgQg/
pou ozo
): :
uro!,pz duetr41 '969 tSol ?VollJuz druecqc ez'f,w291e7 '608
u, zerc d qcetg
'6'9 Pe7>7'tzt4
'rfcerpny pep1dzrd o+o .Z7 r 17 łsTI z |eP?vĄ ruercgfezrd (ur.{usazcoupot) urdupet
l i
e1p
ceuo>1d,t.l'
(-)o ęuzoulg {oJ{ oz,futzl-ntrta7.(qc,|uzctu4dre3o1 .tł9>1ruudzc uercóruprod .ru1dro31€ ctsjlAozll€olz )t€ł oupnlłoTN brcórued z I (1]])o ols€zc /A łq.łv|.zp dq -1a.r>1sfp ntu1f.re8o1 nure1qo.rd
€Ip B$luetlg ur$.to81y .8.9
(f
-4pour?+ [u-t:d
,)
oSou
xsNrrsłll
'3o119er1o (9)
(teupózr1gds.u fer8nrp
11) @.f) óred vptvuz (9) |eures |e1o.{ręd 11.tzc) z7 > (fr.p) óred zero Ł1sq Łueurdzr1o erzpóq ?'1 :qcoru ibupÓzr19dsłl Ł8nrp eu
np318zrrrr'
ez (dpoul
vod,?)
qcdueało1pŁz.rodn .red u,ł tnposod (7) zcllqo (8) T
-
?r/
Łpr1 buerrrdzr1o arzpÓq
>
?
> 0 'd
I? qcelu
Pou
,-oi
lbupózr1gdslrł' Ł8nrp
eu npó1Ezan az (dpour t-D,!) qcduerrro1pŁzrodn led ur tnposod ?1/ > f > 0 'd Polul tuo zcl1qo I
.IuosoJ{ns
bs tzcyo[ez
g
9esrdeu druezour
nłoDI
-
alu€,,\eDlnzs.{lł' cÓtirł' ^ó.
{BJ
.T z .f, -?,{/ >
(6) (1)
-,=
6 etzp8
'?+[u't:i"Bo1
6/ o8eu1o,rł,op
e1p .1ornpo tsN .Ilu€Iu€1(tlłozco
'd
z elupo8z
:
,*c-a rJto+pz
'r-Dd :
fi, : c_o ,ftlzr-larttęz .te1uq .(nur1dro81e tsIu€ł€Izp o+ ,z1 @,p) zęlo I1 ) (ft. 't) I9a! a? = sezc fuzc't1o1durdse eu o1 arud1d.tr eru coqc) qcdudó1srrł gazcllqo I{DtstuęJ ł\ c€u -o4dn .ecqc órs q9et .€uzotu z I I pIoJ{ .ozslu.lard o6 '8e.t.tn €}IIDI ctspop olJ€ł\ duret.ue1spazrd tsqu€qs u1dro31y .| L!ł) - u,, qcolN
nł .8.9 n1unsdr eu
€$IuBIłs tu1d.to81y
.ŁrcÓrued I luos€zc dzpÓrtu sturorduor1 .urau1dro81e ur,(u1er,tdr1etu .duezsrdo dr9łł n1 dcŁfnra;o .us4ueqg ur1fro81e 1se[ z n9uz) (d)p Łtcótuud
tudzs,tret6 .(qcduzcrur1freBo1 ngąruudzc urarcarutuod
"'vTvwvcls ANzcrtvvcord^ax wgrsls'
LqI
r's
168
5. INNE SYSTEMY KRYP'IOGRAFICZNE Z KLUCZEM PUBLICZNYM
Znajdziemy najpierw pary uporządkowane (j' 99j mod 809) dla otrzymujemy następującą listę:
1) (1,99) (2,93) (3,308) (5,329) (6,211) (7,664) (8,207) (r0,644) (11,654) (12,26) (13,747) (15,727) (16, 781) (1.7,464) (18, 632) (20,528) (2r,496) (22,564) (23,15)
(0,
(25,586) (26,575) (27,295) (28,81) Po posortowaniu listy powstaje
j
<
28.
(4,559) (9,268) (14,800)
(19,275) (24,676)
.L1.
1
Druga lista zawiera pary uporządkowane (i,525.@ż)-
(0,525) (1,175) (2,328) (3,379) (5,132) (6,44) (7,554) (8,724)
0<
mod 809)' 0
śj ś28:
(4,396) (9,511) (14,355)
(11,686) (r2,768) (13,256) (16,399) (17,133) (18,314) (r9,644) (2t,52r) (22,713) (23,777) (24,259) (26,658) (27,489) (28, 163)
(10,440) (15,388) (20,754) (25,356)
Po posortowaniu otrzymujemy listę 'L2. Przechodząc teraz równocześnie obie posortowane listy, stwierdzamy, ze (10,644) znajduje się na liścieL1, apara (19,644) na liścieL2. Obliczarny zatem: log3 525
: :
29'10 +
19
309.
Tetazmozemy sprawdzić' że istotnie,3309:525 (mod
809).
I
Algorytm Pohliga-Hellmana P ruyjrzyjmy Się teraz algorytmowi
Pohliga-Hellmana. Niech
k
ap _ .L: T-T IIpź-,,
ź:7
.
gdzie
pi
są różnymi liczbami pierwszymi. Wartośća
:
lo8o
B jest okreśIona
(jednoznacznie) modulo p - I. Zalważrny od razu, że jeślimożemy ob|iczyć a mod pfź dla każdego z, takiego że 1 śźśk, to dzięki chińskiemu twierdzeniu o resztach możemy także obliczyć a (mod (p - t)) Zał'óżmy zatem, i:,e q jest Iiczbą pierwszą,
p-I=0
(modq')
otaz
p-Ił0
(modq"+1).
/ (
\ ",_"D /
'(t-aPou)
.€Iualupo.|Aopn
op oł.{q oc
0
T=?\
ł ,-,b?of
_ al ) tr r-a,/
L:!\
Ó
r-',/ 5:Ę \ /o1\n |oo_s,bł,b?o3)6:ą \
('"u* ?b?Ds)
r -a,/
(oo-s,b+Ą_Ł: (r-4
:
bb _
oą1_ ą Gj aą6=ą durgur az{€upaf
'(1
-
d potu)
b
b
oDfi
-ą:
(',b + r)(r
-
a)
:nruecŁfndó1seu duzęrwoual.gr pel {ounJtsńA lu1€łso uoJ
-:
.(d poul) b/oo(1_il)p = o1ę"nar)(t_d)D
ez .cvzv4.f,'n'
dzcrep,(16
có1rrr
'(d poru) b/@,bar)(1-d'l' = a16-a1d az,,Ę.crlzęl,tltęz
.rc9o.tr'rzprlłtrd tof o ceuoąazrd Óts
dqy
'(d pour) b/oo(y-d)D = n16-a1d :Ic9oustsł^A
vywzblnzot op ruazcnly '0o nruazcllclo eu e8elod
tecŁtndlpeu eruazprer.lqs
1sa[
ffi|;T,f"ffi,.fffiut'O srbax:o rce1sod ał crne1spezrd
furazotu obqzcllez'eq>lvl1.lttzvnrneT 'I
-2
>
p
>0
ts1p
1-D )
po
> 0 alzpE
o:?
'rblo7 :
x
T_J :D er,tłe1spod
o rudlł'oqzcrl alzp€ł{n ux
.I cvs1dez durezo141
t
_ ,b
; r;
g atzp8
trbPotst?.:x .durezvr1o4
99ołJts1( cfzcl1qo ąe[
...
69r
VIVWVD'IT ANZCI,TVACOTł,WX WąTSAS'
T'
9
5. INNE SYS'IEMY KRYPTOGRAFICZNE Z KLUCZEM PUBLICZNYM
170
Możemy zatem zacząć od obliczenia B@_t)/ł mod p. Jeśli
B@-t)/o:1 to os 1
(modp),
:0. W przeciwnym
-
razie obliczamy kolejno
ę1@_l)/a mod p,72 mod P, . , . ,
aż do uzyskania ^tź
:
B@_t)/q (mod p)
dla pewnego ź. Wtedy do: i. Jeślic: 1' zadanie jest zakofrczone. W przeciwnym razie c jemy do wyznaczenia or. W tym celu przyJmrJmy
0t:
)
1
i przystępu-
1a-"o
i oznaczmy
rr :
loEo B1 mod qc.
Nietrudno zauważyć, ze
ą:Y
c-l
atqi. ;-
I
Wynika stąd, ze p(n_t)/ł2
-
ob_7)at/q (mod p).
obliczymy zatem p@_t)/ł, mod p, po czyrn zlajdziemy ź, takie że .yL;
_
L)ty / q2 , (mod p).
^(o-L\ B\p_
Wówczas stwierdzimy, że a1
Jeślic :
I
: i'
2, proces jest zakoficzony. W przeciwnym razie powtarzarny Bo jeszcze c _ 2 tazy, ofuzymlĄąc kolejno a2l. .', ac_|. opis algorytmu Pohliga-Hellmana za pomocąpseudokodu jest przedstawiony na rysunku 5.4. Zakładamy, że a jest elementem pierwotnym modulo p, q jest liczbą pierwszą,
p-I=0
(modq')
oraz
p-I# 0
(mod q"+1).
Algorytm oblicza aot.
..
,a"-y, gdzie
c-I
Iogo
0 mod q"
:Dorq'.
I
j
i:0 Zobaczmy na prostym przykładzie, jak działa ten algorytm.
tllatuzce7.8l z3ol
:
'(f po*) t : n duretu
alcts+lnzor 711
'I
:
Tn az (dunsoutrt
6Z Pour
8Z:
rL
rfcuenr8uo4 7
u66z poru L6
6Z
:[e1ep
: 6?,Po* ,nłd
fęlo
6:
Pour t-ood
,{uruzcłqo .I
:
6Z pour
rd
otl c6Ił\ )t€I
'82 : : :
rrgT
6Z Potu z/azd
I
I
.etudÓ1se111
6Z pour
,82 : : :
vtZ
6z potu z/se,
rL ztsro
r:oL .ezs,utord od.Z >1e1Łzcod e5 -- ) zEJo 7: b Ńnp1sn .f poul rr Ńudzcr1qo ulf,zc od.7 po.u 12 €Iuozcllqo po D cfzcęuzdłl ure1ez druecqc i8I : d I. (: D az,tulz91e7
'tLzZ:82:I-d,:u fpet^Ą.66:dqcet5
g'g pep1,tzt1
"bpour
EfoŻo1
eluezcgqo op BueuIIaH-BBIItIod tu1,'(.ro31y .7.9 xgNns^ll (8) Ił!:f (z) d poru ,oeo_ald : r+ld (g) ?: lo pL: (s) 9 a? aPItsl 'z vpleuz - g zcrrqo (y) opI-ayf ellqrtr (g)
dpour
1
-b 5 ? > 0 €1p
,*,u/G_old
d : ld I 0 -- ! trurtdzrd (6) dporu n/p.._d)D: ?L zclrqo (I)
"'vlvwvcIg INZCMVACOTIIEX WsrSAS',r'.g
ILI
5. INNE SYS'IEMY KRYP'IOGRAFICZNE Z KLUCZEM PUBLICZNYM
172
Teraz przyjmujemy q 928/7
^od.29
:7 i c:
1. Mamy wtedy
: I8a mod 29 :25
otaz
.ft :
a28/7 mod 2g
*- 2a mod29
:
16.
W kolejnych obliczeniach uzyskujemy
1z:24 'ls :7 "|ą:25.
l
Tak więc ao :
4 i o,: 4 (mod 7). Na koniec, zapomocą chińskiego twierdzenia o resztach, rozwiązujemy układ
a:3 a: 4
(mod 4) (mod 7),
otrzymując a
: lI
(mod 28). okazuje się więc, ze |og218 jest w Z2g równy
7I.l
Metoda obliczania indeksu Metoda wyznaczania logarytmu dyskretnego poprzez obliczanie indeksu jest bar-
dzo podobna do wielu spośród najlepszych algorytmów rozkładu na czynniki pierwsze. Przedstawimy tu jej bardzo zwięzły opis. Korzysta się w niej z bazE rozkł,adu, którą jest, jak poprzednio, zbiór B ,,małych'' liczb pierwszych. Niech B : {p,,pz,.. .,pB}. Pierwszy krok (krok wstępny) polega nawyznaczeniu logarytmów liczb pierwszych ze zbioru B. W drugim kroku na podstawie tej wiedzy oblicza się logarytm dyskretny ządanego elementu p. Na etapie wstępnym tworzymy C : B ł 10 kongruencji modulo p: e.rj = pralj p2orj ...pBoui
(mod p)
dla 1 śj < C. Zalwazmy, ze rr'ozerny te kongruencje zapisać w postaci równo ważnej:
xj
: atilogopr +...
+ ar'rlogopp (mod p
-
1),
< j < C. Mając C kongruencji z B,,niewiadomymi'' Iogop,; (1 <' < B), Iiczymy na uzyskanie jednoznacznego rozwiązania modulo p - 1. Jeślitakie rozwiązanie znajdziemy, potrafimy ob|iczyć logarytmy liczb nalezących do bazy.
i
L'et : 68I
:
f000T porrr
ees6q
ztsto
$.2: : 79
f000I Po* sers9 rc9ou..ror z aruqoPod
.(gooot potu) 890Ź = 2
93o1
+ t 93oI
*
6
q3o1
3[cuenrBuo>1 pŁ1s druefntrrdzr1g
'L't'z :
Zt : Loool Pou esoł9 duezcr1qo8907:rtslG .9986 z€Jo 9tI9
.tg07 dqzc{ Łzn1sod qJelu &o{rupe1ądirrr, qc,{uerqdrvr .,elłtl1sbzczs,. pe1ntzfie7 'Lzvq z l gluoluala .I : g 9Bo1 ercgr,u.dzcg dur1dru$o1 tzą e1e1sozod łl|zcęuz['ló' ula1tsz ale1sozod .{f .9 .8 ,7,} : g r9rqz erzpóq nP€PIzoI Łzeq qcer5 .d oppour ,rrr9ur1dre8o1 ene1s .Ź000T _ d e?,f,uq91e7 -pod o1e| w,|1fizn udu1o,rł'rerd rualuatuale }so! 9 : ^? ę V'9 peg.tzt4
'nur$ro31e .,Ęsord
.pe1>1dzrd
o16 fuzcn1zs ozpJuq DIoI{ €.Ą\p fezdrrr eugsrdo dcttnrpn1r .cf,zcl1qo npnl} zoq ?9ołrc^r Łru1e1so b1 ue1vz dtuazour d "Bo| zcotd f,qzcq n1 ecttnd3pdlł, ar11sdzsłl t|tltvu7 ,
'(d
poul) sd'oBolgc ł . .. +
rd oBoI Ic
dpc .g op
: słj
"Bo1
cesrdez durezou Łr9t1
oluz€.ĄĄouló'or
'(d Pour) eced"
órs o1 znf
"
zrzdr"rd
= "Dd .upn rce1sod Ó[cuenr3uo>1 druefnurdzr1o ecŁze1eu tąruudzc eu L bqzcł1 v,|zo1zot duefnqord zere; 'd Potu
"ai
:
L
fuezcrlqotk-d>s>I
.seBen
se1 ndd1 duzcdpr1qeq a? uĄtsI) s Ł1rito41ec Óqzcq Łrr.r'oso1 dureretqd16 .d"BoI nruy(re$o1 oBeueptz tsIuozcllqo op -ord ur1dro8l€ nlac urd1 ,rrr. duratnso15 .dudó1s,rł de1e eru19durod frusrl.{zcuo>Ivz oz.cbtepv1ne7 ta1ep duretndópdzrd
.
(euqgrd oluolalzp cŁ[nuo1dłt.
,nta .d") ezs,tł.rord r1ruu'(zc erą1sdzsar t|zc fiqzcq pour d Łza1eu op g nJolqz ,a .r tcso1ltslrt [el.r.oso1 nrcórzłt' uu e8e1od -el€łsn arudÓ1seu e .d poru Złl nluazcllcło łroqosods qcdure1ueurola z uapof 2rce1sod teuepbz efcuenr8uo1 ?€.ĄĄopnqz łtsf "
TLI
vlvwvcls INZCTIVEDOT4IAX WsrS^S'
r'
I
5. INNE SYSTEMY KRYPTOGRAFICZNE Z KLUCZEM PUBLICZNYM
174
otrzymujemy dalsze dwie kongruencje: log52 *3log53
:
5136 (mod 10006)
otaz
3logr
3 1. Iogr
7:9865
(mod 10006).
Mamy teraz trzy kongruencje z trzema niewiadomymi. W tym przypadku tak się składa, że istnieje jednoznaczne rozwiązanie modulo 10006, a mianowicie Iogr 2
:
6578, Iogr 3
:
6190 i log5
7:
1301.
Przypuśćmy teraz, ze chcemy wyznaczyć log' 9451 wykładnik s :7736. obliczamy 945\ .57736 mod 10007
Ponieważ liczba 8400
:
:
8400.
24315271 rozkłada się
równość
log,9451
: : :
i wybraliśmy ,,losowy''
4logs 2 + logb 3 + 2logu 5
t
nad zbiorem 6, otrzymujemy
log,7
4. 6578 + 6190 + 2 .I + 1301
-
-
s mod 10006
7736 mod 10006
6057.
Możemy sprawdzić, że istotnie
56057
:
9451 (mod 10007).
Przeprowadzono heurystyczne ana|izy róznych wersji tego algorytmu. Przy rozsądnych zał'ozeniach asymptotyczny czas działania w etapie wstępnym wynosi O (e(1+"(1))/l"el"l"e) , a do znalezieniaiednego logarytmu dyskretnego potrzebny jest czas
o
(eGtz+'lt/-t"rtil-n).
5.L.2. Bezpieczeństwo bitów logarytmu dyskretnego Przyjrzyjmy się teraz kwestii częściowej informacji o logarytmie dyskretnym. oblriczertie pojedynczego bitu logarytmu dyskretnego jest ł'atwe czy trudne. Mówiąc dokładniej, rozważymy problem przedstawiony na rysunku 5.5, który nazwiemy problemem i-tego bitu.
W szczególności spróbujemy ustalić, czy
Dane I : (p,d,B,ź), gdzie p jest elementem pierwotnym, B e Zo* ,
śiś flog'p_1l. Cel obliczyć L40)
znaczący bit log. B.
,
liczbą pierwszą,
ae
Zo* jest
i jest liczbą całkowitą, taĘ że 1 ś
które (dla ustalonych a i p) oznacza e-ty najmniej
RvsuNpx 5.5. i-ty bit logarytmu dyskretnego
unrre1d.r4 .d1sdzred
"
.@)Il
.n>IptsddzJd uldu1[IcozJd
.(d
pour)
ęIuazcllqo op
L:
Jgz..{t
71q1-a1d
,ł\
tpl
.T
'o
l
l:
/ )\r\01'l
dułr.{1ąe;e dcŁtndÓ1seu ulo1r.z dtuetr41
.(d
pour) I:_
716-'a)d
dp8 .dpeyrr o{Id} t dpe1u balo1erpe'r.r'ą b1zsal pe| ! az.ele1ng dp8 .dpe1łt ołIdl l dpa1rr.r cótł' g j vrery7
,1'.,p"f znt.druer6 .o
}sa| d
d3o1
: Gl)Il
dp8 dp"ń o{Idł I
.{peyvr t,tr,o1erpe'u.>1 b,1zset !sa|
'{elG-d) >?>0
:dPour
n"'}: (Ąub
ez .ftuafn4sorułt' .euzgr Łs d potu E_aD erllsdzsrrr e? oo dlueurele
'dponr
) oo tnt"^or11 'dV '(d)ffb "o'dpout
e,tro1od e1e1sozod
,. .
.
rt.utfru1.olr'rerd ure
.e,rł'o1erpe.łłą d1zser
oI
*dZ.Ą& łzsa.r e.uo1od
pQ1s
arup€ł{oP
: .:
cót.tł.
1e;
l(ąnbl
T -a e .(Ąub ó oBepze1e1p =l
z:
l@)r-!l
az .pŁ1s g{luf,M '(d Pour)
tT:
m
dp8 .dpe1u o{Id} I dpe1u ecslerru tsru IoIoł z o)
'(r+n)(r-*)ld dPB 'dPe1t o41d1 t dPeYt' (d eq ,|e1eq,@
- Ąt : @)I '{*oZ,=
Pour) zt =
dcŁ tndó 1seu qoso ds
^\
auolga
J{o
*o
Z
*
?.tu
e? .ezsrrrrerd od,fulzennv7
r
:
dPout."} : (d)Ub
tsf)ęIJzo dpa1.rt ld oppour qcfno1erpe,tul łzsoJ qcp11sdzs.łr' lolqz 'd Poru :
t:"
?:.
(d)g$ qcetp
"r
:
I
(r)
js':ff
^,{,::Ę;f.T:]l .cezbl1'/rzol
i$ "*
qcd.u'o1erpe,tul łzsal €Ip €Jolng runr.re1.,ft4 z o1 €.r1ru,t6 ,I : ? dp8 .dłro1s ru,{uu1 .ełqe1 1se[ o8eu1er1s.{p tsuzolu n1rq oBe1-z *"1qo'd ,fullzprc1.u1s 4e1Łzcod e51 nurfre3o1 ń1rq o3ecŁzceuz leruurfpu aluazcrlqo ez aru.td1ąe;e
.,.VIVWVD'IT ANZCI{VEDOTIAEX Y{ąJSAS'T'9
9LI
.. 176
5. TV]VE SYSTEMY KRYPTOGRAFICZNE Z KLT]CZEM PUBLICZNYM
Rozwńrny teraz obliczenia Li(B), gdy i > 1. Niech p
- 7 :28t,
gdzie t jest liczbą nieparzystą. Można wówczas wykazać,
ż:,e Li(p) daje się łatwo drugiej strony, obliczenie L"+,(a) jest (prawdopodobnie) trudne w tym sensie, żekazdy hipotetyczny algorytm (lub wyrocznia) obliczający L"+t(p) mógłby być wykorzystany do znajdowania logarytmów dyskretnych w Zp' Udowodnimy ten wynik dla s : 1. Mówiąc dokładniej, jeślip : 3 (mod 4) jest liczbą pierwszą, pokażemy jak można użyć dowolnej wyroczni obliczającej L2(B) do tozwiązania problemu logarytmu dyskretnego w Zo. Przypomnijmy, że jeśliB jest resztą kwadratową w Zo oraz p : 3 (mod 4), to pierwiastkami kwadratowymi B modulo p są liczby +p@+I)/4 mod p. Istotne jest również to, że dla dowolnego B l 0
ob|iczyć, gdy
i śs. Z
Lt(ilłLt(p_0), gdy p
= 3 (mod a). Aby się o tym ptzekonać, załózmy, ze
a"=0
(modp).
Wówczas
oał(n_7)/2: -p (mod p). Ponieważ p = 3 (mod 4), zatem liczba całkowita (p _ l)l2 jest nieparzysta, z czego już otrzymujemy oczekiwany wynik. Niech teraz 0 : a" dla pewnego (nieznanego) parzystego wykładnika a. Wówczas a]bo B@+ty1a,
: oa/2
(mod p),
albo _B@+t11ł
=
aa/2
(mod p).
Jeśliznamy wartośćLz(l3), to możemy ustalić, kŁ6ra z tych kongruencji ma
miejsce, gdyż
Lz(g): L{a"/21. Ten fakt wykorzystujemy w algorytmie przedstawionym na rysunku 5.6. Po wykonaniu algorytmu wartości ra odpowiadają bitom w reprezentacji bi. narnej liczby logo p, tzr'.
ros.g:lr/i. i>o
Zilustrujmy działanie algorytmu prostym przykładem.
-łrerdod p9'1.'op du1eruroJ 9epod
0 0
0
I
0 T
I
8T
9T
T
I
tI L
_
.l,ttrl :,n lrl"
qcaru 0
Eq
o
.|euzcd1eure1eu rfc1npur
0
0
I
T
I
(L)"t .6T
',2?r'-(-floBo1:"r :aruozctsuzo dtuzpe-trordr11'nru1dro81e rcgou ts:U:zoul
I 0
0
LT
VI
I
I 0
I
I
0
9I
(L)rt
(L)zt
z: D .vI
0
0
(L)rt d eIP z1
: ZOIII:
9
ZI TT OT
o 8
L
L
l ,1
cbtentzn o
0 0
T
0
.t
c
I
Z
T
0
(L)rt .I.9
l
) h
0
T
0 0 0
(L)"t lcgołJe1v\
I
L
vclagvJ, .córrvr
zBo1 .crzprr.rerds or'r1e1
>1e;, 4e[ '2'g n>lunsdr eu
.(Łru
.1.g dc11qe1 /r\ Ic9ołJ€ł\ a1 duretepo4 durer.uu1spezrd nru1d.ro81€ alu€ł€Izo .tra1ng runrra1dr1 tcourod ę7 t7 gttzct1qo eru.ryldp1aJo €uzolu -zcol/.1y- +so| ó1 e (L)t7 rcso1ruirrr, fcqqe1 'tł' cesrd L qco11sdzs''V\ €Ip rc9ou193o l @)zl M).*6IZ (61 =l : zerc pet pelldzrd'9 eu Z: o ! - d qcetg 9'q ptsIĘ^zrd -drrr
duezour ez'f,1eut
a1d1
(d).1 ulp ruzco.rr(r,r feuep r(zrd '(7 pou) I : d ,tp8 ,oZ 1lA o8eu1a.rąsfp nrrryfueBo1 oluozcllqo .9.g xgNnsłu
Ił?:? dponr,"old:d L-d:d
(ZI)
(tt) (0I)
asla
(0)
L: d
'f:orq+
(s)
?r: (L) Il łł v/6+ąd : L
d potu
(d)?.rJ
Q)
(s)
: ?r
opI+datlq,'ł
d poru o"o
r:P
ld
(d)rt
"'
LLI
:d : o"
(S)
(t) (s) (Z)
(r)
vlvwvcls INZCT,wECOTłAAX ntgrsls'
T'
I
178
5. INNE SYSTEMY KRYPTOGRAFICZNE Z KLUCZEM PUBLICZNYM 1) (2) (3) (5) (o) (7) (10) (11)
|
rs:Q
p:6 lt:1
|
l"':L2(6):t
lr:s :0łrt | r1(5) I
B:
|B
14
:7
(t2) | i:2
(5)l"r:Lz(7):I
r:
tt (6) I (7) | 11(11) (10) I B:8 (II)
I
:0 ł rz
B:4
(r2) | i:3 (5) Irs:Lz( ):7 (6) | 1:tT (7) | L{I7) :0 ł rz (r0) | B:2 (11) | B:1 (72) |
i:4
(4) I KoNIEC
RvsuNPx
5.7. Obliczenia logru w Z1s
Zdefiniujmy takze Bgjako wartośćB w kroku 2 algorytmu otaz, d|a i ) 1, niech Bi oznacza wartośćB w kroku 11 w trakcie i-tej iteracji pętli while. Można dowieść indukcyjnie, że 0t =
a2Y
(mod p)
dla wszystkich źż 0. Dalej' z tego, ze
2Yi:Yi-1 - ti wnioskujemy
lri+L: Lz(?r)
d|aiż 0. Wreszcie
z równości
ro: Lt(9) wynika poprawnośćalgorytmu. Szczeglły pozost awiamy Czytelnikowi.
órs e[e1s nrue1q oZ |'tulzgłę,f I uZ lJuzc]tl4dc ednrB eu.tf1dppe erzpÓq ,3fceluezerder udctlnze1n urepel4dzrd qcattr1 -ord erueztr.uzor [erg11 dzrd ..{druB feuę,udzn rfce1uezerder po q9sods ,,(u1o1sr
.errr1e1
n tze1vz nure1qord
o3a1 csoupnr1
ez .{eupe[ órs etepd1.1 .leuzcq>1dc ardnr8 'u oBeu1a"r{sfp nru1dreSo1 rrwoue1qord .|g| npózr ersues rudu.tled.u 1se[nure1qord elsra.ł\ epze4 cÓr,u 1eI Łuzcqą.{c bdnr8 .euset zcazt.łsa!, ) ł] }uaulola fu1orvrop zezrd eue.ryroreua8
Buz€.Ą\ou.Ą\oJ
.o8au1en1sdp nru1.{re8o1 nuralqord ,,o3euoru1o3on" op dtucor.to4 .g ednrSpo6
.(tuzcq1dc ŁdnrBpod euo 1se[ zęrrreruod
.-Fl| e,uo1aqe 1seruro1eu) €./Ąolaqts 9dq tsnru aru p ednr8 edn.r8pod .etcsr,tr-.{zco az ,o1 vu ó8e.ry,n aznv1 [tngolwz .ur'IuIz qcdupez zeq o1e8erqazrd etzpÓq etue.tr -or;dzsep r etue,uo.r;dzs dpe16.I - |'| > ł > 0a?,5l 6qzcqt1e1 ce.uoreue3.{,tł' .I ozout,g ddnr8pod npózleuz aru elcqy q9etaąeupef - |H| > ł > 0 e7 !e1ąe1 .ry [e1r,uo>11ec dqzcr1 ercdzn B8eurd,tt erue.u'or;dzs oz.iulzęntrrP.z .6.9 n{unsdr eu o1 dursqrqorZ.*dZ otdnr8..(\ alu}olĄJold durgrlÓtdzrd uęi.o3e1 op duqopod q9s o,/vtlts2 .Ąe BIęuItsDIg duzcger8o1dd.q rue1s,{s c€,\Ąoluuapz
.1se[
-ods
rvr
-p ardnr8pod
(o'C)
^
oBeule.r>1sfp ntury(.re3o1 uralqord '8'9 .d
>rsNnsłll
"BoI ua1oquds ,kn'tzcęuzo o óqzcl
Ęe;
l|zęł u
'Do"'ol.o zęro I -
|rr| > rl > 0 o? b7e1.o
Łdnr8pod }so!{0
.'
: ,o 9vapu7 Iac
ęfcęuzo oa atzp8,d
b1rrwo>11ec
Óqzcq Łu.{pet
.a zezld bup,tł'oreuaS
p)a,obu' 1? : pD}: 71.lnfzcltzld,p ) f, .ozerc .') : 1 ou€G c etzpB (j
-odnr8 blceredo z bdnt? Łuozcr;o1s }so!
tuoru1oaon
,
.g.g n1unsdr eu dtuerrte1spezrd nua1qord ólsrerrt
"
*"J.;n;{1"1$1Txffif#"'"#"Ó[cęrado op Órs ze1 ,{dnr8 auut ale *dZ .Ą{zoJolu o'ł\oluazcIIqo 1se I o3au
etzpa
,3 ardnra
(teu
,
-9}{
oJ
.erdu8 'rrr'
tau1o.trop
.qJts}$Io1uo>1
{€r
-op
,dv
zca1
a1erc
l.rr
qcduur
cts.Ą\oso}s tsuzoul
,Ą\
€Itsur€clg
fuzcge"r8o1ddo1 ure1sdg
.nł€IzpzoJpod o3e1 tua1tsrual erzpóq aruS€ł.t\ az)I€ł ge1l1.f,.t1edzol o3 euzour ueTąytzod urduqopod z
ruduozcyołs .ł\ oBeu1an1sdp nru1dreBo1 ure1qord dusr1eze.ru.zor
.qcfuzcgerBo1ddo1
.rvrg1o1o1o.rd
.pŁ1
r rvroure1sds nfezpor oaouzot ezo1pod n nulu z ;(urerzpóg .azsru.rerd t>1ruudzc
auo bza1 zdp8 .9ei1d1s óts zęreru ezczsot
tsu np€ł{zoJ r o8eu1e:ąs.{p nru1d.re8o1 ruoure1qord furgrtrcÓrrrl,god ecsferu orods
qcl(uzcdldle l(ue1st(5
Iłc{,tA'l(zDI I lłJduozJuo>Is qJ€łBIJ Bu a+J€do
...Hc^NozcĄroxs HcVavIc VN glavdo
6LI
.6.9
.Z'9
^WgIS^s
180
5. INNE SYSTEMY KRYPTOGRAFICZNE Z KLUCZEM PUBLICZNYM
Niech G będzie skończoną grupą Z operacją glupową o i niech a e G będzie elementem takim, że problem logarytmu dyskretnego jest nietozwiąza|ny wpodgrupię fl: {aź: i> 0} generowanej przeza, Przyjmijmy P : G, C : G x G. okreśImy
rc:{(G,d,a,B): 0:a"}. Wartościa i B są znane publicznie, zaśo jest tajne. DIa K : (G,a,a, B) i (tajnej) losowej liczby k e Z1n1 definiujemy
er(r,k) : (ar,az), gdzie
At:
ak
otaz
Yz:togk' DIa tekstu zaszyfrowane1o A
d'x(il
:
az " (a?)-1
:
(at,Uz) definiujemy
.
RYsUNEK 5.9. Uogólniony systern kryptograficzny ElGarnala z kluczem publicznyrn
:
I. Tak więc o jest generatorem grlpy Zn. operacją grupową jest tu dodawanie modulo n, zatem operacji ,,potęgowania'' Qo odpowiada mnożenie NWD(a, n)
ptzez a modulo n. W tym kontekścieproblem logarytmu dyskretnego sprowadza się do znalezienia liczby całkowitej a, takiej ze
aa: B
(mod n).
Ponieważ NWD(o, n): I, więc istnieje element odwrotny do a modulo n i mozemy ów element o-1 mod rr, łatwo ob|iczyć Za pomocą algorytmu Euklidesa. Następnie rozwiązujerny kongruencję ze względtl na a i ottzymujemy
Io1og: ga-r
(mod n).
omówiliśmy wcześniejproblem logarytmu dyskretnego w grupie multiplikatywnej Zp* , gdzie \iczba p była pierwsza. Jest to grupa cykliczna rzędu p - 1, jest więc izomorficznaz grupą addytywnąZo-t. Jak stwierdziliśmy wyżej, umiemy już obliczać logarytmy dyskretne w tej drugiej grupie. Sugeruje to możliwość rozwiązania problemu logarytmu dyskretnego w grupie Zo* ptzez sprowadzenie go do łatwego do rozwiązania odpowiednika w gtllp\e Z,_t.
qcę1ęlzpzorpod qcdudó1sBu
rvr' .
rurłrouo .,(se11
urduozcr1o1s luałtsIc peu lauzcd1dqe [e.udzo1
:('d)gc slo1ec
o} oTqo
ednr8 (7)
e1erc ednrB eułrd1eąuddłInul(T)
:dnrB qcr1e1 dse11 altrP o1g du1ezbrałzo.raru
p nur1dreBo1 rue1qord qcdrg}ł
.tt, .qco1e1
cezĄ.tztd cÓur o1re,11 .(tauzc1p1dc) ddnr8
nr1 (e1o 1nz.r dzs.łłrerd eu) qn1 ,,t.łr1e1 9dq ,atnzu4od oruervrournzol azszśno1 azour o8eu1eo1sdp nur1'(re8o1 rue1qord ez .tupdnr8 €uol^rp rur..{1 dzp3rru ntuzgJotu
-ozl €Iu€.Ątopfeuz
nur1dro81e o8eurwdplaJo op tzpu.uord qcdu1eqsdp ,tt9u1dre3o1
€Iu€zcllqo tspo}aru eurvrdp1e;e oz, c tzpłyrnez oupułolu 1or.u'po vu 1, cvzblnzoJ alu ,|H|vl .rrtd11e;e EuzoIJJ p rrr, o8eu1arąsdp ntu1dre8o1 ura1qord lezd.tr duęsrdo o1 11 .
.'
erdnrB lau dzpórul nluzgJotuozl etuerrropleuz €połalu eurrtd11e;a eleru1sr llgof op c€.ĄĄoso}sez euzorl,J ópo1eu ó; 1o,Ą\op .ł\ o8aułalłsdp nu1dle8o1 nrue1qord dułte! qosods rr.r 9esrdo InzlJl.olnoz| qe1 dq11o.ttzod drg14 ,mu1d.ro81e o8au.ud11e;e dupru aru 'euzcgroruour bs ddnrS errrrp oz 'dular.u o$eu dp8 1a,lłe5 .d lezsrrl.rerd fqzcł teu1o.ttop €Ip p nurzgroruozl €Iu€^ropleuz .urd1 eu -.ttd11a;e dpo1eul fau193o |eupeq tulęuz eru ez ąeupef e8a1od ?9oupn.\l zolu.Ą\oJ fuęru *oZ ^ qcfu1ar4sfp ,tr9ur1dre8o1 "eru€zcllqo ru1dro81e du,ud1łe;e ,Q ntnzg,lottlozl ópo1eu Łurrrdp1aJe furetu r19e[ .etce11nzol M €Iu€.lv\op|euz .
'(r
-4
pour T-((^r)@)@)Q
due[nur,.(zr1o .rr Łruoper.traru qgsods [ezd.t.r dugsrdo '(1
-
d pour) (d)Q = Qo)Qo
e
(d
: rr.r
d "Bor
cŁlezcuqg
potu)
oD = d
vtowz
'(t - d) Poru (o)Po
:
(d Polcu ,a)Q
ez .1serruqcd1eu pt1s elilud^Ą
G _ Ą poru ((n)p + @)Q)
:
(d,po.uu fr,r)Q l
a7 !eqe1
'r-dz *- *dz I|c{a|Tq
:Q
oluolulsl tszctsuzo 1+,t_dz) bdnrB z €uzcgJolu oBa1 1e! .óts durlu9ut1se2
.aruezprar.u1s .c€uo{op -ozr 1se[ (,, *oZ) ednr8 ez
r8I
'..Hc^NozcĄroxs
HcvTvo
VN
glavao
.Z'9
^WgIS^s
5. INI'IE SYSTEMY KRYP,IOGRAFICZNE Z KLUCZEM PUBLICZNYM
182
5.2.L. Ciała Galois Stwierdziliśmy wcześniej' ze Zo jest ciałem, gdy p jest liczbą pierwszą. Istnieją jednak inne ciała skończone. W szczególności dla każdej liczby q, takiej że q : pn dla pewnej liczby pierwszej p i liczby naturalnej n ) 1, istnieje ciało q.elementowe. opiszemy teraz krótko, jak takie ciało zbudować. Potrzebujemy do tego kilku definicji.
DEFINICJA
5.1
Niech p będzie liczbą pierwszą i niech Z,|r] oztacza zbiór wszystkich wielomianów jednej zmiennej r. Definiując w tym zbiorue dodawanie i mnożenie wielomianów w zwykły sposób (i redukując współczynniki modulo p)' otrzymujemy pierścień.
Jeśli/(z)' s@) ę Z,|r), to mówimy, że f (r) dzieli g(x) (i piszemy f (")|g(")), gdy istnieje wielomian s@) e Zrfr), taki ze
s@)
:
s@)f (r).
Dla /(r) e Z,|r] definiujemy desj), stopień wielomianu /, jako najwyzszy wykładnikpotęgizmiennej nw f ' Niech /(r)' g(r),h(r) e Zofn) i deg(f) : nż 1. Przyjmujemy, ż'e
s(r): h(n)
(mod /(r)),
gdv f @)
|
@(")
-
n@)).
Zwróćmy uwagę na podobieństwo definicji kongruencji dla wielomianów do definicji kongruencji dla liczb całkowitych. Zdefiniujemy teraz pierścień wielomianów ,'modulo f (r),,, który oznaczymy symbolem z,|x]l ff @)). Konstrukcja Zo|n]l ff @)), wychodząca od pierścienia Z,|r], op\eru się na pojęciu kongruencji modulo /(r) i jest analogiczna do konstrukcji Z- z Z. Niech deg(/) : ,. Jeślipodziel1my g(r) ptzez f (r), to otrzymamy (jednoznacznie wyznaczony) źloraz q(r) oruz resztę r(n), gdzie
s@)
:
s@)f (")
ł r(r)
oraz
deg(r) < n. Iloraz i resztę można uzyskać drogą zwykłego dzielenia wielomianów. Stąd każdy wielomian w Zolr] przystaje modulo /(r) do pewnego wielomianu stopnia co najwyżej n, - l. Kazdy element z,|r]l$@)) możemy teraz rtozsamić z jednym z p" w\elomianów stopnia co najwyżej n - 7. Dodawanie i mnożenie jest określone
nlulso z
ipzBą
l
Órs
.T
+'+
Zr ztsIo
rł zI ,Ił er.z,,I+r.:x.I
.6:,uoueruro1er.t
epe1ąs o} ołtsIc .(r +"+ ,") l|"]"z o1erc dulnpnqz I (t)ól duld7n .I{c€łuoulalo ,,(.tropnq op cdzn1sod ezour qcru z nllu9o o e1erc .,{uerruo1arrvr a1e1sozod €qo az{Bupaf
aul€p€łłzoJoru
Łs .(r)e/ t (r)Z!
'(r + .";1, + r) zolu.l'rol{ .(Z oFpotu au€Ao{npaJz
:
I+r +
"'
t t'
zdp8 (du1epe11zo; 1se[ (z)r/ uetuoleru
bs tnluu1'izc1gds.tt e11pdzsrvr ez
..{rute1Órrued)
(r+"ł",)(t+r):Iłt,, zdp8 'du1epe14zor lsaf (r) t/ uerurolerl6
.I+r+z,łt,:@)vI ł zr + ł: (t)tt I
I+r+ rr:(r)z! r-rfxc:(")rl
:dueruoler.tr er1e1 dra1zc tferu1s1 ..{u1epe11zo.l córrlł' p ,:t zazld ,{u1etzpod 1set ud1e1s ruazęrdrrt rud,uorez z utsIluolalrvr ltpzu1zf,p8.1 tudurrtgl u,{1ep ruezerd.łrr' z dueturo1etrvr o>11d1
)elęlt'zoJ
n1ec rud1 rvr dzcre1sd,11 .[r)zv n erudo1s o8atcezr1 u€Iluololllt du1epe1>1 ol €uzotrĄI .o.ry\ołualuolo-8 ołtsIc cts.uopnqz futnqgrdg
-zoJolu ctlnpleuz ,glqoru
9'9 pe[\^zrd
.ęrcÓlod dcb[nr1sn1t pe11dzrd o16 euozpe.u'ordru' .€saprplng nur1droB1e (o8euozrezszor) rtcvr1gdporu [a1so"rd Łcourod ez cizct1qo €u?ou eruercgrerd o3e1 rrto1ueuola lc9ou -loJ,Ą\po .o1peuo4 .du1epe11zo.retu 1se[ (r)'f uenuo1errrl dp8 ..{peyu. o11d1 t dpe1rrt IIIał€IJ uo 1sa[ ez .o1 1se[ ((")t)l@)"z eruercslerd Łrcsouse1,tt tu1o1sr ozpJ€g
'0 < (zl)Oep zvro
,.(ueturo1er.u Łferu1sr eru q9a[ ,tufruyopoyązol,aru
O
< (t{)6ap etzp8
'(r)zl@)tl : @)l az oDI€ł .|,)oZ> @)zs,@)ls futelll'zv, I,]oz > @)l utsrruolalł\ z'g vfclNl.{oo
:dcbfndó1seu qgsods rYr duralnrugepz aJgIĄ.rcsou1epe1>1zoJolu otcólod n1 1se[ tc9 -ozs..tł..rerd lllol{rupol.1rĄ.oopo .((")/) l@]oz,tr 1se[ aluqopod .€sapq{ng nru1droB1e Łcouod vz vf,zc11qo EufouJ ęruercsrard o3e1 rlł.o1ueruola Icsou}oJ^tpo e .tzs.uratd tqzc11 łse| u't, ltpB.dpe1łl o{Id} I dpe1u rueruercgłerd +so| -Z ez .drultutuoddz.r4 Órs e[e1s rruęlcęredo
wlt1 z ((")l)l@)oz Jg\qZ.(r)! oppoul
-zse| tze1eu p,IuełeIzp {F,{ł' ez tn1o,, ,|,]oZ
rrr, >1et
r1e1
'ruaruorc9Joro
?ts.&o>InpeJz azc
l€ruolu ((n){)l|n]dv n
'HCANOZCNOXS HCVSVIC VN srEVdO AWSTSIS
t8I
'Z'9
5. INNE SYSTEMY KRYP'IOGRAFICZNE Z KLUCZEM PUBLICZNYM
r84
Aby obliczyć iloczyn dwóch elementów tego ciała' mnożymy dwa wielomiany redukujemy wynik modulo 13 + r * I (czy\i dzielimy go przez 13 + r + 7 i bierzemy resztę). Ponieważ dzielimy przez wielomian trzeciego stopnia, reszta
i
ma stopień co najwyżej drugi, jest więc elementem ciała.
obliczmy' na przykład' iloczyn (r2 +t)(r2 łrłI) w Z2|r]l(r3 +r+t). Najpierw obliczamy ten iloczyn w Z2[r) i otrzymujemy:x4 +13 +r * 1. Teraz dzielimy przez 13 ł r ł I i dochodzimy do równości ra + 13
łr łI:
Tak więc w ciele
łr)(r3 + x ł 7) + 12 + r, Z2|x]l@3 + r + 1) mamy (n
(r2+t)(r2*r*1):12+r. Poniżej przedstawiamy pełną tabliczkę mnożenia dla niezerowych elementów ciała. Dla oszczędności miejsca zapisujemy wielomian postaci a2x2 + aLr + ao jako
ttójkę a2a1ag,
001 010 011 100 101 110 I
I
010
010
011
011
100
100
101
101
110
110
111
111
1
100 110 011 001 111 101
11
1
101
11
110
011
111
101 111
111
001
110 010
101
100 001 010
101
001
011 010 100
111 111 101
010 001 110 100
011
Do obliczania e]ementów odwrotnych mozna uzyć bezpośredniej adaptacji rozszerzonego algorytmu Euklidesa.
Zalwazrny na koniec, że grupa multiplikatywna niezerowych wielomianów nad rozważanym ciałem jest grupą cykliczną rzędll 7 ' Liczba 7 jest pierwsza, więc każdy niezerowy element ciała jest generatorem tej grupy, czyli elementem pierwotnym ciała. obliczając, na przykład' potęgi elementu
z' otrzymujemy:
r':r
r-) _*2 x3
:r*1
r-
- -2 L-
4
r-
I
5 6
T" &
7-
łl-|
-
L,
a więc wszystkie niezerowe elementy ciała.
Pozostaje rozwazyćjeszczepytanie o istnienie ijednoznaczność ciał tego typu. Można wykazać, ze w Zo|r] istnieje co najmniej jeden wielomian nierozkładalny
'uroIuSu.aY\oJ ru^uur oJolu brs e|nrugap (.e).{c qnl ("z)dc peu Łuzcf1dr1a bin'tzly .g < d lazsmratd ,,(qzct1 ts1p (.d).{c ura1etc rufu1o.tłop peu |auzcf1d11a ta.trr.fz:ą elue.t\olugopz op 9.(zn1sod ezour (1'g) alu€u.łrglII .6,7 . ure1>1und rp|ouozcL)oąsaxu m ue?tlund w^-uel'l|z ulduoluzoJd.Ą\ z za:.h\.(d pour) O # zQLZł gov oz IIJIIĄeI.ttud1e1s bs dv ) q,D aup?
(r's) oZ pn,
9
ł ro ł,n :
.(d pour) 0 + rD \"L,|'ll-Z-
oZ, oZ)
ł ^r:
_fi
(ft'r) yezblnzot rgrqz 1se[ rfcuanr8uo>1 d qcat5 buzc fiyfu'ya bmfr,z.t,y .Łzs.ulard b,qzcq etzpbq f,
(
8'9 VfCrNr.{gO
"fr'
'leuzcdldqe loll.fizt4 1lcgugap po .ttttttuzceT euzc,(1d11e
et*&zły .7.7,9
.(eueuq1a11-e81qod nru1d"ro81e urercdzn z n{€ł€
l
tsIutstu
-dzr1sru,od op duqezr1od) dzs.lrrr."rerd >1ruu'{zc ui?lp., uepel fetuuf€u oc €Iu I uZ eqzcq o11d1 rl9e[ .du1ezbr.ł\zololu eruzc,(1>1erd łso| ("Z)dc tlr. oBeu1eo1sdp nru$.t .ąeupef Óts eze.un -eBo1 rue1qord (oos < u durzpetnod) u rcgoperr.r' qcdznp e1p ez
-
' (rr.("t).7rtrrr)'+soo'r la) O rsoud,n o8aula.rlsdp nur1d"re8o1 o8eupel eruazcqqo op duqezrlod sezc dp8 sezcpod
' (r,.{uur)r,ru((r)o+sot ,)') O du.ug"r 3rs efnzer1o ns{opul tsru€zcqqo
ntu1dro81e qcdudÓ1sn uezc{qo s?zc .qc€łelc qclł€ł 1r\ €uzcełn{s aa1e1 e1dq dq .>1e1 9eritoso1sop tsuzoul ns{apul BIu€zcIIqo ópo1eru 1eloĄz.('z).łc qce1erc ,u Ł[ -r-łr;lzp.eueu11e11-e8llqod r 1ef .es1ueqs ouió'gJez o8eu1er4sdp nu1d.re8o1 nure1q Łs lerda1eu ecd14e;d 7y1 -ord e1p dru1dro81y .("z)gc auozcgo{s tsł€Ic ou€p€qz
'o8eulenlsdp nu$reBo1 uelqord cazr-ł'lrzot
euzou]. qcdrg}{ rrt .qc'(uzcr1>1dc dn.r8 dpe1>1dzrd ozsl€p qgsods ua1 rrł. durale1soq ,I _ ,d npóztbuzct1>1.{c tdnrB }sa| {0} \ ("Qgc :euzcq>1dc 1se[ o8auozcyo>Is €ł€Tc .T _ d np6ztbuzu1nltc Łdnr8 pef eu'r.r,d1tąrTdr11nu ednr8 tspzer1 lc9olsIny,|zcezł' M (d tazs.tr.rerd dqzcł ep) *dv eunfiyv4gdr1pu pdnr8 az ,zn[ ltulgt1tztsry\ntsz
.o,łlołualuola-J ołtsIc auozcuo{s aleru1sr eru o1 .1 ą u feu1e"rn1eu dqzcq t d lezsłrrard dqzcr1 leu.tred e1p ud rce1sod Łqzcq ,9ezv>1,|'nt olczsoJ..r\ €uzotrĄ .d,Z oc .tudtuęs ud1 n1sord od pal 1sa[ eru J TI9a| ez ('d)gc o1erc qgsods uo} .Ą\ ou€Iu[zt1o ,.1 : u ,tpB nąped,'{zrd 16 .('d)gg ule1oq -urds a[ fiulzceuzg .I < u t d lezsru'rard dqzcrT [eu1o.tl'oP EIP . ud !au,tt9r .Ą\g}uoualo .ouzcqloulozr Łs u erudo1s qcdu oIqzcIT o oł€Ic ouozcuo{S eudpef :uuo+tsz a[aru1s1 .I€p?PIzoJaIu lłc"u€Iluolol./ń qco11lp qcdu1o.t.rop €u oue.[oPnqz q.łq-I) ouozcyołs oz .crupołropn >1eupe[ euzoru .u erudo1s qcduppep1zoJolu 1ńoutsIluolal^Ą alal..r^. eleru1st e14[n7 .I < u leu1ern1eu dqzcq feu1o.ttop r d lezsłlretd dqzcq |epzot gtp .I ą u erudo1s oBauep ud o e1e1c o8euozcuoąs oluolułsl o1udrrl pb+S
|,]oz
^ .qce1uerua1e
.,.Hc^NozcĄro)1s Hcv.łVIc vN
98I
gIEvdo
'Z.9
^WqIS^S
5. INNE SYSTEMY KRYPTOGRAFICZNE Z KLUCZEM PUBLICZNYM
186
Krzywąeliptyczną E mozna przekształcić w grupę abelową, określając odpowiednią operację na jej punktach. operację zapisuje się zazwyczaj addytywnie i określaw następujący sposób (wszystkie działania ary.tmetyczne wykonywane
sąw Zo).. niech
P : (ą,at) otaz
Q
:
@z,ar)
będą punktami na krzywej'E. Jeśli:x2 ciwnym razie P + Q : (rs,g), gdzie
frz:\2 -x:r_
: rI
i az
: -yt,to P * Q :
O; w prze-
xz
as:\@t-:rz)-at otaz
cdy PłQ; Sdy P:Q. okreśImy wreszcie
P+O:()łP:P P grupąabelowQ,w (sprawdzenie więk
jest
dla wszystkich
tO
ącZ-
ności jest dośćtrudny). Zalwazmy, że elementy przeciwne oblicza się w tej grupie bardzo łatwo. Ele. mentem przeciwnym do e]ementu (x,y) (oznaczymy gojako -(r,g), gdyż grupa jest addytywna) jest punkt (r, -g), dla dowolnego punktu (t,y) e E'
Popatrzmy na prosty przykład.
Przykład 5.7 Niech 'E będzie krzywą eliptyczną 92 : 13 ł n ł 6 nad Zl. okreśImy najpierw punkty nalezące do E. Można w tym celu sprawdzić wszystkie elementy :t e Z11, obliczając 13 +:r rL 6 mod 11, a następnie starając się rozwiązać równanie (5.1) ze względu na g. Dla danego r sprawdzamy zaporfuocą kryterium Eulera' cz! z : 13 + r * 6 mod 11 jest resztą kwadratową. Przypomnijmy, ze istnieje jawny wzór tmożIiwiający obliczenie pierwiastków kwadratowychz teszt kwadratowych mod.ulo p' dla liczb pierwszych p : 3 (mod 4). Stosując ten wzór' otrzymujemy następujące pierwiastki kwadratowe z reszty kwadratowej z: a,Gl+t)/a mod 11
:
Łz3 mod
11.
[tllęw,tzcęz ly\guf I .(t,z) + (e ,s)
o + D7'
-
'z-
IT potu L'9 : TT pour r_g.q : rT pour,_(s - dk- /) : y łl oc .y eruezcr1qo po
:4e1 ept1Bd.t rfcen1ds [a1
:
arg 1sa[ Łrc9oułoDlolol1l\
tuta1oy
.k,S) : DZ uropz '7, : ITpourf-(9-Z)8:n
I
p
zpro
II potu
z- z-
g: : tr
"8
s€zc^Ąo,ł\
AIu€trĄ
'8-
TT
Q,d
+ (t,z)
:
DZ aluoz.Ąlq6 .(arue,r.repop
poul
1se[
TT POIu T,Z : II pour t_t.2, :
,_(t.z)Gł
"7,.t)
:
Y
:Y €Iuozcllcło po futeufizcez tłr'odnrB tlcerado zdp8 .o tc9ou
-łoJ{oIoI1( o1e! e| lfinezstdez) al ..t3ó1od.. cizcl1qo stszc1Y\oł\ durezotr41 .(L,Z) : o lc9ouozcuo{solu 1!^. n1ąund po fuz9r ro1e.reua8 fuve1y4 .IuaJo1tsJouo8 tet 1set .uuzct11dc 1se[ Łzsłrretd bqzcq 11und dpze1 I t'IZ z ęuzctJlou]o4 łso| a Ino+ez pe| pŁz"r !er911 .ednr8 epłe{ zts,{aluod ..tr9p1und 91 dze1eu 6. op cóvlł 1ea
ł€1
OG
aIu
oc g't
t
{€l
ł€l
oó
lrr
6
L
o
t
z
8
T
I TTpour9+r+Er
łsaf
"fr,
OI 8
o 8
oIu
i(tt)ub r + ,ł:
n
8
t
{€1 {€1
9+
L
v 17
{€1
alu
g'g L,'
aIu oru
n,
rrz Peu
|euzcr(1d11e [ałt'fz.r1 r(p1un4
0 t
.z.9
vcITsvI
.z.9 €clTqts} r'Iolll'tsz uozcllqo qcd1 r4ruf16
.,.HcLNozcĄroxs Hcv,łvlc vN glavdo
f8T
:6.9
^WgIsAs
5. INNE SYSTEMY KRYPTOGRAFICZNE Z KLUCZEM PUBLICZNYM
188
Mamy wówczas
rz:22-5-2mod11 -R oraz
az:2(5-8)-2mod11 ur -D -
azatefi' 3ą: (8'3). Postępując tak dalej, otrzymujemy wszystkie wielokrotnościo: 4ę1: (l0,2) 7ą : (7,2)
2ę7: (5,2) 5ą : (3' 6) 3ą : (3,5)
3ą: (8'3) 6ą: (7'9) 9ą : (10' 9)
16ą
11ą
1261: (2,4)
a:
(2,7)
:
Tak więc
(8' 8)
a:
:
(5,9)
(2,7) jest rzeczywiście elementem pierwotnym.
Liczba punktów na\ezących do krzywej eliptycznej
E
określonejnad cia-
ł'em Z, (p jest liczbą pierwsz4,, P ż 3) jest zblizona do p. Dokładniej, znane twierdzenie Hassego orzeka, iżliczba punktów krzywej eliptycznej E, |.E' speł-
nia nierówności p+
l-
2\/e < ilE
śp + I +
2\/p.
obliczenie dokładnej wartości $.E jest trudniejsze, istnieje jednak opracowany przez Schoofa efektywny algorytm wykonujący takie obliczenia. (Termin ,,efektywny'' oznacza tu, ze czas działania algorytmu jest wielomianowy ze wzg\ędu na logp. Czas działania algorytmu Schoofa wynosi o((Iogp)8) operacji bitowych, dzięki czemu jest on praktycznie stosowalny dla kilkusetcyfrowych liczb pierwszych p). Zakładając, że umiemy ob|iczyć fi.E, chcemy dalej zna|eźćpodgrupę cykliczną grupy.E, w której problem logarytmu dyskretnego byłby praktycznie nierozwiązalny. Chcielibyśmy zatem coświedzieć o Strukturze grupy 'E. Następujące twierdzenie dostarcza o tej strukturze istotnej informacji.
TWIERDZENIE
5.1
Niech 'E będzie ktzywą eliptyczną okreśIoną nadZp, gdzie p jest liczbą pierwszą i p > 3. Wówczas istnieją liczby całkowite n1 i n2, Łakie ze E jest izomorficzna z Zr, x Znr. Ponadto, n2lny i n2l(p - l).
Wynika stąd, że jeślipotrafimy zna|eźćliczby n1 i n2, Ło otrzymujemy podgrupę cykliczną glupy E, izomorfi'czną z gIupą Zn,, która może potencjalnie słuzyć za podstawę systemu kryptograficznego ElGamala.
'(z'ot) : :
(s'e) + (o'or)
(z't)t,t(6'91)
:
an
zplo
(e's) : L'dt:
r+n' :vtuazc
,t : ł 99o1J€1( t,troso1 ezletq.{,tł TI9or .(.s lervr..(zr1 ,drucsnddzr4 lg{Iunuoą 9elrr,or;dzs€z ocqc elcT1y e7
-rlqo acttnd31seu euo>1d^
eu 1ąund) (o.or)
: r
'
tfiL
.ZI > 1se[eruerrtor;dzsep tlceredo dp8 sezcpod '
((Z' l)rt +
zft
:
(2fi'rn')YP
ł > 0 z€Jo g ) r
il' (L'Z)rt)
:
Q!'
atzpB
r)x,
:Łcb[nd31seu 9e1sod cÓr.tr eur erue'tor;dzs elce"radg
'k'D : aL: stszc.Ąoł\ .2
:
o
1sat
€)ilog
..Iual{rupe1ą.{'rrr...
rudule1 ę .(L,Z)
:
d
D oZ (f,tllz91u7
g'9 Pe7>7tzt4
erure1s'(s rrr erue.tror'd.:"1:#ił:;,:","::Tff::i.,.;#''n uratcdzn z €*ul€clg .(eueru1ag e8ilqod luol{ts1€ pazrd .{uorqo nloc 1r\ orupezrdod 1ef) dzs.tt"ratd ąruudzc dzrrp uepat fetuurlgu oc zazld, du1erzpod pel
fdnrBpod pbzl ez IuoI{unJ€^\ pod .oBauzcger8o1dd"q nura1sds orrr1suezcerdzaq,a| -epdłr órs 1et .€ru.t.tadgz 691Z ołołonpbzlbuzct11,tc Łdn"r8pod z uuzcl1dl1a em-,fur1 .ł\9J ez,gb|,|ztdęuzov] o1 .qcd,tqqosoredns qcdrrrdzn1 ?g{Iun órs ecqc ąeupet IT9or -erSo1ddr1 u€.Ą\osoJałulez nB3.r1 łr órs d1ze1euz elppĄ.tud.tł'qqosoredns rurdmdzr1 l7c/ruenz.qcduzcd1dqe qcdrrrdzr1 qcdu1o8ezczs oIs€I{ .łń qcu1peddzrd qc'{u.t.red .t .ó4ruqce1 ó1 ce.Ąl'osols .e.euo1suen I ołolue;Io .esezeuatr41 zezld buvnouodordez .nu €uzotrĄ .qcdmdzr4 se11 qcdu.uad ep m9ur$ro81e qcdu.ttd11e;e op ectzperrro.rd -duozcgoąs IIu€łtsIc r rruduzcd1dr1e rruf.u,,{z.rą dzpórur nulzgJotuozl o8eurvrtI urue1 .qc,{.,vr-'tzq qcf1 op n$Iapul €ru€zcllqo dpo1eru -sdz"ro4d.u tspołolu ąeupet e[eru1s1 .qc..{uzcd1dqa qc,{rra'dzo1 it.t' o8eu1er1sdp
efce1depe
tsuptsz ęuęuz 1se| eru Órs efnso1s
nu$re8o1 rue1qord
łstsIluoł€u
€ueuIIaH-BBIqoa
I tss{uęqs
qceur1froĘe .Łuzcqądc
6
'qcdzs
ŁdnrB -,tratd qzu1qc,|uzgr uraudzco1t qn1 Łzs,tr.rerd tqzc11 łse| af, dp8 .eruqopo4 .buzcqądc tdnr8 pet E o+ .I : zu IIga! ez ,fulzval'.lv7 łsa| g
'..HcLNozcĄro>rs
68r
Hcv.łvlc vN slavdo
.Z.9
^wgISAs
190
5. Nil\.IE SYSTEMY KRYPTOGRAFICZNE Z KLUCZEM PUBLICZNYM
:
((8, 3), (10, 2)). Gdy teraz Bolek dostanie tekst zaszyfrowany y' go sposób następujący: odczyta w
W rezultacie y
r:
: : :
(10,2)_7(8,3) (10,2)
-
(3,5)
(10,2) + (3,6) (10, g).
Rezultat jest więc zgodny z pierwotnym tekstem jawnym.
Przy implementacji systemu kryptograficznego ElGamala na krzywych eliptycznych pojawiają się pewne trudnościpraktyczne. Gdy stosuje się ten system w Zo (Iub w GF(p') dla n ) 1), można dwukrotnie zwiększyć wielkośćkomunikatu, natomiast w przypadku implementacji na krzywej eliptycznej można zwiększyć go mniej więcej czterokrotnie. Bierze się to stąd, ze marny p tekstów jawnych, ale każdy tekst zaszyfrowany składa się z czterech elementów ciała. Poważniejszym utrudnieniem jest jednak to, ze ptzestrzeń tekstów jawnych składa się z punktów na krzywej E, aniejest znana żadna metoda deterministycznego generowania tych punktów. Menezes i Vanstone zaproponowali wariant bardziej efektywny. Krzywej eliptycznej lżywa się w nim do ,'maskowania'' natomiast tekstami jawnymi lub za' szyfrowanymi mogą być dowolne pary uporządkowane (niezerowych) elementów ciała (a więc nie muszą to być punkty krzywej .E). Daje to współczynnik powiększania komunikatu równy dwa' podobnie jak w oryginalnym systemie ElGamala. System kryptograficzny Menezesa-Vanstoneta jest pokazany na rysunku 5.10. Powracając do krzywej a2 : 13 +r+6 nadZ11, widzimy, że system Menezesa_ Vanstone'a dopuszcza 10. 10 : 100 tekstów jawnych, podczas gdy oryginalny system jedynie 13. Użyjemy tej samej krzywej do ilustracji procesu szyfrowania i deszyfrowania w systemie Menezesa-Vanstone'a.
Przykład 5.9
Jak w poprzednim przykładzie niech o Bolka będzie a:7; stąd 0
:7a :
:
(2,7) i niech tajnym
',wykładnikiem''
(7,2).
Przypuśćmy, że Alicja chce zaszyfrować tekst jawny
r: (nt,r.2):
(9,1)
(zwróćmy uwagę' że r nie jest punktem krzywej .tr) k :6. Najpierw oblicza
uo: ka:6(2,7) :
(7,9)
i wybiera wartośćlosową
lsef
'r.trr,o11og a19drn
etcqy
.t: II
(g'g'(O' L))
:
(zft 'rfi"ofi)
:
fi'
drol>1 'urduettot1fzsez ura+$leJ
poul
I.t: II polllzxzc -
zń,
zęlo 9
: II
Pour 6. 8
:
IT pottt IxIc
't:
zc
'(t '8)
:
lfi,
ezcllqo taleq T
:
8
:
ra
(z't)g
ura1.ts7 ts
:
d,t
zęlo
fauzcl(ldlle
I
I I I I
fean'
-fz.rą eu {1redo B.ouołsue1-esozauatrĄI ura1sr(so1dr(J)I .oT.9 xff NnSAtI
'(ec'b):
ofr'o
atzoB
.(dpotu
: (ĄXp
,zcefi(d pou ,]atń)
,{urelnrugep (zft,lfr,,ofr,): ź o8euelł'or;dzsez npąe1 e1q 'd Poru ztcc
d pour rara
: -
zfi,
rfl
gą:\o)'Lc)
Dą:
on
arzPB
,(zft,,n,ofi,): (ą,Ąx"
: fr
Zr,;'o
.eufe1
|rł|v )
.{uretntugap *oZx *oZ) (zr'tr\
s1 tqzc1 fe.tloso1 (|au|e1) ,(d,,,,,g) : euęuz Łs 5i r o rc9ope6 .g )
1saf D Eqfc\I.atuzcr1qnd
X
o
-
e.IC'
atzpB
'{ao:g :(gJ'n'o'g)}:X x *oZ x g : )' *dZ x *dZ : 4 f,uthtnl,fzt1 tulezb1tttzotolu o1{\oluazcrlqo lset o8aulerlsdp ntuldr
,trulsarlo I *dZ '
.,g ódnr8pod tuzcq4dc J€ al.Ą\tsz g ezĄv1 ,(ezs -e3o1 rua1qord !er91>1 rn. .g < d) ozuu tuo1seqo Łuzcd1dqe b,n/lzl4 arzp3q .q qcelN -r,l.ratd eqzcr1
'..Hc^NozcĄroys
I6I
Hcvsvlc
VN
glavdo
,G,9
^WgIs^S
I92
5.
IAII\IE
SYS,IEMY KRYPTOGRAFICZNE Z KLUCZEM PUBLICZNYM
Gdy Bolek dostanie tekst g, obliczy najpierw
(q,cz)
:
dAo
:7(7,9):
(8,3),
a następnie
, : (Ar"r' mod p, y2cjL mod p) : (6.8-1 mod 11,3.3-1 mod : (6 -7 mod 11,3 . 4 mod 11)
:
11)
(e,1).
Proces deszyfrowania dał więc poprawny wynik.
5.3. System plecakowy Merkle'a-Hellmana Dobrze znany system kryptograficzny Merkle'a-Hellmana został przez obu autorów po taz pierwszy opisany w 1978 roku. Mimo iz został' on, a także kilka
jego wariantów, złamany we wczesnych latach osiemdziesiątych ubiegłego wieku, warto mu się przyjtzeć z badawczą uwagą ze wzg\ędl na jego elegancję pojęciową
i technikę projektową. W gruncie rzeczy nazwa,,plecakowy" nie jest tu odpowiednia2l system opiera się na problemie sumy podzbioru, opisanym na rysunku 5.11.
Dane 1: (sr,...,Sn,T),gdzie 51,..., sniT całkowitymi . Liczby s i ndzlw
Pytanie
alnrr1y w ag
Czy istnieje zero-jedynkowy wektor x
ze n
Y -
risi
sądodatnimi liczbamr
ami, liczba 7 jest sumq docelow
q.
: (rt,. . . ,rn), taki
:7.ł
RYSUNEK 5.11. Problem sumy podzbioru
Problem sumy podzbioru' tak jak go przedstawiliśmy na rysunku 5.11, jest problemem decyzyjngrn (odpowiedzią jest .,tak.' Iub ,,nie''). Jeśligo nieco przeformułujemy, tak aby w przypadku, gdy odpowiedź brzmi ,,tak,, , ottzymać 2Problem plecakowy' tak jak go się zwykle definiuje, polega na wyborze obiektów o przypisanych im wagach i zyskach, tak by nie przekroczyć wskazanej objętościi uzyskać przewidywany zysk.
.v4tudltrt' .fcŁusorredns e .tltrlorcgo1rtsr'lrouz'ol Łtc>1un; 1sef sa ez sa f,23 s 8Łrc az .oBe1 Z i€Iu€.Ą&o4dzs Ó1n3er eu uralepfpuel udrqoP lsel
Iu}^Jo8Its dpa1.u
1set
.,,n,7:(ćr....,tr)"a L--\
uloloz1/\ Łuo19err1o
t"3' 3|c>1un1
tulzentzop.rudcŁusorradns
urer8brc erzpóq
'o) *- ,{t'0}
('".
...
: sa
.'") : s qcolN
o8ectuso.r.redns n8trc .zT.9 xgNrrs^ll BIP nJolqzpod .ł(rrrns ure1qo.rd ścł;$l.zb1l*zorwy(ro81y €Iu alu ularuęzbl.l,tzor
pet
ęt.uęzblnzot
esle
('r,...,rr): X uoqł 0 : Jl\ o- ?r oslo
r-er ?s-J:r
(ot) (6)
(s)
I
(L) (g) (S)
(r) (e)
uatlł ?5. < I l\ k) op I ołuilt'op u :? JoJ (T) .61.9 n1unsdr eu fuorłre1sp euerudzr1o € ",i,,L,^,o.r durns eruę,rnrąnzsdlł' tuolqo
po! ?,tq rsnur (e[eru1sT TI9o|) azour nrotqzpod
i
o/v\}tsł ?dq
8brc
fpO .u s [ >
u
łs. ( <
('".
...
EP
9s
t-l
f,pB ,ficbusoL^'t,ad,ns 1se|
.Ts) 8e,r.l Bb:c az..turuł'911
'nrorqzpod durns tuaruelqold z
eruerudzc op qarru duerzpSq o1 '(du''(pet aluzcoluo{alu) v Nvwl'Ig.H-V,g1XAgW
t6I
x
ro14e'tr ruperrrrodpo
I/^OXV Cg'Id INqIS ,i.S'
E',
9
5. /AINE SYSTEMY KRYPTOGRAFICZNE Z KLT]CZEM PUBLICZNYM
194
przedstawiony na rysunku 5.12 byłby odpowiadającym jej algorytmem deszyfrowania. Taki system nie dawałby jednak żadnej gwarancji bezpieczeństwa, gdyz ktokolwiek (łącznie z oskarem) mógłby odczytać komunikat zaszyfrowany w taki sposób.
Strategia musi więc uzwględnić konieczność takiego przekształcenia ciągu wag, by przestał on być superrosnący. Aby odzyskać ciąg superrosnący, Bolek zastosuje przekształcenie odwrotne. Natomiast oskar, przystępując do łamania szyfru i nie wiedząc, jakie przekształ'cenie zostało zastosowane, zobaczy jedynie ogólny, zapewne trudny przypadek problemu sumy podzbioru. Jeden z odpowiednich typów przekształceń stanowią przekształcenia modularne. Wybieramy jako moduł liczbę pierwszą p, taĄ ze n
,>\-",.
-ZJ''
i:1'
orazlnnoznik a, taki że 1śo tt
:
definiujemy
ast mod p
ś i ś n. Kluczem publicznym szyfrowania będzie właśnieciąg wag (tr, ...,tn).Wartościa i p, uzyte do określeniaptzekształ'cenia modularnego, pozostają tajne. Pełny opis systemu plecakowego Merkle'a-Hellmana znajduje się na rysunku 5.13. Zobaczrny, jak przebiegają procesy szyfrowania i deszyfrowania w systemie d]a 1
t:
Merkle'a Hellmana na prostym przykł'adzie.
Przykład 5.10
Niech s
:
(2,
5,9,2I,45,
103, 2I5, 450,946)
będzie tajnym superrosnącym ciągiem wag Wówczas publicznym ciągiem wag jest 1
:
:
niech
P :2OO3 otaz a :
1289.
(575,436, 1586, 1030, 1921, 569,72I,1183, 1570).
JeśIiteraz Alicja chce zaszyfuoviać tekst do obliczeń: 9
i
, :
575+ 1586 + 1030 + 72I + 1183 + 1570
(I,0'
:
1, 1'
0,0, 1, 1, 1), przystępuje
6665.
Po otrzymaniu tekstu zaszyfrowanego a za obliczenia zabierasię Bolek. Najpierw
oblicza
z : a-ta modp : 377.6665 mod : 1643.
2003
-aI^\
({Bupo[ otuop?I^A .1'1'9pełq ltc{oJoł npo{ (o8ouJeulq) oBaulgBo €ru tsIp oz uolqoJd łsot ulduładnz-dN ulaualqoJd uld.&o rcJeI .tsul-o8o ?€}sod nrue1qord o8eu.ryrad ureqped
-€1Yt.opołap
o8at 4et epĘB.{ir.r zt1buntez z ,tt91n.oBau1ednz-65
ttt/.tjulgaezczs rudlso.rd 1se[ etue,uor;dzsep :eueulloH ts(oPlral41 urelsds oc teał,o1ąetord alzpasraz leures [e1 eu Órs ererdo €(ecollgclĄ duzcger8o1ddo1 ure1sdg
-fiztd
B.aJaIIflJtrĄI
tuals1(s .7.9
'>1e1og
rudzc
oT {€! .1e1 arupe1ąop /t!9łg{Iunluo{ €IuB,łlor;,tzsep ?9o.Ąll,Ilzolu r|cuerv'1esuo>1 rrr t (oBauza.ł\ou.t.r,oJ €zcnl{ qnl) g{IoB €zJnPI op da1sop I./Y\oJg{so rrrroąd1qeueo1ddr4 o1 e|eq .d.r1sue1 o8e,troqzcr1ołI1tlołłtsceruerr.rourgrSo"rd ur1dro81e n1ec o3e1 op ?tsłs -dzro1.{łr 1ger1od d.ro1ą .ertueq5 zezrd iueulv1z ł€lsoz Buelu1a11-e.e1ąretr41 du _zcgvtBo1d.t.J{ Iuo}sds n1erru, o8e18erqn qcd1trselzpIuolso qc€ł€I qcdusezc,u e'11
n
'(T'I 'I'o'o'I 'I'o'I)
.zl.g n1unsdr ęu o3euęsrdo ntu1d"ro31e cŁ[ }u.ue| 1sąe1 atnudf11Lo o:;.ę1;I{|zal durns ure1qord a|nzbl.t'yzot erudó1seN -ęn'[zrt ,(z ,s) - 7 n4peddzrd €Ip nJolqzpod ^Ą suEIuIIoI{-B
(
aIłJotrĄI rQuo:pce1d ure1sr(so1df
Jx
.
8
I.
9
xqNnsxlr
.("r,.. -,rx) : (fi)xp cbtmnfz4o'(z'us''Ts) n;olqzpod
,|urctnr'blnyzor r d pour fi, _D
-
z,,(rualnrugep (T
urelqo;d
- d)' > ń > 0 ęIo
I:?
'???t3: ('t'"''Ir)xa u
: X r.lq
duelnrugep (+'n'd's\ dueuz 1se|
.eruzcr1qnd .eu[e1 ts s l rł ,d }stsIruol€u .t.avśn duestdo qosods ,tr tfe1s,trod + ,o ,d .s etzp8
ł 8ŁTc
.{(ł.o.d.s)}
{G_Ą".....0}
: ),,{I,O}
: a zpJo
--
d
dul[rrrr[,{z"r4
.(u?,....I?) : ł qcam d potu Pso
-
I
??
.{ru1ser4o
€Io.I-d
> D > T zalobzst,ylel.dtqzcq arzpÓq,--:3 ?> T .qcd1rrvror11ec qzcr1 rrrer8Łrc rudcbusorredns arzpóq us,....rs)
u>
< dqcaru
:
s VceIN
v.gcgl1gcw Wgls^s
g6T
,Ż,9
5. INNE SYSTEMY KRYPTOGRAFICZNE Z KLUCZEM PT]BLICZNYM
196
Iu szczególnych klas kodów istnieją algorytmy dział.ające w czasie wielomianowym. Jedną z takich klas stanowią kody Goppy, któreleżą u podstaw systemu
McEliece'a.
Zacznijrny od kilku ważnych definicji.
DEFINICJA 5.4 Niech k, n będą dodatnimi liczbami całkowitymi, k ś n. Kodem |n,k), C, nazywamy ł-wymiarową podprzestrzeń ptzesttzeni liniowej (Z2)- wszystkich n-wyr azowych ciągów zero-jedynkowych.
JeśliC jest kodem |n,k], to macierzą generującą dla C jest rnacierz binarna k x n, której wiersze stanowią bazę dla C. Niech x, y € (Zz)n, gdzie x : (tt,...,xn) oraz y : (at,...,an), określamy odleglośćHamminga w sposób następujący:
d(*,y)
:|{i: 1
czyli jako liczbę współrzędnych, na których ńznią się wektory x i y. Niech C będzie kodem [n, k]. odległościąkodu C nazywamy wielkość
d'(C): min{d(x,y) : x,y € C, xłv}. Kod
[rł, k]
z odległościąd nazywamy kodem [,, k, Ą.
Kod korekcji błędów służy do poprawiania losowych błędów zdarzających się podczas ptzekazywania danych (binarnych) za pośrednictwem kanału, w którym występują zakłócenia. W skrócie odbywa się to w sposób następujący. Niech G będzie macierzą generującą dla pewnego kodu [n, k,d]' Załózmy, że chcemy ptzekazać binarny ciąg k-wyrazowy x. Wówczas A|icja koduje x jako ciąg n-wytazowy Y : xG i przekazlĄe ptzez kanał. ciąg y. Dalej, Bolek otrzymuje n-wytazowy ciąg r' niekoniecznie tożsamy zy.Przystępuje do dekodowanfo r, stosując strategię najbliższego sqs,iada, Przy tej strategii Bolek znajduje słowo kodowe y, o najmniejszej odległościod r. Następnie dekoduje r jako y'' by wreszcie wyznaczyć ciągk-wytazowyx,' takiżey, : x,G. Bolek liczy na to, ze y, : y, więc również x, : x. (Inaczej mówiąc, ma nadzieję, że wszystkie błędy transmisji zostały poprawione)' Można dośćłatwo wykazać, że jeślipodczas transmisji wystąpiło nie więcej niż (d _ 1)l2 błędów, to stosując strategię najbliższego sąsiada, rzeczywiście usuwa się wszystkie błędy. Zastanówmy się przez chwilę, jak ztealizować strategię najbliższego sąsiada w praktyce. Ponieważ lC| : 2k, więc jeśIiBolek ma porównywać r z kazdym słowem kodowym, musi sprawdzić 2k wektorów, co w porównanfu z k jest |iczbą wykładniczo wielĘ. Innymi słowy' ten oczywisty algorytm nie działa w czasie wielomianowym. odmienne podejściedo tego problemu odwołuje się do pojęcia syndromu i stanowi podstawę wielu praktycznych algorytmów dekodujących. JeśliC jest kodem |n,k,d)zmacietzągenerującą G,to mac,ierzq sprawdzania parzystościd|a
oTcołsl
11I
lsol €p€Ists
o8ezszqqleu tpo1aur "eluts.Ąopołap
-pe[ .9dzserdsfzld' euzoul €Iu€./Y\opo{op
Ó.rnpeco.rd
tslsJa,Ą\
uutf,zfrcap az4etl
ł\9poł,trofezpor qcfiu1o8azczs
.oBervrorutl npo{ oSeu1o.uop €Ip €łPIzp €polaul qcdr9}1e1u nąped.{z.rd ,11
(fzltrrlr) -[eu oc
.1!\
€{tsI
.qc6loJł
/r\
+"'+{"1 )+r \-,/
lozt'll. Jołła^l t|ueultl:zl1o 9€.Ą\opo{op .{ruezotu nrcglepod nluapIts} p1eTzo .lrrgpółq
sezcpod
7y1
|e
lG - p)l
ctu
facórrvr
az'fuuezptetttls 'euorulads dpBru 1sa[ eru ?9ou11&9r .s .{ul .r o4et .r .{urelnpo4ap oł p)l . . ' , .7 azpent. o łt9pó1q dro1ąełr
.fuldzct;o{ l
o4uqe| ł\ Ilgar .|zlG
- ,ep
o
-
{
I !
po elu e
..łrr,opó1q
po eruzcŁ1drt
-o4 'fcrorqpo op e"rercoP dr9P1 e.to1s rlstursueJl alc{€J} rw qcd1e1
,fH :'lrH
o+.a
+x :
tr'
ftsJo
-(ćz)
=
.c ) x
a
II9o!.o1peuo4
: J*H
(;)
dpB
.g
..,(pe}rł ołIdl dpe7u, udrr.ropo>1 ua.Ą\ołs Iso| .(eZ) ) x s€zc,Ą\ol'!\ rc9opdzred l eruezp.uerds bzta\cęul ztsho D bcŁlnraue8 bzlatcBul z |ą,u) uopo)t erzpaq c qcalN
z'9 slNgzollgl^Ą',l
.falrłoruq d"rq -e31e 9ezprarr,r1 qcdu193o z 1so.rdrrr
Łto1ufłr rąrudm
.qc€łuoluela
q-u
e.tr'o.tr'e1spod
ecŁtndl1seg
o urd,uouurn1o1 ruaro1ąa.tr cóttrr
,Ż.9
v,gcgl1gcw WgIS^s
L6I
5. INNE SYS'IEMY KRYPTOGRAFICZNE Z KLUCZEM PUBLICZNYM
198
problemem NP-zupełnym. Nie istnieje więc żaden algorytm, który rozwiązywał.by w czasie wielomianowym problem dekodowania drogą poszukiwania najbliższego sąsiada (sdy liczba błędów nie jest ograniczona z góry przez |(d _ I) l2)).
Tak jak dla problemu Sumy podzbioru możemy wyr4żnić pewne szczeg6|ne, ,,łatwe'' przypadki, a następnie ukryć je tak, by wyglądały na ,,trudny'' przypa-
dek ogólny problemu. Zbyt wiele miejsca zajęłoby tu wejściew teorię, podsumujmy więc jedynie wyniki. McEliece zaproponował ,,łatwy'' przypadek szczegóIny
polegający na użyciu kodów, znanych jako kody Goppa.Dla tych kodów istnieje rzeczywiście efektywny algorytm dekodujący, a ponadto istnieje bardzo wiele nierównoważnych kodów Goppy o tych samych parametrach i łatwo je wygenerować.
Parametry kodów Goppy są następującej postaci: n : 2-, d : 2t ł 7 oraz k : n - rn,l. McEliece sugerował, by w praktycznej implementacji systemów kryptograficznych z kluczem publicznym przyjąć m : I0 i : 50. Daje to kod Goppy, który jest kodem |1024,524,101]. Każdy tekst jawny' jest binarnym ciągiem 52L-wyrazowym' a kazdy tekst zaszyfrowany jest ciągiem binarnym 1024-wyrazowym. K\ucz publiczny jest macierzą binarną 524 x 1024. Rysunek
5.1.4 zawiera opis systemu kryptograficznego
McEliece'a.
Niech G będzie macierzą generującą dla kodu C Goppy o parametrach |n,k,d], gdzie n:2^, d:2tł7 oraz k: n - rrr,t. Niech ^9 będzie macietzą,Ł x k odwracalną nad Z2, niech P będzie macierzą permutacji n x n i G, : SGp. przyjmijmy p : (Zz)k, ( : (22)n oraz
K: {(G,S,P,G,)}, G, S, P, G,powstają w opisany wyżej sposób. Macierz G' jest G' S, P są tajne. Dla K : (G,S,Ę G,) definiujemy gdzie
znana publicznie, natomiast
:
e6(x, e)
xGl
ł e,
e (Zz)" jest losowym wektorem o wadze t. Bolek deszyfruje kryptogram y € (Z2)" za pomocą następującego ciągu gdzie e
operacji:
yt: yP-l
(1) oblicza
(2) dekoduje y1, otrzymuj 4c Yt : X1 * €1 , gdzie x1 e (3) oblicza xo ę (Zz)k, takie że xgG : x1
(4) oblicza
RvsuNpx
x: xoS-l
5.
14. Systern kryptograffczny McEliece'a
C
'(o'I 'T 'o'I 'I 'o) (0'0'T'0'0'0'o) + (o'T'0'0'T'r'0)
(oIIIoIo\
rr (0.0.l.0.0.0.ol+ló 9 ] I 9 9 tI o I 0 0 I ll(r'o'r'r) \ooollrr/ qozcllqo z.(o,o.T,0.0.0.0) oąef cŁter,rfzn .(I
:
.0.I.I) : x
o!,px:
f.
:.{uenor;dzsez łs{o} dcttndÓpeu e4tud.tt
o tsJol{ańĄ
I
ozp€1(I
o
lu.9pó1q tsJol{o1/'' oBerl.roso1
du.lłę[ 1s1a1 efnr;dzs e!c11y ez.ztsta1 knv9ry7
('i,łlil)
:,D
znalcevl lrs a[e1s ŁcŁfnraue8 bzlatcęul tuzcqqnd Stszc1ńoł\
(* -nddzr4
,o6ut,u-lul'o11
:'
i ł i)
.^tu99 ozl:olce-lJI ererqdl.t' łalog az poq o1e| o8oueuz |t,v.z) npoł ts1p Łctlnreua8 Łzrarceur 1se[
(;łili:l) :' zJarcPW
yS'q PeP1.tzt4 'Iuap
drnpecord durlnr1snp2
-e1nf,ztd ud1sord ozpJtsq tsruts^\opołop I €Iu?^Ąopo{
v,gcgllgcw h[gls^s
66r
.Ź,9
2OO
5. INNE SYSTEMY KRYPTOGRAFICZNE Z KLUCZEM PUBLICZNYM
Gdy Bolek otrzymuje tekst zaszyfuowany y, oblicza napierw
Yt : YP-t
:
(0, 1, 1,0, 1, 1,0)
-
(1,0,0,0,
0001000 1000000 0000100 0100000 0000001 0000010 0010000
1, 1, 1).
Następnie deszyfouje y1, otrzymując xl : (1,0,0,0' 1, 1,0) (zauważmy' ze e1 f e w wyniku mnożenia przez P_1 )' Dalej Bolek twotzy wektor x9 : (1,0,0,0) (wybiera pierwsze cztery wspóŁ rzędne wektora x1) i na koniec oblicza:
x: 5
'xo
/t1
f
r
lo \1
1 1
0
:
i)
(1'o'o'o)
(1, 1,0, 1).
To właśnietekst jawny zaszyftowany ptzez Alicję.
5.5. Uwagi i bibliografia System kryptograficzny ElGamala opisano w [Et85]. Algorytm PohligaHellmana został opublikowany w [PH78]; uwagi dotyczące pojedynczych bitów problemu logarytmu dyskretnego oparliśmyna pracy Peralty |Pe86]. Artykuły LaMacchii i odlyzki [Log1] oraz McCurleya [Mc90] są godnym polecenia źtódł'em dalszych informacji o Samym problemie logarytmu dyskretnego. Pisząc o ciałach skończonych, korzystaliśmy głównie z książki Lidla i Niederreitera [LN83]. Dobry podręcznik tej tematyki napisał McEliece [Mc87], natomiast Menezes i inni przedstawili wyniki badań nad zastosowaniami ciał skończonych w monografii |MBGMVY93]. W 1993 roku lkazał' się artykuł Gordona i McCurleya lGM93] o problemie logarytmu dyskretnego w GF(2'). Pomysł użycia krzywych eliptycznych w systemach kryptograficznych z kluczem publicznym jest autorstwa Koblitza [Ko87] i Millera [MI86]. Menezes jest autorem monografii [Mo93] o systemach opartych na krzywych eliptycznych;
.€Iu€z€ulu.,tl/\
I n1€JP€/tDI
lesapr1>1ng
op €IuozsouPod
nupfuo81e Łcouod Ez gzt z)Ilqo (")
nur/ro81e oBauoztezszor Łcouod ez ,_(":t :(1 +
a1arc urd1 ,r.r teuo>1f11
ł nr
'(I +
",
:|l:]zv peu aul€p€ł{zoreru
ł ,r)lfr]zv Łs
ł,u ) zc11qo
r ł,,)(", ł,r) zcqqo
(q) (€)
:eluazc{qo ecŁ fndó1seu o4et 9elrnopnqz ę|Jzovl
.Ił
":r ^\ou€IIuoIaI.Ą&
ł,,
(nz).łc oł€lc
ł
.9.9
ł,r 1
st,I t, s,,I qcfcbtndl1sru z al9l{ .I9arło .g.9 ..cu1 .;douy .y +
+
.z66T .{Jo^
ł,e111
:pI?ŁIs{ z lzpoqcod dunef 1s4aa qs113ug aqa.. at1eppuo €Ia€qcItrĄI par;1y . ..lua1łe4 '9.7 nluozcl]tń? 1'.\ ł€[ 4e1 .n1aqe;1e l1euz izl1 atrtylazaldat "v
}uouala tp1e>I..7f 08T .t.q
: j
zerc 6692
:
.ztg.tgT
.,(c11qe1 ,tł' '{uęsrdęz
-€I€d
:
rl
Ls, :
D . L71IE: d :ts nura1sfs nu€J1aul .y.9 .trr' fue'u.oĘdzsez łsłolte1,tzcpg
.e1eureD1g ature1sds
999 r 929 (d)z1 cŁfnrul'{zrd (ilz7 zero Iv1 I617',gz: d eIP d eIP .t.q .9.g n>1unsfr eu oBauor,te1spezrd nru1dro81e bcourod pz toIIZ 9639Bo1 zcłqo
I:
o:
'r.r'
'tgrttz M
nurer8ord o8elo,us [,(7n'ur'{u TT9ZToTSol zeto toLBzZ 1it tgg8q3o1 eruazcqqo op ,dv n qciu1ar>1sdp 'tlgur -1oł;erd rua}uar11olo rr e .Łzsmrerd bqzcq 1sa[ d atzp8
.6.q nru1dro81e afce1uaue1drur tn1ąalorde2
op €u€lullaH_e81qo4
-1fre3o1 €Iu€zcllqo
90T3oI €Iuazcllqo op nurer8ord oBaforrls .6ooagvz1\Ą 93o1 zero l\gvzz t^ 9Z8zT 88t87z ,dv .Łzsrl.r.rard Łqzc11 n l7cf,.ru1etn }sa| d alzp8 .1.q nru1dro81e 6[ce1uaule1dur tn1>1etorde2
tdzn
.urfu1olrtrerd ura1uaruola D
-sdp .tour1fr€8ol
€
ęIutsz)Ilqo oP €$Iu€qS
BITIOZCTN.\C l 1
l
.nrllolsds o3e1 e,rł1sgezcetdzeq
l l I
.[szcw] a1nąd1re 1V\ dutssldo dzsrvrrerd ztslod dzcd1op [soHc] tspn€qtsqc p>1dpy .[os.,\,,\] tsłoqcsroo u€A I B(ouoTsutsA ł€lsoz €(ocol1gc6 duzcger8o1ddrą ue1sdg d pep1dzrd eu o1 Ł5 .€ruts1(ropo{ IIJoa} .[zzsltt] B(outsols I tsstutsITIIMctsIĄ u,t Isolupo urel4und urdzsferuze,ufeg
.lzooa] Iłzdlpo I tsIIa{cIJg
rrrd.uopŁ18ezrd
.velnęłzpQ1op 3rs ot€pn alu .[ssuc] e1nądpe M?voleuzęlJzoultfceurro;ur |ecó116 .[ssEa] IIa{cIJg €łso^Iu I BJoqc ts.&łsJo+n€ .o8arvro>1ece1d ndd1 nure1sds o8ouul , łz łęUJełznrue1sds o3e1 3[sre.rr.r ..buts.tl.lolo1T.. 1s€Iluoł€u dzsl.rret4 .[e). Hw] łl duor,ue1spozrdłę+soz tsutstullaH-€
'([eogw]
ł\
?volęuz
tsł€Ic tsu
'[zo.rs]
-oruo au EIUOZOuIIC
IOZ
202
5. INNE SYSTEMY KRYP'IOGRAFICZNE Z KLUCZEM PUBLICZNYM TABLTcA 5.3. I{ryptograrn w systernie ElGarnala (3781, 14409)
(5400,31486)
(315s0, 26470) (16160, 312e) (30555, 246rL) (1616, 14170) (14130, 22010) (26004, 25056) (29538, 5408)
(1777,8737)
(23258, 3468) (8836, 25898) (1.0422,5552) (25115,10840)
(23418,22058) (19886,22344) (21563,7891) (2427L,8480) (30499,L4423) (24875,17641) (3576,4630) (3149,7400)
(21541, 19004)
(17561,11884) (26521,5803) (28327,19237)
5.7.
(31552, 3930) (19936, 721) (3781, 14409)
(301,17252)
(20501, 2e22)
(4294,2307)
(25910, 19663) (5400, 31486) (3149, 7400)
(26177,1425I) (26052,20545) (8794, 17358)
(1777,8737)
(14130, 22010)
(24139,9580) (21600,25505) (28250,2L32L) (26592,25457) (5839, 24179)
(1777,8737) (26664,27572) (8951,29435) (5865, 29526)
(2209,6107)
(14884, 14280) (15313,28649)
(272L4,L5442) (27765,29284) (15898,30844) (24689,7776) (13659,5015) (2320,29174)
(5809,30274) (29820,7710)
(19557, 10145) (e526, 3019) (93e6, 3058) (7129, 18195) (21958, 5713)
(18899, 27609) (12962, r5189)
(1777,8737)
(3780, 16360) (16081, r6414)
(19048. 12e14) (28856, 15720)
(5740,3r233)
(3036, 20132)
(27r4s,f0535)
(25302, r0248) (346, 31194) (25038. 12483)
(11685,133)
(28580, 20845)
(r73,L7075)
(2016,18131)
(28327,19237)
(23312, 16906) (15313, 28649)
(27119,19921) (9660, 7939J (12846, 6598)
(18825,19671) (27011,29164) (2059, 3977)
(10536,6941) (10422,5552) (4328,8635)
(ra267,20623) (9284,27858) (31306,11929) (22763,8992) (16258,30341) 11777,8737) (19371,21005)
(28250,2132r)
oto przykład implementacji kryptosystemu EIGamaIa w GF(33)' Wielomian ,, +2,, + 1 jest nierozkładalny nad Zg|r), zatem Zg|x]f (:r3 +2r, -| 1) jest ciałem GF(33). Możemy jednoznacznie przyporządkować 26 literom alfabetu 26 niezerowych elementów ciała i w ten sposób wygodnie szyfrować zwykłe teksty. okre-
ślimy przyporządkowanie tak, aby alfabetycznemu porządkowi liter odpowiadał porządek leksykografi c zny w zbiorze (niezerowych) wielomianów:
AeI DetłI G e2rtI 1e12!L M*x2łtł| P * :t2 -|2t: ł I S e2ł +I V*2r2łt:łI Y * 2r2 ł2t -||
Be2 Eęrl2 H ę2tl2 K e:f +2 N*l:2łr12 Q*r'12:rl2 Te2:r2+2 1y+2r2łrł2 Z * 2t2 ł2t ł2
C*r F*2r I*x2 L*:łlr
oex2+2r Re2r2 IJe2r2+r Xe2x2+2r
Przyjmijmy, że w systemie ElGamala Bolek używa wartości d, : t oraz a: II; wówczas 0 : x + 2' Pokaż, jak Bolek będzie deszyfrował następujący ciąg tekstu zaszyfrowanego: (x, H)(p, x)(N, K)(H, R)(T, F)(v, Y)(E, H)(F, A)(r, h')(J, D)(u,
J)
€z J
'(0'0'0'0'T 'r'0'T '0'o'T
'0'r'0'I) : .r (c) : I (q) : J (€)
i(0'0'o'T'T 'o'T 'o'I 'r'r'I '0'T 'r) j(0.0.0.0.0.0,0.0.0.0.0.0.o.T.T) 1ttoJo}ło,tł'qc..(ueu'{zr1o qc.{cŁtndÓ1seu
z fpze4
:nurorpufs .'(polaur bcourod .!npo1ap7 .a,,nt1zotu o} I9a[
ITITOIITIOTIITO IOIOOIOTOOIOIOO TIOOOITOOOITOOO IOOOITOOOIIOOOT IIIIOTOIIOOTOOO OITITOIOITOOIOO OOTITIOIOIIOOIO TITOTOIIOOIOOOI .Hcg uapo{
:
;ffi
19er4o 't'9pó1q
d az .cr1e1sn
Ó1s
tcso1s,fzred
;",'.:;,el?olĄTTg
o8ecbusorredns nBŁtc
ter9q eIP .o cso1l€,tt .t09Z
:H
o8euer'rz |g./ .qr] npo{ €Ip
eruezp.l.rerdsbztatcęul:::,:^:::;:1;"",ffi .
1sef d pour +l_D BbIc
b
fce1nrurad
I qgJd Łpo1a6
o1epn I'li\oJ€{so
(e)
ez,tulcsndtzlł
'(0t8'togz '6tt'vzL'oqg'6t7'f86I '8oqT '992r'vltr)
:
r
:ocŁ[nd ,,kllzo|ez .oI.9 -ó1seu epŁ18f.tr Eę'tl. EŁrc duzcr1qnd eueur1a11 e(al{JotrĄ arure1s.,{s n' az '((o8eurrre t n1s4a1) feuerra'
(... (I
e y €Iu€llro{ * Z -o{pŁzrodn aztęd nt 9rdb1sf,u. azolu o.Iu O ?tp8 -pbzlod,tzld n1 fruefdzn) .o8ar4s1ar8ue entzbt o'Ą&ołs .Ą ,,tu.tre[ 1s>1a1 ?ł€tzsł ,cbtepe1ne7 (c) -azrd .n1aqe;F lł€uz errrp efn1uazerdar du,tpf 1sąa1 dpze1 ez .gz
'
(LZ'
zt' (gt'sz))' (Lr'
07"
(zz' g))' (tT'6' (82'6r) )' (/' gz' (6'7)
)
nl$Ia1 8Łrc fcŁfndÓ1seu te1,tzcp6 (q)
:o3eue.t'or;fzs€z
'DD: d zc[qg
(e)
.gZ: D 1saf e>11og urar1rupe1r1f.łr. ur.{ufe1 az *ItZ x *LEZ J]lqz arzpaq ur.{uzcger3o1d-.ft4 atue1sds rrr qcfurrle[ .łr91s>1a1 bru 8. P€u €(auołsu€A_Bsazauotr41 -ozr1sazrd.g }{ tE npózr rue1uaue1a 1sa[ (or.o) "ł zerc vt : g| e4,cęzeĄ['n bwzcl1dqa bn(ztn etzpóq g qJaIN .6.q €uzo]Ą .ltz pęv Quo1saqo tT + ł ,, ' "fi .np3zr o3a1 luaruala vp|Euz ig fdnrB n}uoruala pŁzr ,(u1euds1eur 1saf pl€f (J) .lusz91e7
.buzcqą.{c
.g .ILZ
wIIbuo19arąo
87'
+r +
tdnr8
.
1sa[ allu
g az.?€{,(M
(q)
tenizln,r.r'91ąund 5qzu1 zceuz,t,^Ą (e)
tI :
bll-.fzt4 atzpóq zfi Łuzcd1d11e
g Ił)a!N .8.q eluazcl.Ąc
t\T,
Schematy podpisów
6.1. Wprowadzenie W tym rozdziale zajmiemy się schematami podpisów, zwanymi także podpisami cyfrowymi. ,,tadycyjny'' podpis tęczny pod dokumentem zaświadcza o odpowiedzialności podpisanej osoby za treść.Takich podpisów używamy na co dziein: przy pisaniu listu, wypłacaniu pieniędzy z banku' podpisywaniu kon-
traktu itd. Schemat podpisu jest metodą podpisywania wiadomości przechowywanej postaci w elektronicznej, a więc takiej, która może być przesyłana siecią komputerową. omówimy tu różne schematy podpisów, zacznijrny jednak od kilku uwag o różnicach między tradycyjnym podpisem ręcznym a podpisem cyfrowym. Pierwsza sprawa to składanie podpisu. Podpis tęczny stanowi fizycznie część podpisywanego dokumentu. Podpis cyfrowy nie jest jednak fizycznie związany z wiadomością,której dotyczy, zatern odpowiedni algorytm musi go w jakiśsposób z nią poł.ączyć' Drugi problem to potwierdzenie autentyczności podpisu. Podpis zł.ozony na papierze mozna porównać z innymi podpisami, których autentyczność jest potwierdzona. Na przykład, gdy podpisujemy potwierdzenie transakcji dokonanej kartą kredytową, sprzedawca powinien porównać podpis składany w jego obecnościz tym, który jest na odwrocie karty. oczywiście, nie jest to sposób w pełni bezpieczny, gdyż nie jest trudno sfałszować cudzy podpis. Z kolei podpisy cyfrowe można weryfikować zapoInocą publicznie znanego algorytmu weryfikacji' może więc to ztobić każdy, Uzycie bezpiecznego Schematu podpisu zapobiegnie możIiwości fałszerstwa.
Kolejną zasadniczą róznicą między podpisem tradycyjnym a podpisem cyfrowym to fakt, iż ,,kopia'' podpisanej wiadomości elektronicznej jest identyczna z oryginałem, podczas gdy zazwyczaj kopia podpisanego dokumentu papierowego różń się od pierwowzoru. Ta cecha dokumentów elektronicznych zmusza do podejmowania działań uniemożIiwiających ponowne lżycie wiadomości cyfrowej. Na przykład, gdy Bolek podpisuje wiadomość elektroniczną (czek) upoważniającą Alicję do pobrania pewnej kwoty z jego konta' chce by Alicja mogła to
.ęuęuz aluzcqqnd luol.ł\oq lsa! xa €|c{unJ .srdpod ctzprrrerds azoul ltpzey.YSu nulałsds Xa ęrue.tołdzs e1n3 tstc{unJ IIIaI.Ą\oqIts .er ęu órs ęJaldo rtc€>1gdJe.u ru1d"ro81y .eu[e1 1sa[ X6?s : 'p .Łqoso Łudpet uo łsor .YSu ,crufzcn nulołsds ,u o} olu€ l s 1se[ er91>1 'p tsIu z cb|v1s'frzrcn .z cgorrroper.ł.r afnsrdpod >1e1og cóur 1ea -e.tto.r;dzsep d1n8er
ru'gsrdpod €Iue.ry\oJauo8
op
-zcgerSolddrrl urelsds atzP
.1.9 n1uns..(.r pu o3 duret.ttę}spozJd .qcd.tnor;dc
'ĄII
dq
.łtsł: (fi,,x\xpr, o? \Ąq-+.ź srdpod 9ltzcqqo azolu {alog eru nsrdpod łBuIaqcS (cŁI.ł\glu [azceu1.eu1euo1d'rłelu o.Ątoluozcllqo tsJ€{so e1p 9dq ou z o8euep tsIp o>11d1
-ur.trod Ź lc9oluoptsI1Yl
łs€IIuoł€u
.[acót.t,r o3 .eu[e1 1set X6os /1, g{Iog nsrdpod ((oluolqoJpod.. eBnrq .urdrrlouertuolalilt alstszc .Ą{
.Łuzcr1qnd blcąury
rrudcŁfe1erzp rurefc4un;
X
,tąctu z , 1sat X .l'aa
o?apzvĄ tsIp ?.,tq duutru'od
'(r)6ts '(r)6zs olu€u..r\oJ
I ft : ft
1se[ auoru1ads
Ic9oluopBl.lń |apzgł €Ip oz fiuDlę} fEJo Y 1_ d I x6?s dul},tJo8lY -epern.odpo Z€Jo s' > x6?s ns?dp
v)
dpB
dp8 fr,
xl'aa I >lózs
ĘT }
:
e|c>IuĄ![
(fi.r)"na
nsrdpod o8apzeą \
{et}
* vxd
d)
fr
i qJaa
am u7fi,Jn67o nur dcŁl o8epzer1 €Io (7)
I
a)X
.,tzcn1n qcd.ur1zotu luoJolqz urduozcuo1s 1se| .dzcn11
yezt1sazłd.) (t)
.rvrgsrdpod qcd.łrr,r1zour luaJolqz urduozcuo1s łsa| y. (z) .Ic9oIIIop€I,Ą\
-eu ecŁleru1ads
qcf.ur1zotu uloJolqz urduozcqo4s }sa| :DIunJ€^\
(4.s,a,Y.4)
d
(I)
ectlndÓ5
eue.t,o>1pbzrodn erl1ŁId rye| nsl'dpod ue+Duatł?s
T'9
VfCrNrdgo
.nsrdpod nłtsIuaqcs elctugep €uI€IIIJoJ
o}o
.nsrdpod
99ouzcd1ue1nę bcht ...otu.. qn1 -BI€qo qn1 tcŁtezprer.u1od ..1e1.. zpor,ttodpo etep rfceąg,tre.u ru1dro81e (fi.r) t.rcd, teuep e1q ."t,aa {cv>1gf.ra,trt nru1dro81e o8euzcqqnd Łcourod tsz )ęI:{|oĄ -g,Ęrcnz erudÓ1seu tsuzow (r)ózs stdpod qgsods ue1 łr duer1s,|zn.6t,s nru/ro8p
(óBeute1) chtęn-tzn.z ggouroper.u cesrdpod ozotu
zetonnd,pod"-,*o,,",;I:łrffi
{elog
.t'tcrlq{fi.t,am nlu7fr"l'o67o
n^x"J.#oinóB:'''ł:#.ł",ififr"^xT""
.IcsoJl ctsJal.ł\tsz guurmod c9oIuop€I.{\
n-'.
"l,^ ĄęL.fęr
uepet ue1 o41d1 ctqo:z
TINSZCVIAOE4.M
902
'T'9
6. SCHEMATY PODPISOW
206
Niech
n:
i określmy
ptq dla
liczb pierwszych p
K: {(r,p,e,a,b) : n: Wartościn i DIa
K:
b są znane
i
q. Przyjmijmy
pQ, p,q pierwsze, ab:-
I
P : A : Z, (mod @(n))}.
publicznie, natomiast p, q, o są tajne.
(n, p, e, a, b) definiujemy
sigy(r) : ra
mod n
otaz UerK(fr1y)
:
tak
ę r: yb
(rnod n)
(x,y e Zn).
RysuNpx
6.1. Schernat podpisu
RSA
Zanwazrny, ze każdy rnoże tez sfałszować podpis Bolka na ,,losowej'' wiadomościr, obliczając r : ex(a) dla pewnego g; wtedy a : sigK(!t). Jeden ze sposobów obejścia tej trudności polega na postawieniu wymogu, by wiadomościzawierały tyle nadmiarowości, by prawdopodobieństwo tego, iz sfałszowany podpis tego rodzaju odpowiada pewnemu przekazowi r było znikome. Innym wyjściem jest użycie funkcji ''sensownemu,, skrótu, które w połączeniu ze schematami podpisu wyeliminują ten typ fałszerstw (kryptograficznyrni funkcjami skrótu zajmiemy się w rozdziale 7). Wreszcie' przyjrzyjmy się chwilę połączeniu podpisu z plocesem szyfrowania z kluczem publicznym. Przypuśćmy,że Alicja chce przesłać Bolkowi wiadomość nie tylko zaszyftowaną, ale i podpisaną. Dla danego tekstu jawnego oblicza podpis g : sigs11"iu(r), po czyrn szyfruje zatówno n, jak i y, llzywając do tego celu publicznej funkcji szyfrowania Bolka e3o1"ę. Uzyskuje tekst zaszyfrowany z : eBolek(lI, y) i wysyła go do Bolka. Po otrzymaniu wiadomości z Bolek najpierw za pomocą swojej funkcji deszyfrowania d3o1"1. deszyfruje go do postaci |r,a), a następnie, lzywając publicznej funkcji weryfikacji Alicji' sprawdza czy Uerg,1iąu(x,a) : tak, Co by się zmieniło, gdyby Alicja zaczęł'a od zaszyftowania tekstu r' a dopiero później podpisała tekst zaszyfuowany? Wówczas obliczyłaby
z: eBóirek(r)
oraz
y:
sign11"i"(z).
Parę (z,g) wysłałaby do Bo]ka. Ten odczytałby z jako r i sprawdziłby na e podpis a za pomocą funkcji uerA|ic:a. Przy tym podejściupojawia się jednak pewien potencjalny problem. otóż gdyby oskar przechwycił parę (z,g) tego typu, mógłby zastąpić podpis Alicji y własnym podpisem a'
:
si,go"tur(z).
.(rer
:
997 poul
t_tl1, zęlo T : (997.tIz)oMN ev,'tulzentne,) t,lz
-re.u b.uoso1 e'rerqd.łw I 00I
:r
?sotuop€I.tt
:
5l ?9o+
9esrdpod ocqc {alog ez,ttul99nd'fzt1
,ZTI f97 poru Lztz dPoul oD
dpat6 'LZI :
o 'Z
:
D 'LgV
:
: : :
d
d qcet1tr
t.9 peŁ>I^ZJd .e1zpe1n,|ztd urd1sord Bu uazcllqo qcT{31 3ąd1eu1d"re lwzpa1sezł'6
.euzcr1qnd oG .(r rcsouroper,tr r[ce1g.{ra.Ą\ ,tzcłe1sd.tr on1l|1 efceuro;ur r faupe!o>11d1 eruesrdpod op tacŁzn1s) ry lervroso1 dqzcq [eu[e1 4e[.(ezcn1499bzc ?7 lc9o}Jts^\ [eu[e1 oułrolez ęlyl''tzn >1e1og nstdpod etuezct1qo oq
tecŁr.uoue1s)
'ft-apou) r=gE+LD n{un.r€A '(d
z n}
fursr1ę}sdz"to>15
pou) ,D j
(dpou)
',!DL,D
= oLń z.{p8'ureru
-ezporvrod bts ,tzcuonvz efcelgdra,tr, '.{ue.uoprqz eru-ueldod lset srdpod 19e1 6.9 n1unsdr eu órs elnpfeuz tsItstu€c
.duzcd1ua1ne oąel IIcIu Z ,tpzu>1 9enreuzodzol cerurn 1g nsrdpod n}€Iuoqcs srd6 uarut.uod rtce1gdrerv' u$roB1y ..tgsrdpod qcduze,t.r. oIaI,Ą\ €pel.&odpo tcgornopet.tl [auep az .o1 ezceuzg .duzcd1sruruuołapalu 1sa[ e1erueg1g nsrdpod ł€uloqcs eZ -4e1 ,urazcn1>1 ruduzcqqnd z epureg1g duzcger8o1ddrą ure1sds 4e[ etuqopo4
'ruAuzcrlqno
uazcnl{ z t|uzcgelao1ddr4 ule1sds o>1e[ r nsrdpod }€uoqcs o1e[ az.rqop elu.ĄĄgJ ,{uę,udzn 9[q ezoln d'9ł'1 .VSu ntu1dro81e op el.&1s9al^\rcez.rd .tt 'tgsrdpod e1p .o8e.,V'or;dc nstdpod pJ€pu€}s etu1elcads due1sdtuod łts}Soz €I,BIuBclg }Bluaqcs ,fi'6o7ouqcaa puD spJDpuD?s o1e[ n1eueqcs o3e1 ótcvr1gdpotu Łu,ued 1bt,tztd (.lstlt .łlopJtsputsls 1n1dTSuI drwopore5 .D1oJ q86I 1Y\ zere1 drurrr.te}spozJd
lo
a7n7l,1su1 7ouot7o71) rr8o1ouqcea I
dzs.u.rard
zęl od duesrdo .eprueg1g nqdpod łBIIIaqcs BIBIII€3IS
ns1dpod +BuIaqJs .z.9
'eruerrtor;dzs seco.rd lezpaztdod nsrdpod .r o8au.rrtef nłs{o} IuoJo}nts 1set reąsg u1droB1e dq .Órs ę)olef lercsózclęu o3e1e1q o1 zr .1esoru.t' 9bu$trcd,u azouf I JeĄsoJaa 1|c1un; tcotuod ez srdpod tzprvl'e"rds ue1 .rrvro>11og azvĄazld Jg{so ztsJat II9af .(:u oBeurrręf n}s)Iał chteuz atu brcd (,fi,z) : z fiuvno4fzsBz łs{o} cesrdpod ezolu Je>lso ez ,fianzvnne7) 1ervreu
.(r)t'Iog2
vTvwvD'ls nsrdaod rvwgucs
LOZ
'z'9
6. SCHEMATY PODPISOW
208
Niech p będzie liczbą pierwszą, taĘ że problem logarytmu dyskretnego jest obliczeniowo nierozwiązalny w Z,, i niech a e Zo* będzie elementem pierwotnym. Przyjmijmy P : Zp*, A: Zp* x Zp_t i określmy rc
:
{(p,d,a, B)
i
B=
o"
(mod p)}.
Wartości p, a i B są publiczne, natomiast liczba a jest tajna. Dla K : (p, a, a, B) i (tajnej) losowej liczby k e Zp-t definiujemy sig11(n, /t)
:
(7' ó)'
gdzie
1:okmodP oTaz 6
:
("
- a.Dk-r
mod (p
-
1).
DIa n,1 € Zp* i 6 e Zp_t defi.niujemy
uer6(t,1,6)
:
tak
<+
g1'y6
: a'
(mod P).
RysuNpx 6.2. Schernat podpisu ElGarnala Wówczas 'y
:2213 mod
467
:29
oraz
ó:
(100
-
I27 ,29)43l mod 466
:
51.
Kazdy może ten podpis zweryfikować, sprawdzając, ze I322s2g5r: 189 (mod 467) oraz 21oo
- 189
(mod 467).
Podpis jest więc autentyczny. Zastanówmy się teraz nad bezpieczeństwem schematu podpisu ElGamala. Przypuśćmy,ze nie zlając wartości o, oskar próbuje sfałszować podpis pod
pewną wiadomościąr. Jeśliwybierze wartość7
i
będzie dla niej szukać od-
z€JoJ
.T9T
.Itt : 997 pour IT . 66: r It : ggv poul IgI . LII- : g LLI: L9V Pou 621ZtI6uZ: L :€Iuozcllqo
actfndÓ1seu elnuoąd.tr ro1sg
: (r - d) poul ,_/ sezcrrrg'u |en : t zelo 66 : ? erarqd.tr 'ZtI: d I e : D'LgV : d'atzpe14f,ztd unupaz.rdod ,tt
'drucgnddzr4
Jg{so ez
z).9 Tj,:::-"jT peŁ>[AZJd
.ulepe1ądzrd o1 du[nr1sn12
'(d pout) ,D : (d pour) !L?-D = , :(d pour) ,-d ,_trr-r rd (d
Pou)
,_ru-(rd,s.D)
rd :- orrd
:o8ect tnąg,{Iołr n{unleł\ eruezprrrerds
o3e1 rzporrroq .2' IcsoIuop€I.u,
,L) ez,fultzpJol,{ttr e1p urasrdpod urduzem }sa! (9 .
Łs I
-dl!
aq ,aluozo1vz 3r3
.rrt
rzpoqc.ry' n1) (I
-
(ezsr'rrerd erupÓ13z.tt
d) oppour durezcr1qo
,_!
e1zp8
'(l - d) povt ,-tzL- : r (t-4potur_f,L-:9 : L d Pou-r rd,D
:tsruozcrlqo
.'(urteuoąd16 .I : (I - d.f)o,rlrt.N zvJo Z- d > f > 0 - d > ? > 0 o? TIuI{ts1 .tur.{1rłlo41ec z€Jo ? qcalN .r l g.L lcsoue,Ą\ t.uoroqdrvr' nluousozc Iu€ q zJII tpóq f .oupet l.Ą\oJg{so ecŁfetrl.rr1zourn €połalu 1eupat e[etu1s1 etuezo1z nsrdpod q3rzp .Icgotuop€I.Ą\ [ztą.,Lpj "Bo1 ..[a,uoso1.. 9esrdpod c3r.tt azoru eru ntcslepod ruo1e1 tsIuozcllqo ?9ouzcoluo{ €u olcll!Ąoutsnu .oBeu1en1sdp nur1dre8o1 nrue1qord 1aped ,g -,|ztd' ęu eget1 .r c/lzcqqo e|nqgrd erudó1seu ę \ L e.retqfrt Jeilso lr9of .duol1s .1ruporrtopn a1u ezczse| .tsP alu órs 1ąru 9rqorz o3a1 ez tar8nrp z e1e '1dqpo aru nqosods o8erlel azczsol l{lN 'urasldpod eldq (9'L) e;ed dq ł"ł.9 r L rcgope,ł\ aluazclTqo ausezcoupel eu nqosods 9o8eqet €IuaIułsI cso.ł\ .rueure1qord -II?ow ezczse| e[e1sozo4 .o3eu1er4s.{p nur1dre8o1 ure1qord ąe[ ulo1e1 .Bruep€z o3a1 eruez urduepeqz ezJqop ulfrupez z euęzblt"tz ouo lts elepd,u olu ?oqc .L -blntzot €pototu euzcd1>1erd rlupaf tsueuz 1se[ erg ..Łruoper,rn.alu.. €u npó18zrvr az
.z
(d
potu)
,D: cLrd oB e4ezc
tsIu€u.Ą\oJ,,otuazbltzol..
,g az.rerqd.rr .rruerdleu rlgel'duorls ferSnrp ,L rcsol.re.rt 7 felu ep v4nzsod rualod e .t_d,D f3o1 du1erąsdp ur1dre8o1 cdzcrTqo ł€Isnu erzpÓq .9 rcgope.łr. leruper.łł.od
VIVWVCIT NSI4OO4 TVWqHCS
602
'Z'9
6. SCHEMATY PODPISOW
2r0
Para (117' 41) jest więc ważnym podpisem dla wiadomości 331, co można Sprawdzić przez następne obliczenia:
l321rrl1.74r: 303 (mod 467) otaz 233r
- 303
(mod 467).
Podpis jest rzeczywiście autentyczny. Przedstawimy teraz inny todzaj fałszerstwa, przy którym punktem wyjścia oskara jest wiadomośćpodpisana wcześniejprzez BoIka. Załóżmy, że (7, ó) jest waznyrn podpisem wiadomości r; wtedy oskar jest w stanie podpisać następne wiadomości. Niech h, i,, j będą liczbami całkowitymi,0 śh,i, j śp-2 otaz NWD(h7 - j6,p - 1) : 1. Wykonajmy następujące obliczenia:
)r: {ę} Bj mod p p,:6X(ht - j6)-'mod (p - 1) r' : \(hr + i6)(h'y - j6)-' mod gdzie (h1 nego
g^\P
- j6)-' =
a"'
(p
-
1).
obliczamy modulo (p
-
t). Sprawdzenie warunku weryfikacyj-
(mod p)
jest już proste' choć żmudne. Para ()' p) jest waznym podpisem dla wiado. mościr,.
obie opisane wyżej metody umożIiwiają sfałszowanie prawdziwych podpisów, Iecz nie wydaje się' by przeciwnik był w stanie w ten sposób sfałszować
podpis w wybranej przez siebie wiadomości bez uprzedniego rozwiązania problemu logarytmu dyskretnego. Tak więc żadna z tych metod, jak można sądzić, nie st anowi zagr ozenia dla b ezpieczeństwa schemat u po dpisu EIG amala. Wspomnijmy na zakonczenie o kilku sposobach złarnania schematu ElGamala, gdy nie zachowano należytej ostrożności(będą to dalsze przykł'ady niepowodzenia protokołu omawianego w ćwiczeniach na końcu rozdziału' 4), Przede wszystkim' nie wolno ujawniać losowej wartości k, lzywanej do obliczenia podpisu, gdyż znajomośćtej liczby pozwala bez trudu ob|iczyć
o: (, - k6h-'mod
(p
-
1).
oczywiście'znając a, oskar łamie system i może do woli fałszować podpisy. Kolejny błąd polega na użyciu tej samej liczby k do podpisania dwóch róznych wiadomości. To także ułatwia oskarowi obliczenie a i złamanie sYstemu, a moze
,("g
-
,g)|p
.Łunerdod budpet
Ic9o}Ję^Ą
p
qc'f.+
(d n{unre,{\ aruezp.uerds
zazrd'I-
p>?
;
z 9vlq['n tsuzoul
poul) ąło: L
6 etzp8'z o8eu.trled e1p
G-A)povtdt+)f:q :ry lcso1'Ję^Ą
qcńlrr,qzour p furelnurdz4o o3a1 7
',dpoul)ł-rl Icgou.&oJ z o1rud.rr.t ,d o1npou ,
c'tzcąqo durazour ,I
:
ł ?9ope1lri
dpepr e
d pout l_(,9)
(,d.,g)C]MN .(.'d
9e1sod
:
I
zts.1r\aluod
pour) ,gjl = ,a
olnuldzrd elcuenr8uoą stszc^\o6
. P :a t
L-d
p _^ zg-rr-'s p^
za-ta:'ięIuazlęIlzo dtuzpe.tłord16 .(r - Ir)|p ez ..{ure[n>1soru't.l zerc (1 - d)|p zts.Ą\aluod .(I - d.zg - ,g)o'łrt.lu : p z€Jel qcalN _,ilą - ?,a - Ia, .G
-
a potu)
(u9
nlutsuł\oJ auz€.ry\ou1r\oJ
:ry
1se[ ero14
.(d poul) (g_,iląD j ",-,*D .,o : L cŁfer.tre1spo4
Łuroperrr.telu z alutsu1'rgr duralnurdzl1o
'(d pour)
"s_rsL
i
zr_-rD
ptłS '(d pour)
zrD:
zsLLd zEto
(d
pou) ,rD: ,sLrd
.ar
.Iz
uasrdpod 1set (z9.L) e s€zc.&o1r\ dure1,1 , ,fcbtndó1seu qosods clqoJz oł lcgouropęr.tr uresrdpod łsat (T9 L) ez,,tulz91e7 ^\ V'IVINVD'IT NSI4OO4 TVINqHCS 'Z'9
trz
6. SCHEMATY PODPISOW
2r2
6.3. Standard podpisu cyfrowego Standard podpisu cyfrowego (zwany w skrócie DSS od ang. Digital Signature Standard) jest modyfikacją schematu podpisu ElGamala. opublikowany
w Rejestrze Federalnym 19 maja 1994 roku, został ptzyjęty jako standard 1 grud-
nia tego samego roku (choć propozycja pojawiła się już w sierpniu 1991 r.). Zaczniemy tu od uzasadnienia zmian wprowadzonych do schematu ElGamala, a następnie opiszemy, jak te zmiany zostały zreal.izowan.e. W wielu sytuacjach wiadomośćpodlega tylko jednokrotnemu zaszyfrowaniu i deszyfrowaniu. Do tego celu wystarczy dowolny system kryptograficzny, jeśli tylko jest on uznany zabezpieczny w momencie szyfrowania. Jednak podpisana wiadomość może funkcjonować jako dokument prawny, na przykład, jako kontrakt lub testament, co czyni bardzo prawdopodobnym, iz jeszcze wiele lat po jej podpisaniu zajdzie konieczność weryfikacji podpisu. W takiej sytuacji staje się tym bardziej istotne, by przedsięwziąć większe środki ostrożnościco do bezpieczeństwa schematu podpisu niz w przypadku systemu kryptograficznego. Schemat podpisu ElGamala nie jest bardziej bezpieczny niż problem logarytmu dyskretnego, wymaga więc użycia dużego modułu p. Z pewnościąliczba p powinna mieó co najmniej 512 bitów, choć wielu specjalistów uznałoby, że dopiero IO24bity zapewniają bezpieczeństwo w dającej się przewidzieć przyszłości. Jednakże nawet 512-bitowy moduł prowadzi do lO24-bitowego podpisu. W licznych potencjalnych zastosowaniach, z których wiele wiąże się z użyciem inteligentnych kart, pożądany byłby krótszy podpis. Dzięki zręcznej modyfikacji schematu ElGamala, w DSS wiadomość 160-bitowa zawieta podpis 320-bitowy' ale w obliczeniach lzywa się 512-bitowego modułu p. osiąga się to przez sprowadzenie obliczeń do podgrupy gtllpy Z,* zawierającej 2160 elementów. Bezpie. czeństwo schematu opiera się na zał'ozeniu, że problem zna\ezienia logarytmów dyskretnych w wyróżnionej podgrupie zapewnia naIeżyte bezpieczeństwo. Pierwsza zmianapolega na zmianie znaku,,-'' ,'*'' w definicji ó. Tak więc ^a 6
:
(r
ł
a1)k_I mod (p
-
1).
Zmienia się wtedy także warunek weryfikacji:
atB.l:.1ó
(modp).
(6 1)
JeśliNWD(z ła7,p_1) : t, to ó_1 mod (p- 1) istnieje i możemy zmodyfikować warunek (6.1) do następującej postaci:
arÓ
-p1Ó :7
(modp).
(6.2)
Aterazprzyjrzyjmy się największej innowacji, jaka znaIazłasię w DSS. Pruyjq jest 160-bitową liczbą pierwszą, taĄ ,. s|@ - I), oraz a jest pierwiastkiem stopnia q z 1 modulo p. (Łatwo takie o zbudować: jeśliog jest elementem pierwotnym w Z,, to a : of,_t)/e mod p). Wówczas B i 1 takż,ebędą pierwiastkami stopnia q z I, a w takim razie można dowolne wykładniki przy a) mujemy, ze
.ą ,{.ttou 9errropnqz t z.srdpod bntou Łrc9o1.rerrr b'uoso1 olu a? L?\zpJol..(ls nł dza1e5 .(Ó poru) nsrdpod arur1dro81e rvr c9o1J€.ł\ e1sdzn ąe1og 0 9 ?IcnzJpo t[ rsnu = .((z.9) ,r,r (r.g) €Tuocł€tz$Iazrd op o8auqezr1od .T : (T - d.p)oMN TI9af ',{ -unJ€..ń op ór8o1eue n1 cepr.u) nsrdpod r[ceąg.'(.re,tr op euplqzeru 1se[ D pour 1-0 g 1eunre,u duoru1ads cdq rsnru ez,l|utzennv7 ?9o1J€1ń
zfrp?,(b polu) 0
f
oBanor;r(c ns1dpod PJ€puB1s
'L
:
b pour (d pout
-ndó1seu zazldod tsu€,Ą\ozlltsoJ
1set
.8.9 xgNns^u
."! ,,a) <+ >let : (9 'L 'r)'rro 1_!L: za
etco1gdrcn bv Ó
pour
D
pour
D
1_Qx:
ra
:rlcę.redo 8Łrc dcŁt
) g,L I *,v ) , ,1q
pour
vy(Lo ł r) :
9 ZETO
b poru (d
potll
ąD)
:
L erzPB
.(9.L)
,I b > ł > -
:
(ą,r)x6?s ńruelntugep
1,s1'tqzc11 lelłoso1 (!au!e1) \ (d,D,a,b,d) :17 €Io .euzcr1qnd bs .eu[e1 1se| D tsqnII ! l o.ó .d tc9o1re11 .{(d
,
*,Z
*oZ
poul)
oD =
€1
:
(j,o,o,b,d)}: a
,{ru1ser4o \ bZ x'Z: V : 4 fultttllt/zr4 .d oppolJJ I z Ó erudo1s tuol{łstsI.rytJord erzpóq ) o olpeuod qcolN 'I - d fqzcq urdzs.ttrard ruoDllulolzp urd.trolrq-
-691 arzpóq b qcetu I,dZ 'tu1vzbtntzololu o1lroluazcqqo 1se[ o8eu1erąsdp ^ nru1dre8o1 ure1qord a?Ę1el-.tzsrtrard tqzcq Q'uo1rq-61g atzpÓq d qcet51
srdo du1e4 .cę,łę|zp
'g'9 nlunsdr eu druetrvrelspezrd 55q
erue1sezrd (1.9) 4eunre.t Ó opporu rlc>1nper [eru'o>11epop ntu [lnc9ł'n7.ótcer1gdrałr uzpettotdezrd dqe .(Z.9) .{.'..'n^
.Ó8ert.n -euo1d.ł.r, od az
.l
o1nporu L dueln1nper óuo.r1s Qrrre1 Ł1ec zalu.Ą\oJ D o1npour 9ts^\o{npaJz dtursnru .n>llup€1ąd.,vr .tt aru znl e1e .eru.ttouod etndÓpdłr fa.łrerd od 1seruro1 {3I r19et c3rrrt
-eu .n1rupe1>1f'u
rrl\
e[ndÓ1s.{.tł
t (z.il
nłunJts.Ą\ oluoJ}s [e.te1 od :ądzceq uerrvred opporu cts.Ą^'ołnpeJz L I 6/
.(z.g) l|"e{cdJa.Ą\ nłunJp.ĄA fitlvtulz zeq 1eupet nł łsaf
l
)DSIAOA{IC nSHCOd ?AVCNVTS 't'9
trc
6. SCHEMATY PODPISOW
214
powinno to powodować trudności w praktyce: prawdopodobieństwo spełnienia warunku ó : 0 (mod g) powinno być rzędu 2_160, a więc mozna oczekiwać, ze prawie nigdy do tego nie dojdzie. oto prosty przykład dla ilustracji.
Przykład 6.3
Przyjmijmy a
:
101 i p
: 78st 1 :
7879.
w Zzazg, zatem mozerny wziąć
o
:
:
I70.
: a" mod 7879 :
4567.
Niech
0
378 mod 7879
a:
Liczba3 jest elementem pierwotnym
75. Wtedy
Zał'ózmy teraz, ze Bolek chce podpisać wiadomośćr wartośćk : 50, z czego otrzymuje
:
22
i
wybiera losową
k-1 mod 101 :99. Wówczas
? : (17050 mod 7879) mod : 2518 mod 101 :94
101
oraz
6
: :
(22 + Zb. 94)99 mod 101
97.
Za pomocą kolejnych obliczeń weryfikuje podpis (94,97) pod wiadomością22: 6-r :97-r mod 101 et :22. 25 mod 101 ez
:94.
25 mod
: 25 : 45 I0I :27
(17045456727 mod 7879) mod 101
Podpis jest więc
wazny.
:
2518 mod 101
:
94. 0
Gdy w 1991 roku Zaproponowano DSS, pojawiło się wiele głosów krytycznych. Zasttzezenia budził rniędzy innymi fakt, iż proces wyboru standardu przez NIST nie miał charakteru publicznego. Standard powstał w Agencji Bezpieczeństwa Narodowego (National Secuńty Agency, NSA) bez udziału amerykańskiego przemysłu. Niezależnie od zalet nowego standardu, opór budził brak przejrzystości całego postępowania'
dp?€y .urd,uozerd.tr-r1 ruar8trc urdu;eurq 1seI ?9o1J€.Ą\ :olulalzppo órs afnsrdpod }Iq .nłtstuoqcs o8ot alutsłelzp eIuI€uIJoJoIu ,,(ruezsrdg .7.9 nłuns.{J €u ?9oluop€T,t\
€u€.Ą\fsldPod
Óts e|npfeuz .e1.rodrrre1
nsrdpod łBuIaqJs oł€[ o8ou€uz .nl€Illoqcs sldo '
(aruloqolerru. euezPe,trord
,9otąc) Łrcgotuoper,u bupat pod on1Ą 9f,z' -azld odqezour e[co1g.{.ra..tr .eusel zcazl .fe.t.ro1unret1oupel r[c>1un; -ołz tsuqoul srdpod oz ,ęzcęlfzo ..d.,vrozeloupe[.. urur.re; z (au,aqcs atnyou1ts aulx?-auo '8ue) oSe.uozeroupal nsrdpod btc1nr1suo{ t1sord erufdcdecuo>1 3rs .{urarrulez alęlzpzoJpod urd1 16
teulo.,rrop tnatc1rzn
nl€rrroqcs
{sldpod o^eozeroupaf 'V'9
.o1qdzs ocŁfezc.re1sf.t Łs auę,łlozqeer dseco.rd eqo o>11d1 .o3e1 op els €zpemoJds r1se|.ezsqdzs 1se[ oc .eu1o1sr 1se[ etu .tzcazl arcun.r3 ,ta. ez JSIN ołsl.Ą\ou€ls I€ u€'Ą^ołgdre.^1l o8e[ r nsrdpod ęrue.ttoreue8 nsęzc Il}so1v\{ ]|V\
.fsrdpod etnągdrervr qclt:p}{ .efcen1ds
.ercÓtu8dzl1szoJ ouz)euzoupef o c3tłr oupnr1 rvr
.srdpod ofnlauo8 e1rYą eu1uaBr1 ,er4e1 r 4e[ .3pe>1
zazrd alqos ?IztsJqod.tr an1e1 1eupef euzo1'1 -a1ur qcdr91ą ,t.r qc'(uełrduo>1d.t.r gezcr1qo sa.rltsz dq1ezsferuuz t.q1n.n1eruaqcs oBar4e1 nru .IuaJołndluo{ tudzsletuzó1od z Órs ecŁ[ -e,uo1>1ato.rd€z o calsdul cÓtłr euzotr41 -n>Ilunulo{ .le,uoruezcr1qo .{coru feuozcrugl8o o dpe1 au1ue8r1e1ur au€,ryrdzn qcdu1elcua}od nlol1y\ 6 ;1!c€"i1gd"te.u r ętu,Brn.ds ,{re1nduroą ndd1 o8etąe1. (7)
cfq Ł8our
qc€Iuts1!\oso}sez
-rdpod ersacord
,t eue,ud1sdzrcn,tn qdq ŁSotu .
r
[ce1gd"ra,t.r.
nur1f .ro31e o3ezsq,{zs €IuozIo,t\}
eu o1 e[nze1s11 .nsrdpod etce1gdrarvr tsuzcoluo{ -ezt1sezld €u aIu}oJ{oIoI.Ą\ 1s€Iluoł€u
cę,ZuĄo óts .ze.r o11d1 órs efnsrdpod
cso1riolac 1e1 tu
ezou
?9ouloptsI6
(T)
'nsrdPod nleru rudu1elcue1od z órs qcfcbzbln II}so^|ł n{II{ BIuaZB..t|uoJ oP -oqcs llu€Iue.lrrosols€z elutsł{s ec|uzoJ e; .arue.udsrdpod zru urdzs19r4 oluzceuz ols€zc ,!\ 3rs ervrdqpo efc .e4gd.re,t.r. o1 .(g pe1>1dzrd eu) d1eur ozpreq 1set rtce1g.{ren, leuzcr1qnd 4upe1r1.{ał' t .n1eureqcs o3e1 op ol.Ą\lsqalł\ nure1s;{s 3rs e.udzn dp8 po dzsqdzs ocbzcęuz pet nsrdpod €Iuts1(oJoua8 o{€|
nsrdpod n}€ulaqcs -rcezld' 16
VSE
.rtce1gdre.ryr o8e[ nseco.rd
socord ez,oaery op ars d1rsoupo Sso op n{unsols łr euzcd1d"rą r8ełrn aule1oy IIu€IcsoułoJłoIaI.\Ą ',!\gtlq 7ZOI op,YtgłIq ZIg po o|ę,vpozrd ^ ż9 bs erppl ,n1npour f,.tęrulzot olłtsdzs^\ aIJI1Y\outsIuI ouozczsndop in1nporu Ic9ołIoI.ł\ .nprepue1s ótce1g'tceds łIuoIuIz JSIN ełd} 99olIBIuzoI tulvlod crcsndop dqe 1e1 -dq ó1 eu rzparłrodpo 16 .qcdzsąórrw.tg1npoul zolu.Ą\oJ cP'j\\'tzrr dqazr1od aIzEI li .tarde1 dqo1dq az .pŁ1B .€uuelulz e18oru cdq o1dq euzotu dqe 1e1 ?gołIalrlt dqfp8 .1Ą9rlq -od órs ł€ft.ĄlozJd qctsIzpol.Ą\odd.,vr n1et.u 7tr1 ZIg ęv d n1npour Icso{IoIA tuoluol€}sn z ós lezbl1ń dzsletuzprylod|eu qcduzcruqcal vozazr+sez porsod5
9rz
^sldaod
g1^ozvaoN]st
.Ż,9
6. SCHEMATY PODPISOW
216
Niech k będzie dodatnią liczbą całkowitąi P
f Y
.--+
Klucz
K
:
Z
jest funkcją jednokierunkową
wybranych elementów at,i e
Y
ntech
:
i niech
{0,1}e. Załózmy, ze : Y*. DIa losowo "4
zi,i: f (at),1< i
< k,
j:0,I.
składa się z 2k elementów y i 2k elernentów z. Wartości g są
tajne, podczas gdy wartości z są publiczne. DIa K : (At,j,zi,i ; l< r < k, j : 0,I) definiujemy si,g1ę(r1,. . ., nk)
: (al,,,,.
.
.,9k,,n)
oraz
uer6(x1,...,tk,dlt,..,ał) :tak ę f (at):
Zź,re, 1<
i<
k.
RYsutvnx 6.4. Schemat podpisu Lamporta odpowiada i-temu bitowi wiadomości o wartościj (j : 0, 1). Każda z Iiczb zi,i jest obrazem ar,i ze względu na pewną jednokierunkową funkcję /. Podpisem i-tego bitu wiadomości jest przeciwobraz yi,3 wartości zi,i odpowia. dającej i-temu bitowi. Weryfikacja polega po prostu na sprawdzeniu, że każdy element podpisu jest przeciwobrazem odpowiedniego elementu klucza publicz-
zi,i
nego.
Ilustrację schematu przeprowadzimy na jednej z moz|iwych implementacji, uzywając funkcji wykładniczej f (") : o" mod p, gdzie o jest elementem pierwotnvm modulo p.
Przykład 6.4
Liczba 7879 jest pierwsza, a
l@) :3"
3
jest e]ementem pierwotnym w Zrazs.okreśImy
mod 7879'
Zał'ózmy, że Bolek chce podpisać wiadomośćskładającą się z trzech bitów i w tym celu wybiera sześć(tajnych) liczb losowych: 9r,o
:
5831
g2,s
:
803
Az)'
:2467
YY1 :735
as,o:4285 ast :6449'
nsldpod alu€,tr lsaf fauul ,tt nsTdpod lc9oIuol€uz olulru lcgotuop€Lt\ ([ot8nJp) ^Ą' .ę1$'}s -ozsł€Js l,'YtoJg{so urdcŁ|er.trrTzoluolun urepolrod e1.rodrrre1 olcPluoqcs -yazcatdzaq d1er1n zeq ,tosrdpod eruacon1s eu.tad €I.l\Ą'IIzouIn er91ą .rtceągdp ^Ą -otrr €rrrn€qc
I ęsog po tactzpoqcod feurrr.ad .fztd zerc1 bts ,ftn[eu,tząe7
iIc9otuop€I1Y\
leures po Azszn1p fizeł 71g dq1dq stdpod arce11nzer 6 .udał'o1tq-61g ue€btc Ic9oulop€I.Ą\ n1rq o3apzuą erue.tr.{srdpod tqos ęz ęBbtcod oc ,d [qzct1!a.łro11q-61g lerurufeu oc fqe1e8eu.{rt efce1uaue1durr euzcardzeq o1 ,alzpe14f,zld rulułtslso ł\ foure1npou tuuętwfrzn,pe14frzld eu.qse1 .łrostdpod
{€|{€l
.lezctupe11d',rt
1|c>1uq
rc9o3n1p nporvrod z ecfp1etd n. Auzce1,|zn 1se[ eru ł?Iuaqcs r[cue8e1e ferrls orur14
.((t.t,5,g..,.o.tź) ęą|9rt) (r.o.o) zerc ((t,tft,l,zfi',I,1ń,) oIJI.&outsIIu n) (t.t.t) IcgoIuoP€I.ł\ op dsrdpod ge.uo4nporddrw azour rer1sg .dstdpod ertp e1 cbte6 L(r,tnIl.zfr(o,ń) .(t,t,6,g,.,.t.Tń) g{|9.rł (t .o.t) Ic9otuop?I,łt. uresrdpod }SeIIuoł€u
q|qrr erzp3q (t .t .0) Ic9otuoPtsI.Ąt uresrdpo4 .nleluaqcs o8eures o3e1 bcoruod ez ouestdpod (t.o,I) zvlo (t.t.o) Ic9oluop€I,ł\ az,pe14[zld eu drucsnddzr4
.IcsoluoptsI.ł\ qcdudó1seu op (qcg.,ltp qcd1 po l7c.f.uzgt) rrrostdpod erue.u -opnqz lc9oupnr} (193o eu) nru dqo1rr'rerds oru .rurercsouoptsI1r\ rrrrduzor €tual..l\p pod fsrdpod rfc,.{zods,,tp op łtsIIu rY4s6 dqdpD .zęr o41t1 vizn tsuzolu nsrdpod |e,uo>1unrerąoupaf n1tsuaqcs az{Bupof .ń rc9o1re,u eu|e1 ceusfzr1o dq .,f 1|c>1un1 .nstdpod ce,ł\ozsł€Js aIu€łS .& 1sef etu re1sg 9lcoJ^rpo ger1od olu zts.Ą,|.aluod
duzpłt c3r,tr '892 IZ,LV
0I8t
:6L8f
1seI srdpo6
poru
:6L8LPoui
:6f8f
e8u78
Lsvzt
polu ssft
:tsIuazcllqo ecŁ |ndó1seu ceuo1,{.u,{zc.re1sd.tr .cerrro1gf ra,trz o3 ,{qy .
(sszv, Lgvz. gtt)
Ę|9rr
:
(0.€ń,
t. eft , r.
rń)
1saf tuesrdpod tcsouroper.u !e1 e1q
'(o'T'T) csoluoP€I.Ą\
:
e
cesrdpod acqc {alog ztsJoL,auamo11qnd Łs z tcso1re.u e; 'LEL} : -
t'tr
I
o'tz
ggz
IZLV:
7,LgV : :
cz
L
o'?'z
o'rz
600Z:
t tz
0188
:'f ótc4uq eu npÓ18zru' az fi, tlto1uaule1e dzerqo BzcIIqo 1a1og atude1s"e5
ISTACO] qIAOZVEONAST'?'.g
LIZ
2r8
6. SCHEMATY PODPISOW
fakt, ze rvartości g odpowiadające pierwszej z nich nigdy nie stanowią podzbioru zbioru wartości y odpowiadających drugiej. Zał'ózmy, że mamy rodzinę B podzbiorów zbioru B, taĘ ze 81 c 82 ty|ko wtedy, gdy Br : 82, dla dowolnych 81' Bz e B. Mówimy wówczas, że B rna własnośćSpernera, Wiadomo, że jeśliB jest zbiorem parzystej rnocy 2n, to maksymalna liczba elementów rodziny B podzbiorów zbioru B, mającej własność Spernera, jest równa (,ł) lę liczbę łatwo osiągnąć, jeśliweźmiemy wszystkie podzbiory n-elementowe zbioru B; oczywiście żaden podzbiór n-elementowy nie jest zawarty w róznym od niego podzbiorze n-elementowym. Przypuśćmy teraz, że tak jak poprzednio chcemy podpisać wiadomość k-bitową i wybieramy n na tyle duże, by
'.(':) :2n t niech B oznacza rodzinę wszystkich n-elementowych podzbiorów zbioru B. Załozmy, ze Ó: {0, 1}k . B będzie publicznie znaną funkcją róznowartościową. Możemy wówczas każdej wiadomości przyporządkować n-elementowy podzbiór z rodziny B. Będziemy mie|i 2n wartości y oraz 2n wartościz, a podpis kazdej wiadomości będzie składałsię z n wartości g. Pełny opis schematu Bosa-Chauma przedstawiamy na rysunku 6.5. Niech |B|
Niech k będzie dodatnią liczbą całkowitą i lej n będzie |iczbą całkowitą, taką ze 2k
P :
{0,1}k. Niech da-
2n-e]ementowym. Zał'ózrny, ze
g:
{O,t}k
---'
B
jest funkcją różnowartościową,gdzie 6 jest zbiorem wszystkich rr-elementowychpodzbiorów B, Niech/.. Y -. Zbędzie funkcjąjednokierunkową i A: Y". Dla losowego elementu al ę Y niech zi : f (ai), 1 < ? < 2n, Khlcz K składa się z 2n elementów y i 2n elementów z. Wartościg są tajne, natomiast wartości z są publiczne. Dla K: (At,zt,1 < z < 2n) definiujemy
sig6(x1,...,frk)
:
{aj
Ij
e Ó@,,...,frk)}
oraz
uer6(ryr...rfrkralr... tan) : tak ę {f(",): 1 śi ś : {,i. j e Ó@l,,.,,rk)}' "} RYsuNpx 6.5. Schernat podpisu Bosa-Chaurna
I
I
I
.nsldpod lc9o8nłp oluozsfoluluz %09 l€Iua1u dureln>1sdzn tsun€qc-
_€sog alc€Iuoqcs
1ll cór.tr
e
,7f
ą aunol
nruezr1qdzrd ,u 1sa[
.,
u
aruzcd1o1dur..(sy
3== (tu) zBol
qcdu,ted
-uz>q
Icgou.ugJelu op drurzpoqcop qceruezczsordn .eBur1rr1g luoJoz^l' z alupoBz druelncęzso
od .3Łt l-z7 tulvlllltzt1o
: ("\
"\i") i@z) .(,:.)
19dsłr II9"f _€sog olctsIueqcs
(I .I .0.0,T .0)
-
}
'\.l ry
ryZ
\"2)
fltouerurnrtP 4ruudzc .,(ruet41 i€untsqc_ lpourlnoJalu ęuolułeds cdq Isnru oz
op nłunso}s ,u u nąpeddzrd udu193o .tt 1sa[ eznp {tsr .{8.9.7 .z)
ź lcsoruop€I.Ą\ op nru1,(ro81e etunEqc-Bsog alceulalłJs
Q olu€zcllqo
:
(q,
,...
,Ix)
:
e
@)ł
,pe14dz"rd
o3e1 erue.troso1sez
^Ą
{t + l} n (r)Q
aftsp
e5
.9.9 >IsNnsA.lI
: @)ę
(0I)
I-e:a (1)-":"
t I
(6)
I I
(s)
.'.qł < fr !| (?) r-?:r
u) (9)
oP0
(S)
u:a
uZ: ?
a:
lv) (E)
@)Q k) G)
"
'-'Zn"--;3: .
z.r od'fz td o1 dr9}ł ur1d.roB1e d1sord e5 .oBe,tołuoualo-uz nJolqz rgrqzpod d.n.r.o1uerua1e-u
lnzr1eer erue.toąpt
durerne1spezrd g.9 n4unsdr uer.t,tad
.
Ź nluo.1r\oz€Jd.u-ry r.t.ro8trc nruouJ€ulcł nulopzg{ eln.łto>1ptzr
-odfztd' ęr9!.Ą,Q fan.orcso1:errlouzgr rlcąun; e8eud,tr tsruntsqc-tssog ..lv\głIq olcseu€,ł\p €JoI1rlBz zcn1>1 e1rodur€T .zcn1ą pel dzs19rą dpB sezcpod .z tcso1len. nltugo z 3rs dcŁtepe1>1s .e1rodure1 tstuolcsazs
z nlueu.Ą\oJod n,fi'
Icgo1Jts.dt\
Ilcarc1:zc Łcoruod
}€ruoqcs
alc€uoqcs aluqopod olc€Iuoqcs
^\
ł\
ez błro1tq-9 csouop
: u -er.tl gesrdpod durezoru nure1 r4órzq 0f : (} zvro vg : 97' ?e^\a!uod .(g zhuozo1z n1c9ezs : .u91rq e) car.u 9gorrroper.u 9esrd ł 9btttzld' dzcre1sd11 ..{stdpod efnreue8 dzsłtratd ue1 ez azs}or>l -pod durecqc az .ft:uzg1vz.pe14..tzrd e5 .ur.f'1 eu eBe1od epodrue1 ual€ueqcs €sog n}€ulaqcs e8e.tezl4 p€u €um€qc 617,
^SIdOOd
,v
L:YLOZVEONAE? 't'9
6. SCHEMATY PODPISOW
220
6.5. Podpisy niezaprzeczalne W 1989 roku Chaum i van Antwerpen wplowadzili pojęcie podpisu niezaptzeczaInego (ang. unden,iable s,ignature). Miało ono wiele cech nowatorskich. Najistotniejsza z nich to konieczność udziału podpisującego, Bolka, w procesie weryfikacji
podpisu. Chroni go to przed powielaniem i rozsyłaniem podpisanych przez niego dokumentów bez jego zgody. Weryfikację realizuje się za pomocą protokołu typu pytan,ie-odpowiedź.
Jeślijednak współudział Bolka jest niezbędny do potwierdzenia podpisu, to co może go powstrzymać przed wyparciem się złożonego wcześniej podpisu? Mógłby przeciez stwierdzić, ze wazny podpis jest fałszerstwem i albo odmówić jego potwierdzenia, albo tak przeprowadzić protokół, by weryfikacja się nie powiodła. Aby zapobiec takim sytuacjom, schemat niezaptzeczalnego podpisu zawiera protokół, wyrzeczenia (ang. disauowal protocol), dzięki któremu Bolek może udowodnić podrobienie podpisu. (Gdvbv odmówił udziału w protokole wytzeczenia, zostałoby to uznane za potwierdzenie autentyczności podpisu). Tak więc schemat podpisu niezaptzeczalnego składa się z trzech składowych:
algorytmu podpisu, protokołu weryfikacji oraz protokołu wytzeczenia. Przedstawiamy najpierw algorytm podpisu oraz protokół weryfikacji schematu
podpisu niezaprzeczalnego Chauma-van Antwerpena (rysunek 6.7). Wyjaśnijmy znaczenie |iczb p i q w tym schemacie. Schemat rozgrywa się w Z,, powinniśmy jednak również być w stanie wykonywać obliczenia w multiplikatywnej podgrupie G grupy Z,*, której rząd jest liczbą pierwszą' W szczególności, musimy mieć możIiwośćobliczenia elementów odwrotnych modulo |G|, co tłumaczy, d|aczego chcemy, by |G|' rząd podgrupy, był liczbą pierwszą. Wygodnie jest przyjąć p : 2s * 1 dla liczby pierwszej q. W ten sposób uzyskamy możliwie dużą podgrupę G, co jest pożądane ze względu na to, że zarówno wiadomości, jak i podpisy są elementami G. Udowodnimy najpierw, że Alicja uzyska potwierdzenie ważnego podpisu. W poniższych obliczeniach wszystkie wykładniki redukujemy modu]o q. Zallwazmy na początku, ze
d,: co
t
(mod p)
-
Ponieważ
0=
o"
(mod p)
wnioskujemy, że
go-':a
(modp).
Podobnie
U:ltomodP
,eta-' Beza-r (mod p).
gbt1rztd, c3rłr' durezo141
lsof 7
-
7Z cb1*
'6W:
f97 poru ,7o: d
stszc.ł\ofi .T0T : t2 IłcoIN .? : D ./97 olnpou qcd.&oł€Jpe,ł\{ }zSaJ ddu8pod ulaJoł€Jouo8
.tudu1orr.t.rerd tualualuola +sar
9 z ęqzclT .Lgv : d ltultrutf,zlł g'g pe7>7'tzt4
'pe11dzrd dlsord o1g .^.(ursqetcqc
'(d pour)
dusur '(d
zaD
ht
{€| {ts}
=P
rfcuerw>1asuo1 r11
Pou) ':- ,,,fr elnątldrut l
euad-ram.1
I
.f.9 xgNns,tu -uv ue,r-Blllneq3 o8eu1ezcezldezetu nsrdpod ł€uIaIłJS (d
poul)
z"D
ęx
dp8 .dpe1u o{Idt I dpe1u ń nsrdpod c9ouz€.& eln1decąe rtc11y >1rud.tr atnzv4aztd' r d potu b pou ,_oc
I.&o{IoB 1ru..(llr etlzvĄeztd r d pour .'€l ,"fi
*rZ ) "r'ra 'za :
ure1
:
p ęzc\qo
:
c
ezOt.lqo
(ra o^\osol erarqdru.
oąo1ord tudct tnd31se u z etup o3z e8erqezrd
=
p
e|cw
(r)
łalog (t) ę|cltv (z)
elclV
p)
e lce>1gdrervr
fi
,
(f)
r e1q
,r : (r)x6xs :
'd Pour
fr'
durefnrugep C ) t | (d'r'o'd) : Y elq 'eu[e1 1se[ D tsqrcrl 'auzcrlqnd b's i t to 'd rcsolretll
'{(aporu),D= d dulse"r>1o I
.(d ot -pod '1-b
;
(i'o'o'd)} : X
D:Y:4
fiuttttttt.fzt1
ddru8 D nplzr Ódnr8 IIJ ,D :5/ duą9a;16 ^rqcalN'dVntulez
-Łrnzoraru o.óAoluozcllqo 1set o8eu1ar1sdp nu1d"re8o1 ua1qord t Łzsrvrretd .Łzs,ttrard Łqzcq arzpÓq I + bz : d qcet5 bqzct1 ezne1 1set D ez Ęe1
TN.IVZCqZEIVZqIN ASIICOł'9'9
IZZ
6. SCHEMATY PODPISOW
222
Bolek zł'ozy pod wiadomością r
9:
119101 mod467
:
:
119 podpis
I29.
Przypuśómy teraz, ze Alicja chce zweryfikować podpis y i wybiera w tym celu losowe wartościei : 38, ez : 397. obliczy c : 13, na co Bolek odpowie jej wartościąd
:
9. Alicja weryfikuje odpowiedź, sprawdzając, ze
7193843s7:9 (mod467). Stwierdza zatem, że podpis jest ważny.
Wykażemy następnie' że prawdopodobieństwo tego, ze Bolek oszuka Alicję, kaząc jej lznać sfał'szowany podpis zawazny, jest znikome. Wynik ten nie zalezy od źadnych wcześniejszych zał.ozeń obliczeniowych, co oznacza, ze bezpieczeństwo jest bezwarunkowe.
TWIERDZENIE 6.1 Jeśliy l x" (lrrodp), to
prawdopodobieństwo uznania przez Alicję podpisu g za ważny dla wiadomości r jest równe I f q.
DowÓD Zauwazmy po pierwsze, że kazde możliwe pytanie c odpowiada dokładnie q parom uporządkowanym (e1' e2) (poniewaz u i 13 są elementami grupy multiplikatywnej G, której rząd q jest |iczbą pierwszą). Gdy Bolek dostaje pytanie c, nie jest w stanie ustalić, której z qmożliwych par (et,ez) użyłaAlicja do konstrukcji liczby c' Twierdzimy, że jeślia # r" (mod p), tokazda odpowiedź d e G ldzie|ona przez Bolka jest zgodna z dokładnie jedną z q pat (e1, e2) . Kazdy element podgrupy G rnozemy przedstawić w postaci potęgi elementu o (z wykładniklem wyznaczonym jednoznacznie modulo q), sdyz cł jest generatorem G. Stąd dla pewnych i,,j,k,(' e Zn mamy c: (,i, d: aj, r: ak ota, y : (!'", ptzy czym stosujemy tu arytmetykę modulo p. Rozwaimy następujące dwie kongruencje: c= d=
A"'p" il"'a"'
(mod p) (mod p).
Ten układ jest równoważny następującemu:
i: j:
!'e1
ł ae2
ket *
(rnod q)
e2 (mod
Z zał'ozenia A#
r"
(mod p)
wynika, że
!.1ak
(mod q).
q).
etc11y sezcrrł-o,11 .60I
.Ltz:
za .gi
:
:
'6tI:
LgVPotuł LtzVs?982
p bqzct1 taf eper.todpo {olog oc eu .969
: )
€zcllqo ę,zc\qo
Ta lc9olre,r.r e.&osol n11Łzcod eu eretq,(n' B|oIIY ez,[tltz91e7
.duzglrleru
.ó!c11y 9euo1ezrd 1sa[ srdpod e7 .dur
: ń uresrdpod euozr1edo łsa! 98z : r csotuopBtlw ez etnqgrd łalog p -g9.rOftt4'6w:izv,toI0T:o'V:'.c'LgV:ddrulrurfdzrd'orupazrdod^4e1' .t8
9'9 pePt^zrd
.erwezcazt't.n. n1o>1o1ord >1a1og
€Iu€ł€Izp
fizl1sod pe1ądzrd qcetN z etupoBz rzper.u.odpo alorrrs efnpnq
Ó[cer1sn1r vz
.ura1oąo1ord
dzc ,aruezprer.nls lfcllv ectfevvlrlzorun ',,rcsoupo8z eruezp.uerds" o1 6 lOry e.tp ttnuteqo 8-q z€Jo 7-I I{oJy
.rfcer1gdrer't n1o>1o1ord r8arqazrd outspnolu
eluozcazl[nl' ł9ło1oJd.8.9 xgNns^ll (d
dp8 .dpe7rł' o{If,ł I
pou) ,,(".-DCI) = v(.,-DP)
dpayrrr' auts^\ozsł€Js 1se| ft
"!D,!r ł o "c r d pour b pou ,_oc
(d poul) rtc11y 4rud,tt e|nzu>1ezld
y(o{log >ludrvr etnzv4aztd. r d poru "ld 4fr (*uV, >
zl ,r!) z{ (rt
ez.af€uzn
>1rud,tn
elnzvleztd r d potu
r.zcqqo e'zcrlqo
ererqd'r
i
ł
I
(o)
łolog (l,)
elclV
(g)
elcltV
z.d,'ft
7aLIł) ć2 (Ta
ererqdlł.
o./|l\osol
(S)
slcltV (t)
b pou ._o2 - p vrcrlqo {alog - ) ęfcllqo e|cltv
ąru,tlrł, elnze1azrd r d poru
=
glclv
.ezp.terds e|cltv (s)
: 0 : C
ory\oso1
(d pour) zaDtar # p .c'ezprterds
rlcqy
p\o{Iog
(*uZ
e|cw
(t) (z)
(r)
.3.9 pu o3 ,turetłrg1spazrd lrfce1gdrarrt n1or1o1ord n1uns,(r .ęl:uezcoztfu' n1o1o1ord op z€Ja} ltulvptazt4 r8erqazrd €ltrp utsu ars Łtepe11g
sN1vzcqzadvzstN Isrdaod'9'9
tzz
))A
6. SCHEMATY PODPISOW
Mamy nierówność I49 + L09, zatem Alicja przechodzi do kroku 5 w protokole
wytzeczenia. Niech teraz losowymi wartościami wybranymi przez Alicję będą liczby /1 : : I25 i fz :9. Alicja oblicza C :270' Bolek odpowiada liczbą D : 68. Alicja
liczy dalej:
2861254s mod 467
:25.
Ponieważ 25 + 68, Alicja przechodzi do kroku g protokołu i wykonuje sprawdzenie zgodności. Sprawdzenie kończy się powodzeniem, gdyż (rO9'4-237)125
: 188
(mod 467)
otaz
(6s. ł_s;łs: 188 (mod 467).
Alicja pozostaje więc w przekonaniu o nieważnościpodpisu. W tym miejscu musimy udowodnić dwie tzeczy: (1) Bolek potrafi. przekonać Alicję, ze niewazny podpis jest fałszerstwem. (2) Prawdopodobieństwo tego, że Bolek przekona Alicję do uwierzenia w faŁ szerstwo w przypadku ważnego podpisu, jest bardzo małe.
TWIERDZENIE 6.2 Jeśli9 t' r" (mod p) oraz Alicja i Bolek czenia, to
(Da-f21"'
(d,a-.,1f, =
DowÓD
(mod p).
Z kongruencji
d,: co-' c=
postępują zgodnie z protokołem wyrze-
(mod p),
A"'B"'
(mod p)
oraz A=
o"
(mod p)
wnioskujemy, że
(da-",)/, =
((y",
g",)o-'o ",)'
(mod p)
(!-e2lt (mod p) : yeta-I 1t oezf t o-ezf t (mOd p) -_ A"r"-'
It
Be2a-r
l
fr
: yera''y, (modp).
I I
I
'nło{ołoJd7-T .{\ołon1 po arudpe[ buza1ez Łrcgopełr 1sa[ d pour v1z2_O 121r?
:
oP
erzp8 ,(d
poru) zsoryop =
q :IJ€}s
-od fauze,touitł'or .lacbfndÓ1eu
rvr
crr,re1spazrd ęuzovl rc9oupo8z uerzp.,rrerd5
.tcsouzcezlds op Łzpe.,vrord t1unre.m' a1 ez .durazo1o4 '(d
pour) ,,Qs-oO) = v(",-Dp) (dpoul) (d
"ga,sfrłCI pour) zaDvr # p (d
:efcuanrBuo1 acttndó1seu bs euoru1eds
pou) ,t: fi
az.ślllzo1v7 o91lĄocl
'bll- l (d
l
l
eurrror 1se[
poul) ,,Qs_Do) ł ,s(""_bP)
ę|uozltspz oł\łsualqopodopłlerdo1
'(d poru)
"SD,gr
#O zęJo
(d
pou)
f
z,D,,rr
p
IT9af .€Iu
.ezcezlf'n' ura1oąo1ord z elupoBz etndópod ts|cIIV r (d poru) ,n : fr' az ,[lnzo1v7 €.9 gINszolIgI^ĄJ
oSauestdo n1o4o1ord 6 I 8
.'
,ł\o{or{ z I{unJ€1Ą tferu1eds algp1
'g'9 n>1unsf"r eu I p lc9ołJts^\
.o
.19>1o1ord
oz .o>11d1 druepeł{tsz nluozpJerrrr1 tududó1seu .t.r o3e1e1q €zcJ€lsop {elog .o \ p q,c\I9enoreue3d.u olu azolu >1a1og .cŁr.u,our lezceu1 o3a1 e8eur,.t,rr {ts! ł€ł
.ure1o4o1ord z a]upoaz atnda1sod {alog az LaIuov:ołrez durecnzrpo rlcen1ds [eu1 .nsrdpod o8auzerlł en1ogzezld órs ercręd.{rlr. cso/r\ITzolu zete1 lfiJJ.zenzog -e1
,q
.,{u.ttd1fzod >1rud.tr el'tsp nłoDI .u rcsoupo8z aruazprrlerds catrt ę 6
l
'(d
=c
,(d
pour)
,S
_orrfr
,
= ."(q -DCI)
ez'ctzptatrrls bfelerrrzod '(d pour) ,D = d zerc (d povt) "Si rSfi: .eruezcr1qo auqopod Pou) ._oc : o nutslcuenr8uo1 z nluezcb1od 'tł.
gN1vzcszadvzsrN Isrdqod'9'9
9ZZ
6. SCHEMATY PODPISOW
226
Na mocy twierdzenia 6.1 wnosimy' że z prawdopodobieństweml-Ilqliczbay
jest ważnym podpisem dla dg. Zakł'adamy jednak, ze y jest ważnym podpisem dla u, zatem z duzyrn prawdopodobieństwem mamy
ro
: doo
(mod p),
coimplikuje r:d,o. Jednakże z zał'ożenia d
f r" 6r"
(mod p)
wynika, że n
f 67/et.-ez/et
(mod p),
co w połączeniu z f,,o
:
4r/et
o-e21e, (mod p)
prowadzi do wniosku, że r l d6. Mamy więc sprzeczność. Bolek może więc w ten sposób oszukać Alicję z prawdopodobieństwem 1/q.
l
6.6. Podpisy niepodrabialne Schemat niepodrabialnego podpisu zapewnia wzmocnione bezpieczeństwo
w przypadku zaistnienia możIiwości sfałszowania podpisu przez bardzo potężnego przeciwnika. W przypadku gdyby oskar potrafił podrobić podpis Bolka, ten
(z bardzo dużym prawdopodobieństwem) umiałby udowodnić fałszywośćpod-
plsu.
Opiszemy tu schemat niepodrabialnego podpisu (ang. fail-stop signature) zaprojektowany przez van Heysta i Pedersena w 1992 roku. Jest to schemat jednorazowy (danym kluczem rnożna podpisać tylko jedną wiadomość). Składa się z algorytmów podpisu i weryfikacji, a takze z algorytmu ,,dowodu fałszerstwa''. Na rysunku 6.9 przedstawiamy opis algorytmów podpisu i weryfikacji w sche-
macie podpisu niepodrabialnego van lleysta-Pedersena . Widać od razu, że stworzony ptzez Bolka podpis spełni warunek weryfika-
cji. Przejdźmy zatem bezpośrednio do kwestii bezpieczeństwa schematu otaz do wyjaśnienia istoty niepodrabialności podpisu. odnotujmy najpierw pewne istotne fakty dotyczące klucza schematu. Zaczn1jmy od definicji. Mówimy, że dwa klucze (1,,.Y,,aylazlh,bz) i (l,,,.yL,a|,aL,b,,,bl,) są równoważne, gdy T : 1,t otaz 12 : 1|,. Łatwo obliczyć, że w jednej klasie równoważnościjest dokładnie q2 róznychkluczy.
Wykażemy na początek kilka ]ematów.
etzp? .(jq,\q,",,.,,,.zL,tL)
: tX
d pour pd
r,,D:
I (óq(tq(zo,ID,ZL,rL)
d pour
:
2.
"ri
r,n
qcalN
:
tL
6197tĄo6l
.łts} : (fi,x),Xpr1 l(pet^Ą '{€ł : (fi',r)x6ą eq ,.tulzo1vz I IIII€zcnlł rruduzg.trtou,tr9; Łpóq l )1 lcalN l)'. 7.9 ,IVIĄIEI
-e1sfe11 u€^
l
ns1dpod o'au1erqerpodaru łeIIIoqcS ...' "l1"i1"""f; .(d
poru)
"nd,nD
: ZLIL <+ {€} : (fr,.r)xna ,Z, ,Z ) (Zn(ń): tx e1q
,(uręrrr
.Ó
:
poru rqr + rD
:
poru zqr + zD
7n
ZBJO D
rfr,
etzp8
'(zfr"rn) dtuelnrugep uZ
),
:
(r)x6ts
| I (Zq, Iq óD, ID, zL, IL)
: X
'd potu zqd tqo
:
ę|C]
zL
zeto d pour zod wD
'uZ '
)
: rL
"q(rq(zDtr71
s17Pf
(Zq'rq'ZD'ID'ZL'tL) : X
.uZ, uZ: Y I bZ: 4 Ń:o.ftul[{zt6. 9e1sod ętu zcnlx ' (urer11og z eruzcb1) qcr41sdzsa,l e1p eu[e1 ele1sozod 0?' cso}ItsM .ouuelulzolu ęz o| I.ltsnteuzn I ouzcllq -nd Łs d I o ,b .d tcso1.re11 .ęzpeI(y\ (eue;nez) €ul€Jłuac eratqd'u, 0o zerc j ,D,b,d Ic9o}J€M .dpour ono :5/ dul19er46 .1 _ Ó y oo } I
iu1ezbvttzoł zęlo b npózr ure1ueue1e erzpÓj' *dZ ) łl qcatN .oZ ^ -alu o.Ą\oluazcqqo 1se[ o8eu1e.r1sdp nur1dre8o1 rue1qord r Łzslrretd Oq -zcII azĄr.1. 1se| b az Ęe1 .Łzs,u"rerd tqzcq arzp3q I + bZ : d qcet5
gN'MgVEOOdgrN ISIdqOd'9'9
LZZ
228
6. SCHEMATY PODPISOW
otaz
:
12
ęybl
Bbz mod p
:
Zał'ózmy, że do podpisu
: a2 :
a7
Ar
a2
6,b\
x llzyto klucza K, ottzymljąc podpis a: (at,y2), gdzie
* rb1 mod
q,
mod
q.
ł rb2
paL mod p.
Przypuśćmy, ze do sprawdzenia podpisu g stosujemy klucz K|:
Ba2
agr
: :
oa't+"u1
BaL+ru', (mod p)
o"i B"L (abi
= 7t12ft
Tak więc uzycie klucza
LEMAT
BbLy
(mod p)
(mod p).
K,
równiez prowadzi do weryfikacji podpisu
g.
l
6.5
Niech 1( będzie kluczem iE: si'gx(r). Wówczas istnieje dokładnie qkhczy równoważnych kluczowi 1{, takich że g : sig6,@).
KI
DowÓD Niech 71 i 12 będą publicznymi składnikami k]ucza 1{. Chcemy ustalić |iczbę czwórek (o1' a2, b 1, b2) spełniających następuj ące kongruencje: 7t = 12 =
a"'0"'
(mod p)
ab'Bb,
(mod p)
ł rbt az = az ł rbz at = at
(mod p) (mod p).
Element o jest generatorem G, zatern istnieją jednoznacznie wyzllłl.czone wykładniki cI, c2) ao e Zo, takie ze .fr .y2
= otcl (mod p) =
ac2
(mod p)
oraz
0=
a"'
(mod p).
Tak więc warunkiem koniecznym i dostatecznym jest spełnienie poniższego układu kongruencji:
ł aga2 (mod q) cz: bt ł agb2 (mod q) at = at ł rbt (mod q) cL:
aI
az = az *
ró2
(mod q).
.Aztalceul
[e1 l{zsrar,.u.
ycdwza1ezall
o.,rłoIuIT bqzc11
tu1eruds1eur 3rs e*t/.rzl-lo Azlelcęt:u uL,ap)zg
,
|cl.z olulsdtuod drop1 .(,r)x6zs f ,,fi, sldpod t.nf,zs1e1 c1tzcllqo dq1enun lvĄso oz -€Jqoflvl ozĄezsw olqos €uzo6 ./r blc9oluop€I,ł\ Łuul pod €{og zazld o?evozołz .r ŁrcsotuopBl1v\ pod ń uasrdpod ctlnuod ,ń nsrdpod c1tzJllqo g€J}od alu J'€llso -sdp ez .pŁ1op ..(tusr1rzp.retrvrts .Ic9oultsTq€Jpodolu Łrparuq zęra+ 6E 'tulttultu7 .drwo4unle.tzacł Jołł€Jtsqc BIu o.Ą1sua zca|dzaq
córrvr
1ea
.{alog
1fzn ltzcrqn b z o?olg1;Ą,crzprerłt1s olutsls
.Ą\
łsol olu Jo1so az
'r€)lso olnuod 'oaa1 z o1rud,ta. e,trlsyezcardzoq vrorzod nruazpJal-&T ,ta. duo1sao16 .frvlzenrne7 Ęet .larrrotuazct1qo dcotu po fi?alęz olu €IuoZpJaIN\+ ęzaI az
-sdp
-opodop.ttsJd' z (,r)x6t,g cfrzu1qo ozolu Jg{so
oI,r ł p
.b/1 uełr1syetq
zęJo
2.9
fi,
:
(r)x6zs
t19g1
oINgzotIfiI1ńI
.oluezpJol.&} oct lndetseu pŁ1s e4tu,{16
(r
./r lcgoluop€l1Y\ tsIp rrrgsrdpod tlcfruzgt b lklrcu''Ązł1o dzcnpl r qcd1 z o1 + ;I 'ź nsrdpod tr lc9oluoptsIrw eruesrddzrd Łlnpo.trods zolu1]&oJ aJ9P1 (dzcnl{ II9o| aIY .ntetu qcdrvrqzoru l elaru1sr ol il' Icsouloperł, uresrdpod ru,{uzę.u' 1set ó 19et ?9}o -aqcs ts1(}sgozceldzeqEp,Ą&gł€ulol qcg^\p tłcluł€lso oIuoz)tsuz durln1erdre1ur2
'(,r),x6?s: a?
r,u'ozcn11 ,{uzełtou.tto.r
IĄe+.;4. .r ł ,r erzp8
.4e1
:
lX
,fi,t
(r),x6?s:
1
fi.
zcn|Ą uepel lezd,ttleu oc aletu1sr s€zc1]i\o^\ fi,,tllozcttp1 etzpóq }/ qcalN
(,fi',,r)Xl"ea za;Lo
(,),0,' :
9.9 IvIĄtrEl
.druęlrruod p911\oo .n1rud.łt o8eudó1seu npo.ĄĄ.op op c.'(zn1sod ozoTu alu€.Ą\oulnuoJ
auqopod .n}€Iual
t
.T : ur1rud,u pŁ15 .gezŁrłrzor Ó erupe11op córl.r eleru1st t - 7 rsoud.t uęzhttt -zoJ luozJlsazrd rerurdrvr ufo+Ez .g du,tror 1se[ dzretceur pbfr zP.1tiol]uod X €zcnPl z ecbtvł1tu[nt eIuęzbt,ytzol oupal leturulęu oc BIu ll€uj1ĄoJ p€łłI]
.eze1
.
tsIu€.Ąlosołs,ez
i;ffi;'::,:'-":::,'::" ?tpB,t, po dzsąór'u eru ,g
1se[
po dzslarutu etu9ezcoupel ę Lguz'.e1ezolu o1Y\oIuII hs t I z.1 ozs.retłt zg,u'eruod .ceptłr >1e1 eru 1se[ ptzr .etu1o1s1 .g .pŁz.r BIu nptsł{n .ttg1ruudzc1ods,u zrercęur
B
(łl)(t;i ł)
:bv peu fe.tł'ozrercpur rce1sod .& cl,Ą\tsłspez.rd
re1o>1
z t|ule1ot:u peł{n ua;
SNMAVAAOdSTN ISHAO4'9'9
6ZZ
6. SCHEMATY PODPISOW
230
przeszedłby weryfikację. Jednakże, jeśliBolkowi zostanie przedłożony wazny, a|e sfałszowany podpis, może on (z prawdopodobieństwem 1/q) wygenerować ,,dowód fałszerstwa''. Dowodem fałszerstwa jest wartośćag : Iog. B znana Ły|ko centralnej wł'adzy. Zakł'adarny więc, że Bolek dysponuje parą (,, , a,,), taĄ że uer y (rl , U,,) : tak oraz y" I sigy(r'), czyli .yl.yz,,
:
ou,ł
Buł (mod
p),
gdzie y,l : (a,ł,yi). BoIek może ob|iczyć własny podpis pod wiadomością:t,, a mianowicie A' : (a'r,y).Wtedy
.ytfz",
:
ou,,BuL (mod p).
Stąd oa,ł Buł
Pisząc 0
:
: o,,'BaL
(mod p).
a"o mod p, mamy
ou,ł+",uł : ou,,+"ouL (mod p),
lub
: a,ł + aoa,ł a\ +
aoaL (mod
q).
Po uproszczeniu dochodzimy do warunku
ał - yt = ao(yL Wiemy, ," aL istnieje oraz as
:
ł yi
log. g
yi)
(mod q).
(mod s), gdyz g/ jest fałszerstwem. stąd
: @i - a\az -
aU)-' mod
(y,2
- yu)_'
mod
q
q.
oczywiście, dopuszczając taki dowód fałszerstwa, zakł'adamy, że Bolek sam nie potrafi obliczyć logarytmu dyskretnego IoE.0.Jest to zał'ozenie o charakterze obliczeniowym. Zallważmy na koniec, ze w przypadku gdy dwie wiadomości zostaną podpisane z użyciem tego samego klucza K, ten klucz będzie rnozna łatwo obliczyć' To powoduje, ze rnarny do czynienia ze schematem jednorazowym. Zamykarny rozdział' przykładem ilustrującym sposób dowodzenia fałszerstwa.
Przykład 6.7
: 3467 : 2. 1733* 1. E]ement Zał'ózmy, ze ag :1567; wtedy
Niech p B
:
4t56r mod 3467
:5I4.
a : 4 ma w grupie
Z3ąaz* rząd 1733.
,|całd z rzpoqcod o8eultsIqtsJpoderu nsrdpod 1eureqcs g.g olęvpzo;pod .u dues -Ido .[e6cg) n ce1,|zcaz.rd eu7oru tsulneqc I €sog rtce1gdpour o :[92gq] n>1o"r gL6I z tsutsuIIoH r o8egrq ,tcęrd 'rt órs alnpfeuz epodure1 n1eureqcs std6 .leoas] .ł\ ouozczsallu€z ol}sol.l{ Iuts} ouolsalupod arg1ąaru €u J5IN rzper.uod -pg .r[sra.tro"r1uo1 o3 qcfcbtvzce1o I sso oluol1ńoluo aulazsqo Órs efnpleuz n1or .|76SaN]
qor 7661 Z66I z WcV aq? {o suol1oczunu),liloc azJaIunu urdrrr'ocdr1 ,ĄĄ npJtspuels sn}tsłs du1etcgo 1u>1s,tz łstsIluo1€u .nąor 1661 nrudrars r* oSelrn.or;dc nsrdpod prep
nrupnr8
^l ;515 zezrd
,{uerr,r.o1r1qndo dzsrrrretd
zęl od 1e1soz (g5q)
-ue15 .[93rg] e1euleg1g dce.rd,trr. duesrdo ł€}soz €1ellltsg1g nstdpod }ęulaqcs .z.g a|Elzpzo.rpod rr.r dtusrlrrl.rouro e.r91>1 .e1eureclg olc€uraqcs .u nstdpod
.nsrdpod ęIu€1t\ozsłtsJ po}aul qc.o/1\p srdo zarurv'gr tsJoI..1\Pz ecerd ^łrg}tsuloqcs pŁ13 .aztd inoBzelqoJp o{ts| [z6^Ądlt] gptl,,tl. r eredr4 .e1eqc1r141 ócerd dueca1o4
BUPJBoIIqIq
€^Ą}sJazsł€J
[ .f99I
: ttfT
poru ,_(qS
-
1
tSelł.n .2.9
p911'op l.ĄĄoutsls
i6ZT)(foSI
-
ZZ8)
:
oJ
oo
:o8aular4sdp nurldre8ol o8au[e1 tsIuazcrlqo op etnd3lsdzrd zere;
'(rozr'rosr) : (eeł pour 6oG'ggtt uo azotrĄ .{alog
+
vzor'ttLr
cpr*roreue3d,t.t' ,.tq139ru dro1>1
.srdpod .
\LgvE,
pour
982'88tt +
888)
:srdpod duseln clzcqqo 1se[ eru o1 duor1s ler8nrp 2
poul)
Z87'Z
=
ggvlgzó8v I
:r[cv1gd"ra,u {ounJts^\
ruesrdpod tuduervrozs1e;s
(ZgtS po*) ZSZZ = E8'.lr822.g}Vt .(ss,zzs)
pef fuoru1ads zdp8
,,|uzęnl'
1sa[ stdpo4 .te1ep
,,turg9nd'fzt4 oz 88tt ?goluoptsI^\ ele1sop łolog az .I8ZZ: f97t potu : óL 666ŁI9gg2i
zeJo
907t: f97t Poru eTsytlgssst: rL zv,rc g8L
: rq'VZOI:
z?2 '888
ez '.ttttllntfrzrd '(oo tsuz
:
aTu olts
,d
elep oc '666:7q rD qzcll eivt.tzn {olog tszcnp1 r[c1nr1suo1 op Icso}J€.lY\ €uz {alog ez .drrrfrurrrod,tzt4) I
o
VMVACOIIAII
IEZ
I
IDVIWI 'f'9
6. SCHEMA'IY PODPISOW
232
Chauma i van Antwerpena [CvA90]. Schemat podpisu niepodrabialnego z podrozdziału 6.6 został zaczetpnięty z ptacy van Heysta i Pedersena [vHP93]. Wśród przykładów dobrze znanych ,,zł.amanych,' schematów podpisu nalezy wymienić schemat ong-Schnorra-Shamira [oSS85] (złamany przez Estesa i innych [EAKMM86]) oraz dwuwymierny schemat permutacyjny Shamira [SHS4] (złamany przez Coppersmitha, Sterna i Vaudenaya [CSV94]). Wreszcie, ESIGN jest schematem podpisu, którego autorami są Fujioka, okamoto i Miyaguchi [FoMg1]. Niektóre wersje tego schematu złamano' ale jak dotąd wariant opublikowany w [FoM91] oparł się atakom.
Cwiczenia 6.1. Przyjmijmy, że Bolek, lżywając schematu ElGamala, podpisuje dwie wiadomości tt i tz podpisami (r' ó' ) i (1, 6,), odpowiednio' (W obu podpisach powtarza się wartość 1). Załóitmy takze, ze NWD(ór - 6z,P _ 1) : 1.
(a) opisz, jak można efektywnie obliczyć k na podstawie przedstawionej wyżej informacji.
(b) opisz, jak można w tej sytuacji złamać schemat podpisu. (c) Niech p:31847, a: 5 i 9 :25703. oblicz k i a, wiedząc, że podpis (23972,31'396) złożono pod wiadomościąr _ pod wiadomościąz: 31415.
:
8990, a podpis (23972,20481)
6.2. Przyjrnijmy, że implementujemy schemat podpisu ElGamala z wartościami p : :31847, a:5 otaz 0 :26379. Napisz program komputerowy, który realizowałby następujące zadania:
(a) Weryfikacja podpisu (20679,11082) pod wiadomościąr :20543. (b) Ustalenie tajnego wykładnika a za pomocą metody Shanksa uzyskiwania
kompromisu między czasem i pamięcią, a następnie wyznaczenie losowej war. tości/c llzytej przy podpisywaniu wiadomości z.
6,3, Załózmy, że Bolek stosuje schemat podpisu ElGamala tak jak w przykładzie 6.I:
467, a:2 oraz 0 : I32. Przypuśćmy, że do wiadomości r :100 dołączył podpis (29'51). oblicz fałszywy podpis, który może wygenerować oskar, przyjmując łr, : Io2, i : 45 oraz j :293. Sprawdź, ze tak otrzymany podpis spełnia warunek weryfikacji.
p:
6.4. Wykaz że druga metoda fałszowania podpisu, przedstawiona w podrozdziale 6.2, ' również daje w wyniku podpis spełniający warunek weryfikacji. 6.5. Rozważmy pewien wariant schematu podpisu ElGamala. Kllcz tworzymy podobnie jak poprzednio: Bolek wybiera a € Z,* jako element pierwotny, a jest tajnym wykładnikiem (0 ś śp_2), takim że NWD(o,p- 1) : I,otaz 0: a" modp. Kluczem jest 1( : "(a,a,B), gdzie a i B są publiczne, natomiast a jest tajne. Niech c € Z, będzie wiadomością wymagającą podpisu. Bolek oblicza podpis
sisy(t:):
('y,
''l: ak
d), gdzie
rrrodP
l
'(d,ro.ozeroupa[ 1seI
.afnzełod o1) y ł€ulaqcs ez 99o1ren zcewz,|t't.LggI :0rr lc9ołrerrt cb[e,lł,{zn oIN .(T/7.668) : (696)xó?s zerc (6yp1.8TIT) : (zv),1p" ez,fiul99nd',|zJd (q) .(OWf ,gf
ff ,
{alog
or? rcgopel.r,)
)
:
(ZV)
>r
6xs qcfr911 e1p
( ("q' rq ( zD I ID zL' tL)
: X
'(euz eru ercsr.,n,{zco d rurerc9o1xei\Ą z €ls
_ oo.t: O,Lgvt -
LggT
oo ez .cŁzpal,u (ę)
LggI:
ezcn1ą err11sf
vlg: d
ze]o
zst,ty
złeuzf.t,ty
,
.,|usz91e7 .71.g
-,{a11 ue.ł euasJapod o8au1erqe.rpoderu nsrdpod l€ruaqJs alnso1s {alog az 'dzcn1{ o8eu €Jol,l\^ez e1sda11 u€A_€uosJapa4 .Ó erupe14op .II.9 1etqerpodaru nsrdpod alc€tuoqcs ,rt dzcn14 tcsouz3^trou,|/\9J tss€PI ep?eĄoz.*{dM
-od Órs f,zctqo>1ezófcqy zazrd .{uozpe,tł'ordazrd rcgoupoBz
,O
.p l c.eą1og rzpaurlodpo zero I a
,gzT
:
za ,gv
:
.,'."p^.,d. J"Ł11"l:i : z! I86I: I{
.!|cTIY etue1fd zc1qo .II
,a:fupÓq eruazcezrd.til n1oąo1ord op ru{rrtosol IW€qzcII
l
btcl1y zezld
rurfuerqflrl qcarp ',(ueł,ozs1e;s 1se[ srdpod ez ,cęzpĄ,ł'nt uo acI{D | 9Z : ń tuastd op eJeIDop az,,ilłlz91e7.6w: d fero IoI _ D -pod z :,o
,v
2g1
: r
,Lgv
:
ueł_€Iun€qc
csotuoptsr.,vr o8aru
d puetcsope,u. z c6lnte .g.g etzpe1n,łzrd rt
oBeu1ezcazldezetu
r1e[ 11e1
.euedraal1uy
afnso1s {alog az ..(rug9ndfzr6 .61.9
nstdpod l€ruaqcs
'IJsoluop€T/ń
qc.,(rrrou
.€ulntsqc_ z- (;) 9esrdpod zelal ozoI;a J6Iso az .?e{frlĄ .|(,")Qn(")Q| : / IIcaIN ,llnz91e7 .6.9 -€sog olc€ulaqcs ,tr /' r z arrrozerfirt-ry r8Łrc er'łp elnsrdpod 1a1og az pod dsrdpod cb|euz .ro1s9 9estdpod ezour aJ9}{ .Ic9ouloP€T1t! .
,x t
t
.I .I.0.T.T) zceuz(71y.v:u19-łlcsolJ€.|r\cfuferrr.{zn.(I -,x\(I.T.0.0.T.o) : olc€Iualłcs n ez .lulz91ez al/lĄp ouesrdpod €un€qc_€sog ID9oIuoP€I.ĄA
_ r
.8.9
,?P-Ą]{M.bltlzgt .I)9oIuoPeI.łt qcd'ra.ou _ z vZ ?es dPod zere1 azolu Je)lso a4 óts ,r t :t l?blc eqo qcdrg}r1 eu .qc..{upózr19ds.u 6qzc11 ęz)v-luzo (,r,r)P: / qJaIN 'e1rodure1 olc€ruatłJs M lt I t atozel(,u'-q rBŁrc e.ta.p elnsrdpod {alog oz ,knz91e7 .2.9 'nsrdpod o8aueurfzrlo efce4gdre,t eBatqazrd ,7'g : :t Łrcgoruopeuł' pod eą1og r1e| 7e1od \ .6v : ł lc9olJ€.til fa:rrloso1 ctfendzn srdpod zceuzf,'14y.g.9 etzpep1fzrd łr 1e[ >Ie-1 ,L99v : d zęlo 9L: D.oLI: D .fur99nd,{zr4 .9.9 .6L8L : d ,IoI : D 1uerc9opelrl' z sso t€ruaqcs alnso1s łalog az ./\Ąol€uat{cs
nqo o1ń}suazcardzeq oą19r4 teum9ro4 (c)
.urfu1eur8d:o peu o3euer'ło>1g.,{potuz n}€uaqcs
Łrr.roruezct1qo ó8ę'ra.ezrd
,\Ągtuo (q)
.ailog tszcnlł o8auzcqqnd cb"en1rzn.r brcgouroperrrr pod (9.L) srdpod 7elrloąg.{re,r.lz tsuzolu 1ef .zstdg (e) :nl€ul
.9 €IuazcIT -eqcs o8euernor1gdporuz acbzclt1op erue1,{d acŁfndó1seu eu zpar,todpg o3au1eurB.,{ro op n{unsols nt bcluzot Łudpa1'
-qo qgsods 1sa[ e1erueg1g nl€uaqcs
.ft _
Ą
poul ,-o(Lą
- t) :9 zęIo
etuazct.Ł\c
8,8,2
6. SCHEMATY PODPISOW
234
6'L3. Załóżmy, że Bolek stosuje schemat podpisu niepodrabialnego Pedersena_van Heysta z wartościami p : 5087, o :25 oraz 0 : 1866. Niech kluczem będzie
K:
(5065, 5076, I44, 874, 1873, 2345).
Przypuśćmy,źe Bolek stwierdził fałszywośćpodpisu (2219,458) pod wia,domością 4785.
(a) Udowodnij,
źe sfałszowany podpis spełnia warunek weryfikacji, jest więc waż-
nym podpisem.
(b) opisz' w jaki sposób na podstawie tego podpisu Bolek obliczy dowód fałszerstwa ao.
'(.un11 .d,tzrd) zrufi'cbCoibzcg qn1l'rufrcbtnzsoq rrue[c4un; au€..ńz azł€1 auo Łg1
'sso Ep
q nlgDls
.sldpod órs ezcŁ1op IlcłunJ alcdzn oluzcd}€uaqcs drutsI.Ą\€}spaz:.d IL n{unsdJ €N n1olłs o3o} op oJaldoo .(sso ól. en'.tzn dp8 .l.ro1rq 691) 1c9o11er.tr [euo19er1o (7sa6lP a6Dssau' .Bue) t,c9oul,opD?,n ]9J5ls b,zrcn1rc9oBn1p feu1o.tlop nł$Iat z arg].Ą '(uorTcun{ tlsoq culdo-t6o1dfi,.tc 'Bue) {-L?grs!s 1,[cqun[ qcfi,uzc{o-t6o7dfl-ts1 t7cfuzclqnd qcr4qdzs ozpJ€q Óts
oluts1!&osols€z 1sa[.ttoure1qold qcd1 qcq1sdzsłt' ureruezŁr't.t.zog .d1ueru8vr; cŁtnsrdpod .cŁu8Łrso e1eur fel aluza11r.zarJ cIuoJI{c uIo1.ęz durtsntr41 .I|certg
ep aru o8azc.rcsoruoperrw [e1ec csoultszsnr€uolu
.e1órunsn euut .ouor.tte1s -drelrr Órnpecord eru19dtuod erzplez"rd srdpod 01 oIuIIu e -ezrd tue1soz Ic9otuop€I.Ą{ leuesrdpod d1ueur8e4 or91{oru az ,9,|zcl14['.ł\ €uzolu atu :etcsfepod o3e1 z dctler1rudru' ua1qord .{zsferuzerrrod ezczsat 1eupa| łsor .aru -e,rn,o8ó1od
auJtsInpoul 1et er1e1 .euzcd1eru1drp elceredo euełlo>1qdruo4s qcru łr órs
elnso1s |ęzc[tytzęz zdp8 .eu1o.t.rod 193o eu Łs nsrdpod d1eueqcs ,,auzcetdzoq,, tąlzp -reqfeu 'ia1eq '(np>1e1 oBauerr,rdsrdpod po f,zsVrrlp dzer e.up ggq nlpeddzrd 'n) srdpod duruorBo dur9dqrrcudzJTo lcsouloperrrr [er3n1p nąpedfzrd .łrt rur>11sdzs,t.t.
apozJd .łtoua1qord qc,(.trou
aIoI1( {tsupa| Órs erue1drt nrc9fapod urrąe1
dzr6
.(sso arue1sds gcg qf"r1 .du) €zcnlą o8aues oBa1 ^Ą bcotuod €z ntaqeJlts n{€uz o8apzo1 eruerrtor;dzs alJzolęzelu zezld oBeutytęt n1sąe1 oBer8n1p erue.uor;.{zs o1 dqo1euruodf,zl1.qcd1e1sozod po oTuzol€zaru qcru z o3 -op?vĄ nruesrdpod r d1uau8er; a.ł\otlq-ggl €u n}e>llunruo1 o3at3n1p nlclqzoJ €u
,óts dqo1e.t,repdru' g{o geSe1od ezoru nualcłord aruezŁr.ttzol oz 1nzJ dzs.trrard
e5
..{\9}!€^ q
-e8au e1et,u' euo Łlnurlez o1sÓz3 .qcdu.uerd l$'głuaunłop n>1peddzrd .t >1et r1e1 .nsrdpod nudcŁfe8eud,ra' rrue1s1e1 wtzszn1p a|uzcvuz oz ętualufzc op >1uupet ..(tueu 193o ep ./Ą9+Iq 969 etnurtez udrrro1rq-ggl ua}Bllunulo4 pod stdpod 55q pofzn n1peddzrd rrt .pe11dzrd €N ..Ą\9}g{Iunruoą ..qcd1etu.. op oą1d1 auerl.roso1s bs nsrdpod d1erueqcs g alęI.zpzor .tr euesrdo ez ,1[zentnez eunadęz ryu1e1dz3
nłgDls afc4ung t l(stdpo4
n+gr>[s
.1.2
alc4ung
7. FUNKCJESKROTU
236
ł
wiadomość
z
skrót wiadomości podpis
a
:
:
dowolna długość
J
h(n)
J
sźgx(z)
160 bitów
320 bitów
RYsuNpx 7.1' Podpis pod skrótern wiadorności Gdy Bolek chce podpisać wiadomość r, buduje najpierw skrót wiadomości podpis a : sźgK(z). Do kanału komunikacyjnego przesyła patę nporządkowaną (z, g). Weryfikacja (którą może już wykonać każdy) zaczyna się od rekonstrukcji skrótu wiadomości z : h(r) za pomocą publicznej funkcji skrótu, po której następuje sprawdzenie, czy UerK(z,9) : tak.
z : h(r), po czym oblicza
7.2. Bezkonfliktowe funkcje skrótu Stosując funkcję skrótu należy się upewnić, ze nie osłabi ona bezpieczeństwa Schematu podpisu. Podpisujemy przeciez nie wiadomość, a jedynie jej skrót. Tlzeba więc narzució funkcji h własności,które zapobiegłyby rlznego rodzaju
fałszerstwom.
Stosując najbardziej oczywisty sposób ataku, przeciwnik, czyli oskar, zaczyna z ważną podpisaną wiadomością(r,y), gdzie y : sig7ę(h(r)) (parą @,y) może być dowolna wiadomość uprzednio podpisana ptzez Bolrka). Dalej oskar oblicza z : h(r) i próbuje zna|eźć d ł r, takie że h(xl) : h(r). Jeśliby mu się to udało, to para (t, ,g) byłaby waznąpodpisaną wiadomością,a więc fałszerstwem. Aby powstrzymać tego typu ataki, żądamy, aby funkcja hbyła bezkonfliktowa (ang.
co
łlisi o n - free)
DEFINICJA
.
7.1
Niech e będzie dowolną wiadomością. Mówimy, że funkcja skrótu h jest słabo bezkonfl'iktowa d|a r, gdy zna|ezienie wiadomości r/, takiej że r, f r i h(x'|) : : h(r), jest obliczeniowo niewykonalne.
Musimy być przygotowani na jeszcze jeden rodzaj ataku. Najpierw oskar znajduje dwie wiadomości nl f r, takie irc h(r) : h(",).Następnie przekazuje wiadomośó e Bolkowi i przekonuje go, by podpisał skrót wiadomości h(z). W ten sposób uzyskuje y. Pata (rI ,y) będzie, jak poprzednio, waznym fałszerstwem. Jest to powodem określenia kolejnej własnościbezkonfliktowości.
DEFINICJA
7.2
F\rnkcja skrótu h jest silnie bezkonfi'iktowo, jeślizna|ezienie wiadomości r takich że r l i oraz h(r) : h(r,), jest obliczeniowo niewykonalne.
i il
,
€ olod olutsp€z au.Ą\oł8 azs€N 'Izpol.t\odpo zoq olutsłtsIzp frzcuo4 € ceu,rr 8 nluolsoJ{o u oqlts zdp8 .se8en s€T nddł luduzcd}slTlq€qoJd luotu1dro81e ru1droB1e .f,urzerr.rzog CIg1\Ąo(I oqlts i}{Ęuo{ ofnpl€uz
}sa|
.7.2 n1uns.{r €u .{u?sldo g f[ alcsl^\dzco
oc ula.trłsuerqopodop,rnerd z 14tguo1 7 l 1 |eytnt.eu efnpleuz 17 1!cąun; ep dr9q .se8en se1 nd.{1 .{uzcdpqrqeqord ru1d"ro81e e|aru1sr .|Z|7' jq < |x| t Ó|cąuq urdcŁfęcer.tpo ureur1dro81e 1set y az,tulzo1tsZ etzp? .n1oo1s Ł!cąun; etzp3q Z <- X : q qcalN T.2 sINszctugI.AĄI .
'''"^o16 rurduozc1roąs IuItsJoIqz bs
7
y
t.
.z
.aluazplol,ł\} ecŁfndÓpeu dunupo,topn a? lĄr-+,X ) ę)Y 1ueura1e elnp
: ((z)y)q
.y ur1dr -|ęuz l z lc9ouloptsI.łI nłoJłs tce1sod rvr an'otcgfa.nn euep elnuldzrd drp}{ ,tł ez ',fri'J.vpe14e7 .{ureur ur1dro81e dcofecerlv\po afcr1unl -o31e duretu tlttzc .(euzsn1s zolu.ó^'oJ dpa1u
I
I
(7
<_ y :q az oluozołęz.|z|z < |;g| r rurduozcyo{s IIutsJoIqz bs Z I y elzp8 ,o|złl r;tl 1rlulfzo1ez q n}gDls 1[cąun; o .nłgDls 1!cąun; Ic9o}Jts1( nJolqz 1 du1zp -alzp qc€Jlluzor qc,,(up313z!y\ o ęIuozołtz oq€łs c9op oBe1 op bs euqazr1o4 .,{p{lB
-uo1 o8acŁtnpfeud.łt se8en se1 ndd1 o8euzc -['n'ęz cdzn1sod ozou n}oDls Ó|c>1uq dcŁfecp r1fzc .laurlł'e1s,trtcezrd 1|ceąqdul1 €Ip pg^\op .zera1 durtupo,ł\opn ea1e1 pet o1 ,errł'o1>1rguo{zaq aIuIIs pet e[c1un; II9a| o?
orrrorzalquz
z
-nd uazcn1ą
-gp{alu
,tl'
.euleuorldrrrr.eru olhoruozcrlqo lset '(*)rł : z az letTe1 'z rcgouroper,trt n19r{s oBeuep tsIp IIga! 'rtmoqun"nuloupa[ pat q nloDls efc>1ung
z
8'f vfcrNl.{so
lpl|uzcget8o1dfo1
'upodtuel nsrdpod nltstuaqcs ttzv[o tzld
.t,r'9rua1sds €Iu€I.|(lęIuo
r u,{uzctlq dtu911pn'9u
.n{tsłts .7.9 e1erzpzorpod .u drust1eruurodsrvr łu€IJts1r\ IcazJ} o}o V ąep .'' tsIp ę^Ąoł{Iuuo{zoq
oqe1s 1sef o\I 1-l oz !a11e1 .r lcsoIuop€I.Ą\ o|uoIzalęuz 1se[ au1euo1,trrl'aru o.tloru ,'/illl,zell'ne7 -ozcllqo fp8 .dpe1rvr ołIdt I dpayrrr €1rrio1{Iguołzaq oIuIIs 1set q ez
NTOEXS STCXNNT SIAOTXI'I4NOXZqq'
LTZ
Z'
/
238
7. FUNKCJESKROTU
(1) (2) (3) (4)
wybierz losowo
obliczz:h(r)
r
e
X
: A(z) x1f r then
oblicz rL
if
else
h powoduje konflikt rL z tr (sukces)
QUIT
(porażka)
RysuNox 7.2. Użycie odwracającego algorytrnu konfliktów dla funkcji skrótu h
do znajdowania
prawdopodobieństwa sukcesu. Dla dowolnego r € X niech a e xll gdy h(r) : h(u').Łatwo zan.wazyć,2ę - jest relacją równoważności.określmy
:
|r]:{ąe X: r-r.}. Każda klasa równoważności [r] składa się z elementów przeciwobrazu elementu zbioru Z, zatem liczba takich klas nie przekracza |Z|. Niech C oznaczazbiór k]as
równoważności.
e elementrl r istnieje |[z]| wart nich |[r]| _ 1 elementów jest Załóżmy tetaz, ze r jest
w kroku 1. Dla tego
w kroku 3. Spośr8d dzą one do sukcesu w kroku 4. (Zalwazmy, że algorytm A nie zna reprezentanta klasy [r] wybranego w kroku 1). Tak więc prawdopodobieństwo sukcesu przy danym wyborze elementu r jest równe (lt"]| - t)l|b]|. Gdy obliczymy średniąze wszystkich możliwych wyborów elementu !x) ottzymamy prawdopodobieństwo sukcesu algorytmu B:
p(sukces):
l["]l D l["]l r€X
ń 1
: :
lxl
t \-zź
ceC
ńD(l"| -r) ń(:"-"Ł') lxl - lzl lxl
lxl - lxllz I 2
lxl
t
I
I
l I
(oae1 .pT ulz o^\łs9alqopodop.terd au1YigJ +sor zz \ rz po duzg"r pel E7 gz'. .,ll - I I auł\gJ 1set lz ł ez e? .oBe1 o,tł1suarqopodop.uerd ldu1ołrop pef loĄ Z ,Iz .o8ezs.urerd Jgqdt!\ .5lz , , , , .Iz lc9oulaloł .u ?z d}uatue1a .{urrrre1sn .euzgr \Ilzc ts d1uerua1a euelqdrvr, o.Ą\osol ą az ,oBa1 o.ryI}sualqopodoprrteld cfzcqqo ąeupet oupnl1alN .Z \rolqz ltu€}uatuala (nuduzgr oluzcoluo{olu) rurdłroso1 az4u1 bs ?z .ou,Ą\ol d1uaura1a euetudzr1o zI ,cęuzll durazoru .o.ttoso1 euerqd.tr ?r Tcgo1rerur € (nruez1qdzrd n) bs 7 l^.o1uauala 'tzvł'qotttcaz.rd ez .33g,ttn pod cÓt.tt ctrorg
.€}sBIz,ł\ nDIItsuoł
.rcso41errrr ercdr4drl.t o.Ą\}syolqopodop,r.rerd !au.tg: nruezr1qdzrd .tt Łs aru dzerqorrrtc
-ezrd r19af leupQszor Órs elepdrt a.uozołtsZ.Z ) z qcr41sdzsłt e1p uf u = |(z),_u| az ,e1ue1o1ez ltuleylulfizld .eu1op eruezcrugr8o seu elnsere1ul Z€lrroluod .1l1 po ołęzalęz svz etzpbq alu .u I ry po ołęzalvz erzp3q oruazcrugr8o oru'6 .tpo1eu Ł1 n14rguo>1 ercdr4d.łt ts.Ą\1sgolqopodoprvrerd oruozcruer8o eu1op duldzct1qg '\z nrcrqz tuo}uarualo fqd1eperrvrodpo durn }s€Iluo}tsu DIIrr>I
.?r
lc9olrer'r e..rlosol dqd1dq 1ulg{In{)
al.ł\p leruurfeu oc órs d1ze1euz aluJn 9|ol{ts| tyt [zc .eruezp,tterds I uJn u I€ uocnzJł\ oBa,ttoso1 op euzcr8o1eue dqo1dq erue.trod31sod e11e; .du)
op {oln{
3/
ecslerru 7vt.ul '&zc .cŁlezprrre.rds I (?r)Ll
:
?z
.(yz ,t+ua:uuala cŁ[n1"ros
ch|ezcI|qo
.x )
r4tsuotI
1!x, . . . .Tr .łt91ueurala
tąc'tuzgl' ł o11\osol cbfererqd.u .olu.t.t.Itsu ozpJ€q nrue1qo.rd o3e1 op 99lepod tsuzo6 .r'r9}ą1guo1 u loruuleu oc eleru1sr ez .erue1dd ąeupet efe1sozod 'lZlZ < lyl zerc turduozcuols l;gl qcarp
.?volęuz e| 'cttzvt'tvncz
IIu€JoIqz
>1e[
oupnrlorN 'u
bs
7
l.
y
: lZl zaro ul :
.n1o.r>1s
Ł!c4un1 1sa|
7
<-
X
|1'l
o? ,[lllzo7vz otupezrdod ąe1
'!a1u79d
oceru dusef 3rs atue1s ,tslrtotu !ar9}ą o .n>1e1e dpo1eru e1p d.uzeu feo1e1 nroqd,trl pg^\od .(Ł!c1n1u1 z Auzcezlds arupzczsnddz"rd 14e; zce1 .s1opered erco1sr .u o1 .Zf 1se[ atu arcgrrrrdzca) 1 taylnteu oc urfu.ryroJ luo.&łsl;alqopodop.terd z :u:.zpoJn yelzp f,u19dsrrr Ł|eur elir.rp leruurl€u oc qoso qcdue"rqop o..\\osol g7 erdnl8 ,tr zr .ezprarrrr1s t.lo14,uzzpo.l,n Dl,up nsqopo.t'od .'ł\z1 po rzpoqcod et8o1ounure; .(ryao7 -qo fi,opt1g"nq 'Bue) utzpo"tn Dxup bpoyau, nqoTo bnzvu pod aruleurro;etu feueuz .(rcsotuoper,u .łrgłłItruo>Ieruer'lopleuz dpo1eu fe1sold z e4ru.'fuvr ua1
łounJ€ł\
nTgJ)Is Icso{Iol.l\\ po oluz€.1!&oułr9r qn1) Z nrolqz dcotu po erudpal fiuze1ez -9o1s rtc>1un; e.tl1sgazcetdzaq >IaunJ€rvr duzceruoą .{urr1se.r>1o e1erzpzorpod urdl
,l1
^\ ulzpoJn BIup tpotau łB+V .8.f
.ntgJ{S Órs
l
drudzctuęr8o n1erzpzo
e8Łrcod
oI
.€.&oplguo{zaq
1|cąun; qcdłt.o11tguo>1zaq aIuIIs E|uavtsil.zoJ op luał€z l.csózc la1e1sozod ł\ .Icsoustsł.Ą\ alrrrp ałB+sozod tqos ez eru1s e1dq n}oJłs e!c>1un; dq .rue1ez fzc;e1sd,16
zlt po u,{zs|eruur alu nsocłns ulo.Ą\}sqalq -opodop.tłerd z se8en se1 ndd1 duzcd1sqrqeqord ru1dro81e cór.ta. dulstle.uopnq7
l
NIZOOEN V/NC VCOTTW
6tz
XVTV
'T'I
7. FT]NKCJE SKROTU
240
Możemy zatem oszacować prawdopodobieństwo braku konfliktu w sposób
następujący:
/
1\/
/ ^b-1\ r\ ' ) : \:lt (r - 1) , TT n / ;_j\ n/ \
r\ :l
(r - ) (r n/ \ =n/\ Gdy I
-r
(r
r
jest rzeczywiście małą ltczbą rueczywistą, mamy przyb|izoną równość = e_,, któtą otrzymuje się przez wzięcie dwóch pierwszych wyrazów toz-
winięcia
_r2t3 e-':17;-1-_ - "' 2l 3! W takim razie możemy oszacować prawdopodobieństwo braku konfliktu: k-l t k-l :\
il('-*)= n ^^ \ ''/ ,
\
t-r
II"+
:;+' ;-l
Stąd wynika, że prawdopodobieństwo zajściaco najmniej jednego konfliktu jest
równe
-/crł_ 1)
L-e,
2n
oznaczmy to prawdopodobieństwo symbolem e. Wtedy możemy przedstawić k jako funkcję zmiennych n i e: -k(k-1) e----źi-=1_e
, /,
-tr\K
-
2n
k2
L)
ł In(1 -
- k= zrrlr
f
e)
..
Pomijając składnik -k, dochodzimy do oszacowanla
k= Dla
e
:
2nln 1-e 0,5 mamy zatem
k = 7,I7rft.
oznacza to, że funkcja skrótu, dział'ając na więcej niiL 1/ń losowych e]ementach zbioru X, prowadzi do konfliktu z prawdopodobieństwem Il2. Zauwazmy, ze wybór innej wartości e daje inny czynnik stały, lecz k pozostaje proporcjonalne d" ,/ń. Gdy przyjmiemy, ze X jest zbiorem wszystkich htdzi,Y zbiorem 36b dni w roku nieprzestępnym (a więc bez 29 lutego), a h(r) oznacza dzień urodzin osoby z,
.D11guoą uepat
o>11d1
.d du1ar4sdp tu1'tre8o1 cizcqqo eru,trdp1e;e ęuzolu o} "3oI nłoJ{s e|c4uq rl9e1 €Iu u € utsulztg4 e1strag ue^-€un€qc
euueulz1gd-Błsfi o11 II€,r-€IIInBq3
z.2 qINffZolIffI^Ą.L
nł9DIs e|cąuq4 .8.2 'd
Pour
"rd
,rD
xgNrrsłll
: (zt(ta)q
:ocŁ[nd31seu duralntugep
{o}\oz - {t - l.....0}'{r _ó.....0}
i
Ll
nłoDls Ó!c>1uq4 '
pai
euleuo>1d.teru o.rrroIuazcIIqo
lef oruozcrlqo ez'Velur,rrot druepelqez 'euzcqqnd 1se[ aru 5/'3o1 99o1
-Ir'M.dZ.u rtu.{u1orlłrard rrrre1uerrre1e tpÓq 5/ r o qcer5 .Łzsrrrrerd Łqzcr1 d) : b ov bĄtsI .bzs.ryrrard bqzcq bzlp erzpóq d qcer5
az1e1 1se[
zl\ -
{
'e.ro.lsqezcerd
-zaqtet acbzcd1op eruezpral/lr1 zBJa} durupo,topn .g.2 n4unsd"t eu druer.łłe1spezrd
€uu€tuzłUd-BłsłoH uBł-€Iunetlc nłoJ{s 5fcąuątr
.vuzcaldzeq
1se[ qc,{'u
-oluozcllqo ląca1uozołtsz qcdupŁszor fizld ez .crupol.t.opn Buzoul !er9q o .n1or1s .l1cfuzclil, 1!c1un; pe1n.tzld drqop rrrroue1s r o,uorc3lod e1sord 1s€Ituo1tsu €uo łsof -1erd łro1ec op gdzn1s e1Boru dq .eu1oru, 1ńqz 1set e1 e!c1uq4 .o8au1erąsdp nur1,{ru8 ęuzoul eru az ,o3e1 z u1rud,u ołr1suezcerdzaq |er9}{ .n1o.r>1s -o1 o8eu.rr.led cdzcr1qo
ó!c>1un;
BuueIuzłgd r
e1s|re11
ue,t .etuneqg zeztd tuozpe.uordł,t. n1 furazstd6
urfu1arąsfp rueru1dre8o1 z euezt1ltł'z n19.uls €p>Iur\f .7.f
'rir.oporr,tod
ndfl o8el z o1>1ru,{.tr
g5q erue1sds .ł\ 1d9t9Dls qcfłr.o1rq-ggI alualełsn er,t'qd1Łrr.ter5 .(.t.rg19r1s vg1Pęu -od dpe1u dq1e3eur,,t.tr. ulzpoJn erup bpo1eur >1e1e) rcgouroptsI.t\ nłorłs c9o3n1p alutsuzn Óts ece1ez e1nf.n7.Z/1 ure,u1syatq Łu1ezczsndop tu1eururru pz łt9tlg 8ZI .opodopłte"rd z pIIBuoł €u ?g€J1 ęuzoI]I ,/{tglglłs qcdłloso1 (euo1pu o1o>1o) o.6 peuod ocolu poJg.Ąó' zdpB .furlłedolu ozpJ€q dq1dq dłro1tq-07 19IłS .Ic9oIIIop3I..r\ nl -9r4s rc9o3n1p aluazclueJ8o eu1op €cnzJtsu ulzpoJn erup Łpo1eu nł€ł€ €qzoJc .etup oBarues o3e1 durzporn bzpoqcqo oJ9łł.ar.u'p farutuleu .latusazcllł teruruleu oc ulo,Ą\łsuelqopodoprrrerd z q9so tZ p9J9ł\ oc 3rs tpfeuz Z/1 .ggt u nlu€^Ą'oc dursqtzp"rar.tr1s ąe[ ez .ptp o1ud16 .8,(,Z ry duralnurdzJ1o
:
-Bzso tudzspu
WZ
rrt.
= ctrorg .uIzPoJn €Iup ua$Ioptsręd z eruerudzc op IIaIu durerzp3q
WANJ-sEXs^o WsWI^avco.I Z VNVZVIMZ nI?a>IS VrcXNnd
.Ż./
7. FUNKCJESKROTU
242
DowoD
Załóżmy, że konflikt ma postać
h(r1,12)
: h(ą,ra)
(,t,,z), (,s,*ą), takich
dla par
ze (x1,xz)
kongruencję: Qrr
0r" =
(1r"
ł (rs,ra).
Mamy zatern następującą
(mOd p),
/rn
Iub
o.r, ,, : Bta_r2 (mod p). Niech
d:NWD(rą-rz,P-l). Wiemy, ,e p _ 1 : 2q i ze q jest liczbą pierwszą, zatern musi być tak, d e {I,2, q,p - 1}. Rozpatrzmy więc kolejno wszystkie cztety możliwości. Po pierwsze, przyjmijmy, że d:1. Niech a : @ą _ ,,)_, mod (p - 1).
ze
Wtedy
B : p\t4_r2)a (mod p) = (ż\t7_I3)a (mod p), możemy więc obliczyć logarytm dyskretny |o8.0 w sposób następujący: log- 0
: (ą -
xs)(rą
- ,,)_'
mod (p
-
1).
Załózmy teraz, że d' : 2. Wówczas NWD(ra jest liczbą nieparzystą. Niech U
:
@ą
_ *,)_, mod
q.
DIa pewnej liczby całkowitej k mamy
(,n-*,)a:kqłI, zatem
p(rł_tz)u
= pks+t
(mod p)
= eDkB = +B
(mod p),
ponieważ 0q =
-7
(modp)
(mod p).
-
xz,Q)
: l,
gdyz p
_I:
2q
i
q
,{uręur ez,frulzo1e7.1978
: j
zerc Z
'(wtzt Po*) ,r"rd
: a
.(gztg
:
ztzo = ,rrd
b t1fizc) L?g,ZI 7.2
.
atzpe1nttz ld €u
€IuozpJal,rrrq
"rnno
ł{Iuuoł
: d qcarl11 peątzl4
o3e1 olu€ łęIzp duzpa1sazr4
.dv u' eu1euo4.{itł, oru,otuezcqqo o3o1 1set oru 6/ o8eu1e.qsdp nru1dre8o1 oluozcllqo oą1d1 19e|.e.t,r'o1r1rguo>1zaq tso! q nloJłs e!c>1un;
l
oz .certo4soruryr córłt .,(urezotu .p rcso1rervl o1tĄ'I[ZoIu er>11s..tzszrt ,{rusqdze,lrt,zog '.'Qtrlzoru 1sa[ eru
1epeddzrd
uo+ I
ura1az .csouzcezlds
- (vr,tr) : (er(Ir)
alc€łInzal (d
r1Ą
.er
poul) t,D =
_ tr
\
,rtr) cÓtłr e
: '(d poru) "d r,D zd t,D dpeylrl' aIY .zr:7r Isnul oc ,I d: p o1csor'jĄIlzolu ?Iu}tsłso ?ęzcę,uzo .cfrztepz órs- azoru eru .cŁr.tigtu 1aped.{zrd ua1 fozceur lęcslerru JoIuJ ozovI etu Ó : (1 d,zr - v'')o.ł\N ?9ou.ĄlgJ c3r.u 1e; .1-Ó5Ztr-?r>(t_r)cór.u
.I_Ó>tr}0 zęJo
1-Ó2*zz)0 a1y
.Ó
:
p ol ?1ot|Izou eud31se51
.d (1 : p nąpedf,ztd n 1et euqopod "BoI du1aqsdp ru1dre8o1 durgrtdzcrlqo ,uzpne'rds durazour o.t\1e2 1sa[ t[s.ra.t qc.o1Y\p qc'A1 z eto1n
'alałęz .ęurvrerdod
.(t
-4
Ir)
poru ź(e2 -
1r)
ł ft(tr -
poru b
:
d "3oI
qnl
-4
(t
:
d "3o|
az 'pt1s s{Iud6 '(d pour) (d pou)
d+
=
fi(tr_ta)D = n1zt_vąd cSrm dtuetr41
wZ
\TQAXS VtCyNn,r 'f'/
TNANTaAXS1IO WSWTAAVCOI Z VNVZVT/AZ
7, FUNKCJESKROTU
244
rt : 5692, rz : I44, rz : 2I2 oraz 14 : 4214. W - tz,P _ 1) : 2, zaczynamy więc od obliczenia a : @ą -,,)_, mod q : (4214 - I4q-r mod 6173 : 4312.
Wówczas
NWD(ra
tym przypadku
Dalej, obliczamy
a,
: :
(nt
- ą)a mod
(5692
:11862.
rnod.
p
-
1)
-2I2)43I2 mod
Teraz wiemy, ze Iogo 0 ę
ae'
(p
-
{a,
211862 mod,
,yI
12346
ł q mod (p _
t)}. Z równości
12346: 9998
wnioskujemy
LoBo/: A'+qmod(p-t) : 11862 + 6173 mod : 5689.
12346
W celu potwierdzenia wyniku możemy sptawdzić, 2568e
-
że
8461 (mod 12347).
obliczyliśmy zatern\og-
0.
I
7.ó. R'ozszerzone funkcje skrótu Rozważaliśmydotąd funkcje skrótu określone na skończonej dziedzinie. Teraz zbadamy, jak można rozszetzyć silnie bezkonfliktową funkcję skrótu o skończonej dziedzinie do silnie bezkonfliktowej funkcji skrótu określonej nazbiotze nieskończonym. Pozwoli to na podpisywanie wiadomości dowolnej długości. Niech h , (Zz)^ - (Z,), będzie silnie bezkonfliktową funkcją skrótu' przy czyrn rn > t + I. Użyjemy funkcji h do zbudowania silnie bezkonfliktowej funkcji skrótu h* : X ---+ (Z2)t, gdzie
v
@
\'z - |\) ltzt.^f t
no,put,",łynajpierw przypad.ek,
Bdy rn> t + 2.
tqos ez e8Łrcod
,t7
1|c>1un1
.
*2/ I|c>IunJ
o,ł\}suezcaldzoq
o.tl'1suezcerdzaq oz ,enazto oluozpJal.tt} ect|ndó1se5
.o1(olcso}Its.Ą\ouz9"t o1dq (t)fr, <- n
aluacł€lzs{azld fq Ąr-+ Lr+\lfr al)ołsl ,tr duelnrugoC' ,ft f ft zeru7^ol o1 ,x f x tp8 ez .o1 1se| auuą!\ ,(plfęzJat+ozrd.. qosods .1..u1oBezczs 1^ bs r+qfr(.. ' LznLIfi po bts pu'Ązcvz ,' €Iu€c€J{s secoJd ,
.
o1o1q urdzc
: t
od ,(r)fi n8Łrc
r[c>1nrłsuo{
'I-l-u-t:
.IuI€Jaz duor1s fe.tre"rd z duoru1edop 9dq uarurrrlod r+qn }uetuelo |I+ąfi,| dq {nt - ? - u,l csoSn1p Łteu (ry > p > t) ?f 11otq au11sdzsrYr ttuol1s la,uerd z eruesrdop zazłd ,lr z afe1s.rrlod ąfr, ez (iulzęnrnęZ
n{oDI
./ń
o}peuod .I
o8e1e1p ,.rcz
p
.,ł tn,
||
...
||
ćfr || ln
:
@)n
qCOTN
(z
ł ł 1u)
*1ł 1!cąun;
l
op q nłgJłs1fcąung o|wozlazszo1.g .v.L xgNns^1r r+xt6
(I+!ń
||
t
||
?0)u
:
: (").q
I+96
oP ł oł I: (Iź || T+t0)?
(s)
p JoJ
(g)
: 16
(v)
p b|ce1uezelder bu.reurq erzpóq t+tf q2eru (g)
pO||qr:ąn k)
?r:?fi opI_ryołI:p"toJ
(t)
.7.2 n4unsdr pu o8euor,trp1spezrd nu1droB1e tcorrrod ez ,,{rue1sarąo q ótc>1ung
It_ł-ulI | " ):q
córrYr
I
- ?-
druetr41,z _ ? _ ąu } P 5 ,p-I-ł_u:|5lr|
:
u1
|I_ą!D|
: ... :
|er|
6 etzp8
:
|Ir| arzp8
"'ll""llrr:,
'qrll
t[ceua1e4uo4 rce1sod .ł\ cl1ń€łspazrd durozotu l:8btg .1u < u : |r| ez |tltlz91v7 .fr, t. noBbtc Ł[ceua1o1uo1 arzpóq ź||z qcaru r (z.u.,rt91rq bqzc1t1dzc) r nBblc 99o3n1p .1|1\91lq qce8brc o oąe| X r.rolqz qce}uoualo o dru1sdruo4
x
ęzcvuzo |r| qcet5
nrQaxs srcxNnt sNozagzszoa
9VZ
'9'/
7. FUNKCJESKROTU
246
TWIERDZENIE 7.3 Niech h, : (Zz)- - (Zz)t
będzie silnie bezkonfliktową funkcją skrótu, przy czym rn ż t ł 2. Wówczas funkcja h* : U\*(z,)o - (Zz),, zbudowana tak jak na rysunku 7'4, jest silnie bezkonfliktową funkcją skrótu.
oowÓo Przypuśćmy,że potrafimy zna|eźć elementy fr ł r, , takie ze h* (r) : : h*(r,).Pokażemy' w jaki sposób, mając taĘ parę, rnożna w czasie wielo-
mianowym zna|eźć konflikt dla funkcji h. ottzymamy w ten sposób sprzeczność
z zał'ożeniemo bezkonfliktowości tej funkcji, co będzie stanowić dowód, że funkcja h* jest silnie bezkonfliktowa. Niech
a@)
:
at ll az
ll .
ll vt+'
otaz
: ul || az || . . . || aź*,, r i r, są w kroku 2 dopełnione' odpowiednio,
g(x,)
d i d, zetami' Oznaczrny gdzie wartości obliczone w krokach 4 i 5 symbolami 91, ...,9k+I i g,t,...,9,2a1, odpowiednio. Rozróznimy dwa przypadki w zależnościod tego' czy spełniona jest kongruencja lrl : lrll (mod m-t-I).
Przypadek r: lrll lr'l (mod m-t-I). W tym przypadku d f d' oraz An+t # A!+1. Mamy h(sn
ll1
st+t)
ll
:
sk+r
:nlrl
, */
-
l\
9(.+t
:
h(sź || 1
||
yź*')'
co daje konflikt dta funkcji h, gdyz yp+t
Przypadek 2z
lnl: lr'l
(mod
m-t-1.
ł ai+t.
DIa wygody rozbijemy ten przypadek na dwa podprzypadki.
Przypadek 2az lrl Mamy teraz k h(g*
||
1 ll
:
:
lr'1.
I otaz gk+t
gł+') : :
:
A'pa1. Zaczynamy
gk+| h* (:t)
: h'(r'\ - gk+I h(sL ll 1 ll v[*')
:
jak w przypadku
1:
.9.f DIunsdJ Bu dtuel.Ą\€lspozJd'
*1'!
Tlc{unJ IfcłnJłsuo{ uI}dJo8IV
'ro: o:
(r)/ (o)/
:efndÓ1seu ąef loue.uorugepz .r Bblc qgsods .ftl1oBezczs drrralnpo>1ez ,tr.retd[e5 1|cąun; o3e1 op ,ftnept4n 'r.r. 'f',tL 1u : |r| ez.otupezrdod net.Ńnz91e7.*r7 1!c>1uq €Iup.ł\opnqz op rSolp leuur c@Inzs tlcen1,,(s [e1 rrt drursn6 .I + ? : ul dpS .eferzp órs oc .ze.re1 th;uzceqo7 ce.uoso}s Buzoul 7.1 n1unsdr z 3[c1nr1suoy .?'
++
l
< lu [pB .dpe1łl o41d1
.Jzeł
,
huepbz
rrra1.Ez
drusrpurdz-r1o 'r>lpeddzrd orvrrlzoru er>llsdzsrrt dusqdzrledzog .q
-qerudzr1o qosods uo}
BIp 1{Uuoą dru9 .1 órs atnpleuz ncslerru urd1 eu t+lt_ł,fr||1||3t_ł,6 n
dp8 sezcpod .g łse!^Ą I + ? azJelunu o ua1lq 'ź||,+'0 n8Łrc .u .1t+u
q_ł,o)u : t,fr || l || I+ł_I0 : : 16
e1y
(rft ll r+ro)q
!er9p1 rrr 'rlcenlds op aruzca]B]so .'(urrzpoqcop .t7 1!c>1ury €Ip nł{Iguoł>1erq cŁtepełĄEz.ęZ nąpeddzrd rlrr, 1e[ eruqopod duet -ndó1sod le1eq .ry
< 7 córrrt .|,| < |,,| ez,9ivo1ez dtuezoru rc9ou19Eo ,f1e4n zeg .|,"|
cÓrłr, duretr41
olv .:n
:
ł |,| ,qz
ąapeddz"r4
.e^\olcso1J€1Ytouzo"r 1se[ 1,1n, *--.,,,,r#".:ł"UT],*;:^T;:,:.,:": oa.(,r)fi : @)n v|alef .I + ry > p > T elp ift : l5 s€zc^Ąo.t(
Ezcęuzo ąeupe|
lfi o?.[e1ep furepe1r1ez
córrvr
.? ęIp
}łIUuo>1 druerrr o+
.(jn
:
16
:
ll r+10)q
,:ft
+ Iń
Tlger
:6:
Cn ll r+,0)q
Icsou.&oJ erueurdzr1o op ze .[e1ep órs .{ure;oc dpa7u ieur aru n1>lTuuo{ \rn I_16 : I_3t6 oqlts .q elp I PIIBuo{ dureu oql€ zpJoJ
ez,dlnzg1v7
.,lrfi'
-
.(n
ll
t ll,-10)u
:
16: : en
q6
fure6
.ql6
:
ł6 ez .cótłt durlrurfdzrd
.r7
ep
||
T
||
I-łó)q Stszcleo.Ąl
p11guo4 znf.{upur o+,16 + łó TI9of
nr?EXS srcxNnr sNozaszszoa
LVZ
'9'f
7. FUNKCJESKROTU
248
(1) niech a:etaz...a*:1r (2) sr: r,(ot ll sl) (3) fori:1tok-1do sk+L: h(h ll u+r) (4) h-(r): sp
ll
/(r1) 1@z)ll ...11 f("-) 11
Rysuxox
7.5. Rozszerzenie funkcji skrótu h do funkcji h"
Kodowanie
r ł a : a(I),
ności:
(1) Jeślir
(nt': t *
1)
określone w kroku 1' ma dwie zasadnicze włas-
ł t, , to y(r) ł u@,) (co oznacza,
ze ptzyporządkowanie
jest różnowartościowe).
r
v-+
y(x)
r ł r, i ciąg z, takie ze a@) : "||a@,). (Innymi słowy, żadne kodowanie nie jesŁ przyrostk,iem innego kodowania. Łatwo się o tym przekonać, bowiem każdy ciąg y(r) zaczynasię od 11, natomiast nigdy w dalszej części ciągu nie występują obok siebie dwie jedynki).
(2) Nie istnieją dwa ciągi
TWIERDZENIE
7.4
Niech h, , (Zz),+L . (Zz), będzie silnie bezkonfliktową funkcją skrótu. Wówczas funkcja h* : UEt+r (Z,)n - (Z2)t, okteś|onatak jak na rysunku 7.5, jest również silnie bezkonfliktową funkcją skrótu.
DowoD
Przypuśćmy,że istnieją
fr
ł r, , takie
ze
h*
(r)
:
h*
(z,). Niech
a\r):araz'.'ak otaz
a@,):ytaz...Uź. Rozpatrzmy dwa przypadki.
Przypadek Iz k:
[.
Jak w twierdzeniu 7.3, albo znajdujemy konflikt dla h, albo dochodzimy do a : al.Z tej równości wynika jednak r : t, sprzeczność.
Przypadek 2z kl!.. (, > k. W tym przypadku postępujemy pojak poprzednio. Zakładając brak konfliktu dla h, dochodzimy do ciągu dobnie równości
Bez utraty ogóIności przyjmijmy
ak
:
Yx-t
a'r
: ai-t
'. Ut:9|l,_ł1l',
L(t-tfi (ta)l
:
tfi
Ic€}sod
d1n8ar bcoruod ą6|....16 ez ou|elo{ dlupzcllqo :0tl1.iz) od'.06: dlĄ ..[a.u,oą1Łzc (|JI.[+ -od Icso}Je,t(( lau,tn.ed po flJeu/'zcvz oz u € B8olod lzclupese7 łsdluod .(ł{"o*e ua1 nł drrretuturod eruezczso.rdn BIC .q.f al€Izp -zorpod .tr dusr1rqorz o} {€| 1e1 .cru1edop qosods 9lłts| /.t e dqo1ezepu .u ttcsou nahtc tsqzJII dqrpc) .ł > p > l ..(zZ) ) ?r a]Epą -loJ{oIoI.Ą\ e1dq aru
r
^Ą9łIq
.tt,91tq
''* ll
"'
ll
"" ll
'r: ,
8Łrc drueru az,Ńnz91e7
I
-dzn d1dq dq .eu1o.t 1dqz n1or4s alcąuq n4rud.tr
,tr
j
ttep dpo1eur pt1op auesrdg
l1cf,.uzłgełBo1dl(rą qceura1sds €u ou€^Ąopnq
n+9DIS
e[cąuą4 .9.2
'u: lrl etzp? ,I+?:,l dp8 ,Z+rZ) rpa .lr-!,-*l r, | :'t
zttlut
.tzvt
ą
tezl-1l1.tęu
oc
,r7
rlcąuny ?9o1J€,Ąl
Lul)
olzpó
c'tzct1qo ęqazr+ (r) *q eluezulqo s€zcpod
,,(zv)
*
,r"zlĘ
.'
*1'l
nłoJłse|cr1un; €.&o}{Iguo{Zoq oIuIIs afetu1sr s€zc^roł\ .I + ? < lnlzc frzld.n1orąs t|c4ury Ł.tro14rguoązoq aIuIIs
u)
erzpóq * -(óZ) , q qcolN ,("z) s'2 oINgzotIsI^[J
cfrzn vqazl1
,tzel
'vruazrezszor [e[ eruezcqqo op q
1fc>1un3 e1t (,'(ur1e1sn 1 *t7 1|c>1un; elc1nr1suoą arqo durfnrunspod
l
ts,ł\oPlluuołzeq 1set *q e|cąuq oz,lno1ez duefn1soru6
drust1e.uo1nur"ro;s br91ą ..łt.o41sordzrd tecbzcf,1op Tcsouseł.4Ą
'leq[.n
1eupet
'Ęzcaztd' oc
"'HCVWSLSAS I/ J ANy,MOOIA LIOAXS grCXNn,I
6VZ
,g.f
7. FT]NKCJE SKROTU
250
gdzie f jest funkcją opartą na funkcji szyfrowania wybranego systemu kryptograficznego. Na koniec definiujemy skrót wiadomości h(x) : 97".
W literaturze pojawiło się wiele propozycji funkcji skrótu tego typu,
jednak dla rvielu z nich wykazano, ze nie zapewniająbezpieczeństwa (niezależnie od bezpieczeństwa zastosowanego systemu kryptograficznego). Cztery warianty wydają się jednak bezpieczne:
9i:€gt_t|xt)art
: 9i, : 9ź : 9ź
egl_t|ri) a rt a gt-l' €gl_t(,t a gl_,) a,t €g,_,(*n
@
g,
t) C
ą C g+t.
7.7. F\rnkcja skrótu MD4 Funkcję skrótu MD4 zaproponował Rivest w 1990 roku; w roku 1991 pojawiła się wzmocniona wersja, nazwana MD5. Bezpieczny standard skrótu (zwany w skrócie SHS od ang. Secure Hash Standard) jest bardziej złozony, choć opar.
ty na tych samych metodach. Opublikowano go w Rejestrze Federalnym dnia 31 stycznia 1992 roku, a za standard uznano 11 maja 1993 roku. (Zaproponolukę'' w SHS, wprowadzono waną wówczas poprawkę' usuwającą ''techniczną
11 tipca 1994 roku). Wszystkie wymienione tu funkcje skrótu są bardzo szybkie,
a więc praktycznie lzyteczne do podpisywania bardzo długich wiadomości. omówimy tu szczegółowo MD4, poświęcając nieco miejsca pewnym modyfi-
kacjom zastosowanym w MD5 i SHS. Dla danego ciągu bitów r tworzymy najpierw macierz
M:MlolM[l]...MlN-11, w której M|i] są ciągami 32-bitowymi, a N : 0 mod 16. Każdy blok M[i] nazwierny sł,owem. Algorytm, przedstawiony na rysunku 7.6, buduje rnacietz M z ctągl r.
(I) d,:
(447
-
lrl) mod
512
(2) niech !' będzie binarną reprezentacj ąIiczby |r| mod 264, l ! (3) " ll ll0o ll
M:
RvsuNpx
7.6. I{onstrukcja macierzy
|!,|
:
64
M w MD4
M, doł.ączamy do r jeden bit 1. Następnie dopełniamy otrzymanego ciągu przystawała do liczby 448 modulo 512, tak by długość zerami, Konstruując macterz
(errlorcsfe.u errro1s Łfezceuzo rrlol{Iuf^\ g
erzpB
A
r ;g erstdo uld}
M
'tlc€punJ
qcd1
rrt
vlp1 druezsrdo nrerd[e51 .(punr qcduzcd1uepr 91 dueur .5gq po nlualuzgrpo łr) tqos dzpÓrru 3rs Łruzol 7oI^[ 1Y\ dpunr dz"11
qc.{uerlłoso1s tlcęredo
'69Z o[nPou qcflt'tr
-o>Iłtsc qzcll qcru}tspop alue,ł\€pop o nł IzpoqD tlu.tzc '&zł'd.7 n>1orą .u' qcfuesrdez rcgolJts/r\ arutspop ou1[ouod zaztd lulotlsefer rcsope.tt duerulunl>1en 8 n{oDI 1( olc IcSo}J€^\ qcdAou op tZpB.Ą\oJd qctspunJ qcazJl .u. aueuo4frrr -zsoJM .qc€Jłsefal ^\ alce.redo i(ono1g?azczs lerzpreq ofceredo e1 frur,ugruo te1ep ocetu) x ł\ .ĄĄołs 9T z dpunr ,tzll, Ńlrct rrrdp?g{ eu rlcBredo |eupe! z órs epe11s €PunJ ęp?r.y-.€Iu€c€Dls .(ł -nuoą.{rYr uałod ło'ł).trrt'o.r1seler qcaJołzc Icso}Jts1v\ ,'{urelnsrdęz erudó1sel11 7otrĄtr
nł9Jłs e[c1uq4 .2.2 xsNnSAtI
AO+CI:O
CC+C:C +V:V
flflłfl:€I VV
SlaPrrnlI
z€punlI Tepunll OO
O:
c: cc €I:aa V:VV
|t+psl)]ĄI:|Ąx
(8) \L) (g)
1
!
(e)
lr)
(e) op gI oł g : .f.rog oP - gT/N oł g: p;og (7) I (.t"q) gzrqztoT : o
(sneq) a{cPo986: (s4eq)
(.r"q)
C
6ggopc{a: g roezsvLs:v
G)
.(e,1o't) y [zrctcevl.tt a[ durelnsIdez \ W t|złelcęul 1[\9łs 9I qcdula1oą .u.rardfeu duerarqod .1}ód 1!cere1l |ap?g{ ,ra, .6 nąorą M ..,V\9łs 91 od qce1eo1ed .u W zlolc .rYlgr1sefal Icso}Jts.t\ dure1se.r4o e.tłoą1tzcod qcoJa}zc -eur durtszrę,u1azld erud31se5 qcara+zc efceue1e1uoą I n{oDI
71y.atuo.t'pa[al' durer.trzeu er9}{
.o
I
.nu$lo81e
c,g.y
^9ł.
srdo du193o órs elnpfeuz 2.2 n1unsdr o4e[ efe1s.uod rcgotuoperrw 19o15 .Ic9oluop"el.Ą& tsIu€/&nnJ}suo{S op ze.ra1 .{rutdb1sdzr4 nłoDls oBe.to1rq-g6l .^1 rue1oqurds Buezcęuzo.eqzct1 qct .e,tto1tq-6g .g1 zezł.d eu1erzpod }so|
€N
q9et .pt1s ,71g zezłd eu1erzpod }so! 71I n8trc o8e,uo4tu,(.tr €1Y\ołs €u 1ą 'Ęuuoftqzor ,79 oppour leuerrroąnperz) .(euzceruo1 or nBb1c rc9o3n1p (ten TI9o| -1oru'rerd) Ólce1uazerder bu;eurq eu 3rs act|epe1ąs d1rq vg ,ftnvzcb1op ncgo{ tsu I
r
99o3n1q
ŻoW nrQaxs
19z
vrcxNni
.f,f
7. FUNKCJE SKROTU
252
każdej operacji jest słowo wyjściowe.oto te operacje (z których pierwsze cztery są wykonane po współrzędnych, czyIina poziomie bitów):
X AY XVY X aY -X X+Y X (( s
koniunkcja X iY alternatywa X iY różnica symetryczna X iY dopełnienie X dodawanie liczb całkowitych modulo 232 cykliczne przesunięcie X o s pozycji w lewo (0
śs ś31)
Wszystkie te operacje są bardzo szybkie, jedyną operacją arytmetyczną jest dodawanie modulo 232. w praktyce trzeba jeszcze uwzględnić architekturę komputera, na którym MD4 jest implementowana' aby dodawanie było wykonywane poprawnie. Zał'ózmy, że słowo składa się z czterech bajtów ala2a3a4' Kazdy z nich mozemy interpretować jako binarną reprezentację liczby całkowitej z zakresu od 0 do 255. W architekturze ,,najpierw najstarszy bit" (ang. bi,g-endi,an) (jak w przypadku komputera Sun SPARCstation) takie słowo reprezentuje liczbę
całkowitą
at22a+a22I6łas28laą, w innych, o architekturze ,'najpierw najmłodszy bit',, (ang. little endi'an) (wykorzystujących procesory serii Intel 80xxx), reprezentuje ono liczbę
aa22ałos2r6+a228ła1. W konstrukcji MD4 zakł'ada się to drugie rozwiązanie. Ważne jest jednak to, że skrót wiadomości nie zalezy od rzeczywistej architektury komputera. JeśIiwięc chcemy realizować MD4 na komputerze o architekturze ,,najpierw najstarszy bit'', musimy wykonywać dodawanie w sposób następujący: (1) Zamienić 11 z 14, 12 z
(2) obliczyć Z
: X
+
Y
n31
ll
modulo
(3) Zamienić z1 z z4 otaz z2 z
z aą oTaz a2 z y3. 232.
23.
W trzech rundach MD4 stosowane Są trzy funkcje: f , g oraz h. Kazda z nich jest funkcją boolowsĘ wykonywaną na bitach, kazdaz nich przyjmuje na wejściu trzy słowa i daje w wyniku jedno słowo. oto ich definicje:
: (x Y) v ((-x) Z) : Z) (X ^ y) v (X Z)^ v (y
l(X,Y, Z) s(X,Y,
^ h(X,Y,Z):XAYAZ.
^
^
Z)
Pełny opis wszystkich trzech rund funkcji MD4 przedstawiallry na rysunKacn /.ó /.lU. MD4 zaprojektowano tak, aby jej działanie było bardzo szybkie - i rzeczywiście,implementacje programowe na Sun SPARCstation osiągają szybkość1,4 MB
.al.Ą\ols ur/.:p?vĄ
€u loupaf od .rfceredo 69 8Łtc
.1(t9łs órs afnuo4d.u erudÓ1se1q 08 op ..qcduezrozszoJ,, r*rrerdleu 1set ł'91s .^9łs ,7ol^tr 9I erusezcoupef uztvnt1eztd sHS (s) {€| eruqopod 91 az1eupet
.Ic9oluoptl,Ąl
19"rąs (f.łro1rq-09I) drl.r,or1se[er-g dzro,tl.1
sHS
(Z)
...1rq dzspo1tuleu .ł.r.rard|eu.. ez.ln14a1tqJJP o alu e ...łTQ ,(zsręls -[eu .truerdleu.. az.rn14e1rqcJts o |ezcvłb1s'tul z due.tllo11ef otdez 1e1soz SHS (T)
SHS l'ri oue.Ą\osołs€z atco1gdpotu oJ9|1o.Iu arudpef drurrvre1s -pazrd 'nsrdo oBeuled n1 .{urepod er51 '(uorlepC5Yds eu s/96 Z'0 '{o o) '{zs[aru |erzpreq ezczsa| 1se[ n19qs pJtspu€ls f,uzcatdzag .(uor1e1s3gy45 eu s/g116.0 .ło o) 7CII^tr op -1o.u.
ezczse|
r
'{ue,ł\o>1r1duo>1s
l .j
I
n{unso}s rvr rc9oąqdzs %0t oło{o d1e"r1n tua}zsoł :qcazJ+ łs€Ituez dpunr ltte1zc ,qqtr41 euerrr'z€u .Buotucotuzrvr e[s.re.u ars e1rrvrelod n{ol 166I óts elnso1s |er9p1 .tr .^\g}u€IJ€,Ą\ qcd.uopunrn.up qcĄ €Ip }łTUuoł?zalęuz uIaIAoq r,-vzouJ o^\l€2^Ą .apun.r boazł.1 qn1 Łzs.^/trerd Órs elrruod qcdrgp1 .ry' ,a[sre.t ozsq€łs oBe[ 9eure1z npnr1 o8eu1gBezczs zeq .dueue1z pŁ1op ł€łsoz olu 7q6 uer1d. 9ojc €uzoul
'Au1r\OOaIU UO
.nsezc
łrĄdn facÓrrrr órs ntu tcÓrritsod r19e[ órs eze1o eru (óterzpeu dru!e1ul) g€p€q I (ggg nurelsds n>lpeddzrd o.rerdop rurrradez nruelsds o.r,rlsrTezcerdzoq ..y\ ?gouJn 'tl' .pŁts .oBau1e'r4sdp nru1d"re8o1 ua1qo"rd 'tzc ętcezf.lo1>1e; >1e! u11 4et eruqopod .7CtrĄT -e1 .erure1qord ruduepeqz ozrqop eu e1redo elc4ury o1 1se| alu z€.ttoluod .apun4es eu ndd1 n19rąs 1!c4un1 errrqsuazcerdzaq o )azlo 9oc oupnJl az{tsupaf PotrĄl T Bpunl{
6I
rr
>>> ([sl]x ł (V,o,c)t (hTlx + (s'v'o)t
>>>
L >> ([eI]X e
>>>
.8.f xgNns^ll
+ a): a @i
Gt)
:v
@'c's){ +v)
Gt)
:c
c)
+
ł (c,g.V)I + o): o ftl)
([zr]x +
: a (zt) 6T >> ([TT]x ł (V,o,c)I + a) (|ol]x ł (g,V,o){ + c): c fit) II : o (or) >>>
z
>>>
>>>
6r
>>>
e
([o]x t ([s]X
(Ulx
(c's'v)t
+
o)
ł (o,c,g)l +v):v
+W'o'c)l
+
s)
:a
rT >> ([9]x + (s'v'o){ + d: c r >>> ([s]x ł (c,g,v)! + o) : o e >>> (frlx + (o'c'a)t +v):v 6I >>> ([s]x ł (V,o,c)! + a): a rr > ([z]x + (s'v'o){ + c) : c >>> ([r]x ł (c,g,v)! + o): o (o'c'a){ +v):v
z
e
(0)
(s)
Q) (s)
G) @)
G) (z)
([o]x +
>>>
Żow nI?axs
tgz
G)
VrcXNor
.f.f
254
7. FI]NKCJE 1KRÓTU
: (A + s(A,C, D) + X[0]) + 5.4827eee) 3 D: (D + s(A,B,C) + ).[4])+ 5.4827eee) 5 C : (C + g(n, A, B) + X[8]) + 5A827999) <<<9 B : (B + s(C,D,A) + XIr2)) +5A827sss) <<< 13 1: (A+ s(B,C,D) + X[1])+ 5,4827eee) 3 D: (D + s(A,B,C) + X[5])+ 5A827sss) <<<5 C : (C + s(n, A, B) + X[e]) + 5.4827eee) e B : (B + s(C, D, A) + X[13]) + 5A827sse) 13 A: (A+ s(a,c, D) + x!2l) + 5.4827eee) 3 D : (D + s(A, B,C) + X[6]) + 5A827ses) << 5 C : (C + s(D, A,B) + X[10]) + 5A827sse) e (r2) B : (B + s(C, D, A) + Xlt4l) + 5A827ees) 13 (13) ,4 : (A+ s(B,C,r) + Xl3l) + 5A827sss) 3 (r4) D: (D + s(A,B,C) + X[7D +5A827sse)<<< 5 (15) C : (C + s(D,A,B) + Xl11l) + 5A827see) e (16) B: (B + s(C,D,,4)+X[15]) +5A827ses) 13 (1) (2) (3) (4) (5) (6) (7) (8) (e) (10) (11)
1
<<<
<<<
<<<
<<<
<<<
<<<
<<<
<<<
<<<
<<<
<<<
RYsuNpx 7.9. Runda 2
Isi4D4
A oto jak dział.a funkcja ,,tozszerzania''. DIa danych 16 słów x|0], obliczamy 64 dalsze słowa zgodnie z zaleznościąrekurencyjną
xljl: xli - 3loxb -8le xli -r4laxlj -161,
W wyniku x[16]'
...
16 <
j
<
...,
x[15]
7e.
(T.I)
wykonania obliczeń opisanych równaniem (7.I) każ'de ze
sł'ów
, XI79] powstaje jako różnica symetryczna określonego podzbioru słów
x[o],...,x[15].
Na przykład) mamy
: x[0]o xl2l@ x[8]o x[13] xlr7l: x[1] o x[3] e xlel o xl14l x[18] : xl2)axl4l@x[10]e x[15] x[le] : xl0l e xl2lc x[3] e x[5] o x[8] o x[11] o xl13l x[16]
:
xl7el
:
x[1] o xl4)
axl5l o
x[8] o x[e] e x[12] o x[13]
Zaproponowane poprawki dotyczą funkcji rozszetzania. Proponuje się mianowicie, by równanie (7.I) zastąpić następującym równaniem:
Xr,Jl:6|j-3]aX|j-8]exb
-I4]@X|j -16])<<<
1,
16
śr <79.
(7.2)
Jak poprzednio, operacja ,,(( 1'' oznacza cykliczne przesunięcie w ]ewo o jedną
pozycJę.
.(.run11
'dfz:d) nsozc s1luzcouz u|uIJeI
zo.Iu1ńgJ e[nuo[c1un; ezrntęJe}Tl
711+
(I[c€l aruqopod ..ł\osldpod qcdzslalusazc/rl o8a[ qcDI1sdZsA oł dqoł€Iuzts.Ą&olun alu dqdp8 ło.Ą&tsu (S€zc1(oM .ols'ezc luduol9oDlo .ĄA .(dul,o7s-au,t,7 .Buv) az .pg^op dq1r.troue1s {Iu1(ołtscl
.IuoJdtuoł ł8aln g{Iog ultflo8l€
€u€sldpod
+Dqxumo?Dp
tsłelsoz csouop€Il&
Łcourod tsz lc9oluoptsrrrt (teuesrdpod) uresezc I Ł}€p eruezr1edo dpo1 .f,uozo1z
-aIu ęIuaz€..lłzol csotzco|uo{ o1 elnre8ng łBłsozŁIc9oluop€I^\ pod std .o3e1e1p et4e; Łs elcen1ds a.Ą\Ilzou -pod dpeq .erue1e1sn nqosods €uI olu ez ,91zprc1n], .ulatrtłsJazsłęJ dq .nsrdpod rualod 1se[ Łrcgouroper.t pod srdpod az .9gouroper.tr ce srd ([zcrę1slt6.|e! 31s 9ezrddrvr erudó1seu e ru1droB1e [9rlłs rurlłeln oz .Łuur ozczsaf olqos dur7erqod6 .Ótcen1ds tuuafdzrderu .€Jgj{so zeztd r.rol1ttoB1e uratu -pod ezoru
łolog ?9ło
.tul't1 z eruzch1 .ęrllog zaztd l1cltuesrdpod tcs -acd/vrqcazJd pezrd 1esrdpod oI91{ -oulop€I.Ą\ qcr>11sdzsru, csoupo8drer,rł' eze.łn'pod nsrdpod nru1d"ro81e efce1truorduro>1 .Łtcgoru :(ezsfatuze.uod azczse| aurvredez) csoupnJl euur azczsel n1 Órs et,ue[o6 ozoul Jo1so .otcst.ttdzco .sezcłto16 -opel,Ą{ Łu1ołrop pod e41og srdpod c€/t\ozsł€Js .o .Sso du[e1 9rle1sn etu >1rupe11d,rł. ludJgt{ órs e[n8n1sod aruIo}sds 'rrr. 4e1og ,pe141izld' eu .durcsnd.{zr4 .duoru.teln -€}s 9e1soz ezour nsrdpod 1set r.t}1s6 ez ^r ur1f.ro31e ez .o1 1sa[ nsrdpod IuI€ł€IIIeqJs ez tącf,uezbtnz .t.roure1qo.rd z urdupa1.
alu€ń'l'oł€o
7otrĄl 8
>>>
TT
t>>>
.8.f
€Punll .oT'Ź xgNrrs^ll
:a (|qr]x (V, q + (Ivsg6osg+ ł a) >>> o,c)Ll :c TI >>> (Iłlg Eloflg + (|z]x ł (g,V,o)Ll + c) :o 6 >>> (IV gg60gg+ ([rr]x ł (c, g,V)Ił + o) E>> Gvggloflg + ([e]x ł (o,c,g)Ił + y) : v' 9I >>> (Iv.a g6ogg + ([er]x ł (V,o,c)Lt + a) : s [ >>> (Ivsglogg + ([q]x ł (g.V,o)q + c) : c :o e >>> (tvałlogg + ([o]x ł (c.g,V)I'L + o) t>>> (Ivgg6ogg+ ([r]x ł (o,c,g)Ll+v):v :a il>>> 6vgfl6ołg+ ([rr]x ł (V,o,c)1ł+ a) u>> Gvgglogg + ([s]x ł (g,V,o)Lt + c): c 6>>> (Ivgg6ogg+ ([or]x ł (c,g,v),ł + o): o :v t>>> (lvsglogg+ (|z]x ł (o.c,g)u +v) 9I >>> (Iyggyclflg+ (zt]x ł (V.o,c)Ił+ s): a (rv.s g6osg+ ([t]x + (g'v'o)u + d : c (IVgg6agg+ ([e]x ł (c, g,v),'t + o) : o >>>
6
(gr)
(st)
ftt)
(ei)
kt) Gl) (ot)
G) (s)
Q) @)
G) ft) G) (z)
Gvałlogg + (|o]x ł (o,c,g)1ł+,1:y fi) grNu,Morva
992
'8'/
256
7. FT]NKCJE SKROTU
funkcjonują karty kredytowe: gdy ktośzgubi taĘ kartę i zawiadomi o tym bank, karta ulega unieważnieniu, ale nie wpływa to na zakupy poczynione przed jej zagubieniem.
opiszemy tu kilka metod datowania. Po pierwsze , zauważmy, że Bolek może sam ltworzyć przekonujący datownik. Najpierw wchodzi w posiadanie aktualnej, publicznie dostępnej i nie dającej się wcześniej przewidzieć informacji. Mogłyby to byó, na przykład, wyniki najważniejszych rozgrywek baseballowych z poprzedniego dnia a]bo wartości wszystkich akcji, którymi obraca nowojorska
giełda. Niech puó oznacza taĘ informację. Załózmy teraz, ze Bolek chce opatrzyć podpis pod wiadomością x datownikiem. Przyjmijmy, ze ń, jest publicznie znaną funkcją skrótu. Bolek postępuje zgodnie z algorytmem przedstawionym na rysunku 7.11. oto jak ten schemat działa. Po pierwsze, wystąpienie informacji pub oznacza, że Bo]ek nie mógł wygenerować podpisu g wcześniejniż to określa datownik. Po drugie, opublikowanie y następnego dnia w prasie dowodzi, że Bolek nie obliczył 9 po tej dacie' w rezultacie podpis Bolka jest ograniczony do jednego dnia. zauwazrny tez, ze Bo]ek nie ujawnia w tym schemacie samej wiadomości r, gdyż publikacji podlega tylko z' W razie potrzeby Bolek może udowodnić, że podpisanąi datowanąprzez niego wiadomością była wiadomośćr, po prostu ujawniając ją.
(1) (2) (3) (4)
Bolek oblicza z: h(r) Bolek oblicza z' : h(z ll pub) Bolek oblicza a: sźgI<(z|) Bolek publikuje (z,pub,y) w gazecie na następnyo dzień
RysuNpx
7.11. Datowanie podpisu pod wiadornością z
Bez trudu mozna też tworzyć datowniki, jeśliistnieje dostępna i wiarygodna usługa datowania (np. elektroniczny notariusz). Bolek może wtedy obliczyć z : h(r) otaz a : sźg11(z), a następnie wysłać (z,E) do usługi datowania (ang. timestampźng seruźce, TSS). TSS opaftzy datownikiem D i podpisze trójkę (z,a,D).Taki system świetniedziała,jednak pod warunktem, ze algorytm podpisu TSS pozostaje bezpieczny, a TSS nie jest podatny na przekupstwo zmierzające do antydatowania podpisl. Zallwazmy jeszcze, że opisana tu metoda po_ zwala jedynie ustalić, że Bolek podpisał wiadomośó przed określonądatą. Gdyby chciał on wykazać, że nastąpiło to po pewnym dniu, mógłby lzyć pllbticznej in-
formacji pub, takjak w poprzedniej metodzie. Jeślibezwarunkowe zaufanie do TSS nie jest wskazane, moznazwiększyćbezpieczeństwo przez sekwencyjne łączenie datowanych wiadomości.Zgodnie z takim schematem Bolek wysyła do TSS uporządkowaną trójkę (z,g,ID(Bolek)), w której z jest skrótem wiadomośctr, y jest podpisem Bolka pod skrótem z, natomiast ID(Bolek)jest informacją identyfikującą Bolka' TSS będzie datował ciąg tego typu trójek. Niech (z', an,IDn) oznacza n_tąftójkę podlegającą datowaniu przez TSS i niech t' okreśIa czas) w którym składane jest n-te zamówienie.
.n}gJłs
{Iuqcol
.1eeuer4
pb18eztd IłoJozs [eo,Ąca] r*' Łler.ue1spezrd a1prvreputsA I s}Jo€^oo |eosHa] ,t11euro1g I €JocłtsH .eredeg zero zel, bzcf1op tsIu€1!\oł€o [T6SH] d11euro15 I tsJaqtsH d1n>1dpe
n4ous zero -o.rd
orulelso
'LYo6sI
[06
trl
I
p9r
SJa€Itsssog I Jeog -ue1s duzcetdzaq
.utsA l €STJo€.t -zc5e.r8o1ddr4
o p
.lro,tca]
€(oll€.Ąlop
urdu1e.udrd ulozcnl{ Z ou un3: o
rfceurro;u1 !có11tr
od '[06vO] ePre8utq dc -prd eu e1redo łsa! q.f a1erzpzorpod,ł\ n}9D1s 1!c4un1 feuoztezszol olual1(gluo '(nltsuroqcs
I
eger3o11q1q 1 peał,n .6.2
.n1d1 op qn1
(u
pgzrdeu órs ctlertnsezrd
( uz) etuenl.o+eo,' CI, -fi
7,I'
L xsNnsAU
,us'uC) eldsazrd SStr, 'OI op (t+'OI
((u,)q)SsJó?,s : us tszcllqo SSI (u.I ."qlLufr(uz,u?,u) : uc ęzc|Iqo SsJ ((r-.ia(r-ufitr-uz,r-'cll ,t-u?): u7 P.fcrlqo ssJ,
(7)
(t) (z)
(I)
.(nsecord erue.łrolcrurgz op buqezr1od .ŁfcerrrroJut Łu1o1sraru t.tgi z Łuo1gerąo Łu1o'l.lop dpa1rvr }so! 07) urrupezrdod z .zI./ n{uns , oluoll&gluez a1-u hcbzcbą .,bcbzbtu' Łlceturo;ur.. $o| "1 ?go{IoIM -d.r eu o8euotrrte1spezrd nru1dro81e Łcoruod ezó4L9t1t1-u ,(pe1.t aln1ep 5g1
VIdvEDoI.lgIa I lcuiĄn
LgZ
.6.f
258
7. FTJNKCJE SKROTU
Cwiczenia
h: X -Y będzie funkcją skrótu. n-r (y) : {r : h(") : u} i so : lh-r (y) l. Zdefiniujmy N : l{{rr,rr} , h(rt): h(rz)}|.
7.1' Niech
Liczba
dla ń.
N
określaliczbę nieuporządkowanych par w
(a) Wykaz,
\/J-e
Dla każdego a e
*-.
X,
Y
niech
które powodują konflikt
ze
: lrl l__It
!ęY zatem średnią dla wszystkich s, jest
_ -
txl lYl
(b) Wykaż,
że
,/\ 1V:\-/"'):l\-"1 -2' 2?r" -"lxl
*""\r/
(c) Wykaż, że
r--
l(su
uęY
- s)'" :2N
+
lxl2
lxl - ęi lr
I
(d) Korzystając z wyniku udowodnionego w (c), wykaż że t /twl2 N>;(#-txt !
\
tr |
\ /
)'
a równość zachodzi wtedy i tylko wtedy, gdy
txl
"
l).1 t_
|
dlakazdego y
7.2' Załózmy, tak jak w ćwiczeniu 7.I, że h:
: {r : h(") : u} dowolnego y e Y. Niech
X- Y
jest funkcją skrótu i niech
tt-r (y)
dla : h(xz), gdzie
wodnij, że e
I
ż |łl, trl
:t1
i
e:2
e ozn'acza prawdopodobieństwo Łego, ze są losowymi (niekoniecznie różnymi) elementami
h(x) : X. Udo-
i'!Y lcsotJ€.'r{,(6fsoJ{€z lsal pI€f .[./]X 1 {€| .[?]X ou.lńoJ€z ŁtndÓ1sf,tr rlce1uezerdar qc,{r9p1 } ł ) st) |ł]x ir.r,gBŁrc qcf1 .,(qzcll l1fzc,!?y elu ^ -ozcl1qo op o3errrora1nduroą nruer8ord ldzn .qT > f > ? > T elzp8,[Ąy,|z]y €Io -[sT]x. . . . .[0]X Łcoruod e" |6L]X. ' ' . .[gt]x rrr98Łrc r-IlJezel rfcąun; (taupur3,,(ro) tfzn 9L
,{red lapzeą -d.tr
op (T.f) -a.,'e.'iu.or leuesrdo SHs €Iu€zJazszor /\Ą9}Iq
u
4I-Lo\
,(zZ) ą, =
z'a.L
La
u' op
,1A9ł!q LilLz olIIece.IłS .7T.2
((Zr)l_?1ł ll (rr)T-?q)TLt
azpf
tex,
ll
Ir : r
oĄE|
:
(x)?1,1
-,z(zZ)
=
xgNrrs^ll
tnruSapz (6)
r zsdvz
l
(1)
.€,tolłIguołzaq
aru1rs ;e[ lq ?1'l az .frupoinopn .71.2 nąuns.{r €u mpl^Ą, oł łe[ ł€} ,*(Z) * -.z(zz) : n19n1s ó[cąun; erulfcuarn1ar frue1ser1o z [a1t.tllo11ec dqzcr1 fau.łed eto (q)
1li\9łIq uź oP 1lA9ł!q u)v olIleJe.IłS
ór,IlL -"("Z) )
.tl.z >IgNnS^lI
((zr)rzt ll (rn)rU)rLt: (")"U rnrugepz
al.zp?
,zr
||
Ir: r
oĄę|
>
-vGZ)
.€łrol{Tuuo{zaq zq az|zv4ś.111y.g1.2 n4unsdr
eu 1ef ry+ -(Z) * *,(zz)
.nloJ{s t!c>1un; trto11rguo>1zaq aIuIIs atzpóq -u'Kzc eu ęnfazołzol op afceurro;ur e1
: (99Lą6ZI)17 - ?' IJso}J€.tr
:r7
1[c1un; fp11guo1
q
oue.rqf.tr
: zr7
-(zv)
x zsldez
(6)
(1)
eru1rs 1seI
ó[c4un;19arą9 (e)
* *"(zZ)
:
Iq IłJaIN
'u [qzu1ezsrrrrard r4u [e1sdzro1^tvt.ut:lgtlzs)c : (69t9II08)q :
: ll zęlo Tvztog erue',v'olugapz op az ...(ur[rru[.{zr6
Azl1 (useul az ,,ttlzo1ez I I I
1|c>1un1 [er1e1
:
.?' poru ,o : (r)q n.roz.u Łcourod ez *uZ - {"u' ' ' ' 'I} , ,.1 nlor>1s 3[c1un; '{ru19ar4g '(*uZ ^ n}uouala pbzt f,.lil.r1zous ,{zs>13r.neu o1 lset) *uZ fi\ rbrd,Z np3zr uraluaurala arzpSq o olpeuod qcarN'Ttr' r IdZ : d az lu:n4e1 |lul'Ązs : bs b t d atzpB .bd - u r[JoIN VL
ł
rd qcfzs.ltrard qzcr1 qc,,(urnad IbZ b zerc 'IP T -rrrrerd rrueqzc11 rru.{znp (rurfufe1 r) rru.'tuzgr €ural.Ąó.p
1ł
'
'(d
-
d
rurerc9o1Je,.!Ą
Pour) ,rud
}ł]Buoł cbt.e1a .2gę7
z €uu€luz1g6
e1s[ra11
u€A €uln€qc
j
"Bo1 znlqo
urrro = ,nnnd rrrro
:
€l r
n19r>1s
vgl:
ł] '8809T
:
3[c1un; ,|u:zenzog ct '11
)
ft o8ePze4elP
A:t@;,-rl lxl '' Ldp8 !(pa1,rt o41f1 t
.zpo.q)pz ?9ou-Ą\9J ul[zc Azld
,,(pe1.tl'
692
eIUOZCI^ILC
[Jzgadnianie
i dystrybucja k]ucza
8.1. Wprowadzenie Stwierdziliśmy, że systemy z k|lczem publicznym mają tę przewagę nad systemami z k|lczem prywatnym, ze nie wymagają bezpiecznego kanału do przekazania klucza tajnego. Niestety, większośćtych pierwszych systemów dział'a znacznie wolniej niż te drugie' jak na przykład DES. Dlatego w praktyce systemy z khczem prywatnym są zazwyczaj stosowane do szyfrowania ,'długich'' wiadomości. W ten sposób powlaca jednak problem przesyłania kluczy tajnych. W tym rozdzia\e omówimy różne podejścia do zagadnienia ustalania klucza tajnego. Wprowadzimy tozróznienie między dystrybucją klucza a jego uzgadnianiern. DystrEbucjq klucza nazwiemy proces, w ramach którego jedna ze stron wybiera klucz tajny i przekazuje go drugiej lub drugim stronom, natomiast uzgadnianie kluczaoznacza protokół ustalania przez dwie lub więcej stron klucza tajnego, przy czym strony komunikują się za pośrednictwem publicznego kanału. W schemacie uzgadniania klucza jego wartośćokreśla się na podstawie danych dostarczonych przez obie strony. Kontekstem naszych tozwazań będzie niezapewniająca bezpieczeństwa sieć n użytkowników. W niektórych przypadkach będziemy zakł'adać istnienie ,u'iarygodnego czEnnika (oznaczanego skrótem TA od ang. trusted author,ity), odpowiedzialnego za ustalanie tożsamościużytkowników, wybór i ptzekazanie klucza użytkownikom itp. Ponieważ sieć nie jest wystarczającobezpieczta, musimy zapewnić jej ochronę przed potencjalnymi wrogami. Nasz przeciwnik oskar może się okazać przeciwnikiem biernym, co oznacza) ze jego działania ograniczająsię do podsłuchiwania wiadomości przesyłanych kanałem. Jednak chcielibyśmysię również zabezpieczyć przed możIiwością,że oskar będzie przeciwnikiem aktywnyrn. Aktywny przeciwnik może podejmować wie]e przykrych akcji. Może na przykł'ad czynić starania by:
(1) zmodyfikować wiadomości przechwycone w sieci;
l
I o3ogl0 po Izpoqcod łsdlu -azsldo .B(aI{JoJN po (aluzolBzolu) oni€} B(€u€uIIIaH -od l8€.Ątn fupo8 ual .nł€uoi o8euzci1qnd luo.Ą\}clupoJsod ez órs cŁln4runuro4 .zcn14 tle"retqd'u etu1odsle A T n dctu;vro11dzn ntc9lepod ur1e1 dz.t4 'DnnIą Dfu
-ol,upo6zn nyoqo1ol,d dpo1aur feue,troso1s o1s6zc op 3rs 9e1o,trpo €uzotu ,euepbzod -olu qnl euzcd11erdaru 1se[ YJ z oull-uo ecerd1gdsrvr łr9pó13z.tr 9qclł€| Z \I9ar
.t.8
ol€Izpzorpod rrt órs druerurfpz llltl914.soreqray uro1sds dueuz f1redo 1se[ nrcgtepod uI{BT BN .Łtn4dzsep alqals n oB rc e .A l n op lauerto.r;dzsez rce1sod 'm. .ilsas zcnys1 o oB e|nzenazld r ;4. rlses zcn11 elnreu"B op óts eceltutz ,1y z c€.Ąlo{Iunluor1 Óts ecqc n dpc .nX zcnlĄ dute1 du19ds'Ą{ uo IIoIzp n IceIS uol{Iu -.ta.o11dzn uJ^p?EĄ7'fr,zcnys1 uJarlJas ó1or ru1ed YI olc€uraqcs rul{€ł M.aufl-uo VJ zaz.l'd ozcnyq otcnqfr"l'1sftp or1et 9t19er1o dq euzoru etcgfepod auzcd1ąerd |a1zprtg
YJ
YI
l
I
I
I
.oEeułaJ
,uzcn14 rtcnq,{.r1sdp faudó1s,tt ->1s, p nur1dre8o1 arure1qord eu d1redo 1set ,{r9p1 .Icols ł€IIIoqcS tuzceldzeq o.Ą\oluozcqqo uer.ued .'(tutłre1spez"rd z,z.g atc1und M dcturrto11,(zn ce.t,{.uoqcez.rd bzsnur b"r911 .tlceruroJut leu[e1 IcsoII oluts'ł\o{npalz eu ele.uzod leruoqcs Burolg zaztd f,uenouodotdeT'Bzcnl{ rtcnqdrlsdp taudSlsrvr .dcŁfnse.re1ur durer.tr.eruo 1errraqcs iuzcetdzaq o^\o{unJemzeq
c€.Ą\oso}s
r-uzou]' aJ91{
(alu€zbtnzot
rZ.8 arcąund 11-
.oc^}łtsJo .ł\
cÓtłt o1 1seI etu .,.(znp eru.rerur1odsrrteru 1se[
d"rnpeco"rd |a1 1zsoą rcers qcd1eru o.1!\o{unso}s €Ip Ta.Ą€N u7u ulaurc1qord,. o1 Órs erlł.dzeu dpeqeru) Azcn1n (|) ula19Bo ceze4azld aruzcerdzaq rsnur y; dpB sezcpod (,.{zcn11 I _ u ?B.Ą\ol{cezrd rsnru r1tu,to>11'(zn a? ,+ĄęJ ęvJ aluazceuz azs -ąót,tt 4eupa| azolll cdg .uerąrurwoą1dzn tuf,p?ts{ r y; dzpórru rlceru.ro;ur erue1 -dsez"rd op nł€uę{ o3auzcardzaq ąeupa! e8ęrudrrt, .orrt1suazcardzaq a.ł\o{unJe.Ą\zoq afep etc9lapod oa .(e.tr1sr;azcerdzeq eru,tradtsz al:u gers zdpB .Łrcers ezod) 1euer1 ,(
luzcaldzeq o3a1 op cŁfn1sdzro1d'lr .A T 1l luołIu.Ą&o{1dzn Łtcars ęzod oB e|nzo1 7/crtlĄ o.Ą\osol e;otqd'tr YI '/]ó.o{Iu.ł\oł1[zn ,t.rcd |apzeł elo -ezld t n,l\y : .ezcnlĄt,tcnqfi,"t,7sfi,p^,nX taud11sn erc3|od /-.llltzęllrzol Z.8 alelzpzoJpod .tr ,tłrerdfep .durarq >1rurrtrcez.rd o1 .dpe1u zru .tudu.u-{1{€ ural{ 1sa[ dpB -ru.utcazrd z r.luatufrzc op dureru .{p3 .ezslarupnJł aluzc€uz 1sa[ o.łr1suazcaldzeq nfezpo.r o3e1 o8ecŁleru.uedez n1o4o1ord arue'tro1ąefo.rdgz .BusBf zcezg .(ya .ezoru cltq.zcold) nulouul nulołIu B]JBuz 1se[ eru J9o}Jts.Ą\ o3a.r9}ł .14. urazcnp1 urdruęs urd1 d1errr'ouods,{p duor1s eue.ło?eBuevz olqo n1o1o1ord rfcezqee.r od dqe .o3e1 op crzpe.uordop bfgur erutrupe8zn o8e[ 191o1old zalo ezclllĄ rtcnqdr1sdp sacoJd 9oqc
(€zcnPl
.ołzsop etu o3a1 op rcso1st.rl.tdzaozl M
duerud,rł. Il€uołop ez .r1.{z"rar.tn
A qnl n dq
.erue.uopo.ttods (6) '(IJso,Ą\ITZoIu
errrtp oą1d1 9ruarurd.u
dqez ,o1ru.trrceztd zeztd duerqf.łł. zcnPl oql€ ,ggouze1rt
d"ro1ą .zcn11 dre1s Łfołrs 1rcer1n .A T ..du?Blvtotu.. Il€uzn,,tqe 1e1
c'tqazoul duze'ueru) du.ryrerdod ę,z zcnlĄ łto>1rurvr.o>11f?n pbłq Ą aluozpe.ł\ordłt (1)
n
:1ńolac qco^\p z uopef 9Łu8ttso cełtoqo"rd ezour duru.d1{B łIu1^IcazJd
.Icols 1Y\o>Ilu1rĄ'oĄIt?n
qc,|u?or pod óts 7dzspod cesrdez
lerue1sdzro>1drlł. o8ezslaruvgd rr1ac rvi lcsoluop€I.u
(g) (7)
gINgZoV^Ąoad1A .t.8
r9z
262
8. UZGADNIA]VIE
1
DYSTRYBUCJA KLUCZA
my tu kilka najczęściej stosowanych protokołów uzgadniania klucza. W punkcie 8.4.1 przedstawimy wariant oryginalnego protokołu Diffiego i Hellmana ze wzmocnioną ochroną przed aktywnym przeciwnikiem. omówimy również dwa inne ciekawe protokoły: schemat MTI w punkcie 8.4.2 oraz schemat Giraulta w punkcie 8.4.3.
8.2. Wstępna dystrybucja klucza W podstawowym wariancie metody TA generuje (!) kluczy, przekanljąc kazdy z nich jednej parue lzytkowników sieci (dzielonej przez n użytkowników). Jak
stwierdziliśmywcześniej,do ptzekazania kluczy potrzebujemy bezpiecznego kanału rniędzy TA a każdym z użytkowników. To istotny postęp w stosunku do sytuacji, w której każda para użytkowników nieza|eznie wymienia między sobą klucze za pośrednictwem bezpiecznego kanału, ponieważ dzięki temu można ograniczyć liczbę niezbędnych bezpiecznych połączeń z (i) do n. JeśIijednak liczba n jest duża, to rozwiązanie też nie jest dośćptaktyczne, zarówno z punktu widzenia ilości informacji, którą na|ezy bezpiecznie przekazać, jak i z punktu widzenia informacji, którąkazdy użytkownik musi bezpiecznie przechować (a więc liczby tajnych kluczy pozostałych n - I uzytkowników). Warto zatem podjąć próbę zredukowania ilościprzekazywanej i przechowywanej informacji' nie rezygnując z tego, by każda para użytkowników U i V mogła obliczyć (niezależnie) swój klucz tajny /(g'y. W następnym punkcie omówimy elegancki schemat, zwary schematem wstępnej dystrybucji klucza Bloma, który pozwala to osiągnąć.
l I
I
8.2.1. Schemat Bloma Jak poprzednio nasze tozważania dotyczą sieci z n użytkownikami. Dla wygody przyjmiemy, ze khcze są wybierane ze skończonego ciała Zp, gdzle p ż n jest liczbą pierwszą. Niech k będzie liczbą całkowitą, 1 ś k ś n - 2. Wartośćk określa maksymalną wielkośćkoalicji, której atakowi system potrafi się oprzeć' W schemacie Bloma TA przekazujebezpiecznym kanałem k+l e|ernentów Z, każdemu użytkownikowi (wobec n _ 1 elementów przekazywanych w wariancie podstawowy.). Tb takżekażda para użytkowników U i V może obliczyć klucz Kv,v :i(y'g. Warunek bezpieczeństwa jest teraz następujący: zaden zbiót co najwyżej k użytkowników, rozł.ączny z {U,V}, nie jest w stanie ustalić jakiejkolwiek informacji o kluczu I(U,y (mówimy tu o bezpieczeństwie bezwarunkowym). Najpierw przedstawimy szczegóIny przypadek schematu Bloma, gdy k : 1. Teraz TA przekanĄe każdemu użytkownikowi dwa elementy ze zbiorl:' Zo bezpiecznym kanałem, a żaden indywidualny użytkownik sieci W nie jest w Stanie ustalić jakiejkolwiek informacji o Ku,v, o ile W + U,v.Schemat Bloma jest przedstawiony na rysunku 8.1, a następujący ptzykł'ad ilustruje jego działanie.
.frx7ł@+n)z13:(ft,r)l
l
9e1sod eu / ueruro1etrlł. cÓr.tł ę,Z : c \ L : q,8 : o eretqdl.t' : l!["r zęJo L: n.l ,ZI: o; :ts lto'91tu,tor11dzn IuIP1uouIoIa ,n:.tro1rułroąil7n durgu qcozrł az,linz91v7 18 peŁ>[^Zld
y; ez .drucsnddzr4 .I rurduzcr1qnd ts,LI :
d.r\Ą
T
n
(r : ł) PuIoIg Bzcnlł 1tcnqf.r1sr(p łEluaqcs .T.8 xgNrrs^tl (n;)n6
:
(tt"t"(n;)!
oąet A.n2. tszcllqo A dp8 sezcpod .(ł")n0 : (l.lIn.t")l o1et A.n2' €zcllqo
'dpour
^rnrc
€zcnl{
+ (i\J 1n"r)q
o8eu1odsrvr
lrt: (n1'n.t)l :
nu'Ązc dztd
n'A'y
: L'ny
Łldzn .7e.tro>1lunluołs Órs bcqcaz A I n d potu nrc +
q:
fp8
(7)
nq ZBJO
lpoun;gło:nrl arzpB
,rngł nD:
(r)n6 rcelsod
,tt
cęsldęz cÓr,u o3 elJzou]' .r eu npÓ1Bz,u ez rud.ł.rorull uouelluolorrvr 1sa[
(r)n6
"q'fitll.zp.l'tnvz
!(r)n6 ntll alnzwlazrd ueleuul ruduzcerdzeq dpotu
u€Ituolol.Ąr.
BzcIIqo
r (euzgr oluzcoluołal,) oZ >
idv ) n"l
(nl"'r)!:
c,q,o
1
(fi + n)q + o
r
(x)n6
€Ip (t)
YI n 6lTu1^oą1dzn o8epz€ą
d potu ftrc
-o.rrq
n"r dłueurele
-^tztd ez4e1ę .d Łzsr*ratd
: (fl.'r)l
ueruro1erłl' .{zr
YJ
.d1uevsalo o.ł\osol eretqdrrr
(Z)
'auzgr cdq tzsnur
TuoIualo rł,o{ruało11dzn nruapzgrl duo1erzp óqzcł rcgotuop€Int feuzcqqnd op Óts etepod (1)
vzcnlx vrcnalarslcr vNdars/A
t9z
'6'8
8. UZGADNIANIE
264
Wielomianami g
gu(t) gv@)
I DYSTRYBUCJA
KLUCZA
są:
:7 + t4t :6 ł 4t
sw@):
15
* 9r'
W rezultacie mamy trzy
kl:ucze:.
: 3 Ku,w:4
l(u,v
I{v,w:
10.
Użytkownik U obliczy Ku,v w sposób następujący:
gu(rv)
:7
+ 14 ' 7 mod 17
:3,
Użytkownik V obliczy I(U,y jako
gv?v) :6 ł 4.
12 mod 17
:3'
obliczenie pozostałych kluczy pozostawiamy Czytelnikowi jako
ćwiczenie.
I
Udowodnimy tetaz, że zaden lzytkownik nie potrafi samodzielnie uzyskać jakiejkolwiek informacji o kluczach pozostałych dwóch użytkowników.
TWIERDZENIE
8.1
Schemat Bloma dla k : 1 jest bezwarunkowo bezpieczny wobec dowolnego pojedynczego użytkownika.
DowóD
Przypuśćmy, że W chce obliczyć khrcz
: a ł b(ry -| rv) -| crurv mod p. Wartości ryJ i ry Są znane publicznie, nieznane Ku,v
Użytkownik W zna wartości
są natomiast liczby a, b
i
c.
aw:a*brvTmodP otaz
bw:błcry1
modp,
ponieważ są to współczynniki wielomianu sw@) przysłanego użytkownikowi W przez TA. Wykażemy teraz, ze informacja znarra użytkownikowi W jest zgodna z kazdą
możliwą wartością(, e Z, klucza Ky,y, co ozl|acza1 że użytkownik W żadnej z nich nie może odrzució' Rozważrrly następujące równanie macierzowe (w Z,):
'r
/l rv ł rv rUrV\ /o\
(l
*l(:l
(
/ \ :(;*J
.
lJals I.Ą\o{Iu.ł\o{ł.{zn
nulaprc{ auęuz o|uzc\qnd bs lr I d l)sołJ€lr\ az ztsl'o dv 'tdnl? urdu1o.trretd ure1 -uauolo 1se| o ev .druanu['(zr4 .du1e.tldzbr.łtzololu oł\o.Iuozcllqo pal o8eu1erąsdp
nur1d.reBo1 rue1qo.rd |er9p1 lrt .lauozcuo1s ardnr8 leu1oilłop 1rt ?ts,t\ozqear oB eu -fouI coąc .bzsrrrrerd Łqzcq 1set d elzp? ,oZ pn, }€tuoqcs ?ts?ęll'zor durerzpÓg '.tuye zbt ntz o toru ort\orue zcqqo 1se I urdu leqsdp ru aur -1.ire3o1 z fur"zbt.tytz ue1qord uer.łred o11f1 19e| ,fuzcatdzeq onoluozcllqo uo łsar .tsu€tulloH-o8eglo €zcnpl rtcnqdr1sdp faudó1srt luoł€Illaqcs o3 órs e.udzgN .7.8 oI n, |ol.uzod ocaru dtur,trouo dr9łł.eueur11e11-o3"glo Pzcnl{ fuerurdrrt o8eueuz eruqcezs,ttod ótce1gdpotu dctr.uoue1s }Bluaqcs n1 durezstdg -etzpzo tp od
n1o>1o1ord
BuBtulloH-o8eg.rq €zcnlł 1|cnq{.r1sfp laudb1sn łEIIIaqcs .z.z.8 ./ .z qcr11sdzsł\ €Ip ?,!rl
_
utsIluz ze q h|e 1sozod n 1o>1o1o"td DIIupts ł{s ołB}sozod !,po zr.to (ł > t > 0 .ł > p > o) oz > |,po aIzp?
.
'a pour tce1sod
@,,)t
ry 1|c11uo>1 caqo1rr
nu€nuolalrv'
e|d7n
ya
.z
'tuzceldzeq 1e1sozod dq
{oJ{
o:! o:p
taV ^ n^ lI! lD Ś Ś qq
cn
: \rl'fr ) J
o11d1 Órs tsIuelluz lłt.o>1tu.uo>11dzn
łęt .cru1o3on
on}tsł ł€ulaqcs pItsI
.buącez dr91ą .zcnp1 ,Ępzv:i1 c'tzcl1qo
l (ź.r)/ ueruo1er.u
ctsAopnqz Łger1od .tcso1lert e1 cbteu7 .c I q ,D e1p erueztr,tr.zot euzcvuzoupat .ruduroptsI.Ą\olu ęufazl4 z €Iupu'ttoJ f-rc1zc ura1ez Ł[e141 9f,zc1qo o.tt1e1 c3rrt Ł8our .x"lc q: Xq ł xtq+o:xo
1{.Jc+g:ag rv\"lq
*
o:
Mo
ez'bzpetnr
(Ńns1
.0 : €ZcnI{ o8eu1o.uop 99ołJe^\ I M IIIazP"tI {ł.n} u {x.,tł.} etzpB grTtslsn ezour '{y'6} durzperru,od '.tr-o4u.tto11dzn qco.trp efctpo1 oz{tsupaf
x
'ryy zaztd tuepersod
ruduu1 Łfceurro;ur z vupoBz }se| n.n;. r"zcrrlĄ 7 cso+ręlll^ €^\IIzoIu epzeą 1 \ q ,D eu np31Bzłr az eutęzbtrl,:zol łuzcr'uzoupal aleru1st cÓrłt. v ,4luzceuzf,'n' n.t, \ nJ + MJ fiyrorezeru €Iu IJBu.ł\oJ np€ł{n rrr.o>1ruudzc1odsłl zrerceur , ^.t, ł euozpe.tł.ord Łs euzcd1eur1dre efceredo atą1sdzs.tr. ul(zc fzld .drvro1s
z€.Ąl.aluod
.oZ
^
.(^"
-
A.z)(n"l
-
M")
:
ń\"l(,ł."1+ n"ł) _
^JnJ
+
źJ
dsłl śztatceul ntuzcvuz f,. 1'7' ,ce 1sod eur .tr-o>1ruudz c o .(r)lvtó rcsotuoleuz etrln,e1spod Eu Euz M ŁJ9ł{ ,c \ q ,rl o ófceur.ro;ut nutsfiuolol1rl r er8nrp |v: n,ny ev.bza1ody1efn1uoze.rder olutsu,łloJ ozs..ruold 1
Łlererłręz aIcoz:4
vzcnlx vrcnslarslo vNdarsL
992
'z'8
8. UZGADNIANIE
266
I
DYS?RYBUCJA KLUCZA
Niech dla każdego użytkownika U w tym schemacie ID(U) oznacza identyfikującą go informację, na przykład nazwisko, adres elektroniczny, numel telefonu lub inne istotne dane. Ponadto, każdy użytkownik U ma tajny wykładnik og (gdzie 0 śou śp - 2) oraz odpowiednią wartośćpubliczną b,J
:
aou mod P'
Z kolei TA dysponuje schematem podpisu z (prblicznym) algorytmem weryfikacji ueraa i tajnym algorytmem podpisu sigra. Przyjmiemy takze milczące zał'ozenie, ze kazda informacja jest przed podpisaniem poddana skracaniu za pomocą publicznej funkcji skrótu. Dla uproszczenia opisu procedury przy orrrawianiu protokołu będziemy pomijać proces skracania. Częśćinformacji użytkownika U będzie uwiarygodniana ceńyfikatem wydawanym i podpisywanym pIzez TA. Każdy użytkownik U będzie posiadał certyfikat
C(U)
:
(ID(U)' óg' szg1a(ID(U), óu))'
gdzie óg powstaje w sposób przedstawiony wyżej (zatlwazmy, że TA nie musi znać wartości aI]).Użytkownik U dostaje certyfikat, gdy dołącza się do sieci. Certyfikaty mogą być przechowywane w publicznej bazie danych albo każdy użytkownik przechowuje swój certyfikat u siebie. Podpis TA na certyfikacie pozwala każdemu
użytkownikowi sieci na sprawdzenie informacji, którą ten certyfikat zawiera. Dwaj użytkownicy U i V mogą bardzo łatwo obliczyć wspólny klucz
Kv,v:
oouov modP,
jak widać na rysunku 8.2. (1) do wiadomości publicznej podaje się liczbę pierwszą p oIaz element pierwotny a e Zo* (2) V oblicza
KrJ,y:
aouov mod
p:brJo'modp
uzywając publicznej wartości óg, pochodzącej z ceńyfikatu U' wraz z własną tajną wartością ay (3) U oblicza
KrJ,y
:
oouov mod p
: bvo'
mod p,
używając publicznej wartości by, pochodzącej z certyfikatu V, wraz
ze swoją własną tajną wartością aU
RYSUNEK 8.2. Schernat wstępnej dystrybucji klucza Diffiego-
-Hellrnana
Ilustracją algorytmu niech będzie następujący przykład.
\ i
i I
l I
I
(cel/jil nultfJ€8ol ualqoJd II9a[ {€I .o8ou}aJ{sdp nIułdJ€BoI nuolqoJd Iulg{Ptsd .('ł' q"t) n zcnPl ue1 dq1fzcq -dzrd rurdu1g&ozczs Łs eruezcr1qo o1 tsqo aaltsupar .'rp .Aq
i
cso1J€lrt ?II€łsn cŁlnuodsf,p -qo {ts| .>1e1 erupe1ąop A.n2r cdzcqqo dq139tu dqdpc 1erun dq.{pB oqlts nq tcgouroleuz errvre1spod ęu ^o ?,tzcIlqo 1gtr1od ' f,u1e zblnzo talu ^Ą o1(oluo z cllqo
peteueur1a11-oBagrq ure1qord dp3 .dpe1r'r o{Idt l fpe1łr er1rulrł.rcozrd o8eurerq ną
-e1e nąpeddztd. n' fuzcetdzaq 1se[eueur1eg-oBeglq €zcnPl rtcnqdrpdp feud3p.tr .[euzen'ou.Ąó'9l Ic€ls .g.3 nąunsdr eu (fauuerrupo ocalu 9oqc ł€tuaqcs ercgrlro,dzcg -od ,rł') oIuI€IuJoJ o3 druelnrugoo .Bu€ulile11-o3eg16 nura1qołd arrtzeu rsou .(Ao ntr dpour a1e) olu neo ZElo ure1qord uaa 1d pou n2npł2 cf,:zc1qo tsuzotu I'ę (^,nX c&zcllqo o? dpour n2D ou€p cŁtęru dzc.cŁr'u'oru |ezceu1 L^,n+ M dp8 .qcduratq
.ł\o{tstts o celł! nt Izpoqc dzc :arue1dd eu -oIII 7per,rnodpo 1ruirł.o11dzn .erce"1gdpec udzpnc op 3rs durdzctugr8o q9e[.ure1ez dzcre1sf6 ?Iu tsIuo?ts.Ą\zoJ ^Ą ^l -.tzcod dq139ru M aJ9pI .rlcerrrro;ur ../I luoutsItuz ru{ulęn}ua^Ąe e3erqodez al.Ifzco!. .e1tu.t,t'tcezrd o8eu,rł,dp1e qn1 o8eu -n{s g{Iu1(to{łf?n olcB,Igdpec eu yJ, stdpo4 -JaIq lc9oucoqo nluazottsz dzrd nure1s.{s lua,Ą\lsuozcerdzeq zere1 órs ,ftnftrcd-te7
f0t9z
'769t : : nfrq:
poIII ee661tll9
dPoru
:zcnl{ rutss ue1 9.{zcqqo ozotu
A
t\'frY ?alu^\gg
'769t : : : n'nY
fotgu potu g2e2l86L
dPoru nrLq
zcnpl cdzcuqo a?oru
.n n1e1gdpec op €gtsJł zgtgz pour
xzp,ral ?9o}Jts11\
tsł I
'v86L : :
gsaatZ'
: d Potu ^q ^oD .9966I op bzpeirrlord €Iuazcllcło oł - .ło +se| .olct>rud1lec turołrs csołJe.Ą\ ó1 ezczsarrun r 1y zaztd, Łuerqdłr Łrc9o1re,tł II9of ^\ 'tT19: fotgz potu ezgtz : d noD : nq Poru .8f9t:
.(d oFpotu udu1orrrrerd erarqdrvl n ez .durggnd ltzt1 Łqzcq pet d) eueuz eruzcr1qnd
bs 7 : D I
LgZ
€zcllqo
stszc./IĄoM
IuoDIłstsIAJat.d quz
L1Eg?'
- d
no
o .Łzs.urerd
rc9o1ren az ,[ulz91e7
z'8
peI>[Azrd
vzcnlx vrcnsLurslo vNdfurs,M
'z'8
8, UZGADNIANIE
268
Dane t : (p,a,p,"|),
gdzie p jest liczbą pierwszą,
elementem pierwotnym otaz B,.y €
Cel
obliczyć 0|"s-.| mod p
RysuNpx
I DYSTRYBUCJA
(:
Zp*.
KLUCZA
a e Z,+
jest
1|"c.on"p mod p).
8.3. Problern Diffiego-Hellrnana
dyskretnego jest obliczeniowo nierozwiązalny w Zo, to schemat wstępnej dystrybucji klucza Diffiego-Hellmana jest bezpieczny wobec tego rodzaju ataków. Istnieje jednak nieudowodnione przypuszczenie, że dowolny algorytm rozwiązujący problem Diffiego Hellmana mógłby posłużyćtakże do tozwiązaniaproblemu logarytmu dyskretnego. (Przypomina to sytuację z RSA, gdyż przypuszcza się, choć nie ma na to dowodu, ze zł.amanie RSA jest wielomianowo równoważne faktoryzacji).
Jak wynika z powyzszych uwag, problem Diffiego-Hellmana nie jest trudniejszy od problemu logarytmu dyskretnego. Jeślinawet nie potrafimy określić wskazać związek między jego bezanego nam już systemu kryptogra-
TWIERDZENIE
8.2
Zł'amanie systemu kryptograficznego ElGamala jest równoważne rozwiazantu problemu Diffiego-Hellmana.
oowóo Przypomnijmy najpierw, jak działa w systemie E]Gamala szyfrowanie i deszyfrowanie. Kluczem jest 1{ : (p, a, a, B), gdzie g : a" mod p (a jest tajne, a p, a i B - publiczne). Dla (tajnej) liczby losowej k e Zo: mamy e11(x,k)
:
(W,Az),
j
gdzie
at:akmodp otaz az
: r7k
mod p.
Dla y1,az € Zp* zachodzi
dx(at,ar)
:
ur@?)-r mod p.
Przypuśćmy' że A jest algorytmem rozwiązlljącym problem Diffiego
Hellmana i mamy dany tekst zaszyfrowany (at,yz) w systemie ElGamala. zastosujemy algorytm A z danymi wejściowymi p,a,al', p. otrzymujemy wartość
L(p, o,At, g)
: : :
L(p, o, ak, a") oko mod p
Bk
j
mod, p.
órs err.rdzeu Ópesez 31) ttses
dzpóru aluozctłod o.ryIolcols
-e1rruolduro4 o8e[ or'ł'1suazc o3a1 órs ęłyfizn Uozar
.zcnpl
epzv4 .e.łrou pb1op e1dq
qcd.rgt>I
o .ezcn11 rtcnqdr1s,tp [audÓ1s.t' qc€po}aul AĄ
soraqray 't'8
.cezen['n du91arcqc oc .o1 d poru
_o8egrq nure1qord €Ip .L I
'd pour d.eotL
,-(r-(a.a"rL))I
.d d ,D arr.rorcslałr
cÓrrrt
e
: : ,-(I 'L'i'o'd)g dureur tsu€rullaH
euep cŁrorq az,vf.ze1'ltnez 'd pour
,_(r.rln;zn
.el€ur€c1g
o1(i+eq
:r
tszcrlqo
r
errrre1s,.ts ,u Zfi' zęto lfr' ,d ,a.d e.uorcsfalł outsp tsIolqod g c3rr'r {tsI erue.uor;dzsep elnzqear dr9]{ '61 ur1d"ro81e ,turpru az 'l(iucsnddzrd '19.r.ttpo eu 1
.d poru
|(Zfr,qn) 9e.uo"r;dzsap
o,rrr'1e1
,_(rd)"n
:
*
znl ęUz,oul zBlol 't'8
soagaagx
692
8. UZGADNIANIE
270
I DYS'IRYBUCJA
KLUCZA
(1) U prosi TA o klucz sesji do komunikacji z V (2) TA wybiera losowy klucz sesji 1(, datownik T orazokres ważności,L (3) TA oblicza rrLL
:
er
:
e
oraz m2
13r(K,ID(U),7, L),
po czym przekazuje m1 i m2 użytkownikowi U (4) korzystając z funkcji drc,,IJ oblicza K,T, L oraz ID(V) na podstawie wartości m1; da|ej liczy
ms: ex(ID(U),7) i przekazuje mg lżytkownikowi Y wtaz z wiadomościąm2 otrzvrnaną od TA (5) korzystając z funkcji drc,,Y oblicza K,T, L oraz ID(U) na podstawie wartościrn2; następnie, znając rTL31 za pomocą funkcji d6 oblicza 7 i ID(U); sprawdza, czy obie otrzymane wartościT oraz obie wartości ID(U) są równe i jeśIitak' oblicza
mą:ex(TłI) po czym przekanĄe wynik do U (6) U deszyfrlje ma za pomocą funkcji d6 i sprawdza) czy wynik jest równy 7 +
1
RvsuNpx 8.4. Przekazanie klucza sesji w systernie I{erberos Ponizszy diagram ilustruje przepływ informacji w ramach protokołu:
TA
eKu(K,ID(V),f , L) eKV(K,ID(U), ?, t)
U
e6(ID(U),7) ex,(K,ID(U),7, t) e6(T + I)
V
Wyjaśnijmy tetaz, co się dzieje w poszczególnych krokach realizacji protokołu. Nie mamy co prawda formalnego dowodu bezpieczeństwa systemu Kerberos w przypadku działań aktywnego przeciwnika, możemy jednak przynajmniej ptzytoczy ć nieformalne argumenty doty czące cech protokołu. Jak wspomnieliśmy wcześniej,TA generuje K, T i,L w kroku 2. W kroku 3 ta informacja)razem z ID(V), jest szyfrowa*aza pomocą wspóInego dla U i TA klucza I(U do postaci rn1. Podobnie K , T, i ID(U) są szyfrowarr e za pomocą
'
BzcnPI fue1urdlrrr' 1oąo1o.rd 1set tue1o>1o1ord rur4e1 lnfuęuz lerde1feu -oBasIC .u.{zs,urer6 .€zcnpl eruerupe8zn n1o>1o1ord ?dzn qcdufe1 /.izcl1Ł.,tuerur ,eur1-uo oBacttelerzp dzcn11 "eJa^\Jas z cels,lzton durecqc alu llgar -d,u op durrsnur
-",nń,e
Bu€uIIIaH-oBag1q
fzcn14
.,(uerur..(ał,
ł-ołołoJd.7.8
.IcsouzolqzoJ uerrvred saDltsz 9rcsndop uIo1.ez ę,qazr+ .s€zc frcb,zelq afnp'tc .ófcezruorqcuds tu1ed 9ru,uedez oupu} ozpJęq ecd1ąerd M .tcors rrto4tu,tro41d7n qcp11sdzs.łł -ep rlses €z)nl{ Ic9ouzts,ĄĄ aIuIuIo} o zgrl.reruod .tr9ąre8ez rfcezruorqcuds cgouzceruo{ 1set soJaqJay nura1sds pc-/{^ z Łupe1, .dzcn1ą tsIu€cnzJpo trpesez z €.1ruf.u ,{uorqo .€łsB8d,tr 9souze,tr, qcdrpł{ .Bue) ua1,uazJ9?nod z nqop ureuetur Óts dpo1aur [e1 c9ouzca1nng.Q1co77o fioyda.l, ri9"r1o oc) eruelsdzroldrrr oBourvtouod o8ezsferuTod qcl nlac -& s{Iuri\Icazrd o8eu -^rqn zezrd rcsoruoper.łr ,,qc.{re1s" nrue,nd,ryt.oqcaz.rd cetqodez dq 'o1 od 3rs elns .I -ołs ? Icsouzts.{\ soJło I J {Iuł\oltso + J eruerwoqdzsgz op X tszcnpl e.udzn n .J l (n)GI oruqopod .zu,ł lc9oluop€I1v\ ..r\ ou€lv\o l1.tzsez lt1e1soz ferugazc.rrt znI aJgp{ eruelłor;dzsez op X zcn11 elnso1s n {Iu1v\o{łfzn soreqrey 711.Icso{IaI,'Y\ qcfueuz .soreqJay aIuI etue.uor;dzsez op X rlses ezcn1r1 o8ertou elcfizl zaz.rd arcr.,ylou€rul .olc€uloqcs rudu1eur8dro .u e[nd31s -e1sds .u 4e[ eruqopod o1 ars eł,dqpo ep1d.tr2 ,c.tzcblop ezcn11 oruozpJollr\1od ezcnpl tsuzoru (rtses) ezsrr|ez -d.n eru rlget lerrreu .)1 o nruepersod o3e1 o8olutss ezcn1>1 rlses rcsozs4ótrrr rtcnqdr1sdp .Bue) DzcnIE t1dzc ,(uot,7ou',.t,{uoc fi,aą Łte1e,uzod ^Ą ^\o}€uoqcs
ńetez.ł,eu Órs geuo1ezrd
Atn
,,u,,p,,,,7odb|unt1zoulnvu/ItulIaIo{7.y{ses€zcnpIrrluentf,zenezldfztd
.n1oąo1ord qcętutsJ ,tt eue1ds ,,9o.li"1 gtuerurvredez op Łzn1s zlu I IuL,Ic9otuoptsIł\ .1!c4un5 csoupolouzoJ nt cll9aJłpod o1re16 -ez.rd tcgotuoper.tr tferu1eds er91ą .Icsouop€I,Ą\ [e1 etuezro,u1n op dupóqzeru 1se[ uo} zcnPl zę.treruod .,1 op etuzcetd .1+J tso|Łrc9ar1 te| fzc.ezp,ue.rds -zaq łJ€}op;7 1!ses zcl;|IĄaz.tsrurtodn oB oa ezcn14bcoruod ez Łt cŁtn1dzcp o \ vlu 99otuoptsI.Ą elnurdzr1o n 4u.tro1M?o l..r\o{Iu1Y\oą1dzn >1rud.tt e|nzuĄeztd \ X ęzcI].IĄ ,
y
.7u,ł Ic9oluoptr.tł tce1sod
.łyr
n
QcoruodęfI+;etnr;dzsAloI€C.8u'ęIuts.Ąo4dzsopo1dzno3er91r1.urezcn11
.€tu.ryradn o3 o; .óts urdrues rud1 1set e?l,l lcgouloperru' z due1dzcpo rfses 1JT!IĄ oz .ezp.trerds
.(n)oI r dzc lc9olJts.Ąr I J Łte.udr1od ,tul, I Zu't' z aIuzo]ltszaIu aue1fzcpo .(n)oI zulo 7 ,y eu, eln{dzsap ;7 1!ses razcnlĄ o8ervrou Łcourod ęz ulf,zc od n dpg 'zu, alr.q,lzsep 'n opu,ttol$7n po tut I etu alrvn'tz'r1o .A op tsłAs^1Y\
'g
a[n1,{zcpo
^
zolu.Ą\oJ tul ?9ouloperirł' qgsods ue1 ,u Q1e1s.troa l (n)ot zęJo J afnrJdzs;ry 1!ses .A op zlu e1dsezrd n arudÓpe5 tszcnl{ o8eryrou Łcourod pz a|usozcoupo| € .Iu'l zbuę+fzcpo (n)q1 ÓlceuroJur cŁtn>1gdre,u .n e.rau1red o8auepQz op
,gtzpnrelds
X
ozolq.rI +
rlses zcnp1 1rzc due 1s.{.tt łE+sof .dpeyrr ezprrrerd5 -ez.rd .u órs rcserru sezc du1en1ąe fzc ue1 ,u erudzr +o \ ru) erue1dzcpo op €z)nPI o8a[o.lt,ts ez>1e1
.1
\
a t. a fzpbrul
J, X
lcso}Jts1\\
a1vtzp
qosods
gfzl azout n >1rumo1!{?o 'n oP aueldseztdbs
Icsoluop€I.órr
auvntol1fzsez
uz
a1
olqo .ztz tce}sod op A;7 tszJnIł VJ I A
v Nvl/f1.lsH_ocgl.trilC
^Z
c n.IX
^NvIW^lyl
e1p o8eu1ods.u
.łQ>IoIoa d
.
Ż.
8
8. UZGADNIANIE
272
I DYSTRYBUCJA
KLUCZA
-Hellmana. Zakłada się w nim, ze p jest liczbą pierwszą, a jest elementem pierwotnym w Z,, ptzy czym wartości p i o są publicznie znane. (Alternaty'wnie' wartości te mogłyby być wybrane ptzez użytkownika IJ
i
przekazane użytkow_
nikowi V w pierwszym kroku realizacji protokołu). Protokół wymianv klucza Diffiego-Hellmana przedstawiamy na rysunku 8.5. (1) (2) (3) (4) (5)
U wybiera losowo oU, 0 śau śp - 2 U oblicza oou mod p i przekanlje wynik użytkownikowi V V wybiera losowo ay, 0 śav śp - 2 V oblicza oov mod p i przekazuje wynik uźytkownikowi U U oblicza
K : (a"v)"u a
mod P,
V oblicza
K : (o"r)"t RvsuNpx
mod p
8.5. Schernat wyrniany kluczy Diffiego-Hellmana
Po zakofrczeniu protokołu obaj użytkownicy, U i sam klucz:
K :
V, ottzymająw wyniku
ten
11auav mod p.
Protokół, o którym mowa' jest bardzo podobny do wcześniejopisanego schema-
tu wstępnej dystrybucji klucza Diffiego-Hellmana. Różnica polega na tym, ze wykładniki aIJ i ay uźytkowników U i V, odpowiednio, nie są stałe, |ecz wy-
bierane na nowo po każdym uruchomieniu protokołu. Ponadto w tym protokole zatówno U, jak i V mają pewnośćświeżości klucza, gdyż klucz sesji zależy od obu losowych wykładników oU i aV.
8.4.1. Protokół wymiany klucza z uwierzytelnieniem
Protokół wymiany klucza Diffiego-Hellmana powinien przebiegać według następuj ącego schematu: (rou
U
(1.o\
V
Niestety' protokół ten jest podatny na działania aktywnego przeciwnika stosującego atak typu ,intruz-w-środku' W The Lucy ShouI był epizod, w którym t The
Luc!,Shotl _ seria] emitowany w USA w latach sześćdziesiątychXX w. (przyp. tłum.).
.t-86f6 tsuzoul lduozczsordn eru oSI ilutsłoło}oJd z dupo8u qosods rrl.celrl../ifrr o3.I1YtoJouaIł\ I I1ńoloqcsJoo -zcęuzafil łsa| 9.8 n>1uns.{r eu duor,ue1spez;d 1oąo1oJd
utsA (ruueglq,{unezcbtzpiuez '(5ag 'yoco4o-td uo1,?D?s-o+-uot7o7s 'Bue) uroluoru -1a1fzłe1rrm z PJzarrlĄ raue.rrurc1l.r t1[zc,ezcn1ą eruerupe8zn euoru1e1dzrerrvrn .1 tcŁtn1gd1uepr Łlceruro;ur 1se[ (n)q1 etzp8 '
((^rrn'ś(n)OI)vr6?s' trraa'(n)Ot)
: (n)C
1vągdpoc eur n >1ru.to11dzn dpzeą o1peuoĄ .Yl-1211 rtcer1gdre,u rueru1dro81e urduzcr1qnd z nsrdpod ł€IIIeqcs €Iu VJ eząv1 ,.f|6t's nsrdpod rueur1dro81e I fil,aa rfcvr1gdre.u ueur1dro81e z nstd -pod ure1erueqcs a[nuods..(p n >1ru.uo>11frzn lpzey..,rł'91vr1gd1rec op ?o1 órs e[n1o,t.t' -po .^2 oSeu1otrtretd nłuoluala t d |azs.u.retd dqzcq 9goudÓpop tuzcqqnd epe1>1ez .Bu€uIIIoII-oSeg1q Bzcnl{ r(ue1urf łl n}€uaqcs ólce1gdpoul zezrd
ł-ołołoJd
1e1sirłod dr914
.ezcn1r1 eruerupe8zn oSeuotu1e1dzrerrl.rn
.(1uau,aańo
1
I
1o1o1ord n1 durezsrd6
fias1
papct,\uaq1no .Bue) ozc
-nIą 1uaxuD1,upo6zn ul'fi'uot,u7a7fi'z.l'at'mn durotrvrzpu 191o1ord DI€I
.BzJnI{ €IutsIB}sn
tuesecord z alusozcoupe! ot I rto4turrto>11dzn órs qcdcŁfnątunuo>1 nqo csolueszoł cówr ąea .A I n 9eru1e1.{zrar.tłn IuBs uolul..y\od ezcn1ą eruerupe8zn 191o1old ^\.o{lu -'r.r,o4t,(7n nqo zezld lc9olu€szo} ęIuozpJal./t\lod n1ueuour op z€ ?9ouJolq ?ts.Ą\oqc€z .6 oltsIzpzoJ lll ,ezrrl1ut luaD1€l€ pez"rd órs etnpdcapz ąeupef o1 ruorqc oIN II9o! .1!cu4gd1uep1 .Ą\91€Iuoqcs ez uepel pe14dz.rd €u .tcsoureszo1 [a[o,ts durezstdo elg1ą ^Ą €Iual€łsn o8euuralez,łr op dctzn1s 19>1o1ord duqórpo ?ęly\ozIleoJz ruo dqr18our dzc .'y1 nłtsIzpn zaq .rultu dzpÓrur etcgrrrr .t.trozcnp1 trvrerds -n14 Łuerurd.Ą\ pozJd łsa| .csou.łł'od -ltzcezl órs errrdqpo rlceurro;ur euerurd.u oz A T n e1p .ercsr,udzc6 .(n op 99oulop€I.t\ e1dsd,tr A dp8 eruqopod) .A op Łue1dsdłt ger1od olu cIqoJZ o3e1 n collc.ce1fzcpo Łt ger1od M ?9oulop€I.Ą etn.gdzs n dpC 'no^,oD dutel zcnpl ,11 z erupe8zn n dp8 sezcpod 'n,noo lfufe1, Z brupe8zn tc9o1sr.u,{zcezJ .ry\ If n1o>1o1ord n1rud,u .ĄĄ ncllo{ M zcn1ą du19dsn
^Ą
A
noD
ł"D
M
n"D
n
ooD
.ause1rr.r etu ez etrrre1spod t :ure.r8erp dcblndó1seu etnzer1od oł łB| >1e1 .aluqopod e1etzp nłpol9dzpÓrru lc9oluop€I.lr aln1,{.uqcazrd ,.11 4ru.tircazld -A\-znJluI ndd1 eueur11e11-o8eg.Io €zJnPI rtue1url(lrr' 1oąo1ord tsu {ts1Y
n rn
'urefpzrueu az btolsrcg lrs 'tltzpbs etoqo ,{q .dcn1 cót.u .rue1o1s .tr1pedłr .Óąór pz lĄc|u z ep?eĄello:tzt1erues 9tu4run dqe 1e1 .Ipg aIIIcnT e1dn1n lzpals luołołs pod ecÓr arqos gepod tcqc .ro1erope [a[ r uet.trn pod e .ótce1o{ IualaułJ€d z eruse1rrr e[ .rfcerne1ser rvr ó>1puer €uI ocuB^ u€IAIA
tLz
v NVIN.I.IgH_ocgIitIC
^Zc
nIX
ANVIW^'M,łQXo
Ioad'
r. 8
8, UZGADNIANIE
274
(1) użytkownik U wybiera losowo liczbę aIJ,0 (2) U oblicza
I DYSTRYBUCJA
śo,u śp -
KLUCZA
2
a"'modp i przekazuje wynik użytkownikowi V (3) V wybiera losowo liczbę ay,0 śav śp (4) V oblicza
-
2
oov mod p, a następnie
K : (a"u)"v
mod p
oTaz
W : si,gv(ao' ,do') (5) V przesyła (C(V), o"v' gĄl) do U (6) U oblicza
K : (a"r)"u
modp;
weryfikuje av za pomocą Uerv oraz
(7) U oblicza yrJ
C(V)
Za pomocą ueTTA
: si,gy(ao' ,do')
i przesyła (C(U)'yU) do V (8) V weryfikuje gru za pomocą uerlJ otaz C(U) za pomocą uerI.A
Rysurlex 8.6. IJproszczony protokół wyrniany klucza z uwierzytelnieniern
Wymiana informacji w uproszczonym protokole STS (z pominięciem certyfikatów) odbywa się według następującego schematu: (r.ov
U
a"v , sigy(a"v, aou s'igu(d."u
,
)
V
d."v )
Zobaczmy, jak takie rozwiązanie chroni przed atakiem typu intruz-w-środku. Jak poprzednio, W przechwytuje informację aau i zastępuje ją ptzez a",u.
(z
- 6 > no > 0)
'd Potu nro
-
19
tuzcqqnd Łrcgope.tł Łtuper.luodpo zero ntl ural{Iupe1>1dłr rudu|e1 .(n)or urduidcg:1g,.t1uepr urer8Łrc
elnuodsdp n ąru.łrloą}dzn lpzey .ovtsuz eruzct1qnd bs o du1o.rrrrerd 1uaura1e r d ęzs.t.t'rard eqzcllaz.durefnurfdzrd .€u€ullloH-oBegrq tszcnlą duerurŃrn' }tsuoqcs oc ,ląceluezo1ez dpedo qcdures qcd1 eu IItr41 1rigto{o1otd z uepel drur.tłełspazJd d.to'oBarqezrd!9r1 o>1e! ?IIgaJło
olos{ałuo{ urd1 łr' dqopze1eu SJS łg{ołoJd.(n op n po er8nrp .n op n po ou -pet) rlceurro;ul oluezeĄozrd eu1or1n.trp o{Id} qclu 11\ 3rs e.trdqpo z[pB ,(yoco7o.t,d ssod-om1 '8uv) amo6azqaz.t,dn,mp Ąo1o1ord o1 Ł5 .rrtgsrdpod eruezcr1qo A I n ł\-ołp -r'toą1,t7n po Łte8eud.tr eru ,1tr,tr41 ttllełoĘo+oJd durer.trzeu ar91ą .e1 d1o>1o1or6 (ezcn11 etuerupe8zn .€u"tulloH--o3"Blo €zcnPl .,(ueturdlł łtsIuaqcs cŁtnągdpour qcdcŁfnse;e1ul alol.tt t1ełrocerdo ItsuII z€Jo tsIuTIIsg{€I .o1ourns1etr41
.tto1o>1o1ord
.z.v.g IJtrĄJ Bzcnl{ BIuElupBEzn 19ąo1ołd 'tuto1o8ozczs erueru1ednzn olutsptsz rłr.oąru1e1dz3 nlllou€1ń.oso"ro1ultsz
duret,tne1sozo4
.uetuatu1e1dzJol..rrn f r,-zanlĄ duęnud'ra' n1or1o1o.rd blrlzvu Isou ło{ołoJd duełro1gdp -otuz {€I .(rfsas ezcnp1 o8a.tlou Łcourod €z Ic9o{IaI1^ feueuz aruełt'or;dzsez zazld fureln1sdzn €zcnP{ oluazpJal.ł\lod soreqrey etue1sds ,t 1e[ eruqopod) .9 n>IoDI r!\
((,noo'
^Do)n6?,s)xa
:
nfr
zp'lo v n{or{
((r'oo',roo)A6ts)x2
:
^Ą
n5
cITsaDIo dzc;e1sd'11 .óqcec Ó1 r dqe .ce'tl'o1gdporuz >1e1 o3 oupnJłolu 1persod .tszcnl{ €ruazpJal.&r}od etntufeqo olu 9.8 n>1unsdr eu duesrdo łg{o}o.rd
{€upof
'n{pors-
-.Ą\-ZnJ}uI ndd1 nąe1e eruezperl.tordez.rd er.tr.t1zoluolun
L: (n o' ^
noa)n62s
(2oło'nra)L61's'n
tr)
^Ą
łrosrdpod etc.fzn
oIu9€ł^A
(yra'noo)n6?s
n
L: (n,o( x,o)M1s'nott
1"D
noi.o
:urer8etp dcbtndó1seu o1 e!n.l1sn11
.n g{Iu^Ąo{łdzn nstdpod ntu1d.ro81e
,(no,.
zeIul,lroJ EIlz
eru ze'łtoruod |,D)n6?s zezld (noo, no,)n6?' crdŁ1sez ozolu olu M aluqoP -od .^0?s nstdpod nur1dro81e Buz ofi]' ze.traruod ,(n,o, Ąolr) pod n ur1ru.uor11dzn nsrdpod cf,zctlqo gerlod eru (d1a1sarg '(n,a'ya)n6?s'zaztd (noa'n o)A6?s aV -ąe1 2rdb1sez dq1ersnur ul:ozvl ul[1 zce1 n,D ZoZJd ,,oo ctdŁ1sez .otupezrdod I łełrlc$o}r€rrr A po elnurdzr1o (
>1e[.zere1 dq1ercq3 .(qoo.^,D)^6fs
^Ą.|apo
VNVWI.IqH ocgl'Ęila
9LZ
^ZcnIX
ANVIW^foI
soxoIoad
.Ż'8
8. UZGADNIANIE
276
I DYSTRYBUCJA
KLUCZA
ko|ei TA używa schematu podpisu z (publicznym) algorytmem weryfikacji uera6 i tajnym algorytmem podpisu sigte.. Ponadto kazdy uzytkownik U posiada certyfikat
Z
C(U)
:
(ID(U)'
óU,
sig1a(ID(U)' bu))'
w którym bg powstaje w przedstawiony wyżej sposób'
Protokół uzgadniania klucza MTI jest przedstawiony na rysunku 8.7. Po V uzyskają w wyniku obliczeń ten sam
zakończeniu protokołu użytkownicy U i klucz:
K:
e:'uov+rvau modp.
(1) użytkownik U wybiera losowo rU' 0 8u
:
śru śp -
2,
i oblicza
o"u mod P
(2) U przesyła (C(U)' sU) do użytkownika V (3) V wybiera losowo ry, 0 śrv śp _ 2, i ob|icza
sv
:
dtv mod P
(4) V przesyła (C(V)' sy) do U (5) U oblicza
K:
svaubvtu modp,
gdzie wartośćby pochodzi z C(Y); natomiast
K:
V oblicza
suavbu"v mod p,
gdzie wartośó bU pochodzi z C(U)
RYsuNpx 8'7. Protokół uzgadniania klucza Matsumoto-Takashirny-
-Irnaiego
Popatrzmy na przykład ilustrujący działanie protokołu.
Przykład 8.3
27803 i o : 5 są publicznie znarre. Przypuśćmy,że U wówczas oblicza
Zał.ózrny, że wartości P
wybiera bu
:
au : 2ll3l; $21131
:
mod 27803
:21420
i umieszcza tę liczbę w certyfikacie.
A
",i,'(A)C
,/v\
"ro'(fi)C
^,^2'(^)C
n
",o'(n)c
:octfndó1seu 9ept13dał dq139tu dzsnrreuecs qcdrr'lr1zoru z uapof .1yl nzazil' uleteznteu erqos aue1,{sezrd rc9o1rełr IuaIIuz 1óyaz ,cfrztepz bts azow (otcsrłr,{zcezg .n{poJs-.Ąó.-znr1ut ndd1 1!.lo{tsłts ep 33orp €JoI.1!ó,ło n1oąo1ord rfcezt1ee.r olc{tsJ} nA tlt'ostdpod arcórururod az .óts dqop,uepd.tr :uezot?ez qcdrrrt1zotu z oupot o16 op arudpet órs
ctlezcrue'rgo .n>1unrer>1rud1łt q9,a q"r.,pl;".;##ó"ptT."T.f1l-x olzęl /t1-oilrt'1suazcerdzaq clupol\Ąopn 1set
-etzpóq etu .o3eu.ttl1{? g{Iu1(Icazrd rup1e
fetupnr1 aluzcvuz.trop1o1ord n1ar.tr n1ped f,ztd n >pt oruqopo4 .€Iuozcl^Ąc zt1ed' tsutsuIIIoH o8egrq nura1qo"rd ęIp ry| .oures er>1e1 oIuPBł{op 1se[ .uerątu,\Ąrcezrd urdurarq z etuotuf,zc op drueur dpB .n1ped.{zrd .tr 1a141 n1oąo1ord ołt.1suezcard -zoqoz,cpzvĄf'ay oupnJłalN .nł€Iuoqcs o3e1 nłt1suazcatdzeqbrc 'tust1.rztt,|zl4
A
d pour d pour
:ure.rBerp e[n"r1sn1r n1o>1o1o"rd {cuzl1eet olsezc
.1!ó'
A
n
op e1sdłr o+,ggvt7'
l./!d.o{Iu.//Io)I1dzn e1sdlrr'
od'gggLl:
o} .69I
_
_
n
ał. Łfe8erqezrd
tl"t'
:
ezrclqf,tr
r 11 cóurł,
n
: :
-
e7 ,[a1ep
j
ąe;
Ą,tIy
eruezcqqg
unrg
: :
A"
fl"
rI z€Jo} Ilsar >1rud,rł.
tggfz potu nnr.r9
n
^NvIwAlA
A'n2r
n zprol
gsyezg
IoIo{ z IT9of
A
tQgf[ potu
n"t' ozrcIq1'./{I
.n1e1gd1rac o8e[o.tt's op
:
Ap erelq'tn
t
",^c'(A)C
",p,(n)C
rfcuurro;ur zaĄozrdL
.zcnl{ rutss ue1 qdzcr1qo
'00912
t0gfz potu sswz)zvrzsse2rggzg dpour ,r'o9r,ooS :dctfnd31seu qosods
'00912 : : :
80gfz pour 6eT00IfIrsrr"6gLgZ
dPotu nrAgnDAs
zcrq4 c'-{zulqo ozour
'69192: EjqLZ pou ?9o}J€^l
.99U9 ?9o}J€.t\
00IfI tszcllqo tnf,zc
v NVWI.IgH_ocsIddIq AZ c n.IX
LLZ
afnstd.u
:
r
^g
ducsndfzr4
.łoxoload
.
Ż.
8
8. I]ZGADNIANIE
278
I DYSTRYBUCJA
KLUCZA
W tej sytuacji U i V obliczą rózte k|lcze. Użytkownik U obliczy K :61.ruav*,ł", .,,,odp, podczas gdy
V uzyska wynik
I( : glruav-trvou modP. Jednakże zadne z tych obliczeń nie może być wykonaneptzez W, poniewazkazde z nich wymaga znajomości tajnych wykładników ag i ay, odpowiednio. Tak więc jeślinawet U i V otrzymająrózne wartości klucza (co uczyni jebezuzytecznymi dla obu), to żadnego z tych kluczy nie może ob|iczyć W (zakładając obliczenio wą nierozwi ązalnośćproblemu logarytmu dyskretnego). Inaczej mówiąc, każdy z użytkowników U i V ma pewność, że drugi z nich jest jedynym użytkownikiem sieci, który moze ob|iczyć ten sam klucz, co on. Tę własnośćniekiedy nazywa się pośrednirn uwierzyteln,ieniem klucza (ang. implźcit keg authent,ication).
8.4.3' Uzgadnianie klucza z użyciern klucza samopotwierdzającego opiszemy tu zaproponowanąprzez Giraulta metodę uzgadniania klucza, w której certyfikaty są niepotrzebne, gdyż wartośćklucza publicznego oraz identyfikator użytkownika pośrednio uwierzytelniają się wzajemnie. Schemat Giraulta ł'ączy cechy kryptosystemu RSA oraz metody logarytmu dyskretnego. Niech n : PQ, gdzie p : Zpt ł I, Q : Zql'f 1; zakładamy, ze P, Q, PL, q1 są dużymi liczbami pierwszymi. Grupa multiplikatywlaZn* jest izomorficzna z grlpą Z," x Zn*, zatem maksymalny rząd elementu grupy Zn, jest równy najmniejszej wspólnej wielokrotności p - I i q - I, czyli 2pg1. Niech o będzie elementem ruędll 2p1q1. Wówczas podgrupa cykliczna grupy Zn* generowana przez a stanowi odpowiednie tło dla problemu logarytmu dyskretnego. W schemacie Giraulta tylko TA zna rozkład liczby n na czynniki pierwsze. Wartości n i o są publicznie dostępne, natomiast liczby p, Q, p1 oraz Q1 pozostają tajne. TA wybiera publiczny wykładnik szyfrowania RSA; nazwijmy go €. odpowiadający mu wykładnik deszyfrowania d jest tajny (przypomnijmy, że d: e-t mod /(rz)). Jak w poprzednich schematach, tak i tu użytkownik U dysponuje ciągiem identyfikacyjnym ID(U). Ponadto otrzymuje on od TA samopotwierdzajqcy klucz publiczny py' jak to jest pokazane na rysunku 8.8. Zalwazmy, że do wytworzenia klucza pU użytkownik U potrzebuje pomocy TA. Znając pU i ID(U), można ob|iczyć bu
:
pu" + ID(U) mod n,
korzystając z ogólnie dostępnych informacji.
Protokół uzgadniania klucza Giraulta przedstawiamy na rysunku 8.9. Przekazywanie informacji w ramach protokołu ilustruje następujący diagram: ID(U),pu, a'u modn
ID(V),py, o'v mod n
.t9w8 a ,{pałd\ |tttgzt: p 1set VstI tsru€.Ą\or;dzsap uer1 -rupe1>1dirł. ya zeztd urdue.rqdrt ez .dtu99nddzt1 .7l@)Q : IbIdZ pbzl vlll g : a .99t,ćzL: (u)Q rcro LgOv1'L - u stszcroo6.s93 : Ó l ogg - d qcer1q łuoluolg
V'g pey>1.tzt4
.ęłIntsJIc n}€tuoqcs Łcourod vz tzcn1n duerud,tr
pe1>1,.{zrd
'U pOIII nont+ncntO:
o19
X
zcn1ą erqers zez"rd .{uozct1qo tutss uoł v1sdzn
A I n ł\głIu.ttoą1dzn z tp?vĄn1o4o1ord nluazDuołtsz od
BłInBJI9 Bzcnlł e.rue1upe8zn łg{ołoJd.6.8 ?.,
poru
",((n)OI
+ .nd) nons tszDIIqo
.u potu
|I op
A
er1tułt'oąłdznop ns. zeto
ńA
o.ĄĄosol
v NvW.I1gH_o
n,
s1
€zcTrqo
e1dsezrd
n n
(g) (7)
eratqdm A (t)
t|d.(n)oI e1dsazrd polu
:
na^f
n
I
xgNnsłll
: y
+sęnuol€u
: "'((ł)oI ł .ltd) n,ns łs zvlo l\d.(rr)oI
: AS
U pOIII rrrD
€zcllqo I AJ
n
IL
tszcllqo I nJ o.ł\osol erarqdat
Bzcnlł o8ecbfezp.reriu1odorrres nluazJo1\Ąl
n
(6)
f19
4ul,r.o>11d?n (I)
o8euzcrlqnd
Y;, łElzPn .8.8 xaNnsłll
nd ?gou"er'ł' n etepod u Potu p((n)Ot nq !
Tc9ołJ€.Ąó.
-
cgMIIa AZc n.IX
^Nv
:
nq)
Yr
(7)
nd
ezcrlqo yJ (S) etepod q (6)
ya
u polu
ezcllqo I nD {Iuptsł{dn. dute1 ererqd.tr
6LZ
nrru:
n
- llq
>1rułl.oą$zn (1)
soxoload'
Iw^^Ą
t. 8
I DYSTRYBUCJA
8. UZGADNIANIE
280
KLUCZA
500021 otaz av : 111899. Wówczas bu : 488889 : 123456, co daje oraz pU: 650704. Zał,ózmy równiez, że ID(V) : 500022 i ay bv : 111692 i pv :683556.
Przyjmijmy, że ID(U)
:
Jeśliużytkownicy U
iV
chcą wymienić klucz
iU
wybierze
ru :
56381
(coprowadzidosu:171007)'aVwybierzery:356935(coprowadzido".,
:
szooss), to obaj obliczą ten sam
k]rucz
Zobac rodzajem nikt inny
K :42869.
I
e chronią
wartości ednio ich
jest podobna. Przeciwnik W eniu wspólnego klucza, ale nie omawiany schemat, Podobnie
by przekazał' bg, nie znając
żytkownika U wartośćpIJ, był ptze
podkreślenia schemat, gdy TA ro czy uzytkownik zna
że W wybiera fałszywą wartośćo! i dla niej oblicza
bl :
jak mozna zaatakowaó uprzedniego sprawdzenia, wartościbg. Przypuśćmy,
my,
Dla
6r"" mod n"
Wówczas może ustalić odpowiedni klucz publiczny
pL: ft| -
ID(U))d mod n.
Istotnie, zacznie od obliczenia
bG:btu -rD(u)+rD(w), po czym przekaze TA swoje dane: publiczny klucz
pl, :
(b'w
-
ID(W))d mod n.
b{g7
i ID(W).
ZaŁózmy, ze TA' przekazuje W
.[rouIc] lIneJIc ł€ulatłcs 1erlł'ouodordez qcfcb,tv,zplerrYr1odoues dzcn11 Ótcnqdr1 -sdo .lggIu,tt) n cze1vuz eu?ou o8ereru1 1 durqsu1ea .o1ouns1etr,1 d1oąo1or4
.ltocg1 etue1s,{s urd1 o n1ru1d1re o8ełlosrdo IuoJo} rlsre.t srd6
-ne 1se[ rollil{cs 'lgONIy] M czaltsuz Buzoru soroqray muelsfs
n
.[zom'to] tsJouolł\
I
€}oqcsroo uerr .o8agtq l|cpld z tzpoqcod tszcnl{ aruertud.tt feuotu1e$zret.un o alceruro;u1 .lszslĄ] oI{JoIĄ ł€,ł\ołNuJoJs €zcnpl ,(uetrudrlr 1sdurod oluzo1ezolN .[szHo] tszcnPl duprrud,u ur$ro81e lgrrrs rp.tł'oąr1qndo uueurllaH T oUTo .,rl.
.t76c€I]
cvnlt1lzcpo 139ul atzpóq
-op€I,Ą\
zero qc'(uur I p € unlg qcecerd fu\ cfoIpllf .lssra][t6AA;1HSog] l& €zcnl{ rlcnqd"r1sdp [eudó1s.,rt 1tstuaqcs t9,us
193on
€Iotrrlog
€Ioqc
I
v-uzouJ €Iuolu
1r,tne1spezrd uro1g
ege;8og1q;q r 1Sernn '9'g l
ezrd
.rrł.
arue1sozod
A 9oqc
6
qosods ual
,11 zaztd n euelł'dzo1ez.rd rcsorrr M .n z zcn|Ą |Iolzp az .nrueuor1 A I M olcts1lnzoJ ł\
.ezcn11 o8eur"es o3e1 9ełrdzn tpÓq .?,l
poul
9,((ł)oI +
'^d)
:qosods duur łl, ,;,1 clzcqqo azolu '?.,
>1rud,tr
n,hs
711
: ,X
olusozcoupof
poUI npnt+nontr.o: x dpB sezcpod
Łzpep II €Iuozcllqo
'upoul lont..npnl0: ,)[ zcn11 dzcqqo
A
U poru
A z€JaI
u poru ,rrae'Ad'(1)q1
^'łr(Ąd((n)q1 ^Ą
u poru n,^2'1d'(n)OI
u poru
n
"ro(nd((n)q1
:dcŁ[nd31suu qgsods .tt ófcerrrro;ur Ł|oitrt's tul "el.ĄttsłsPod 6 1senuo1vu .1o4o1 dcru.ro.ol1,tzn ersezc rudzslatuVod n sz, (zetal durcsnddzr6
-ord tlnzrleeJ
A Tn
'1d: \d ez .1serurqcd1eu eł1rufn (u poru) (n)ot
_
9q = ('ĄĄ)ot
- lq
rc9ou^\oJ
VIIVEDOIIAIA
I8Z
ICU/AN
I
z
'9'8
8. UZGADNIANIE
282
I DYSTRYBUCJA
KLUCZA
przedstawiony przez niego był w istocie schematem wstępnej dystrybucji kluczy; modyfikacja prowadząca do schematu uzgadniania klucza jest oparta na [RV9a]. Dwie niedawne publikacje Rueppela i van Oorschota [RV94] oraz van Tilburga [vT93] zawierają przegląd wyników dotyczących dystrybucji i uzgadniania klucza.
Ćwiczenia
: 1 dla grupy czterech rv : 2365, rv : 6648,
8.I. Załóżmy, że stosujemy schemat Bloma z wartością k użytkowników: U,
rw
:
1837
i 11
:
V, W oraz X' Niech p :
7873,
2136. Tajne wielomiany g są określone następująco:
su("):6018 t 6351r sv(r) :3749 ł 7I2I:r sw(,) :760I ł 78o2:t ex(r) :635 * 6828e (a) oblicz klucz dla każdej pary użytkowników, upewniając kowie pary otrzymują ten sam klucz (a więc czy
się, czy obaj człon-
Kv,v : I(v,u itd.).
(b) Wskaz' jak W i X mogą wspólnie obliczyć Kv,v. 8'2,
Zaił'óżrny, że stosujemy schemat Bloma z wartościąk:2 dla grupy pięciu użyt14, rv : 38, rw :92, rx :69 kowników: U, V, \M, Xoraz Y. Niech p:97,rv: t ry :7g' Tajne wielomiany g są określone następująco:
9u(r) :15 + 15r + 2r2
9v(r):95 ł77t * 83c2 łw(t):88+32r*1812 gx(,):62ł9Irł59:12 9v (x) :10 + 82u ł 52:t2 (a) Pokaż, jak U i V, każdy z osobna, obliczą kllcz Kg,y (b) Wskaż' jak W, X i Y mogą wspólnie ob|iczyć Kv,v.
: Kv,u'
8.3, Załózmy, zeU i V realizują schemat wymiany klucza Diffiego_Hellmanna z wartościami p :27o0L i o : 101. Przypuśćmy, że U wybiera av : 21768, aY wybiera av : 9898. Pokaż obliczenia, które wykonają U i V, i wskaż klucz, który będzie rezultatem ich obliczeń'
V realizują protokół MTI z wartościami p : 30113 i a : 52' Przypuśćmy, ze U ma au : 8642 i wybiera rv : 28654, natomiast V ma av :24673 i wybiera rv : 12385. Pokaż obliczenia' które wykonają U i V, i wskaż klucz, który będzie rezultatem ich obliczeń.
8.4. Załózmy, że U i
8.5' Bierny przeciwnik, próbujący obliczyć klucz wygenerowany przez U i V zgodnie z protokołem MTI, zetknie się ze szczegóInym przypadkiem tego, co można nazwać problemem MTI, opisanym na rysunku 8.10. Udowodnij, zekażdy aIgt> rytm, który może posłużyćdo rozwiązania problemu MTI, może posłużyćtakże do rozwiązania problemu Diffiego-Hellmanna i na odwrót.
l
,l
.zcnl{ dul9ds.,ll'.{zclTqo I /ńo{Iu./tĄ'oł1.{?n z ł€ [ (z€{od T As zpro A Il ^p7vĄ ns zJ]Iqo .O7,v9 : €Jalqd^Ą A € .999qT : n"r ęratqfm n ez .'(ur99nd,{zr4 (p) ^J '(ł)ot r Ąd rcsolręrvr cb|ewz ,^9 c'frzcl1qo >1ef ,ze>1od aluqopod .a o1tupe1>1,{,tt. oBauzcrlqnd z cblels[zto4 I (n)OI zpto t\d cbte-uz'^Q 9.tzrl.1qo 4et'ze1o4 (c) '^d \ zcqqo'7692 - ,ro I uz00l : (^)oI ^q cŁfnurldzrd .aruqopo4 .nd r nQ zcqqo .9796 : no 1 Iz001 : (n)oI cbtnurt'{a4 (q)
'p zJrtqo (B) .t686Z
:
u pb1s e
,6LI:
b
,LgI:
d IIu€IJ9o}J€/ń
'IOIII :
eIZ
: a
z ts}IneJlc l€ruaqcs
ez'.ttuzoleg 'tulzentzog 98
.0T.8 xqNns^.ll IItrĄI urolqoJd
+sol *dZ
'd poru ; .Bo19L -rorj ctrzcqqg IaC '*oZ ) t'g'L 'd zero tudulorurerd ruelueurele ) łl (tzs^\raldbqzul lsel d arzp8 '(t'g'L' j'o'd) : 1 ouBO
t8z
eluazC!lYrQ
Schematy identyfikacji
l
9.1. Wprowadzenie
I 1
Metody kryptograficzne umożliwiająrozwiązanie wielu pozornie nierozwiązywalnych problemów. Jednym z nich jest skonstruowanie bezpiecznych schematów identyfikacji. W wielu codziennych sytuacjach zachodzi koniecznośćelektronicznego ,,udowodnienia'' swojej tożsamości.oto parę typowych przykładów:
(1) Pobierając pieniądze z bankomatu, legitymujemy się kartą wtaz z rocyfrowym numerem identyfikacyjnym (PIN).
czt,e-
(2) Płacąc kańą za zamówiony telefonicznie towar, podajemy numer karty kredytowej (i jej termin ważności). (3) Realizując międzynarodowe połączenie telefoniczne za pośrednictwem karty telefonicznej z przedpłatą, musimy znać numer telefonu kontaktowego
i czterocyfrowy PIN.
(4) Łącząc się ze zdalnym komputerem, podajemy aktualnie obowiązującą nazwę użytkownika i hasło.
W praktyce tego rodzaju schematy nie są implementowane w sposób wystarczająco bezpieczny. Protokoły realizowane podczas poł'ączeń telefonicznych są narażone na podsłuch, a podsłuchujący przeciwnik może wykorzystać uzyskaną informację identyfikacyjną do własnych celów. Dotyczy to także odbiorcy informacji; wiele oszustw dotyczących kart płatniczych odbywa się w ten sposób. Karta bankomatowa jest nieco bezpieczniejsza, choć i tu występują słabe punkty. Na przykład, osoba monitorująca kanał komunikacyjny może zdobyć wszystkie informacje zakodowane na pasku magnetycznym, podobnie jak i sam PIN, co otwiera oszustowi drogę do rachunku bankowego posiadacza karty. Wreszcie, powazrlyrn problemem jest bezpieczeństwo łączenia się ze zdalnym komputerem, gdyż ani nazwa użytkownika, ani jego hasło nie są w sieci szyfrowane. Kazdy, kto monitoruje sieć, może uzyskać do nich dostęp.
-ezrd r
'olzpałĄfrzJd €u nło{o}oJd o8aDItsT nlu€ł€Izp
órs durldzrldz"t6
.T.6 >IsNrrs,rll 7pe1rnodpo-a1ue1fd ndf1 1-oąo1oJd fi
: fi
oz .€zp,l,.\€Jds
(r)xa
I
: 'fr'
tszcllqo
łolog (t)
I^\o{Iog >1rudłr a|nzeąaz"rd t
(r)xa:
^Ą9}Tq
79 n8Qrc o8e.tloso1 rce1sod
n n aruo1fi,d
fi,
efnze>l
llclry al
elclv
€zcllqo ererq.,(,tt
(z)
{alog (I) I
.'a
4
€Iug1ńo{dzs
f,chtęzceuzf'ny
Ó[c>1un;
,y fru|e1 zcnp1 ,tu19ds.rvr b1erzp afoqo udzc dzrd.r.t.ror11og órs er.te1spazrd elcqy 'Bue) zpatmodpo-atuoyfi'd nd.fl:ol.al az 'ruru,rrr 3rs epe11e7'(asuodsa-t'-puo-a6ua77oqc .Sso
-o4o1ord 1ruęll^f,zeu 1se[ 1o1o1ord 1.6 n>1unsdl eu duesrdg ł€| uIDI€t p€ł{ -'tzld. ęu.urdu1ervrdrd uozcnpl z tn'tuzcgel8o1d.'trą errue1sds urdu1o,trl'op eu .,(pedo cttq azotu dro14 'nleuaqcs oBelsord ozpreq po >leupet ,futttuzceT '1!ce1gd1uep1 qcdue,troso1s |atcgbzc z eJgl{oTu ..tuazstdo ol"-l.zpzoJ tu/(1 rrr fe1eq
1r\gl€Iuoqcs
.rtce1gd1uepr secord lacŁlnfcrur dqoso tcsoueszo1 ale1sozod NId ItsptsN .d1reą eruerqnBz rur
BlutszpJol1{t}od rue1ueua1e urfupÓqzeru
.99oureszo1 tfoitl's -elcue.tł1esuoą pezrd duorqco tartoą1epop dua[nąs.'(z olu ruo}€z .duldcg{Iuntuo{ 1eue4 oBecŁ[nJołIuolu e1rułlrcezrd du ..etupelłopn.. ts}Jg{ erueg -oJłs az rueqcn1spod etuazot?ęz ceqo.Ą\ errln1suezcerdzeq uduozs1Ót,tz o nl €.^,.IoIu ez .ct1se.rąpod 4eupet ołJą!\ .o.Ą\oł€Iuo{ueq dpe4 grzp ectleru1sl zlu o1\\łsgezcetd -zeq azs13r,tr dqe1eru.tredez ts+rvĄ €{tsJ .Iunullurur oBeup3qzaru op euozcruer8o .euzcd1 c'(q Łzsnu artotcóturęd etueSęrud.u t >1e[ .uezct1qo ?9oII olJllroJvz pt1g
-eu1dre tsruazcllqo 9euo1drrr' dq139tu dr9łą .duo1ecs p€łłn
łl leuozesodd,tł' [e,u,
-o1dpeq aIcIBł €u ozcIupęstsz t1dzc .ercrv1 [eu1ue31e1ur 3u cts.Ą^'ozqtsorz o3 o1dq l.auz'ou]' dq .o8e1so"rd a1d1 eu n}€ueqcs nlualzoleuz eu e8e1od alu€ptsz tsruazplłr nł -ąund oBeuzcd11erd 7 .1|cu4gt1uopl .Ą\g}€Iuoqcs qcq€ł e1etrrr znl ouerr.rocerdg .qc,{utdcu4gd1uepr zoq?1olJJtsszo1 Łfo,trs aluzcluoJł{olo tsIuęzpę,JPz qclo.^,&s qcduep .cbrłloul tazcel1 .o8atu ceqo,u' Icsolu€s clupo..1lopn e18our e|c11y dq .o1 o rzpoqc .zo1 lelołls btu zaztd nluozpJol.&łod od Ótclly pod 3rs etcdzspod L&o{Iog ?utlIIT .bru pod órs cdzspod erudó1seu -zoulalun zolu.lrrrgJ uerurrr.rod }€ruoqcs .[ac3rn' o3 dq139u .''IIog coqolu 99olutsszo1 Ł'lłs ezprerłl1od e1 ,(pB .Ótc11y e|nqcn1spod op1 .sop1 fergt{
,t .rfcen1ds
[err1e1
erueSerqodez 1set rtc"er1gd1uopl n}€tuaqcs
uloloc
srNgzoul Oadlt
982
't'6
9. SCHEMATY IDENTYFIKACJI
286
Przykład
9.1
Przyjmijmy, że Alicja i Bolek używają funkcji szyfrowania wykonującej moduIarne potęgowanie:
e6@)
:
ilror37s mod 167653.
JeśliBolek poda wartośćr :77835, Alicja odpowie |iczbą y
:
100369.
Praktycznie wszystkie schematy identyfikacji są protokołami typu pytanie-odpowiedź, choć te najbardziej lżyteczne nie wymagają wspóInego klucza. Tym zajmiemy się w dalszej częścirozdziału.
9.2. Schemat identyfikacji Schnorra Zaczniemy od opisu schematu identyfikacji Schnorra, jednego z najciekawszych praktycznych schematów identyfikacyjnych, Zakł'adamy istnienie wiarygodnego czynnika, którego nazwiemy TA. TA wybierze parametry schematu:
(t) p
duząliczbę pierwszą @zyli p
ż 2,',), taĘ ze
dyskretnego jest obliczeniowo nierozwiązalny w Zp*;
(2) q
- duzy dzielnik
(3) |iczbę
pierwszy liczby
p_
1 (czyli
problem logarytmu
ł ż 2I+o)'
a € Z,* ruędl s (taĘ |iczbę a można obliczyć, podnosząc element
pierwotny do potęgi p
-
I);
(4) parametr bezpieczeństwa t, taki że q > 2,; dla większości praktycznych zastosowań wartośćt : 40 zapewnia wystarczające bezpieczeństwo; (5)
fA
ustala ponadto bezpteczny schemat podpisu z tajnym algorytmem podpisu sigTn i publicznym algorytmem weryfikacji DerTA;
(6) bezpieczną funkcję skrótu (jak zwykle, informacja podlega skróceniu przed podpisaniem; dla ułatwienia śledzenia konstrukcji protokołu będziemy pomijać w opisach protokołów proces skracania).
Parametry p , q i a oraz publiczny algorytm weryfikacji UeTT.A i funkcja skrótu są powszechnie dostępne.
TA wystawia Alicji certyfikat. Gdy Alicja chce taki certyfikat otrzymać, postępuje się w sposób opisany na rysunku 9.2. Kiedykolwiek Alicja zechce później udowodnić swoją tożsamośó, na przykład wobec Bolka, wykonuje protokół przedstawiony na rysunku 9.3. Jak już stwierdziliśmy, t jest parametrem bezpieczeństwa. Służyon do te8o, bY osoba podszywająca się pod Alicję, powiedzmy olga, nie była w stanie
l
dqe18oru e316 .o1e1s órs 1e1
dqdpc .J
'd poul ,a6D
: L
l fr, cso1teit Łu1oru.op cerqdrrt r1dzc .er11og erue1,,{d cbupe8po
c.fzu1qo Icso1l€1r\
BJJoIIqJS 1|cur1gf1uepl łEuIaqJS .8.6 >IgNns^lI (d
I.ĄołIog ń Ó
pour) ,auo: L ez,vzpntvtds ąa1og (9)
4udł' elnzvąezrd
pour JD +
5l:
BzcIIqo b,t altzu>1eztd
I rZ
)
t
fr
ęlcłv (q)
I!cłV a? b>1e1 '"t,3qzcr1 brrr,osol e"rerqdrvr {alog (7) r > I 1e1 : (s'o' (efcly)ql)Yr;u, ttzc.cb|ezpnerds .ya srdpod e[n>1g.{re.ła. łalog (t) L csolreru. zero (s'o'(etcrly)q1) : tĘ$d1rac lgrrts ur'oą1og e|nzu>1eztd e|cłv (z)
: ("|"ltv)c
€ZcIIqo
\I-b
>
dpour ,D: L ł > 0 oqbĄe"+,ąbqzcqt.łroso1 ererqdrw e|cltv
Ipllv
BIP n1eł1gr(1.rac a1uemepr(11 .z.6
(s'o'(efc11y)OI)
op
rr,
(r)
xsNns^ll
: ("l"ltV)C
logdpec egerl ttcqy (o .(e|c11y)qI)vr'ó?s
:
?9ołJe,re e1fsez"rd
op
s
srdpod ofn.reueB
YI
td pour
y1
(s)
vlf,zc od
,_D
:
e
Bzcrlqo
1_ó 5
r
D > 0 a? I{tsł .?2 {rupe11f,tł' dłloso1 ererqdrrr eturue[e1od e|cT1y
aufdcvqgdluapr afceuro;ut dcb fe.ratmez
(e fc11y)
q1
k)
8Łrc etnpnq erud31seu l.d1r d1srqoso pgló'op .€ruozpoln e1..tr1eur .rurepo1eur rurdufdcdpurł I|oIN ?9oultsszoł tsIepn YI (r) ąe! plp1e1
yutroNr{cs
L8Z
rcvvr&IrNsqr rvwsHcs'z'6
9. SCHEMATY IDENTYFIKACJI
288
kroku I' Później, po otrzymaniu pyprzez tania r' odpowiedziałaby wybraną siebie wcześniejwartością y. Wówczas Bolek uzyskałby potwierdzenie wartości 7 w kroku 6. JeśliBolek wybiera losowo |iczbę r, prawdopodobieństwo jej poprawnego odgadnięcia przez olgę jest równe 2_', dlatego w większościprzypadków wystalczy t : 40. Zwtóćmy jednak uwagę na koniecznośćnowego, Iosowego wyboru r za każdym razem1 gdy Alicja identyfikuje się wobec Bolka. Użycie tej samej wartości r umożIiwiłoby oldze podszycie się pod Alicję w sposób opisany wyżrcj. W protokole weryfikacji dokonują się zasadniczo dwie rzeczy. Po pierwsze' podpis s potwierdza waznośćcertyfikatu Alicji. W ten sposób Bolek sprawdza Ptzel
podpis TA na certyfikacie Alicji, aby przekonać się o autentyczności Samego certyfikatu. W istocie rzeczy tak samo używaliśmycertyfikatów w rozdziale 8. Druga częśćprotokołu dotyczy tajnej liczby a. Wartośćo Spełnia funkcję podobną do PIN, przekonuje bowiem Bolka, że osoba wykonująca protokół identyfikacji jesŁ rzeczywiścieAlicją. Jest jednak istotna r6znica.. w protokole identyfikacji wartośća nie jest ujawniana. Alicja (a dokładniej jej inteligentna karta) ,,udowadnia', , ze zna wartośća w kroku 5 protokołu, ob\iczając a w odpowiedzi na pytanie r zadane przez Bo|ka. Ponieważ wartośćo pozostaje tajna, tę technikę okreśIa się jako dowód przez w,iedzę (ang. proof of knowledge). Za pomocą następujących kongruencji pokazujerny, ze Alicja będzie w stanie udowodnić swoją tożsamośćwobec Bolka: (!U
lJ, = okłar,r (mod p) = okłar.-ar (mod p) = ak (mod p)
: 7
(mod p).
Tak więc Bolek uzna dowód tożsamościAlicji (jeśli postępuje uczciwie). Mówimy wtedy' że protokół jest zupełng. oto mały przykład, ilustrujący procedurę pytania-odpowiedzi w ramach protokołu.
Przykład 9.2
: 88667, a : 1031 otaz t : 10. E|ement a : 70322 ma w Zo* rząd Zał'ózrny, że tajnym wykładnikiem Alicji jest liczba a : 755. Wtedy
Niech p
u:
: :
(r,-o mod p 7O322ro3r-755 mod 88667 13136.
Przypuśćmy, ze teraz Alicja wybiera k
7: : :
ak modP 70322543 mod 88667
84109
:
543. oblicza wtedy
q.
'(d
pou)
ztaztiD
:- 1raylD L = ztsro
(r
Pou)
zfi' # rft
oz o7ĄP.+ (ZJ , zęto I.l .zn (Ifr,Ic9ołJ€^Ą cdzc11qo ezour e316 carrrt ąea .Z 1 ) łZ ufo+Ez vłZf I < a Eluazołvz z zęłrl.oluod.n1oąo1ord n>Ior>I łr efn1decąeez {olog btg+n,fi, ?9ołJts1[\ 9 - qceąpeddzrd a 6 og1lĄocr
c,|zcl1qo azour e316
-
"t"
I
!
l
yvl,'Ąd qcdłrr1zoru lZ P9r9ods
.urdrrrouerruolol.Ąó' tsuo ozoul ol n o cfzu1qo olstszc , .łr Ó!c11y rrt Órs eru ,-,Zf I < ) olJlillgr pet rtco1gdloł\ nłołolord rlcezqeer aID>ItsJ+ o,upyerqopodoprte.rd |ar9q e1p .L cso1rełr euz e316 t19ep -alolc1\Ą o8auzce1n>1s tet
T.6 gINszo1{gI1\Ą'J
'eru -ozpJol^Ął ecbfndó1seu alnurin n1o>1o1o"rd ert1sgezcardzeq ór1se.t.rr1 taupe1>1oq ',fulezbtnzotoru o roruozcllqo lsef - dtuelnurtdztd nel - drgP{ 'oBeulerls'tp nru1dre8o1 nue1qord atwęzbtntzoł'tsptsłĄr'z o rcgouoleuz er.łłe1spod tsu o Icso1JB^\ .7 oluazcllqo .rr Q[cr1un; 1se[ ź e1e ,fi, cttzct1qo ńqe1ersnru ts8lo g DIoDI M n{oJ{ ^\ .tl tcso1r€.u .I!cłV ąeupet chtęuz ?ts.Ą\€pn ozolu olu "l ..atue1dd.. 1se[ urepo,tod a15 .(1|cogd}uopl nło{o}ord rlcezt1eeJ |op?erl fzrd guerurl.reln 1se[ e1re.trez uIIu .ry\ 'du[e1 1se[ eru lelgdpac oz 'drufiutuod'tzfi) (s'n.'(etcqy)Ol) :
efceruro;ur
e
: (e|clly)3
qdzc
.r[c11y n1o1gd1rec
o8eułrcrdod cfizn ltqe1Bour e316 .te1eq
'B{log zeztd fuv,no4gttsanz erurwdldzod feru .f,uzcetdzeq -zod dq1e1soz [.łQIĄ.,s nsrdpod 9errroreua8..lt eł€Tlun etzp3q eru e316 ..,s ou nsrdpod łtsIuaqcs II9or .nło{ołord g nąorą rrr rzpnerds 1e1og oc 1sa!
YJ
(,a.("|"ltv)or) urdctleperrrr'odpo uesrdpod eząeupa1. .a
-ut.łłod ?f,9
'(,s' ,n '(nl"ltV)Of)
:
f
,a etzpB
(e!c11y),3
.e316 dtuzpernod .1snzsg .ótc11y .tr óts 1er1gĄrec cts1r\ozst€Js Órs 9ere1s dq1B9ru cełloqord ąturrrtcezrd dq139ul qosods Ił€|'\Ą .cr1e1sn zere1 durlnqord5
9IIoIJ.Ą\
.etc11y órs
n
ótnpteuz o8eufdco1runuo{ nł€uol aluoJłs ter8nrp od ez,g[zrc1.Ą\n nlu e1e.uzod
o;
'(/ggss poru) 000Tgtrgr.*szztoL = 60178 :ezp.uerds {oIoB z€JoI
.?9ołJ€.tr buer1sdzn {€1 lł\o{Iog e19azrd t
r98 It0I poul 000I '99f + t7g
:
"r
arue1dd tsp€z
{aIo€J
dpg
.rno>11og
: :
JD+ą:
Ópotu euoąfrrn. ę|oIIY .000t
yuuoNr{cs
682
fi
:aIuaZJIIqo acŁfndó1seu ó1 e1dsezrd t
L 99ope,u
tcvxrilrNsor rvwsHcs'c'6
9. SCHEMA'IY IDENTYFIKACJI
290
Wynika stąd, ze (!ar-42
= ur2-rt (mod p).
Z kolei z równości u
:
a_a wnioskujemy' że
- Uz: a(rl - 12) (mod q). Ponadto 0 a lr, < 2t, aliczba q > "rl moze ob|iczyć NWD(r2 - rt,q): 1 i olga a: (at - yz)(rr - ,r)-, mod q, Ut
2t jest
oierwsza.
W
rezultacie
zgodnie z tezą twierdzenia.
Z powyższego twierdzenia wynika, że ktoś,kto ma niezaniedbywalną szansę skutecznej rca|izacjiprotokołu identyfikacji, musi znać (lub umieć obliczyćw czasie wielomianowym) tajny wykładnik a Alicji. Tę własnośćokreśIasię często jako s olidno ść (ang. s oundness). Popatrzmy na przykład.
Przykład 9.3 Przyjmijmy te same wartości parametrów co w przykładzie 9.2: p : 88667, q : 1031, t : 10, a : 70322, a : 755 i'u : 13136. Załóżrny, że OIga dowiaduje sIę1 7z
o8b1u1000
_ d4s4urs
(mod p).
Wówczas może ona ob|iczyć a
:
(851
-
454)(1000
-
1S;-t mod 1031
:
755
i w ten sposób odkryć tajny wykładnik Alicji. Wykazaliśmy, że protokół jest solidny i zupełny. Solidnośći zupełnośćnie wystarczą jednak do zapewnieniabezpieczeństwa. Na przykład, gdyby Alicja po prostu ujawniła swój tajny wykładnik, powiedzmy Oldze, protokół pozostawałby solidny i zupełny - choć całkowicie nieodporny na ataki, jako że olga mogłaby bez trudu wcielać się w Alicję. Taka sytuacj a zmlJsza do rozważenia kwestii tajnych informacji, które ujawnia się czynnikowi weryfiku.jącemu (lub obserwatorowi), uczestniczącemu w realizacji protokołu (w omawianym tu protokole tajną informacją jest wartość wykładnika o). Przystępujemy do działania w nadziei, że w trakcie udowadniania swojej tożsamościptzez Alicję olga nie potrafi zdobyć żadnej informacji o wykładniku o; w przeciwnym razie mogłaby skutecznie się pod nią podszyć. ogólniej, mozemy wyobrazić sobie sytuację, w której Alicja przy różnych okazjach potwierdza swoją tożsamośćwobec olgi' Być może olga nie wybiera
.dv n
.Órs -e3o1 duo19er4o uer,tred ez .oloul€{o €1WłsIoTn€ €JJouqcs
Au1ezbI,ł\ZoJoTu o,ł\oluozcllqo 1se[ du1erąs'fp tu1dr
izo1ez t1se[.o.tr1suezcetdzaq tet 9tuporrropn n}tsIuaqcs Ótce{gdpotu
€uzoJĄT
Łurrted n1 drrrr.tte1spazr4
ołotug{o 1|cur1gf1uapl ł€uIoqJS .t.6
.ouuloJ{s ozpręq ev>p1 bs aufdce4tunuro4 erue8eurf.tl .9epr.tt {tsf .ł\głlq07I .7 n>1o"r>1 ł\ 1Y\9łIq 07 t|cTIY e1fsazrd I'Ąo{Iog €zcJtsłsop €|oIIV 9 nłoJ>I .ł\ olczsoJ1r! .rfceru"ro;ur npllQ 998I : 7'I9+TvtI l^\o{Iog a|nzeąazld' €lcIY Z nłoDI ł\ ąa1og
{olog
B!CIIY
^"C .n1o>1o1ord n8atq :nrue.rBerp rce1sod ,ĄĄ cl.Ą\€łSpazrd Buzoru tfceu.ro;ut 3erq6 algpl (ł\gtlq óqzu19fizct1qo oDI€l "11l'"'"".*,,"
-ezł.d. sezcpod cęzvĄazld vqofl+
(Bluozcllqo .(Łrcers sezc1r\o6 ozpr€q zn|' bs.aur1-uo 9euo4.{,łt rsnru e[c11y oJ9ł{ .atue,tt ezod) aur1-go lerugezcrrr ceuo1d.u .ecqc Órs r1sa[ .euzotu alutsłBlzp o| zcaI .o\Bzoulu ouJ€I -o3ó1od 1se[ ezsfarupn.r1leu tsIuazpl.Ą\ n11und o8errroruezcr1qo
-npou oupef r
oluts.ltt€pop
ouJ€Inpou
-e.łł,oBÓ1od o8eureppour e8eurd,tł. I
oupel
Z
eue,trduo1.,fuu' 1se[ urotuazcr1qo órs
{oJx 'tlct1y
g
n>1o"tą AĄ ,|ultizlt,|zl4
.€Iu
.^\9}Iq 7TEI z órs 1epe14s erzp3q (l|"ltv ercre4 [eu1ue311a1u1 eu due.ru'd.ttoqcazld c/.q rsnur dr911) (n!"ltV)C lerlgfpec duled dpe111 'SSO rsal nsrdpod uraleruaqcs q9a[ .urd.to1rq-g7g urer8brc atzpÓq s 1s€Iluo}tsu ,rurg}Iq ZIq ołBJaI,Ą\€z zolulr'oJ etzpóq o .dufrrutt|zł,d uezęnrzol qcf,zsvu e1q lurd,tr.o1rq-719 ruarBŁrc 1set (etcrty)q1 ez .azre1nduror1 rudzslaruzó1od aluzceuz €u Bluozcllqo elo.trs 1ezp .lerrloruezcr1qo .{cou fe1eur o Ó1.re1 tu1ue3 -ę.u'ordez.rd erzpÓq >1e1og .,tp8 sezcpod -t1a1ul zazld euervrduo1drrr' Łpóq 1|c11y tsIuozcllqo qctsIue1r\osolsez qc[uzc[11e:d n1 .1rezcqqo .€|cIV -oI.& .|1I ez .oBe1e1p dqcoqc euepŁzod o} lsaf 9euo1d.tr Isnul aJ9}{ csoll g€.ry\ozll€Iulunu uo €uI etugezcoupe| ln1o>1o1o.rd rlcezr1eer alc{tsJ} .t louętu -arurdrvr rlceruro;ur rcsop uapó18złt pod r r1e[.o8e.troluozcllqo €Iuazpl.1( n14und z .ąe1 ouerrro1ąelordez €JJouqcS ou..\ĄoJ€z ..{uzce1nąs r qqfzs tf,q dq ł€uloqcs .uldłroruozcrlqo nluazołtsz urdu,tred frzld clzpento.rdazrd tsufoul pg.ł\op p1e1 |er -9pI ęp .o1oureąg zezldbuozpg.tro.rd.t Ótce4gdpotu o8a[ duezer1od a1erzpzorpod .pŁ1op ouolupo1r\opn aIN urdudÓ1seu 77,t|uzcetdzeq 1se[ €JJouqcS t€tuaqcs ez 'duzcatdzeq 1sa[ 1o>1o1ord oz, (ctsuzn fiuta?out'o o
,uazcl1qo Łrl.rouenuolalłr óqzcr1 tlceurro;ut ąerru,1o1terąet 9ttqopz alue1s .Ąe 1se[ eru .e31g ł9e1 cŁtnuo1d,tr r n1o>1o1o:d ltcvzl1vel aIqzcII lałlouetuo1er,tr rrt ctzcru1sezcn .ó|cltY pod Órs erue.tfzspod [e[ etrl.rqzourn eto14,o cso}I€.ł\ cll€łsn 9ezvroqo.rd azou e316 n1o4o1ord qce8erqezrd n1etłr od .o1(osol ("ł rcso1"rer'r q,tzc) ye1[d IłJIol[s
OTOWVXO TCVXITAINSAI TVWqHCS
r6z
'8'6
9. SCHEMATY IDENTYFIKACJI
292
Na początek TA wybiera p i q tak jak w schemacie Schnorra; wybiera po. nadto dwa elementy d.1,Q2 e Zo*, oba rzędl q. Wartośćc : logo. a2 pozostaje nieznana dla wszystkich uczestników,ł'ącznie z Alicją. Przyjmujemy, że nikt (nawet koalicja, powiedzmy, Alicji z olgą) nie jest w stanie obliczyć wartości c. Jak poprzednio TA wybiera schemat podpisu i funkcję skrótu. Certyfikat, który TA wydaje dla Alicji, powstaje w sposób opisany na rysunku 9.4. Na rysunku 9.5 przedstawiamy schemat identyfi kacji Okamoto.
TA usta]a tożsamośćAlicji i wystawia jej ciąg identyfikacyjny ID(Alicja) (2) Alicja potajemnie wybiera dwa losowe wykładniki a7, a2, takie że (1)
0śo1,azśQ_1ioblicza 'u
:
(11-a\
a2-"2
p,
mod.
po czym przekazuje TA wynik o
(3) TA generuje podpis s
:
szgrł(ID(Alicja),,u)
;
do Alicji trafia certyfikat
C(Alicja)
Rvsuxpx
:
(ID(Alicja),
9.4. Wydawanie
o, s)
Alicji certyfikatu
oto przykład zastosowania tego schematu. Przykład 9.4 Jak w poprzednich przykładach przyjmiemy p : 88667' q : 1031 otaz t : I0. Niech o1 : 58902 l a2 : 73611 (obie te liczby mają rząd Q w Zp"). Załozmy teraz, ze at : 846 i a2 :515; wtedy 'u : 13078. Przypuśćmy,że Alicja wybiera ,łr : 899 i k2 :16; wtedy l :74574. Jeś\i Bolek wyślepytanie r : 489, Alicja odpowie wartościami y1 :73I i y2:287.
Bolek sprawdzi, ze
58902131736112871307848s
: tLb74
(mod gg667)
i w konsekwencji uzna dowód tożsamościAlicji.
I
Dowód zupełnościprotokołu (czyli tego, że Bolek uzna tożsamośćAlicji) jest bardzo prosty. Zasadnicza róznica między schematami Schnorra i okamoto polega na tym, i:,e dla tego drugiego można udowodnić jego bezpieczeństwo,
'(d potu)
"^
zo,^ 'Y-
rr..l
:
a
az aIł€}
,zq tq IcsołI€.&\ rrr.,iuougrurolar.Ą\ ols€zc ł. c,{zcr1qo €uo o?oul o1 ,,_,7f1 1ł \ eu,tor 1sa[ rlceągd"re,tt n1o4o1old rlcezt1ear aIc{€J} n ó!c11y ęz bts €IuB1[Bp euz e316 łsa1 ep .L
-od o8auzce1n1s !a! ołtłslJalcłopodop.,vrerd|e"r91>1
99o1re,tr
z.6
EINszousI1ńI
'Brrouqcs n}€trraqcs
lc9oupqos p9lĄop euturoddzrd d.rnpeco"rd te1 99bzc tszs.ĄlJald
.IICTIV
qce4upe11drw o rfceruro;ur etcdqopz lc9o.Ą\Ilzoru |e| e|ep eru e1o>1o1o.rd rrt r31g o.tr1 -clu1sazcn az ,lzponop I uuoluazołęz tezd.u urf1ótdzld z tcsouzcezrds .& Io1s oc c du1er1sdp ru1dre8o1 gtzcqqo ulazel tger1od e31g t efc urdrrtougnuolel.Ą\
ols€zc
.tt
z
.{Bł
.ztl
_ oł I ID qzcll -ITY lua/'t1syerqopodopłterd udznp TI9ef 't-uuazu4,|''\l {ts| cÓr.tt e .1|c11y .tł911upe14,,{.tt qcdule1 Ic9oTJ€.Ąt o 3fcerulo;ur ce>1sdzn olu€ls .tr 1se[ ea1g az,(tcgouzcazlds op aluozptsrvr.ordop tsu lalzp€u rvr') dtu|turfdzl4'fizet alol.ry\ o^\ .e|oTIV orupazrdod >1e1 .io>1o1ord cŁlnzr1eer -ou€IIuoIoI1[ ezp19 óts er,ue1spaz.rd .€IuB1l\oIunZoJ clłzs o16 .fu1a1qns ?9op 1se[ eru.1suezcetdzeq pg^\oq
oultsuo{^..r\alu oluzc^}{€ Jo Bz za,o3oI o3eu1er4s..(p nu1dre8o1 aluazcllqo cęuzn .tulazolu oz rual{unre.ti pod .
ołotllg{o 1[cer1g{1uepl }€uaqJs (d
Pou)
,a
"ozD
.9.6 rurto
xgNnsxll
=
L
ez'vzpttretds >1a1og (9)
zfi,
I
tfr, Icsou€.t!\ Ó
l
T,Ą\ołIog atlzvĄezld
pour 17'p 1z'91
zfi
-
zeJo b Poru 1rP
1 r51:
rfi'
€zcllqo e|cltv (s) b| etnzęĄaztd I ,Z
)
IIcTIV
J > I o? Ęe1 Óqzcq bru.oso1 e"rarqd.tł {oIoEI (7) 1e1 : (s'o' (e!c11Y)ql)vl-.Pa dzc,cbtezpned. .YJ srdpod alnągdre,tr {oloa (t) ."t'
L 99o1rełr zv,rc (s.n,.(u|ctly)q1) : : (n|"ltv)c 1er1gf1rec [o.ts r,rło>11og a|nzvĄeztd €|clv .,óo,,Ia: L
(z)
dpotu
1
-
Ó
)
zą,Isl
}
,eq ,Ią dqzcr1 ertoso1 0 az ol{ts}
€ucllcło
I
erarqd.łrr. e|cltv
(t)
OIOWVXO TCVXIAATNSAI TVWqHCS
862
'T'6
9. SCHEMATY IDENTYFIKACJI
294
DowÓD W
przypadkach - spośród 2t możliwych pytań wartości Ut, azl ZIl Z2l r i s, takie ze r t' s otaz
j:
e
r
olga moze obliczyć
eta'(l2u't)' = {ry"t{12"'n" (mod p).
Niech
h
-- (at
- ,t)(, - ")-t
mod q
otaz
:
bz
1
(Az
- "r)(, - ")-'
mod
I
I
q.
Łatwo wówczas sptawdzić, ze ,l)
:
(\1-btCrr-b, (mod p),
zgodnie z tezą twierdzenia. Zobaczrny teraz, jak Alicja razem z olgą mogą obliczyć wartośćc.
TWIERDZENIE 9.3 Jeśliolga zna wartość7, dla której prawdopodobieństwo jej skutecznego podawania się za Alicję w trakcie realizacji protokołu weryfikacji jest równe e >- If2t_I , to z prawdopodobieństwem |iczyć logo, a2 w czasie wielomianowym.
DowoD
1-
If q rnoze
or'arazerl z Alicją ob-
Jak wynika z twierdzenia 9.2, olga może ustalić wartości b1 i
b2,
takie
ze
u: ar_4."'az_A^""
(mod p].
Przypuśćmytetaz, ze Alicja ujawnia oldze wartości a1 i a2. Oczywiście
u: dt-or(\u-az
(mod p),
zatem
(tral-br
(mod p). = orrbz-az
Zał'ózmy, ze (a1,az)
dyskretny c
:
logo, az
:
ł
(at
-
(h,b2). Wówczas istnieje (oz b)(bz
- or)-'
-
bz)_, mod q, a logarytm
mod q
można ob|iczyć w czasie wielomianowym. Pozostaje do rozwazenia przypadek, gdy (at,az): (br,ó2). Wtedy wartościc nie rnożna ob|iczyć w sposób opisany wyzej; wykażemy jednak, że taki
,v ) (1D,\,) fuvgry7.Y ) (1D.I,rr) taue,u'oąpŁzrodn dred leu cÓI/v\ € "4.urerłroq -ur feu1orr.rop tcourod tsz c€1Y\oJouo8dirn, az"rqop olu1^oJ e][:zoul b4to/t/lzc t>p1 bpvv>1 az .1eupa[ drrnuporrtopn .zfi, \ tfr, nlutszcTlcło dzrd rcgopen. qcd1 drueru'dzn zip8
.llclY
(zo.Tp) leue.ł'o{pŁzrodn aztvd
nl'
Ic9ołJts.1( po cozalez 31s etep,trrr.n1o1o1
-ord n8erqazrd oEeupef elc{tsJł .1\\ €ue,tł.oreua8 ("fi,,,fr,.t,, L) v4tonrzc €ułoDluoy .>1eupa[ fiutz.e;ll'rrv7 .aute1 Łte1sozod (ze I?' I {e| eruqopod) zq | |ą Ic9o?Jts/ó' az ,
.d poru
z'óD,,ID
: L erzpB
.Ó
pour
fip 1zs1 _
zft ztsto
Ó
potu 1rp
1
r51
_
rfi
Ezcrlqo efc11y e7 'drultuuoddzr6 '(d Pour) ,a"ozororo L = .ie1eq ."l e316 ererqd,rn az al{ts} .zfi t. Ifr,IcsołJts^Ą etepod e|c11y .L dzr4 .ttc€.r1g łs€TIuołBu 99operl.r erarqdrn. etcrly n1o>1o1ord nrueuo>1dltrl. udpz'B}1 -f1uep1 n1oąo1ord rfcezt1eer alcłtsJ} lr feueruerrudrrr rlceur"ro;ut órs drrrfdzrfdzr4
.1|c1y .tsJgpl 11ppe1>1drvr e"rerirłez v nro|.qf ez tęd z eupat ez {€upo[ er,t eru 'arrrr e316 'eruleruro;eru cbr,u.otr41 ',,eulte;dod" 1se[ ered er911 'rud] o rfceru.ro;ur qcdupez ozplo tsf.'rę}sop alu €IcTIY rtcvr1g,(1uapr sezcpod |7 ezrclqz r'r qcdue.u .(zo,Io) ,|rcd -o4pŁzrodn red qcd.ur1zour l z Łupet 1set (zp.ID) T|oIIV ered z919 po (ćq(rg) dred (pgouzolęzalu* zazld druerurnzor oc .9ruse[d.t.r uJo1.ęz drutsn1'1
.bf 1eun9t cdq rsntu (óq,Iq): (zo(Io) IcgounoJ o.Ą\łs -gerqopodopłtęld .olrtoso1 euerqd,u, Ótcqy zezrd €ł€łsoz (zrl,to) ered zerrreruod ,f,urcv .(zo,to) 1!c11y łl'9>11upup1..fuł qcdute1 dred po ęuzalc.zo].u 1sa[ e1 vted ez .Y z (zq|Iq) ered ó816 zeztd uuozc11qg ęrar.nez 7 c3r,r.r. ĄEI .óo'o3ol _ c e1zp? -B,Id^Ą
nrol.qz op dze1eu Łrc9ou'rn,ed
.qcfue,to4pŁzrodn ręd
Ó
'{uZ>
0
|
G + zD'ec
-
ro)}
: V
ev, f,ul4e lllrnez {p\IY nuv4rupe1ądru' rudufe1 9dq dq,{13 -oru d1uerrra1a qcdrgPl .qcduerlło>1pbzrodn red qc1ą1sdzs,t.l ez óts epe14s .
'{(a pour) zo_eD,r-ro =
zr-zDtr-ro
,
'Z x
uZ > (1"'',")}
Y J9\qz :V
du19er16 'ureruezpo.uod
bts ,tzcyo4v,z
-ord
ounad pu ermgrd .n8lo I efcr1y Łlnso1s Łr9DI .a eruezcr1qo tsInpac
córlrł' v ,bf
t
z
urd1eu ozpl€q
uo1n+sualqoPodopir.rerd
ót.s
'tzlvpz 1epeddzrd
OTOWVXO TCVXITATNqII IVWqHCS
962
'T'6
9. SCHEMATY IDENTYFIKACJI
296 a1
: at-
c0 otaz
a5: azł0, gdzie
at i az w następujący sposób:
0
q-I'Moilemy
wtedy przedstawió
al : klłaf : kt ł (a1 + cl)r : (kl. ł rc?) + a,,r oraz
az: kzłazr : hł(a!2-0)r : (kz - r0) ł a,2r, gdzie wszystkie obliczenia są wykonywane w Zn. Inaczej mówiąc, czwórka (.y,r,at,az) jest zgodna równiez z parą uporządkowaną (a\,a,) ptzy losowym wyborze k,, : k, ł rc? i k,, : k, - r0 do obliczenia (tej samej) wartości 7. Stwierdziliśmy wyzej, że Alicja nie ujawnia wartościk1 i k2, więc czwórka (.y,,,a,,az)nie dostarczainformacjinatemat żadnejpalyzezbioru A.Tokoirczy
dowód.
l
Przedstawiony tu dowód bezpieczeństwa jest z pewnościąelegancki i subtelny. Warto podsumować te własnościprotokołu, które umożliwiają przeprowadzenie takiego dowodu. Zasadniczy pomysł polega na wyborze dwóch tajnych wykładników zamiast jednego. W zbiorze "4 znajduje się q par uporządkowanych ,,równowaznych,, parze Alicji (al,o,).Zał.ożeniem prowadzącym w końcu do sprzeczności jest przyjęcie, ze znajomośćdwóch róznychpar ze zbioru,4 pozwala efektywnie obliczyć logarytm dyskretny c. Alicja zna1 rzecz jasna' jedną parę z A; wykaza|iśmy ponadto, że jeśliolga może podawać się za Alicję, to moze obliczyć parę nalezącą do A z dużym prawdopodobieństwem tózną od pary Alicji. Tak więc Alicja i olga tazern mogą poznać dwie pary ze zbiorl A i w rezultacie obliczyć c - co jest właśnieposzukiwaną sprzecznością. oto przykład ilustrujący obliczanie wartości 7ogo, a2 przez Alicję i olgę'
Przykład 9.5
Jak w przykł'adzie 9 '4 przyjmijmy p
u:
:
88667,8
:
1031 otaz t
13078.
Przypuśćmy, że olga sprawdziła' że a1r3ra2287u489
- al89002303?./199 (mod p).
To pozwala jej obliczyć
:
(131
-
890)(489
-
199)-1 mod 1031
:456
b2:
(287
-
303)(489
-
199)-1 mod 1031
:
b1
oraz 519.
:
70
i
zał.6zrny, ze
l
l
l I
olzpeq oluazcqqo [e[ sezcał'9i11 .9ZqTSI durfrurldz.r4
't6gt1z
: u
cbttt
:
n
'88868 : : :
t69tZZ pou s6e(1_9f9T0T)
u poru q(,_n)
1fc11y eqzcq eu[e1 ts
v'6LV : b \ LgV : d
eretqdrrr.
a
:4e1o1epĘ8dłr : q ez 'Ve1
'tgg
yI
a? ',ftnV91v7 9.6 peŁ>[^ZJd
'(ygg
oBeu
-zcger8o1ddrą nure1sds e.u1syezcerdzaq n.Iuozołtsz 'tztd 1ełreu) iuzca1dzeq eząv1 1se[
ez .1eupa[ ouolupo.1r\opn eru pb1oq .du1ednz r duprTos 1sef ełe1enbsp$.ę{Iog ,f,vlazv>1f,'M .f.6 nąunsdr z 1o>1o1ord elnuo>1,(ivr
-nolllnc łBtuaqcs ez
.duzperrl.rod .ceqort c9oIIIeSzo} bfo.tts crzprerirł,1od ecqc e!c11y dpg .9.6 n{uns atupoBz afe1s.trod ya zezld rlcqy dueł'dzu>1ezld 1u1gd1re3
-dr ęu uresrdo
z
nsrdpod }€tuoqcs
e.rerqdrr.r'
vI
.nłgJ{s Ó[cąun; zero caluo{ e51 .Łrvr'o1rq-gv bqzcq 1sef g az .frufrurldzrd
ly5g erue.uor;dzs ąrupe11dn, duzc11qnd o1e[ o?Ąę1Ł ts .elł.1sgezcardzeq r1eurered .au1euoąd.trletu ez dzn1sod €J9PI .g Łzs.tretd bqzcq bznp ererq.,fuł ya .o1peuo4 .eznp a1d1 olĄoTuozcllqo o1dq u fqzcr1 ezsirłrerd rątuudzc tsu np€łłzor oluep€z dq eu cdq ,{uutluod b l d ,e14[nz ryr .u u.tzco1t 1sat dudó1sop etuzcqqnd łs€Ituo}ęu .au[e1 Łs Ó t drc9o1re11 .bd: uufrzco11qcl tszcllqo t.b zęł.o dezs.urerd,,{qzcł euup ererqdrvl YL e? .o3e1 po bts ęu[zcęz n}ptuaqcs tlcezt1ee.r op oluts.ĄĄołoBltzt4 .Ysu €u d1redo r ere1enbsrn$ t nopng zezld ,fupntocerdo rtctągd1uep1 łtsIuaqcs .,(uut druozstdo e1elzpzotpod tud1 16 €Jał€nbsTn$rno11lno
.[zso,'tzs
1[co1gf1uapl ł€tualłcs
.o3e1e1p n1sord od o1oureąg nł€Illaqcs 1sa[ ez
.7.6
op nłuns
.nłtsIuor{cs
oc duer't,ore;erd gf,qe7oln tsJJouqcs }€tuoqcs acd14erd rrł' -o}s ^\ .(o3eu1e.r1sdp nru1dreBo1 nur o3a1 np1und oSeqe1s o8eupez pt1op ouezer1s.ĄĄ alu -e1qord tcsou1ezb1ntzoreru leuzcd1ąerd ntuezo1ez f,ztd' 1a.ueu) tsJJouqcs n}€tuaqcs .2tTsar1pod cetuo1 €u o}J"eM e.u1sgazcerdzoq npo.Ąó'op o8euguz n{€Icl orultu ez .lacÓrrrr
I
.ITgtf
:
/9999 pour rTeZ06g9
cttezcr1qo .crzpnerds o^\łtsłoc ,eo,oBoI alcołsl 1rt' o} ? 99otJtsM
'tr9
:
I80I pour ,-(grs
-
-
619)(9s7
gv8)
:
c
,óo Io lc9ołJtsló' ótct1y zeztd qcduozcre1sop cŁ|e.udzn ,zetea \ 9dzcr1qo ęufoul
Vugrvnbgnb nolllnc rcvXI,t^INsoI Iv^tgHcS
L6Z
.Ż.6
9. SCHEMATY IDENTYFIKACJI
298
(1)
TA
usta]a tożsamośćAlicji ID(Alicja)
i
wystawia jej ciąg identyfikacyjny
(2) Alicja potajemnie wybiera liczbę całkowitąu, taĄże 0 i oblicza u
: (u
po czym przekazuje TA wynik
:
1
')" mod n,
(3) TA generuje podpis s
śu śn-
t.r
sigtł(ID(Alicja),,u);
do Alicji trafia certyfikat
C(Alicja)
Rysullpx
:
(ID(Alicja),0, s)
9.6. Wydawanie
Alicji certyfikatu
(1) Alicja wybiera losową |iczbęk,taĄże 0 < k <
n_Ii
oblicza
1:kbmodn (2) Alicja przekazuje Bolkowi swój certyfikat C(Alicja) : : (ID(Alicja),u,s) otaz wartość7 (3) Bolek weryfikuje podpis TA, sprawdzając, czy r.'er1a(ID(Alicja), t', s) : tak (4) Bolekwybieralosowąliczbęr,taĄze 0 śr śó- 1,
ją Alicji (5) Alicja oblicza
A:
i
przekanĄe
ku" mod n
i przekazuje Bolkowi wynik g (6) Bolek sprawdza, że 7 = u"ab (mod n)
RysuNpx k
:
9.7. Schernat identyfikacji Guillou-euisquatera
Przypuśćmy,że Alicja potwierdza swoją tożsamośćwobec Bolka i wybiera 187485; podaje wtedy Bolkowi wartośó
'Y: : :
kb
modn
187485503 mod 223693
24472.
.
porrr,_(",
-
l.l')
:
I .(u poru)
Łcourod ez rud,tł.ougrulolol1r{ alstszc q
Ił9v:+(z"t'_t.t') leleq
ncnlzn):- ł(z'-t,sa
vta1'Ez dure141'psaprplng nu1dro81e b1 ezoat B3Io T elaru1st .Ąt cizcl1qo ?9ołJe,tr 11 ;, 0 zts.&\aluod zJ T q >
.Łzs.trrerd Łqzcr1 tso| q ? cór.tr
-
'(u pour) q]nlzft)
i
",_,,a
.dur99nddzr4 dpeł^Ą .zJ < IJ az .rc9ou193o d1er1n zaq
'(u a? al{ęl ,ZJ ,IJ
|ófr, (Ifi,
pou) qzfr.,a: ,rfi,r,a: L
Ic9ołJ€/(\ cl|zn1qo ezoru eB16
L
oBeun.ed
zeto z.t, ł I"t, o9^Ąoc
e1q
.urd.trouprruolar.t' ols€zc rvr rł cdzct1qo €uo azolu oł oIc>I€J} łr Ó|c1y ez Órs ęrue.t .L cso1rervr euz eB16 [sa1
,qlt < ou.4&oJ pat rtco1gdroje nło{o}oJd rfcezr1eer ' -epod oBauzcałn{s tet o.upgarqopodopłrerd !ar9p1 .VslI
ep
7.6
glNgzousl^ĄJ
.eupŁszo.r 3rs e[epd'u' n>1rud,ło. .u n z ele1slrod a z'tpB 'o chtpwz.n tcso1ltslrt ctzcr1qo eruzcd14erd v.uzovI olu oz tuol{unl
€ruts,ll,or;dzs
aluozołęz apI€I
.durrupo.tropn .Łrc9oupqos z€Joł ars drrrltutle7 -e.u pod .duptlos 1sa[ 1eueqcs az
L
'(u Pour) (u (u
pou)
nry
: :
(u pour) ,qnqtl ,9_n =
pou) ,(,rrt),(r-r) : ,fi,a
:dlsord 99op lset tcsoulednz p911'op apld.tz 4e1' .1tcqy rcgourtsszol po.top eln1decąeez 1e1og qgsods uoł ł\ .
(taguz polu)
az,sruzclv\on tzpnerds
8099ZŹ869f888868 = z'IwZ
{alog
.I.Ą\o{Iog
?sołJ€.tt 31 epod
9ZLT6
t
:
t69tzz Pou e2g9f9l0T .987f8I : ?,c potu ,nĘ :
:
dzcqqo ts|'IY .gLt
fr'
urerue1dd erłrodpo {olog lr9or
"r
vasrvnbgnb notttnc tcvxrilrNgcl rvwsacs
662
'7'6
9. SCHEMATY IDENTYFIKACJI
300
dla pewnej Iiczby całkowitej uLb+L
- @rla)',
l,
wobec tego
(mod n),
lub równoważnie u=
(azla)bt(u-1)!b (mod n).
Po podniesieniu obu stron kongruencji do potęgi b_1 mod Q(n) otrzyrnamy
u-1' :
'f \Az/Ut)"\u-r;0 ,tt
(mod nJ.
Wreszcie, ob|iczając odwrotności modulo n obu stron, dochodzimy do następującej reprezentacji u:
, : (arlA)rut
trrrod
n.
Wzór ten pozwala oldze obliczyć u w czasie wielomianowym.
Przykład 9.7 Jak w poprzednim przykładzie niech n : 223693, ó 't,' : 89888. Przypuśćmy, że olga dowiedziała się, że ,r,'aol1o3386b
:
:
503, u
:
101576 oraz
u375gz72sb (mod n).
Najpierw wykona ona następujące obliczenie:
t : (rt - rr)-, mod b : (401 - 375)-1 mod : 445, a następnie obliczy
l' ł
b03
I
!,.'
(rr-r2)t-r
, ,:
b
(401-375)445-r
:
23.
503
Na koniec obliczy tajną wartośću:
u : (ArlA2)tut modn
: :
(103386/ 9JTz5)4458988823 mod
zz}lgs
101576.
W ten sposób skompromitowany został tajny wykładnik Alicji.
n U
|c11y
.;|cu4gd1uep1
1oąo1ord ?tMozI|torz
dqV .,ł nł9DIs 1|cr1un1
-otuod ez 1!c11y q1 n8Łrc erirłe1spod tsu tsutszcqqo 1set o 99op€.l(r
[euzcqqnd zolu.ó,.\gu
I
IJgotIIBszoł
eu r(1redo e.ra1enbsrnfo-nolllnc 1[cvr1gf1uepl łl?ulaqcs .6.6 )gNns^ll (u porlr)
,fi.,a: L
ez'vzpnetds
>1e1og (g)
ń 1rud,lrr' I/!r.o{Iog e|nze4ezrd
u polu
,n5!:
r
fi,
€zcllqo e|cltv (q)
\,I_u
tszcllclo
T.T-q
e|nzw1aztd
llcnv Ł| > J > 0 o?bĄr;l-,.t,óqzu1Łrrłoso1 erarqd,rn,{olog (7) ((etcrly)61)q
:
cso1rerrr
l (g|cltv)or
T,ł\o{Iog a|lzw1aztd
ł > 0 oquĄę+,qbqzc1b.t'oso1
n
łolog (t) ęlcnv (z)
tszcllqo
L
u poru >
L
,4:
e|cltv (t)
erarqdrr.t
.6.6 n1uns.{r pu duestdo qgsods M zal:o+ ełelzp 1!cer1gd1uep1 ł-o{otoJd ?t,
.8.6 Ic9ołJe/ń 1[c;1y a1uezeĄazld n cgolJ€.Ą\ ?,ł
polu
futdcerlgdluapt 3Łtc |e[ er'rłe1sd.rw
xgNns^lł
rlcrTy elnzv1ezrd
:
"(._((e!clty)ot)q) €zcllqo
I I!c{Y
"
t
YJ k)
("f"ltv)oI
VI
99oultsszo} ęI€łsn
(r)
.3.6 nąunsdr eu duorrrł.e1spazrd 1se[ rlcpredo [a1 8erqezr4 ,uZ ęw [euo1sel>1o .rtcr1y q1 BŁtc fauzcqqnd urerue1sdz.ro1dln, z rr, ?9ołJ€.&\ €zcllqo .urd1 .ł\9}vllgfłJac
q n}gDls
1!c>1un1
urr11sdzsrrt epezrd óts ęSęrudrrr eru ez cbtvuz.ya o3e1 łs€IIuBZ .Bue) l,cgout'oszo| ou fi+ ,{cŁ|nzdrop1eteqc ,(auL,aqcs uot,7oc{l,1uapt, pasoq-fi,???uap? euzoru e.re1enbsrn$-nollmc ,ró. Jlcł€1zs>1ezrd 1!ce4gd1uep1 ł€uloqcs
-.l,odo 1vwelącs
d1eureqcg
IcsoIIIBs?oł eu e1.redo 1|cer1gl(1uep1
.T.?.6
vaglvnbslnÓ_nolllnc rcvXH^JNgoI lVWgHcs,Ż.6
r0t
9. SCHEMATY IDENTYFIKACJI
302
musi znać wartośću, kt6rą obliczyć może jedynie TA (przy zał.ożenit, że system kryptograficzny RSA jest bezpieczny). Gdyby olga chciała przedstawić się jako Alicja, poniosłaby fiasko właśniez powodu nieznajomości u.
9.5. Przekształcenie identyfikacji w schemat podpisu Istnieje standardowa metoda przekształcania schematu identyfikacji w schemat podpisu. Podstawowy pomysł polega na zastąpieniu czynnika weryfi.kującego (Bolka) przez publiczną funkcję skrótu h. W tak otrzymanym schemacie podpisu wiadomośćnie jest skracana przed zł'ozeniem podpisu, gdyż skracanie jest wkomponowane w algorytm podpisu. Niech p będzie 512-bitową liczbą pierwszą, taĄ że problem logarytmu dyskretnego jest obliczeniowo nierozwiązalny w Zo, i niech q będzie 160-bitowym dzielnikiem pierwszym liczby p _ 1. Niech a e Zo* będzie pierwiastkiem stopnia q z 1 modulo p. Dalej, niech h będzie funkcją skrótu o przeciwdziedzinie Z,. Ptzyjmijm! P : Z,*, A : Zp* x Zs otaz
K:
{(p,q,a,a,u)
:
1)
=
(t-o
(mod p)}.
a i ,u są publiczne, wartośćo jest tajna. (p,Q,a,a,u) i (tajnej) Iiczby losowej k e Zr* definiujemy
Wartości P,
Dla 1(
:
Q,
sis6(r,k) : (l,a),
l
gdzie
otaz
a:k+ah(r,1)modq. Dla z, 1 € Zp* i y e uer(x,'y,A)
'
:
tak
Z, <+
definiujemy
'r:- ourh(t,'t) lmod p).
Rvsurrlpx 9.10. Schemat podpisu Schnorra Aby zilustrować takie podejście, przekształcimy schemat Schnorra w schemat podpisu (rysunek 9.10). w praktyce funkcją skrótu h byłby bezpieczny standard skrótu (SHS) z wynikiem zredukowanym modulo q. Zważywsz.n że SHS produ-
.(u poul) x
:
[a[
.tuzcaldzeq 1sa[ aru }€uaqJs
ua1 o8ezce1p .[uge!d^Ą r r fqzcq z fi' ś'no1
izc,ezpntelds łalog .!t|ołIog >1ruf'ra' u1dsazrd
.?,l olnpolu r Ł,lło1urper"r1 Ó1zser Łrr.toso1 "fi €zc{qo efc11y ąa1serrrrre1d '(pa116 .1[c11y alnze1ezrd ua1 .rrr.ro>11og pe11fzrd eu .crr*e1spazrd órs acqc e|c11y ,tpg
-€Jp€..ńł
arce1gd1rac
.Łs" ("l"ltv)oI rrl auesrdgz l ya zeztd' auesrdpod .a1>1d,r.r.z 1e| I u Ic1 b: d zęto rur.{zs.łr.rard Iu€qzcII bsbtde1zpŻ (bd: u
-ołJ€ł\.(ppo*) t:
zcn1ą .{u[e1 eur elcr1y .rfco1gd1uapr }€ruaq)s
..(uzc..{1e1odrq uarrtred
.{ruze.tzog .1.6
EIuozclń^c
.
1
[eob.tn.a] Jo}€nbsmb
I oJaI€'111 oP
lcui1gĄuepl ł\g}€Iuaqcs pŁ1Bezrd rle.uo>1qqndo
fvro lzoaos] Ił}ag I tparusoo .ra1saturng
.Ic9olutsszo1 eu Ł1redo
1|ceągd1uep1 nłtsIuaqcs o8elorrrs ólsre.u zolulllol ruo
r1e.uocerdo 1|cogd1uep1
^Ą'g}tsIuoqcs
qesrdg .[zss.f] JIIuEqs I }€Id
ez nsrdpod.Ą\gł€tuoqcs
€Iu€.ł\opnq
no:1"^
'( to1(oJoz
.lerrto.rez dzper,tr o tzpetln o qrcpo.łl\op o rlceur.ro;ur [ocór.tl, BIoI.^\Ez tI łtsI.zpzog) dpo1au Łcoruod tsz auolupo1topn ołtsłsozBJIIu€qS tsłBrg-o8e8tag nłtsIuaqcs o.1r\łs
-uezcatdzag IOOuS] tsrIIutsqS (au,aqcs puraq paynu^tad 'Bue) erptt tfcelnrured }tstuoqos }€rlrot{cs zero ([23gg) .qĄ,+ zceqoz) [sss.{.{] BJllu€qs-€łtsrg-o8e8rag 9ruarrudrvr ope,u r[cu1gd1uap1 /ltg}€Iuaqcs qcdu"repdod qcd1e1sozod p9J9ł\ .crupo.topn .lzowa] qc€Iuazoł qc,{ilroruazctlqo fa1rn3c141 I IIałcIJg rppod .[3g$9] .tt -ez qcduptszol ,fztd vuzoul ołr1suezcardzeq o3el9p1 .1eruaqcs duu1 ouol1r\€}s ele1enbsrn$-nollmc ł€ulaqcs lselluol€u .[eoxo] ^\
?voltsuz €u?otu
-pezld o}oure>lo }tstuoqcs .[rocs]
rrr
duestdo 1se[e.rrouqc5 1!cv4g,{1uepl }€tuaqcs
€UpJ8oIIqlq
l
IBB.ĄA1
.9.6
.qgsods duqopod łr
nsrdpod d1eueqcs .ł\ ou€cłtslzs4ezrd cdq b8orrr rtcv1gd1uep1 d1eureqcs euu1 .nłoJ{s 1|c1un; qJtsłąIguo{ pezrd órs cozJłsn dqe .tc9ouroptsI^\ 19J{s .fzsztt1p a|uzcellz eu rud1redo ruel{€1€ .zper.uodpo Łu1ełro1dec>1e ..vi az{eupaf carur dtursnur nsrdpod nł€Iuaqcs qc€ul€J cdzcqqo ,tqe .erue1dd cŁupe8po Isnlu ZJozsłtsJ du1en1ua.tł'a z,,(pB .erue$d etue,t.lo1 .ulo}gJ{s urd,tro1rq-gg1 erue1dd a,ĄołTq-or -ruuJoJs op Łlezcre1sdm 11\9}Iq 07 a1lro ,trugr1rdt1sez .nsrdpod nltstuoqcs op 1lcer1gd1uopl n}€tuoqcs po cŁzpoqcea4 9Ł|po nąrud.u po dzc"re1s'ttt fipo1:lo^'.b vzc .Ó
-etnezld,5g5 Łcorrrod vz 1,uv4sfrzl lc9oluoptsI1rt 19"ri1s dp8 .dpeyl' o>11d1 euzceruo4 pet b o1nporu etcąnper .Łzs,trord Łqzcq Łrrr'o1rq-6gT łsoi Ó e .d.uo1rq-691 8Łtc etn4
vr|acorlgla
80t
r
rculan
'9'6
9. SCHEMATY IDENTYFIKACJI
304
9.2. Załózrny,
że Alicja używa schematu Schnorra z 11538.
:
t:
I0 oraz o
(a) (b) (c) (d)
Sprawdź, że a ma w Zo" rząd
wartościamiq
:
I2oI, p
122503,
q.
oblicz o, jeśIitajnym wykładnikiem Alicji jest a : 357, oblicz 7' jeślik : 868. Niech pytaniem Bolka będzie r: 501. oblicz odpowiedź Alicji
(e) Wykonaj za Bolka obliczenia sprawdzające
:5II3L,
3l.
g.
9'3. Załóżmy, że Alicja używa schematu Schnorra z wartościamip, czenJrl 9,2. Przypuśćmy, ze u
:
q, t i o jak w ćwi-
a Olga dowiedziała się, że
o3rtn8 = d151u7o77 (mod p).
Wyjasnij' jak olga lrroże ob|iczyć tajny wykładnik Alicji o. 9.4, Załózmy że Alicja używa schematu Okamoto z wartościamiq -_ I2oI,
:
122503, ź : 10,
(a) oblicz (b) oblicz
at :60497 oraz da:
o, jeślitajnymi wykładnikami 7, jeśIi łr : 389 i k2
:
p:
17163.
Alicji
sQ 01
:
432
oraz
az:
423.
191.
(c) Bolek wysłał pytanie r : 2I. oblicz wartościlrr odpowiedź Alicji. (d) Wykonaj za Bolka obliczenia sprawdzające ut i az.
i
gz, składające się na
9.5. Zał.ózmy, że Alicja używa schematu okamoto z wartościami p, q, t, aI i d'2 jak w ćwiczeniu 9.4. ZaŁóżmv też. ze
u:
119504'
(a) Sprawdź, że p). = orun"or883u992 (mod
d77OQ21O33aa77
(b) Wykorzystaj tę informację do obliczenia bl i _A'
(}1_"1
_ń.
ą,_"z
: u
bz, takich że
(c) Załóżmy tetaz, że Alicja ujawnia wartości at : jak Alicja tazem z olgą mogą obliczyć logo' oz. 9.6'
i
(mod p). 484
i az -
935. Wyjasnij,
Za|tózmy, że Alicja używa schematu Guillou_Quisquatera z wartościami p
s:379
oraz
b:509.
:
503,
(a) oblicz o, jeśli tajna wartośću Alicji jest równa 155863. (b) oblicz 7, jeślik: 123845. (c) oblicz wartośćy, którą Alicja wyślew odpowiedzi na pytanie Bolka
r:487.
(d) Wykonaj za Bolka obliczenia sprawdzające g' 9.7. Załózmy że Alicja uźywa schematu Guillou Quisquatęra z wartościamin:
:
199543'
b:
523
,'uu101360o
:
i
u
:
146152. Przypuśćmy,ze Oldze udało się ustalić, że
u257B6ob6b (mod n.).
Wyjasnij' jak olga moze ob|iczyć u.
.BIuoIuIołdZJaI,ł\n,Ą9poł nlutsp€q dzJd ITBĄI8nłsod óts duretzpÓq rrudr9p1 .9ó[od ófcrugap tu1euro; ze"ro1 dtuepo4 .
t
[ce>1g,.(reł' nru1dro81e
o8euzcr1qnd Łcorrrod ez srdpod cerrro1gdrervrf evoln dpzv1 9oqc .9soruoperru. crzp
-lłerds ozotu
ec.Ą\tspęu duęłt,oug1d oą1d1
(cvnt
qn1) erueru1a1,(zret.tln npo{ nluts^\
-oso1s dzrd.o1peuo6 .o.1t1\oluazcllqo o^Ą}suozcaldzeq óts r-ztsly\zol cYI^[ r nsrdpod ^Ą dp8 sezcpod (omłsuozcerdzeq ol\\o{un.r€/\Azeq etu.tł'adez erueru1a1dzr eu,to,ed >1eupat Łs .(cvlll ,apoc uotyocz?uaq+nD a1ossau .Bue)
1
l
qc€}€uoqcs,łn' -ol.ĄĄn
pox .acluzol
Icsotuop€I.^,l' etuetu1e1dzral.&n npo{ qn1 nstdpod nl€ulaqcs op .'tuqopod 1se[ etu -etu1a1dz.ratrvrn po4 rurepó18zlł €IuoIaI.Ą\ pod ez .9tlger4pod az{ts} nł dza1e5 .agoJłs .eru1erzppo ..feuzcardzeq(. łt. duerrrdn'oqcazrd 1se[ fecŁletu1e1dzrerrrrn dqoso tc9oupo3drel.Ą.\ €.Iuazp^\tsrds r eruełr -oJouo8d,ł\ tat op d1fzn zcn11 lrruduep f zęlll^ guerrrlsrdęz 1sa[ ecŁferu1e1dzrerrtrn
.tsuozsu€ualu
e1eqd1g €łJ€}op ?9oIuoP€I'Ą\ fzc(clzpntvlds zeru.tro.r e1v,nzod (apoc uox?D)x?uaq+ml .8ue) eruetu1e1dzrol.Ą\n Pox .Ic9otuoptsI1r\ Caueurdzr1o )souzcdluel -n€ clzp^ĄtsJds r.trr'o11og r1olrr'zod ery14,(6o7 uo1'?Dcf?ua1'pno .8ue) lecŁferu1e1dzr
-atł'n d1eq,,(lo tsIuazcllqo op dzn1s zcnPl oupo{ ndd1 o3e1 1tr .99oute1 alu oIts .erueru1e1dzrar,un rurdcŁlelu.Ą\ad€z TIutspoł órs durerurlez alwpzol rudl ł\
,X EzcnlĄ
oBau[e1 z btv1strzrcn etu1gds.tł łolog I elcqy rcgotuoper.tr lezs.łr.rard ureruezv1 -aztd peztd tu,{r9p1 .tr (urdu1ervrfrd uezcn11 z nure1sds qctsIutsJ ał' 1ec ua1 druel 4|zIItsoJZ .Ic9oluop€I^\ ouseł'Ą\ yop oBecbtezperrrordrvr r urdufdce4runuo>I luał€u -v4 aue1dsez.rd tcsoruoperał' o8ocŁfn,uresqo .erv4sg .vr1ru.u'rcez.rd oBaurrnf1łts Ic9 -oucoqo ..ń }o1j1r€u erueru1e1dzral1rln ?9o,t\ITzou Ęe1 co1sdzn duecq3 .3crl.r'epeu
ez óts ęcblępod eqoso alcsltylf,zcazt b[ e1dz.toitł.1n € (ocqoJazJd e13e1n olu 99olu -op€I^\ oz .nru€uo>1ez.rd .ru, Ócrorqpo clzpJol,Ą\}n córrlł e .rcgotuopevrr (fiłp.l6a+up ,Bue) csouyozs|Luvua?ru clu^lod€z v1enzod €IualulołdzJol.&n poy .IcsoluoP€I.Ąt, €Iu -etu[e1n op rudcŁzn1s urduzcger8o1ddn1 ruorue1sds ecsleru e1ern. du9r1rcÓrrrt9o4
aluazp€ńAordr\Ą
e IUe IU[o 1'łfz nuutn'tp
.t.QT
oy
0t
10. KODY UWIERZYTELAIIA]VIA
306
DEFINICJA
10.1
Kodem uw'ierzEtelnian'ia nazywamy czwórkę (s, A, rc, pujące warunki:
t),
gdy spełnione są nastę-
(1) S jest skończonym zbiorem możliwych stanów źródłowych. (2)
"4
jest skończonym zbiorem możliwych etEki'et uw,ierzytelniajqcych.
(3) rc' przestrzeń kluczy, jest skończonym zbiorem możIiwych kluczy. (a) DIa każdego Zbior
KeK
M: 5xA
dana jest reguła uw,ierzytelniania
ey : 5 --
"4.
nazywamy zb,iorem wiadom,ości,.
UwAGA Zavwazmy tu analogię między stanem źródłowyma tekstem jawnym. Wiadomośćskłada się z tekstu jawnego i dołączonej etykiety uwierzytelniającej; moglibyś-y ją nazwać dokładniej podp,isanq wiadomościq. Ponadto, reguła l uwierzytelniania nie musi być funkcją różnowartościową. Gdy Alicja chce ptzekazać Bolkowi (podpisaną) wiadomość,oboje przystępują do realizacji opowiedniego protokołu. Po pierwsze, wspólnie wybierają losowo k|lcz K € K; czyltią to potajemnie, jak zwykle w systemach kryptograficznych zkhrczemprywatnym. Gdy później Alicja zechce przesłać Bolkowi stan źródłowy s € 5 za pośrednictwem niepewnego kanału komunikacyjnego, obliczy a: ex(s) i wyśIeBolkowi parę (s,o). Po jej otrzymaniu Bolek |iczy a| : ex(s); zaakceptuje wiadomość jako autentyczną, jesli a/ : al W przeciwnym przypadku odrzuci Ją'
Zbadarny dwa różne rodzaje możliwego ataku oskara. W obu rozważanych przypadkach występuje on jako intruz-w-środku. oto krótki opis obu wariantów:
Podszywanie się pod nadawcę. oskar wprowadza do kanału komunikacyjnego wiadomość(s, a), Iicząc na to, że Bolek uzna ją za autentyczną. opisuie to rvsunek 10.1.
oskar RysuNpx
("' o)
Bolek
10.1. oskar podszywa się
Podstawienie. oskar widzi w kanale komunikacyjnym wiadomość(s' o) i podmienia ją wiadomością(s,, a,), gdzie s, ł s. Znów |iczy na to, że Bolek przyjmie ją za wiadomość autentyczną. W ten sposób podsuwa Bolkowi fałszywy stan źródłowy. Ilustruje to rysunek 10.2.
j i I
,.(upnp1e I^loJg{so dueuzeru (fi1stit,|zcezlvzceuzo 014. qcelx .bcb|eru1e1fzrar.tln ó1 -ar4d1e ..Łu,tr€.rdod.. cŁupeBpo Óts ere1s r s dł.o1p9r7 ue1s eretqdlrt' Jolso .vrilu,4ó.o{ -1,(zn o8auut pod Órs nruerrtdzspod eu dcŁ[e8e1od ąe1e ,ryr.retdfeu /.uszenzo1g dulolsr erzpel4.{ztd rudl rvr uo zdpB (9d atu e,u,1suerqopodopłterd nPtsł{zoJ n1 drrre1serąo aIN .} 1se[ ;7 =l oBepzol lo-trosol duerarq.&u 1sa[ zcn11 az'tftnz91e7
eP 6lI : (X)u
,W
z;:alr'eu]'
stszc,\\orv\
duer.ue1spezrd g.g1 n1unsdr 3N .|s|
-€tu s azlatunu o alutunloł Ó1eqd1e durcsenun
I ]'. ozJolunu o nzs.rol.t\
^! s ) s falo )ł ) X
x
|3y|
n"rerur.t.n 7ą .tzrc1c tcŁ|eru1a1dzrarł,n
n (s)xa
r"zcrrlĄ o8epzur1
-1s,,(zs.tr ŁcŁla:Lolr'l.tsz,otuot,u7a7fi,z.l,aunn zJev,?D1u
e1q.(s)|l2
)
Ic9ołJ€^Ą aI{
uEzewzol op crzpe,trord^\ nł o}JBM
'tPour qcalu s'
s o8aulo1(top
T
})
ttst':(s)!ta
Q,z)
flvd 'EV x
|epłg,I ęto
tV:
11
j
l 1
zEto
Ez:V:s
j ł I
az'lutz91e7
t'0t PePt'tztd 'eruerulaldzrar^\n npo{ npel>1dz"rd oB -e1sord po drulruzceZ,v$+srrzso ts.1'ó'łsuolqopodopirłerd nluozJllqo brc Ńnt^tzt[fzl1
Bl.l'łsnzso ló.+sga.Iqopodopne.rd aIuBzJIIqo'z.0I
.urdu1elł'{.td uazcnpl z oBeuzcgetBo1ddq nue1sds o.tt1suezcetdzoq e1ńołunJ€,t\ -zeq ctfepeq ,f,usst1ezentzor dro1>1 .o3e1 op duqopod cór.t 1se[ łs{a1uoy .X e"zcnlĄ .>1e1og €|cIY oą1d1 Łtnuodsdp Ł1911 .Łlceur.ro;ut Łudpe1 .ts.|ll'łsualq I ?9ołIB^l pel -opodop.u'e;d .{pe14zor €qo zBJo eruetu1e1dzral.łIn po{ €uz JBIso ez,furcpu1ne7 .dpe11zo.r ,|tnzcvuzo l} e1 qctsJolqz eu ę,/ylłSualqop l s qcd1 eruezceuzd,11
,sd sd .orupar.uodpo I
-odoprwerd €Iuol€łsn ^Ą'optsł{zoJ .(eruer,r.re1spod ep) Tpa
l
p8erudłt.u1suerqopodop.trerd
(óls etue,ttfzspod €1p) Opd rrue1oqurds ot 'tulzceuzg re4sg rl9ef .ceąnzso 3rs ep 1e1og ez .o3 órs eztt.trl .Ą\oł€}€ qc,|1 z u[p?q' Z
.Ór3e1e"r1s Łu1erud1do łB.l]ó.ozIIeoJ erzpóq -e1 q.{zc ,omysnzso on]sy'e1,qopodopmo.l'd
eJBIso nrueuoąfa.r {alog
ńA
aIuoInABłsPod .z.oT xgNns^u
J€ąso
(,D.,s)
€icIIV
(o'r)
vl rsnzso lLrsNsrsooodoaltvad grNvzcrlso'z'0r
LOE
10.
308
Klttcz
0
I
2
(0,0) (0,1) (0,2) (1,0) (1,1) (1,2) (2,0)
0
0
0
1
1
1
2
2
2
(2,r)
tr r\
RvsuNpx
0
1
2
1
2
0
2
0
1
0
2
1
1
0
2
2
1
0
KODY UWIERZYTEL]VIANIA
Macierz twierzytelniania
1O.3.
klucz. oskarowi uda się oszukać Bolka, jeśliodgadnie etykietę ao: exo(s). Łatwo jednak sprawdzić' że d|a dowolnej pary s € S i o, € '4 istnieją dokładnie trzy (spośród dziewięciu) reguły uwierzytelniania K € rc, takie ze e11(s): ą. (Innymi słowy, każdy symbol występuje trzykrotnie w każdej kolumnie macierzy uwierzytelniania). Wynika stąd, że Pdg: I13. Analiza ataku przez podstawienie jest nieco bardziej zł'ozona. Przypuśćmy, dla ustalenia uwagi' że oskar wypatrzyŁ w kanale komunikacyjnym wiadomość (0,0). Kryje się w tym jakaśinformacja o kluczu. Teraz oskar wie, że
l.o € {(0'
0), (1,0), (2' 0)}.
Przyjmijmy' że oskar zastępuje wiadomość(0,0) parą (1, 1). To oszustwo się powiedzie wtedy i tylko wtedy, sdy 1{o : (1'0). Jeśliwiemy, ze rzeczywisty k|ucz Kg jest w zbiotze {(0,0), (1,0), (2, 0)}, to prawdopodobieństwo trafienia
jest znów równe 1/3. Podobne rozumowanie odnosi się do dowolnego podstawienia, które może wykonać oskar. ogóIniej' jeśIioskar widzi wiadomość (s,a) i zastępuje ją wiadomością(',,o,), gdzie s f s,, to prawdopodobieństwo oszukania Bolka jest równe 1/3. Istotnie , zauwazenie wiadomości(s, a) ogranicza poszukiwania klucza do trzech możliwości.Dalej, dla każdego wyboru pary (s,,a/), jest tylko jeden klucz (z ttzech możIiwych) przy którym o/ jest etykietą uwierzytelniającą
dla
'
s/.
I
Zastanówmy się teraz, jak obliczać prawdopodobieństwa oszustwa w przypadku ogólnym. Rozwazrny najpierw Pd"o. Jak poprzednio, niech 1(9 oznacza klucz wybrany ptzez Alicję i Bolka. DIa s € S i o € "4 niech po(s,a) oznacza prawdopodobieństwo tego, że Bolek uzna wiadomość (s,a) za autentyczną. Nietrudno zalwazyć, ze
po(s,a)
: P(a: {KeK:
"r<"("))
teY(s):aY pK(K).
l
:
\y))a
.(o,s)od x {D--(s)>r" 219X].
ś
X
(s)sd: (s)sd: : (t's)wd
(slo)rd x (")sa
ocb |ndó1seu 1se I duo1sar1
o
w d ę l'Il}sverqopodoprvrerd pe 1>1zog
."."d(o,r)wd
(z'0r)
-(? s
-
a\
: tpd
ł€I .(o.s) tcgotuopel,ł\ ol€ue>I ,u etuecdrtqcltlri. (o,s)wd tlt'1suetqopodop.ue"rd ruepó18z'u D.sd tcso1r€.u buozBnr brupo.rs cf'zcqqo drursnur o.Ą\}suelqopodop.uerd clzcqqo zera1 c3raa. ąe1 .cóI,Ą\
eusef zcezg
ilpd
'(tl .s) ered
€,Ąó.}snzso
€rg'lso zezrd bue.rrto.tl."resqo dp8 .eruar.ue1s o.Ą\łsualqopodop,u.erd €IsoJło p.sd cso1re,11
1se[ Łrcsotuopel./ń
-pod tcourod ez eą1og €ru€{nzso
fizcqqo -ó1sdrvr
.{v >,,,,, ł " .s )," .
e{Io
g €Iue>lnzso
Ósue
:
(o,s|,ll,,s)od,}xeu
zs ce.trozr1eurds1eurz cŁcqc
:,,sd .'qso
','o elndSls,{rrr /s aruunlo{ .ry\ orusozcoupet r o etnd s oluunloł .t.r. qcdrop1 'u .erueru1a1dzrerru.n 'tzlelcęl]0 ulozsJol'Ą\ rud1 qcdc
-tfeper.trodpo dzcn1ą rrr1suarqopodop.terd Łurns 1sat n{ul€łn urd1
la.
{IuzcIT
(o,s)od
e
{,o -- (,s) x 2'
o:(c)
{,o:(,s) x
a'
>ra
CD X}
Q)va 3 {D:(s)xa )';-X} @)aa 3 : 2D X} (x)aa 3 (s) x a
((s)oxa : D)d : ((s)oxa: o y (,s)oxa :,o).1 : ,D)d - (r't ((") oo"
.pełq
'v\
:
ts{Iog lzp€^rord,łt
:
ol(,s)oxa
!,o' ,s)od
a luozc IIqo ecb lndó peu c1zpe nto tde z.rd se z c,uo.tr drue zotr41 (o ,s) ez (,o.,s) eruatru,e1spod ez .o3e1 o.tr.1suerqopodop
-.terdęzcguzo (o,s!,o,,s)od qcaru r ) ,D,D BIp ztsJo ł ,s az qcI{B}.9 ),s.s Iq.s + ,s ul[zc [zld ,(,o.,s) Óred eu b[ eruetuez t (o.s) csotuoperłr ru,{u[dce4ru -nuo{ ol€ug{ 1vi lzpl,t\ J€{so az .drucsnddzr4 .ure1qord duut .urerdfeu durzełtzog .sdnpeł>Izor po zn| tze1ez r eue.tror1qduo1s lerzpreq ocetu 1so[ Ip4 eruazu1qg .sd ts,t\łsT,alqopodop,ra.erd np€ł{zoJ po ,tze1vz aru oPd az .,{ur[n1oup6 ,s
'{Y>r'S) s : (o's)od}xeu:op4
(r'or)
pŁ1g .99operrr Łzo1lr.łr.[eu eu (rr.s)od ter9p1 P1p .(?2.s) 3"red Ęe1 ezrerqd'rn .e,u1snzso eruezpo.ru.od osu€zs ce.ł'ozt1eurdsĄęuJz ocIłcaz ro1sg dpg [złn1n urr qcdcb|eper.u,odpo €,Ąlłsualqop -odop.uerd ?€pop l o e|nd31sd.tt s olutunlo{ rrr. qcdrop1 .rn .etueru1e1dzlatl'yn t|zlatc ce;q.&rt śze1uu (o,s)od lc9olJts.& €Iuozcllqo nIaJ .Ą ez,oryezceuzg .
-tsIu ozsJol^l a1
u1AIs nZ S o
60r
^ĄrS
NgIa o q o d o o.Mva d gI Nv Z cl1a
o
.
Z. 0
I
10.
310
KODY UWIERZYTELNIANIA
W przykładzie 10.1 po(s,a)
:113
dla wszystkich s, a, zatem
Pdo:
If 3. Mozna również sprawdzić, ze
po(s',a'1s,a):113
f sl . D|atego Pd1 : 1/3 dla dowolnego rozkładu prawdopodobieństwa ps (na ogół jednak Pd1 za|ezy od ps). Popatrzmy, jak wyglądają obliczenia P do i P il w mniej typowym przypadku. dla wszystkich s, s,, a, a,, s
Klucz
1
2
3
4
I
1
1
1
2
2
2
2
1
2
3
1
2
2
1
RysuNEK 10.4. Macierz uwierzytelniania
Przykład 70.2
Weźmy pod uwagę macierz uwierzytelniania z rysunku 10.4. Zał'6zmy, że tozkł'ady prawdopodobieństw na S i K są określonenastępująco:
p5Q): tla
dla1śiś4oraz
:
rl2, prc(2): prc(3): Il4. prc(r) Wówczas
po(I,I):3/4 po(I,z):114 po(2,t):112 po(2,2):112 no(3,t):314 po(3,2):114 po(4,I) : Il4 po(4,2):314.
: 3/4. Optymalna strategia Oskara polega zatern na umieszczeniu w kanale jednej z ttzech wiadomości: (1, 1)' (3, 1) lub (a' 2).
W rezultacie Pdo
Pruejdźmy teraz do obliczenia Pd1' Zacznijmy od przedstawienia wartości po(s' ,a'1s, o) w postaci macierzy.Liczba w wierszu (s, o) i kolumnie (s',a') oznacza wartośćpo(s, , a, ; s, a) .
(t'0T.) t
p
4
(
cepod b1złnz tcb fndó1seu
{V=,,'sł,s.sJ,s
:
(v)xd,
s€zc.Ą\o.Ą\
.D,sb(s)sd
)(D
s)
-\ : *
rpd
dtue14 .o s qcdu1o.rrrop €Ip .
{tD:(F)xa D:(s)xa a)X}
t
qDaIN .alutuefez.tr órs bzsouz eIurełelzP oł tsqo ercsrrrrdzc6 .rpd tu]r-zcl1qo ,{pB ,(o,s)od zaztd cizouul .(,,s)od zezld duqarzp n.sd n1uezc11qo .{z.rd az ,'Ąluizęnnez l1set ,ctc ure1od 'tq -orąs e[ dtuezotr41 .aupnuz zca1 .a1sord łsa| z.0T etzpe1nizld' l^ Ipd olu€zclTqo
'8lz:
Lp1 elc9tn'Ązcez;
ttBa1e.r1s [a1 .{z.16
(r'g) ,- (z'r) (-r'r) *- (r'p) (r 'r) *- (z'e)
(z'r) - (r 'e) (t't) *- (z'z) (r'r) *- (r'z) (z'z) *- (z't) = (r'r) (r 'z) :qosods dcŁlndÓ1seu
Ór3a1er1s
ryr
cesrdo €uzolu
€Jg{so
Ł.troruetrl.re1spod
tupurd1d6 .8l : Ipd npnrł zoq zp,Jo1 duezcqq6 .o .s tcso1;e.t qcd1 t : ''"d zpro ZII: e'zd't,l7: r'rd urelez druey4l
-elsozod qcrllsdzs.t tslp T
0
0
I
T
0
t/r
TO TO
T
0
T
zlr
TO
OI
Elz
(z'v)
zlr t,ll
z/I IO
tlr
t/r
(z's)
t/z
tlz
Z/I
OI
(r't)
IO
t/7,
(r'e)
t/r
(z'z)
t/z (t'z)
V.MTS NZSO IATS NSISO AO dO
IIT
t/r
OI
t/z
(z'v)
(t'v)
OI
t/r
Z/I OI (z'r)
(e'il (r'g)
t/7,
ZII
\c
G)
(r'z) (z't) (r'r)
(r'r)
AMVA4 SINV Z CITqO'
Z' OT
3r2
10.
KODY UWIERZYTELNIA]VIA
10.3. Ograniczenia kombinatoryczne Stwierdziliśmy jlz, ze miarą bezpieczeństwa dobieństwa oszustwa. Chcielibyśmy zatem prawdopodobieństwa te są jak najmniejsze. Rozwazmy kilka własności,które powinien
kodu uwierzytelniania są prawdopoprojektować takie kody, dla których Ważne są jednak także inne względy. mieć dobry kod uwierzytelniania.
(1) Prawdopodobieństwa Pd'o i Pdt muSZą być dostatecznie małe, by zapewnić oczekiwany poziom bezpieczeństwa' (2) Liczba stanów źródłowych powinna być dostatecznie duza, byśmy mogli przy przekazywaniu informacji doł.ączać j edną etykietę uwierzytelniaj ącą do jednego stanu źródłowego.
(3) Wielkośćprzesttzeni kluczy powinna być zminimalizowana' gdyż wartość klucza musi być przesyłana bezpiecznyrn kanałem. Zallwazmy, ze khrcz zmienia się z kazdą wiadomością' podobnie jak w przypadku szyfru z kluczem jednorazowym.
W tym podrozdziale ustalimy dolne ograniczenia prawdopodobieństw oszustwa, wskazując na ich zaleznośćod pozostałych parametrów kodu. Przypomnij. W całym my, ze zdefiniowaliśmy kod uwierzytelniania jako czwórkę (s, A, rc, '). tym podrozdziale przyjmiemy oznaczenie ! : lAl. Niech s €
S będzie ustalonym stanem źródłowym. obliczamy:
!ro(r,")
a€A
:D aeA {Kęrc: : tZJ
KęK
ex (s):o}
PK(K)
pK@)
-t Stąd wynika, ze d|a każdego stanu s € S istnieje etykieta uwierzytelniająca a(s), taka ze po(s, a(s))
1
żv
Łatwo otrzymujemy następujące twierdzenie.
TWIERDZENIE 10.1 Niech (S, A,rc,e) będzie kodem uwierzytelniania. !
: lAl. Ponadto,
Pdol l!. wtedy i tylko wtedy, gdy
pK@):ż {I(eK: eą(s):a}
dlakażdegos€siaeA.
Wówczas Pdg
)
If !,, gdzie
(10.4)
!
I
.{red tepzeą
lelp 3lI:
.(o.s) dred iepzet
r-Ip
:dtrrofnuldzJ}o
.
z.
0I I
I.
0I €Iuazp
rolllr1.
cbzch.ł
'(o't) (n,s)od ez .nule1 fuzg,ttou.ttot IoIo{ Z 1se[ ąeunrerw ue1 e
7lI:
D,sd
fp8.dpe1łr o{If}
T dpe1rvr
Izpoqcpz
99ou,.Y\9u
.v_ I
v
W)@'s1
(olĄwa o,s6(,pśg)wd,
w)@'s)
: rpd
l I
oo./\ĄoCI
dure141
,' .V ) ,D,,
I
1 Ipd
ł,s
.9 ) ,s.s
{,o --(,s) x a
6)aa
dp8 .dpepł' o{Id} T dpeyvr
vlI:
z.oT
,
(n.s
,
.
:
(s)
3
D
>I
a Cł) X
}
Ipd o1p€uod .|v|: a (3,a,v.s) q""IN
stszc.ł\o6 .erueru1a1dzral.&n uopo{ erzpÓq
vĄr-1.
qcdu1oru.op e1p
{o:(s)xa:11151}
(N)aa 3
v_:
(s'0T,)
alzpB ,vf 1
.{asoru,vr oąel euda1s"eu
ffINszotIsI^ĄJ
duafnudzJ}o €IuazpJer.tt1 o8aru1e1so 2
'i? a?
"
@ 's :(n's ' ,s),o' ,s)od
uuowz a[aru1s1
,s) ,o ecŁleru1e1dzrerrwn e1et1d+o .T L- -
{D:(s)xe (N)xa 3
ry)X}
{D:(Ś)Xa :x)X}
(N)aa 3
{o:(s)xa:aay} (x)aa 3 : :A) X} 3 D:(s) {,o:(,s) 3 QYA V.
x a'
V)tD
.D
xa
(o,s,.,o, ,Ąod
7
:dpepl drrre141 .,s ulf,zc /.zld ,,Ś I ,l 's rcsoperrr drulelsn 'uoluall\tsTspod zeral 3rs drulrurfe2
łs
SNZCAEOIV NIAINO>I VINqZCINVECO'
tTt
T' OT
10.
314
TWIERDZENIE Niech (5, A,rc, t)
- Pil:71!
10.3
będzie kodem uwierzytelniania i niech ! wtedy i tylko wtedy, gdy
\{K€K:
e7(s
PK(K):
./J
,
:
|A|.Wtedy Pdo
1
:
(10.6)
n
ey(s|):ą|}
dla dowolnych s, s/ € .S, s,
DowoD
KODY UWIERZYTEL.NIIANIA
ł ',
o,a, ę A.
Równanie (10.6) wynika z rówlafi (10.4) i i (10.5) wynikają z równania (10.6).
(10.5) i
nania (10.4)
na odwrót: rów-
l
Jeśliklucze są jednakowoprawdopodobne, otrzymujemy następujący wniosek:
\MNIOSEK 10.4 Niech (5,
A,rc,t)
będzie kodem uwierzytelniania
i
niech t,
są wybierane z jednakowym prawdopodobieństwem, to Pdg
: |A|.Jeśliklucze : Pdt : 7lt wtedy
i tylko wtedy, gdy
ftK e rc: e6(s) dla dowolnych s, s/ €
: 5'
a, ex(s') s/
ł ',
:
a')l
lrcl 02
(10.7)
o,a, ę A.
10.3.1. Macierze ortogonalne Zajmiemy się t.tl związkami między kodami uwierzytelniania i pewnymi strukturami kombinatorycznymi zwanymi macierzami ortogonalnymi. Zacznijmy od definicji.
DEFINICJA
10.2
Macierzq ortogonalnq MO(n, k,\) nazywamy macierz \n2 x k nad zbiorem n-elementowym, taĘ że w dowolnych dwóch jej kolumnach każda z możliwych n2 pat elementów występuje w dokładnie ) wierszach. W teorii konfi.guracji kombinatorycznych macierze ortogonalne są strukturami dobrze zbadanymi; są one równoważne innym znanym strukturom, takim jak konfiguracje przeĘtniowe, wzajemnie ortogonalne kwadraty łacińskie i sieci. Na rysunku 10.5 przedstawiamy Mo(3,3, 1) otrzymaną z macierzy lwierzytelniania z rysunku 10.3. Dowolna macierz ortogonalna Mo(n, k, )) może posłlzyć do konstrukcji kodu uwierzytelniania z Pdo : Pdt - lf n, co stwierdza następujące twierdzenie.
TWIERDZENIE 10.5 Niech Mo(n, k, )) będzie telniania (s,A,rc,t), taki
l
l
j
macierzą ortogonalną. Wówczas istnieje kod uwierzyże |S| : k,|A|: n,|K| : \n2 oraz Pdo : Pd1 :11,,
olupazJdod 9lułads €Ie.Ą\zod
'I{unJ€,ł\
€.ĄĄp
€J9tł .?9ołJBł\t1Y\IIzouI Qzslaruurleu €tu Y (t)
(1)
ąu
k)
:(lSl : c1 I:q(geBuvtd.n durrsnur etu oBa1e1p ltcsoupuo8opo !e| ctlezsnreu eru .utun1o1 lecórłl qn1 Łupet [eu1euoBo1ro dzrercętu z cŁunsn druezour azs^\ę,z az ,t|utzenrtę,) |s| < ,t :a/1
:I{unJB.Ą\ ect fndó1seu
getu1eds Inałęz Isnul tsul€uo8o1ro zrerceu etupat,uodpo .(r ) Ipd zBlo > ż oPd dqe .4e1 ł1fizc) l e'u.1suezcardzaq uloluolzod uduo1e1sn r g qcd.trołpoJz 1t\ou€ls tuoJolqz uduo1ser4o z erueru1e1dzJal.&\n po{ c€.Ą\opnqz druacqc az,.tulcsnd'tzt6 Y lluelcsoue'u. ttu,{zs>1ót,t z qc,,(u1euo3o1.ro fizlalcr-ul atc,tzn Órs e[e1s ouzcoluo{ fpet1etu ,,ilsfrzcvqoz >1et e1e .I : Y >1epeddzrd 1se[ dueptzod larzp"reqfeu .ercsrrrrdzcg ..uy leu.tr,gr ,[zcn14dqzcq op arufpel óts rsoupo Y JlaIutsJ -e4 .cdzrorrl1ezld e?olls po{ oJ9}ł ,tącf.lłro1potz óqzcqezceuzf.n >1 .tpB sezc ^rou€łs -pod .(nrua1sds o.,vl1suezcerdzeq cór.u e) qc,{ctteru1a1dzrerrrrn 1erąd1e óqzcr1 e1ser1o .
u J}oIuBI€d
.(Y
.ł .')oTĄ fzlalcevl
eruazcrue.rBo
I
alu€u.łtgJ
1
z vluelu1a1,|zJal.Ą\n
elcąnl1suo>I
-
poł ,,(urelnpnq az ,l|ulzo1v7
eu1euoSo1ro ozJoIcBtrĄI .z.8.0I
.IłcBIc9ousBł.Ą\ .(z.ot) ącfiuvpbz o po1 ,turetnul.{zt1o olc€}InzoJ m .7.61 nąsoru,,vr op Órs c€ło.ry\po zerc1 flnazo1g 1sef auotu1eds zdp8 ecŁ [etu1a1f zrer.rrrn e1ar4d1a
loqurds
drvrolporz uels e rueru1e1r(z"rar,n
.(zuY)ll
€uIunIoł
n e1n8a"r
€rutsIuloł^zIol.Ą\n
,{pe1u dure141
poy
zsJoI.l!\
€ulBuoJouo
zJolc€W
:rcsorupar.ryrodpo act fnda1seu z eruetu1e1dzrerrvln
uo.Ą\}sualcłopodop.te"rd rud,tro>1eupef
..t1n8ar o4e[ [eu1euoBo1"ro dz"retc€Iu
€zsJal.Ąl
o8epze1 c.tzn fzclv1s,t.1yy o9,i\Ąocl
(r .s.8)oIĄ .9.oI xgNns,tl{
OIZ ZOT IZO IOZ
0zr zr0 ZZZ TII 000 grt
qNZCAAOTV NIAWOX VINqZCINVACO'
T' OT
10. KODY UWIERZYTELNIANIA
316
Zajrnijrny się najpierw macierzami ortogonalnymi z ) : I. Przy ustalonej wartości n chcemy zmaksymalizowaćliczbę kolumn. oto warunek konieczny istnienia odpowiedniej macierzy.
TWIERDZENIE
10.6
Jeśliistnieje macierz Mo(n, k' 1), to k
śn -| 1.
Niech ,4 będzie macierzą typu Mo(n, k, 1) nad zbiorem symboli X : . )n - 1}. JeśIidokonamy permutacji symboli w dowolnej kolumnie macierzy A, otrzymarny ponownie macierz typu Mo(n, k' 1). Tak więc, stosując w tazie potrzeby pewien ciąg permutacji tego rodzaju, mozerny przyjąć bez utra. ty ogóIności, że pierwszy wiersz macierzy ,4 składa się z samych zer: (00. . .0). Wykażemy teraz, ze każdy symbol musi wystąpić dokładnie n Tazy w kazdej kolumnie '4. Wybierzmy dwie kolumny, c i c,, i niech r będzie dowolnym symbolem. Wówczas dla każdego symbolu r, istnieje jedyny wiersz macietzy A, w którym r występuje w kolumnie c, a r, w ko]umnie c| . Przebiegając z n| cały zbiór X, widzimy, że r występuje w kolumnie c dokładnie n razy. Ponieważ w pierwszym wierszu umieściliśmysame zera' tym samym wyczerpaliśmy wszystkie wystąpienia par (0,0). W rezultacie w żadnym innym wierszu nie ma dwóch zer. Policzmy wiersze, w których jest co najmniej jedno 0: jest ich 1'łk(n_1). Macierz Arnan2 wietszy,zaŁem7łk(n_1) < n2 iw konsekwencji l k śzl * 1, co należało udowodnić.
DowoD
:
{0, 1, . .
opiszemy teraz konstrukcję macierzy ortogonalnej dla ) : 1' w której k : n, W wyniku zastosowania tej konstrukcji powstała macietz ortogonalna z rysun-
ku 10.5.
TWIERDZENIE
10.7
Jeślip jest liczbą pierwszą, to istnieje macierz ortogonalna Mo(p,p, 1).
DowÓD Macierz, o której mowa w twierdzeniu, będzie macierzą wymiaru
p2 x p, przy czym wiersze będą indeksowane elementami Zo x Zp, a kolumny elementami Zo. Niech elementem stojącym w wierszu (i', j) i kolumnie r będzie
źrtjmodp.
Wybierzmy dowolne dwie kolumny r, A (r I y) i dura symbole a, b. Chcemy znaIeźć (jedyny) wiersz (i, j), * którym o występuje w kolumnie r, a b w kolumnie 3l tego wiersza. Musimy zatem tozwiązać układ dwóch równań
a:irłj b:źy+j z niewiadomymi.,i, j.(działania są wykonywane w ciele Z,). Ten układ ma jedr].ozrjaczne
i:
to
zw Iąz alfle..
- b)(" - g)-1 j:a-irmodp. (a
mod p
Mamy zatern macierz ortogonalną
;
l I
'(t
-
"U)tt
I1/ :)J
:'" 3
ula+ęz' Lzp,r uY erup€P1op y aluumloł [eu1or*'op rrt crdb1sdrvr rsnu 1oqruds śp?ey.rfL 1"\ 6 uatdt1sd'trr óqzcq buzcb1 9fzcr1qo oupnrlalN .J nzsJol.Ą\ M elaz getdb1sdrvr hqzcq atzpóq J'; qcalu y izłatcew J €zsJeI1Y\ o8eu1o.ttrop ęto .{T"ł} \?t : IfL ry\qz fru1sarąo ,I.l zezld zsJat,ĄĄ fzsr'r.ratd cb,|ezceuzg 'y tznlcett dzsrer.tł loIqz ęzcęuzo fL qcelN .(9.0I ł\ rez qcdures z órs epe11s y Kzletcuul 1et) ',T.'""pJoIłrłzaqcŁzolvz duezol41 '{l-,'''''I'01 : t
j
zsJorly\ dzs,\Ą.rerd az'rcsouloSo.{1er1n
r1oqruds ulaJolqz
pęu (Y.ł.')oIĄ ndd1 tzrerceur arzp3q y qcaTN żu
l----fl---r
I+\l-u|s1
01
.(Y.ł.')oIĄ eu1euo8o1ro
crg1v\'ocr
\
\
zla|cęu]. aferu1sr q9e1
6.0I flINszo.lJoI^Ą.J .csou.Ą\oJolu buepbz
elep nruazczsordn od oc
_'
,
"(Ę3) .e1sÓ11.tt te1Bb,tc
: (r)t
1!cąun;
u.L
%*\u
cL
tJJOItsZ
.u
1set/ etc>1uqE > ? > I.IulI: ?rr TrugrITuudzc1ods.tr af Z:t- qp (g.z aruazprerr'r1) €uosuer lcsou.ĄĄ9.ralu Ńrrc|,tąn o9^Ąoo
<źsś* u
s€zc.Ąlo6 .ttud1srn.{zcezr IUlęqzcII bpbq, -q
(...
(Ig
IłJaIN
8.oI IvIĄIsT
ep,|z td olzp o,Ą\op urduerzp -er.uodęz ł\ els BJgł{ .Icsou.ttolotu leuzp.tr eruezpełto.rddal' po ąeupef ślnftuzce7 .dzslaru1o8o .ą I u po I.cŚouzalez ł\ lc9ołJ€.Ąt tsIp aluazclue.r8o eu1op dcŁte1e1sn .yltgur aluozpJol1y\J .
>1rud.ll' drurupoir.r'op11
.IY< Y
o1 .I +
u < ą ,tp8 az
9.0I
'rcsou.{rgJ
(qcdu1euoBo1 rual{€uz ez fuoru1eds łsa| 9.0I €IuazpJol,łt} z {ounJts.ł\ qc,.("t914 e1p -ro dzrerceur Ósep1 Łuozcyołsolu ceul.1izt1o lIfo1ez Euv'.oIłIJ .0I nruozPJetru.1 tr1ótzq
.(etuezcrłlc zr1ed)
(t.t
+
f
u,u)ol1
alutspop zezld cenopnqzoJ €uzoru
z;olctsuJ ceul,tzt1o dqe 1e1 .duurn1or1 feupef (I .'.')oIĄ zJoIcęuI bpqvĄ aq ,ftlzentne7
ENZCAEOTV NIAWOX VINTZCINVECO'
LIT,
T' OT
10. KODY UWIERZYTELNIANIA
318
obliczmy teraz, ile Iazy w wierszach ze zbionl7?,1 wystąpi para (0,0):
D,,@,-1): D"?-D", reRl 'ś' : ,ł - ń^?, _,l r€Rl Na mocy lematu 10.8 otrzymujemy
Tę l(1
a stąd
D rę
*,@,
l{1
-
I) >
k(Ł-
I)),
N'- I
-
,ł()n -
1).
Jednakże w dowolnie wybranej parze kolumn para (0,0) występuje w dokładnie ) wierszach. Uporządkowanych par kolumn mamy k(k _ I), więc para (0,0) występuje (^ - 1)k(k - I) razy w wierszach ze zbioru R1, a w rezultacie
-
()
1)k(k
-
r) >
g#
- ken -
r),
lub równoważnie,
(()
-
1)k(k
-
1) + kQ,n
-1))()n, - t) >
(kQ,n
-
k* ) - )n
>
1))2.
Dzie|ąc obie strony przez k, mamy (^k
- k- I + )n)(),2 -
I)
ż k(\n -
I)2.
Rozwijamy obie strony: ^2kn2
-
),knz _ ^2n2
+ )2n3
-
co po uproszczeniu daje
-\2n2
t
\2n3 ż. \kn2 +
lub równoważnie
(,, ^,
-
n21
^k
+ ^k
- ) + )n -
> x1lc1n- r)' + n
-
Z),kn
ł k,
2),kn, l I
l
ł I).
Na koniec podzielmy obie strony przez ),(n
\n2żk(n-I)+I zgodnie z tezą twierdzenia,
^2kn2
-
1). Otrzymujemy
l
Wykażemy teraz istnienie nieskończonej klasy macietzy ortogonalnych, dla których w udowodnionej wyżej nierówności zachodzi równość.
due141
{ttt 'ott 'I0I '00I 'rT0'0r0't00'ooo} '(Z'L'e)OIn druatnpnq2
't: p'Z:
:
fL
d drufturldzr6
g'gY Pe7>7.tzt4
.t[c1nr1suoą feqe1 peą{z"rd d1sord eu durzr1edo4 .€IuozpJal,ł\} bza1 z arupoBz
l
.
1se|
uezbln (2 e1urun1o1 n fi v ,q aluunlo{ 'łr efndÓpd.t' r qcdrop1 .łr 11izc)"_od -zot cblnl e ,z - p n.rerrud,łr 1set uezbllurzol uazt1sezld ez ,pb1s €ąpd'ĄA .Plutsu.Ą.rgJ ered "eruez tsqo a?{€l Łs euze1ezeru ul:a1ez ,euze1ezelu o..r\oIuII 1se[ a .q ^\oJoł{e.ł\ (TJ lludluop€I.ry\olu p z qc,(.uorur1 lr€u./\ĄgJ qcg^Ąp ptsł{n n} due6 .dzsretru.
_ołez Z.PJ,...
.ft,
_
n:
p.t'pc
ł.
PrPq+
..
"'
+ t"t,tc + rrrg
..o Z p,u qcd.łworur1 utsu.rytgJ IIc.o1Y\p tce1sod,tr. cesrdez iulozoul fr: ?.J I r : q. ! €Iu€u,ł\gu .(,,,...Lz)(Ic) - c zeł.o (vq,...,zQ.Tq) : 9,(p.l,'.',z.l,IJ) : J qcolN .fi, : (2,4)V \, : (s,4)V ] ó.z qceru I rrutsurunlo{ tultuzgl eul qcer5 .Łzrercuul buepbz łsa| y av ,zete1 dutuporrtopn
aZ qcI>IB} ..t, frzstetu' óqzcq ńru1p1sfI .dZ,
-ar.łp Łp3q
) ) ),q
.(d o1nporu duerrr,o4nparz) rrroro11e.u nqo dure1e4s udzco1r Efcęuzo eądor4 etzp8
,).J : duelnrugap
))
?oBepzen €Ip I
z )
.l,
(ł_.ł)V
o8epze4 ep .|e1eq .rurdu.repąs ITu€Ic9ou
-toJ{olou& IIuIo,t\s aruuralez.tr ts aru 2 op acbze1eu dro1ąe.t €.{tp oupl3z o1peuod e
,r_d :r.l tul T-pd
ez .'tlll.ze-,ltrnez .I +so| ŁupÓz.r19ds.t.r Ł.trorezeru Łzsrvr'ratd qcf"ro11 .,tł.oro11arrt qcdrworazaru qcr>11sdzsitrt' ez Óts epe11s , talo{ Z .,d : 1,1 qc111sdzsłr' ez Óts tsptsł{s fL ryIqZ
cÓtn. .(-
tL --
'
,(oZ)
,,(oZ) luezt1seztd
,Ą\gJo+{o.Ąó.
[n ''.r t)-.r -"':rc'I-p>
r+t- (n
:
21 uaztlseztd
elec
t
>
0'.tE
t
r(Z)) (rr'"''rc)\:)
:octlndÓ1seu durqsar4o ulunlo{ Jglqz łselIuołtsu ruorolqz 'oZ op bzelvu dluaurala , ' ,(oZ)
1se[ .{zsrar.tr
ruezr1sezrd z nutsJo}{o1(I rrudu,ued au€.Ątos{apur
Łs durun1o{ I
ozsJal.&\ !ar9p1 .łt
nd,{1 y zrorrsru dtuatnpnq2 'oZ pru qcditrtozer od) 'd)Olt -tt.n-p lnoBbrc qcrą1sdzs,r.r. Ł,ra.otut1 uezt1seztd ęzctsuzo ,(oz) ,l,":N cl9.I\Ąocl
'("-rd'(I - d)lG -
-eur eleru1sr s€zc1jĄ-o6
'G_od'(l -
.Ł1rłr.oą1ec bqzcq 7
d)
lG - pd)'d)Otn .bzsl'l^rerd
ąpv
euleuoBopo zrerc
tqzcr1 atzp3q d qcetp
oT.0I
fiINgzousl1rĄI
SNZCAAOTV NIqWOX VINqZCINVECO'
6rt
T' OT
10. KODY UWIERZYTELNIANIA
320
otaz C
:
{001,010,011, 100, 101, 110, 111}.
Wynikiem konstrukcji jest macierz przedstawiona na rysunku 10.6.
00 10 01 11 00 10 01 11 RvsuNpx 10.6. MO(2,
10. 3.
00 10 10 00 01 11 11 01
000 101 011 110 111 010 100 001
7, 2)
3. Charakteryzacje kodów uwierzytelniania
Badaliśmy dotąd kody uwierzytelniania otrzymane z macierzy ortogonalnych. Poznaliśmy warunki konieczne istnienia oraz konstrukcje macierzy ortogonalnych. Można zapytać, czy nie ma lepszych sposobów budowania kodów uwierzytelniania. Dwa twierdzenia charakteryzacyjne, które tu przedstawimy, mówią' że jeśliograniczymy się do kodów uwierzytelniania z małymi prawdopodobieństwami oszustwa, to podejście związane z rnacierzami ortogonalnymi jest istotnie najlepsze.
Zaczniemy od udowodnienia częściowej odwrotności twierdzenia 10.5'
TWIERDZENIE
10.11
Niech (S, A,rc,t) będzie kodem uwierzytelniania, w którym Al:n otaz Pd,g : Pń - Ifn. Wówczas lrc| ż. TL2. Ponadto' |K| : n, wtedy i tylko wtedy, gdy istnieje rnacietz ortogonalna Mo(n, k, 1), w której lsl oraz pK(K) : l/n2 dla każdego klucza K e K.
:k
DowoD
Ustalmy dwa stany źródł'owe 5 i s,, s f s, , irozważmy równanie (10.6). (a, a,) etykiet uwierzytelniających definiujemy
Dla każdej pary upolządkowanej Ka,a,
: {K
e
K:
e6(s)
:
a, ex(st)
Wtedy |K,,,,| > 0 dla każdej pary są rozłączne, zatem |K|
ż n2.
Zał'ózmy,żrc|rc|: n2.Wtedy
(10.6) wynika, ze
(o,'
:
a,). Ponadto zblory Ko,o, , których jest n2,
1 dla każdej pary (a, a,), każdego klucza K ę K.
|K,,,,|:
p6(K) : 7lnz dla
o'}.
az równania
ula1ez,euoz€1Y\
BIupaJs
qcl ?1u ezsleruur
'(o's)od(o't)*d
?'9
3
< opd
durafnurdzrlo 1se[ etu (o,s)od lc9olJe,Ą\ IunuIsł€JĄI
'{Y >o'S ) s
: (o's)od}xe:uu
druęur (1.g1) eueumgr
.(x)a-(ntlx)a dpet6
.erueru1e1dzrol1ńn
7
--oqd o9/\&oo
ąopłBo1
uopoł arzpóq (35t,V.s) qcalN
rr'0T grNgzolrgr^Ą.r
.opd. €'Ą\tsuorqopodop,tłetd frzcf1op tłclu z aZS,ĄtJoId .€'ł\łSnzso errr1suatqopod -op.uerd ęu uezcruer8o etueąsfzn op Łrdor1ue z ląctuezbtll.z polaru n1 duraldz1
b1do.r1ua
z
ewł.zt.-ttvtz ł-rluazJrrue.rBg
'7'91
'Icsou'&toJ
I
ulol{tsuz oz ZI.OI BluezpIal.Ąt1 z {aunJtsł\ Łteru1eds ar91>1 .qcfu1euoBo1ro dzrarc .,tnzentne7 vcv^An -eur dse1ą leuozcgo1setu €zcJts}sop 0I'0I eluazpJol,ł\ł az
'a) x
(y)ld' zeło,"uf (1+ (t - u)ą) : y ez tszcnPl o8epzer1 €1p (I + (t ")q)lt: .dpa1u o{Id1 vlI€t .(Y.ry.')oIĄ eu1euo8opo zJaIJęIu aleru1sr dpS l dpe1.u I + (r _ .,lt : Ipd .o1peuo4 .I + (t : opd fęro - u)1 < |y| dp"t'tit -u)sl : |2y| u: |v|.ł: |sl ludJg}{ rt.erueru1a1dzreurn uapo{ erzpóq (3.x,Y.s) qcelN zT.0T
olNszo.lJgl^Ąf
.npo.Ą
-op zaq t[ druer.te1spezrd o3e1e1p .ezsfarupnl1 1se[ efcezdroł{€Jeqc
eudÓ1seg
'uumlo{ ezred faulo.trop .t zer uepef I-erupe1>1op .durefn1sorurrr etndÓ1sd.tt eue.tto1ptzrodn B"red ęp?vĄ o? ,s r s nroqdał' Ic9oulo.&lop Z .zeJ uepet oą1d1 qctsuunlo{ qcd1 rvr efndópdłr eueirir,o1pŁz"rodn pr .,s -ed epze1 ,(,o,,) dred [eu1o.t.top €1p I : |,","x| Ze,ttaluod I s ttud.tro1p9.t7 .(1 .ry.u)96 nd Ilu€u€łs rurduerqdrvr au€łro$Iopur duun1o1 al^\p tsu druzr1edo6 -d1
buleuoSo1,tobztetcevt lsef erueruleldzrerrrtn zJal)tsIu ez'gezvntmefe1sozo4
Vtaoa'l-vs Z gNvZvI1^Z vINgZcINVaco
rct
,Ż'0t
10, KODY UWIERZYTELNIA]VIA
322
Z nierówności Jensena (twierdzenie 2.5) many
) log t
logPdo
p,vt(s,a)po(s,a)
6€s' a€.4
sĘS, a€A
W podrozdziale ptt(s,
")
:
10.2 stwierdziliśmy, że
ps(s) .po(s,a),
więc |og Pd,o
ż'
p1$)po(s, a)Iogpo(s, a).
s€S, a€,4'
Zalwazmy tetaz, ze po(s,a) : p.ą(a|s) (prawdopodobieństwo tego, ze a jest etykietą uwierzytelniającądla stanu źródłowego s). Stąd rogPds
)
t
psQ)pa(als)logp1(ols)
s.-S, a€"Ą
: -H(A|S), na mocy definicji entropii warunkowej. Zakoficzymy dowód, wykanĄąc, że -H(AlS) : f/(KlM) - I1(K). Wynika to z podstawowych własnościentropii' Z jednej strony mamy
FI(K, A, S)
:
/1(KlA, S) + H(AIS) + H(S).
Z drugiej obliczamy
F/(K, A, S)
: I{(A|K, S) + f1(K, : H(K) + fl(s),
korzystając z tego, że po pierwsze,
S)
H(A|K,S) : o, gdyżkhrcz i stan źródłowy
jednoznaczniewyznaczają etykietę uwierzytelniającą, a po drugie, że fI(I(, S) + }1(s)' gdyż stan źródłowy i k]ucz są zdatzeniami niezależnymi. Przyrównując oba wytażenia na H(K, A, S), mamy
: H(K)
-f/(Als)
:
/1(KlA, s)
:
- H(K).
Jednakże wiadomośćm: (s,o) z definicji składa się ze stanu źródłowego i etykiety uwierzytelniającej (a więc M: 3 x A), zatem H(K|A, S) : I1(K|M), co konczy dowód.
Podobne ograniczenie dotyczy prawdopodobieństwa Pd1 , jednak nie będziemy tu przedstawiać dowodu. oto ono:
l
I
.auę8ŁIso oz{ts} }sat 7I.0I tsruozpJal.ryt} z ouJ93 oluazclutsJ8o celr't B
(rpdBoI:
u3o1
-:
uysot
-
y Bo1
: (6ly)U -
GWIX)U pŁ15 .y 3o1
: (.lłtlx)a durelntudzr1o qcdrrr'r1zotu
:
.Y op fzcn11 .orupazrdod ąe[ eruqopod cŁlnrrrnzou bqzcą glzcluęr8o durozou .(qcf.uo1poJz .ry\oue1s qc'tuzgl z) ezcn1n
l
o8ouręs o3e1 bcotuod pz euozlo|y\In Ic9oIIIoptsI11I ol1dp dualn.t.resqoez dpp .rzpo.ttop oc łso| tI.0I nluazpJol1r\ł ouol9aJło eu.ro8 eruezcrugrSo az .eue8Qtso
^\
(opdBoI: z3o1
-:
z,Y 3o1- uy3o1:
(x)a - (nt|>ł)a dureur aID€łInzaJ
'uy 3o1
w)u
uy
Bo1
@)wd
@|z)n@)*d
ł\
:
3
w)u
ś:
(w|>r)a
:
.u,, Icsouoper,t leu1orvrop I € p uy3o1 (-|x)a pŁts u]a+tsz durelnrudz.r1o .fuqopodop.uerd tzld.o8arrro1uarua1e-uy aru.ug.r 1sat dzcnp1 uy qc,.(1 z (s) : ^p?EĄuł|zc l'u TcsoluopBl,ł\ leu1orrrop (o n"rorqzpod op dzcnp1 qcf.ttr1zotu J.gl.qz BzJIuEr8o olu€.Ą\o^uasqoez .(rrulx)l?r rualuazcllcło z€Ja} órs dur|rrulez .ua^\+sualqopodop zbpzvn ze,taruod -.nerd ur,{.noleupef z ce.rq.,Lu r-uTour erueruleldzrar.trn ln8er
"uy
'"uYBo1: ev,e1sll'l^tzco 1se[
rur>11sdzsrvr
apezr4
(;1).27
.Ic9ou1!\oJ IuoI{Buz ez Łs auotu1ads
7t.0t
t
r [eu1euo8o1ro dzrerceur t[c>1nr1s tI'gI yozpJorl$+ z BruozcruerSo ez 'Autzuy/.n .tsruezctugr8o eqo -uo>1 larlłorte1spod lezseu op dtuco.r.trod 9errrol1sn1z dqy .W Bu p€ł>IzoJ Łln4npur T €u €'Ą\}suelcłopodopmerd dpe11zo;1et s } .qosods trrtss I{€T l^ w x W tsu pełĄzol Ł[n>1nput s: X s: €u zelo y €u ts.Ą1suolqop .ctrru.gur -odop.trłerd dpeązog .(o3a.uo1p9r7 nu€}s tsIuozJgtł\od drrrezczsndop eru : (s.s)sxs6 ez,ulfr1 dzrd cŁfnurfdztd,9 X s' €u s o8epzq €Ip lezceur) 0 ,W x W €u €'lYr}stJolqopodop,uerd peł{zoJ c€.t.roluuopz
9)
ptsPIzoJ cITgaIło durrsnur
frqv .W x w ) (eu,,tu,) IcsouloptsI.4Ą óred Łue.uoąpŁzlodn qgsods ue1 .n'r furef -nru.{zr16 .X efln1Ą o8eures oBe1 Łcouod ęz omołpoJ? ,{ue1s auzor e.up druetu ez .,{ur99ndf fld.zV:g €^rosol €uuoltuz 1se[ u,{zc .9ru9eldrrt dze1e5 -1e1.{z:er.u'n
'(ntlx)a - (.wlx)n
VlaoulNg
EZt
Z gNvZvI1AZ
(3,a,Y.s)
qcoTN
oINgzolIgLAĄ.l .ż.0I
VINgZcINvaco
324
10.
KODY UWIERZYTELNIANIA
10.5. Uwagi i bibliografia Kody uwierzytelniania wymyśIili Gilbert, MacWilliams i Sloane w 1974 roku [GMS74]' Teorię kodów uwierzytelniania opracował w znacznym stopniu Simmons, który uzyskał wiele zasadniczych wyników dla tej dziedziny. Warto polecić
dwa artykuły przeglądowe Simmonsa: [SI92] i [SI88]. Dobry ptzegląd zawiera tówniez artykuł Masseya [Mł86]. Wielu badaczy zajmowało się związkami między macierzami ortogonalnymi a kodami uwierzytelniania. Przedstawione podejście jest oparte na trzech pra. cach Stinsona [Sr88], [Sr90] oraz lSr92]. Od ponad 50 lat macierze ortogonalne są badane w ramach statystyki i kombinatoryki. Na przykład, ograniczenie z twierdzenia 10.9 zostało udowodnione po raz pierwszy przez Placketta i Burmana w 1945 roku [PB45]. Wiele ciekawych wyników dotyczących tych macierzy można znaleźćw podręcznikachz kombinatorycznej matematyki dyskretnej' na przykład w książce Betha' Jungnickela i Lenza [BJL85]. Zastosowanie metod związanych z entropią do badania kodów uwierzytelnianiazawdzięczamy Simmonsowi. Pierwszy dowód ograniczenia z twierdzenia 10.13
zawiera [SI85], dowód twierdzenia I0.I4 rnozna znaleźćw placy Walkera [Wł90l.
Ćwiczenia 10.1. oblicz Pdo i Pd't dla następujących kodów uwierzytelniania przedstawionych w postaci macierzowej:
Klucz 1
2
4
I I I z
2
2
ą
A
J
1
2
J
I
J
1
J
I
2
2 6
1
1
2
1
Rozkłady prawdopodobieństwa na S i K okreś]onesą następująco: ps(1)
: ps@):
116
psQ) :,psę) : Il3 prcG):prc(6):r/4 prcQ): prc(3) : prc@): pp(5): Ll8. Jakie strategie podszywania się i podstawienia są tu optymalne? 10.2' omawialiśmy wyżej konstrukcję macierzy ortogonalnej Mo(p'p, 1)' gdy p jest Iiczbą pierwszą. Wykaz, ze taĄ rnacierz Mo(p,p, 1) można zawsze rozszerzyć o jedną kolumnę do macierzy Mo(p,p + 1, 1). Przeprowadź taką konstrukcję dla
^-Ę U _ J.
l .t
I
I
I
.IłJąP€ddzId qJfł€tsozod 1^ : (zs)xa t o: (ą|z11l|t11)zW6 e ID : (Is))ła fp8 .(zg (lg)zSd, : (q|zul|tul,\zWf,, az |za1r\rtc"z ,(ą|"-,,,,).wd .((u)a lcsolJ€1r\ €IuazJIIqo op o/lllsualqopod eu bBenn v9tn7) ?in\qo t'g
'$)aa
{zo:(zs) xa ' ID:(I9) xa :)l)
>I}
(ZD
x (zs're;"94 : (ztb'.tv1)zW4 .(zD,zs)
f,pał'ĄĄ - zl-u | (ro,-s) : llu qcaru :fcŁlndÓ1scu qgsods .tr 2dzcqqo ęuzovl (z1u,,Iu)z}.rd on1syalqopodopner4
z1v't1v,\zWfl
: and@F- ĘrĄea (
:
(z1il,' Iul|ą)a
I I .ł
d
:esafeg ntozn' c,tzn eru.trouod ,|za1eu (zu't',--|q)sa €IuazJITqo ocl 'qce4pedfzrd qc'{1e1sozod n g : (5llu)wd I'o - (s)xa ,{pB '(s)sd : : ur II9af ez ,Aulzell:ne7 .(u)wd vtzc1qo ł€| .?n| duar6
(q|u')wd o1 .(o.s)
(u\wd
:esedeg nrozan' -rervr rur,(1srrrrfzcezl
z lpd l opd
lfzn (tupD:d €Tuazcllqo ocl vx1\Ą9zvxs1!Ą 'I.0I n[uazcl1ńJ €u €IuazJIu€J8o
rrr turfuozcrlqo lul€Ic9ol Łrdor1ua z auęzbtntz [eurt9ro4
BrIr: (t'v).sa: (7'V)zsd: (z'E)'sa: alt : (v't)'sd : : (V'Z)"sd : : (v'r)'sa:
Alt Srlr
'g)"sd
(1
j)zsd,
(y
(t'Z)"sd: (I'Z)"sd (z'r)"sd (t'I) 'sd
:
:fcb|nd31seu 1set qcfr*o1p9r? il.guęIs red e1p €.ł\}sgalqoP .T.0I e|wazJlx) z eluelu1e1.tzJol.&n npo{ €IP (zlĄI|x)f7
-odopmerd
zero
P€łłzoJ II9a[ (6|y)p .(x)a IJ9o1J€.Ąe
.(.Y'Y.ł (zulu)olN
nd.,(1
€IuazJIIqo op .{rrrore1nduroą urerSord zstde5 .(t.tt .t)olĄ bu1euo8o1ro zJolc€lu [.P.qz
Łzratceur alcsltyt't'zcazl 1set
3
az.7ra1f16
'9
((tn,łr) | .' . (In, (
(lY.ł.tu)olĄ nd'{1
.q.61
.7.0I
izlalcetn
w))1+
zsrer.lu furelnpgoP B, iztalcęul (,n, . . ,.tź) : ts tszslal^\ l y .['zrctceul (,,....,l:t): t"t, €zsJol.ly\ oBapza1 e1p:.{zu.....I} X {'.'.....1} qoqur,(s luoJolqz .{",, ' '. .1} rtoqulds ruoJolqz P€u (zYTY,ą,zulu)ol[ nd.{1 p zJ'olcęuf furefnpnq7 lłcalu I {IU.....I} { alzpbqy qcolN
g
peu (zy,s!,zu)olN ndd1 Łu1euo8o1ro Łzrarceur alzpbq -oqulds luoJolqz P€u
Łu1euo8o1ro Łzrarceur
.t.oT
etuazcLlic
9ZE
11 Tajne schematy współużytkowania
11.1. Wprowadzenie: schemat progowy Shamira Jeden z sejfów bankowych musi być codziennie otwierany. Bank zatrudnia trzech upoważnionych do tego pracowników, nie chce jednak, by którykolwiek z nich mógł sam dysponować otwierającą kombinacją. Potrzebny mu jest zatem system umożliwiający otwarcie sejfu dowolnym dwóm upoważnionym pracownikom, a jednocześnie nie dopuszczający do tego, by jeden z nich mógł to zrobió samodzielnie. Rozwiązaniem tego problemu jest tajny schemat współużytkowania (ang. secret shańng scheme), któremu poświęconyjest ten tozdział. oto ciekawy przykład tego rodzaju sytuacji z ,;zeczywistego świata'': według czasopisma Time Magaziner zarządzanie bronią jądrową w Rosji opiera się na podobnym mechanizmie dostępu ,,dwóch spośród trzech,,. ową trójkę stanowią:
prezydent, minister obrony oraz Ministerstwo Obrony. Zacznierny od omówienia pewnego szczególnego tajnego schematu współużytkowania) zwanego schematem progowym. oto nieformalna definicja.
DEFINICJA
11.1
Niech ź, w będą dodatnimi liczbami całkowitymi, takimi ze t śu. Schematern progouarn o w użytkownikach i progu t (w skrócie schematem progowarn o parametrach ć, u,') jest taka metoda dzielenia klucza K w zbiorue u-l uczestników (oznaczanyrrr P), kt&a pozwala obliczyć wartość klucza K dowolnej grupie ć uczestników, ale nie może tego ttczynić żadna grupa t
-
1 uczestników.
opisane wyżej sytuacje odnoszą się więc do (2,3)-schematów progowych. Wartośćklucza 1( określaspecjalny uczestnik zwarly rozd,ajqcym i oznaczany symbolem D. Zakł'adamy, ze D ę P. Gdy D chce rozdzielić klucz 1( wśród uczestników ze zbionl P, kazdemll z nich podaje pewną częściowąinformację, Zwaną udział'ern. Udziały powinny być rozdzielone w sposób tajny, tak by żaden z uczestników nie znał udziałów Dtzekazanych innvm uczestnikom. 'Time Magazine, 4 rnaja
1992, s. 13.
l
j
ez,tuo Łzper11
.X
zcn][Ą
(o?r)':
'Pfr'
,ł4(... (rLd dcru1sezcn ez,lulz91e7 ?Irclsn bu1c .eruazperlłordazrd [a[ lu,gqosods e41ą dupł.
-€łspozJd .fa.uoueruro1erłr, rlce1odre1ul ezpoJp ,ra' o1 Órs eł'dqpo ozcfiIpPusez'zcI].IĄ ,zerc1 fuzceqo7 qt(złon1po azolu l^'o{Iułsozcn 7 z tuozo1z g rgrqzpod >1e|
I
I
.T.TT or (7 1urer1aure.red z dZ !^ BJIIIrcqS rQliroBord }BuIaqJS ff}
xqNnsł1ł
.?d op ?ń łęIzpn etnzvjilazfi > ? > I €Ip I:!
d pour
ft"31
I_?
etzpB'm> I_1pl.
'.,to
:dZ
-o1) aruruete1od erarq,.t.łl |oZ
=
?
>
I
e1P
(r)o :
^\gluaurala zcnlĄ ?tspzol acqc 1
X
S7
:
o
g
(tr)
(n)o
?fi ezc11qo
7 (eruza1ezalu
O
(t)
1 o.Ą\os
ez ,tutz91vz (7)
oluepzoll
^ĄgłBlzpn eruzcr1qnd aueuz Łs o} IcsołJts..vt lrn > p > I €Ip L?4 ?r ?9ołJ€1d etnzv4azld' o |(t+n IvIp dZ ) ltr -&gluourale qcd,uorezatu qcduzor m eretq'&tt 6' (I)
r
>
e1uelłofcru| eze'tr' .nutsIluolol,ł\ o3e1 nse;4d.tt op
.(dzcnp
qc,trwt1zotu qcdłtt1zoru qc111sdzs,rł, tuoJolqz t1tzc) mgyotzpn ureJolqz 9 e .,lł9{lułsazcI| oI luoJolqz erzpÓq qc11p,tzs,r.l uloJolqz rytzc) fi'zcnyq unJol'qz - }
{.>p>r :Pd}:d
I{caIN .€Iuozceuzo
VEIWVHS 1'lvlo} OAd
L7,t
eu.ryrod
M4HCS
:
durzpe.uord16
gI NgZ CVIvIOA4IA'
I' I
t
11. TAJNE 1CHEMATY W1P)ŁUŻY,IK)WANIA
328
dla 1 ś7 śt, gdzie a(r) e Zofr] jest (tajnym) wielomianem wybranym przez D. Wielomian a(r) ma stopień nie większy niz t_I, mozna go więc zapisać w postaci
a(r)
:
ag
ł a1r+
...
+
at_ltt_l,
s4 nieznanymi elementami Zo, a ao: I{ jest kluczem. zachodzą równości aij : a(xt), zatem uczestnicy ze zbioru B otrzymująukład t równań z ć niewiadomymi a9,. ..,at_1'nadc\aŁemZ,. JeśIi równania są liniowo niezależne, układ ma jedrrozrraczrrerozwiązanie, którego składnikiem jest wartośó klucza ag. Popatrzmy na prosty przykład. gdzie współczynniki
aol...,at_t
DIa 1 śj śt
Przykład 11.1
:77, t :3 otaz w : 5. Publicznie znanymi odciętymi punktów niech będąri: i, 1< i ś5. Przypuśćmy,że B: {Pl,Ps,Ę} jest zbiorem uczestniNiech p
ków,którzy postanowili połączyć swoje udziały, równe odpowiednio 8' 10 i ZapistĄąc wielomian a(r) w postaci
11.
a(r):aołatrła2r2 i obliczając o(1)' a(3) oraz a(5), otrzymujemy układ trzech równań liniowych nad Zy: aC)ła1 łaz-8
aoł3atł9a2:lg aoł5atł8a2:11. Układ ten ma jednoznaczne tozwiązanie w Kluczem jest zatem K : ao :73.
Zp:
ao
:
13,
ar
:
10 otaz a2
:
), I
Rzecz jasna układ t równań liniowych powinien mieć jednoznaczne rozwiązanie, tak jak w przykładzie 11.1. Wykażemy teraz,ze tak jest zawsze. W ogólnym
przypadku mamy
: a(ri ) dla1ś7śt,gdzie a(r): aoł atr +... At1
+
at_Irt-I
oraz
ao: K' Układ równań liniowych (nad
Z)
wygląda zatem następująco:
a(tźl ł a2r;,2 + . .. + a1_1tri,t_I :,yi, I o'g ł a1ri, + a2!xź22 +... + at_tnbt -,a,i', ao +
ag
l a1łi, l
a
azxt,2
+...
+ d1-1xi,t_I
:,yi,.
'l > ., ) T '(ten'rrr) euerttorlptzrodn d.red arllsdzsiu bzeleu o8e.r9p1 op'I - ? .tlft zcgtd druns r4rupe1>1s erą1sdzs,tr [ez,.{rvr[eu oc erudo1s utsIluolal1ń uJa?lpz due141 .nroz,l.l oBe1 btu>1luz :!?x : r cblerłre1spod 9sou.uerdod ctzprrrerds orrt1e2 ą?tr
-
'?t -
|?n :x
|lł .l}ł}r
il
t:!
,,fi,ś:@)" ?
:JoZ,ł\ uo}
o}o .I
-
?
fazdrrl|eu oc erudo1s (r)o ueruo1ar.u (dudpef) tazf,:yy luozcl1qo 1sordał. e1seqo e.aB -ue.rBe1 dutdcelodrelur 10z6 'e,eBuerBel urdufdcelodra]ul ruorozlvr urd.touerurol
-auytz fruBzhr..rrz.Brcs[.,(.,lr .}>1und.,(uur vbtltztd 4eupaf euzow.dZpuu qcf.łrorur1 r1eu
_,Ą\oJ.ł\9p€ł{n rcgou1ezttrlnzolęu órs dur9rltdn1s .e.rtueq5 }€tuoqcs cblnzqeuy .nzcnl{ o rfceuro;ut leupe7 ce1sdzn aluts}s 1r\ 1se[ eru ł\o>Ilu}sozcn ednr8 az ,tszcęlJzo o1 e .ezcn11 lc9ołJts.Ąl |eupe7 9dzcn1ądł. clr,tł' euzour er5 1
-
1
'(o)ofto:
on
ztsJoI-?>.f>I€1p
('o')o'o:
',ft
a? I{€ł ,(,),o, u€Iluolol.lr\ dudpe| eferu1st ofr' ęz)nlĄ lc9olJts.Ą\ feuzcf1e1odtq .o1vzcvuzg .ts(apuolu teu1o.ttop e1p c3rrvr ę .atur-zbttyyzol oufcauzoupal eu p€PIn oz -JaputsA bztalcęul nlĄouz pel rrrrdurop€I.Ą\olu ? z vtsul\\gr ? nptsł{n o8euozłezszot g .otutsulr.tol eu|e1o>1 pŁ1s eąrud,tr' .(0), : otl łse! uozcnl{ z€1(roluod {tsł zIoID€Iu .ofr, ęzlr;IĄ?9ołJts,łl Łuzcd1e1odrq ruo turfdzrd az .druggnddzrd .rurduropel:l'l.alu ? z
.qgsods rrr cŁfndó1sod duęsrdo fozdrt utsu^ĄgJ I _ ? p€ł{n ruo Łfeurdzr1o Z.ryto{Iu .e[e1zp óts o3 -łsazcn 1 - 1 ednrB arrufepod ęzcnl{ €IuazJołr}po óqgrd dp8 .tszcnl{ ?9o1J€1ń cdzro,t.r1po rud.ł.r.o8ord alc€Iuaqcs tul{e} /A ger1od (drvro1s turduu1 .dve1elc u.etuezbttyyzor euzceuzoupel 1edn"r8 €ulo.Ą\op ^\o{u}sozcn .0 duz9r en1e1 po uno!'ez.6 y tsIu p€ł{n oz ,ezJtsIlzo oł € 1se[ 6 po qcduzor FP l .o1orc ,u ,ug4ruudzc udzco1r alolc 1ń zts.ł\aluod .bzsłrrard Łqzcq 1sa[ d ur,{ro1ą .ła. lpx ,pr cótłr e ,dv ,u bs aue.łrduo1dl.r €Iuozcllqo .n.roz durlł.or 1se[ etu Icę+s .od łtg>1ruudzc z uopęz llu;o+Ez ,otJzol ŁS ?tr lcgo}J€rrt ar11sdzs.tr ez .drufruruodfrzt1 'd'
Pout
('o'
oIcI,Ą\ouBIIu |tztorceul fer>1e1 4ruzceuzdrrt
-łsI .ts.apuoulJoPu€A
bztalcęut buęnz {€ł n} pe|
/':'\
y
('-'"\ (,-,
l";,1:l,.ll,; \',n/ \oo/ \,-, D
r)ł>{)r
- ''t') tI :
Y łaP
eu lozl"t fruęuz ezrqop eferu .u91ruudzc1odsłr zJoID€trĄ ,!fr
zLr
v
llł
:fałrozrorceur rce1sod
VaIWvHs A-Mo
6óE
z
łr [ec9rą 9esrdez oł €uzotrĄI
oad Iv WgHcS
:
gINgZ CV^ĄoEd^Ą
.
I. I
I
330
11, TAJNE SCHEMATY
x:fuo, J:7
II łlj -zk
1<ń
wspoł'vŻvrxowANlA
-xj
Niech b; "
1<
:
tik l-T ,J,ip A l<łi|ł+i _ ti,i LL
. < t.
1
(Zau-wazmy, że wartości bi mozna obliczyć za'wczasl i nle Są one
tajne). Mamy wówczas
n : \-, ) ojarr. j:r t
Tak więc klucz jest kombinacją liniową t udział'ów. Dla ilustracji opisanego tu podejściaobliczmy raz jeszcze tą metodą klucz z przykładu 11.1.
Przykład
11.1 cd.
Używając podanych wyżej wzorów, uczestnicy i b3. Na przykład'
bt:
Pt,
Pe, P5 mo$Q obliczyć b1,
r3rs
(rs-rt)(rs-n) moo 1/ : 3. 5 . (-2)-'. (-4)-t mod 17 -4. Podobnie, bz : 3 orazbg: 11. Mając udziały 8, 10 i 11, odpowiednio, obliczają wartośćklucza:
K : 4. 8+3. jak
b2
10 + 11. 11 mod tT
poprzednio.
:
uczestnicy
13,
I
Na koniec tego podrozdziału omówimy iproszczoną konstrukcję schematu progowegowszczególnymprzypadku' gdy w:t ćdla dowolnego zbioru kluczy K: Z*, gdy S : Z^.( musi być|iczbą pierwszą, nie musi też,być spełniona ni celu
?,u,tnu o I,uz D nodn xluDJ o qz Po d .olt\ITzolu ,nd\\sop duror.trzeu b"t,n7qn.ąs }sa[ tr óurzpog J op acŁzolBu drorqzpod v .atg>1ru1sozcn nueJolqzpod rurd1 elu9tsłłl Łprq tr op tszcnPl oluazcTlqo qcdrpq e1p .alu auul € ecbze1vu drorqzpod |4 nrctqz łto.rorqzpod butzpot arzpaq J qcalN .ezcn14 aJg}łaru dp8 .>1epeddzrd ceł'fr1ed ddnJ8 .ugąrułsazcn tteu dÓ1sop op .zcnPl c,|zc11qo azolu łl9{Iułsezcn m poJ9 -zot ,|utazow ,atuezo1ez o1 cŁteru19$on -ods ednr8 €ulo1{Iop az ,ntuezo1ez eu b1tvdo ólcen1ds pb1op fur91e,udr1edzog 1 .6.11 alu€ńtro{łdznłgdsńA' oul€ł aul98o ! nde+sop frn14n.r15
.'
.1.1 qcer1eureJ€d >1eupet
otu,?ń,Ic9olJ€,ł\
Ic9ołJts.Ą\
córrrr ,,truetr41
'
o rud.tto8ord tuo1€uraqcs
L
ez eruerudzc op
al.lr\ts}spod ta1 tu 9e1sńzn Łger1od .d1erzpn olorts cŁtepoq vtzcqqo b8oru
o rfceurro;ut leupe7
cbtpuz oIN .!n
-
y
.ś-)1 I_?
zpro
I-łfr ( . . . ttl?fi,(I_xfi
.{a}\a fdnr8 1 1
_
-
.I :,t1erzpn ecttndÓ1seu ruo Ł[e14 z Aołru}sozcn
-
tcotuod ez
n1o>1o1ord
(.. .
(Iri
? > z ) 1 erzpB qcduza1ezetu
I_?zaroi- fuszvnzop.qcdru,oso1 qzcq
.ozoul olu ?Iqorz o3a1 .Ą{głIu}sozJn
7 rce1sod .tr' f1erzpn luo blnludzJ1o zdpE .atcgr.trdzco 7 qcdzs,rłrerd LX c1lzct1qo olu€}s
.ł\ 1se[ .tto1ru1sozcr. I
'ul Potu nIoz..^
ęu o8euestdo
y
ct|zcqqo ozoIu 1\Ą'ołIu}sozcn 7
z v,1sfrzrcn
(3.1) qce.r1errre.red o
uv
6
e1anc
?> ?>
'Ącb|epzor
-Z ) X
-
?
tzc
I:!
?ft!: X ,,t-)n^n,7
",
'6'11 n>lunsdr q.zcn|Ą tsIuolelzpzoJ
łr fłr'oBo.rd }€uIaqJS .z.TI xsNnsłll
I Ep
,?d oP ?fi łe\zpn arnzeąezrd
6
(t)
I:?
u,l poru
,n3- X :
łń,
I_ł
ęzc\qo
iuz
o
(Z)
I-Tfit " ' t1ą
lłlgqau]olo I _ ? (a1u4e1ezetu r ołtoso1) €Jalqd1ń
Igt gI Iy^{OXIAZnxQdSl sNfYJ 4N'I7CO
etuuete1od
t naHISOo
6.
(1)
AA1I>I1AIS 'Z'It
11' TAJNE SCHEMATY WSP)ŁUŻYTK)WANIA
332
K
będzie zbiorem kluczy, a 5 zbiorem udziałów. Jak poprzednio, gdy chce rozdzielić klucz K € K, przydzie|a |
rozdający
D
DEFINICJA
11.2
DoskonałEm tajnym schematem uspół,użgtkowania rea|inĄącym strukturę dostępu f nazywamy każdą metodę dzielenia klucza K w zbiorze to uczestników (oznaczanyrrr P), która ma następujące własności: (1) uczestnicy z dowolnego upoważnionego podzbioru klucz K, ł'ącząc swoje udziały;
BCP
mogą obliczyć
(2) uczestnicy nieupoważnionego podzbioru B C P nie mogą, znając wszystkie swoje udziały, uzyskać żadnych informacji o kluczu K. Zallwazrny, że schemat progowy o parametrach t, w realizuje strukturę dostępu
{BcP:
lBl>t}.
TaĘ strukturę dostępu będziemy nazywać strukturq progouq. Wykazaliśmy w poprzednim podrozdziale, że schemat Shamira jest doskonałym schematem realizującym progową strukturę dostępu. Teraz zbadamy bezwarunkowe bezpieczeństwo tajnych schematów współużytkowania. Oznacza to, że nie nakładamy żadnych ograniczeń na liczbę obliczeń wykonywanych przez nieupoważniony podzbiór uczestników. Załóżmy, że B e I oraz B C C C P i przyplśćmy,zepodzbiór C chce ustalić khrcz K. Uczestnicy z upoważnionego podzbioru B mogą sami obliczyć K, zatem to samo mogą zrobić członkowie grupy C, jako że mogą po prostu pominąć udziały ze zbioru c \ B. Wynika stąd' że nadzbiór zbioru upoważnionego jest znowu zbiorem upoważnionym, oznacza to, że struktura dostępu musi spełniać warunek monotoniczności:, jeśIiB
eT
otaz
B C C CP, to C e f.
W pozostałej częścitego rozdziałll będziemy
zakł'adać, że wszystkie struktury dostępu są monotoniczne. JeśIif jest strukturą dostępu, to podzbiór B € f nazwiemy minimalnym podzbiorem upoważnionym' gdy A ę| dla dowolnego zbioru A C B, A + B. Rodzinę wszystkich minimalnych upoważnionych podzbiorów struktury I nazwiemy bazq| i oznaczymy symbolem |g. Ponieważ | składa się ze wszystkich zbiorów z todziny P, któte są nadzbiorami zbiorów z bazy |g' zatem |g jednoznacznie określastrukturę |. Bardziej matematycznie,
Y:{CCP:
BCC, Be fs}.
arzpÓq
c
,{I
: (^r,..',tr)C, (*r' "''rr)g} :
(C).t
dru19err1o lru.,(uzcruo1ouou uropo.ł\cło
qcalN ...1.. IDso1l€,ł\ o urotcglełr dcŁleperrwodpo d nJolqz lgtqzpod
,{I:,,
,'łd} :
l1''{zc
(-,,...,tr)B
Jgrqz ?lIgoDIo druezoru'o8euzctuolouour npo,Ą\qo oBer1e1 99|e.,rt rrr, z oBapze4 tsIp aT{s.Ą\olooq lc9o}rełl drulr9e.I4o dpg .(arcgtdłt oupet o>11d1 e1e .csfervr oznp olulo.ĄĄop 9aTtu ozoru e>IlutsJq ev .o1 ezceuzo) 1 o11dt €u.Ą\ol 9frq ezotll e,trorcgld.tr 99ou1ezbrcqo e1e .Łlvrotcsfe.u csou1ezttcqo Łu1o,uop )a:rl]' ozolIj pg'v\qo ...0.. €u ,,1,' z ntcst,|rrr eu rcso1rełt du -erurz duelnpo.trods aru dp8ru .(ep',tterd) ..I.. €u (zs1e3) ..6.. z ntcs[o,Ą\ tsu ?9otJB.Ą\ ctletuerurz zf,p? ,ul,fi,uzcxuo?ouo1il uapo.Ą\qo fiuer,uzeu pg.Ą\qo T{€I .JoN łaIuEJq .GNY I łs€Iuloł€u durezczsndop oTu tlo łau€Jq z órs ep€Pls p9ł\qo .ź etcsldłr
|...|Ir al{s1lĄoloocł oupel ze.ro (-d,'...Ę uro1ru1sazcn (n rurdcbleperrvrodpo) -r nuuls^lolooq ruręrcsle.ł.r. n z c I{s.Ą\olooq p9ł\qo duręur ez ,ttlucsndfzt1 (uol4cn"t'1sun ??,ncJxc euo +o uoul Bue) ul,fr,uzc?,uo łouo u, a?'zpo nqo ou b1.l'odo btcąn"t,ysuoq fiuerrr.tzeu Ópo1au ó; .npo.uqo o3a1 nsrdo at.ue1spod eu .ndó1sop 3ln1ąnr1s bu eruerrtoą1dzn1gds.trr 1euraqcs .{u[e1 Órs ,{zrort1 erudb1seu e -ep ..e[euzodzol,, 'Ąto14.pg,v'qo duzcruo1ouoru 3rs alnpnq .ttrardfeu ez ,ulf1 vu .tsIu€,{o41dzn1odsłt olceluoqcs ufule1 urd1euo>1sop ru,(u ,bcbtaz .
.
eBe1od n1sdurod €}o}sl
-,ted rvr ?tslłoz:rlaarz tsuzolu nd31sop ó.rnp1n"r1s (Łuzcruo1ououl) Łp7eą az -e4od ere1qcloT I Eqol€ueg 3[c1nr1suo4 Ęcue8e1e r Ł1sord o.torcófod n1 durepo4
urr(uzcruo1ououl olzpo^Aqo Bu BłJ€do efrąn.r1suox .t.TT
..Ąlo{IuTsazcn (erupe11op) z órs ecblepe1ąs drorqzpod et11sfzs,tr 7 Łr.ttoue1s bzeq,m.7 qcer1eurered o ndó1sop drn11nr1s le.ttoBo.rd n>1peddzrd '11
..1 furzpor ,trororqzpod qcdu1erururur z óts n ópe14s 07az(uzpnrerds orw1e1 .3 ndÓ1sop órn11nr1s Ęe1 cŁteru.19.r.ł.rpo eu 1 .
{{,a,,a,
ód, Id},
."d). {td, zd, Id}} n 0J {vd, td
: J
dpał^Ą
'{{ra '"a}'{vd 'td 'rd}'{vd 'zd LId}} zvrc {v4'td'zd
:
l oTu,atcSzutlutop
1set tr ez
oJ
'ta}: d
qcaTN
6'17 pey>1.tzt4 '(o.r)1"
druezsrd
'dpe1t
:
.r
'(tuuvrgtr'ttr
INANZCINOTONOW qIZAO.MAO VN VLEV4O VTCXNATSNOX 'T'LI
8tt
334
1
1'
TAJNE 1CHEMATY W1P)ŁUŻYTK)WANIA
gdzie C(ry,...,fi-) oz\acza wyjścieobwodu C odpowiadające wejściom frIl...lx-. Z monotoniczności obwodu C wynika' że f (C) jest monotoniczną
rodziną podzbiorów zbiotu P . Łatwo zauwazyć, że istnieje v/zajemnie jednoznaczna odpowiedniość między obwodami monotonicznymi tego typu a formułami boolowskimi zawierającymi (AND) i V (oR)' nie zawierającymizaś żadnej negacji' wyłącznie spójniki ^ Jeślif jest monotoniczną rodziną podzbiorów zbioru P, to bez trudu można zbudować obwód monotoniczny C, taki że f(C) : f. Na przykład, niech |g będzie bazą |. Budujemy wtedy formułę boolowsĘ w dysjunktywnej postaci norrnalnej:
V
B€|o
W przykładzie II.2, gdzie
fo
: {{P''
Pz, Pą}, {P', P,, P4}, {P2, P3}},
otrzymalibyśmy formułę
(Ą A
P2^ P4) V (PI A
Ą^
P4) V (P2
^
Ą).
(11.1)
Kazdy składnik takiej formuły boolowskiej odpowiada bramce AND w odpowiednim obwodzie monotonicznym; cała alternatywa odpowiada bramce oR. obwód |iczy zatem lfo|+ 1 bramek. Niech C będzie obwodem monotonicznymrozpoznającym | (zatlwazmy, ze C nie musi być obwodem opisanym wyżej)' Przedstawimy algorytm umożliwiający rozdającemu D zbudowanie doskonałego tajnego schematu współużytkowania realizującego f. Składowymi tego schematu będą schematy o parametrach t, ć' zbudowane jak na rysunku 11.2. Dlatego przyjmujemy, ze zbiorem kluczy jest zbi& K : Z- d|a pewnej liczby całkowitej m. Każdej linii W w obwodzie C algorytm przypisuje wartośćf (W) e K. Na początku linii wyjściowej Wou1 przypisuje się wartośćklucza K, Po czym algorytm iteruje się tyle razy, 7|e potrzeba, by kazda linia miała przypisaną sobie wartość.Na koniec każdy uczestnik Pi dostaje listę wartośc1 f (W), takich że W jest linią wejściową obwodu, którą są przesyłane dane wejściowe rx. opis konstrukcji znaduje się na rysunku 11.3. Zallułazmy, że gdy G jest bramką AND o, powiedzmy, t liniach wejściowych , tozdzieIamy ,'klucz'' f (Wc) między Iinie wejściowe' stosując schemat progowy o parametrach t,t. Wykonajmy opisaną wyżej procedurę dla schematu dostępu z przykł.adu'II.2, korzystając z obwodu odpowiadającego formule boolowskiej (11.1).
Przykład 11.3
Rysunek 11.4 ilustruje konstrukcję, którą tu przeprowadzimy. Zał6żmy, że klu-
K. Wartość1{ przypisujemy każdej z ttzech linii wejściowychostatniej bramki oR. Następnie rozpatrujemy bramkę AND odpowiadającą warunkowi czem jest
(Iq Iug^Ip rc - X I Ia lc9ołrg.tr durafnsrddzrd ceruo>1 tsu I zq- rg - X zelo zq Icso}J€llr fruelnsrddz.rd?dv tdv Id eInIuJoJ udctfeper.ttodpo urdrvrorcsfe.u urorur1 .-Z arr' druefnuo>1d.t erue1erzp etzp8 .orupet.t.rodpo .zD - ID - X zęło Zo.To Ic9olrer'r drualnsrddzrd urdłrorcslerrr IuoIurI ulez4 tep .vd v zd v Id
IuazJł aluqopoó'
fuzcluolouour pg/tAqo 't'TI xqNns,{U
ze
ty
€;
-
re
-y
Zy
,X
urr(uzc1uo1ououl orzPolłqo eu e1redo efcąnr1suox .8.TI ?'Dfr - (?U)I r:? oP7>?>IroJ
u/'poln?,DfrK_ I-1
Pu)l
rrr'gluarrralo
(0T)
(t)
qcoru
p)
"l".p
(0)
(s)
? (eruzalezorur o.uosol) zrerqdr'l.
I
rurdrrrorcgleitrt' ruI€ruII
1sa|
p DIIu€Jq e,ryit : @)I
es1a
uotlł l{o Ęrrre;q rso! 5r JI farrrorcgfelł' rtuq laupez BIp auolsar>lo r>1ruerq J'14 fertotcgld^Ą llu1
('u){
xsNrrsłtl (IT)
_ łcn
zcrtqo
I-1'Cn("'tI'Dfr'urz
,M. .. .tt,14bpbq p
(ogv Ę*'rq
,14 te.rrrorcgterra. 11uII !op?s{ tsIP
g
1se[ eru
(s) (q)
(r)
zptvuz
(c,14)! o?uĄts+.9 ó1ure.rq 3 n tsIp auol9aDlo +sat (U)I tprqpI e1p 'erur1 eletulsr op auolsor{o 1sa[ etu
gtt
x:
allqrla
(""n){
(s) (U)
(l)
WANZCINOTONOW ilZOOlAAO YN VJUYdO VTCXNATSNOX
'8'TT
11. TAJNE SCHEMATY WSPÓŁUŻY,IK2WANIA
336
liniom wejściowym odpowiadającym formule P2 A P3. Przypomnijmy, że a1, a2, by, b2 i cI są niezależnyrni wartościami losowymi w Z*. Popatrzmy na udziały ptzyznane każdemu z czterech uczestników:
(1)
Ę
dostaje a1,ó1.
(2) Pz dostaje
a2, c1.
- ą. K - at - az, K - h -
(3) Pa dostaje b2,K
(a) Pndostaje
bz.
Tak więc udział' każdego uczestnika składa się z dwóch elelnentów Z^. Wykażemy, że schemat jest doskonały. Po pierwsze, sprawdzamy, ze każdy zbiór z bazy rnoże obliczyć klucz K. Upoważniony podzbiór {P,, P,, Pa} moze obliczyć
K:
at
ł az + (K - o' -
a2) mod m.
Dla podzbioru {Ę, Ps,Pą} wygląda to następująco:
K:
bl
ł bz ł (K -
b,
-
b2) mod m.
Wreszcie podzbiór {Pz, Ps} moze obliczyć
K:cr+6
-
c1)
modm.
Widać, ze kazdy upoważniony podzbiór użytkowników potrafi obliczyć khlcz K, możemy więc zająć się podzbiorami nieupoważnionymi. Zalwazrny, że nie musimy interesować się wszystkimi takimi podzbiorami. Istotnie, jeśli,B1 i 82 sQ podzbiorami nieupoważnionymi, 81 C 82 i 82 nie jest w stanie obIiczyć K, to 81 równiez nie może tego zrobić. Powiemy, że (nieupoważniony) podzbiór B C P jest maksymalnym podzbiorem nieupoważnionym, jeślikażdy podzbiór 81, taki ze 81 ) B i 81 f B, należy do |. Z powyzszych rozważail wynika więc, ze wystarczy sprawdzió, tz zaden maksymalny podzbiór nieupoważniony nie jest w stanie uzyskać żadnej wiedzy o k]uczu 1(. W rozważanym pt zykł' adzie t akimi maksymalnymi p o dzbiorami są :
{P,, P,}, {P,, Pz}, {P', Pą}, {Pz, Pą}, {Pe, Pn}.
K nie można obliczyć - ponieważ albo brakuje jakiegośfragmentu ,,losowej'' informacji, albo wszystkie udziały uczestników z danego podzbioru są losowe. Na przykład, podzbiór {P,, Pz} dysponuje tylko losowymi wartościami a1, bI, a2, c1. Inny przykład: podzbiór {Pl,Pą} ma jedynie udziały bz, K - Ct, K - a7 - azl K - h - b2. Kl';ucza K nie mozna ob|iczyć, gdyż cy, a1, a2 i b1 są nieznanymi wartościami losowymi. Zaden nieupoważniony podzbiór nie jest zatern w Stanie ustalić klucza K. I W każdym przypadku łatwo stwierdzić, ze klucza
Jeślido tej samej struktury dostępu zastosujemy inny obwód, ottzymamy inny schemat, Zobaczrny to na przykładzie struktury dostępu z przykładu II.2.
''cr
1:i
n:
(c)-r
a
ez 'gf,zentnez zr.Jo:. o.&lPT '?ctr nd z [pzu>1o3eu[dc>1npul ęIuozołef dcou e5 -Ó1sop órn14nr1s e[nzt1eeJ ?c ^\opo/'lqo ,?AĄ .? ?c np l3 npola'qo qcalu >p> I I\,Jl| op dcbzpe.tro.rd połtqopod vzcęuzo (ł,y1 zeztd -o,rł'qopod o8aurrred b.t.rorcgtdrrr Łruq 1set rruq 1 qcd1 7, epza1.? > ? > 1 ..,'t.rerd[eu Ńl?9ł. I{tu€Jq [o1 e'ttorcgfer'r e1qo1 dtuzceuzo I llo Ęurerq łsa| ez .c .uo ou1Y\oJ"ez { € uI€ J q -tsZ .CINY g)IIuBJq I łe! 9dq ot o?oIN ' aąrue.rq ..bru1e1so.. .(c)J dcŁlnzqeer 1eur ,ftnz4vdzo:u.Ilu€.{ultsJq / z ruepo.t.tqo erzpÓq c zę,ro! qDoIN -aqcs r[c4nl1suo1 n1rud.u rrr Łtep IuI?łIuBJq f, ztu faruu z 3 fporvrqo e11pdzsn 1
1
,|ultlul|'[zł.d .!e1eq .f le1yvroą1vc 1rqzu1 [eu.u,ed e1p :autdc>1npul omozoł€z
'z'II n{uns^r
eu urduorrrrg1spezrd .7.1 qcer1aurered o ur.{rnofiord t1;o}€tuaqcs órs e[e1s teluoqcs .1{9Ą ? Z oNY e{ul€Jq }sa| c alzpo.Ą&qo ,tr Ęurelq Łu,{pet dpB te1o1 z .rurerc9|arla.
-Iulsazcn
^,rgJolqz
qcd1snderu qcr11sdzs.ła' ez buozo1z nd31sop órn1ąnrp alnzt1eer
.zcn1ą r1ór op ete1sop 1(ro)1lu}sozcn z [p?eĄ.Ho łsa! Ęuerq Łudpet Ł1 łtsIuaqcs e .c olzpolĄ dpg ...(1srłrdzco 1se[>1rud,u o1 .t>1rrrerq feupe! z o41'$ 3rs epe11s c II9af {olutsJq Óqzcq eu npó18z,u az futdc4npuT p91^op durtzpe.uordezr4 o91!l.oo -qo
^\
.
(3)tr ndó1sop órn1ąnr1s
.{ctlnzqeer etut.uo41dzn1odsrt 1euaqcs d1euo>1sop nąrudrvl .tr elep 3 eu e1redo etc4nr1suo4 s€zc..l\-o6 .Iul{s1(tolooq uapo.ł\qo urduzcruo1ouour erzpóq c qcoTN T'TT SINOZOIIoIAA.'I .erueruolldznl op rzpe.trord azsrvr [e1 o8eleuolsop oSeu nłtsuraqcs gdsrrr ,zEla1 dutupo.topn -pz uliuzctuołouolu alzpo.tł.qo eu e1redo elc1nr1suoą az 'eruezprrterds op l1y\o{rule1dz3 duerrvrelsozod,flo8ezczg
'?o
(7D '?n - Ert - zP - to - X eltslsop td ft) - X'\D'ZD efePop eA (S)
-
ttt
-
ZP
-
to
.TD,t,D śI3a[B1sop
za k)
'zD'ID elepop Ta (t) :dcŁlndÓpeu erzpÓq .(r.to1ru1e1dz3 (6.11) d1nul.roJ npoł\qo uratcdzn z nT€Iuoqcs tsIu€.&oso}stsz 4ud11 .{*",^"1.o"od .(r'rr) aInuIJoJ €uu€.ł\ou.Ą\oJ tsłNuroJ o1 1sat ez,oBa1aruezp.ue"rdg)
.?a nsa) v (pan z4)y (4 (tan ta)v (zan H) ^zd)v (t.tt) 31nuro; fiun1e1zsnezl1
k.ti
..Ą\z} op :leu1eurrou tce1sod |eurw,(1ąunruo{
V'71 PePT',tzt4
ftt
WANZCINOIONOW STOOĄAqO VN VTEV4O VTCXNETSNOX
'8'TT
11. TAJNE SCHEMATY W1PÓŁUŻYTK)WANIA
338
Ponieważ każdejlin1iWł'jest przypisana wartośćklucza 1(, schemat tzeczywiście realizuje f (C), zgodnie z tezą. Podobnie przebiega analiza, sdy G jest bramĘ
AND. W tym przypadku
r(c)
:
t
l-l r",.
ź:I
Teza, ze schemat realizuje f(C), wynika teraz z tego, iz klucz K jest dzielony między t linii Wi za poInocą schematu plogowego z parametrami t,t. To kończy
dowód.
t
oczywiście,gdy uczestnicy z upoważnionego podzbioru B chcą obliczyć klucz, muszą znać obwód lzyty przez D do rozdzielenia udziałów' muszą też wiedzieć, jakie udziały odpowiadają poszczegó|nym liniom. Cała ta informacja ma charakter publiczny i tylko konkretne wartości udziałów pozostają tajne. Algorytm odtwarzania klucza wymaga łączenia udziałów zgodnie z budową obwodu, pIzy czym bramka AND odpowiada dodawaniu wartości na liniach wejściowych modulo m (jeśIite wartości są znane), podczas gdy bramka oR odpowiada wyborowi wartościna dowolnej linii wejściowej (ptzy zał'ozeniu, że wszystkie te wartości są jednakowe).
11.4. Formalne definicje W tym podrozdziale podamy formalną definicję matematyczną
(doskonałego)
tajnego schematu współużytkowania. Taki schemat będzie reprezentowany przez zbiór reguł dystrybucji. Regułq dEstrybucjijest dowolna funkcja
f:P---+5. Reguła dystrybucji określapodział udziałów między uczestników, przy czym J(P) oznacza udział przypisany uczestnikowi Pi,7 śi śto. DIa każdego K e K niech Fx będzie zbiorem reguł dystrybucji odpowiadających kluczowi o wartości K. Zbiory ?x s4, publicznie znane. Dalej, niech
r: l) rrc. Kerc
f
jest pełnym zbiorem reguł dystrybucji danego schematu. Jeśli1( e f, jest wartością klucza, który rozdający D chce tozdzielić między uczestników, to D wybiera regułę dystrybucji l e Fx i zgodnie z niąrozdaje udziały. Tak wygląda najogólniejszy model, w którym będziemy badać tajne schematy współużytkowania. Każdy ze znanych nam schematów można opisać w tym kontekście, podając reguły dystrybucji, które są w nim stosowane. Matematyczna ścisłość modelu ułatwia formułowanie definicji i konstrukcję dowodów.
oBouoluz€1rlodneru
z .1r\o>Ilułsozcn p9J91rt,.trt'oł€Izpn a/ rtcnqdr1sfp 1eutł.1o>1 r.zlnlĄo8epzo1 ep (s1)xd: (at|y)ld,.gs > at €r nJolqzpod oBeuotuzelł'odneru o8eu1o.trop BIo
.|e11e|ep qtzc) 1) r|cnqdr1sdp r 4 -
X
(z)
. (e zcnp csołJ€ń^. c,|zcpuz,|.nt eprrtzod g nrotqzpod o8euoruzę.ł,rodn z n'94ru1sozcn poJs.Ą\ ,^rigł€Izpn etcnqdr1sdp epzvr1 cóurł' n) g|,{ ł g|{ o+.,X ł X II9o|,,XJ ),! | X! ) / ttcnq.(r1sfp a.Ą\o{Iułsozcn nrorqzpod o8auoruzęnodn o8eu1o.trop Eo (I)
1n3er zero
d-
:I{unJę^r e,up ecŁtndÓ1seu ts euoru1eds II9a! .J ndó1sop órn14nr1s urdcblnzr1eer ot,uomoą\fręn\9dsm uapuaqcs ul,fi,uto\ u-t,fi,7ouoąsop }sa!./ sBzc1(Iol!\ .tfcnqdr1s.{p 1n3er rue.rorqz
Xla>Xo: !
p.ndÓ1sop Łrn14nrp arzp3q
J
qcaTN
8'rT VfCINIdgO
l
'Blu€.ł\o{ld?n1ods,tr n1euraqcs o8au[e1 o8e1euo>1sop elcrugap tsuI€uIJoJ oto V qcq1sdzs.t\ €Ip
a ) X I (g.)s; a/
'G)',ta
{a
{:a
l{, x j)tj
3
:
(x!s{)@)sd 'o1peuo4
:y t>{}
{al-_al! -(!),rd 3
1)x
(x)aa3:en@)sd
g/ qcaTN .(g)9d s€zc1l\oł\ .(s)s = rue1oqurds lupzcpuzo.(g)9 eu e.u1suarqopodop,trrerd ptsł{zoJ zera1 durdzcr1q6 .8. uolqz oz,Ą\o{Iulsozcn poJs1r\ rrl.o1etzpn rfcnq ruororqz fsa! (g.)S clr.u 1e; 'g ) ?d oBepzvq ep -drlsdp qcd.nrlzour
qcr>11sdzs.u
(d!: (a)sll
'ctrrvroru tezcvul '8. nrorqz op
o? uĄr'l.Ł!c>1uq 1se[ 9 <-- a : s|t aruezcrutsrBo Ezceuzo alt alzp?
/ rtcnqdrlsdp dlnBer
'{t=t ,sll}:(a)s ,{ulseqg
.d ) s qcer5 .,{cŁ|ndó1seu qgsods l,tt clu'fizcl oł BuzotrĄI .(etu qn1 nulouoluzts..d -odn) g 1{ro)lrulsozcn r.rrrororqzpod nuaulo.&lop qcduolerzpdzrd rr,tolerzpn d1s1 fep BIp €.Ą\1suolqopodopnerd ptsp1zoJ cf,zc1qo oupu}oTu .fpe1ązor e1 cŁ[e141 .'Jd tsA}syarqopodoprwerd uape1>1zo t z atupoBz rfcnqd"rpdp ó1n3er -?€{
X ! \roIqz ez azrclqfi'n 11 frcbtepzot j ) X o3epzeą €Io '} ęu ad e.u1suerqopod -op.ue"rd p€łłzoJ .{urętu oz ,cótn' tlnzo1ez 1e1tzcod e5 .trcsoule1 t1euo4sop órs aruqopod 'e,nlsuerqopodop.tterd uopelqzor urdu
.,(ursrle.łloulez dp8 ',{pe1r
>1ef
-ryrad óts ętuezilILzld o1e8eurd.u o1
n}€rrroqcs rtcnqdr1s.{p
pBer rgrqz ez
erzpóg .nd31sop Órn11nr1s buvpbz efnzrper ,b,luiltadę,z
e"rg1>1
.o1unrts1ń
cqsaDlo otJBł\
gtclNligo gN.IVWEog
6tt
.Ż.II
11. TAJNE 1CHEMATY W1PÓŁU ŻYTK)WANIA
340
B, rozkład prawdopodobieństwa warunkowego na K jest taki sam, jak aprioryczny rozkł.ad prawdopodobieństwa na K; oznaczato, ze udziały dostarczone uczestnikom z B nie zawierają żadnej informacji podzbioru
o wartości klucza). Zau.wazmy, że drugi warunek definicji 11.3 jest bardzo podobny do pojęcia doskonałej tajności.To tłumaczy, dlaczego otrzymany tajny schemat współużytkowania określasię terminem,,doskonały''. odnotujmy jeszcze i to, ze prawdopodobieństwo prc(K|fą) rnozna lzyskać z opisanych wyzej rozkładów prawdopodobieństwa za pośrednictwem wzoru Bayesa:
prc(Klf p)
:
ps"(f BIK)prc(K) psrBlUB)
Zobaczrny przykład ilustrujący wprowadzone tu definicje.
Przykład 11.5
Przedstawimy reguły dystrybucji dla schematu zbudowanego w przykładzieI1.4, gdy realizujemy go w Z2. Kazdy ze zbiorów Fo i Fl zawiera 16 równoprawdopodobnych reguł dystrybucji. DIa uproszczenia zapisu binarny ciąg k.wyrazowy zastąpimy liczbą całkowitą zawartą między O i 2k - 1. Wówczas zbiory Fo i Ft mozemy przedstawić tak jak na rysunku 11.5, na którym każdy wiersz reprezentuje regułę dystrybucji.
Dla dowolnego rozkładu prawdopodobieństwa na zbiorze kluczy K otrzy. mujemy schemat doskonały. Nie będziemy tu wykonywać wszystkich obliczeń, zattzymamy się jedynie na kilku typowych przypadkach ilustrujących rolę warunków, o których mówi definicja 11.3.
Zb\ót {P2,Ę} jest podzbiorem upoważnionym' a więc udziały uczestników P2 i Pg powinny (łącznie) umożIiwić ustalenie wartości klucza. Łatwo sprawdzić, ze |
Jednak B : {Pl,Pz} jest podzbiorem nieupoważnionym. Nietrudno sprawdzić, ze|
psetUalK):
1
16
'tsIutsł\oł
-1dzn1odsiu. 1€uoqcs ,,tufe1 d1uuo>1sop tuo}tsz dure6 'łaunJ€A' ruparirł,odpo 1se[ duotuleds n4peddz"rd tuf,p?B{ u. az 'ctzptarru,ls dq 'qcduoruzemodneru r qcfuoru -ze.uodn ..ugrotqzpod qcd1e1sozod e1p 9euo1d.tr €uzolu €Iuezcllqo auqopod .Br nJolqzpod o3e1 e1p ,,tuoru1eds 1se[ 1aunren, r8nrp c3rłr' ąea
(x)ad
:
9I
6)aa T : T
(s{)@)sd
(xPtd(xla!)ssd
|elWPłd c[zc11qo
dq .esedeg
nJoz^ó.
ez
etw)ad
dlnv,1s'Ązto>1 |e1eq
.9I I
oT
?.6),a tI {sl__sll
:xt)l}
G),ą 3 durezcr1qo
n: -,-:}ł
ś:
N)x
(ńaa3:e|)@sd
fęrol.I,O: X l (a)s ) s/
Ilc{unJ |epzą
-1f7n19dslir nł€Illoqcs o8eu|e1 e1p 1|cnqf"r1sr(p r(1n3e11 .9.TT
0
0
z
z
I I
I
v
Z
9
0
L
t I
I
T
L 9
h
L
t
Z
9
0
L
t
t
0
0
9
I
I
v
Z
I
q
I I I I
z
v
0
elp
I
1
I
0 0 0
z
I
0
i l
I
t z
L
Z
I
t
I
t 0
z I
t
I L
I
c
z
t4
v4
0
0
ot
BIu€lt\o{
xqNns,ru
t
L
t
Z
0
0
z I
t
ł
0 Z
t
I
0
9
L
t
v
0
z I
L
I I I I
Z
z
0
I
z
I I I G
I I
I
v
Z
I
6
c
n
t
t
t
0
I
0
z T
0 0
t4
z4
t4
vS
It
t4
z4
wt,
11. TAJNE SCHEMATY WSP)ŁUŻY,IK?WANIA
342
11.5. Względna miara informacji Wyniki uzyskane w podrozdziale 11.3 dowodzą, zekazdąmonotoniczną strukturę dostępu mozna zrea\izować w doskonałym tajnym schemacie współużytkowania. Zajmiemy się teraz efektywnością otrzymanych schematów. W przypadku schematu progowego o parametracht,u możemy zbudować obwód odpowiadający dysjunkty'wnej postaci normalnej formuły boolowskiej, który będzie miał i * l:i u.u-"t. Uj"iał każdego uczestnika składałby:ię " (T_'') e|ementów Z-.
Takió,rozwiązanie wydaje się bardzo nieefektywne, gdyz schemat progowy Shamira o parametrach t, tl umożIiwia dzielenie klucza przez ptzyPisanie każdemu uczestnikowi jednego,,elementu" informac;r.
ogólniej, wydajnośćtajnego schematu współużytkowania mierzymy względną miarą informacji, którąteraz zdefiniujemy'
DEFINICJA
11.4 doskonały tajny schemat współużytkowania realizujący struk. będzie Niech dany miarq informacji lczestniŁ!łD" Pi nazlwamy wielkość t. Względnq turę dostępu
Pt:
Iog2lKl
ro12ls(P)'
(Zalważmy, ż,e S(P) ozll]lacza zbiór wszystkich możliwych udziałów' które mogą ptzypasć uczestnikowi Pi; oczlwiście S(Ę) c S). Względnq miarę i'nfonnacji, schematu oznaczan;.,y symbolem p i określamy w sposób następujący:
p:mintpi: 1śiś,rr,'}. Jakie jest uzasadnienie tej definicji? Khrcz K pochodzi ze skończonego zbioru K, możemy więc utożsamić K z ciągiem bitów o długościlog2 |K|' na przykład, kodując go w systemie dwójkowym. Podobnie udział przydzielony uczestnikowi Pl można zapisać w postaci ciągu log,ls(Ę)| bitów. Intuicyjnie, Pi otrzy_ muje (jako swój udział) log' ls(Ę)l bitów informacji, podczas gdy klucz zawieta log2 |K| bitów; tak więc p; okreśIastosunek liczy bitów w jednym udziale do Iiczby bitów klucza'
Przykład 11.6
Popatrzmy znów na oba schematy z podrozdział'l II.2. Dla schematl z przykładu 11.3 mamy
log2m 'p::---------;:=. Iog2tno z 1
Z ko|ei w przykł'adzie 11.4 otrzymujemy schemat, dla którego
Iog'^
:! '^- rog,rm3 3 Pierwsza z tych implementacji okazuje się zatem lepsza.
-uoł1 o4e|bueuz
qcdupepl
,
ta
mot,uzy
t,ua z "t,4saz.t,d o
u
o
1"t,odo DIIaq)?'J
g
o
tcąn.l,1s
,ł\o}€tuor{cs 3fc1n.r1suo>1 duezsrdo a1erzpzorpod urd}
'ĄĄ
eu e1redo €IIa{JIJg efcąn"r1suox .9.IT
larnorur1 |uazJ+sozJd
.€JIIuBqS d1euraqcs ŁcŁ [eru1o8on qcdu1eepr Ag}€ulaqcs ó[c4nr1suo1 fruezstdo e1erzpzo"rpod urdudÓ1seu M .tsIIIuBqS d1eruaqcs ts rurdu1eepl IIIIB}€Iuaqcs ,{e} I .ul,fr,u7oapt, ulal€tuaqcs durarł.zeu Ic9ous .dpepr' 3[cen1ds tu1eud1do drueu .ceprłr >1el -e1,tr |e1 o ł€Iuaqcs
.I
:
d
'tpB
) d c3r.u ę,|x| < |(k)s| ez .córłt 3rs etnzv46 .,N ł x frp? t.(ld),,6 ł (ra),0 a?,Ąr.:- cdq rsnu IJIel;p,z.J ) g. zB./(aluod .,a|6 : ,,|,0.? vT€ł,x.d ]) )1ó ttcnqd"r1sdp e1n8e"r alaru1st )l ) X oBepze4 e1p .r[cue,,rr>1asuo{ M .nzcnl{ o rlceur.ro;ur etcnq,{r1s.{p or .(5.)s ) ó |eupev €zcJe}sop o:ru ,g|6 ^\ołPlzpn .Jł ,g stszc,łro,ł\ l{k} \ 8 : E lorqz dur1serło .s uolqz az IuoI{Iu TI9a!.PŁ}S -}sozcn rudu1orrrop erzpóq fo. qceru I oJ ) g. qcaTN .1 nd31sop Órn11n.rp lcbtnz ltsIueqcs ,{ute1 d1euo1sop dueur az ,frulzo1e7 o9.1\Ąoo .1
.ITBoI €Iu€1Y\oą1dzn1ods.u
->1ru1s
urdcŁlnzlTtsal tsTu€^\o41,{zn1ods,.rt
.1 } d 1set.1 ndó1sop Órn1 olc€Iuaqcs ru,'(ute1 rud1euoąsop uldp?€il M
8.TT
gINozolIgI.ĄĄI '1
1d
druęu alc€Iuoqcs ur.'(u1o,ttop tvt ez,ezplot.u1s .fezru duor.ue1spez.rd .{rud.tr du1oSo dzs,urerd .tlceur"ro;ut ererur eupó18z,u ezs1órmfeu 4eI ercsrrrtdzco 1seteuepŁzod ,(Łzs.roa o1zazld'r) tzstaruu o|uzc*uzcór.tr e
,(ł_Ł)
ltŁu.tgr
.,""*:;.1i'##
-p31Bzłr elep o8eqs.tolooq npo,ĄĄ.qo leuprurou rce1sod teu.tn.d1ąuntstp l;uetc1..zn z m.7 qcer1erue.rBd o o8e.uoBo.rd nł€Iuaqcs efce1ueure1drul ozł€upof .tuprud1do Łrcgo1.rer'r 1se[.[e1ep dureze>1drvr 1e[.oc .1 eułtor 1seterruraqg oTctsIuoqcs.tr rfcpur -JoJuI tsJ€IIu eupó18z,u ez .cepul. ndÓ1sop Jnł{nJls qcdłr,o8ord n1peddzrd 6
.?r uretc9felr z
c
npo^Ąqo qc,'(.torcs[e.,rł. rruq 3qzcr1 ęZceuzo l"t, aIzp?
.{'
>
p
>
t
:
?"tll}xęlll:
d
eup318zrt o3e"r9p1 .(3).1
Bu,Ą\oJ 1seI rlceu.ro;ul EJ€IIu
ndó1sop 3rnp1nr1s .,(cŁ[nzr1eer etuerto41dzn1odsł. 1erueqcs du[e1 d1euo>1sop aleru s€zc.ł\o^\ .rul{s.&olooq ulopo,Ąqo urduzcruo1ouotu tudu1orrlop erzpóq c IłcoTN -1sT
z.TT
cdzcqqo
slNszo.łIsI^[.I
.nluazpJol/!\} rudct|nd31seu ,łr duęstdo qgsods ,u rfceruro;ur ó.reru tup313zu',(ul1;luzcluo}ouotu alzpo.ry\qo eu [a1.redo Łpo1eru) c npo.&qo er.tre1spod €u }ęruaqcs druatnpnq dp8 .1o3o e1q
BIJ7..I.LI]'
t[c>1n.r1suo1
"'vllglIcraa vrcxnalsNox'9'
CT?C
TI
11. TAJNE ]CHEMATY wsPoŁUiYTKoWANIA
344
Niech f będzie strukturą dostępu i niech (Z,)d będzie przestrzenią liniową wszystkich d-wyrazowych ciągów elementów Zp, gdzie p jest liczbą pierwszą i d > 2' Zał'ózmy dalej, że istnieje funkcja
Q: P -
(Zr)o
o następujących własnościach
(1,0,...,0) e (Ó@,):
Pi€B) <+Be f.
(11.3)
Innymi słowy, wektor (1,0, . . . ,0) można przedstawió w postaci kombinacji liniowej wektorów ze zbiolrl {Óe) .' Pi e B} wtedy i tylko wtedy, gdy B jest
podzbiorem upoważnionym. Ziltózrny teraz, ze istnieje funkcja / spełniająca warunek (11.3). (Na ogół taĘ funkcję znajduje się metodą prób i błędów, chociaż poznamy dalej pewne konstrukcje' które dają w wyniku tego rodzaju funkcje dla pewnych struktur dostępu).
Zbudujemy idealny tajny schemat współużytkowania, dla którego K : Zp, l < i < ,u. Reguły dystrybucji w tym schemacie są następujące: dla każdógo wektora d: (o,,...,aa) ę (Z,)d okreśIamy regułę dystrybucji fa e Fo,, taĘ ze
: s(Ę) :
.la\t)
: a'
dla każdego
Q\r)
r ę P.,
,,),
ozlacza tu iloczyn skalarny modulo p.
Faza inicjowania (1) D przekazuje wektor Ó@o) e (Z,)d do Są znane publicznie
Pi,
dla 1 <
2
< tu; wektory
Rozdanie udziałów (2)
zał'ózrny, ze D chce rozdać khrcz K € Z,; wybiera potajemnie (Iosowo i niezależnie) d - 1 elementów Zo: d2,...,dd'
(3) D oblicza ai a
(4)
:a.
Ó@t) dla 1
śti śtl,
gdzie
: (ń,a2,...,ad')\
D przekanlje ldział' yi
do Pi, dla 1
śi śttl
RYsuNEK 11.6. Schernat Brickella zawieIapd 1reguł dystrybucji. Przyjmiemy, zekazd'areguła jest równie prawdopodobna, czyli pF*(f):llpd-| dla każdego f e f x. Schemat Brickella przedstawiamy na rysunku 11.6. Mamy następujący wynik. Zanwazmy,zekazdy zezbiorów
FK
.g )
?d l{cDlłsfzs.& BIp ps
- (a)g{
etzp8 ,11 ) y o8epzu>1 ep (y)xd : (gl|X)ad az ,,|wezpJal^\}s 9.TT np€ł{ p9J91( .Ą1oł -frzld z qcl1 op qc,.tuqopod uozcllqo ŁBorq .Br nrolcłz az ^\ołIułsozcn -€Izpn Łtcnqd"r1sdp bu1o.trop z eupo8z (XJ llrorolqz az ulfipzvl1 rrt rfcnqdr1sdp aruptsł{op Łlaru1sr ez ,pt1s g{Iud6 .(2. rcgoper'.r po eruze1ezeru) p .rerrud.tr evl ue.zhllylzo; uazl1sazl.d ,,|uzcezldsaru 1se[ pełłnulałtsz Ilsof
d1nBar
I
- e-
,_,-,d
.(a
(I?2 IuIdIuopEI.Ą\oIu -19dsrir zJoIcBtrĄ .PD..,.
=
?a . (a)Q)
ze.u.aruod '1
p zl1cl'notul
1
>e
avi ,o+
:utsu1r\or pe1>1n
ł @, .. . .0.T)
a pbzt eru .rno4ruudzc
IlBu.Ą\gJ
p€ł{n o} tsaf
'x:o'(o'"''o'I)
g ) ?dA .(|s|
'?s
: P'(?dQ
durze.ro.zor r )l ) ]'. luoulala dulo.uop duzrarqdrll (a ) ?d . (a)Q) ruazr1sezrdpod .rgrurd.,rl.
eu ó3p.trn dur99rłlz)
ę,fceuzo a qcolN ;urerorqzpod ruduoruzelwodn 1se[ aru
g
dp8 .e|e1zp 3rs o3 {s>!a
.?s?c clzc1qo npnJł zoq Ł8oul
g
,p}
-X
3
nJolclz ez iclu1sezcn c3r.t {g>?a'P}
'('a)Q'po,
3
duefnrudzr1o oBoure1e1s nu'{zco1t
>1ea
:x
Ic9o.Ąl'oIuIT
'(o'"''o'T)'o:ro:x zvJo
0
Z
zaztd ulf.uvtqdrvr urero11arr.t ur.{uęuzaru 1sa[ o elzp8
'(A)Q'!:
?s
{par^Ą .?d l,ł\o{Iu}sezcn duesrddzld 1evpn pzcpuzo ?s qcolN {g>?a
3
'(na)Qo,
,p}
:(o'"''o'I)
'z oBepzu>1elp dZ
,(g
=
?d | (a)ę)
=
)
?c aIzp8
(0.....0.I)
,etue7o1vz z.X zcI|IĄcfrzcqqo b8oru g op dcŁza1eu dcru1sazcn o1 .tuduoruzerlł.odn ruerotqzpod łsa| g TI9a| o? .,to."rerd[eu drueze1,{1.1 CI91\ĄoCI
(x7
,a
.tr
-sdp
1nBe"r
dcŁfnzqee"r ł€IuoqDs du1eepr Łr.troue1s rfcnqdr1 )X ,tlolqz s€zc.lńo^\ .(e'tt) {ounlts.1( Łctferu1eds Ł|c1uq erzp3q Q qcolN
7.TI glNsz(Iusl^ĄI
"'vllsxcraa vrcxnursNox'9'rr
9Vt
11. TAJNE SCHEMATY wspoł'uŻvTKoWANIA
346
Pozostaje zatemwykazać, że układ równań jest niesprzeczny. Układ pierw. szych |B| równań jest taki, gdyż wybrany przez D wektor a jest jego rozwiąza_ niem. Ponadto, jak już wiemy, (1,0,.. .,0) ę
(Ó@t). Pi e B),
zatemostatnie równanie jest niesprzecznezpterwszymi IB| równaniami. To końl czy dowód. Warto odnotować' że schemat progowy Shamira o parametracht,w jest szcze. góInym przypadkiem konstrukcji opartej naprzestrzeni liniowej. Aby się o tym przekonać, przyjmijmy d : t oraz
Óe,) : (l, xi,
r2o, .
.',,|_')
dla 1 śz śto, gdzie ri jest pierwszą współrzędną punktu przydzielonego uczest_ nikowi Pi. Oftzymany w ten sposób schemat jest równoważny schematowi Shala:rir a; szczegóły p ozost awiamy do sprawdzenia Czytelnikowi. A oto następny ogólny wynik, który jest łatwy do udowodnienia. Dotyczy on struktur dostępu, w których bazą jest zbiór par uczestników stanowiący pełny graf wielodzielny. Graf G : (V,E) ze zbiorami wierzchołków I/ i krawędzi E jest peł'nym grafem wielodzielnym' jeślizbiór V moznarozbić na podzbiorY Vt, . . . ,Vt, tak że {r,a} e E wtedy i tylko wtedy, gdy r € V, a e Vi dla1 < i, J śl, takich ze i l j. Zbiory Vi nazwiemy składowym,i' Gdv l%l : nt dla 1 <' < (,, pełny graf wielodzielny oznaczamy symbolern Kn,,...,,n. Pełny graf wielodzielny l(1,'..,1 (z l składowymi) jest po prostu grafem pełngm,któty oznaczamy symbolem K1.
TWIERDZENIE
11.5
Niech G : (V, E) będzie pełnym grafem wielodzielnym. Istnieje wówczas idealny schemat realizujący strukturę dostępu cl(E) na zbiotze uczestników V.
DowoD Niech Ę, ,.,,Vl będą składowymi grafu G i niech fr1.l,..,11będąróznymi element arrri Zo, pTzy czym p ż (,. P rzyjmijmy d : 2, DIa każdego uczestnika u ę u określmy Ó(u) : ("'' t). Bez trudu sprawdzamy, że spełniony jest warunek (11.3), zatem wnioskujemy z twierdzenia 11.4, ze otrzymany schemat jest schematem
idealnym.
I
Aby zilustrować przedstawione wyżej konstrukcje, rozważymy struktury dostępu obejmujące co najwyżej czterech uczestników. Zauwazmy, ze wystarczy rozpatrywać tylko takie struktury, w których bazy nie rnoznarozbić na dwa niepuste podzbiory zł'ozone z rozł'ącztych zbiorów uczestników. (Nie rozpatrujemy, na przykład,bazy fo : {{Ę' P,},{Ps,Pa}}, gdyz moznają przedstawić w postaci sumy {{Pr,Pr}} U {{Ps,pn}}).Wszystkie nieizomorficzne struktury tego typtt z dwoma, trzema lub czterema uczestnikami przedstawiamy w tablicy 11.1 (wartośćp* zdefiniujemy w podrozdzia|e II.7).
.7I
l IT Jnl{nJłs ?Ip atcłnllsuo{
n} .{uezsldo .oBaul€opl n1€uoqcs €Tu€1{opnqu op [o.&oIuIT luazJłsozJd tsu Łłrcdo ólc>1rupuoą )o1! pD cts.&rosołstsz €u?oru 9T l gI ,vI ,II :qce"ralunu o qclu z ącar -e1zc n1peddz"td 6 .ndÓ1sop Jn}łnJłs luelso ozczso| r;tuazellzol op e[e1sozo4
[
{'pept
.er1rudrrr 1sa[ łtsIuoqcs Awtn,|zt1o ez 9.TI €IuozpJaIl:li1.
(t'd: (t'd: (t't) (r'o)
p ó|c4un1 du1serąo I t, < d ,z
:
p
:IcsolJ€./rr.
:
:
7,
?a)Q Ga)Q (ea)Q
(H)@
:qosods dcŁfndó1suu
rrt
6 Jalunu frn14nr1s e1p ..(utru|fzr4
2'y7 pe74izt4 'npel4dzrd
o8ect[nd31seu Łcourod ez o1 druefnJłsnllz .Z,r,Iy du1erzpo1er.u ye.rS du1ad 1set Łzeq te.l911 .6 rorunu €Jn}r1nJls 1sa[ qcru zbupep .9.II aluezpJol.ry\1 cts.1v\osołS qclu op €uzoul c3rryr e .udu1etzpo1et.rit ure;er8 ru,,(u1ed 1se| ezeq qcdlo11 .u .er1e1 oq1e .aryro8o.rd .,{"rn1>1nr1s oq1e o} Ł5 .r[c1n"r1suo>1 znl ureu qcdueuz Łcoruod ez d1euraqcs c[zloł,t1n.{ruazoru qcd:o11 z .g1 1se[ nd31sop Jn}{nJ}s 8I I{cdT p9J9'ĄĄ aul€apl
v'v Sord (7'g) 39rd
ndedzdrd ?dqdzd Lvdedld śvdzdId(Edzdld vdtdId 'tdzdTd ,tdzdId vdtd 'ndzdtd 'EdzdId
I I I
I I
vdzdtd'tdzdrd
-
oJ
oJ
pervrn
I T
I
vdtd L?dzd Ltdzd LndId'EdId'zdld Tdzd Ltdzd (vdtd Ltdld (zdld ?dr.d 'vdzd 'edzd (zdtd
vded Ltdzd LvdId (zdrd
T T
T
I d
8T
17
9T qT
17
LI
v
VI
OI 6 8
v v
TT
v v v
8T
ZI
h
n
?dld tEdld tzdrd vdtd'tdzd'zdtd tdzdld
t,lz T
L
I
v v
t t
Edld LEdzd tzdld tdzd LzdId zdrd oJ drorqzpod
I
v n
vdzd (Edzd (zdrd (vdtdrd tdzd 'zdld 'ndtdld vdld (tdzdrd
t,lz (v'7) Bgtd
z'I'Tt - 0J z'zx
8'I)r := 0J (g'g) 39rd (9'6) Bgrd
z'IX
(7'7) agtd
-łsozcn qcaJalzJ faz,cllteu oc BIP ndó1sop "
LVt
v ó Z
I
Z m
,{:n1>1n.r15 .T.TT
vclł:}:
vllSXCrAg V TCXIATSAIO)I'9'
r
r
11. TAJNE SCHEMA,TY wspoł'uŻYTKoWANIA
348
Przykład 11.8
Przyjmijmy dla struktury numer 11 wartości: d
w następujący sposób:
Óe): Óe) :
i określmy funkcję
/
(1' 0, 1)
(0,1, _1)
:
Ó@ą)
3, P ż. 3
(0,1,0)
:
Óes)
:
(1, 1,0)
Zauważmy najpierw, że Ó@ą) _
Ó@)
:
_
(0, 1,0)
lł;l,3] oraz
l@z)
+ Óe3)
-
re) : :
(1,0, 1) + (0, 1, _1)
(1,0,0)'
-
(0, 1,0)
Stąd
(1'0'0) e (d(Ę)'
l(Pz),re))
1
(1,0,0) ę (Ó@,),reD). Wystarczy teraz wykazać, ze (1,0,0)
ę@(P): ĄęB),
B nie jest zbiorem upoważnionym. Mamy trzy takie podzbiory: {P,,Pz}, {Ę'Ps} oraz {P2,Pl,Pą}.W każdym przypadku musimy stwierdzić, że odposdy
wiedni układ równań liniowych nie ma rozwiązania. Na przykład, załóżmy, ze (1, 0, 0)
:
azÓ(Pz) + ag$(Ą) + aas(Pa)
dla pewnych a2, a3l aa €
Z,. otrzymujemy stąd równoważny układ równań:
a2la4:l azłaą:0 a2
- a3:
Q.
Łatwo zauwazyć, że układ ten nie ma rozwiązań. Pozostawiamy Czytelnikowi do sprawdzenia pozostałe dwa nieupoważnione podzbiory. [
.
i
: (s|>I)a ,d - g .o
:
(a|11);7
..1 ó.rn1>1nr1s
!
,
'(>r)a: /ło{Iu}sozcn nJolqz o8euoruze.uodneru oBepzg,I
dj g
.Ą1.9{Iu!'sozcn
uolqz :I{unJ€.Ą\
o8euoruzgrvrodn o8epzer1 errr'p
1n3er urarorqz
€Io
(z)
€Io (I)
ecŁtnd31seu Łs euoru1eds
udcŁfnzr1eel ol,uomoq7fiznygdsm uaJDuaq)s
sre,fclr'o6.r[cnq,{"r1sdp
-19dsrvr
a e |ndb1sop
ul'fr,utoy
r19e[
u'lńyouoąsop 1set J l{colN
Łm1ąnr1s arzpÓq
9'rT VfCINIdSO
.g.11 .rtdor1ua n4dzÓt i^ IuoztsJ tu.{1 .etuu.trro11dzn 1!c1ugap feuzerrroułro.r o8eu|e1 o8e1euo>1sop 1|c1ugep leuur eruepod po ,|urctuzce7
nl€trraqcs
'd) g
tltorqzaz
tuołIułsazcn qcduestddzrd qce1etzpn gq (a)Ś6[ p'11syetqopodop.trerd npe11zor Ótd -oJlua tszc€uzo (g)H qcalu oluqopod .np€ł{zor o3e1 btdor1ua atzpóq (;4)g qcatu la eu ad ts,Ąl}suolqopodopłrerd p€ł{zoJ du9łł9ar49 .ndó1sop JnłłnJłsqcduzrtad BIP *d ecbzcfr1op eruezcrug.r8o eur93 erudó1seu durrzperu.orddrr.t o8aJgtł z ,bldol1 -ua z aupzbtbz aIuazc|utst8o ęzceuzf.,u
(furtrlrr.e1spazrd
ng'
dlo11 .1udrrr dzs,tr.rar4
.tr ndó1sop Órnp1nr1s Łuep o8ectfnzll€oJ 3lue.l!\oł}d?nł9ds^! nłtsIuaqcs o8au[e1 o3 -ał€uołsop rfceuro;ur Óleru bup31Szrvr bu1eudsąeul Ez)v|Jzo (r)-d : *d qca11q 't/z < o tfceurro;ut t.reru Łupó18zn ez 1eluaqcs aletu1st aru .dureuoąez.rd 3rs >1e[ .'uo1ped .8 .9 :drn14nr1s f'rc1zc e.luoza'r\\zot op ..{1e1sozo4
-dzrd qcd1 z oBeupez €Io
.tI
I
ZI
rfceurrogur .ł(rerur faupó18zn aIuaZJIuBJ8o
au;99
.2.11
'o8eu
1€apl n}tsuloqcs Łcoruod ę,z cEly\ozIIEaIz ęIr7:ouf alu In}{nrłs qcolo+zc pŁ1op qcdu -ozl1edzolelu oz. ,uloluezv>1in zerc1 óts dtufitule2 .aluozJl.Ąl? o1e[ duretrrre1sozod qcdu1eept elcąnr1suoy T 9I qJ€Jolunu o ndó1sop Jn1{nI1s €Ip 1ri91€tuoqcs
9I
[
r[c1nr1suo4 urerąrudrt
cór.ryr
.d.Ą€apl }€tuaqcs 1se[ e .(e.rr) {aunJ€.rt\ 1se[ fuoru1eds e?,,hluezptal,tó.łs.&ouz
(r'r'o) (t't'o) (r 'o'r) (o't'o)
p ó|cąun; du1ser1o I
,t z
:
: ?dQ : (ta)Q : ("a)Q : (ra)Q
:qgsods dcblndó1seu
p lcso}Jts.&r
rrr
7I Jolunu d"rnp1nr1s e1p durlruldzr4 6'17 pe74.tzt4
ITCVWEOINI AAVIW TqNAfr'IDZ.M qINflZCINVAJO ąN?JOC
6Vt,
'f'U
11. TAJNE SCHEMATY W1P)ŁUŻY,IK?WANIA
350
Potrzebne nam będą różne równości i nierówności dotyczące entropii. Niektóre z nich poznaliśmy w podrozdziale 2'3; pozostałe dowodzi się podobnie, ptzytoczymy je więc tu bez dowodu.
LEMAT 11.6 Niech X, Y i Z
będ,ą zmiennymi losowymi. Wówczas
fr(xY) : f/(xlY) + H(Y) H(xYlz): H(xlYZ) + H(Ylz) H(xYlz) : H(Ylxz) + H(xlz) fr(xlY) > o H(xlz) > H(xlYz) H(xYlz) > H(Ylz)
(11.4) (11.5) (11.6) (11.7) (11.8)
(11.e)
Udowodnimy teraz dwa lematy dotyczące entropii w tajnych schematach współużytkowania.
LEMAT 11.7 Niech | będzie strukturą dostępu, a F zbiorern JeśIi,4, B 9P oraz B ę| i AU B C p,10 fr(AlB) DowÓD Z
:
H(K)
+
f/(AIBK).
równafi 11.5
rr(AKIB)
:
reguł dystrybucji realizującym
i
11.6 otrzymujemy
f/(AIBK)
+
H(KIB)
: II(KIAB)
+
H(A|B),
oraz
rr(AKIB) zatem
H(AIBK)
+
f{(KlB)
:
//(KIAB)
+
H(AIB).
Z własności2 w definicji 11.5 mamy
H(KlB)
:
fr(r(),
a z własności1 w tej definicji mamy
H(KIAB) :0, a stąd wynika już bezpośrednio teza lematu.
|.
7
'lv'tt)
z
Q'tt), f'II nltsulal
z
(s'rr) " (q'rr) " (o'rr) " 8.II nł€tuol z
(8'IIl z (t'tt) ,
f
.II n}€ulol z
.tsIuazpJol^\}
ęzal
€)IIu^^Ą'
p€}s
(x)uz - (r.x)rr (>r)rr (x|,ł.)+ (>ł)a - (x)a - (ł,t.x)a
(x)rr _ (x|,ł.) + (x)rr
(>tx |,ł.)rr + (>łł,t.
l
x)rr
(>rxzrł'|,ł.)rr+ (xrvr lx)rr (>rłł.|,rx)rł (xm'|,ł')a (łl|,ł.)a
Qlll^liln
(xzłt|,ł')rr - @n|x)u :Icsou.ĄroJolu
(x)a
8ttc dcblndó1seu fure141 q9,/lĄoo
.(x)rre < :zpoIącęz tr oBecŁlnzrp erue.uoą1dzn1ods.u nłeluaqcs o8eu[e1 o8e1euoąsop oSeu1orn'op tsIp s€zc1l\o^\
(xx)n .'l'
ł {z ,'u},{x}
,{'t,,,tĄ}
zeto
J)
{Z, A,'M}, {'ł', x},
{x,'lą}
J qJaIN sINszolIEI^Ą.l
a?b1e+.ndó1sop Łrn14nr1s erzpóq
6.IT .
tsIuazpJalł'} o8euze.łr €Iuolup o.l!\opn op 9rdŁ1sd
z
ld
ze
n1
duezotr'rq
'(';ł)n: (avlx)rr ZEJO
(x)a: (alx)a z otuparsodzaq eąrud.tl, ezea
Icgou.ryIgJ
'(alv)rr
+
(svlx)H: (slx)a
dureu '2'11 erceural
.trrudcbtnzqe",.,".o^,|*$lxJ#;1*g)j"?;*r-f,
r!\
+
(valv).H
{p! eruqopod crg.1l&oo
ł,{*"ffi .ff J':':,"ś 8'TI .t]r'WSI
UCVI^IAO{NI AEVIW TSNAfr'ICZ.M qINqZCINVUCO
Igt
ANUOC
'/,'II
11. TAJNE SCHEMATY WSPOŁUZYTK)WANIA
352
WNIOSEK
11.10
f
będzie strukturą dostępu spełniającą zaŁozenia twierdzenia 11.9. Wówczas, jeśliwszystkie klucze z K sąjednakowo prawdopodobne, to p < 2/3. Niech
DowÓD Jeśliklucze H(K)
:
są jednakowo prawdopodobne, to
Iog2lrcl.
Ponadto,
H(xY) < rI(x)+n(Y)
ślog' |s(x)|+
logz |s(y)|.
Z twierdzenia 11.9 wiemy, że
n(xY)
> 3H(K),
w1ęc 1og2
|5(x)|-r log' |s(y)|
ż 3Iog2|K|.
Dalej, z definicji względnej miary informacji mamy p
, o
otaz
'-
Iog,lKl
Ęils(x| Ios" lKl Iog, lS(Y)l'
W konsekwencji 3log' |K|
ślog' |ó(x)| * Iog' |s(y)| , log2lKl - lo1,lKl Tpp
: Tak więc p
2los'lrcl p
'
<2l3.
l
Zał'ozenia twierdzenia 11.9 są spełnione dla struktur o numerach 5, 8' 12 i 13, zatem dla każdej z rrich jest spełniona nierównośćp- ś2l3.
Udowodnimy także wynik dotyczący wartości p* w przypaAku struktur dostępu, których baza |g jest grafem. Dowód wymaga wykazania, że każdy graf spójny nie będący grafem wielodzielnymzawiera podgraf indukowany na czterech wierzchołkach, izomorficzny z bazą struktury o numerze 5 lub 8. JeśliG : (V, E) jest grafem ze zbiotem wierzchołków V i zbiorem krawędzi E oraz V1 C V, to podgrafem indukouanym G|V1] nazywamy graf (Vt, Et), w którym
E1
:{uue E: u,ueV1}.
.tu,{uzcruołouoru olzpołlcło |apceĄ ep dur9dq1elnttzt1o etzęl utfrzsda1|eu .t' e1e [e1.redo r[c1nr1suo>1 Łcotuod ez ,{1eureqcs qcru qp cer1s,{zn ercsr.trdzco dur9 -dq113o6 .1.11 dclrqe1 z drn11nr1s .t.rc1zc e|uazęMzol op ezczset rueu d1e1sozo4
eu
pełłzoJzezl'd' efcąn.r1suox
.8.TT
.I > *d > gl7 vgoungraru eulgłlpod euoru1ads 1se[ eru oBaulgds n3er3 ,rnour rzpó.rrrerą nJo.Iqz urercóru>1urop tecŁp3q nd31sop drn14nr1s laupe7 e1p ez aruozpJol,t\l ula}tsz ,I : *d dtuBtu qcdu1arzpo1etrrt ,rło;er8 qcdu1ed e1q
II.II
'pg1v\op .tzcuon oL'tlz > (-U)a r. o+ 't lZ ) (,-Z)d zerrreruod e I,(t)d ,eusr.,.t g dctfnzqeal zlazp.g qn1 ó"rn1ąn.r1s < (,!)d /J. łBulaqcs durerudzr1o .(p); nd o1 ,{z.fr,,t,m} ntolqz op rfcnqdr1sdp p8er óu1zpalzp drudzcruer8o ł9a1 .lpop órn1ąnr1s urdcŁlnzqtsoJ tuoł€Iueqcs urdu1o.t.rop etzp3q ! zera1 qcalN .8 qnl g ozlaIunu o drn1ąnr1s bzeq z .tuzcqtol:uozr 1sat [z,fi,,r,mf1 duervl.o>1npur;er8 az oDI€} ,z,fl,,t.rn, t11oqczrerrrr dre1zc linst1za1euz az ,gb|,tztd luu.o+Ef durazo141
.clupo.ł\opn .3 qn1 oł€ z opu oc 9 ozJelunu o ndó1s az 'pb1s vqrud4l
-op drn11n"r1s bzvq z fuzcgtoutozr 1se[
lz'n'r-Pfi'z-pft)C '
(P)g )
1v,tB
z' t' tr-Pfr, (r-Pfr,T-Pn
zęlo
s€zc.1!Ąo/t|
,(ure11 'ft
(rc)u ) nz-Pnt7z-P6 ,9 nĄzetcg e1zpóq
_
ofr !ar91ą
,trt'
t:(I-Pfi,(,,.(Ifl(Ort
qcar5 .(Órr1eurds eu np313z.t.r ez) (r,fl,)cp : p az ,cb,|,|ztd,{ruezour rcsou198o d1er1n zo8' .Z < p aq .cÓtrt e1rud.t.r rlcrugep 7 .rru -olłoqczJolłl ęIuoló'p f,zpótltt (p łr) qzercg tezs19rąteu 99o3n1p ęzcvuzo cp atzp8 '
{(z'
ft,)
cp' (n' fi)cp}uun qcetN
Gda
:
p
'(t)A ) zr
\
,z,fi,x lłłoqczJol^Ą dzr1 bleru1sr o1 .tudu1erzpo1er.łł. ure;er8 > zft.fi'r az aqtsł
qcolN 'g raurnu drnl udupd 1sa[ eru C Tlgof 'p qer8 erueruladop Ezctsvzo ->1nrp bzeq z oqlv'g rarunu drnplnrp bzvqz oqle duzcgroruozt 1se[ fz'fr,'r'm]p .urdu1etzpo1el11l IIIoJ due.uo>1npur 1v;B ez etne1 , z , fi, , n , 01, DIłoqczJaI/!Ą. ,t.te1zc €Jol.t€z
cp
-er8 uduled 1sa[ aru d"r9p1 ',{utgds gerB dpze4 az 'rvtrardleu
duazerlfrll oglraocl
.t,lz} ((p)r)-d oł .('
n3er3 rzpó.łter4
tualolqz łso| 3. e1zp?) g urarcóruąurop ŁcŁpÓq .ndÓ1sop Łrnp1nr1s 1sat (p)3 l9e1 'rufulerzpoler.n ureyer8 urdulad 1sa[ eru dr9p1 'tudutods ura;e.rB erzplq p qcalN IT.TT glNgzousl^Ą''L
ovaxzoa zgzad vrcxnarsNox '8'rr
tst
354
1
1, TAJNE SCHEMATY wspÓł'u Żv,IKIWANIA
z nich względną miarę informacji p:ll2.D|a struktur o numerach 5 i 12 możemy uzyskać p : Il2 na podstawie obwodu odpowiadającego dysjunktywnej postaci normalnej; takie obwody dają dla struktur o numerach 8 i 13 wartość p : Il3, istnieją jednak inne obwody monotoniczne, które umożliwiają osiągnięcie p : Il2.W rzeczywistości można dla każdej z tych czterech struktur zbudowaó schemat z wartościąp : 2l3.W konstrukcji prowadzącej do takiego wyniku podstawowymi blokami, z których tworzy się większe schematy, są
schematv idealne. Przedstawimy tu konstrukcję tego typu, którą nazwiemy przez rozkład''. Potrzebne będzie do tego następujące wazne pojęcie.',konstrukcją
DEFINICJA
11.6
Niech I będzie strukturą dostępu zbaząfg, a K danym zbiorem kluczy. Idealnym K-rozkladem |g jest zbiór {|1,..., |'} spełniający następujące warunki:
(1)
ftC|9dla1śkśn,
(2) UT--rft
:
ro,
(3) dla struktury dostępu z bazą f e (dla każdego 1 < if < n) istnieje idealny schemat ze zbioremkIlczy
Pt:
K
na podzbiorze uczestników
[J a'
B€|t
DIa danego idealnego K-rozkładu struktury dostępu I możemy bez trudu zbudować doskonały tajny schemat współużytkowania, jak to opisuje następne twierdzenie.
TWIERDZENIE
I
11.12
będzie strukturą dostępu zbazą |g, a K danym zbiorem khczy. Zał'ózrny, że {|1, . . . , |'} jest idealnym K-rozkładem f . Dla każdego uczestnika Ę Niech
definiujemy
&:l{k:
PtePx}|.
Wówczas istnieje doskonały tajny schemat współużytkowania realizujący strukturę |, dla którego P : 7/R, gdzie
R:max{Rt: iśzś,u}. DowÓD DIa 1 śk śn mamy idealny schemat realizujący strrrkturę dostępu z bazą f6' zbiorem kluczy K i zbiorem reguł dystrybucji frc. Zbudujemy teraz schemat realizujący I ze zbiorem kluczy K. Zbiór reguł dystrybucji f powstaje tak, ze sdy D chce rozdzielić klucz K, dla każdego 1 < ł < n wybiera losowo regułę fk ę rk i przypisuje wynikające z niej udziały uczestnikom ze zbioru P
n.
1{\optsł}IdzId g{IT{ €u
dtuzr1edo6
'.I'TT nlu ! -ezprer,vl1 1/' ł€| aruqopod cfzu1qo €uzoul rfceruro;ur órerur ŁupÓ13z'11 .ł,! nrctqz ez uo{Iułsazcn ,t1vtzpn teru z ecŁlo1ud.u efnslddzfi 1 ) 4 ffir X > ł > T T / > f > 1 o8epzo1 r.Ip,?X,...,IX) :',c/ ó1n3er o/(osol eratqdrlrr. ?/
zcI|IĄ?IIavPzoI ocqc
o
trpB o4,Ąr.+ efe1s.trod
7
tlcnqdr1sdp
1n3e"r
rylq7.tr,|c
.ą,r! \tPnq(.l1sdp 1n3ar -Q|nzr1eer ,x frzcr\Ą luaJolqz oz l€uaqcs druatnpnq2 (ł.,J bzeq z ndÓ1sop ó"rn11nr1s IuoJolqz e ,;y tsa! fzcl1n rualolqz o8aJ9t{ BIp dctlnzrperłtsIuaqcsdu1eeprdureur?/ > ł > Tl3 > t > T€IC o91\Ąoq
'{.>p>f az 7 t|cb,tlzll€oJ
:rg.}xeur:g'
atzp8,g f v - d tfceur"ro;ur Łrerru b,upb1?zn €IuB'ł\o{1dzn1ods.t' ł€IIIaqcs fu[e1 ,{1euo1sop elerulsl s€zc'Ą\oM
.|{ą,ld) ?d
,'D|3:,a 0
drue|nrugap ?a €{ru}sozcn
oSepzvr1 e1q .t.|tr ndó1sop drn11nr1s .ry\ołIulsazcn
,.,.,t,|J} : ta ;lolqz tszcęuzo q,|d' qcolN .oJ ulop€łłzoJ urdu1eepr }set {!u.f1 .[e1 ;;g\qz v >', > T €Ip a?,illlzg1vz lt1r.uo>11ec bqzu1 elzpóq I < 7 qceru -eq 'fzcn1ą luoJolqz urduep } ts .0J bze,q z ndÓ1sop trn11n"r1s arzpóq J qcaTN pe1ązor zaz ld e |cnnl 1suo>1 ) t T. I T sINEz ousLĄĄ,l (
.
aluozpJol.Ął audó1seu
e
lnsrdo r fceur.ro;ur órerur ŁupÓ1Bz.tr
o8e[ t n1eureqcs o8erąe1 ó[c1nr1suo4 i,a 'tzcl1n uloJoTqz az }€ruaqcs rue1ez fural -npng .y TIJoIqz az o8euelq.{.Ą\ €zcnl{ tłelzpzor op fue.ttdzn 1se[ qcru z ,tpzey .oSeupat l!!gpełłzoJ-} qcdu1eepr v f,rueuu uldl9t4 ,tr .etueru198on o8a[
}s€Iru€z
órs alnzv1o au1epdz.rd farzpreq o1s3zc
ZI.II vfiazpJol.Ą\l
Icsouzce1dzn
orurtr41
.csol,Ąlop oł€zal€u
oc
.{m>3>t :tu}xeur_n T
'a -nd I oIcBTInzaJ^Ą.m>?>I€Ip
'oalal: rila1az'duleepr lsat
l(?d)sl
qc.{'u.ope1>1s
łlgltsIuaqcs ez fpzey.nrue1sds oBeueurdzr1o rlceur.ro;ur óreru tup313zncfzct1qo
vuzollJ 1stsIrrrol€u o.u1e1 .d1euo1sop 1sa[ }€uraqcs az ,vlzpontop duerzpóq et5
av,łXzoa Zgzad vfcXnEISNoX
g9t
,8.Tl
11. TAJNE SCHEMATY
356
wspozuŻYrxowANlA
Przykład 11.10
Zajmiemy się strukturą dostępu numer 5. Jej bazą jest graf, który nie jest pełnym grafem wielodzielnym, więc na mocy twierdzenia 11.11 zachodzi nierówność p. < 213. Niech p będzie liczbą pierwszą. Rozpatrzmy dwa idealne Z,-rozkłady:
:
21
{f1,1,f1,2},
gdzie
|r,r : {{Ę' Ę}} t,z
T
:
{{Pr, Ps}, {Ps, Pn}}
otaz
D2:
{12,1,12,2},
gdzie
: Tz,z : I
zJ
{{Pr, Pz}, {Pz, Pz}} {{Ps, Pą}}.
Każdy z tych rozkładów składa się z grafów K2 i K1,2, zatem są to rzeczywiście idealne Zo-tozkł'ady. W obu przypadkach otrzymujemy schemat ze wzg|ędnąmiarą informacji p: Il2. Jeślijednak ,,poł'ączymy,' je zgodnie ztwierdzeniem 11.13 (d|a (. :2), otrzymamy schemat, dla którego p:2l3, co jest wartościąoptymalną.
opiszemy teraz jedną z możliwych implementacji tego schematu, odwołującą się do twierdzenia 11.5. Rozdający D wybiera nieza|eżnie cztery losowe elementy z Zo, powiedzrny: b11, bl.z, bzt otaz b22. Jeślikluczem jest D rczdziela udziały w następujący sposób:
(.I(1,
l
ę (Z,)2, to
Ę dostaje bn,bzt. (2) Pz dostaje bn ł Kt,bp,bzt ł Kz. (3) Pe dostaje bn ł Kt,bzt,bzz. (a) Pą dostaje bp,bzz ł Kz. (1)
(Wszystkie obliczenia odbywają się w
Przykład 11'11
Z,).
I
Rozpatrzmy teraz struktulę numer B. Znów na mocy twierdzenia 11.11 mamy P* ś2/3, a połączenie dwóch odpowiednich idealnych rozkładów daje w wyniku (optymalny) schemat, dla którego p:2l3. Niech K : Zp d|a dowolnej liczby pierwszej p ż. 3. określmynastępujące dwa idealne K-tozkładv:
21
:
{11,1,11,2},
auolupo.ł\opn ołts}soz L.II olelzpfoJpod .Ą\ au€I.ł\€Iuo Łrdor1ue z euvz'btt'lyz oluozclu -er36 '[v6gug] ela4crrg po rzpoqcod fe.uoruq ruaztlsaztd eu elredo efclnrlsuoy .[oors] €Ja}qcTaT I tsqo1€ueg zezld euętrouodordęz arc9lapod fursr1e,uo1uezeldęz Z.II elelfpzorpod,tr :|zsNTst] IłazIqsIN l o}TeS .o11 órs qÓlez ndó1sop Jnł{nJls tuelu€p€q dzs.u"rerd zEJ od .|ozgs] aruralazoru 1119drud.,vr ervroSord dleureqcg
qcdu1o8o €Ip
rrrrrtsqs
I
€Iu"e.&\oł1dzn1odsrvr ..Yro}€uaqcs
[OZrg] deplelg orqors
po
ege.rSot1q1q 1
;Selł'n .6.11
'teztu r8e.un z.r1ed |cBntoultvz órs druarzpÓq eru n1 tro1>1 .pe1>1zor zezrd r[cąn.r1suo>1 rfsrełl fezsfaru1gBo z Ł[o1u,(.tr al lcsołJts^\ .tI l ZI qc€Ioulnu o Jn}{nJls vIP *d Ic9o}JB.tr tueq1tfd,,vt z ,|II dcqqe1 .tr euBsrdez euep er41sdzsł' pŁ1op ..ttusr1u9e|d6
.(oZ.
^
Órs
bte.udqpo tsIuozcllqo aqpdzs16)
.zX + zzq(óy 1 rcq,IX7, + u Iq alęłsop Td ę) .Zzq(zy
t
rzq(ry + u Iq aftsłsop .rzqtzrq
(TTg
alts]sop
.óX + Izq(IX + IIq alepop
ta
(e)
za k)
Id
(T)
:qosods dctlndó1seu .tr d1erzpn e|alzPz'ol oI ,z(dZ) ("N.t;4) tse| ulazcnl{ I|9ot .z7'q 7ę7o Izq (óIq ) a (LIq ,dv :^ulzpolnod z d1uerue1a o.ł\osol f,'la1zc oluzol€zolu eratqd'r.l 6 tcbtepzqg .g.II .n1erueqcs o3a1 ólce1uerue1durr druazsrd6 op óts Łctln1o,upo .8/z: d o8oJ9pl €Ip (}Bluoqcs durelnurdz.r1o €ruozp"rol^Ą}
,7,
:
,t,IX
.Iu€pl?ł{zoJ-a rur.(u1eepr ts eqo vl, ,Iaz ? €Ip SI.II eluezpJol1(ł cŁtnso1g ,tX \ zX łro;er8 z Órs epe11s Ia pełĄzop \ zy no1vt? z - 6C[ pałĄzor
-{{va,ta}} {{va'ea}' {td'zd}' {zd' rd}}
i
: z'27 : I'zJ arzpB
(
{z'7.Jtl'e
J} : zA zęJo
{{,a
.,a}
,
{vd
,ód}
,
{ta
,za}}
:
z,r
7
{{"a,ra}): r'rJ
erzp8
vrdvacoruara
Lgt
r
rcu/An '6'u
11. TAJNE SCHEMATY WSPOLUZYTKOWANIA
358
ptzez Capocelliego i innych [CDGV93]; niektóre inne informacje zawarte w tym podrozdziale można znaIeźć w pracy Blunda i innych |BDSV9S]. PodkreśIaliśmyw tym rozdziale liniowo-algebraiczne i kombinatotyczne podejściedo tajnego współużytkowania. Interesujące powiązania z teorią matroidów można znaleźćw pracy Brickella i Davenporta [BD91]. Tajne schematy współużytkowania mozna budować takze za pomocą metod geometrycznych1 znaczące badania w tym zakresie przeprowadził Simmons. Warto wskazać
[S'92,ł.] jako przegląd metod geometrycznych w dziedzinie tajnego współużytkowania. Dalsze omówienie tych tematów, podobnie jak konstrukcje schematów ze względną miarą informacji 2l3 dla struktur dostępu o numerach 12 i 13, mozna zna|eźć w monograficzrrym artykule Stinsona [Sr92łl.
Cwiczenia 11.1. Napisz program komputerowy obliczający klucz dla schematu progowego Shamira o parametrach ć,tr-l nad Z,. Dokładniej, dla danych ź publicznych wartości
współrzędnych:t1,l:2,...,rtitwartościwspółrzędnycha,,.'',atobliczwartość klucza. Użyj interpolacji Lagrange'a, ponieważ łatwiej ją zaprogramować.
(a) Przetestuj swój program z parametrami p następujących udziałach:
rt: 4I3 xz: 432 ra: 45I :rą: 470 :ts: 489 ro : 508 rz:527 :ra: 546 zs : 565 rro : 584
:
3I84r,
t: 5iu :
10 na
y :25439 Az: 14847 As:24780
: 5910 As: 12734 h: 12492 !z: 12555 y:28578 ya
aą:20806 Us :21462
Sprawdź, ze różne pięcioelementowe podzbiory prowadzą do tego samego klucza.
(b) Po ustaleniu klucza oblicz udział, który należałoby przypisać uczestnikowi, który dostał pierwszą współrzędną równą 10000. Zanwaz, ze mozna to zrobić bez obliczenia całego tajnego wielomianu a(r). 11.2. Nieuczciwy rozdający mógłby rozdać w schemacie progowym Shamira ,,mylące'' udziały, a mianowicie takie, które dla różnych ź-elementowych podzbiorów dawałyby różne klucze. Znając udziały wszystkich tu uczestników, moglibyśmy sprawdzić ich niesprzeczność przez obliczenie klucza dla każdego z (i) t-elementowych podzbiorów zbioru uczestników i porównanie otrzymanych wyników' Spróbuj opisać bardziej efektywny sposób sprawdzenia niesprzeczności udziałów. II.3. Użlyj konstrukcji opartej na obwodzie monotonicznYm, bY dla każdej ze struktur dostępu ze wskazaną bazą |6 zbudować tajny schemat współużytkowania ze względną miarą informacji p : 1l3.
JnlłnJls az
.
'
rd}' {vd' Ed' U}} : o.I (q) L I V : d' {{rd' "d)' {rd' "d}' {"d' t : d' {{rd' "d)' {zd' rd}' {rd' rd' ta}} : of (") '
g
I
.d tfceuro;ur Łrerur
|apze,4
€Ip
}€uloqcs
bupÓ18z.,vr
?€1rĄopnqz
I oJ bzeqbuezens'ra. ez nd31sop
dq .pe11zor zazrd
r[c>1nr1suo1
rd}' t"d' rd)} rd)' {rd' {{nd, rd, zd)' {sd' vd' "d}' {td' {{rd,rd, rd}, {rd'zd' rd}' {rd'"d' U}} {{ra' ra}' {rd' "d' IA}' {Ed' zd' Id}} .
'
ndÓ1sop
InlłnJls az ,
{{nd
$7n
: o1 : ol : o1
q.I
.
.
.
.
.
: o1 : oJ : og
I
(c) (q) (e)
..(upepr l€ruar[Js ?e.ĄoPnqz otr bzeq bluęzeĄsny oz .V t.apqene1p dq .famorut1 ruazr1sezrd eu fa1redo r[c4nr1suo>1 [,tzn
.,d.
Ę{} { 9d, vd zd}, {,d Ed, "d}, {td,,d}, {"d. t2.} } {{ra, "a}' {td' "d}' {"d' rd}' {ud' rd' U} } {{rd, rd}, {rd'"d)' {rd'"d)' {"d' rd}}
II
(c) (q) (e)
eruazcr.a,c
12 Generowanie liczb pseudolosowych
12.1. Wprowadzenie i przykłady Kryptografia obfituje w sytuacje, w których konieczne jest utworzenie losowych liczb, ciągów bitów itp. Na przykład, klucze kryptograficzne wybiera się losowo z danej przestrzeni kluczy' podczas realizacji wielu protokołów trzeba wygenerować liczby losowe. Losowe wybieranie liczb za pomocą rzutu monetą lub inne8o procesu fizycznego jest czasochłonne i kosztowne, dlatego w praktyce często uzywa się generatora b,itów pseudolosowych (czyli PRBG od ang. pseudo-random b'it generator). Do generatora bitów pseudolosowych wprowadza się na początku krótki losowy ciąg bitów (,,zal'ązek,,), który zostaje w nim tozszerzony do znacznie dłuższego, ,,losowo wyglądającego'' ciągu bitów. W ten sposób PRBG zrnniejsza liczbę losowych bitów niezbędnych w danym zastosowaniu. Formalnie możemy to ująć w postaci następującej definicji.
DEFINICJA
12.1
Niech k, !.będą dodatnimi liczbami całkowitymi, takimi ze (, ż kłI (gdzie !, jest wyznaczona wielomianowązaIeznościąod k). Generatorem bitów pseudolosowych o parametrach k,(, (w skrócie (k'l).PRBG) nazywamy funkcję J : (Z2)k -- (Zz), obliczalną w czasie wielomianowo zaleznym od k. Argument sg e (Z2)k nazywamy za|ążkiem, wartość (Z2)( zaśpseudolosowym ci,qgiem bitóu' "f("o) e
Funkcja / jest deterministyczna' więc ciąg bitów /(sg) zalezy jedynie od zalążka. Chcemy,by przy losowym wyborze zalązka pseudolosowy ciąg bitów /(s6) ,,wyglądał'' jak ciąg rzeczywiście losowy. Trudno tu sformułować precyzyjną definicję, spróbujemy jednak w dalszej częścirozdziału podać intuicyjny opis tego pojęcia. Zobaczmy przykład, będący argumentem za badaniem tego typu generatorów bitów pseudolosowych. W rozdziale 2 tozpatrywaliśmy pojęcie tajnościdoskonałej. Jedną z reaIizacji takiej tajności okazał się szyfr zkluczemjednorazowym, w którym zarówno tekst jawny, jak i klucz są ciągami bitów określonejdługości,
r[uCr(cuen.r3uoą JołeJauet frno1u11 .I.zT
-fdcuenr8uo4 ruaro1ereue8 udlłorur1-(7.ry) łsa| { sezcnopy
xgNnsłu / > ?! ;
'Z Poru ?s
:
?z
arzpB
}
dualnrugep atudó1seu v,v
:
(tz L. . .,zz,Iz)
(
W Pout
(q
(ure1ser1o ,I
IIcoIN .I
.tl -'{ > q >
1r
(0s)/ ?
>I
:
+ r-?so)
tsIp
?s
,os
- W > os ) g arzp8 vĄ?blez P-IC .I - W > / > I t ą zvlo |14z?o1) : ą bqzn1 erzpóq z < W LłcoIN
Ł1r.t.r'o11ec
'rfcerlsnp ep pe11dz;d dlsord o1g .urr(u$cuen.r8uoą IIIoJołBJoIIeB urdlrt'o;u11 .1.71 gu durprneppazrd n4unsfr ro1ereue8 (duirł.ederu zolu.Ą\ol coqc) fueuz duu1
[uęnrz.qcd.uoso1opnasd
^ĄgłIq
.(11set eru f,uzce1dzeq ro1ereueB oz,ęzcvwzo .€usg[ zcozl ,a1v .Dgtld errt1sr;ezcatdzaq ru1e1e ndd1 o3a1 rcgort,qzolu oluelu1st .n8Qrc o8e1ec zoIu.1!A'oJ pŁ1s e .v1zb1vz pb1op durg1ts1ńolugopz etu eprlł'erd o3)
o €Zpat.l(r ?9ołIts^\ clltsłsn e1e.uzod qc€}Tq qcdu|e1o>1 ry6 qc,{u1o.tł'op -1und .tir. znt ,{ru9rlrzpJol.1r\ls :dulu'ederu ozpJeq 1sa[ usdT Łcourod
ev '9.7.1 elc ez ,.{uer1sdzn
.eruaz.r91ru'od tdŁ1s.{łt l](I\utsz.lnpłIQ qcdrrtou 5l _ usdT ?e I ąZ D€Iud .cgud9,|zrcnłn o8erl.ro1rq-ry Łcourod ez r.uzov}u44b1vz o8e.to1rq-ry o8aupel Z ł€| łB+ ęłEIzp .2.1.1 erc1und .rrt duesrdo .(usar) ur..tu1or.t.r.z ruotuezÓzrds az dcŁfgrrrnsezrd r1sa[ -ar dłrorut1 az .,urerdfeu l|uszvttnv7.qcdrtoso1opnasd lu91rq łloro1ereue8 qcdueuz .có[od tlcer1snp e1q ozJqop eą1q duryteppezrd .Igpeq [e1ep dtuarzpeq oJ9}ł
.urdl.roruartunr1s ezgdzs n' o8eł.oruertunJłs ęzcnPl ,ezcn14
Ó|c1ury rupd >1azt1ez rfcen1ds [a1 16 .ro1ereue8 o1et etndó1sd^ cgud v 'tud.tłozgroupef urezcnp1 z t1f,zs ez gfzn1sod zercI o?.oul,{J9t{ .1v\91lq qcdrrroso1op .Iuełtsu€}l tn.tuzce1dzeq -nesd BŁrc tu€s ua} c'{.rzu1qo Ł8oru etoqo dper^Ą nazb1ez Łte1dsez.rd T csud blerupeBzn {alog Ie|oIIV ez.durcgnddzt1.tzpo8e1 99oupo3 .99o3n1p Łrues ó1 cetru -oporu 31 qcdrwoso1opnesd ilĄgtlg .IołtsJauac dułref łs{ołoc rsntu .n1eue4 o8euzcardzeq luol\Ąłclupal9od ez due1sezrd r o.tlt'oso1 duełt'oreua8d.tr c,{q eru fr911 .zcnpl [e1euo>1sop rcsoufe1 gtuerumadez nIoD.ł\ ez,ul[1 eu e8e1od .€zcnPl t o8eurr.ref n1s ud.tozeroupal urezcn1ą z n4l|zs 2goupoBoperu euzcd1ąerd nąrudrlrr' łl ele1słlod duemor;dzsez łs>Iałts ->1e1 fauzcdr1eur,{s dctuzoJ €Iuazcllqo
r9t
^oV.łX^Zad
.t.ZL I gINsZqV1AoadAĄ
12. GENEROWANIE LICZB PSEUDOLOSOWYCH
362
Przykład 12,1
Jeśliw liniowym generatorze kongruencyjnym przyjmiemy M :3l, a:3 oraz b :5, otrzymamy (5,10)-PRBG. Rozwazmy przekształcenie s r-. 3s * 5 mod 31; wówczas 13 r-+ 13, a pozostałe 30 reszt jest permutowanych w cyklu o długości30, mianowicie: 0' 5, 20, 3, 1.4, 16,22,9,7',8, 29, 30, 2, IL,7,26,2I,6, 23, 12,
I0,4, 17,25, 18,28,27,24,
15, 19. Jeślizdrążkiem jest liczba różna
od 13, to wskazuje on początkowy element w tym cyklu' podczas gdy kolejne
10
elementów, zredukowanych modulo 2 stanowi wynikowy ciąg pseudolosowy. W tablicy 12.1 umieszczono wszystkie 31 możliwe pseudolosowe ciągi bitów wyprodukow ane pr zez taki generator.
TABLICA 12.1. Ciągi bitów uzyskane za porrrocą liniowego generatora kongruencyjnego Zalążek
Ciąg
0
1010001101
1
0
2
101010001 0001101001
3
1001 10101
1
4
1 100101 101 010001 1010
6
11
1000110010 0101000110 1001 101010 1010011010 01 10010110 1010100011
12
001 100101 1
7 8
I 10
13
1111111111
I4
001 101001
15
1010100011
16 17 18
01 101001 10
19
20
2I 22 23
,4
1
10010 1 1010 0101101010 0101000110 1000110100 0100011001 1 101001 101 0001 100101
1101010001
25 26
00 10
27
0110101000 1011010100 0011010100 0110101000
28 29 30
1 10101 1010001 100
€Io
{ęf .bd
.l&g}Iq
ry
.z.zT )gNns^ll Vs.lI JołEJalloc
.Vsu luaJo}tsJouo3-(/.ł)
}sa|
{
sezcno1y4./ > ? > I tsIP Z Pour ?s
-
?z
arzPB
t(?zt'"'ez'Iz):
(0s)/ erudó1seu e
'u Poru ols
eur 0s
'UIa+ęz
,
*uv
Ttls
-
frutntugepz 1 :ute1ueule1a rudu1o.t.roP
ąz
łsaf os 1ezbp7
'eu[e1 bs b t d .tp? sezcpod 'auzctlqnd bs q t u'e11d'ttz dq€ .>1e1 tue"rq.{.tr, Łqzcr1 1set q ez,ttx|v;rt1^zl6 Elual.ĄĄp bpóq ó t d qcetN
.I : ((")Q,ilouN
:
u r turdzs.łtrard IIII€qzcII rurf,u'o1rq-7/ry
eu e1redo cgud Ł[aru1s1 .o.tt1s1rezcetdzeq e1fze1eu bleru.u'adez ez .9tupo.topn .qcd,tt qcf.toruezct1qo qc€Iuazołez qc'tupbszor qcfu,trad tz:td uuzotll qcdr911 e1p Órs .{urarrulęz r.łl-lzpzol -osolopnosd Ą9}Iq 1c9ózc le1e1sozod llueJo1ereue8 .vufcolozoq €po}otu o} '11. az łsat .n>1e1e ,t.r.olezpor qc.{ueuz a1et'tł. .etuerupo,ttopn nqosods o8oup€z 1eupat c€pl'Ąó. alu qcd.ta.oso1opnasd gruBłtoleua8 epo1eut o1ea eu eurodpo r u1qfzs ozpJ€q 1set 'rr'p}IQ .Jlsa|aJ .{zsr'trerd zezldt1c'Ęuelwoąnpordd,t. ,ta.91rq nSŁrc n8trcpod z c6lnt óts epe14s (rg nBŁrc m r1u-{pet ta1-:1 \tcfzod ęzcęuzo ąt, etzpB EŁrc dueur,{zr16 . . . . ,zQ .t.r91rq
(ą?p
Ł1n3al z arupo8z
..
:
?7
.|Zz |Iz ,t.ro1rq qcd,troso1opnesd 8Qrc sęzc't.t.o,u. due1san1g
,,..,zg(Iq 8ŁIc rBnrp....|ćD(ID,!\gtlq $bIJ
e[n1npo"rdd't.t. qcru z.{zs.t.1rald'qc€T
-Iq zą + Ią o enzb1ez 9e.łroqez"r1od durerzpÓq nqo €IuoIuIoqDnJn oC 'ery erudo1s rBnrp (Try etudo1s uapal.tudu1oJ,Ą\z ulaluozbzlds az ectfe,tmsazld .,(r1se[e: a^\oIuII e,tp fureur az,Kulzo1e7.(.l'oyll'aua6 6ut,Eut"t,l1s .Bue) oBecbfeurcqo eło1e.reua8 .eql1rusraddo3 zazld euę'ttouodordez .po1eu órvrzeu rsou .ernosuetr41 r o1dzc.t.rery qJH€} Z €upof .Ja}ł€Jtst{c d.t.r.otut1 loruru f1ettu t>1tuf'tt eue.ł.rdtudz.r1o dq 4e1 .udu -+oJ/\\z ureruezazrds az qc,,(cŁfe.ta'nsazrd .uor1safer qc,{.uorur1 nruezct1 eu eSe1od qcd.łr.oso1opnesd .t.ro1rq .uoro1e.reue8 qcr4qdzs oupJ€q €IuaZJołr} qgsods fuu1 q o.Ą'|.oluozcllqo Jo}€ J .
^uzcaloza -eue8 o1 arzpóq ez .3ts afepd,u .[ec3r,ł.t. oc lqcd.uoso1opnasd .ĄAg}Iq Jol€Jaua8
o1e[
druazour .1.7.g erc>1und .t.l. duęsrdo ,ggq nure1sds o8eu1o.r,t'z eluezóztds c€.Ą\o}{€Jl .qce1evpzoJ qcrupaz.rdod qcdue.uotugepz o8errtorc9[d,u qfr1 .pe11fz"rd e5 7Ótod 'u eą1rą 9e1s,{z"ro>if.tt .,(urezoru qcf,troso1opnesd lrgtlQ ero1ereue8 r[c>1nr1suo1 o6 €9€
^avŻX^ZEd
I
sINgZaVAĄoad'M 't.ZI
12. GENEROWANIE LICZB PSEUDOLOSOWYCH
364
fundamentalnych problemach faktoryzacji (zvńązanych z systemem kryptograficznym RSA z publicznym kluczem) oraz rua problemie logarytmu dyskretnego. Na rysunku I2.2 jest pokazany PRBG lzywający funkcji szyfrującej RSA, nato miast PRBG związany z problemem logarytmu dyskretnego omawiamy w ćwiczeniach.
Podamy teraz przykład generatora
RSA.
Przykład 12.2
Niech rr, : 9126I : 263 ' 347, b : 1547 otaz so : 75364. Pierwszych 20 bitów wyprodukowanych ptzez generator RSA znajduje się w tablicy I2.2. Ciągiem bitów otrzymanyfiL z tego zalążkajest więc ciąg 10000111011
1
1001 1000. 0
TABLICA I2.2. Bity wytworzone za polnocą generatora RSA x
75634
1
4
31483 31238 51968 39796
2 3 5
28716
6
14089 5923
8
4489r 62284
,7
q
2.
zx 1
0 0 0 0 1 1 1
0
11889 43467
1
11
t2
7I2I5
1
10
1
Sz
0
1
13
10401
1
I4
77444
0 0
15
56794
16 17 18 19
78147 72137 89592
0
29022
0
20
13356
0
1 1
2. Nier ozróżnia|ne rozkłady prawdopodobieństwa
od generatora liczb pseudolosowych oczekuje się dwóch zasadniczych cech: po-
winien być szybki (a więc obliczalny w czasie wielomianowym względem k) otaz bezpieczny. oczywiście często te dwa wymogi pozostają w konflikcie. Generatory
c(lzL...śIz)
€1ń+suolqoPodop,rłerd ureudzco1t 1se[ rra.o>1rupe11s ez dpzo1 |er91>1 łr qceBtrc qcdrwqzou qcrllsdzs,vr od eurns blezceuz,Llly 'I'0 : I r-Ip'{d ts^\lsualqop -odop.uerd np€ł>IzoJ tsIp V nul1droB1e erueuo1d,tt n1rud.tt 99ołJ€1]lt (tue.uqazco
qdzc) Łrupers eln1uazerdet (|d)vg
vqnvl
'(7z , . . . .rz) n8ŁIc ołP9lv euqopodop
zezld 1e1soz dr91ą ..t.r9peł>IzoJ qco..\&p z .duzcd1sqrqeqord cdq vo ozoul ez 4ud16
-.u.erd fatzpreq o1e! ,{uezv1srrt ur1dro81e
ue} €I9aJ{o ,ez1tsl}zo
oc
(ł,,....Iz)V .a.troso1
eTuęuo4d.u
dqzcll
1e1s.uod ez,o1 |ezcvt 'tzc
9rdb1sdrl.r urru n.
Ł3o6 .0d npęł>Izor er.rrte1spod eu nptsł{zoJ z 1ąrud.tt (łz, . , .,tz)
,Id €.Ą\łsl}olqopodop.tłerd
.cr1e1sn órs ere1s 1tr ur1,tr .łn.91rq SŁrc /.iuep ez.o1 pe! euqopodoprwerd lerzpreq dzc -o31y 'etcrugap ezszd.trod. pzcpuzo atuf,{crnlur oc ?I1(tslspozrd '{urtnqgldg
'I qnl
l ((?r
€1ń}sgolqopodop,ra.erd
0 csolJts1r\ ozsdtęzb|eul
" "'tr)l r : ?" " "' tz)V)d
o1 .urduzcd1slullllJo}ap urau1d.ro81e 1set
o.r\o{unJtsA\
y 19ap
vcv1!^'n
.t,ul'fr,u7ot,uz o.l'z o"l -l,tvle lil.'fzęlu ld l od fpe11zor o1 .a ettuotzod eu Id I od fcŁleruzoJzol ru1droB1e eferu1st rlgap
''
'
't
ertuorzod eu rd I od o?u?g"tzo.t,
((r"''''' rz)lr : (,"'''''rz)v)d' ('r''''' dure1ser>1o
o4et) urdrrtouelluolall$. ols€zc
y
tz)!d
I,0
ez
'drur.tt'ontr
v\zz))(?z'"
: | ęIa'.0
''
rz)
'0 < r qcalN
:
(|Ąva
leuueruz
e|c>1un;
ulltcbtv1elzp tuduzcd1sqrqeqord ureur1dro81e atzp
^\ -eq {r .o} * ł(z) : V qcolu .o1peuo4 .tltg}TQ .tg8brc qc.{lł.ozerd.til'-7 qc1ą1sdzsan' rruepe1>1zoJ tsIuo11IP Łp3q t4 t 0d qcotN ,("Z,) ",,o\qz €u ts.Ą\}suorqopodop.uerd
z'zr
1!rr
vfcrNrJso
.elcrugap oBet o16 .€11lłsgalqop etcÓlod op bzperrtord tsIu€zts./VrzoJ al{tsJ
-odoprrrerd ł\oPBł{zoJ lc9oul€IuzgJzor
ols€zc
-oIoI1^
.(7 urepÓ18zl.l. .atuz€rrłou.{loJ qnl) urep318zał tud,uouprtu o/rĄIlzolu c.{q ouur,uod eru łt9łIgv n8btc o8e.uoso1 ercgr'rłdzcazr po .cŁuł' ,rł.o1rq qc.'Qrt'oso1opnesd v l?b1c erueruzgrpo
ł
zezrd qcduełloreue8drr,l'
c€Iud
-our lazceu1 ...d,trt.oso1.. Órs 9errr'epdro. uerur.łłodqcd'rł,oso1opnesd .trr'91rq ero1ereuaS .erufdcrn1u1 .qcf,rrr.oso1opnesd rl.rg}IQ €Jol€J Łcoruod ez qcduu1s,tzn .ł\ołIcł -q Bbtc -eue8 ..ełr1suezcardzeq,, erc3tod cIT9oJ{o lerufdzdcerd ocelu zvJol dul|nqgrd^g 'qc^uucg .qcefce1nuds
fzrd eu M auzcordzeq o1eur }sBIIIIoltsu -er8o1ddo1 qc€ru€/tĄ,oso1saz -1v,pltztd ozpJtscł r erąqfzs ozpJ€q eo9llil..tzcezl Łs ur,(u1orrrrz ulatuozbztds oz qcdcŁfe,rrr.nsezrd qce.r1sele.r qcd.trr'orur1 qn1 qcefcuenr8uoą qcda.r,orur1 eu epedo g9t
V,MI S NsIa O o
OdO
o /ńVa d
IoV sXZ OE
s N'IV I NZ QAZ Oast
N'
G'
zI
12, GENEROWANIE LICZB PSEUDOLOSOWYCH
366
ciągu (z1,...,z!) i prawdopodobieństwa tego, ze A odpowie ,,1'', BdY otrzyma ten ciąg na wejściu. Algorytm A' rozróznia dane dwa rozkł'ady na poziomie e, jeśliobie wartości oczekiwane tóżnią się o co najmniej e. Jaki to ma związek z generatorem bitów pseudolosowych? Rozważmy !,-wyrazowe ciągi bitów. Jest ich 2t. JeśIi bity są wybierane nieza\eznie i losowo, to kazdy z tych 2t ciągów występuje z tym samym prawdopodobieństwem 1/21. Tak więc rueczywiście losowy ciąg odpowiada rozkładowi nad zbiorem wszystkich !,-wyrazowych ciągów bitów, w którym każdemu ciągowi jest przypisane to samo prawdopodobieństwo. Niech pg oznaeza" taki rozkład prawdopodobieństwa. Zajrnijmy się teraz ciągami generowanymi przez PRBG. Załózrny, że wybieramy losowo k-bitowy za|ążek, a następnie stosujemy nasz generator do uzyskania ciągu (, bitów. Powstaje wówczas rozkład prawdopodobieństwa na zbiorze wszystkich ciągów l-bitowych; oznaczrrry go przez p1. (Dla większej poglądowościprzykładu przyjmiemy upraszczające założenie, ze rózne zalążki prowadzą do różnych ciągów. Wówczas spośród wszystkich 2( mozliwych ciągów, 2k występuje z prawdopodobieństwem lf2k, podczas gdy pozostałe 2l -2k ciągów nie wystąpi nigdy. W tym przypadku rozkład prawdopodobieństwa p1 jest wysoce
niejednostajny). Choć oba rozkł.ady prawdopodobieństwa po i pl mogą bardzo się różnić, nie jest wykluczone, ze będą one e-roztózniaIne tylko dla bardzo małych wartości e. To jest nasz cel przy konstrukcji generatora bitów pseudolosowych.
Przykład 12.3 Zał'ózrny, że PRBG
generuje jedynie takie ciągi, w których dokładnie |.l2bitów ma wartość 0, pozostałych !,l2 bitów ma zaśwartość1. okreśImy funkcję A
w następujący sposób:
L(,. "'-tr-,l - I I, | 0r Algorytm
A
Ea@o):
gdy (zt,...,zl) rna !.l2 bitów równych wprzeciwnymprzypadku.
0,
jest deterministyczny. Nietrudno zalwazyć, ze
(,:,\
#
oraz
Eabt)
:
t.
Można wykazać, że (,',.\
\Lt z, llm --=t-a 2L 1.
U.
Tak więc dla dowolnej ustalonej wartoście < 1 rozkłady po i pt
e-rozróżnia|ne dla dostatecznie dlzego
!,.
są
I
.I.ZT np€ł{
-fztd z o8euldcuenr8uo1 e"ro1ereue8 o8e,toru1 €Ip n1rq o8eudÓ1seu erue.trdpt.u -ez"rd ur1dro81e druelnpnqz qbtod lezd.u qcduol.&\otuo €Iue,Ą\oJ}snllz nlac ł\
'ZlI po urdzs1ór.łt luamłsl}alqopodop.trrerd z 1rq dud31s -eu 1e'udprrrreztd atzpbq z Isr-I:r;aęz z - I ozsly\tsz ficb,tupod u1dro31e n1peddzrd rrrl{€1 1vr łtrpB ,zlt po urdzsferulu luo.Ą\lsuolqopodop.uerd z }Iq dudó1seu qcdcŁt -npr,rlezrd .uoru1dro81e erue.td;ledzor dqez.rlod Eru alu aZ'frutzet'ttne7'ezsnbt1j1. (,t,toso1 .Zf luuen1s azczset. c'tq azoln on}Sl}alqopodop,tre"rd o1 1sa[ atu 8Łrc qgep I -gerqopodop.uBrd z 1rq dudÓ1seu cet.zp1nezld ge"r1od n1rq o8eudó1seu eruerrtdp .o3a1e1p -l,ytezld' ur1d"roB1e tpqvĄ ez 1|c1ugep .u óts er.uelod ) + 7'lI ?9o}JP^Ą (t_l', , . . . ,Iz) o3eru.ozeiln-(I - z) nBŁrc o8euep etrrte1spod l eu nlrq o?al-z eruezptnteztd oBeurvre.rdod ts^tlsualqopodoprvre"rd zvto ! lfc>1un; o .
...
,Iz)
Bbp ez,o8e1e.1r\}sualq ero1ereue8 Łcourod ez due.uolaueBf.tt 1e1soz (t_l'7, -opodoprrte"rd nu.{zcol ((,-n" ' ' ' ' 'tz) qcd.uozerd.u-(t - e) qceBtrc qcqlsdzs,u od) 1se[ n1rq o3e1-z v1uezp1nrazld oBeu,uerdod om}syalqopodop.łrer6 cr9,/\Ąocr turns
^,2 Jt-
I
-o31e.a
1 ((t-tz' ' "'tz)l?g:
?z)d .
(r-t" L " '(rz)Id
dp8 .fpeyrt o{Ifł I dpe1łrt n1rq o8audó1seu eruerrldpr.trazrd ureru1dr pet lg duzcd1sr1rqeqord rrr$"ro3l€ sezc..Wo^\ .c€Iud-(/,t1) etzpóq / q""lN T.uI gINgZCrusI^Ą.l
-eu eruerrrdpr.tez.rd ur1d.ro'1e
ce.uozdre1>1e'"1'":..Ę["ff::.:il[ilJ'Jl.lf""ł..'. .
?
z'ttlltzcpuzo
b
t91n . |ałroso1
lauuenuz o o>1ef rud,u,orcgfd,tr ercrq ur.{rvrosolopnasd urdl-z o 7a19dtu druezoru o1 ./ > p > T II9a|.ąe1 1.(,ugłlq lłcd} ezł'o1qzpod tudu1orvrop eu qn1) qcdrvrotcgldit.t' ,tro1rq qcd,troso1opnesd v z ulltpzu>1eu t zezld ou€^\o{npul €.Ą\łsualqopodop.te"rd dpe11zor cezęlrtrzol zel. f,tsrczory./ qcdrwoso1opnesd.u91rq ro1eraua8 zezrd due.ttoą
.olu€l&ołntu -rlpuI v(Z) €u Id €ł\}s9erqopodop.trerd pe1ązor znf dursrTertopuopz -IoJS ełslc9 lerzpreq cer1s..{zn r1orrł'zod €.Ą\łsualcłopodop,trerd np€ł{zoJ ercólo4 .g < a erzp8 b + 7'lI leruurleu oc urdu.ug.r luo.ł\łsl}alqopodop.uerd z n8trc oBerrosolopnesd +Iq,l+-? cetzptnteztd gerlod rg ,{p8 '(npq o6aud3?sDu DI'uDn -fr,plmaz.l,d uau4fi,.l,o07o-a qn1) r Łrcgoupo8drts\M z n+?,q o6aud)7sllu ozuomfi'pl,mazl'd !61 ez ,durr.uotr41 .I _ / > 2 > 0 łaunJełt ceru1eds arudpel errr u,au4ft"lo67o tsa| .I-9z. . . . (Iz .druzpar,rl.od .(ną .?z u 9gołItsł\ Tq'.{udó1seu catzptaleztd órs ere1s \ -zb1ez ull|ueuzelu l|zld) l zezld qcdue.uo;eue8drrt łro1rq 1- z tąc,tzslli^rerd nrcg[e.ł.r. pu e[nur[.{z.rd dJgt{ (rg u1dro31e .{uzcdlsrlqeqo"rd drueru ez'tttttz91e7 (CAUa.qgsods
-0,Ą) ? I 5l qcęĄau]e.red o qcd.troso1 ^\gtlq ulaJo}Breue8 erzpóq / .{celN dcttndÓ1seu ,łt uo €łtsIzo .n1rq o8aud31seu eruervrdptru'az.rd ru1d.ro81e 1saI qcd,tł. -oso1opnesd .Ąó'o1lq .Ą\oJo}eraue8 nlutspeq dzrd urfu1epdz"rd ue1ueunr1sur ruduu1 n
198
VlvrJ.S
1;q o8eud51seu e.ruelł'dp.rrrtez.rd
Nsts O oO
d O o.MV a
ur
1d"ro8lv . l.
d AoV qXZ Oa s N'IV I NZ QEZ OE1I N'
z.
zt
C' Z
t
12. GENEROWANIE LICZB PSEUDOLOSOWYCH
368
Przykład 12.1 cd. Dla dowolnego i, takiego że 1
śi < 9, niech Bi(z) : 1- z. Oznaczato, ze przewiduje, że najbardziej prawdopodobnym bitem po 0 jest 1 i na odwrót. Nietrudno obliczyć na podstawie tablicy I2.7, że |
Algorytm przewidywania następnego bitu może posłużyćdo konstrukcji algorytmu roztózniającego A, jak to widać na rysunku 12.3. Daną wejściową dla A jest ciąg bitów z1,. . , , Zt, a algorytm A zawiera B; jako podprogram. Dane wejściowe: ciąg !.-wyrazowy (zt,. . ., zl)
(1) oblicz z ::Bt(2t,...,2;t) (2) if z: zt then else
L(rr,...,2t):I
L("r,...,2t):0
RYsUNEK 12.3. I(onstrukcja algorytrnu rozróźniającego z algorytmu przewidywania następnego bitu
TWIERDZENIE
12.2
Niech Bi będzie e-algorytmem przewidywania następnego bitu d|a (k,Ą-PRBG /. Jeślip1 jest rozkładem pravldopodobieństwa indukowanym przez f na (Z2)Ł, a p0 jest jednostajnym rozkładem prawdopodobieństwa na (Z2)Ł, to algorytm A' opisany na rysunku 12.3, jest e.algorytmem toztózniającYm Pt i Po.
DowoD Zauwazmy po pierwsze, że A(rr,..., zr) : I e Bi(2y,..., zi-r) : Wynik podawany przez
A
2,.
nie zalezy od wartości Zź+7,...,z2. Mozemy zatem
przeprowadzić obliczenia w następujący sposób:
Ea(pt) :
Pt(21,. . -, z!)'
(21, ,2,)e(22)'
t
P(L : 7l(rt,.
Pt(21,. -., zt)' P(A
Pt(z1,...,
zt)
.
p(Bt
: Il(rt,.
-
-, zt))
-
-, rn))
: zt|(zl,...,
zż))
("r,..,", )ę(Z,)ź
(zt,...,zą _,)ę(Z,), ,
:
1
żł,.
pt(z't,..., zł_t) . p(zt : Bt|(,,,...,
";t))
.o1 ezceuzo ...g.. zpetłrodpo etep y ur1d.to81e dpg .qcd.'toso1opnesd ,Ą\ołIq ęJol€J -eua8 z bzpoqcod I_?2 t . , . ,tz f+I9. az n|uazołęz f,zld ,I_?b ts,łIlsuolqopodoprrrerd IIIop€łłzoJ z etupo8z 1llg?Tq BtIc drto1ueura1a-7 atru1npord aIcołSI rrr erue.tr'dprrrtezrd ur1dro81y 'e[c4nr1suo4 3rs erardo udrgp{ eu 'lsdurod Azctupesez o+O'T'ZI n{uns
-d.r eu o3 druer.ue1spez.rd lduzcd1sqrqeqord ra1rpreqc €ru ue1 ur1dro81v .(p lcg -o}J€^Ą feuo1ser1o !"ł ntp) n1rq o3e1-z erue.udprłrez"rd ru1droB1e duetnpnq7
L^<('r)'r-(r-?b)vs az' gbt[zt
d.
d1er1n zeg
^-rro-rcsou193o (l_eó)veI
.L.|(ou)",
./ !ar9q ep > ? > 1
-
.z ggoperrr eupet t.etuufęu oc aferu1sr ez .pb1s €|.{1u{711
.|(n)vg
I:?
- (I_?b)vg|(
> l1or;"E._ (oÓ)va|
3
:durBru
.)
erĘ|grł lc9ou.&gJalu
<|(lb)vg _
eIuazołtsz
Z
.7d
:
Z
(oó)Yfi.| vb
l
od
_
ob
dpał^Ą .o^Ąosol oueryroreue8,tł\ ł\9łIqz _ v t7c,t1v1sozod ę .'f 1!c1uq o qcd.troso1op -nasd .uo1rq ero1e.reueB Łcotuod ez qcduvr1sdzI| ołts+soz ł\9}Iq ? qcdzs.trrard erzp8 ,
a("Z)
,,
?Ó
tsĄtsqolqopodoprrrerd ptsł{zol /
>
? > T tsIp dur19er49
CI91\ĄoCI
./ e1p ?g n1tq oBaudó1seu erueru'dpr.łrazrdu1dro81e-vfleteruryt.I_/}p>I.?o8eurl.redBIps'Bzc.ll.r.o6
,v(v) eu ts^\lsuolqopodopnerd uop€ł{zoJ tudufe1soupaf pel od v ,l 1!c>1uq o .ry) ero1eraue8 tcourod ez udue.tro1nPul caud-(/ ł(zZ) €u €.ł\łsuelqopodop,trerd Iuaptsł{zoJ łsof Id elzpB ,od I Id tudct|ęIuzglzol ureur1d"roB1e-a elzpóq V qcolN 8.zT EINEZoIIEI^Ą.I,
nur1d"ro81e
'E.ZI oruozplalł!ł l.Ąlolu urdł o .n1rq oBaud31seu erue.o.t.',(prłlezrd oluolu}sl Łqos ez p8trcod oBacb,tetuzgtzor nur1dro8p aluolu}sl nvt,9ez .óuor1s Łupal rn. efcer1rldurr ulaq1Ł|dłt z .n1rq o8au
durtsnu .ólcvr1łdurt
-er1od
g{Iu&!\ Z.ZI ęfirczpra\^+
Łcbtn>1erq clupo1t\opn
Z .]
dqy
Icsou€.łI qcd1eu ozpJ€q
dÓpeu erueltdprrr.rezrd rrr1droB1e-a efetu1sr eru dpS .dpa1u ołId+ I dpeyu ,,fiuzceld -zeq.. }se| qcd.tt'oso1opnesd łt'o1rq ro1eraue8 oz ,01EzcEuzg .lufi,u7os.l'anxun ulo?:so+ etue.rr.tdprrrrezrd u1dro31e ez ,eluezplel,Ąl1 ots^ po ecŁzpoqc qcdurvro18 z uape1.
pef n1tq o8eudó1seu
-od o1 qcdrtoso1opnesd ,t\ołIq .Ą\oJołereuaB IIJoał
^ro{Iudrr,l
.bze1z elupoBz ,l ą |(a)va _ ed)vs| olctsłInzal .Ąr, I (od)vs az,c'&ze'ttnezIno1tsz oupnJłolN .7f 1uan1s;arqopodop.terd z n8Łrc óp.terdeu }Iq dł-? lzplttteztd ?g eruemdprntaztd urfroB1e dpzo1 1eupep
l zlt:
oBervroso1
VTvIISNEIAOOO doC,,vlv?id
698
IOVSXZOA 4N'MNZOAZOEĘIN'
e'
ZL
12. GENEROWANIE LICZB PSEUDOLOSOWYCH
370
Dane wejściowe: ciąg (z
-
1)-wyrazowy (z1,
(1) wybierz losowo (Ą,. . . , z!) e (Z2)!-i+1 (2) oblicz z :: A(2y,..., zt) (3) zdefiniuj Bl("l, . . . , ze_l) : (z ł z1) mod
...,
z;t)
2
RysuNpx 12.4. I{onstrukcja algorytmu przewidywania bitu z algorytrnu rozróżniającego
następnego
ze w jego ocenie najbardziej prawdopodobne jest to, ze ciąg /-elementowy po wstał zgodnie z rozkładem prawdopodobieństwa qa. Rozkłady qt_l' i ql różnią się jedynie tym, że w Qt_t bit o numerze i powstaje losowo' podczas gdy w qi jest genero.Wany zapomocą PRBG. Dlatego odpowiedź ,,O,, ozllacza uznanie, że i-ty bit, zi, jest tym, co wpisałby w tym miejscu generator bitów pseudolosowych. Możemy zatem ptzyjąć, ze zi jest wynikiem przewidywania e-tego bitu. Gdy algorytm A odpowiada ,,I" , vznaje tym samym, ze zi jest bitem losowym, zatem za wynik przewidywania ri-tego bitu należy uznać I zi. Musimy obliczyć prawdopodobieństwo tego' że i.ty bit zostanie przewidziany poprawnie. Zallwazmy, że gdy odpowiedzią jest ,,0'', przewidywanie jest poplawne z prawdopodobieństwem
nr(zil(2r,. gdzie
A
..
, zt-r)),
p, jest rozkładem prawdopodobieństwa indukowanym przez PRBG. Gdy
odpowiada ,'1'', prawdopodobieństwo poprawnego przewidywania jest równe I
-
p1(zil(21,.
.
.,
z;t)).
Przyjmijmy, dla uproszczenia zapisu, niach następujący fakt:
Qt-t(z)'prkilkr,..., zi-r))
,: (rr,...,2t).
:+
oto jego prosty dowód:
qi-r(łr,. . ., zt)' m(zil(2r,. . ., zt-t))
: Qt-r(21,...,2t-t)
1 "+ :Qt(zt,...,z).żt_ź+1
-Qt(21,-..,2!) ,
.
plkil(lr,...,"n-r))
Wykorzystamyw oblicze-
dp8
.,(pa1lrł' ołIdt
-
/Ó\ : /d\ (;/ ': (;/ I dpe1,rł' u olnpotu Ł.trr'o1erperrn>1 Ł1zsar 1se|
{*uZ), :?.,
'1
:
r
ez.dtultuurodfzr4
?.,poru.r}: (u)g$
olnpou qcdrrrole.rperrul łzsor torqz erceuzo (z)g$ qcetg
eBn;p e
:oBerqocep loqurds drulruurod -'tzlI 'bd: ?,' gcalu r nudzsrr.rrerd IIuEqzcII yldu791 €Iuall&p bpóq r t d qcetN .v nłęIzPzoJ lcsozc qc^uul z qc^/!ó'oqzcllolloo} /t/lgłł€J n.ręd zBro g.v I|łp|zpzorpod z o8arqoce1. qoquds l7cltcbzct|1op lł.oąrudrrł' n{IDI tsIu -eruuroddz.rd po dtueruzcez 'qnqs T urnlg '-.lg rldq ruec.uepolsduod o8or9t{ .qcdir.r,oso1opnesd an91rq ,troro1e"reue8 qcdue.t.l'oso1s letcgÓzcleu
z uepeI n1 druezsrdg
€qnlłs-Etunlg-Bulnlg Jo+BJauoc .t.zT
.?rupo11\opn ołezoltsu oc
(?b)vs
'v- +9 < rI - (-!b)vg +!: I
ófr-C_?b)vg+ffił: |z|I
@lt: y)d.(z)t-tt [(((r-0,
((,-,.,..,
\' . , ,(Ę" : y1a ś 1z7v
łGz)>"
3
(- .-
?(zz))z
: + @lo: v)d &, 3
(tz)ltz)ra
|Iz)|?z)Id.
-
t) . (zl1
: y)d1
ł(zZ))z
("|o : y)Ą@)t_l6 3 ,tz)!A: . --
((r-or,
.uazcllqo qcdurrt91B op 9rdŁ1sdzrd zerc1
:
?z)d durezotr41
vanHs vwnla-vwnTa aorvEgNsc 't'zr
ut
12. GENEROWANIE LICZB PSEUDOLOSOWYCH
372
określmy
Qń(")
:
Z'- \ QR(n) {" .
:
: 1). r1) \n/
Wtedy
qń(')
:
{x
eZ*-
' (;) : (;)
-'I1\ -
Elementy zbioru QR(") nazywamy pseudokwadratami modulo n.
Dane
Dodatnia liczba całkowita rł, będąca iloczynem dwóch nieznanych liczb pierwszych p i q, otaz liczba całkowita r e Zn*, taka ze (#)
:1
Pytanie RvsuNpx
Czy x jest resztą kwadratową modulo n? 12.5. Reszty kwadratowe
Podstawą generatora Bluma-B luma-Shuba (w skrócie generatora BBS )' podobnie jak wielu innych systemów kryptograficznych, jest problem reszt kwadratowych opisany na rysunku 12.5. (W rozdziale 4 zdefiniowaliśmy reszty kwadratowe modulo liczba pierwsza i wykazaliśmy, że taki problem ma łatwe rozwiązanie; tu mamy jednak do czynienia z modułem zł.ozonym). Zalwazmy, że problem reszt kwadratowych wymaga odróżnienia reszt kwadratowych modulo n od pseudokwadratów modulo n. Mozna lznać, że nie jest to trudniejsze od rozkładu |iczby n na czynniki pierwsze. Rzeczywiście, jeślimożna obliczyć faktoryzację 17: PQ, tobez trudu można uzyskać wartość,na przykład' (;)
JeśIi(fi) : 1, to z jest resztą kwadratową wtedy i tylko wtedy, cdy (;) : 1. Nie widać natomiast żadnego sposobu na rozwiązanie problemu reszt kwadratowych, gdy nie jest znany rozkład na czynniki pierwsze |iczby n, Problem ten wydaje się więc efektywnie nierozwiązalny, jeśliefektywnie nierozwiąza|ny jest rozkład na czynniki pierwsze liczby n. Generator Bluma Bluma-Shuba przedstawiamy na rysunku 12.6. Jego działanie jest dośćproste. DIa danego zalązka sg e QR(n) obliczamy ciąg SI,S2,...,s2, biorąc kolejno kwadraty modulo n1 po czym redukujemy każdą wartośćs' modulo 2. Jeślitak otrzymaną na i-tym miejscu wartośćnazwiemy zi, to z;
/q"\ : (s6'
1
mod nJ mod 2,
Podamy teraz ptzykład generatora BBS.
'bd
:
u ozs^\Jard rlruudzc
€u ptsł{zoJ dueuz 1se[ aIu oz zelo potut : b : d, az rlnne1 .rurdzsł.rord Iu€qzcII bs Ó r d etzp8 ,bd - 1'1 o? .n+ ,turcpe14v7 .rzpe.lrtordop oluozołtsz o+ seu pĘop ,,|ulzceqoz I .'\Ą91Iq qcd,,rr,oso1 3 Po oule|uzoJpo-, Ł. sgg ero1ereuaB Łcoruod ez euerrr't1s,'(zn d1rq ał\osolopnosd ez ,ptuozo1vz eob|iztd po f,ul[tuzce7 €Jołe"reue8 rue.u.1suezceldzeq onlo1oBazczs órs durerurfez etc4und tud} ,11 (v
.sgg
Sg51 €JołBloua8 o/^łsllozcoldzeg .yg. 71 .U OInP
-our qcdzto1eJptsllĄ'{ pser (u)g$ ozlolqz eu Ł|ce1nured c3rłr }so| SBg ero1ereue8 u poul zr <.-1 tr aluecłBlzs{ozrd'r z ru-.t'rrlo1erp31Ą{ IuaIł
t|c>1nr1suo>1
^\
au€.Ą\osołs
.t.tro1eJpts.Ą\{ -1ser.trrerd ul'fi,uno76 druer.trzgu >1o1seurtrerd o1e; b1zset aa1e1 1sa[ d"ro11 .r z d,uo1erpe.ł'{ uepal elup€ ł łop eferu1sr r [e.tro1erpe,r.r.1 dpser {a}s€ I .ł\JoId .e1rud,t\ potu : Ó : d atzpB (bd, : u lcsou,ł\oJ |epzgt e1p az 7 8 7.en1suezcatdzeq o8et e1p tu1o1sr (ggg ero1elaua8 Łqcec Łu,ro'ed ptsu zl-Jo1 bls frul"etnfz4e7
I .OIOI
I IOOIOOOOI I IOOI
I
:łrptlQ BŁrc dcŁtndÓ1seu efnreueB nazb1ez .?pp!ol .E.ZI €cuqts} BJol.łt\tsz Ąęr Sgg BJot€Jaue8 Łcourod ez qcdueno.raua8drrt ozs.'rrord .6VL0Z: u polu uggtlol : 0s I tog.tgg : 6V\Z6I: ?/ r{carN ^\9Iq 0e
Ż.ZL pePI'tZJd
eqnqs-Bunl g-EuInI €[ Joł€Jauac
_€unlg urero1ereue8
.9.
u
T
xsNns^tl
.sgg luoJoł€ r eue8 arc9r4s łr' .eqnq5 eunlg_ / dpa+.,tł '/ > ? > I
ut,{uęiytz
.cElud-(/.ł) łsa|
'U Pour ?s
:
?z
etzp8
t(72('"'zz'Iz):(os)/ sezJ.t\o1/r €
-
'u Poru ls -nlugep o <
? ęI1-.(')ub nJolqz
.,,a1uo.,,alo udu1o.lrr,op 1sa| os
t+ts
,.:.#;
'z oppour
qcd,n
.bd : u qcalu I pour -ol€Jp€^\{ +zŚoJ lolqz Ezcęufo (")ub 7 E: b : d az IuI{e1 .rrudzsrttetd IIuBqzcII nud.,rto1rq-(6 f q) euatnp Łpóq D.d qcar5
vanHs-vwnla-vwnTs EorvagNsD'
ELT
t'
Gt
374
12. GENEROWANIE LICZB PSEUDOLOSOWYCH
Tłgr.Ice' 12.3. Bity wytworzone za pornocą generatora BBS S2
Z
0
20749
1
143135
2
17767r
1
3 t
97048 89992
0 0
5
17405r
1
6 7
80649 45663 69442 186894
1
8 9 10 11
r77046 t37922
T2
r23r75
13
8630 114386 14863 133015 106065 45870
I4 IU
16
17 18
19 20
1
1
0 0 0 0 1
0 0 1 1 1
0
I3717I
1
48060
0
Poznaliśmy już pojęcie algorytmu przewidywania następnego bitu. Tu rozważyrny podobne pojęcie' które nazwiemy algorytmern przeuidawan,ia poprzedniego bitu. Taki algorytm dla (k,!.)-generutora BBS pobiera I pseudolosowych bitów wyprodukowanych przez generator (na podstawie nieznanego za|ązka s6 e QR(n)), po czym próbuje prze:widzieć wartośćzo: so mod2. Może to być algorytm probabilistyczny. Mówimy, że algorytm przewidywania poprzedniego bitu Bg jest €-algorytmem, jeśliprawdopodobieństwo poprawnego wska. zarlia zo jest równe co najmniej lf 2 + e, gdzie prawdopodobieństwo obliczamy po wszystkich możliwych zaląż|
TWIERDZENIE
A
12.4
będzie e-algorytmem rozrózniającYm Pt i pg, gdzie pr jest rozkładem Niech prawdopodobieństwa na (Z2)t indukowanym ptzez (k' /)-generator BBS o funk7,
" "il istnieje
pojest jednostajnym rozkładem prav/dopodobieństwa na (Z2)t . Wówczas ef ł-a|gorytm przewidywania poprzedniego
bitu Bg dla /.
Pokażemy teraz, jak wykorzystać e f !,-a|gorytm przewidywania poprzedniego bitu Bg do konstrukcji probabilistycznego algorytmu odróżniającego reszty kwadratowe modulo n od pseudoreszt kwadratowych modulo n z prawdopodobieństwem Il2 + e. Ten algorytm A, przedstawiony na rysunku L2.7,llzywaBg jako podprogramu (lub wyroczni).
.8.zI n{unsdJ €u ,{utssldo ry ru1dro81e .r oł 1sa| + Zf 1 teruln"eu oc rudułror urrn1s -yetqopodoptytętd z a,ł\ołPlpe,łĄ,łd1zser eu arur*erdod y ru1d"ro81e qse1 e|nze>1srvl,
9'zT SINSZOIJOI/\Ą.I 'nure.rBordpod
-od uo vnfrzn.3.61 n1unsdr gu dtuęr,ue1spezrd eru.td1dzod qc,,(uor.tre1seu .9.7 a1erzpzorpod
.tr
o>1e!
ty
y
nu1dro81e oBerupazrd
o1le3
a}uol^tr
ur$ro81y
'aurrrdleBau qn1
qcdueze.trzoJ oIJBc ałuo6 rIrour1dr
-oBp op al.&JstJol.Ą\Icazrd ,u (qc,{rrlolc9ro1Yl qcduep qcfu1oru.op od 3rs 9r,tre|od ozoul ełto1pr.tre"rdatu 7per.łn.odpo) fiuyo.l,ynau ul1d:o31e o1 1se[ oz ,o1 vu Ó8e,r.r.n [ulco;n7 3 +T'lI lotuurlęu oc rudułlor luoł\lsualqopodoP1rrtsId z zper.,vrodpo Łunerdod elep oIJ€c ołuotrĄJ ndd1 tu1droBF (u)uo n (u)ub ;l r o8eu1o,u,oP €Ip (dirrr'o1s rur,,(uu1 fetuurfęu oc rudu,uor .'rfr-1syerqopodoprrrerd z zpelnodpo Łułrerdod oB
3+
zll
-ecblepod 'o1tep a]uo6 nd,'(1 nur1d"ro81e op rzpervro.rd ua1 >1u,{,,rr az ,zeta1 drn -o?tlld6 2 + 7,lI leturuleu oc rudu'łror ulo,ł\}suolqopodop.uerd z qcf,rrro1erpe.tiu1 lzsal po d1erpervr>1opnosd cgruzoJpo tsu?oru 1e| .elnzvr1od g'et oluozpJal,łlJ .€Iuozp
l
-IoI.ĄĄ'ł tszal vr1luf,tł' 1senuqcf1eu ?n! pŁ1S .z csot,Jr-lil. efnprrvrez.rd olu.tY\€Idod 061 ,{pB .dpayu oi1ld1 T dpe1łr zperrrr,odpo Łu.rłerdod elepod y tu1d.ro81e córru, ę
.Z
{tsupof
poul (u potu
")
: (+)
ł
'(")Eg 3 r dp8'r- qnl'(")Ub=l z dp8
.'(qzcq d.ł,o1e"tpe.Ąt>I 1e1setrlł.retd du.u913 oł.T : (#) 7 pour t, : b : d t bd, -
lne1ez.1
az
.vr1tud,u,
z pour (u pour ,r.tur'lrot
z-)
1se[.2
{q"t.pb1g u
.(u)ub
^\o{ullJer!\
Z
-
os
= 1_
Clg.1\Ąoo
(")ub (u)ub z qc,{ał.orcsfa.trt. rcso1re.tr' qcd.tr1zour qcr1 n =l -1sdzsrvr, ruepó18zrrr duezcffi or,r1suerqopodoprvrerd elzpł, l 1 7 1 farutueu oc tudu f -.ttoJ ula&}s9etqopodopłre"rd z errto1erpe.t>1 d1zsa.r a|nzo1srvr otu.ł.rerdod ,L.ZI nĄ ,y ur1d"ro81e sęzc1Y\o6 ./ 1|c>1uq o Sgg e.ro1eraue8-unsdr eu fuorrwe1spezld
-0.ą) ,lp
-e,rrrr1
0g qcalN 9.zT gINEzotIsI^Ą.l
n1rq o8arupezrdod eruełldpt,uezrd ueur1d.ro81e-a erzpÓq
nlrq o8arupoz.rdod erueru,r(prrrraz.rd nurlf .ro31e z ernolerp r(1zsa.r oBecbferu?9:zo.r nur1f.ro81e efc>1n.r1suox .Z.ZT }IgNnS/(tl
..(')H9 3 r.. zperłr.odpo aslo ,,(u)Ub 3 r" zpelrrtodpo luoq+ z: (6 poru z) g1 lv) (t-tz, . . .,oz)og : z zcrlqo (e) ( . . . (Iz zcr1qo .0s po cŁlnpe1s k) Sgg eJoł€Joua8 Łcourod pz l_vz : oz ztsJo u porrt er : os zclqo (r) (#) a?vĄts+.*uZ) r:a.tl.otcsla.rrr eueq Z poru os
I:
VANHS_VWNIq VWNTq AOTVEqNqC '8'67
9Lt
12. GENEROWANIE LICZB PSEUDOLOSOWYCH
376
Dane wejściowe: e Zn* , taka ze (il : I (1) wybierz losowo r ''e Zn* (2) z prawdopodobieństwem If 2, oblicz tr,
:
rt
:
r2tr mod rł,
w przeciwnym razie oblicz
-r2tr mod n (3) wywołaj A(",), uzyskując odpowiedź ,,QR'' Iub ,,ffi''
(4) if
or
A(rt) : QR oraz xt : r2t mod n
A(r') : ffi otut rt : -rzt
then
odpowiedz
else
,,jD
€ QR''
odpowiedz ,,r €
RvsuNpx
mod n
0ń''
12.8. Algorytrn Monte Carlo dla reszt kwadratowych
algorytmem typu Monte Carlo odróżniającym reszty kwadratowe z prawdopodobieństwem błędu równym co najwyżej 112 _ e.
DowÓD Dla
dowolnej liczby wejściowej r e
QR(n)UaR(?.) w kroku 2 algorytmu A1 pojawia się losowy element r| ze zbiorl QR(") U QR(n)' którego status
jako reszty kwadratowej
zrrarrry.
I
ostatni krok polega na wykazaniu' że dowolny (neutralny) algorytm Monte Carlo o prawdopodobieństwie błędu równym co najwyżej 7l2 - e moze posłużyć do zbudowania neutralnego algorytmu Monte Carlo z prawdopodobieństwem błędu równym co najwyżej ó, dla dowolnej wartości ó > 0. Inaczej mówiąc' możemy lczynić prawdopodobieństwo uzyskania poprawnej odpowiedzi dowolnie bliskim 1. Pomysł polega na uruchomieniu danego algorytmu Monte Carlo 2m ł I razy dla pewnej liczby naturalnej m i uznaniu za poprawną odpowiedź występującą najczęściej.obliczając prawdopodobieństwo błędu tego algorytmu, widzimy, jak m zalezy od wybranej wartości ó. o tej zalezności mówi następne twierdzenie.
TWIERDZENIE 12.7 Niech ,Ą1 będzie neutralnym algorytmem typu Monte Carlo z prawdopodobieńStwem błędu równym co najwyzej 7l2 - e. Jeślialgorytm A1 uruchamiamy n : 2m ! I razy dla tych samych danych wejściowych1 i wybieramy najczęściej występującą odpowiedź, to prawdopodobieństwo błędu dla takiego algorytmu nie przekraczaliczby (I
-
4€2)^ 2
o1r\ou€IIuolol1\\.tzo|pz
nultdJo8l€
,/$,oBolqozJd qcduzcoluo>I
€qzcll
c3l,/l1\
')/I r. g/I po .J {3J tałts}s
leułted ep (":9) lc vzcetnezld alu u' JsołJB,t etuper,uodpo az (cezv4dru. oupnr1er5 .9 - 1 le1uullgu oc urdurvr.oJ lua1^łsualqopodoprrre"rd z pu.uerdod erzpóq |arcgózcleu ely?tndÓpd,tr zper,uodpo ,f,zel 1 + u'lz v ur1droB1e dturruoqcn.rn r1se[ .sezcłro11 . (zlŁ: t)zaot :* | | 1 9oaol*I l gb t tz
ld
lul.ołe.z dzcre 1sf
s>
41
-#-n
{aunJ€.& duoru1ads 1dq dqe ,u't'cso1,teu' Ęe1 9e;qdn. vJa1vz drursntr41 .)_zll > 9 > g e7 !ap1v1 .9 rcso1re,u leurvred op np31q o.1ló.łsualqopodop,uerd cizstatuulz duacqc az ,ltulcsnd'fiztą
.vezv1['n oł€zal€u
l
,z -7;:JT
oc
>
('- ;/ -("'v - t) : -\ ,/ -\ : 9)
/
(,2 -:) -ze (t t,- '/-,.-\", :( -zz ('-:)T,/-\('*:): I/ /o\ I!t-
('*,l,\
u-:
T+u\ /
/
(r-9) ('+9)> r/-\ r/ \"/*,*-t -\
-\
/r\ Ę ('('* : :) 9) T/ -\ I/
,_-ył]Z/t)\")*,*-\ /
o\
/
1sa[
Z.l
-\
;J ,('* f) (;)
?_r+ur.('-
0:''
T
> (prrq)d
illx"ńt,d":illffJ ffi""jT#' .oBe1
1set qceqgrd ?,' .1'.\ Izpal.&odpo qcdu.ue,ooo .eupÓ1q pet ezs1sÓzcleu
au.lrrg"r
7perłrodpo
ez
o.Ą\łsuolqopodoprrrer4
('-e)(,+e)(') /
o\
/
ą\
I,/"\
,-r\
/c\
I/\u/
lazd.łrfpu oc au,t\oJ 1se[ qceqord u rrr tzpetru'odpo qcdurwerdod 2 alup€ł{op eruo1sdzn o,Ąl}suolqopodop.uer6 CI9/!^oo
vanHs-vwnTa-vwnTs EorvasNsc'
8'
zr
12. GENEROWANIE LICZB PSEUDOLOSOWYCH
378
Przykład 12.5
Załózmy, że startujemy z algorytmem Monte Carlo podającym poprawną odpowiedź z prawdopodobieństwem równym co najmniej 0,55, a więc e : 0, 05. Jeśli chcemy uzyskać algorytm Monte Carlo z prawdopodobieństwem błędu nieprzeI kraczającym 0,05, wystarczy ptzyjąć m:230 i n:46I.
Podsumujmy wszystkie redukcje, które udało nam się uzyskać do tej pory. Mamy następujący ciąg implikacji:
(k,!,)-generator BBS jest e-odróżnialny od losowego ciągu
e
f
!.- algorytm przewidywaniu pop.)"aniego
BBS
bitu dla
l
bitów
(k, l)-generatora
rr
algorytm rczrózniający dla reszt kwadratowych poprawny z prawdopodobieństwem równym co najmniej I12+ el( \r
neutralny algorytm Monte Carlo dla reszt kwadratowych z prawdopodobieństwem błędu równym co najwyzej Il2 - e l(. v
neutralny algorytm Monte Carlo dla reszt kwadratowych z prawdopodobieństwem błędu równym co najwyżej ó' dla dowolnej wartości
ó>0
Ponieważ panuje powszechne przekonanie, ze nie istnieje algorytm Monte Carlo dla reszt kwadratowych z małym prawdopodobieństwem błędu, który działałby w czasie wielomianowym, możemy :uzlać, że generator BBS jest bez. pieczny.
Koficząc ten podrozdział, wspomnljmy jeszcze o pewnym sposobie ulepszenia skuteczności generatora BBS. Ciąg bitów pseudolosowych powstaje w taki sposób' ze bierze się najmniej znaczący biŁ z kazdego wyrazu si, gdzie st : so2" mod n,. Przypuśómy, ze zamiast tego zkazdego sź bierzemy rn najmniej znaczących bitów. Poprawia to skuteczność generatora bitów pseudolosowych o czynnik m. T\zebajednak sprawdzić, czy nie zagtaża to bezpieczeństwu generatora. Udowodniono, żebezpieczeństwo zostaje zachowane' jeślirn ś|og2|og2n. Możemy zatem brać około log2 log' n bitów pseudolosowych w każdym modularnym podnoszeniu do kwadratu. W rzeczywistych implementacjach generatora BBS rr, = 10160, zatem przy kazdym podnoszeniu do kwadratu możemy brać 9 bitów.
Iua{dzs udul€buołod cÓr.ryr' 1set (l ,,)," - ń cso1re.tr qosods ua1 .tr' euerudz.r1o Bp?ę){.(l,r)x2 _ fr, nluezcl1qo I fL ) J Icso1ńoso1 nr1euered ezroqdrr.t eu e8e1od o3aunęl nłs{ot etuełloqdzg .nrua1sds o8erąe1 olu"ełtsIzp epŁ18dłr 4et o1o y
r
.auleluzgJpo-l Łs aru ,t,XdI,,Xddp곥zoJo1 .} ) zpJo X ",,,c9 ,r*r,d) ,r.rTI9ar.(fI= .ołJts1( qc141sdzsłr ruepó1Bzłr durezcr1qo o..(łsualqopodopłrerd o1) 2. 1set uazcnl{ e ,r 1sa[ urdułref luałs{a1 t1sa[ .urdue.uol1f,zsez ue1s1e1 1se[ ń ez,oBe1 ołl}s9olqopodop,tre.rd tszJvuzo (fr)".xa ul[zc'tztd, 1 ezlo1qz vu t'xdvr\\+sFarqopodop.uerd pe1>1zo.r duefnrugep r\y ) tszcnl>I
cL)
X
oBeu1oałop E|C .Dnłsyazcat'dzaq u,a.l1au,o.lod tuduo1e1sn etzp3q a qcet5 (6)
.(,, tcgoulg8ezczs
M)
'21
)
ł,
dp8 .(; ,*)X, l (l',x)xa ez ,pb,1s er1rudrvr' q o8aunel n1$la1 o8aulo.uop e1p
.t o8apzen\
,
d)
s: TIuT{€ł.rrue[c>1un;bs4<-
3
.dzcn1>1 =
Xe')l ) X
(Q'q)x')xp
)i Xp I)<-flxĄ: X2,a= X
o}ptsuod .etue.t.r.or;dzsep Ł1n3e.r Łufe1 1se[ 1set
a)
az
o8epzuątsIo
(T)
:I{unJl?.Ą\ ectfndó1seu euotu1eds bs
Xp.erue.uor;dzs Ł1n3ar buzcqqnd
r.zcrLlĄoBepzu>1e1p e .tcgołrosol .{!\oJłoule"red urerotqz }so| fL .qcdue .qcdu.te
btuezt1saztd 1se[ 1 łtol1,|zsez.ł\o}s{a} IuoJolqz 1se[ 2 [ .to.91s -{a} rrrololqz }so| d !ar9p1 łr ,(tL.a.3,a,).61) Łuełto>1pŁzrodn 3ą1sgzs tu1ortop fue.u.dzeu u,fiuzctyqnd uercnlq z u,fr,uzclo-tfioqdfi,"tq ulaunpfi,s utfr,uzcft?s?,IxqDqord
8'ZT
VfCINIdEO
.ercófod o3e1 e|crugep €uI€uIJoJ oło ntueuałe I l./Y\ołs{oł nuouol9a J{o eper.todp o due.uor;dzse z 1sąa1,.(uep dzc .ct1e1sn r-vzoul aru qcduelrol1[zsez A91słol qcd.ta.t1zoru olal.ry\ €ptsI.Ąodpo nureu .duzcd1stulluJo}ap etu e ,'{uzcfi1stTtqeqo;d -.t.eI r.uo1s1a1 nureupaI dparą rlcen1ds '11 .tt .tuduzct1qnd ruezcn11 z t1ctuzcgvłB qgsods rvr 3rs ertdqpo aruerrror;dzs qcdr91{ -o1ddr1 qcerue1sds 'u cŁu8Łrso Ioc uo} euzo1ĄI .(rudrr,r'ouerruolol.Ą\ olstszc rw) o8euem .
-ol1fizsez n1$Ia} tc9otuoleuz ar,tre1spod pu ur..(u.tteI alcs{ol o rfceurro;ut {oI1'ó'Ioł -|eRe| Bluaucllqo oluol.&qzotualun nloc €u €uI euzcd1sqrqeqold atue.tor;dzg 't;uiwell.otl[zsvz rua?s>loT urduepersod z >1ud.tl ctlnu,uorod 1 dumef 1s1e1 duzcdlolodtq ctfn;;dzs .[eru1o39 .99o1rerrr tuo1ser4o eu durrrpl dzc .9r1e1sn ozsly\ęz azotu 1s1e1 {Iuł\Icezrd .dq1qe1sn npnJl zeq .1 l|zc g eln1uazerder fi ,t.rci,lroq,|zsBz łs{ołdzc ątu.utcezrd llleryz ,(1)xa \ (o)>la c'fzu1qo gel1od frPvę>I .T qnl 0 : fr cóI/^ e .1rq uepal ce.łrorJdzsez duracqc r urduzcr1qnd uezcn1>1 z wfruzcgelBo1dd"rą uarue1sds duef -nuodsdp ez ..{rugsnddzr4 .dpo1eru tsIu€1viosols .uopo.uod z uepal eu duzr1edo4 .o8ar1ecrtr41 I eJoss€.&\ploc po lzpoqcod o8euzcd1sqrqeqord eruerlło4dzs 1sdrrro6
euzcr(1s11qeqo"rd aruuarorgl(
zS'
V' T,I
sNZc^ISITavgoEd sINu,MoEiAZS
6Lt
.
Ż,
ZI
12. GENEROWANIE LICZB PSEUDOLOSOWYCH
380
tekstu u. Własność2 w definicji stwierdza, ze tozkł'adu prawdopodobieństwa wszystkich szyfrowań tekstu :t nie mozna odtóznić od rozkładu prawdopodobieństwa wszystkich szyfrowań r, , 3dY r ł r,. Mniej formalnie, zaszyfrowany tekst r tak samo jak zaszyfrowany tekst r/. Paramett bezpieczeń',wygląda'' stwa e powinien być mały; w praktyce użylibyśmywartości e: cl|R| dla pewnej
małejstałejc>0.
Niech n _ pq, gdzie p i q sąliczbami pierwszymi, i niech rn € Qt(n). Liczby całkowite n i m są publicznie znane' natomiast faktoryzacja n: pe jest tajna. Niech P : {0, 1}, C : R: Zn*.Definiujemy
K: {(,,p,q,rn) i fl: PQ, p,q D|a K : (n,p,q, rn) określamy
pierwszą rn € QR(n)}.
e6(t,r) : rn'12 mod n oTaz
, ,^',-|0, cdy9€QR(") uxtul:| 1, sdyałQR(n). gdzie
r:
0 lub I oraz
r,y e Zn*.
RYsutvpx 12.9. Probabilistyczny systern kryptograffczny Goldwassera-Micali ego z klttczem publicznym
Na rysunku 12.9 jest pokazany probabilistyczny system kryptograficzny Goldwassera-Micaliego z kluczem publicznym. System ten szyfruje tekst bit po bicie. Szyfrem bitu 0 jest losowa reszta kwadratowa modulo n,,
szyfrem 1 jest losowy pseudokwadrat modulo n. Gdy Bolek dostaje element 9 e QR(n) U QR(n)' może wykorzystać swoją wiedzę o rozkł'adzie na czynniki pierwsze Iiczby n do ustalenia, czy a € QR(rr,)' czy raczej y € Qt(n).W tym celu oblicza
(Ł):1,7@_t)/zmodp.
\P/
Wtedy e e QR(n)
<+
(;) :'
Blum i Goldwasser zaproponowali inny, bardziej skuteczny probabilistyczny system kryptograflczny z kltczem publicznym. Przedstawiarny go na rysunku I2.I0, Zasadniczy pomysł probabilistycznego systemu kryptograficznego Bluma:Goldwassera z kbuczern publicznym jest następujący.
ufuzcllqnd urazcnlł z BJassEńePIoc-etunlg fuzcge.r8o1df.r1 uralsl(s l(uzct(lsrlrqeqord'OT'ZT xsNns^ll (l7, . ..,Ir) / > ? > I €Ip Z v1zb1ez po cŁzpoqcdl.ł..7z, . . .IIz zcllqo
.0s
?golrer't
:
er zc\qo (L)
+?ą:
ure1s>1a1 (3)
Ż lsal urduĄ€t
polou (?z
Sgg €Jo}€Ioua8
.l:0s Łcouod Ef (9)
oe
-
pour)
(d
og
pou) zq:
.(Ó
Iq
a?ą.|tęl
.qce1zser o tsIuozpJol1(1 oBeqsyrqc z cbręIs^zJo4,vp|euz (g) Ó
pour z,Itvg
d pour
:
l,Ilłg :
(t _ r) Po- *ł(nl(I + r)) : - 4 pou *a(Tl(r + d)) :
(r :ur1d"roB1e
zq zcqqo (v)
tq
zcIqo
(g)
zo zc\qo (Z) r?r
zcrqo
(T)
fcŁtndó1s"eu elnzr1ear ,fi, cbtr.l1fzsep .{olog 1pIoĄZ (r+ts
/>
?>
(?fr,, . .
.,tfi,)
I ęIp Zpoul
:
fu\
r
.?z , . . . ,Iz zcIlqo
łuaulalo
,*uZ
Sga
(.t
(l2
u potu v4vb1vz po cbzpoqcd
durefnr;dzs ,("z) =
tr)xa tnrugepz
ł ?r) :
,+rzos
:
gJo1gJouafi
?n
t+as
(7)
zcqqo (t)
zcllqo
(Z)
"l:0s Łcouod tsz (I)
:dcŁ[nd31seu qgsods
)
"t'
ru'
t (b,d,u) - s1 cbtnlntfizl1
u
b'd, 'bd,:
'{azsrrrrerd
:
(b'd'u)} :11
zplo *uZ: fL, *uZ x 7(óZ) : ) ł(Z) : 4 Ńn|:ut|tzł6 du[e1 1se[ : u P€łłzoI [o[ 1serruo1eu .aruzct1qnd eueuz 1se[ ?,ł ęłI,t\ołł€c ęqzcvl '(f po*) t : b : d'iludzsrtrerd rureqzcrl bs b t d etzpB'bd : ?/ qcalN ,
bd'
gNZcAISIIIavaoEd gINV1^oatAZS,
r8t
Ż,
ZI
12. GENEROWANIE LICZB PSEUDOLOSOWYCH
382
Losowy zalązek s6 służy do generowania ciągu l pseudolosowych bitów f|, . , . , Zt za pomocą generatora BBS. Wartości zi używa się jako klucza strumieniowego, a więc oblicza się ich róznice symetryczne z kolejnymi |, bitarni tekstu jawnego; w ten sposób powstaje tekst zaszyfrowany. Także element o numerze ! ł I, czy\i s!+7 :,02'*' *od n jest przekazywany jako częśćtekstu zaszyfrowanego.
Gdy Bolek odbiera tekst zaszyfrowany, oblicza so na podstawie znajomo-
ścis411, a następnie odtwarza klucz strumieniowy. Pozostaje tylko obliczyć różnice symetryczne wyrazów klucza strumieniowego z kolejnymi bitami tekstu zaszyfrowanego' by otrzymać w końcu tekst jawny. Należy jeszcze wyjaśnić,jak odtworzyć so1 znając s1s1. Przypomnijmy, ze kazdy wy|az si_1 jest głównym pierwiastkiem kwadratowym.wyrazu si. Z załozenian: pqip= q:3mod4, zatem pierwiastki kwadratowe dowolnej reszty kwadratowej r modulo p są po. Staci +r(p+r)/a. odwołując się do własnościsymbolu Jacobiego' mamy
(;)"."'^ 1.
Wynika stąd, ze r@+I)/4 jest głównym pierwiastkiem kwadratowyrI z r modulo p. Podobnie, rk+t)/ł jest głównym pierwiastkiem kwadratowymz e modulo q. Korzystając z chińskiego twierdzenia o resztach, możemy zlaleźćgłówny pierwiastek kwadratowy z
x
modttlo n.
ogóIniej, a(@ł7)/Ąż+1 jest głównym pierwiastkiem stopnia 2!łL z r modulo p, 6, a(ł+t)/ł)Ł*' ;est głównym pierwiastkiem stopnia 2!+I , r modulo q. Zwazywszy na rząd' Z,* , równy p - 7, mozemy w obliczeniu wartości 7(b+I)/ł7.+t mod p zredukować wykładnik ((n + t11ł1l*1 modulo p - 1' Podobnie możemy zredukować wykładnik ((ł + ts1l1l+1 modulo q _ 1. Na rysunku 12.10' po obliczeniu głównych pierwiastków stopnia 2tłI , s211 modulo p i modulo q (kroki od 1 do 4 w procesie deszyfrowania), użyto chińskiego twierdzenia o resztach, by obliczyć główny pierwiastek stopnia 2!ł7 , s711 modulo n. Popatrzmy na przykład.
Przykład 12.6
: Ig2649, tak jak w przykł'adzie I2.4. Przyjmijmy, że Alicja wybiera r :20749, chcąc zaszyfrować 20-bitowy tekst jawny Niech n
r:
11010011010011101101.
Najpierw oblicza klucz strumieniowy: z
:
11001110000100111010,
[
'.{ur,re! p1e1 dulo.trrerd cetuo4 eu
elnudz"r1o olctsllnzoJ 11 .o8auerwot1f,zsez nł$IołTuI€tIq z o8e.ltroruorurnJłs tszcnlł euzcdr1eruds actuzoJ Bzc.IIqo caruo{ gu r dłtoruonllnJls zcn14 [e[ alnrrtopnqpo lra.o1rq
er.ue1spod |et
eN
.nezb1vz ó|cl1y zezld d1'{zn .11udrrr elnurdzr1o 1se[ ur,fu9p1 (SOg
pour)
(e3e :rlcuan.rBuo1 np€Pln
po*)
ęluęzbtarzol op etndó1s.(zrd
9T,I =
Lg =
>1e1og
9ZI: : -
t09 poru ,rr6ELl6 D
Pour
"rrzs
r
r r zere;
zq
zę,lo
t8t
L9: potu nn"6tLl6 : d Potu
,rrzs
tq
'felec
: :
992 u8t potu ,296
: : :
,av(tl(r+b))
'987 z0g pour
voul
-4
po.oo
(r _ r)
,"92r
(,D
ZETO
(t zę,Io 96
: lG 1 v
pv(?l(1ł d)) :
tp
:€Tuozcllqo córrrr eudzcodzop .gzl : v lG + : u pełĄzol €uz {olog ercsr.udzco d) ez4e1 cór,rł .969 . t8t
.I.łro{Iog
6tLV6: zoIu..(IoJ €
n)
Ó1 e1dsdrrr r
?9o}J€1vt
rr
polu "ozs
-
rzs
zclTqo pto{Io g e |nzeąazrd dr9}r1 .
.
:
ttt0t0ttI0I0I0II1000
ź
:dueru.or;dzsez
1s4e1 'trt.91rq
qgsods ue1
rl.r
elnrudzr1g .o8au.uet n1sąa1 IuIB}Iq rrudule1o1 z n8trc o3e1 fzcl1 tp]p.l. .t,zl atzpv1niztd ał' 1e[ .1e1 arup€łłop
euzc,.(r1arufs ecruzol
gNZc^ISITIavaoad gINu,MoaiAZs
888
.
Ż'
Z,I
12. GENEROWANIE LICZB PSEUDOLOSOWYCH
384
12.5. Uwagi i bibliografia obszerne omówienie generatorów bitów pseudolosowych można znaleźćw książce
Kranakisa [Kn86]; warto także poznać pracę przeglądową Lagariasa [Lło0]. Pomysł generatora obcinającego pochodzi od Coppersmitha, Krawczyka i Mansoura [CKM94]. Gunther |Gu88] podał inną praktyczną metodę budowania PRBG z lzycierl;' LFSR. Metody łamania liniowego generatora kongruencyjnego opisał Boyar [Bo89]. Podstawy teorii bezpie cznych generatorów bitów pseudolosowych opracował Yao |Yn,82], który wykazał uniwersalność testu następnego bitu. Dalsze podstawowe wyniki można znaleźć w pracy Bluma i Micaliego [BM84]. Generator BBS jest opisany w [BB586]. Goldwasser i Micali [GM84] badali bezpieczeństwo problemu reszt kwadratowych; na ich pracy opiera się znaczna częśćmateriału w punkcie 12.3.I. Przyjęliśmy tu jednak podejścieBrassarda i Bratleya IBB88A, podrozdział.8.6], polegające na zmniejszaniu prawdopodobieństwa błędu neutralnego algorytmu typu Monte Carlo. Własnościgeneratora RSA były przedmiotem badań Alexiego, Chora, Goldreicha i Schnorra [ACGS8S]. Generatorami bitów pseudolosowych opartymi na problemie logarytmu dyskretnego zajmowali się Blum i Micali |BM84], Long i wigderson [LWs8] oraz H6,stad, schrift i shamir LHSS93]. vazirani iyazjrani [VVSa] podali warunek wystarczający do bezpiecz''ego wybierania większej Iiczby bitów w każdej iteracji generatora bitów pseudolosowych. Pomysł szyfrowania probabilistycznego pochodzi od Go]dwassera i Micaliego [GM8a]. opis systemu kryptograficznego Bluma Goldwassera znajduje się w [BG85].
Ćwiczenia I2'I' Rozważamy liniowy generator kongruencyjny określonyza pomocą warunku sl : (os'-1 łÓ) mod M' Załózmy, że M : qat I, gdzie o jest liczbą nieparzystą, a q parzystą, oraz niech b : 1. Wykaz, że algorytln przewidywania następnego bitu B;(z) : I - z dla i-tego bitu jest e-algorytmem, gdzie
1*.: 2'-
q(a+r) 2M
I2.2. oblicz pierwszych 100 bitów uzyskanych zapomocągeneratora RSA, dla którego n,
:
36863,
b:229, a
zalążkiem jest so
:
25.
12'3. Na rysunku 12.11 jest opisany generator bitów pseudolosowych oparty na problemie logarytmu dyskretnego. Załóżrny, ze p : 21383, elementem pierwotnyrn jest a : 5, a zalążkiem jest sg : 15886. oblicz pierwszych 100 bitów wyprodukowanych przez ten generator.
I2,4' Załóżmy, że Bolek zna rozkład na czynniki pierwsze n w generatorze BBS.
:
PQ \iczby
n lżytej
alzp?
'6LI:b\L9I:a ,e>llog urfuzcqqnd tuazcnPl ,bd - u 1sa[ .,tqzc11 !e1 ulap€ł{zoJ urfule1 € .16z0Z : 18TT5| cso}J€][ azrp1 1se[ o3aue'r.ror;dzsez n}$Ia} - u eqfcl.I .+e11n, .urfu1eurfcepes>1eq
łsa| t686z
blcgbzg.7.61
dc11qe1 ,rł. ,turer,te1spazrd
arsrdęz .tr łs{a1
oIIIa}s,(s .to. ouesrdez .ęcsforul tcsoupÓzczso e1p -ar {uzce1e1sg .urdu1errrfcap€$Iaq .oue.t.rol1'{zsez 8brc ue1 arud61se5 ..ĄAgłIq 08II 3Łrc cór.t.r 1e1s.ł' .1sąa1 dueru,{zr1o
e
.I00II
€ g e Z, ' -od .n1eqe;1e ,v\g{euz g27 z bls ł€p€ł{s fu,uel 1s4a; .00000 * y :q rcgoBn1p o 1(91Iq BŁrc ,lo' fuoc1e1zs1ezrd qgsods fu1ern1eu ,t.r ł€Tsoz nłoq€Jw rywz tp?n>I''urn1s1ar8ue l4(zót .łr fuesrdeu 1dq ,{ulłe! 1s4a1 du .ruduzcr1qnd ruazcnl{ z €Jass€1tĄ,Ploc_€unlg rrrduzcge:Bo1d.,fu4 atrue1 1eur8.{rg .dtu99nddzr4 .9.61 -sds ur.{uzcf1sqrqeqord iu dueltor;dzs€z 1s{al afnurfzr1o {alog oz .(Q'g\
1,,,
..
.Io0oo
npÓz.r 1se[ ,lu ?so+lar\\ ez ,ze>1 py
.l
("'v
-
T)zaot | -
L'ą.r):1ll
atzp8 'izet ru ur1.,{roB1e
cluloqJnJn fzcre1sd'rł. .zll >' + 9 alzp8 .9 op - zll z oIJ€c atuol^I aru1fro81e ' .g.zT ru{upr1neu lrt npÓ1q eirł'1suarqopodop.trerd ptuozslatuulz op ez ..{tu911tupo.ĄAopn
tgz.LzZ: I0f69: u ITsa[(ooootg .(,".... (os'€Iuaz]Ilqo
ę111323IIqo
'966LI : os zvto op dpo1aru [az,{.t leuesrdo ['{?o (q)
oBau[e1o>1 op qc.{uqazr1od gazouur 2 op n{unsołs /ń alu .ł z nrueu.ugrod aznp pef z.{pp)
-ezsda1n achzcęttz l.tnou€}s ercgtapod aI{€1 .ur.{uruutq nrcórur.tzor ,łr rvr9tlQ ą r:Iil u
uazouul tlz zaro (u)p opporu uazouul -re,łl, fau1o,top €IuozJIIqo
op ózparrvr
^\ ęqz)II az ,vbtfztd
ry6
TI9a|
.u oFpoul
os lc9ołJ€.Ątr z ?s Icgoł Łcourod z€ azoul 4e1og >1e| .[u9e$16 (e)
Ó1 9e1sdzror1dr'|A
urfu1erąsfp e1ur1fre3o1 eu r(1.redo JołeJouac .II.7I xsNns^ll '(7'ry) qce;leurer -ed o urdulenlsdp erurlfreBol eu rudpedo uatolereueB lset
'Zld > Pr tp? < n, ,tpa 7,1A
/
s"Bzc1{to6
'0 I _ ,. 'I I : '' atzp8
((vz
( -
.
.,zz,rz)
:
(or)
I
atudó1seu e
'd potu ,rD duretnrugap O < ?
uo1uoulala erzpóq
^2
EC
'
:
r-l?r
*dV lueusele duloru.op 1se[ 0r lul.at4zb1v7 'd oppotu udulo.ttrerd etzp3q d qcat5
qcalu t Łzsłlrerd bqzcq
Łr*ro1rq-ry
etuOzCttLC
s8t
12. GENEROWANIE LICZB PSEUDOLOSOWYCH
386
TABLTCA 12.4. Tekst zaszyfrowany w systernie Blurna4oldwassera 1866663F17FDBD1DC8C8FD2EEBC36AD7F5379sDBA3C9CE22D c949C7E2A5645550 139gCA6898AED22C346A529A09C 1936C6 1 ECDE10B43D226EC683A669 929F 2FFB9 I2BFA96A8302 1 88C083 46 1 19E4F6 1AD8D082gBD lCDE 1E37DBA9BCE65F40C0BCE48A80 0B3D087D76ECD 1805C65D9D8730B8D0943266D942CFo 4D7D4D 76BFA89 1FA2 1BE76F767F1D5DCC7E3F1D86E39A9348B3 E
Zadanie polega na odczytaniu danego tekstu zaszyfrowanego i odtworzeniu oryginalnego angielskiego tekstu jawnego' pochodzącego z the Hammer'' ',Under Johna Mortimera, Penguin Books, 1994.
:DIunJtsł\ ecŁlndó1seu Łs euoru1eds .n1o4o1old d1nBa"t efnzqee.r utsJals dp8 ',{pe1.t azsrr'vz IIgo! 'il o8eufdzdcep nurelqord r.Ip nponop uauuałsns tufiutńcs1ol,ayut, tlllLelllllzvu łołotoJd.ó1oroq zezld lącf,uolaTzpn lzpal'Ą\ -odpo po rcsouzolaz m'ocnz.tpo oqle 'atnydac o oB oqle ueJols npo \op ncyo{ 3N d1oroq rzparrrr,odpo I tsutsJałS erue1dd z órs epe11s n1oąo1o"rd €punJ e.uodd;
.BJaułJ€d op ?9oIIIopBt.łr tte1,.{sdłr (g) leruezcqqo eu1ervrdrd Łtnuo>1d'tt (6) lereu1red po csouop€rłr tteretqpo (1) :rcsouudzc ectfndó1seu óuętulz eu bfnu
.o4..Ltr ue;e15 I ts}oJocl dpun"r lapzęt s€zcpod .punr dqzcq [euo1e1sn z Óts epe1ąs .7perrlł'odpo-arue1dd ndd1 ure1oąo1ord erco1sr łr fcŁp3q .'(u[dcąera1ul p-o^\oo .(nure1qord o3e1 urarąped,,(z:d urdu.tltt1izod' 1sef r dp8
qdzc) ..4e1.. IIJJaJqvpalwodpo o8el9tł tsIp .il o8eul,{zdcap nue1qord oBauo19arąo rueqpeddzrd rudu198azczs erzpóq r .[erupe11oq .,D Ic9ous€1.tr [auo1e1sn fau.tred o .npo/Y\op o8au|dc1erełul uralac €u€Jats etueuo1azrd 1se[,e1oroq alqos €I.Ą\ts1s DI€I
.r Łłrorcgfełr Łuep Łteru efoqo n11Łzcod e5 .o8eufdco1runruo{ nł€ue>l o8eu.tted .qcd,ttosol qZcIT urero1ereue8 udu1e.tdrd Iuo.0&}clupolsod ez Órs Łle.tterurnzoro4 afnuodsdp qcITJ z opzęĄ e ,eruezcr1qo eu1e.t.rd"rd cezpenoldezrd Łpóq ue;e1g r >1et .e1oroq ouirr\oJęz .qcduzcd1sr1rqeqord qceu1dro81e o oąel n8foqo o 9a19dtu 1sat .eu1ezczsndop ez druafeufIl r'-Ife.J erupoBd16 .rlcąere1ur Serqezrd cesrdo o?Ąr.1- ę, .7r1e1sn .u.retdfęu durtsntr41 -e15 r Ó1oroq zazłd euęlt/ruo1d.u tsIuozcllqo err1ef 'I^\ou€JołS 9lupo.Ą\opn oł acqc I {}TBJ eu,uad €uz tsłoJoo .ul'fi,cbtozpmo.l'ds .u€Jałs I €łoJocl :dqoso el.ry\p uIIu .Ą\ ,bcbzpomop Łqoso 1se[ €loJoo 1set ue;a1g .alzp bzct.u1sezcn.npo.łtop ueure1sds udufdc4e.re1ur 3rs ,{ur[tu|vz na1bzcod €N
-o.uop o8e[ o rfceru.ro;ur €ruetu.ryreln zaq n}ł€J o8eu.ryrad lcso,ł\Izp1(tsJd o ero1n1o1 .eru1eturo;eru cŁtłro141 -ralul ?€uo{azldv1enzod fe.uorez dzperrrr o npo11rop ue1sds
aAopo^Ąop /(ure1s1(s au$cąe"ra1ul .T.tT
fantorcz ',bpaynt o ltponoq
TL
13. DOWODY O WIEDZY ZEROWEJ
388
Zupełność.JeśIi r jest pozytywnym przypadkiem problemu decyzyjnego fI, to Stefan akceptuje dowód Doroty.
Adekwatność.Jeślir jest negatywnym przypadkiem problemu decyzyjnego fI,
to prawdopodobieństwo akceptacji dowodu przez Stefanajest bardzo małe.
ograniczymy się tu do omówienia interakcyjnych systemów dowodu, w których obliczenia Stefana mogą być wykonywane w czasie wielomianowym. Nie stawiamy natomiast żadnych ograniczeń na obliczenia Doroty (llznajerrly ją za ,,wszechmocną'' ).
Zacznijmy od prezentacji interakcyjnego systemu dowodu dla problemu nieizomorfi cznościgrafów. Problem izornotficzności grafów przedstawiamy na rysunku 13.1. Problem ten jest o tyle interesujący, że nie jest znany zaden algorytm o czasie wielomianowym' który by go rozwiązywał', choć z drugiej strony, nie ma dowodu nato, żejest on NP-zupełny.
Dane Dwa grafy o n wierzchołkach: Gr : Pytarrie Czy istnieje bijekcja zr : Vt -
(Vt, EI) i G2
:
(V2, E2).
Vz, taka ze {u,u} e E1 wtedy i tylko wtedy, gdy {?T'(u),n.(tl)} e E2? (Innymi słowy' czy gtafy GI i G2 są izomorficzne?)
RysuNpx
l.3.1. Izornorffcznośćgrafów
omówimy interakcyjny system dowodu, który pozwoli Dorocie przekonać Ste-
fana, ze dane dwa grafy nie są izomorficzne. Dla uproszczenia przyjmijmy, ze oba
i G2 mają ten sam zbiót wierzchołków {1, . . . , n}. Na rysunku 13.2 opisujemy interakcyjny system dowodu dla problemu nie-
gtafy G1
izomorfi czności grafów.
Dane wejściowe: dwa grafy G1 i Gz, kazdy na zbiotze wierzchołków {1, ...,n). (1) powtórz następujące ktoki n razy (2) Stefan wybiera losową liczbę całkowitą i, : 1 lub 2 oraz losową permutację zr zbioru {1, . . . , n}; ob|icza H, obtaz grafu G, ze wzg|ędll na permutację zr, i wysyła gtaf H do Doroty (3) Dorota ustala wartośćj, dla której f/ jest izomorficzny z Gi, i wysyła wartość7 do Stefana (4) Stefan sprawdza, czy i,: j (5) Stefan akceptuje dowód Doroty, jeślii : j w każdej z n rund
RYsuNpx t3,2. Interakcyjny system dowodu nieizornorffczności grafów
...,{rB qce1n8ol.. ,{r. óIs IcsoIIu efcen$s erl€1 rua}tsZ ,Qrrtotuezcr1qo bcolll buozc -ruęr8ooru etnuodsdp €loJoo ez .>1eupa[ ,(ul91ótdzr6 .urd.ttouerruolel.&\ alstszc 1V\ fiu1ezblnzol 1se[ łro;er8 lc9ouzcuJoluozr ue1qord dzc .ruar'ttoq oluop€I1r\ aru .,{1or
-oo uazJllqo ns€zc }€Iuał €u 9tzpJalĄ\łs cru ,}s€Iluo1eu ,(ruozour als€zc łr 3rs Łfe,tdqpo ęutsJa}S €Iuozcllqo at>11sfzs,t.t. -oI.1\ó.
.nu1.(roB1e
99out€,ĄĄ{ap€
or51 .urd,uoueruro1
oz .9t19er1pod ope16 _Z ou,Ąd.oJ
ezprar,t,r'1od
oL
.
u
(tspn .€u"Jots zezld tącfueuołop p Ic9o}J€.ĄĄ o1 órs [e[ az .orrr1sgetqopodoprrrvr6 }sa[ ,tr,o.roqd.tr, u qcr>11sdzsłr Ó1oroq zeztd alcbtupe8po 1sef pgrvrop 1ełro1dec1eez ue; -ols fq 'o1 eu ruaqosods ul{udpef re1o1 Z 'Z :., qnt f - f, :ee.udpe8z rzper.trodpo folorvrs ru. >1e[ .o8auur cru córłt [e[ ele1sozod ału ,ZD lzc ID órdoą ŁuzcgJoluozl o{€| 11 ł€.Ą\opnqz uBJaTS [zc ,ctuoco dq .'t.t.e1spod €uI olu €1oJoc[ .Gc I ID |IIntsI -er8 eurotupdqo z iuzcqlolnozt elzp5q erue1fd o>1et eue;a1g zazł.d tuepod ,g;er8 s€Zc.Ąo6 'ZD z fiuzcaJolfiozl tsa! T' az .[ulzo1ez .'{uor1s |er8n.rp 7 .I .,{u1ednz
du1orvrop
-nęld z pg'!\op eln1dec1eez u€Ja1S l -?er{
o!,eD z ,(uzcglolllozr
1seI
uaĄ}sualqopodop 1sat 1o4o1o"td cÓr.tt 4ea ?9ou^\oJ euoru1ads erzp3q arzpunr lap ?
:
ap 1'
[
II9ar .Tc9ou}B.Ą\}iap€
I
lc9ouładnz I{unJe/rĄ.
^\ eru1eds npo.Ą\op rue1sds dufdc4era1ut f.uope1>1,.(z"rd ua1 ez ,g,|zennez o^\yvq
...
€]oJoo
['(kV Ip z urdupat) z [uzcgtostozt qcd.u.rlzoru efcelnur.red 1se[.ttourzgroluozl 1) t : H f7J€Jc '(t.gT 1eunsdr z4ed) {vz,t,z.pl.tI} : tg :uuf.tgpl 'Y' .(tg,A) ,,|tllzo1v7 lso!
;e.r8 ercoroq otnzvĄazld u€Ja}S
{vt,tz.vl,Zl}
:
Ig {v,t,Z,I} ,
1.. epet.trrodpo
n1o1o1ord olzpunJ !eu|a1o>1
:1
etzpB ,("g ,A)
:
u' az
'{vt'tt'Er'zr} :
óD I
(,g,l)
: I'
r(;e-rB
zg
I
qcoll{
1'gy pep1fzt4
y
'pelntztd dlso"rd o1o eupJals eruell(d r r(lo.roq
auzcgrorrrozrarN 'g'gT xgNns^tl
s'Moao^Ąoo AWqISAS gNr^cXvagINI, t.tl
68t
13. DOWODY O WIEDZY ZEROWEJ
390
13.2. Doskonałe dowody o wiedzy zerowej Interakcyjne systemy dowodu są interesujące same w sobie, jednak najciekaw. szym rodzajem interakcyjnego dowodujest dowód o wiedzy zerowej. To taki typ dowodu, przy którym Dorota przekonuje Stefana o pewnej własnościz, ale po zakończeniu protokołu Stefan nadal nie potrafi sam udowodnić, że r tę własnośó posiada. Taka koncepcja niełatwo poddaje się formalnym definicjom, zacznijmy więc od przykładu.
Na rysunku 13.4 przedstawiamy interakcyjny dowód o wiedzy zerowej dla problemu izomorficzności grafów. Przykład pokaze, jak funkcjonuje odpowiedni orotokół. Dane wejściowe: dwa grafy G1 i G2, każdy na zbiorze wierzchołków {1, ...,n} (1) powtórz następujące ktoki n razy (2) Dorota wybiera losowo permutację zr zbioru {1, . . . ,'}; oblicza H, obraz G1 ze względu na permutację r, i wysyła gtaf H do Stefana (3) Stefan wybiera losowo i : 1 lub 2 i wysyła wybraną liczbę do
Doroty Dorota oblicza permutację p zbiorl {1, . . . , n}, dla której fr jest obrazem Gi ze względlJ' ILa p, i wysyła p do Stefana (jeśliź:1, Dorota definiuje p:T;jeśliz:2, Dorota określa p jako zł'ozenie o i t, gdzie o jest pewną ustaloną permutacją przeprowadzającą G2 na G1) (5) Stefan sprawdza, czy H jest obrazem Gi ze wzg|ędu na p (6) Stefan akceptuje dowód Doroty, jeśIiI1 jest obrazem Gi w każdej z n tund.
(4)
RysuNpx
13.4. Interakcyjny doskonały systern dowodu o wiedzy zerowej dla problemu izornorficzności grafów
Przykład 13.2 : (V,Et) iG2: (V,Ez), gdzieV - {I,2,3,4}, Ey: {12,13,14,34}
Niech G1 oraz
E2:
{12,13,23,24}. Jednym z izomotfizmów z Gz na G1 jest permutacja
,:(4r32).
T:
Przypuśćmyteraz, ze w jednej z rund protokołu Dorota wybiera permutację (2 4 1 3). Wtedy zbiorem krawędzi grafu fIjest zbiór {12,13,23,24) (pattz
rysunek 13.5). Gdy Stefan formułuje pytanie i : 1, Dorotaptzekanlje mu permutację zr, po czym Stefan sprawdza, czy obrazem grafu G1 :f'q:rznaczorlylJlptzez permutację zr jest fI. Jeślipytaniem jest i:2, DorotaprzesyłaStefanowi zł'ozenje p- Too : (3 2 1 4) i Stefan sprawdza, czy H jest obrazem grafu G2 wyzrraczorryrrr ptzez p.
alu _ alcddJłsutsJłcęlllozsłe-! ozou (duul łol.Ąllo{opl qnl) ueJa}s oz .oł lsal [a.& -orcz,fzpevtt o npoaop gfclugep feuleuro; Bruazpr^r n11und zbzcrupesuz bałerdg '(("d '"?'uH) i' ' ' l(td (txtt77)
!(e
g'rC)) : t
:ce1sod ŁcŁlndó1seu dqe1eur rYro;er8 lcsouzJgJolu -ozl npo.Ą\op o8eufdc1e"re1ur o8euorrwe1spazrd t'eqtf.n a elcdd.rąsuer1 c3rrrr 4ea
.ye/d
erue.uoreue8 op €u€Jats
1eue3e1g r 31oroq
zoztd euętytfrzn ,fqzu1ełroso1 (g)
zeztd eue1f,sezrd rcsouroperł' er11sdzs'h |zD \ ID
Ąer8
(Z)
(1) :au€p
ectfndó1seu lecQferer,tłez ,t,tcdfl'"t,qsun"l'7 rce1sod .tt cgsrdo duezour npoał.op oBeu -fdc4ere1ur oIJ{tsJł 11t, €u€Jals ęIueZpI^\ elod .npo.ł\op erure1sds tudufdc1ere1ut łt ctzcru1sezcn .ue;a1g elnudz.r1o Ł.I91ą .tlceurro;ut larupe1r1op 3rs lt.;l-[.tzl(fzt1 .zD pu ID f r.ufzg;oluozl oluolzol€ u z I1{tou€ J a}S ?IlĘtsłn o1 o18oru ńq .euqopodopnerd o1eru 3rs efepdtlt' cór'u .npołrop alzpuu |epzgt .Ą\ o/r\osol I aluzol -tszolu oueJatqdał. Łs H ĄtsJD .ues 9dzcqqo e[ ezour .d1oroq dcourod efnqezr1od olu u€JołS l.t.o;erB qcd1 rrdo{ qcduzcgrourozr qcdrr.rosol €Iuazcllqo op oIY .(1zereu oTqo olu olts) H r'II óD oql€ fI tsu Ic vc1v1zsnaztd er911 .ólce1nanrcd zplo zc \ tp ru'o;e;8 g Ótdo4 buzcgtoulozr b,u'oso1 atudpal IzpI.ł\ npo^Ąop olzpunJ lapzgt lrt ,ID pu zgbcb[ezpe.trordezrd o ó|ce1nurred gdr4po ntu dqe1r1orrtzod er9l1 ,fzpe:.lrt loupvV e[n>1sdz aru'zg z f:uzcgtoutozr 1se[ rp ;erB ez'utf1 o dueuo>1ezrd goqc .ue;e15 ?9ło ilalł'orez ,|zpelu' o luopo/\trop ura1sds r1e1 dure.tł.,{zvu oaazce1-q
.rr
tsu
zp 1vt8 vzpvnotdaztd tsJg}{ .o rlce1nurred nrueru1sr o €uo al.,rt r1saf (tudłrouerur -olol.lrl' olstszc ,tr aueuoą.{łt. 9dq Ł8our d1oroq Bluaucllqo zaIuI,I|gJ ez .eu1o1sr o1 dqzct1 .u Ł[c>1un; rudc 1se| atu col1c,ze1 fulzvnne7.(c l,D.ł\ ^lo{łoqcz.retrrr -Łpeq) urdrrrouettuolol.ĄĄ alstszc rr.t eu1euo>1drrr Łs eue;a1g ęIuazcllqo erąpdzs,11 'u_Z our or 1se[ eue;e1g ueldd rrdoą lauzcgrourozr (fetrt
qc..tr'.t'oso1
u ercÓrupe8po o1{ttsgalqopodopner4
.lp n;er8
-oso1) teufdce{Iunulo{ alulseł pu orupsrddłr I l{c€pun.r qc,{ute1o1 ,u eue;e1g zez.rd qc,{ueretqdru' L lcso}Ięlł' atcórupe8po ounerdod pef eue;e1g olug{nzso eu d1oroq
,t
(cD
uoqosods urdudpet z trrzcAroruozr 1se[ aru lge! oz{tsupof '1 eurrrgr 1se[ €uęJots zaz.rd npoitrt'op etue.uo1dec{€vz o.&łsqerqopodoprrretd,cc z fuzcgtotnozt f,pB ez .?epl^Ą .n1o>1o1o"rd ?9ouł€.ĄDlop€ r 99ou1ednz crzp.ł.r.erds o.Ąr,łB? łse! T'
,{1oroq
Ąer8 euzcg.Ioulozl .9.8T xsNns^tl
rgfo|oagz AZagIlA o
r6t
gxVNo>ISoQ .e.tL ^oo1vĄoo
13. DOWODY O WIEDZY ZEROWEJ
392
lczestnicząc w dowodzie interakcyjnym tak aby ,,wyglądały'' jak autentyczne. Warunek - grafy Gt i Gz muszą być izomorficzne. Algorytm fałszowania (ang. forging algońthm) transkrypcji znajduje się na rysunku 13.6. Jest to algorytm probabilistyczny dział'ający w czasie wielomianowym. w żargonie teorii dowodów o wiedzy zerowej taki algorytm nazywa się symulatorem. Dane wejściowe: dwa grafy G1 ków {1, ...,n}
i G2, każdy na zbiotze wierzchoł-
(1) T : (G1,G2) (2) for j :7 tondo
(3) (4) (5) (6)
RysuNox
wybierz losowo ił : I lub z wybierz losowo permutację pi zbioru {I,. oblicz Hi, obtaz Gi, ze względl la pi dopisz (Hi,ii, pj) na koniec transkrypcji
..
,,}
13.6. Algorytrn fałszowania transkrypcji dla problernu izo-
morficzności grafów
Fakt, że symulator potrafi fałszować transkrypcje, ma daleko sięgające konsekwencje. Wszystko, co Stefan (Iub ktośinny) może obliczyć na podstawie transkrypcji, mozna ob|iczyć takze, lzywając transkrypcji fałszywej . Oznacza to, ze
udział Stefana w systemie dowodu nie zwiększa jego możIiwościwykonywania obliczeń; w szczególności nie pozwala mu samodzielnie że grafy ',udowodnić'' ' GI i G2 są izomorficzne. Co więcej, pokazując transkrypcję T, Stefan nie jest w stanie przekonać kogokolwiek o izomotfi'czności grafów Gl i Gz, nie ma bowiem sposobu' by odróżnić transkrypcję autentyczną od sfałszowanej. Powinniśmyjeszcze sprecyzować pogląd' że sfałszowana transkrypcja ,,wygląda'' tak jak autentyczna. Ścisła definicja odwołuje się do pojęcia rozkładu prawdopodobieństwa.
DEFINICJA
13.1
Załózmy, ze mamy interakcyjny System dowodu z czaserrr wielomianowym dla problemu decyzyjnego II otaz symulator S, także z czasem wielomianowym. Niech 7(r) oznacza zbiór wszystkich możliwych transkrypcji wynikłych w trakcie interakcyjnego dowodu ptzeprowadzanegoprzez Dorotę i Stefana na pozytywnym przypadku r problemu fI i niech f(r) oznacza zbiót wszystkich możliwych fałszywych transkrypcji, które może wyprodukować S. DIa dowolnej transkrypcji T e T(r) niech p7(T) oznacza prawdopodobieństwo tego, że T jest transkrypcją powstałą w takcie interakcyjnego dowodu. Podobnie dla T € .F(r) niech pr!) będzie prawdopodobieństwem tego' że 7 jest (fałszywą) transkrypcją wyprodukowaną przez S. Przyjmijmy T(r) : r@) i załózrny, że d|a każdego T e T(x) zachodzi nrQ) : pFQ).(Innymi słowy, zbiór autentycznych transkrypcji pokrywa się ze zbiorem transkrypcji fałszywych, a oba rozkłady prawdopodobieństwa są identyczne). Wówczas mówimy, że interakcyjny system dowodu jest doskonał,ym systemem dowodu o w,ied'zy zerowej dla Stefana.
'ouqopodopatsrd
o1/to}I€upo[ ozł€1 Łs fL 11'Ił[9Ił ol{Tsfzs1(I ,p 1et8 vIozP.l.b,tvzcP.uztt.n d r z oro>15 .(? Icgołrę,lt, po oluzol€zaru) euqopodoprrrerd omo>1eupef 1se[ d rlce1nurred qcd.rwq -zovl z epze1 n1peddzrd urd1 .óA zalul.Ioll .buop1sn - o ę .tał.oso1 Łlce1nrured 1sa[
ll etzp8 ,o o )L : d o+ ,7,: p II9o| azłtsuPor .o.Ą[osol Łuerql(n Łlce1nurrad 1sa[ .u e ,y: d n1peddzrd ur.{1 rrt zerteruod .euqopodoprvrerd oltrt'oąeupel pel d rlce1nur -rad ;u z Bp?uĄ.I : p dpc .2 csou€]lł' o/!ó'osol ererqdn' utsJałS o1 ez,Ńrlepv1nu7 '7: t [pB 'o r .u rlcelmurad qc.o.Ą\p o:.uozołz oąel zero ,I: ? 'tp8,st' o>p[ óts tsIsaDIo d ólce1nurre4 .l 1|ce1 -ntu.red Aztd IO n3er3 zerqo o{ts! f1 tszcllcło erud31seu e ..u 3fce1nrurod b.tir'oso1
eretqf.tr ezsłrrard €}oJoC[ -zcd1ue1ne 1se[ erąep
n Ę|9'ł Ł1-f .(i" . d
lt
-zEI^tspzpĄ.cazr1sods
npo^\op errrre1sds urduldc1ere1ur
,?, 1set (d
;rtcd,{r1suer1 |au
,o8e1o.&łsT'olcłopodop.ueld '11 H) q|qrł Euzv.I'l^ az
ua^Ą,łsualqopodoprrreld rud,l.r.o1eupal z efndÓ1s,,(l.r eąt9r1 eu t elzpunl leu1ołrop 6 orrt1e1 >1ef .erue,ttozs1e; nru1d"roB1e
'g 1efi oluzceuzoupef uzcęuzdt't d l t, lgo,['n ltpzv>1 ztpB ,iu . z : |21| elcyll,|zc6 .>1at9r1 lącltuzen qco11sdzs,rł. tqzc1 ,|71| PIueZcITqo po drueruzcez .Ąo|9J+ qcduze,rł qcr>11sdzs.t.r' loIqz Ez)ęuzo .d rlce1nurred ID luoz€Jqo e 1se[ fL qcoru lbuzom druer.ttzeu ót|g'r uryl 'Ęztd ({u|....I} nrorqz Łfce1nur"red pe| d .7 ,(d,?,H) rce1sod 'i7 QnI I : z etzp? ąe[ -9Ił u €JaI.Ą\€z (vttzs1u1qn1 euzc,,(1ue}nts) J e[cddn1sue.1,1 .,t\o{łoqczJal M ozJolqz ur,{.łlo1uaurelo-utsu tue;er8 turduzcg.rourozl €ulo.Ą\p bpbqzD I Ic IłcoTN o9./lĄoo
.€uęJałs e1p fa.t'orez dzpetrlł. o rueure1sds 1set r'r9;er8
lcsouzcg.roluozr nura1qord Ep
npo.4ó'op rua1sds du[dcr1e"ra1u1
T.8T
oINffzo1IoI/\Ą'J
.€utsJo+S e1p lern'orez dzpata.r. o ueure1s.{s urd1euo1sop 1sa[ łl.o;er8 rcsou -zcg;.oufozl nura1qo;d €Ip nponop ule1sds dufdc4era1ut oz ,ztsto1durupo,l.t'opn
ioI€cłI
|e[ eandqopz alu utsJa}s .1sa[ ..ezperru'.. ąe1rrr1o>1rudzc e1e , ,,frzpoln{. durelnrugep
eru qgsods uoł 1Y\ ozolu cdg .ttcddr1suer1 |e.udzsł€J tsIuozJo11t1d,tr op BJołBInIu -ds cbfprrldzn (ezrqop alu.lrt.gJ ol uo ozolu o1 .e1oąo1ord ,u n.u'1cru}sozcn ?|qorz ,oruezo1vz eupŁszor ul:o1ez 3rs etepd16 .n1 TI9a| o? tnÓtzp
7qolz 9oc azoul utsJo}s
o1o1ord tfcezqee.r aIc{€J} .lrt tsupJels zeztd bytqopz 3lceuro;ut bu1ed tsJal.&\€z e|cd,tn1suer+ o? ,?n| 'tugrTdzerlłnez .kt olę:rzpzol .rrł, drusqet.t'euro ero11 .e.tr1s -yerqopodoprvrerd npep1zor oBeu1eruzgJpoolu ercólod po ezslatu1ts e1e .euru.erąod ercó|od o1 1se1) .a1oąo1ord ,{\ ł€Izpn łtsJq utsJa}s otcstn''tzcazl o1 dqdp8 .Órs dq1r.tr -etod o1et .ulfr1 z tuduzcd1uepl ts,'(1sualqopodop.u'erd uepeł>IzoJ z efcddr1suer1 dcttnqnpord rolelnruds eferulsr dp8 'euu;e1g e1p farrlorez fizpatl.ł. o ureruelsds 1se[ (1-:ultzplel^\I 'tsuul.ĄĄod npo.Ą\op rue1sds dufdcąere1ut ez cdq ..errł'orez ezpoll:tlr,, ell,lo urdzc .tud1 o ercófod eu['(ctn1ut ezsuu e1rc.,(.trqcn elcrugap fqez.o1o 1eupot rzpoq3 .eqopods etwu'.fz Órs tueu >1e[ b.torez ózpeullr ?€.łtoluuopz fiulezoul eusef zcez5
rg'Moasz
868
^ZosI^Ą
o
^aolwoo
sŻVNoXsoC
.G'EI
394
13. DOWODY O WIEDZY ZEROWEJ
Z faktu, że transkrypcja składa się z konkatenacji n niezależnych losowych trójek wynika' że
arQ): pr(Ą:
--r_ (2.n)^
dla dowolnej transkrypcji
7.
I
Dowód twierdzenia systemie dowodu, wiern zł.ożona, gdy tak nie jest o wiedzy zerowej nawet
W przypadku problemu izomorficzności grafów Stefan może sprzeniewierzyó się protokołowi jedynie wtedy, gdy nie będzie wybierał wartości i losowo. Intuicyjni wiek będą
przyk
krypcji w trans ściii :
: 1 dla 1 < j < n, podczas gdy z symulatora prawdopodobieństwo przyjęcia wartorówne 2_n.
du będziemy mieli e7
my za pomocą pojęcia rozkładu prawdopodobieństwa. Oto formalna definicia.
DEFINICJA
13.2
interakcyjnego dowodu dla pozytywnego przypadku z problemu fI. Załóżmy dalej, ze dla każdego 7* istnieje dział'ający w oczekiwanym czasie wielomiano^9
z
n stwo tego, że T jest transkrypcją wytworzoną przez V* w trakcie interakcyjnego dowodu. Podobnie, dla 7 e F(V*,r) niech p".,v"(r) będzie prawdopodobieństwem tego, ze T jest fałszyw ez S* . Przyjmijmy,
T(V.,r) :
F(V*,r) oraz ?g Wówczas interakcyjny system zerowej.
v-(T) : pr,v-(T).
sgstemem o wiedzy
'ouł\oJ Ł. (z) *A,Ld |. (I)-^,Jd .,tałou€IluololrlĄ 1se[ ero1e1nruds etue1etzp €l/tłsgalqopodoprrterd dpe1>1zor eqo e ,9eze>1f'n' >1eupe| €uzotrĄI 'o3n1p oluozcyo{solu cęłelzP ozotu Joł !? csoułroJ euoru1eds erzpóq olu aTcuotuoru urdupez 1rt II9af stszc lupal9
-e1nuds ,!,9
ez
:
*.4 €IP irrr9Je.r8 lJgouzJg .2.8I xsNnsxll -Jourozl nrrre1qo.rd 1fcd.i(.rąsue.rl EIuB^Aozsłe; tu1r(.ro31y 1,.'
:
ue1sdre1s: (*1)ue1s cŁfntugap .*,1 lltoupo
J
caluo{ eu
!1' 111run
asla
(ld'!?'lH) zcbloP uarł+ !l?
:
(8r)
(zr) (II) (or)
!?
!!
(o)
!,? a1uv1,td:ąruA,w
(8) 1|B. Q..r(!,orc9te'tł. btlvp z *1 urer8ordpod te1ortd.tt (l) ld ęu npblBzll- ez ?c zetqo !11 zu1qo . . ..T} nrorqz td Ó|ce}nturad Łlroso1 zrorqdm (g) {,, (S) Z qnl I - [z o,tosol z.rerqd,tt (V) leede.r (g) (*1)ue1s - ue1s.,tre1s lnrugepz opuoł1= !ło1 (z) (eC'rC): t i) ,
-łoI{czJaI.ł\ az;Lolqz
eu tpzv4,ZD I Ic Ąer8 el.rp
{u''"'t}
^9{
:eałotcgfa.t eueq
'f'tr n{ -unsdr eu duerłle1spezrd npo1opnasd tcourod ez rlce1nurds nur1.{ro81e std6 */ uBłs dcŁzerq *1 ntuer8ord etue1etzp t1trrrqc .(-,1)ue1s ue1oqur.{s ,|ul.tzcęuzo |apcvĄ
M
.*,9 rlce1nruds ntu1dro81e srdo drrlo1gBazczs |a1zplvcł z€Jał 'trrrepod
.u1dro31e zaztd tącfuełr'dzn qcduuerruz qcr11sdzs./ń lcsolJts..j& f|+ pzceuzo ...nu€1s.. op ru11Łzcod eu Óts 1ełlopleuz ud.l9ł1 ,Ąt ..uts1s.. uIuIJo; dpunr lacbzerq .|z erue1dd óBn,..""pn^ords od duotruoqcnrn aru,lłouod ele1soz *,1 u1droB1e e .€uecnzrpo 1set e1t9r1 .eru r19a1 .rlcddr1suer1 !e.udzs1e; op aarr,ou e[npeBPo *^9
euo"cŁ1op "tn1soiięa,|p,lrł)n't|gr1,(*Azezrduduerlło1nporddłr) ./ dpu órs u.ttdr1od fe cso}ręr,r e1Órupe8po rl9ap at4e[ .9rzp,terds dq .*n ru1dro81e alnuoądrrr rudz (drto1s ruduu1 .alzpunJ buzBnŁ.uoso1 ofnrauoB *5
,,{zper.rrr
o ureura1sds tuf1uuo1sop pel npo.ttop
t,1'urc1ue1,tdz
arue1dd
d Ó1t9r1 erue1dd
oz .€ruatupo.1(opn
ure1s..ts
ocl
'((tsutsJołS e1p le.uo"rez .(et.t.r
frzpall.l- o nrue1sds o8e1euo1sop.. Łfcrugep z 3rs erra.dr1od efcrugap ezszdr*'od .o1peddzrd u,tu1o8ezczs 11 -:rlzcrLełr.llzp utsJołS dp8 1dzc) utsJołS o1 *1 dp8
rufuLoagz
968
^ZCTLĄ
o
^oo:y|oo
.Z.tI
sxVNoXsoQ
13. DOWODY O WIEDZY ZEROWEJ
396
T\MIERDZENIE
13.2
Interakcyjny system dowodu dla problęmu tzomotficzności grafów jest doskona. łym systemem o wiedzy zerowej.
DowÓD Zanwazmy, po pierwsŻe, że nieza|eznie od tego, jak I/* generuje pytania, prawdopodobieństwo tego, że wybór i7 dokonany przez S" pokrywa się z pytaniem i,i iest równe If 2. Tak więc średnio|icz6,, S* wyprodukuje dwie trójki na każdą trójkę dołączoną do fałszywej transkrypcji. Dlatego średni czas działania symulatora jest wielomianowy ze wzg|ędl na n. T[udniej będzie wykazać, że oba rozkłady prawdopodobieństwa pr,v-(T) i pr,v" (7) są równe. W twierdzeniu 13.1 mogliśmy ob|iczyć oba te rozkłady i zobaczyć, że są jednakowe - przy załozenil uczciwości Stefana. odwołaliśmy się wówczas także do tego' że trójki (H,ź,p) generowane w kolejnych rundach dowodu są niezależne. Jednakże |eraz, w innych warunkach, nie potrafimy obliczyć wprost rozkładów prawdopodobieństwa. Co więcejo trójki powstające w kolejnych rundach dowodu nie muszą juit być niezależne. Na przykład, pytanie przedstawione ptzez 7* w rundzie j moze za|eż'eć - i to w sposób bardzo złozony - od pytafi z poprzednich rund i od odpowiedzi Doroty. Aby poradzić sobie z t'yrni trudnościami, ptzyjrzyjmy się rozkładom prawdopodobieństwa na możliwych częściowych transkrypcjach, powstających w trakcie symulacji lub interakcyjnego dowodu, i na tej podstawie ptzeprowadźmy dowód indukcyjny ze wzgIędv' na liczbę rund. Dla 0 < j < n określamy rozkłady prawdopodobieństwa p7,y",i oraz pts,v*,j na zbiotze częściowych transkrypcji Ę, które mogą pojawić się na końcu rundy j. Zalulazmy, ze Pr,v-.n : pr'vi pr,v*,, : pF,v-. Jeślizatern potrafimy wykazać, ze oba rczkł.ady Pr,v",i i pr,v-,j pokrywają się dla każdego j, będziemy mogli wywnioskować stąd tezę. Przypadek j : 0 odpowiada początkowi algorytmu. Na tym etapie transkrypcja zawiera tylko dwa grafy, G1 i G2, awięc rozkłady prawdopodobieństwa są równe. Niech ten przypadek stanowi pierwszy krok indukcyjny. Przyjmijmy następujące załozenie indukcyjne: dla pewnego j ż- I rozkłady prawdopodobieństwa p7 ,V",j_I i pr,v-,j_t naT i sąrówne. Wykażemy, że równe są także rozkłady Pr,v-,i i pr,v- ,j na T i. Zastanówmy się' co się dzieje pQdczas rundy j interakcyjnego dowodu. Prawdopodobieństwo tego, że i|, :1 (gdzie i} jest nvtaniem sformułowanyrnprzezV*) jest pewną liczbąrzeczywistą p1, a wtedy prawdopodobieństwo tego, ze i,o :2 jest równe I _ p,.Wartość p1 za|eży od stanu algorytmu V* na początku rundy j. Stwierdziliśmy uprzednio, że w interakcyjnym dowodzie Dorota wybiera każdy moż|iwy graf fI z jednakowym prawdopodobieństwem. Podobnie każda permutacja p występuje z jednakowym prawdopodobieństwem' niezależnym od wartości pt, gdyz dla każdego z możItwych wyborów i|. wszystkie permutacje są jednakowo prawdopodobne. W rezultacie prawdopodbbieństwo tego, że j-tą trójĘ w transkrypcji jest (H,i, P), równa się p1fn| dla i : I oraz (I - p1)lnl dla
i :2.
Dokonajmy podobnej anaIizy symulacji. W każdej iteracji pętli repeat S* wybiera graf H z prawdopodobieństwem If n|. Prawdopodobieństwo tego, że
.(rrudzs.t.rerd IIuBqzcIT bs b t d atzpB ,bd: 1I olnpolu) qc,,itło1erp€1ń{ }zsoJ €Ip .[o^\oJaz lerrtorez 1rzpellw o pgł\op d1euo>1sop durerrrte1spazrd g.g1 n{unsdJ €N
dzpeuo' o.ł\gpo.Ą\op qcd1euo>1sop łr9pe14dzrd qcduur e>ilD1 zBJaT 1':.n,|zco1,bt1 .lt1o?azczs..ń clzpoqc.Ą\ n1 druezratru€z alu ole .farrrolaz dzpar,rrr' o uapo.trop ru.{1
-€uo{sop
Órs 1e1s
dq .'rł.o;er8 lc9ouŹcgJotuozl
pg.Ąop cerrro>1gdporuf Ąę+
ęuzolN
.ólcddrąsuer} c€AozsłeJs aluts}s
1r\
.euqopodop.terd Órs elepfn eru r le,uoraz ,{zpar,lrt o uraue1sds 1fq .ro1epruds dq (arutdcrnlur) cdq elelsazrd nporvrop uralsds tlcenlds !e1 6 '119dud.tl, eru ures ,(q .utaurzgroulozt nu er.ttodpo .{p8ru eru1ezczsndl|zld I łtsuz olu fetugezc.tt o3ar9}4 €łoJoo .npo.trop arrue1sds urdufdcąera1ut ,rrr. erue1dd ouJa}łęJeqc rrr ,g n;tr8 o3a1 etfzn ue;e1g z€Jo1 II9af .uldJgu z .et1ń oru uał oI€ ,zc \ ID alo;er8 z t:u.,|upe| z f,uzcgłoulozt g 3er3 I1vtou€Jo1s e.ttnspod Je>lso {ru1ĄIcezrd duceqoqoazsił zse-Il ov .4eupe[ durcsnddzr6 .oł\osol ue1dd uo ererqd'tł. eru dp8 .dpeyu. 1e.treu larrroraz /.zp luało{o1ord efe1sozod 1oąo1ord.e' qnl rp ł.o;er8 erdo>1 euzcgroruozt o1e[ -oI1ń o
.[e1eq .(orl.r.oso1 auererqfłr aząe1 erue1dd-,(;er3 elorrłs fizto/ifl1u€Jałs ez ,cb,tma[.tzrd (?p nJtsJB órdo>1 Łuzcgrourozr erue1dd tcŁt,tłou bs 6: ? I I: ? Icso}J€.& :oofzc fizld -e1s Łpzer1 o.Ąrosol ererqd.łt qdzc) 1o>1o1ord erurer.tr elnztper u€Jats r1se[.le.t.rorez dzperrvr o ruopol(op 1sa[ porrrop eV 'ceze4(1'1^ oupnr]olN '.tt-oyer8 IcsouzcgJoruozloru nure1qord €Ip nponop r,lł'oure1sds nrueuldcąe.re}uT ap1€ł óts cazillzld ołJ€711
t
-gor1
Por^'oP dzc oc'auzcdluept b.'(Z) .A'Idr. (J)-^'Jd qdzc'e.tlsrlerqopodop11erd,tpel4zor
l"qo az.dtutsou'v' .3[c4npur cŁtnso15 .atues aDI€ł bs f, .{pun.r nclJo{ eu qcelcddą dpe1ązor eqo az.cÓr.u Órs efnzts)1g
-suer1 qcd,uorcgazc eu €..1tFgaTqopodop.ue.rd
.iu/(Id-)
ouĄgJ pel qt9r1 |e1-[ o>1e| rfcddo1suer1 op (d,?,H) ęruesrd.tt o.|1rłsgolqopodoplrrrerd :aruzcr8o1eue durelnurnzor z: |p n>1peddzrd e1q
#:( .rfcddrąsuer1 ,rł Ę|9rr
*ł* i-,)#
t1-f pet (d,p,H) ez,o8e1 o.tlsgalqopodop,uerd
au/,1tgl
łsot
cÓt.tr >1ea
.iu.
ł7'
rd
ou.ł\oJ 1set 1eede.r q1Ód
rlcere1t !e1-7 e1c>1er1 11t pI|gJ+ !e1-.f o4e! (d.p,n) rlcddrąsuer1 n eruesrdez o.tr1s -qerqopodopł\€rd .Td aulAoJ łsa! . *-,1 uraroqfirł. zoIu/llioJ 1se[ 1 az .o3e1 o.tr'1suatqop -odopmerd ,t,a7|n,trusqtzprarr'r.łs ł€r .l: Ip 1epeddz.rd łlretdleu /..vtzenzop .ollu9tsł eu auesrdez olu€}s {z olu cru 1eade.r 113d rlcera1t lauep leu1o.troP M ZlI ua^\}suolcłopodoprrrerd 2 .tsł|9J1 e1-f o>1e! rlcdńrąsuer1 rrt elnd31sdrt (d,p,n) rfcen1ds t1c,t1 z |opłe'r łt 'ZlCa 1) eu.tror tsal'Z erueldd ateyez *A I Z : lz az'o8e1 o.trlsuarqopodop e '?,lrd, eu1tfrgt lsof '*.zt zeztd uttluepez urerueldd 1se[ 1 etusezcoupel r 1 : f2 -rvrsrd
rsl{oagz IZastlA o
L6t
^ao1
0a savNoxsoo
'6'8r
13. DOWODY O WIEDZY ZEROWEJ
398
Celem Doroty jest udowodnienie, ze r jest tesztąkwadratową. W każdej rundzie generuje ona losową resztę kwadratową y i przesyła ją Stefanowi. Następnie, za|eżnie od jego pytania, odpowiada mu pierwiastkiem kwadratowym a|bo z y, albo z ry. Dane wejściowe: liczba całkowita n z nieznanym rozkładem fu: PQ, gdzie p i q są|iczbami pierwszymi, otaz r e QR(n) (1) powtórz następne kroki log, n tazy: (2) Dorota wybiera losowo u € Zn* i oblicza
a:u2modn
(3) (4)
po czym wysyła y do Stefana Stefan wybiera losowo liczbę całkowitąi:0 lub 1 i przesyła
ją Dorocie Dorota oblicza z:
(5)
'LLL?J
mod n,
gdzie u jest pierwiastkiem kwadratowym z syła Stefanowi wartośćz Stefan sprawdza, czy z2
:
tr)
po czym prze-
ł:ża(mod n)
(6) Stefan akceptuje dowód Doroty' jeśIiw każdej z|og,n rund obliczenie w kroku 5 daje wynik pozytywny
RysuNpx
13.8. rnterakcyjny doskonały systern dowodu
rowej dla reszt kwadratowych
o wiedzy ze
Taki protokółjest oczywiście zupełny' Przystępując do dowodujego adekwatności, zauwazmy, żejeślir nie jest resztą kwadratową, to Dorota może odpowiedzieć tylko na jedno z dwóch możliwych pytań, gdyż a jest resztą kwadratową wtedy i tylko wtedy, gdy ra nią nie jest. Tak więc Dorota zostanie przyłapana na oszustwie z prawdopodobieństwem If 2, podczas gdy prawdopodobieństwo oszukania Stefana we wszystkich\og2n rundach jest równe tylko 2_loszn :7f n. (Liczba log' n rund wynika z tego, że tozmiar problemu jest proporcjonalny do
liczby bitów w binarnej reprezentacji |iczby n, a tych jest właśnielog, n. Widać, ze prawdopodobieństwo skutecznego oszustwa maleje wykładniczo wtaz ze wzrostem rozmiaru problemu, podobnie jak w dowodzie izornorfrcznościgrafów o wiedzy zerowej).
o tym, że system jest doskonałym systemem dowodu o wiedzy zerowej dla Stefana, możemy się przekonać podobnie jak w przypadku problemu izomorficzności grafów' Stefan może wygenerować trójkę (a,i,,), wybierając najpierw i otaz z) a następnie definiując a
: zz(ri)-r
mod n.
-ez
Azpa1nt'
o|tsp 9
.fdnrBpod oP lc9ou?al€wAzld nrrre1qo.rd e1p felrro.r .oT.8I xgNns^1{ o nPoł\oP ure1sr(s r(u|r(c>1e.re1u.r r(1euoąsoq punJ u zao1 z tapzv4.ĄA łIudnó, dułrd1dzod DIoJł ..(\ aluozcllqo ITSaI(dłoJoo p.o]\&op a[n1dec4e ueJals (s) (u pour)Ld = ,,tD tzc'ezPttetds ue;e1g
tsutsJa}s op
17
(S)
e1dsdłr t
,d"Bo|_
ą
aap8
,vpo,ną?+[:u ł€ oJoo tszcllqo
tf e1dsdłr I I qnl
6
-
z t1rrwo11ec
(r)
d1o;oq op 3qzcq onosol ererqdłt utsJałS (e)
ęutsJols op ź e1dsdrrt ul'tzc od'
't €zDIIqo
.I -/}
.' > o
.f o/[osol
poul
sD:
t-
G)
erarqd.t.r
"loJo6[ :[zęt uu3o1 rąo.lą audó1seu zrgyvrod (1) ,D
d1ueur €Iu lr etzpB . *uv ) d v pbzt iuęuz aluzcl11ld *uZ ^| -olo ouzgJ €^\p zBJo ?,c €łI.lv\o}tłtsc tsqzDII ęIuł€pop :arlł'otc9[eru' eueq
r(dn.r8pod oP !c9ou?oFu'|złd tualqoJd
(1a
zaztd. feue.troraua8
.6.8T
pel *uV tdnt? ddnrBpod tue]uoruolo
xsNnsłll
i
ttzc
'tlł
e1r.tro>11ec eqzcq eleru1sr dz3 aruery{6 -ó1s rulduu1) L,P : d "qvĄ,+.ry 'V pbzt *uZ M eru o atzP8 '*uZ ) d'a ouzoJ €1(rp ztsro 7I U a}I.ł\o{ł€c dqzcq alu}€pop al1tt'C[ aIIBo
..t1ueura1e
rsto\o\gz AZCsrtol o
66t
gsvNoxsoq 'z'tr
^aol^oo
13. DOWODY O WIEDZY ZEROWEJ
400
Na rysunku 13.10 przedstawiamy doskonały dowód o wiedzy zerowej dla tego problemu. Analiza tego protokołu przebiega podobnie jak w poprzednich omówionych tu przypadka ch. Szczegóły pozostawiamy Czytelnikowi.
13.3. Schemat wi4ż4cego bitu System dowodu izomotficzności grafów o wiedzy zerowej jest bardzo interesujący' ale przydatniejsze byłyby dowody o wiedzy zerowej dla problemów uznanych za NP-zupełne. Teoria dostarcza argumentów wskazujących na to, że nie istnieją doskonałe dowody o wiedzy zerowej dla problemów NP-zupełnych, możemy jednak opisaó systemy dowodu o nieco słabszej własności'zwanej obliczen,iowq wiedzq zerouq. Istniejące systemy dowodu tego typu omówimy w następnym podrozdziale, tu zajmiemy się metodą wiążącego bitu, kluczowyrn narzędziem w systemie dowodu. Przypuśćmy, że Dorota zapisuje wiadomośćna kartce papieru, po czym umieszcza ją w sejfie (którego kombinację zna) i ptzekazuje sejf Stefanowi. Choć Stefan nie pozna treści wiadomości przed otwarciem sejfu, zgodzimy się, ze Dorota pozosta je nią zwiqzana, poniewaz nie moze jej zmienić. Z kolei Stefan, jeśli nie zna odpowiedniej kombinacji, nie jest w stanie odczytać wiadomości, o ile Dorota nie otworzy mu sejfu. (Przypomnijmy, ze w tozdzidre 4 użyliśmypodobnej analogii do przedstawienia systemu kryptograficzne1o z kluczem publicznym, jednak wtedy osobą, która mogła otwotzyć sejf był odbiorca wiadomości, Stefan).
Załozmy, że treściąwiadomości jest jeden bit b : 0 lub ó : 1, w jakiśsposób zaszyfrowany przez Dorotę. Tę zaszytrowaną postać bitu nazywa się często kleksem (ang. blob)t , natomiast metodę szyfrowania okreśIa się mianem schematu wiąż4cego bitu (ang. b'it commitment scheme). ogólniej, schemat wiążącego
bitumożnaokreślićjakofunkcję/: {0,1}X X _+Y,gdzieX iYsą zbiota_ mi skończonymi. Szyfrem Ó jest dowolna wartośćf (b,r) dla r € X. Schemat wiązącego bitu powinien być (mówiąc nieformalnie):
Tajny. Nieza]eżnie od tego, czy wartości b z kleksa f (b,,).
b
:
0 czy b
:
1, Stefan nie może odtworzyć
ZobowiąnĄący. Dorota
moze w późniejszym czasie',usunąć'' kleks, uj awniaj ąc wartość:t uzytą podczas szyfrowania' aby przekonać Stefana, iż to właśnie b było zaszyfrowanym bitem. Nie powinna ona jednak mieć moż]iwości uzyskania z kleksa obu wartości 0 i 1.
JeśIiDorota zechce zobowiązać się co do ciągu bitów' po prostu zobowiąze się co do każdego bitu z osobna. ISpotyka się również określenie ,,obiekt bitowy', (przyp. red.)
.(7 poul)g : d qc.{zs.trl..rerd qzcr1 €Ip ouolupo./u,opn tcso1srrrr,{z)ezl M.ttuzcetdzeq 1sa[o8au1er{sdp ntu1dre8o1 1rq dcŁzceuz letuurfęu r8nrp o1 ,*oz Au1ezbli"tzotetu ^ o1rloruazcllqo 1se[ o8au1eo1sdp nu1fre8o1 ue1qo"rd a? bĄel .Qzs.m.rerd bqzcq 1sat (f pou) t : d llgof oq'Z'f g nplund z drulruruoddzr4 .o8eulanlsdp nurldreBol enu -e1qord eu r(1redo utazę,l tud1 ,n1rq o8acbzbtn n}tsuaqcs pep1dzrd duur o1o y 'aruBluoluluop afon.s tu.uęfn >1e1og r1ef .urd1 od ęIuq;Pz cluonuz ozolu olu elcT1y a7 ,vzctsvzo .dctlnzQutł'oqoz uo ,+Ąq-J .ź a? es1ep1 erłre1spod €u q lcso}I€.Ą\ 1se[ }stsIruo}tsu .gtu.uad€z .g cf,zcqqo alu€ls 1r1. eru oZ nl€ u aqcs eru,ttrefn T słol{ 1se[ {alog 99oute1 .T./ló,ołIoB €1[Insn etcqy ,(peyu' e .g cso1"rerw etnpe8po cÓr,u' e .nurer8nrp {alog z€JaJ o3 atnzv1eztd r ń sr1e1ą oBeru e1p z € cllqo .g 1rq orvr,oso1 erarqdiu. .ę|cIV pe1ądzrd eu .e3forrrp z oupar .n1rq o8ectzbrłt 1eueqcs 1set n1erue1dp oBe1 z urercs[d,11 .ryudrrr o1tzp.ł,erds et8nrp e .t1euotu ołIcnzl eruzcltzg, qcru z oupef dq .arrł,r1zour 1se[ aru ez 'tszcęuzo oc .otqots po ołoltsp 3ts Łlnpfeuz e1e .Ł1euour n1nz.r o8ełroso1 eriue1spod ,l|lllzo1e7 .uota\a\ zazl,d b1auoul, no+nzJ vu ótzfrcep tcqc r1a1og €icTIY ez 9Łtpod l op olcl/!\outstlu 3 .atu€.rltosołs€z o.&rts{olc auul aDItsl 1eupe! euo Łtetr,1 .fełt'orez dzpar,u' o l\lopo,ł\op al.ł\opnq r'o. au1epdzrd Łze1o n1rq o8ecŁztr,tt d1eureqcg Órs
.(")ug ) uI uloluazołez z auzcofrds '(u stszcr
ol]l^
pou)
"(rrrzr):
aly '*"2 ) ztr,rr (u potu)
1se[ oc
u,
qc.{urrred e1p
!r: [ru,
dpał.ĄĄ .olu oz..{urcsnddz.r4 iicbtnzbtnoqoz ryet .tzg
.du[e1 córn' .(ZI o|ęIzp,o.r .t fiust1erłletuo oł o>1orazs) 1so[ 1errraqcg '{u1ezbwtzotoru olultszcllqo 1se[ qcdirł'o1erpe,tul łzsar ura1qord oz tuol{unJts,tt pod .r oSeu.uef n}słol IcgołJ€ / |lt rfceu.ro;ur |aupev cŁlęrurvreln aru .1 oq1e .0 oqlp o r rc9ou[e1 Iluelcsousgł.ry\ p€u ztsJal bs t|ulteul'tzt1e7
e,tdr1n s{olx .€ru€zb1ntoqoz
'1r poru
u€Jałs
.r
"rrul
:
fi
az'svrc Mo M rzprrte.rds I q lcsolJę'łl ru.łrefn .ń ctunsn Óts afnpdcepz BłoJoo .te1u79d dpp .n
1sef urasąe11
:@,q){
-
fi ezcqqo I J'
o/!\osol ererqd.,ll,
€}oJoo
cso}Jts.Ą\ Apoł^1'
.g cso1re.łt
'u poru
cttnr;dzg
zrqu: (r'il1
zvto
*uV: A: X
dtueur n1rq o8actzŁI^\ elc€Iuaqcs tudzsęu ł\ .B}oJoCI o>1d1 euz bd, _ ,u pePIzoJ dp8 s"ezcpod ,oueuz eruzcr1qnd bs u-t, tLI a}Ił.o{łtsc ttqzu1.(")ub ;l u-t,6qzu1zerc b t dt1cfizsrii..rerd qzcr1 qcdułrad e1p bd: u bqzct1 uIIu ..r| dfr-eru az .dufruurod -ltzl4,v.71 e1erzpzorpod ryr duęsrdo o8aqecrtr41 eJassB./\\ploc ,{uzcge.r3o1ddrą rue1 -sds duzcdlsrTrqeqord cdznlsod azotu nlrq oBecbzbtn nletuoqcs rlcezrleer oq
nrra oDsc?z?Uvt lvwsHcs 'g'tr
r0v
13. DOWODY O WIEDZY ZEROWEJ
402
ze do rczwiązania problemu logarytmu dyskretnego * Zo* można użyć dowolnego algorytmu typu Monte Carlo dla problemu drugiego bitu z prawdopodobieństwem błędu równym Il2 _ e dla e > 0. Ten znacznie mocniejszy wynik daje podstawę do zastosowania schematu bitu wiązącego. W tym schemacie bitu wiążącego X : {7,...,p - I} otaz Y : Zp*. Drlgi najmniej Znaczący bit liczby całkowitej r, kt6ry oznaczymy symbolem SLB(z)., definiujemy w sposób następujący:
SLB(Ż)
: I 9' t 1, f^
gdY gdy
Schemat wiązącego bitu
r :0, 1 r: 2, 3 /
(mod 4), (mod 4).
określimy teraz tak:
łlL ^\ f a, mod,p, gdy SLB(z): J\D,fr): t oo_' modp, gdy SLB(r) l
ó, ó.
Innymi słowy' wybieramy ]osowo liczbę, której drugim najmniej znaczącym bitem jest ó, podnosimy o do tej potęgi modulo p - i to jest szyfrem bitu ó. Zatwazmy, że SLB(p _ r) + SLB(z), ponieważ p:3(mod 4). Schemat jest zobowiązujący, a jak wynika z powyższych uwag, także tajny,
pod warunkiem, że problem logarytmu dyskretnego jest obliczeniowo nierozwiązalny w Zr*.
13.4. Dowody o obliczeniowej wiedzy zerowej opiszemy tu system dowodu o wiedzy zerowej dla NP-zupełnego problemu 3-kolorowalności grafu przedstawionego na rysunku 13.11. W systemie dowodu korzysta się ze schematl wiążącego bitu. Dokładniej, zastosujemy schemat wiązącego bitu opisany w podrozdziale 13.3, oparty na szyfrowaniu probabilistycznym. Zakł'ad'arny, że Dorota zna 3-kolorowarie Q grafu G i chce za pomocą dowodu o wiedzy zerowej przekonać Stefana, ze G jest 3-kolorowalny. Bez utraty ogólności możemy zał.ożyć,ze wierzchołki grafu G stanowią zbi& V : {1, . . ., n}. Niech rrr, : |El. Do opisu systemu dowodu.użyjemy schematu wiążącego bitu / : {0, 1} xX ---+ Y, który jest znany publicznie. Tym razem chcemy szyfrować
Dane Graf G: (V,E) o n wierzchołkach. Pytanie Czy istnieje wł,aściwe3-kolorowanie grafu G? (w języku matematyki, czy istnieje funkcja / : V(G) ---t {1,2,3}, taka że jeśli {u,a} e E, to $(u) ł Ó(,)z) RYsuNpx 13.11. 3-kolorowalność grafu
.,,t1oroq .p eruervroro1o>1-g oupe| dqgoqc tsuo €uz o11Ą 19a! Bluozcqqo 1e[ eruqopod .urdlłougttuolal.Ą\ olŚBzc irł Órs Łte.trdqpo €utsJołS I€ uazcII
.e1oroq IzpIoIlńł >1e[ .et4e1 Qs -qo er41sdzsrrł ez .dru1ge"qpod .auzgJ Łs dro1o>1 dzc r .rqor o1 ts}oJoo .rzpÓrrter>1 leuerqdrrt acbzbtt"l' ,tyq 'tzc.ezp.łte.rds utsJots urdzc od leu.ued urd.uocuo>1 uołłoqczJalrvr dcbfeper.uodpo sąe14 e13unm dq .!e1u
o..lr.osol
faarlo.rez r(zpega,r
ferloluazcllqo o
n;er8 1cgou1e/ńoJoloł-g nponoP ure1sr(s r(ufr(cąe.ra1ul .zT.8T xsNrrs^ll a|tsp 9
pun.r zul
f
|ap?vĄ
nłoJł aluozcllqo rlgaf.d1oroq ^\
n
1
t
1,
s )
n,
(
rr.t
7,
nc
(
I, n
ac
(o'o) I I
(O'O)
(s)
(z'nxtt'a'1
(z'na
t r, ac) + (z'b r'nc) ,fzc'vzptwtds ue;e1g
(Z'
(
n 1 t t'
c) I.t'ou€Jo}s
(Z'ug
r
af
(
e' oC
e1.{sdrr.r
t'u, (''' (l't.t,
o.Ą\osol e.rerqd.tr ?,ł > p
(
z'
rA
(
r'
(
I' aC)
(s)
I
ts}oJocl
floroq
(r) (e)
I'A)
e1dsd.tt |z,I : ! l'rc) ! : .c'tg X ) ó,?J,t'p.t f|
I
€zcllqo \
€.Ą\p
ątud,u. du,tł.,(1dzod
pg'!\op efn1dacąe u€Jo}s
((.c'nr(l'ac)l
Z'I: ! ((!'nr(l'nc)! - .c'nA : !'nE Z'I : ! (7,.
(z.
op Łt e1'tsdłt \
{a.n,} 7p'Óneq o..lr'osol eratqdru' ueJo}S ó1sr1 r.uoue;e1g '
-uouala
> 1 o8epze1 e1p arudó1seu Z'Ętl'?xl
-
?xl
e,tlp rcso8n1p o drrro1rq BŁrc o1e| lc efnsldgz
:
((t)Q):t
I
tc
elnrugep ?/ > ? > I Ep |{s ,7,1} nrctqz.u ólce1nrrrred -oso1 ererq..tlł' €łoJoo lp ryer8 ualuęłroJolo>1-g atzpóq p
o,ła.
qcetu
:frzet
(z)
audópeu zrgyrtod (1)
rr1on1
{t'"''T}
"u'l
(g,A)
1Ao)IłoqczJalł\ azJLoll.qz ęu
: c;er8
:a,uorc9[e.Ąl
aueq
po epbz u€JołS .p erue.uoro1o>1 oSeuo1e1sn Łfce1nuued }sat aJ9}ł .etue.uoro1o1 op oc órs afnzbt..(toqoz tsloJocl .qgsods dcŁlndÓ1seu rlł' duervrozr1eer uo 1se| .Dtrłloul oIuIęIuJoJaIN .zI.tI n{unsfr gu duretne1spezrd npołlop ura1sds dufdcąera1u1 'rf tfc>1uq Ń;ueln4fzsvz nJolo{ po{ tsu órs qcdcŁteptsł{s ,|ńg}Iq qc91Ąp z ,tpzey.II ołtsf stsz t Jolot .0I ołę! (dro1o>1 zca1 .,{1tq eru ,tulozsldpz z IoIo{ .I0 l-etlq €uo^\p I JoIo{ drurdt1sez u7awf
rsfu|oagz
t07
rgIAoINgZcIIao o Aoo'Ąoa
^Zogl1t
,Ż.8I
13. DOWODY O WIEDZY ZEROWEJ
404
Popatrzmy na bardzo prosty przykład.
Przykład 13.3 : (V, E), gdzie
Niech G
v : u,2,3,4,5) otaz
B:
{12, 14, 15, 23, 34, 45}.
Załozmy, że Dorota zna S-kolorowanie /, takie że rG) : I, lę) : Óe) : 2 Ó(5) : 3. Przyjmijmy takze, iz schemat wiązącego bitu jest okreśIony wzorem l@,r) : I56897br2 mod 321389, gdzie b: 0, 1 oraz tr e Zsznag*. Przypuśćmy,że w pewnej rundzie dowodu Dorota wybiera permutację zr : : (1 3 2). Wówczas oblicza:
i l(3) :
Ą:L :3 cJ:2 cą:3 c5:2' cz
Otrzymane kolorowanie zostanie zakodowane w systemie binarnym w postaci l0-wyrazowego ciągu bitów 0111101110,
dla których zostaną obliczone odpowiednie kleksy. Niech wygląda to tak, jak w poniższej tablicy:
I (b,
r)
0
r47658
176593
1
318856
205585
I
r4497 285764
1
189102
294039 230968
1
128589
0
228569
77477
1
53369
305090
1
194634 202445
276484
1
0
17756r
292707 290599
Teraz DorotaptzekanĄe Stefanowi dziesięó obliczonych w ten sposób wartości
f
(b,
r).
..ł\.oJ€JS
lc9ouzcgJoluozl npołlop nruałsds BIp qctsul}dJo81e qc,tuqopod eu
Órs Łlnroz.tr €Iu€.Ą\ozSł€J
dur1dro81e
eq6
.rtcddrr1suer1 qcd.ttdzsłts! E|uozrolrt1 op
nruer8oldpod oSau1errvreupo oąet *,4 nru1fro81e fcble.ttdzn ro1e1nuds cts.{\opnqz .uu;a1g d.łł'rczcntszJe1r\ld1r\ reuzout.rrrto1o1o1ord Órs ez.rorn.aruazrds ue;a1g dpg .efcddr4suer1 eirrr,dzs1e; dcŁfnraueB ru!fu or91ą .qcd1 po els ocbluzol olu lufzclu .etuezo1lo po Ńnttuzce7 -o31e durepo4 .etcddr1suęJl cts.Ą\ozsł€J €uzotu >1e[ ^ 'lzl oPlzPzor 1!& ru^u
-olgeJ{o ersues ,tr) eultsIuzglpoolu o.&loutsIluo1er.tr eru,'(pef 2dq Ł8oul rlcddr1suer1 ,bctu1ol b1 z ,bttlio;ez 3zperrrr €,Ą\lsyolqopodoprrterd dpe1ązo"r eruper,uodpo eq ąe| .bmo"t,az bzpazm bmot,uazcl,|qo buvnz .dqcec fe1 Ólsre,u Łzsqe1s {€} b| druelnrugeq enleupet elnluerer*8 'le.ttolaz dzperrrt o rueruels,{s ]so[ olu npo^\op uralsdg
.€Iu€1rtoJolo{-t €IuazJo/t\łpo nloc,tr r fceuro;ur qcfuer1sdzn tsIuozcbł ,ulo1ez órs efepdłr .auełro1nurlad Łs dro1o>1 olzpunJ Icgo.ltlllzoru tsIu alu u€Jats zt .rzpó.terą feu.t.red rrto1 tppqq,16 d1o"roq e1p acbzbtn r euervror;dzsez orupezrdod -łoqczJol1Y\ qcdlrrocgoą dro1o>1 ouzgJ €,ł\p ztslo D n;e.r8 erue.tl.oJolo{-t auetlto4fzsez .euep eudpef .fałroJaz ,rtzpet.t.r o o1 .nporrlop alzpuu lauep ł. utsJo}s IzpIł\ aJgtł .urarue1elsn z€Joł ars durlrurle2 npoł\op urarua1sfs z p,luer.u.tzc op frueru dzc .ozcrupe1>1fał.
.Ic9ouł€.ł\łapB fitnezotll oBezc z c€ ' Ąrołsolu1/t zalu./r\gJ o 'ouL' 1 u e.Ip u,, leuual:ulz
eraz op tcup |a| pŁrs
:
}
-(el7) elc1ung t - l) .q,Ą,+.
< *(* l lz l t -r ) -@ l z) > "-(ulluałez .oo op fizbp ul' dpB .,_e op dztp eqzcq eteru1sl . oul,
u-t, q-lp a
-(*ll -
otu €+I^\o{ł€c
.otuoper11 t) ec
.*(?
-')
śqzcr1 ezcvl1ezrd eru qc€punJ t7cl4+s,tzs.Ą\ o.&\ Ó1oroq zaztd ellv1e1s tsIuolnzso o.tłsualqopodoprrte;d tilewz |u, luał\łSl}olqopodop.trerd z vpbnvtn Ęe1 cerqd,u Ósuezs "lu f 1 terulnrgu oc tu'{ultoJ , €Iu utsJołS .JoIo{ ru€s ue1 Qteu I zęlo z ecuo1 [er9}1 tz vpbnvtn eupal leruurfeu oc ?oru}sl Isntu tsIu€^roro1o>1 o8eu1o1!lop €Ip n1pedfz.rd ludł 'ĄĄ i,{u1ervro;o1oą.g dp8 .p.o,uop eln1dec{eez u€Jols ez ,oBa1 o/l\1slJolqopodoprrre.rd 1sa[ 1se[ etu Łuoruryredez ula1ez drueu .1 rrrarrr.1suerqopodop.rrterd z fuzęnvz al{€f .99ouładnz ' ueJa1s npo^\oP qceua1sds qcduer.treuro orupazrdod łt 1e! ąea
p91'\op €uzn
.tuasoc{ns Órs ,{zcgoą npo/(op epunl ts} {€} I .ł\osłoPlqcoJaTz) csouzeu [ .g nro1oą tuopo>I .ru1pŁzrod ,rł }so| ózpr're.rds utsJo}s erudÓ1se5 1se[ o11sdzs.Ą\ Iuołtsz .6 ro1or1 a|npo>1 0I 8tlc 'euzo.r Łs f.ro1o1 fzc,ezpnretds łlrardleu ueJołs 11 8Łtc
'Gtgvot't)'(ogegg't)'(ogggzz'o)'(ogggzt't) :eue,lło4pŁzlodn dred ['ta1zc
I.óA'ou€JołS
:
("'q)
ulo1ę,z eru.ue
.7 l,Ą\o{łoqczrerrlł ecbleperirrlodpo €ł\p I t l,Ąó'ołłoqczJolrrr ecŁleperrrrodpo eru'p .!a1ep [ulv91v7 f.re1zc ts/r\nsn tsloJocl dp"t6 .y2 vpblrstąo e1dd u€Jols a7
[n :.{s
->1a1>1
rsl^ougz
s07
^ZogI^Ą
fg1^olNgzclTao o
.Ż.8I
^aot6oo
13. DOWODY O WIEDZY ZEROWEJ
406
T\t rozpatrzymy tylko pierwszy przypadek, tj. Sdy Stefan wiernie realizuje protokół. TYanskrypcjaT w interakcyjnym dowodzie 3-kolorowalności grafu ma postać (G; At;
..
.t
A-,)
,
gdzie Ai składa się z 2n kleksów obliczonych przez Dorotę, krawędzi ur,l wybranej przez Stefana, kolorów przypisanych wierzchołkornu i u przez Dorotę w rundzie j oraz z czterech losowych liczb lzytych przez Dorotę do szyfrowania kolorów tych wierzchołków. Fałszowanie transkrypcji odbywa się zgodnie z algorytmem przedstawionym na rysunku 13.13.
Dane wejściowe: graf G
:
(V,
{1,...,n} (1) T: (G) (2) for j:Itom2do
(3) (4) (5) (6)
gdzie d'1,d'2,€1,e2 € {0' 1} wybierz losowo element rź,j ze zbioru
j:r,2
dla 1 śiśnorazj:I,2
( f (t,n,i;, : \ f (di,rti), I lki,'ti),
:
e1e2,
X dla 1 śz śn,
zdefiniuj gdv i' I u,u gdy ź: u gdY
i:
u
doł'ącz
(R',',
..
., Rn,2,
l.1,,
D, d1, d2,
na koniec transkrypcji
RysuNox
zbiorze wierzchołków
wybierz losowo krawędź {u,u} e E wybierz losowo dwa różne kolory d: dtdz i e
Rl,j
(7)
E) na
7
r dJ, T d,2, €L, €2,
r
",1,
T
",2)
13.13. Algorytm fałszowania transkrypcji dowodu 3-kolo-
rowalności grafu
Wykazanie, że system jest systemem o (obliczeniowej) wiedzy zerowej dla Stefana, wymagałoby udowodnienia, iż oba rozkłady prawdopodobieństwa na transkrypcjach (utworzonych przez Stefana w wyniku udziału w realizacji protokołu i wyprodukowanych przez symulator) są nieodróżnialne. Nie zrobimy tego tutaj, ograniczymy się jedynie do kilku uwag. Zauwazmy, ze oba rozkłady prawdopodobieństwa nie są identyczne. Dzieje się tak dlatego, że niemal wszystkie wartości Rii w fał'szywej transkrypcji są kleksami ukrywającymi 1, podczas gdy w rzeczywistej transkrypcji są one (zazwyczaj) szyframi bardziej równomiernie rozł'ozonych bitów 0 i 1. Można jednak wyl
duorls feue;nez' lalceztl po gvr1sdzn e| fze1vu oq1e .ue3e15 cfizcqqo lc9optsnĄ o1 uerutrrtod oq1e o3e1e1q .u, fqzcq o8elrr'o1erperrt{ g{ls€I/\{Jald tug .u dqzcq npe 1r1zoJ Iuts 9euz euuralod alu tsloJoo Ufozel rud; .(tue1erp€^l{opnasd o1dq ?,u, olctstuoqcs urtupazrdod ł' ez ,durfruruoddzrd) (u)E$ ) U qcalu l b zęto d qcdzs.tuard qzcr1 qcdu.tr'adv1p bd : u qcet5 .qcd.rrro1tsJp€.ł\{ łzsoJ altuolqord gu óts eratdo (nguz) }tsuoqcs .{zsao,ret4 'rrr,o;erB IcsouzcB:
-IoIuozI ntua1qord tsIp olo{ołoJd .tr łlo1eualłcs l{cP1tsl etcf,ztt elcuelu1esuo1 durep -eqz ure1od ln1rq o8actzŁr.u ,r.lg1eureqcs ndd1 o3e1 n1p1 nsrdo po ,|ult1uzce7 .rud,tłouerruo1er.łt .(p f,p8 u € o uuz n1er3 oIu31(IoJoIo)I-t .zerrtatuod .forusezc,ta' dtusqrzprer.tł'1s oIS€zJ ./r\ ats Łzczsetur d1oroq €Iuozcllqo 1e[ 'uerupnrln qcd.uo4lepop o1 elnporrtod eru ercolsr ,11) 'uldruouerurololrlt arsszc rrr ars 9e,r.r'dqpo bzsrtut
d1oroq tsIuozcllclo arr11sdzsal' az,'tulatultfzrd .fe'łlorez,tzperłr o eru
-€,Ąt'olunzo.r cbtezetzog d1oroq dcourqcezs.t.r o nluazołęz urdlrlos"ezcqcd1op rudzs po nluoluzoJ -eu o e1Ótured Łrcsoułred z 4tu1e1t{z3 .lamoraz f,zpatll^ o ^Ą'opol!l'op -po lrt. - tamol'az frzparm o D?,uDno1unzo.l onet l7cfiueuz łt91o1o1ord op o1 TzpB^\oJd .qcf.toruezcrlqo yozoł€z ęBgurd,tr. csou1en.{zŁr./^oqoz łstsItuo1tsu .errroąunrerrl.zeq
1set 99oute1 |ar911
'lt
.rlcen1ds
.Ąl .Ą\o$IaPI
atc.tzn l.&ouełs óuerupo 3n'er1et3
'qcdrvroruezcrlqo
.Łrvro1unJts.1(zaq Łqcac 1sa[ 29ou1e.udz vazołpz qcdurvred po iza1ez csoufe1 a1d1 o .alo{otord .tł. qcd1dzn .&osłal{ Ic9ous€ł1rl po. iva1ez el tszIIBuY -brir.loqoz cdzro.tr1po nure1 qótzp 1 n1o1o1ord
aI o
.olu€11toJolo)I-g
.n1rq o8ecŁzbrał' ,tł Ó1oloq zaztd aueu'izn .{sąa11 9e.uor;dzspo fq1ge"r1od qc€Iu€J .ezsrrrrard t4ruu.{zc tsłlp €u nł ł€uoqcs ?tsulr.łz Órs nru oł€pn {al.&Ioł,'tperą dqdpg -npou np€PIzoI ?vĄlzs dq139ul u€Jołs .qcdrrro1erpe/&{ lzsal erue1qord eu ,{pedo uo 1dq dqdp8 .pe1>1dzrd €N .}tsuaqcs uIIu .łr\ ,|1,|zl celnv1z 9eitoqord nluozcuo{ez .nłIq o8ecbv o8at od azoul u€Ja1S .b1o"roq z n1o1o1ord rlcezt1eer n cbzctu1sazcn .e.łnoruezcr1qo o|uozołpz au.uad -trlrł, n1eueq)s o1(}suozcordzaq etct,uouellll "e 1se[ .n1o>1o1ord auqezr1od lemorez dzpar.u o p91tlop o1 1sa[ zt.,vtuezęĄ[./1l op IaIo)I 7 r rcgou1ednz eruezo1d.tr op auqazJlod ts etu tslnIozołtsz o.ĄAo{łępoP Icsoul€^Ą{op€ .le.uorez ,|zpewt falł'oru oupę,Z,o|r.lzpzorpod urtupezrdod ltł euesrdo ,(1epoz er911 -ezcqĘo o n;er8 lcsoule.ł\oJolo{-t npo/ló.op lcsous€łr'( errtorte1spod du|nurnsrcar2
fam.o.raz z(zpayn
'iu.o;erB
Icsoul€.&oJolo{-t
ualqoJd
.ł.r'
o alure..laotrrnzoll 'g'tT
du1ednz-dN IIIaIqoJd
ru'o
olłouelluolol^\ clc
lelzs4ezrd dzcrelsdll 'nuelqord oBeolel oBauur o8eulo.uop e1p fe.torez dzperrrt o cer1s.{zn fiutozolll .o3eu1adnz-451 nue1qord o8eupef e1p fe.tłorez dzper.u o .errrt
Pg^.reop
qcfu1ednz-dN .lr.rgule1qord órroa1 dctfeuz >1tu1e1dz3 Pg^|op cb|vu av .p l c 1pe| .p ro1oą qcdcŁ|n1uezarder qces1e1ą eu e,rł1sgerqopodop,tlerd np€ł{zoJ po du1eruzgrpoeru 1se[ JoIo{ qcdctfn1uezerdar
'
rsltoagz IZogr,M o grNvl Ownzoa
Ljv
'g'tr
13. DOWODY O WIEDZY ZEROWEJ
408
X :Zn* i y: QR(n). f (b,") : *br'mod n. Niech
Definiujemy
Jak poprzednio, Dorota szyfruje wartośćó, wybierając losowo r i ob|iczając kleks u : f (b,n). Teraz wszystkie kleksy w Schemacie są resztami kwadratowymi. Dalej, każdy element y e QR(n) jest zarazem szyfrem 0 i szyfrem 1. Istotnie' zał'ózmy,,e a _ 12 mod n i rn, __ k2 mod n. Wtedy
A:
f (O,ir)
:
/(1,
xk-L modn).
Oznacza to, że tajnośćotrzymuje się bezwarunkowo. Co się natomiast dzieje z zobowiązywalnością? Dorota moze odczytać dowolny kleks jednocześnie jako 0 i jako 1 t.tedy i tylko wtedy, gdy potrafi obliczyć k, pierwiastek kwadratowy z liczby m. Tak więc zobowiązywalność będzie zapewniona tylko wtedy, gdy przyjmiemy, ze znalezienie tego pierwiastka jest dla Doroty zadaniem obliczeniowo niewykonalnym. (Gdyby Dorota pozostawała wszechmocna, mogłaby to' oczy.wiście, zrobió. To jeden z powodów, dla których zakładamy teraz, ze ma ona ograniczone możliwościobliczeniowe)' Drugim przykładem schematu wiązącego bitu niech będzie schemat oparty na problemie logarytmu dyskretnego. Niech p będzie liczbą pierwszą, taĄ ze problem logarytmu dyskretnego w Zp* jest obliczeniowo nierozwiąza|ny. Pruyjmijmy ponadto, ze a jest elementem pierwotnym w Zo* i 0 e Zr* .Tej ostatniej wartości, czyli B, nie powinna wybierać Dorota, lecz Stefan albo może ona pochodzić od zaufanej osoby trzeciej. W tym schemacie X : {0, . . .,p - 7},Y : Zo*, afunkcja / jest zdefiniowana następująco:
f
(b,
")
:
gb
a" mod
p.
Nietrudno stwierdzić, że schemat ten jest bezwarunkowo tajny oraz ze jest zo. bowiązujący wtedy i tylko wtedy, gdy zna7ezienie logarytmu dyskretnego |og.0 jest dla Doroty zadaniem obliczeniowo niewykonalnym. Zał'ożmytetaz, że jeden z tych dwóch schematów wiązącego bitu stosujemy protokole w dla 3-kolorowalności grafu. Widać, że ptotok1ł zachowuje zupełność. Teraz jednak warunek adekwatności zaLeży od zał'ozenia obliczeniowego: protokół
jest adekwatny wtedy i tylko wtedy, gdy schemat wiązącego bitu jest zobowiąnljący. Czy zachowlje się także warunek zerowej wiedzy? Dzięki bezwarunkowej tajnościschematu wiązącego bitu protokół jest teraz nie tylko protokołem o obliczeniowej wiedzy zerowej, ale już doskonałym protokołem o wiedzy zerowej.
Mamy zatem doskonałe rozumowanie o wiedzy zerowej.
o
tym, czy \epsze jest rozumowanie czy dowód, decyduje konkretne zastoso.
wanie, podobnie jak i o tym, czy warto czynić dodatkowe założeniaobliczeniowe dotyczące Doroty i Stefana. W tablicy 13'1 podsumowujemy własnościdowodów i rozumowań. W kolumnie ,,dowód o wiedzy zerowej'' załozenia obliczeniowe do
tyczą mocy obliczeniowej Doroty; w kolumnie
odnoszą się one do mocy obliczeniowej Stefana.
''rozumowanie
o wiedzy zetowej,,
.łg{ołoJd Łfnz11ear aluJal,vi u€Ja}S €}oroo fp8 .urarrr1suarqopodop,r.rerd u.{,u' T .o{€uPaf z euenoreua8 1set o1t9r1 e.uzr-ln epzu\ az zEJo (t n)(t d)7 vun9t -
r.qzrrl az'pr4fp1 '(u pou) fi,,r zpto *uV ) z '1 qn1 = zz ałzpfl,(".?.fr) rce1sod ó>1!911 o>p| Ó1[911 Łuzeiu, fnrugap2
1sa[ >1at9r1 qc.{uzerrt
o:
p
.(u)ub 1
fr,
(e)
.8.8T nłuns
-.{r
eu ,{uornę1spazrd qcdł'o1erperu'{ 1zsal e1p fe.łt.orez .{zperlt o pglłop z€^ezotl .t.tT .n1o>1o1ord o8a[o,t; csou1adnz I .fd 99oułelulaPu frupolra.opn nura1qord €Ip npo/^op ue1sds fuldc1ere1ur |.p.qz .z.gt
-nrBpod op logou?al€ufzrdatu
'fa.noraz fzper,r o uelo>1o1ord 1se[ eru 19>1o1ord o8azcelp 'frugrfdru zeto Aulednz r,tulen>1ape ?sal'fT'gT n>lunsdr eu .{uornelspezrd .qcdł'o1erpe.tlł .?vĄi6 .I.tI lzsaJalu nure1qord €IP nPo.ł\oP ura1s,(s dulfcąera1ur a?
B.IuazclilAC
'nporv\op .^ltotua}s.{s qcdufdc1era}W pal8azJd fuzcd1eua1eu falzpJtsq l.ĄĄou?łs tsJoł{ [88of] €uosuqor dcerd op zollJlrliol cozilęz o}J€^Ą .|oocb] noilIn9 I tsJa}€nbslnb "ec -prd prerrvrpz lalt.t.orez ,|zpetn ęrc3lod ó[cer1sn1r buneqez r bu1euro;aru ozpJtsg .uoJoloł pa| [6919] run1g zezldb1euout BIu€ c nzJ n1sdtuod luoJo1n€ dcerd [e1 z olugBł,ł\ Izpoqcod Iłcdłt.ol€Jpts.|l1l{ lzsal tsIP la.r\Ąolaz dzpet,vt' o pg.t\oo .npo^|op nulołsds o8euldcąer -aTuI olcÓlod oruIęluJoJ ll".ł\olugapz dzslł.rerd zęl od,tzrglĄ.[osulĄc] Jołctsl{ I .resseirrr.p1og Łs dcgrd feuzgał' .[to,trt.ltc] rr.r,3rs Łfnpleuz ł€clntr |eu!e1o>1 IIutsJołnY la.toraz dzpar.tr o .uo;er8 lc9oul€^|oJolo{-t z€ro lcsouzcgJoluoztetu .tcgouzcgJolll .([oocs] ryr dzs.łrrard zpt od 3rs 1r.tłe[od ((oluts.t\olunzoJ.. un[Je1 ez ,
-ozt dpo.toq .crzprarłt'1s
ąeupat ,tzepu) [ssccs] fu\ czo|euz e-uzoul llueluts1|lloIunzoJ I lluepo^Ą op dzpÓru cluzgl alualjlegluo al{oIozs zeJo n1lq o8acbzbrn d1eruaqcs nl auoIł\€łs -pozrd '[tO,'trgrUC] euosrepBrll r o8eqecrtr4l 'eqcrarplog zero [gg33g] needgr3 r tsum€qc .epresserg cętd z ftust1Óud"razcvzI|łE|zpzot oBe1 z nłtsIJaltsu g9ozs13t16
egBJBoTIqIq I
€.t\o{unJ€.Ąó.zaq
€.ĄiloIuazcIIqo
€.ĄtroTuozcITqo
€ńó'o{unJ€.tzaq
€ł€uołsoP P1'l|oruazcrlqo P1{to)IunJ€A.zaq fe,tłorez dzpetłt' o or
€,.l\oluazcIIqo €,{\o{unJ€1ńzaq
F€ńAn .g.tl
99ou|e1 ^ó.gs{al{ 99oup,la.dzbr,lr'oqoz
^Ą9$IaP1
€zpalł\
€.AĄoJaz
csoul€1l\}Iap€
qgouladnz
P,{o{unJ€^\zaq fernorez -1!ó. o
?9ousBłł\
uE.lll'oulnzoJ ! 1lAgPollAoP Ic9oIIsBł^A aluBu1lAoJod .T.8T vcITsvJ
VIwACOIISIA
607
I
ICUlYln 'g'tl
13. DOWODY O WIEDZY ZEROWEJ
4I0
Dane wejściowe: liczba całkowita z nieznanyrlr rozkładem n gdzie p i q są liczbami pierwszymi, oraz r e QR(n) (1) powtórz następne kroki log2 n tazy: (2) Stefan wybiera losowo u e Zn* i oblicza
a:
u2 mod
:
pq
n'
następnie wybiera losowo i
:
0 lub 1 i wysyła
z:tr'amodn do Doroty jeśliz € QR(",)' to Dorota ustala.7 : 0, w przeciwnym razie określaj : I, po czym wysyła j do Stefana (4) Stefan sprawdza, czy i: i (5) Stefan akceptuje dowód Doroty, jeśIiobliczenie w kroku 4 daje pozytywny wynik dla każdej z log2n rlnd
(3)
Rvsurlpx
13.14. Interakcyjny system dowodu dla problemu niereszt
kwadratowych
(b) Wykaż, że Stefan może generować trójki o tym samym rozkładzie prawdopodobieństwa, nie zlając faktoryzacji n : PQ. (c) Udowodnij, że protokół jest doskonałym protokołem o wiedzy zerowej dla Stefana.
I3.4. Hozważ' dowód o wiedzy zerowej dlaprzynalezności do podgrupy przedstawiony na rysunku 13.10.
(a) Udowodnij, że protokół jest adekwatny i zupełny. (b) Zdefiniuj wazną trójkę jako trójkę postaci (1,ź,h), gdzie 1 e Zn*, i: Q lub 1' 0 < h < !,-| oraz an = 0,.Y (mod n). Wykaż, żeliczba ważnych trójek jest rówla 2l oraz ze każda trójka jest generowana z jednakowym prawdopodobieństwem, gdy Dorota i Stefan wiernie realizują protokół. (c) Wykaż, że Stefan może generować trójki o tym samym rozkładzie prawdo podobieństwa, nie zllając wartościlogarytmu dyskretnego log.0.
(d) Udowodnij, że protokół jest doskonałym protokołem o wiedzy zerowej dla Stefana.
13'5. Udowodnij, że schemat wi$ącego bitu oparty na problemie logarytmu dyskretnego przedstawiony w podrozdziale 13.5 jest bezwarunkowo tajny. Wykaż tównież, że jest zobowiąnjący wtedy i tylko wtedy' gdy Dorota nie jest w stanie obliczyć
rog.9.
13.6. Załózmy, że do konstrukcji rozumowania o wiedzy zerowej dla problemu 3-kolo rowalności grafu użyliśmyschematu wiążry,ego bitu opartego na problemie reszt kwadratowych. Udowodnij, korzystając z algorytmu fałszowania przedstawionego na rysunku 13.13, że otrzymaliśmy doskonały protokół o wiedzy zerowej dla Stefana.
lsoox] 96,ordluc lzos.{l ro,oJdłuc lzsoo] g8,oJdłllc lsooc] go.oJdłtlc [tołlt] 06.oJd^1lc [sst^Ą] q8.oJdłuc lrosc] Tc,ordllIc looua] 68,oJdltrc lssscs] r8,ordluc to.oldłuc loooc] 88.oldłuc lrsHc] t8.old^tlc lssoa] fS,ordłuc [essuc] zS,oJdAlJc
[ło.rs] leous] -uo>1
za,ord'ttrc
:n{oJ z86I po oluzcoJoc Łs oue.tro1r1qnd tfcuare; qcd1 z d1etre1etr41 .n{oJ T86T po €JtsqJtsB €łuES ,Ą órs e,udqpo oIdAEc
'Jd'\UC
-ouns z€Jo old^u3 .auzctSo1o1ddn1 atcueraJuo{ auzcolop eurvr.o1S al,Ąr,p eZ{ęł efnrosuods oJgH .(ucY1 .qc.reese11 cr3o1o1dd.r3 JoJ uolłelcossy 1euor1eura1u1) qcduzct8o1o1ddry uepeg gtuozsdztg.tto15 o8erwopo;eudzpór141 ureursrdosezc 1se[ fr6o7o1dfr.l'9 {o yorunoq .rr8o1o1dfq afiilzpozP ozc.Ą\tsptsq eursrdosęzc au.tn.o1B o1 otfioyo7dfi^tg
.[go't,tlt]
^\ zuto fin1dol6o1dfi.tp puo sapog 'su6zsag
ts(auołSu€A
T
'fi,6o7ogdfi^tg
{o
you,lnoy'
ts}oqcsJoo uun .esazeuantr g{?ŁTsr{ 1sef rger8o"rdd"r1 lau
-zcl14etd dp1adse eo11sdzs,tt urdcŁfnurfeqo u;ołpgJf ulfrlleca1ez [ssg'ĄĄ] qslo6 [sov^Ą] reude6
lzslĄIw]
[SSJ,'\] 8roql; uerr [ZO'lS] s8ur11e1g
lazOIS] suoturuls
losas] ldzrder6 r dr.reqeg [zoOzcS] rarouqcs
lsosax]
ecosdrr.r. r ur,{u1e4
sed1e141 r
tger8o1d,{r1 qcduocótrvr'sod
re,i(etr41
leoslĄI] sozouotrN L981{y]
sl{€u?ry
[rSoN] uloquoy
lsooN] z}łqoy
reurced5 I u€uIIJad .ueu;ney
[7gg7vY] uqeY [zoao] Suruueq
loovs] €EIuoI€S
|eosa] .JIuI€q-S I ul€qlg L88uAl prBsrcrg OsA] reqce"rdslalnag
[gSnU] leddeng [76H9] eeqg [vOOoa] acueraruod |zsva] uosJa}l€d
[f
[ZSaA] ;edr6 r ralag :ect fndó1sru
o1rern.
9r
uerurdłr
rger8ouour r .u'oąruzcÓrpod qcduece1tsz p9J9^A
^Jn+ła[
azspa
DALSZE LEKTURY
4r2
Konferencja EUROCRYPT odbywa się corocznie od 1982 roku i poza latami i 1986 publikowano jej materiały, tak jak to widać na ponizszym wykazie:
1983
EUROCRYPT'82 EUROCRYPT'84 EUROCRYPT'85 EUROCRYPT'87 EUROCRYPT'88 EUROCRYPT'8g EUROCRYPT'90
[Be83]
[BCr85] [Pr86]
[CP88] [Gu88,t] [QVgo]
EUROCRYPT'9I [De,91e,] EUROCRYPT'92 [Ru93] EUROCRYPT'93 [Ho94] EUROCRYPT'94 [Do95] EUROCRYPT'g5 [GQ95] EUROCRYPT'96 [Mł96]
[D,ł'91]
odbywała się także ttzecia seria konferencji, AUSCRYPT/ASIAORYPT, współpracy z IACR. Jej materiały również były publikowane.
AUSCRYPT'g0 [SP90] ASTACRYPT'g1 [rRM93]
AUSCRYPT',q2 lSZ92l ASTACRYPT'g4 [PS95]
we
-ouIY Jo uoll€IcossY .er8o11qrg
.fr^l,oat1a
l€cll€uaql€IĄ
.fi,6o7o7dfi"l'9
(
'7ool 'Pcrr
'usHcvds.]slnsg
.V
'9961 'qcrrn2 '1n1t1su1 saqcstqd u6zsaą .ZNo.I .H oNv ']sxclNcNof .o .ul,og ..1,
'q961 '8epen-reBurrdg '60U 'lort 'acuazcg .l'a1ndu't'og ux sa?oN aJnJ)erI .tg,.t,a,łacoanq lo s6ut'paaco.l4 :fl6o7o7 -dfi,.l,3 uz snua(Lpv .(sog) r.rossuYlĄIscNl .I CINV roc .N .u.r,ug ..1, '9961 'Sepen-raBurrdg '6tI 'lor' 'acuazcg "talndutog
ux saJoy ernJral '796y's6urpaaco.t4 fi,qdnt1oydnłg '(ctg) '
Hrsg 'J
(gS,OJaAtIC -,{3o1o1ddr3 ut sacue.tpy)'99-26
.(ooor) ggv ,acuazcg "n1ndu'log uL saJoN aJnł)arl .suollcunJ auołou -oru pu€ 8utreqs }oJcos pazllęJauaD .usIHcIsT .f oNY Ho.]VNsg .f .z86T 'suos pu€ nqot .suo1,JDc1,unul ^oIIM -luop to uox??ałoJd aqa ,su,aysfr,5 .l,aqdt,g .usdld .d qNY uaxsg 'H
.(eo.ola.łuc _ d3o1o1ddr3 ut sacue.r,py) 'ggV-WV '(fOOf ) 922'acuatcg .taynduog ux sa?oN ernparl
.satualłJs uoIlnqIIłsIP {a4 ut uor1ceJo1uJ 'uoHc .g oNV TsIĄIIsg .Y 'tg-tg '(896T) 1 'fi6o7o1dfi"l9 lo yott.tno1 'eurrrd dlqeq -ord arę l€qł sJaqunu luopu€J ;o uor1ereue8 oIłJ .scNvuslĄod .c
oNy usrrnoC
'p 'nvoaou3 'C 'ouvssvng 'g 'ruIrtsucnvsg 'd .ItI_6uT .(886I)
-oydfi,"t,g {o yoll^t,no1 .fqder8o1ddrc o1 qceordde s(uouu€qs
s.u€uIIaH ,
v
t,t_
6zt,
Jo uolł€zll€Joua8
se*ęd
.
n5 n
ac ua
y .ouvssvug .c
7n d,u't, o
T
.ńóot
lroga]
lqgrra]
lsstcg] [SSsA]
loora] |zeaa]
[roca]
lggaC3ggl
o1 uoTsualxo
oNV Nl',{sHcnvsg
.d
lsssa]
g p u, n7un,"!,Pł,.,ff:::*;:::n .
fc ussvH 'g 'uo,wg 'q
gpolł?aą ,11 sacuanbag u1 .Bu1drue1s-arur1 1e1r3rp ;o f11tqe11e: pue
-uarrsa aq1 Suvrordurl'vJroNlrors 'S .,{a1r16
pu€
uqol
'M
crNv
[SOSHA]
'T66T 'suos pu?
'(rolrTpg t1149) u,qa67v rDauxI fiło1uaua1g 'NorNy 'H '60Z V6T'(SgOf) 21'1utyndruog uo .ap:q.t :suollcunJ ulq€ll
ITONV]
se are s1red ul€1Joc
WVIS PJ€tł .d .c cNY HcIsuC.Ioc .9 .uou3 .g .Ixery .1tr VSll .lIuoNHcS aI{} s€
IDuJnor
lsssccv]
eaerSolqg
BIBLIOGRAFIA
414
lBSell lBSe3l [BS93,ł']
E. BlH.ł,l't ,łtvp A. Srr.c.\łIR. Differential cryptanalysis of DES-like cryptosystems. Joumtal of Cryptology, 4 (L99I),3-72. E. Btrra,n,r łno A. SrrłlrIR. Differential Cryptanalysis of the Data Encryption Standard. Springer-Verlag, 1993. E. Brn,łlr AND A.
SH.łrtIR. Differential cryptanalysis of the full
16-round DES. Lecture Notes in Cornputer Science, T4O (1993), 494
IBr7e]
- CRYPTO'92). G. R. Br.łxlov. Safeguarding cryptographic keys. AFIPS Conference
[BC85]
G. R.
-502. (Advances in Cryptology
Proceed,ings,43 (1979), 313 317.
Br,.q.xLEy AND D. Cu,c,uNa (Eos). Aduances in Cryptology: Proceedings of CRYPTO,8]. Lecture Notes źn Computer Science, vol. 196,
Springer-Verlag, 1985. [Br85]
[BBS86] IBr,82]
[BG85]
lBM84l
R. Blolt. An optimal
class of symmetric key generation schemes. in Cornputer Science,209 (1985), 335 338. (Advances in Cryptology EUROCRYPT'84). L. Blulr, M. Blutr"l ,łNo M. SHun. A simple unpredictable random number generator. SIAM Journal on Cornputing, 15 (1986), 364 383. M. Bluvl. Coin flipping by telephone: a protocol for solving impossible problems. In 2lth IEEE Spńng Computer Conference, pages 133_137. IEEE Press, 1982. M. Blulr AND S. Golom,sspą. An efficient probabilistic public-key cryptosystem that hides all partial information. Lecture Notes in Computer Science, 196 (1985), 289 302. (Advances in Cryptology - CRYPTO'84). M. Bluv AND S. Mtc.q,lI. How to generale cryptographically strong sequences of pseudo-random bits. SIAM Joutnal on Computing, 13 Lecture Notes
(1984), 850 864.
[Bo8e]
J. Boy.łn. Inferring
sequences produced
by pseuderandom num-
ber generators. Journal of Association for Computing Machinery, 36 (1989), r29-r4r.
IBDSVe3]
BLUNDo, A. Dp SArvrrS, D' R. SrtNsoN AND U. V,łc.C.q.no' Graph decompositions and secret sharing schemes. Lecture Notes in Computer Science,658 (1993), 1-24. (Advances in Cryptology EU-
C.
ROCRYPT'92). tBDSHKVYg3I
lBCe3l
IBn88] IBne0]
C. Bluloo, A. Dn SAnus, A. Hpnzspnc, S. KurrEN, U. VACCARo AND M. Yuxc. Perfectly-secure key distribution for dynamic conferences. Lecture Notes in Computer Scźence,74o (1993), 477_486. (Advances in Cryptology - CRYPTO'92). J. N. tr. Bos łNo D. CH'ą.uv. Probably unforgeable signatures. .Lecźure Notes in Computer Science, T4O (1993), 1-14. (Advances in Cryptology - CRYPTO'92). G. Bn,.c'ssA.Ro. Modern Cryptology _ A Tutońal. Lecture Notes in Cornputer Science, vol. 325, Springer-Verlag, 1988.
G.
BR.c.ssA'no (Eo.). Aduances źn Cryptologg CRYPTo'89 ProceNotes in Computer Science, vol. 435, Springer-Verlag,
ed,ings. Lecture 1990.
.(to..la,łucouna d3o1o1dfr3 uI secu€A -py) 'readde o1 'acuazcg nTnd,uL,og uI, seJoN arn?cerl 'sapoc Butlcarroc-JoJJa uo paseq sura1sdso1d.{rc auos Jo .{1rrncas ,fi'6o7o7ćIfi,"t'9
aqt uo .qnY€IYHc..d 'L9r Lgr'(866T) I
.solualłJs 8urreqs }alcas JoJ sal€I{s Jo ozls aq} uo to youl,no1
'ouvccv^ 'Il
oNV oNvcnvD '.I 'srJNYS SO
'Y
'trrOCOaVS
'1,11
'g
'62-rZ'(266r)
.sprcc lJ€IIIs JoJ saIualłcs uol1€cgl}uaPl 92 ,7ol't,.l,no1, l,a1ndu-tog etlJ a8pe1rrlou4-oraz lualclgg.HJsg -J CINV JosIĄIssC[ .^ .usJssIĄIltng 'ntr
.(oo.la,łucsnv
sacue'rpy) 'gSZ 6ZZ
'(OOO1
.suor1ec11dde fcercas pu€
- I{O'I 'Auussss 'f -dfi,c {,
IDtr],nor
to e)uatcs aqa
JoJ a.t't1turrd crqder3o1dfrc y \)[ 't{ rNruoug 'T
'f
'NV
.99I{qT .(zoor) g
'fr,6o7oqdfi"tg fi^.to.todu,a1uop
.ń6o7o7
IsoHc]
[eoAcoc]
loosaxal lzosal
uI 's}lnsar }uar
6g-62' (266I) 9'
fi'6o7o1dfi"t
p
lzooal [zsaIĄa]
Izolra]
'fi.6o7oqd,fi-tg
aq}
uo .il{odNs^Vo .'{ .C oNV .I.Isxcnrg .d .g 't66I
'gtl
[zosos]
d3o1o1dfr3 ut
) ggV'acuazcg .tayndu-top uI, se1oN arnlrarl
uolT€cI1uoqtn€
clNV xAzudsld
.salualłcs 8urreqs 1ercas 1ca;red Jo oł€J uoI}€IuJoJuI
aql uo spunoq par'ordrur atuos
'NosNrrs 'u 'c oNV TTsxclug 'd 's gggl 'gtS 169 sa8ed 'fr,1p"t6aqu1
'6661 'ssar6
uozloul-to{u1
-ar 5o ,{ar.rns e 'srs.{1euu1d.,(rC 'oxzlloo 'I I 'V crNV lTsxclug '.{ 'g '(gg.o.la,łltc _ f3o1o1d.{r3 ur secue,tpy) .g g .(z'gor) gg7,acuazcg .nyndulo3 ux saJoN aJnłJarJ .SSCI Jo saxoq-st aql uI aJnlJnJ}S ..I.IIIund .E .trĄ oNY suoolĄ .H 'f ..I.Isxc]ug .d .g '
to p:tL.tno1 '8urro1ce; pue surqlrreSol olorcslP uo Paseq aruaqcs.duoll .g -€JgIłuaPI o^IlJ€JaluI uV .^s.Iunccw .S .x oNV .I.IExcIug to you"tnol 'souraqcs Eutreqs lercas 'VEI-171'(fOOf ) V
I€aPI Jo uoIl€JgIssBIJ
'8e1ran-raBurrds
[rooa]
'1ott'acuazcg "taqndulog ur, saJoN aJnJcarl 's1ul'pe
-acord 66.OJdAAC - fi,6o7o1dfi"tg ux sa)uDtupv'('og) rrsxcrug ',{ 'g 'tI r-907 ' (OSO1 ) 6' 1ut7ndut o g'lD1^1,o JDuxquo C puo s)x?DunL!?D W lDxro?DuLquo C yrrulno1 .satuaqJs 8urreqs 1alJas I€aPI aluos ..ITsxclug .d .g
to
'(g8,oJd^'lrc
leoual
lvosusl
_ f3o1o1ddr3 ur secue.łpy) .89t_z78 .(ssor) g17,acuat,cg "t,a1ndutog
ux s"?oN aJnJ)arI .s4cesdeu1 pol€Jall -ra8urrdg '6ut7saa
fr,1t7outr,.t4
8ur1earg ..I.Isxclug
'd
.g
'6961 '8epenpuD uol,JDz?,ro?r"d-onosssug 'I tr 'CI .
(og.
la.łucouns
_,{3o1o1df 13
ur sacue,rpy) '16I-18I '(OOO1) VgV'acuazcg .n1ndu,og ux seJoN arnJ -ca7 'aBpeyrrou{-oraz 1no Surlrog 'nvsdquC 'C oNV ol{vssvug 'C
2g 'acuatcg
'68T 99r '(886r.)
lo ynu,"tnop 'a8pa1.tou4 ;o s;oord .nvsdsuc .c oNV I"{nVHc .o .ouYssvug .c
su,aysfig pun -tagnd,ulog
aJnsolcslP IunIuIuIJĄ
.886T .II€H oclluald
'e)x?)Drd puo fi"toat1a 'sctu.nqquoĘTy
'AsrJvug 'd aNV auvssvug 'C
[ssus]
losusl
looca]
[secca]
lvsesal
vrgvEcorlarg
9rv
BIBLIOGRAFIA
416
ICn84]
D. Cnłuu (Eo.).
[cP88]
D.
Aduances TO'83. Plenum Press, 1984.
in
Cryptologg: Proceed,ings of CRYP-
CrrłuIr,l ,tNo W. L. PnIcp (Eos). Adr,,ances in Cryptology _ EUROCRYPT'8'I Proceedings. Lecture Notes in Computer Science,
vol. 304, Springer-Verlag, 1988.
lcRS8sl [CvAe0]
ICvHPe2]
lcR88l
lCoesl
[cKMe4]
[csve4]
lcwe1]
D. Ctt'tul,t, R. L. RIvpsr AND A' T' SHgnlr.ą.N (Eos)' Ad,uances in Cryptology: Proceedings of CRYPTO'82.Pleutm Press, 1983. D. Cu.łuvr AND H. vAN ANTWEnpox. Undeniable signatures. Lecture Notes in Computer Science, 435 (1990), 212-216. (Advances in Cryptology - CRYPTO'89). D. Crł,łulr,t, E. vl.trl HpI.lsr AND B. Pr.Irzltl'IrlN. Cryptographically
strong undeniable signatures, unconditionally secure for the signer. Lecture Notes źn Cornputer Science,576 (1992), 47o 484. (Advances
in Cryptology CRYPTO'9I). B' Cttoą.AND R. L. RIVEsT. A knapsack-type public key cryptosys-
tem based on arithmetic in finite fields. IEEE Transactions on Inforrnation Theory,45 (1988), 901-909. D. CopppRsłrITH (ED.). Aduances in Cryptology CRYPTo'95 Proceedings. Lecture Notes in Computer Science, vol. 963, Springer-Verlag, 1995. D. CopppRsMrrH, H. Kntwczvz AND Y. M.q,nsouR. The shrinking generator. Lecture Notes in Computer Science, 773 (1994),22-39. (Advances in Cryptology - CRYPTO'93). D. CoppBRsMITH, J. SrpnN AND S. Veuople,v. Attacks on the birational permutation signature schemes. Lecture Notes in Computer Science, 773 (1994), 435-443. (Advances in Cryptology - CRYPTO'93).
T. W. CusIcx Lecture Notes
in Cryptology ID'ł'90]
[Dł91]
AND M. C. Wooo. The REDOC-II cryptosystem. in Computer Science,537 (1991), 545-563. (Advances
- CRYPTO'9O).
I. B. D.ł.lrcńRD. A design principle for hash functions' Lecture Notes in Cornputer Science,435 (1990), 416 427. (Advances in Cryptology
- CRYPTO'89). I. B. De.ucńRD (ED').
Cryptology EUR)CRYPT,90 in Computer Scźence, vol. 473, Springer-
Ad,uances i,n
Proceedźngs. Lecture Notes
lDLPe3l
-Verlag, 1991. I. D.ł.lrcńno, P. L.ł'NoRocx AND C' PoIr,toRaIrlcp. Average case error estimates for the strong probable prime test. Mathematics of Computation, 6L (1993), I77-I94.
[D,t91,ł']
D. W. DłvIos (Eo.).
IDo8a]
Cryptologg * EUROCRYPT,91 Computer Science, vol. 547, Springer-
Ad,uances
Proceedings. Lecture Notes -Verlag, 1991.
in
in
J. M. DpL.c.uRENTIS. A further weakness in the common modulus protocol for the RSA cryptosystem. Cryptologia,8 (1984), 253-259.
fi
! o ł oa q
1
o
-,,,}łf}ołWT,,,
",,, Surlra,rur roJ s:Uo-aperl aceds/aun1 snoro8rg
;;:::; ",.ł:T:#n
",:i'EovN 'IAI ctNV rvld 'V 'ez-gr'(tz6r) (9)944'uoc
'f
szruDapv'('og) ltnvaNsclsd
'H
-?raurv c{tTuazcg 'fce,rrrd ralnduroc pue dqdurSolddrC ''IsJsIsd
[tON.{] [gZs.{]
'2667 's6uzVa '3e1ren-ra8ut.rds 'gfg '1ot'acuang "t'a1ndu,og ux sel.oN arnlcarl
-ecord
[6.OJ1AAC -
fr,1o1oqdfr"lp uI.
'V6-LL'(886I) 1
'fi'6o7o7dfi,t'g
.f1r1uapr;o s1oord a3pa1.ttou{.oJez .uI]ĄVHS .Y oNV
CINV
.n
Aslunccntr
zLv-69n'(ggor)
,
uotqout^to{u1
lo
rt'nro
[sss.{.{]
[se],N]Ąyvs]
lsars]
leogs]
.
[zołrłc]
.g 'IĄ oNV sl.{ulo .7111
'266T '!ssard
aqa
acuazcg
[ZOsg]
{o Toutnol
rVId 'Y .oclog
'(SS,OJ,a UC - d3o1o1ddr3 ur sacue,tpy) '8T-g '(986T) g14'acuazcg lalndu,og ux seJoN aJnJ)arI 'sProg raqurnu crlerpenb ro; eq1 Sut4earg .usTTItrĄI .T .c salualłcs arn1euBts Jlul€qs-JJouqcg-8ug .S .x .vttoaltoy .y .NV]ĄsToV .1,11 .1 .sa.r,sg .q '
-a1lJ uox?Duro{u1 uo suo1,J)nsuD-\tr gggl 's.;llq+pe8o1 alercsrp uo pos ..IvWVcTg .J -€q ouaqcs arn1eu8rs e pue ure1sfso1ddrc i(a>1 cqqnd Y .(zo.o.la.łuc - ,,t3o1o1ddr3 ur sacuenpy) .(eoor) gv2 ,acuat,cg .n1ndut'o7 uf sa?oN aln?)e1 .suol1€c .gvg Lzg -qdde 4.rorn1eu IoJ uol}€1ueura1durr ggq paads-qBrq y .oruosg 'H gl,I_LoI . (r'66t) z fi,lła ,su6tsaq 'seSrreqcxa de>1 pe1ecr1ualł}n€ -n.t,6o7dfi"l,9 puD sapoc Pu€ uol} -€cllueqlnY .ugNsIM 'f .IĄ aNV LoHcsuoo NV^ .c .6 .ut.rslq .1tr 'Vgg-Wg'(gZOf ) 77'fi^toaqa uotyottt,to{u1 uo suol,JcDsuD4tr ggEI ..,{qder3o1ddrc uI suol1coJrP 1AoN 'NY!Ąl.IlsH
'ZII 60I '(SZO1) gV's6uzpaaco-t4 acua.taluog S4IIV .NV]^I'].ISH .g .IĄ .senbtuqca1 '^\ JosnIłIntrĄI oNV sld.{Io crqde:8o1dfrc '91,t-gtT se?ed 'fi72l6a7u1
[vgzuo] LgfHq']
sgsl
'fi,6o7o7dfi^tp fi,tn"todu,a4
.M
-uoc uI .fqder3o1ddrc.da1-c11qnd;o sread ual łslg aIłJ .sI.{.{Io
[zoto]
lfOsO]
'8e1ren-re8urrds '6g8 '1or'acuazcg "nyndtuog ux saJoN ernlcarl 's6uzpa fi,6o7o1d,fr,.tg ut sacuDapv'('og) .louttlsoq 'C ',1
[sob,ĄĄo]
(roor ,(elnu .asrno3 ay5g .uot1nlo^g Pu€ }JY .62_6q atl} Jo ał€ts .dqder8o1d,fuc I€IJłsnpuI pue .{1rrncag ra1nduro3) .$Iloł\lau re1nduroc .(soor) 1v2,acuat'cg layndulng u1, saJoN aJnJcerl ro; s1oco1ord ur3o1 ra11eg .ue.r,vnbstn$ .f-.f oNY s,{.{sTV^Ą sCI .C '7667 -aco.l4 f6,gtr 1AAC -
'9661 'Bepan-
lzosso]
' (f O,Ola,tUC - .{3o1o1dfr3 ur secue.,rpy) -tOZ V6I '(ZOO1 ) g2g 'acuatcg laqndurog ux saJoN arnJ)a1 '7CII tr Jo uY .susY.IVSSog .V oNV usog NSCI .g sPunoJ o//tł lsel oql uo {c€tt€
IZOsO]
-re3urrdg 'Oq6 'lo 'acuatcg .ta1ndung ux saJoN arnJcarl 's6ut'paacan4 .Y fo,la,łucoung _ fr6o7o1dfr,lg u1, sa)uDapv .(.cg) sI.luvs go .266I ,INM .t1cfiuop Duorrpo t. o{o.t6o7dfily'cNrNNsO 'U 'S 'O
[sogo]
VIIVADOIIgIg
LW
BIBLIOGRAFIA
418
[FS8ą
lFoMell
A.
FI,c'r ,q.wo
A. SHłlrIR. How to
prove yourself: practical solutions
to identification and signature problems. Lecture Notes in Compu-
ter Sc'ience,263 (1987), 186-194. (Advances in Cryptology CRYPTO'86). A. Fu.ltoxe', T. Ox,ą'llloro AND S. MIYAGUcHI. ESIGN: an efficient digital signature implementation for smart cards. Lecture Notes in Computer Science,547 (1991), 446 457. (Advances in Cryptology -
EUROCRYPT'91). lGIaell lGMST4l
J. K. GtssoN. Discrete logarithm hash function that is collision free IEE Proceed,ings-8, 138 (1991), 407-410. E' N. GtLspRr, F' J. M,tcWtllI,ł.lls AND N. J. A. Slo,ą.No. Codes which detect deception. BelI Systerns Technical Jour"nal, 53 (1974), and one way.
405-424. [Grne1]
M.
GIn,'ł'ul.r. Self-certified public keys. Lecture Notes in Cornputer Science, 547 (1991), 490 497. (Advances in Cryptology - EURO-
CRYPT'91). [GPe1]
IGMWe1]
lGoeol
C. M. GoloIE AND R. G. E. Ptlvcn. Comrnun'ication Theory. Carnbridge University Press, 1991. o. GoloąBICH, S. MICALI AND A' WIcopnsoN. Proofs that yield nothing but their validity or all languages in NP have zero-knowledge proof systems. Journal of the ACM,38 (1991), 69I-729. S. Golowl.ssER (ED.). Ad,uances źn Cryptologg _ CRYPTO,88 Proceedings. Lecture Notes in Computer Sci,ence, vol. 403, Springer-Verlag, 1990.
lGM84l
lGMR8el
S. Golom'ssER AND S. Mtc,ł'l.t. Probabilistic encryption. Journal of Computer and Sgstems Science,23 (1984), 270 299. S. Golom,ssER, S. MICALI AND C. Rłcxopr'. The knowledge complexity of interactive proof systems. SIAM Journal on Computing, L8 (1989),186-208.
lGMT82l
S. GolowLssER, S. MICALI AND P. ToNc. Why and how to establish a common code on a public network. In 23rd' Annual Sgmposźum on the Foundations of Computer Sc'ience, pages 134 144. IEEE Press,
lGMe3l
D. M. GonooN AND K. S. McCuRLEy. Massively parallel computa-
L982.
[GQ88]
[GQe5]
tion of discrete logarithms. Lecture Notes 'in Computer Science, T4O (1993), 312-323. (Advances in Cryptology - CRYPTO'92). L. C. Gulllou AND J.-J. QuIseuATER. A practical zero-knowledge protocol fitted to security microprocessor mini-mizing both transmission and memory. Lecture Notes in Computer Science, 330 (1988), I23-I28. (Advances in Cryptology - trUROCRYPT'88).
L. C. GuIlr,ou AND J.-J. QUIseUATER (EDS). Aduances in Cryptology EUROCRYPT'9S Proceedings. Lecture Notes in Computer Science, vol. 921, Springer-Verlag, 1995.
[Gu88]
C. G. GursrnBn Alternating step generators controlled by de Bruijn
sequences. Lecture Notes
(Advances in Cryptology
in Computer Science, SO4 - EUROCRYPT'87).
(1988), 88 92.
,fr^l,oaqa
'066I (fłolcos Ięcll€ueqpl^tr u€DIIotuY .t7I 9TI seBęd .,{roaq1 laqrunu pu€ JaqunN lDuox+D+nduoc putl fi6o7o7dfi"l,9 u1 laqunu uoPu€J-opnasd .sVIuVcVT .c .|
..{qderBo1dfrc ur sro1ereuaB
'986r
'sIxYNVuy 'g 'suog pue fa116 uqol 'fin1dol'6o7dfi-t7 pun fiytyou'ttl4 uqot'rłuud y 'ftqdol'fioydfi.tp'I^lIsHNoy 'C 'Y '1961 'suog pue.{416
't66T raq
-ureldag '6191 :sluaururop ro; lsanbag dnorg Eutrporll {roa}aN 'ar?ru -aS uoxJDcL,JueLł?nv \Jon]eN soJoqJex
aqJ
'NvI^InaN
.c oNV .IHoy 'f
g1tOJd^AC .966I .JN'ĄA.
lo
fi6o7o7dfi^tg
uI' sa)uDnpv '('og) zJI'Isoy 'N z po7ąfi'14 .ZJI.Iaoy .N
.t,{o.t,6o1ilfi"'lą I, qz)I,1 xxJoal
'60z toz '(zgor) 8v'uo?l
.zLI.Igox .N scl,yotual4n1ę .srua1s,{so1d,tJc a^JnJ cl}d{lg
'WV-qZV '(SSO1 ) 6'srut11t"to67y lo u€ :ulunloc ssaue1a1duroc-dN aIł;, .NoSNHof
I6,I1^ACVISy -
'(sog) ol,oltnsrv6 'J oNV rss^Ill 'T
'ZTt-g6t
loovrl
lssuxl
lisovl
lsoox] [soox]
[rsov] [sosav] lroozvx]
ynu^t'n
's
.c[
'f86r 'z0T-
Iesor]
lrsNsrl
fi6o7o7dfr^t'3
'11
'rynl 'H
.166T lJa}PIao
u1,
[eoIn[uI]
laDJ€JĄ
'7661 '8epar1sa?oN aJn+cerl .s6utpaaco.l,4
fifloyoqd,filg u?, sa)uDtupv
'('og) n,r,ssarrsH 'J
Iro.łruarrH] bosHl
'(OZOf ) 99'fi7t17uo141 IDcx?Du)
.1eqeqd1e crerqa81e ue u1 ,(qde:Bo}ddJc '.I'uH .S .T
(oeor ) g7, fi^l,oaqa uoz7rlul,"t,o!u1 uo suoxJ)D suDą ,l1o-owr1 y .NVIĄTTaH .E .I^I cr1.{1eue1di(rc drotuaur-eur1 'VOV gLt,'(eOOt) LV 'acuel,?S sut'el
.907_107
[eoNv]
'966I
.8e1ran.re8urrds .60TI .1on,acuat,cg "l,aynćhuog u?, seJog aJnJcarl .s6utpa
-nord
-oyndulng
.966I .II€H a)I}uald .pIJo^Ą cLlqnd D uf uo1'1D)1,unul,111oc eJDn?łd .fi,yuncag qJon?aN .usNlcsds .ł\I oNV NYIĄI.Iusd .tt .NY]ĄI,{nVy .c .'00u .JN,ĄĄ' .zz6o7o7dfi"'ts1 DI"l,o?sr,H 'nopoą anDuloq .NHYy .cI -o1" .aprn8 BuroBuo
.all+ct|Jls
ssocc€ 1eraueB _66 se3ed |7g,u'tncaqo7p ggg1 s6ut,paa)oJd .J oNV oJIvS .Y .oII .IĄ 3utzqeer auoqJs 8urreqs 1alJas .IxsZIHsIN '9661 '8epen-raBurrdg '681, 'lo 'acuang L'ay -ndu,tog uI, saloy arn?carl 's6utpaaco.t4
ux sacuDapv
's1DxJuessfl aya 'filoaqa 1uzpog 'llv6 'tI 'f oNV uscoog 'Y 'C 'saran4 'J 'X(usNoNIT 'C 'C 'ouvl.lool 'V 'O 'NVWddoH 'C 'O
-ra8urrd5 .gg/ .Ioł ,acuat,c5 l,ayndu'log
ffi,Jd^ACOAng -aIł?DW uDcuau'v
gEgI
Iozru]
.
.sftg pun l,aynduog lo yotuno1 .s1lq (u)o saprq a1tsodruoc € olnpotu .uI^VHS .Y oNV IJIuHoS .16 'y .ov.rsyH .f urq1rre8o1 ałarcslP aqJ 'ITT S6 '(fOOf) g'fr,6o7o1dfi^t'9 {o Ttttlt'no1 '1ueut 'YTJSNUOJS 'S 'M ANV USSVH 'S -ncop p1131p e durelseurl ol ^\oH '9961 '3e1.r44.s6ul,paaco.l'4 -reBurrdg .08t 'Ioł ,acuazcg l,a1ndul,o3 u?, sa?oN aJnparl gg,IdAACOAng fr6o7o7dfilg ux sa)uDtupv '('og) uon.r,nnC 'C 'C
lossH]
[eossH]
hosnl [vssnc]
VITVEDOIIAIA
6rv
BIBLIOGRAFIA
420
[Lo91]
B. A. L'c'M,Ą.ccHIA AND A. M' oolyzxo. Computation of discrete logarithms in prime fields. Designs, Codes and, Cryptographg, 1 (1991), 47-62.
[LL93] [LL90]
A. K. LpnsrRA
AND H.
W. LBnsrRA, JR. (Eos). The Deueloprnent
of the Number Field Sieue. Lecture Notes źn Mathernatics, vol. 1554. Springer-Verlag, 1993. A. K. LoNsrRA AND H' w' LnustR,ł, Jn. Algorithms in number theory. In Handbook of Theoretical Computer Sc'ience, Volume A: Algońthms and Complexity, pages 673_715. Elsevier Science Publishers, 1990.
[LN83] [L\M88] [MS77]
R. Ltol AND H. NtpopRRpIrpn". Finite FCelds. Addison-Wesley, 1983. D. L. Lonc AND A. WIocpRsoN. The discrete log hides O(Iogn) bits. SIAM Jout-nal on Cornputing, 17 (1988), 363 372. F' J. M.łcWILLIAMS AND N. J. A. Slo,tNp. The Theory of Error-
Cor"recting Codes. North-Holland, 1977.
[M,ł86]
J. L' M,ł,sspy' Cryptography a selective survey. In Digital Comrnu-
[M,ł'9a]
M. MATSUI. Linear cryptanalysis method for DES cipher. Lecture Notes in Computer Science,765 (1994), 386-397. (Advances in Cryptolory EUROCRYPT'93).
[Mł94ł]
M. MATSUI. The first experimental cryptanalysis of the data encryption standard. Lecture Notes in Computer Science,839 (1994), 1-11. (Advances in Cryptology CRYPTO'94).
[MTI86]
nications, pages 3-21. North-Holland, 1986.
T' M,c.rsu\4oTo, Y. Tłx.łsHIłrłAND H' Ilr,q.l. on seeking smart public-key distribution systems. Transactions of the IECE (Japan), 6e (1986),99-106.
[M,ł.96]
U' M.ł,uRoR (Eo.).
Aduances in Cryptology _ EURoCRYPT,96 Proceedings. Lecture Notes in Computer Science, vol. 1070, Springer-
Verlag, 1996.
discrete logarithm problem. h Cryptology and Cornputational Nurnber Theory, pages 49-74. American Mathematical Society, 1990.
[Mc90]
K. McCunlov. The
lMc78]
R. McElInco. A public-key cryptosystem based on algebraic coding theory. DSN Progress Repoń, 42-44 (1978)' 114_116. R. McElIpcp. Finite Fields for Computer Sc'ientists and Engineers. Kluwer Academic Publishers, 1987.
[Mc87]
A. J. Mplpzzs. Elliptic Curae Public Keg Cryptosysterns. Kluwer Academic Publishers, 1993. IMBGMVY93] A.J. Motvozos, I. F. Bl.łxo, X. Gło, R. C. MulltN, S. A. VANSToNE AND T' Y,ł.cHooelnN. Applications of Finźte Field's. Kluwer Academic Publishers, 1993. A. J. MeNpzES, T' oKAMoTo AND S. A. V,łl.IsroNe. Reducing ellip[MoV94] tic curve logarithms to logarithms in a finite field. IEEE Transactions on Inforrnation Theory,39 (1993), 1639-1646. [Me93]
uolł€cllqnd SdId sPJ€pu€tS
Jo n€oJng
I€uoIl€N
't66T '087 .wopuD]s 1łsDa aln"as
.q86r .tIT uoll€Jllqnd .uoLJDc,,Jua1łJnD DrDp Ja?nduoc I€uoIłtsN .pJDp sdld spJepu€ls Jo n€alng I€uoIł€N SgN eql 6uzsn puo 6u14uaua7dult "tol sauzTaptng
SdH spJ€Pu€łS Jo n€alng .186I ,vL uoll€clTqnd -uDJs uoxJdfrrcue DJDq
'086I
-Ilqnd SdI.{ spJ€pu€1s
Jo n€aJng
Jo n€aJng
l€uolł€N
.Gsd
uotlottt.t'olu1
'8Sg Ttg se?ed
I€uoI}€N
SdId spJ€pu€łs
-o.l,odu,a1uog
'uozyo.tado
'{18 uorltsc sapout Sgo
'lo uorlecrlqnd 'LL6I'9n qJDPuD]S uot,1d,fi";,cug
'u66T rssard
acuang aqa
opq gggl
'ft7tl6aqu1 to .f u1 .sura1s,(so1ddrc ur seJnII€J IocołoJd .guool^tr 'H 'LEI LZI'0661 WOCIA1C4S lo s6utpaacol4 '(q*q-ru) VrHo .x .Irrcncv,tI141 .5
lo
'(06,or
SSSI '8fg-q6t
'6661 'sser4
acuatcg aqtr
[eossNr]
lsssaNrl
IrsssN] [ossaNr]
lzoolrtl [oorolrt]
Iiorlnu]
'fr'6o7o7dfr^l7 fi^'to"t'odu,a1
.T
.c
.d1r1erurrd JoJ s}sal pue srsaq1odi(q
,punof
.ug.I.IIIĄ
s(uu€tualll
'ftyt'lncag "n1nd '6961 'suog pue '{e111 utqol -Iuoc u? uolsuaulxo nłeN V :fi,qdu6o7dfi^'tg .SVAJVW .S oNv us^slĄ 'c
łs€J
aJ€.^,.\lJos
'700U
Y
Izo'łn.aru]
IseUĄ] [szIIĄI]
IzsIĄI't]
lszHIĄ]
g'fi,6o7o1dfil
.s.Iyrrsntr
'(68,OJdAlrC
aJnJaS .gTxusntr
.c .lI
.uor1e1uaura1dluT
'Y 'S
ur sacuDapv '(scg) aruor,sNv
lzrsaNrl
'fr,6o1o7dfi^t9 fr-t
uol}cunJ qsBIł rlq.8uT .VJY1vu .I^I cINv
-dAUC - f3o1o1d,{r3 ur sacue.tpy) '8tg L?,9'(tOOf ) 299'acuatcg "tay .IHcncVAIIĄ 'S -ndulog ul, saJoN aJn?)e1 i(11ue; raqdtc 1ygg oqtr, saBed, 'fi7t;6a1u1 uotlou-t"to{u1
.c -uoc uI.sern1euBrs I€łIBIq .o1I^Ą .d oNY usdld .d .TTsHc.lIIĄ .f '(98,OJd^'trC
- ,{3o1o1ddr3 ur sacue,rpy) 'g1V-nn'(gsOf) g17'acuatcg laTndu-top ur, sel.oN arnparl 'fqder3o1d,,{rc ur sa rnc ctldqle Jo sasfl 'us'I'III I 'A 6Ot '(SfOf ) 91 'acuazcg suL'a1sfig pun .taynduo7 lo
'flt
'gtS 929 '(SZO1 ) V7'filoaqtr, uo łuoxJ)DsuDą 4EEI .sr1cesdeuą roopder1 ur sarn1euB uol}etuloJul 8'IPIH .NYI^ITToH .g .IĄ ctNv
-Is pu€
uoz4otll.t,olu1
sTxusry .c .1J p .c 'u
'89-gt'(066I)
.uol}cunJ qseq de.łr-auo {o ynu"l,no1
.(ooor) ggv ,acuazcg .gvn "n1ndluo7 8zv - '{3o1o1ddr3 ur secue.łpy) ux sa:.oN aJnJ)arI
.sTxusntr .c .lJ .Sgo Puc suol}JunJ qseq dełr ouo TZ'WCV aIft lo suox?DcLunul 662-V6Z'(gZOf )
-?l,,oc .slauu€Iłc oJnJasul JaAo suoll€cTuruuluoc
'INM 'DuDilLoso+s o{o.tioy 'c .d .ssZgNsIĄ .f .V
.dźJy .aNoJSNYA .V .S oNV .loHcsuoo NV^
.vzzjoz . (eoor ) g, ft6o7o1d,fi"l,3 {o you'no 7 Jlaql pu€ .oNo.r,SNVA 'V .s ctNV SsZsNgIĄ .f .Y sure1sdso1ddro aAJn' 'tldilg .1661 .3e1.ren-raBurrdg .f89 .Ioł 'acuarcg .taynd,u,top ux saJog arn+)arl 's6uzpaaco-t4 -oyd,fl"tg
g6,ga4ngg - fl,6o7 'f 'Y
oNV sszsNs6
[voosIĄ]
IoosIĄ]
lszsw] ltooz,tzrw] [eonIĄ]
lronltl
vrivacoruarg
rz,t
BIBLIOGRAFIA
422
lNBSe4l [oo87]
Digital signature stand,ard^ National Bureau of Standards FIPS Publication 186, 1994. A. M. Ooryzxo (Eo.). Aduances in Cryptology - CRYPTO'86 Proceedings. Lecture Notes in Computer Science, vol. 263, Springer-Verlag, 1987.
[oxs3]
losss5l [Pł87] [Po86]
[Pr86]
T. oxłturoro. Provably secure and practical identification schemes and corresponding signature schemes. Lecture Notes in Cornputer Science, T4O (1993), 31-53. (Advances in Cryptology - CRYPTO'92). H. ONc, C. P. ScHIvoRR AND A. Sna,trrn. Efficient signature schemes
based on polynomial equations. Lecture Notes in Computer Science, 196 (1985), 37-46. (Advances in Cryptology - CRYPTO'84).
W. P.ł.rrpRsoN. Mathematźcal Cryptology for
Computer Scźentźsts
and Mathematicians. Rowman and Littlefieid, 1987.
R. PBRa.lr,ł. Simultaneous security of bits in the discrete log. Lecture Notes in Computer Science,219 (1986), 62-72. (Advances in Cryptolog' - EUROCRYPT'8'). F. PIcHrnR (Eo.). Ad,uances in Cryptology EUROCRYPT'85 Proceed,ings. Lecture Notes in Computer Science, vol. 219, Springer-Verlag, 1986.
[PSe5]
IPB45]
lPH78l
IPo88]
J. PIopRzyx
AND
R. SłnłvI.N,ł.Illt(Eos). Aduances in Cryptologg in Computer Science,
_ ASIACRYPT,9Ą Proceed,ings. Lecture Notes vol. 917, Springer-Verlag, 1995.
R. L. Puq,cxETT AND J. P. BunN,t,c.N. The design of optimum multifactorial experiments. Biometńka, 33 ( 1945), 305_325.
S. C. PoulIG AND M. E. HpllMAN. An improved algorithm
for
computing logarithms over GF(p) and its cryptographic significance. IEEE Tfansactions on Inforrnation Theory, 24 (1978), 106-110. C. PorvrBR.c.NCE (ED.). Aduances in Cryptology - CRYPTO'87 Proceed,ings. Lecture Notes in Computer Science, vol. 293, Springer-Verlag, 1988.
[Poe0]
C' Pol"toąe.Nco. Factoring. In Cryptologg and Computational Number
[Po90,ł']
C. PoNron,c.NcE (ED.). Cryptology
[PGVe3]
B' PRnnool, R.
lPGVe4l
Theory, pages 27-47. American Mathematical Society, 1990-
and, Computational Number The-
ory, American Mathematical Society,
1990.
Goy,q'nRrs AND J. Vł'tvopwn,llp. Information authentication: hash functions and digital signatures. Lecture Notes in Cornputer Science,741 (1993), 87-131. (Computer Security and Industrial Cryptography, State of the Art and Evolution, ESAT Course,
May 1991). B. PRoneol, R.
Goy,c.pRTS AND J. V.łnpowa.llp. Hash functions based on block ciphers: a synthetic approach. Lecture Notes i,n Cornpu-
ter Science,773 (1994),368 378. (Advances in TO'93). [QGeo]
Cryptology CRYP-
J.-J. QuIsąuATER AND L. GuIllou. How to explain zero-knowledge protocols to your children. Lecture Notes in Cornputer Scźence,43ó (1990), 628-631. (Advances in Cryptology - CRYPTO'89).
'V0L-669'(fgOf ) gg
'fr^toaqa
uor?DulJotul uo suol,?cDsuD4l flgal .rua1sfso1dt{rc u€uIIaH-ePIJatrĄI Drseq aql 8ur>1earq ro; ruqlrroSle eurrllerruoudlod v .urwvns .V 'trg-zrg'(6f6r) zz,.Wcv aqy lo suot7ocxunu'L,tlloc .leJ'os ts aJtsrls ol /r\oH .uI}ĄIYHs .V '9661 '3epe4-"ra8urrdg ,glf .lo,r 'acuazcg "ta7nduog uL seloN arnJ)arl 's6utpaaco"t4 A6,J1^ACS1V .f ux sa"uDftpv .(sog) cr.raHz -l oNV
-
fl6o7o7d,fi^"tg
^uusErss ,tgŹ .Ior' '6661 .Be1ran-re8urrd5
'acuatcg "talndulog ur, seJoN eJn?ca7 .s6utpaaco.t4 fi6o7o1dfi^tp
ux
uy
.
ą
ltSHSl lozus]
[OOaS]
.
.f
'VLI-T7I'(f
qNY
^uusgss ,fi6o7o1dfilp
'2006 'JNM 'g nqfrz)t m amogpolz fituol6 ,fi7o1o7ol4 .mgqńyqo.ld o1p olo"t,6o1dfi"ty .EsIsNHcs .g
fa>1 urapotr41
IZAZS)
06,J1^ACS7V
.f snuDnpv '(sog) x,rzudurd .f oNV ^Eussss fi,1z.lnca g .l,a1n dul, o g .f 686 I II€H -oct1ua l :fi'ydn"l6o7dfr,-t.9 'x^Zudsld .
o? uotJcnpoJłu1
OOf ) V {o ynu -Jno[, .spręc 1reus {q uor1eraue8 arn1eu8rs lualclgg .ul{oNHcS 'd .c -o"l'd t, frtu1fl"t,o67o
'eL-zL'(t66r) (s)t.Lz
'uocl"taulv c{tyuazcg .Surlnduroc patnqrr}srp orncos .usTTIHcS .I .f '6661 ,Bepan-ra8urrdg .fi.t1d,o.t6o7dfr^tg fiay-cr,2qn4 .vvJ rorvs .V
'V661 'suotTocr,ununuoC "ngndtuog ur readde qT, .senbruqcel .c .d .Y ..łl aNV lsddsnll '9661 ,8epen-
1uauaer8e
.JoHcsl{oo NY^
[osas] [roc51
[zoozc5] [fOcg1 [OOvS] [ro,,1g]
-ra8ur.rdg '8gg 'lo-rr tacuazcg laqnd,uog ux seJoN aJnJ)erJ .s6utpaaco"t4
66,Jd^ACOAng
fi6o7o7dfllg uL sa)uDapv
.(.og) reaaang
.y .U
'9961 '8epan-ra8urrd5 's.nqdzg u]DaJłS {o u6lsaą puo szsfiyrluy ..Isddsnu .Y .tI '9661 (fe1sa16
pnąa)
suoz1nc7'yddy
sJ1,
uosrppy .(,tolf1pg
puD fl"t,oaqa Jaqu'LnN frl'n1uau,a1g .NsSotI
'91T-OZI'(gZOr)
'H
Iz'WCV
.y
{3o1o1dd;3 ur secue,rpy) 'TTt tgg ,(tOOt) 2gg
3ur1sa1
tr
'(06,oJd^trc
616
[gOnU]
|ssnu]
|szvstI]
,acuazcg -talnd,uog
aqJ .Lss^rl{ .T .U .766I 'IIIH-
'88T-8ZT '(OeOt) 71 'fiioaqa -t'aqu,n7J {o ro; sruq1rro81€ cIlsITIq€qoJd .NIaVu .o ''{ .t,ol fr^"t,o1nloqo,I
t' ZIZ-UIf 931'ytoda g
JIIĄ1
.uoIl€zIJołJ€J
s€ suol}JunJ .{a>1-cr1qnd pue sern1eu8rs pazr1rSrq
.NIaYu
sB
[fOrU]
lrouu] losvu]
alql1
.o .IĄ
'6661'8epan-re8urrdg'Vw .Io^,acuazcg ur sa"uDapv .(sog) orrv,tsoNv1
[eoog]
aLl?
{o suozlonunu)IuoC 'sura+s.,{soldfrc fa>1 cqqnd pue sernleuBrs lelrBrp 8uture1qo JoJ polł1au V .NYnIs.IqV .rI oNV III}ĄIYHS .Y .rss^IlI 'T .lI
-
uL seJoN arnJ)arJ 'urq1rro81e lseBrp aBessaur 7OI
.ssHE .^ .W
,suo1,?Dcxunu1uloc aJn)as puo ńqdu6o1dnJc
-.rr\€JcctrĄ
Ioulnof 'f1qeurrrd
'
1Dlxulpal e)uaxJs .t'a1ndu'og -c€J}uI
talndu-top uL seJoN arn?)arJ 's6utpaacol4 6g,Jd^ACOg2g .f -d,fi,.t.g
lozvu]
fr,6o7o1
'1-.1
aNV ua.r,vnbsIn$
tzv
|oołb]
VI.IVECOIIqIA
BIBLIOGRAFIA
424
[Srr90]
A. SHłlun. An efficient identification
[SH9a]
A.
[SH48]
C. E. SH.łNNotv. A mathematical theory of communicatton. Bell
[SHa9]
C. E. SnannoN. Communication theory of secrecy systems. BeIl Systems Technical Journal,2S (1949), 656-715. J. H. SIlvpnMAN AND J. T.łrp. Rational Points on Elliptic Curaes.
scheme based on permuted ker-
xZI;"!TłT:Ii!iiłł_K!{"|;;ence,435(1990)'606_609.(Ad.
[ST92]
SrrłIvrIn. Efficient signature schemes based on birational permutatiors. Lecture Notes in Cornputer Science,773 (1994),1-12. (Advances in Cryptology - CRYPTO'9S).
terns Technical J ourn al, 27 (1948),
37
Sgs-
9-423, 623-656.
Springer-Verl ag, 1992.
[Sr92]
G. J. Stvtr,torls. Authentication theory/coding theory. Lecture Notes in Cornputer Science,196 (1985), 411'-432. (Advances in Cryptology - CRYPTO'84). G. J. Srutr,toNS. A natural taxonomy for digital information authentication schemes. Lecture Notes 'in Computer Science, 293 (1988)' 269-288. (Advances in Cryptology - CRYPTO'87). G. J. StrrtrvroNs. A survey of information authentication.In Conternpo-
[SI92,ł']
IEEE Press, 1992. G. J. SIltlvtoNS. An introduction to shared secret and/or shared con.
[Sr85] [Sr8S]
[SI92B] [SB92] lSB93l [SS74
rary Cryptology, The Science
oJ
Inforrnation Integńty, pages 379 419.
It Contetnporary Cryptology, The Science of In,torrnation Integńty, pages 441 497. IEEE Press, 1992. G' J. SlłtrrtoNs (Eo.). Contemporary Cryptologg, The Science of Inforrnation Integritg. IEEE Press, 1992. M. E. SuIo AND D. K. BRaIvsrło. The data encryption standard: past and future. In Contemporary Cryptologg, The Science of Infor' mation Integńtg, pages 43-64' IEEtr Press, 1992. M. E. SvIo AND D. K. Bn.q.Nsr.c.D. Response to comments on the NIST proposed digital signature standard. Lecture Notes in Cornputer Science,740 (1993), 76 88. (Advances in Cryptology CRYPTO'92). R. Solove,y .ł.l,to V' SrRłssplt. A fast Monte Carlo test for primality. SIAM Journal on Comput'ing,6 (1977),84-85. trol schemes and their application.
d,anych w sieci i intersieci. W teońi i w prak-
[Sr97]
W. SI,łLI,INc s- ochrona
[Sr88]
D. R. SuNsoN. Some constructions and bounds for authentication
[Sr90]
D. R. SunsoN. The combinatorics of authentication and secrecy
[Sr92]
D. R. SuNsoN. Combinatorial characterizations
[Sr92ł]
źgce. WNT, 1997.
codes. Jountal of Cryptologg, 1 (1988), 37-51.
co-
des. Jountal of Cryptology,2 (L990), 23-49.
of authentication cc>
I75 I87. schemes. Designs, of secret sharing An explication D. R. SrINsotv' des. Designs, Codes and Cryptography,2 (1992),
Coiles and, Cryptographg, 2 (1992),357-390.
.z86I (ssald
sssl
.16_08 saaęd ,acuens
Ja+
IssI,ĄĄ]
's6ut'pa 'Be1ran-ra8urrds '8TU '1ott'acuatcg ta\nduog ux seJov arn?raT .c .H sacuDapv.(.og) snvlr.Il^Ą.
[zsv,t]
-nduoc lo suoąnpunog eq? uo lunl,sodulfr,g yonuuy pJ66 eqy {o sĘuzpa -nord uI'suollcunJ roopderl ;o suorlecqdde pue froeql 'oY 'Y -noJd g8.oJd^ac _
'9867
fl,6o7o7dfl^t'9 u|,
'6ZL-9ZL
.(ogor)
.arnpecord 97 ,finaqa uoz1ou"lolu1 uo suo1,J)DsuDą gggl
.SIĄVI.I.IIM .c .H uot1ddrcue da1.ct1qnd YsE olłr Jo uol}€Jglpoul V .(uorssag dung g6.gtr,d^tlc 1€ pe1uasard os1e) 7661 ,{eyq .erwe119 ..{1tsre,rtun uo}alJtsc .acuarc5 ra1nduo3 Jo IooI{JS .€p€utsc .qcJ€as f"{ tual'sg .usNsIM .f 'I^I
,w?'1ul podar 1ecruqcal .suoll€c]Iqnd
SEo
.fit1do.t,6o7dfi^l'9 1uz"l,oaddnszg
'(OOO1) 7'fi6o7o7dfil9
lo
JoJ spunoq DI}oJoaq}-uo]T3IuJoJuI
.o
.usN^VM .d
ynu^t'no1
'sua1
.usxTvł\ 'W
[ost,/v\]
Isssł\] Isov,/v\]
[oovrvr]
'7867
l'{sraqslTqnd Ily 'cuog.III NYA .Y .c 'H '686r
o?
(zo..l,a,łuc ouns _
'tzf
[ts.,rn]
Ieo.r,'r]
lssJ,nl
loen.,\l
.{3o1o1d,{r3 ur sacue,tpy)
'v66r
-e"ord
lroI,trt]
'8867
.HS.IoM aJuoIcS pJoJxo .fi,t1do.t,6o1dfl"lp puD sepoc
.9661 .ssar4 clrrraP€cv
't7T-TtI -sds uor1ecr1uaq}n€
.ssar6 ggg1 .tgv_8gv seŻr"d ,acuat,cg .l,a1ndu't,o9 lo suot,1npuno,4 aq] .uol}€Jaue8 raqrunu uo unt,sodulfi,g lDnuuv ltłg6 e14 lo s6ulpaaco.l,d uI .INVuIZVA .A CINV INVlJIZVA .n tuoPu€JoPnasd arnces pue }ualclgg '(fOOf delt'asrnop .fqde.rBo1df:c I€IJłsnPuI pu€ aygg .uor1n1o^g Pu€ 1IY aq1 Jo a1€ts dlrrncag relnduro3) '98-T/ '(t66I) I?L'acuang "t'alndut'o1 ux saJoN qtl.tl a8ueqcxa fa>1-1arcag .cung.IIJ NV^ .f aJnJ)erI .uolł€cl}uoqln€ cluraP
'886
-ę3Y JaAnIx 'ft6o7o1dftl'9 o? uoxJ)nPoJ?ul
.sraqsqqn4 cluraPecY Ia.łAnIx .suoąoct1ddy t1p'n sapoc 6ul,1ca.uo9 .lo.l uol,pnporlul uv 'J,oHCSIiOO NVA 'C 'd ONV SNO.ISNYA 'V 'S
-rg
.
'fft-ggt '(gOOf ) ggg'acuazcg l'ayndu-top uL saJoN arn?)arl 'sernleu8ts .Ngsltsosd .d .J CINV JSASH NV^ .g do1s1re; luaTclso ał€Iu oł,Ąó.oH 'Belran-raBurrds
leoaHnl
'1ott'acuarcg .ta\ndtuo) ux sa+oN aln?)arl 's6utpa
71.OJ1AAC -
fi'6o7oqd,fr"tp
ux
snuuapv'('og) r'rosxtrs 'U 'O
[ro'rs]
VITVADOIIAIA
9ZT
Skorowidz
e-algorytm przewidywania poprzedniego bitu 375
409,4r0
dobieństwo błędu 139 Monte Carlo 130, 140, 375,376, 402 - -, negatywnie nastawiony 131, 375 , neutralny 375, 376, 378 , pozytywnie nastawiony 131 _ _, prawdopodobieństwo błędu 131, 376,377,378, 384, 385 neutralny 375
84
- podpisu
rozróżniający 374 (,b'
algorytm Millera-Rabina, prawdopo-
I)-PRGB
360, zob. leź generator bi-
tów pseudolosowych
A adekwatność388, 389, 398, 405, 407, Adleman L. 116, 157 Agencja Bezpieczeństwa Narodowego
Alexi W. 384
alfabet binarny 22
- klucza
strumieniowego 21
p-1Williamsa152
Pollarda I52, 163 205, 220, 226, 255, 256, 266, 273. 286.30r
- - TSS
algorytm deterministyczny I3I
- Dixona
-
154
,,dowodu fałszerctwa,, 226
_ dzielenia próbnego 152
118-120, I22,126, L27, I4I, 154, 158, 180, 183, 299 - -) rozszerzony 119-121, 126, I84,20I _ fałszowania 392, 393, 395, 405, 406,
-
r57
Las Vegas L4O, I4I,149, 163, 173 - -, probabilistyczny 237,239
- Lenstry 154 - Millera-Rabina 139
130, 131, 137, 138,
189,
- probabilistyczny !3I
_ programowania całkowitolięzbowego Lenstry
- Euklidesa
4r0 dla problemu 3-kolorowalności grafu 405, 406,4I0 izomorficzności grafu 393' 395 Huffmana 56, 69 krzywych eliptycznych I52, I54, 156,
256
Pohliga-Hellmana L68-I72, 185, 200,20r
195
przewidywania następnego bitu 367,
-
368, 369, 370, 378, 384 poprzedniego bitu 374,375
rozkładu na czynniki pierwsze,
zob,
algorytmy faktoryzacyjne _ rozróżniający 368, 369, 370, 375' 378
-
Schoofa 188 Shanksa 167-168, 185, 189, 20L,232 sita kwadratowego 152, 156, 157
Solovaya-Strassena 130, 131, 134, 136, 137
_ ułamków łańcuchowych 152 weryfikacji 204, 205, 207, 2I5, 226, 266,286 znajdowania khtczy II4
ILz
8st
.o
aJeI€M aP 80t .V .f s.I1\€c[ fgT .W .o łJodua./\€o
.69z ,99z ,99Z
L9ó
{Iu^\o}€p
,99Z aTu€1dol€p
fqz
.I
tOZ'V6I'961
Seiw -
76I 't6T .{cbusorradns 08t '8ft 'u98 qc't,rroso1opnasd rrr91rq 8Łrc
grt,'Lgz'68r '78 '97 'gZ '6 'L o8euzcger8oldfrrl nurels,{s ,67'ć,9z7' LLZ,qEz '
ZZZ'ZIZ' OIZ'
8OZ
696 n1o>1o1o.rd
ggg qcflrłoso1opnesd
ltrt.o1rq
ero1ereueB _
Eg?,'gVZ' ItZ' 6E?, n19r4s
t[c>1un;
u9 ał?uo{sop €Iu
-
tt8-ztt
-e'uo41.'(zn19ds^.t ,
nł€Iuolłcs o8au[e1
ztt'908'vgz
.ttt .| qol€uog 2gt .96 'g raąag I8Z 'V laulrag
v9t'ro7''g roqc un€qc
67
,Lgz ,z\z ,Ttz .o
.d
69
.d ululaqcn€ag
ZLI'ggl'791
nPel>1zor
-
69t 'ggt 'qgt 'rgt 'ggt 'zgt 'Lvt'gvE'7gg ezeq
cgc
Lgz.q
rc/\ę,a
.o suIł}Y fgT Zg'Zg'gV urfue.togfzsez - -
78 'Zq '8t ,LE ,gz, urfu.ryref IIIałs{al ul'tuęuz ez
IgI 'gZ urfue.tro4dzsez
.78t .8sT .69 .D pJ€ss€Jg
.y.o
TgL
-
.8TI .96
.68 .9z urfu,rnef ula}s{al urdue.rq,{.łr z _
P€łspu€JB
ILZ
ggg'1 redog
ercglifurt
-
nsrdPod nleuaqDs
g6t .90z ,LII,zg.g7 ełlotuezc11qo _ 8ft-8ft q€ nqs €tunlg ?tunlg _ _
PJ€Bul€o
o .c 60ź n€adalc t8t 'ggt 'ZEZ'O. qlrrusraddo3
.Igt .09t
l97 a^to{unl€,tlzaq _ . Zgz, Igz 6ZZ, z7,Z 78 SsG nul1fro81e o.łl'1suazcetdzaq
vzt 'tot 'J qtag
_ 17 '11 oletc
98T-z8I slol€c
6ov
Tou Pntsq€Iłc tlr '88 'f8 '98 SdC L6?,'Z6Z ,16z ,68z ,88z ,L8ó ,gLz ,ggz 1e4g.,(1rac .Ż8 .98
8TI
89t 'I I 'g 11ecode3
a
c
gg '23 99ouzcd1ue1ne
80t 'w ralsarrrrng nzt 'd'r uerurn8 .f9€ ,zo8,Ioz.zTT 'd .g IIałcIJg 8g8 8SI 'W'C[ pnossarg fgl 'u luarg fallerg 788 '89T '4
607
ZII
90€
L9Z,Y sJo€I€ssog Itz 'g 'N 'f sog
LZI '8II
urolr7ozf,g1,tt'od
.08z ,LLz,gLz
z
-||Jzgl
68T €u€ullaH_e811qo4
6vz,wz.6t(' ulzPoln erup Łpo1au
-
'VLZ't,LZ'627 n>1porg-,rl. znr1ul nd'(1 tsł\o) zllęnęo1d,.(rr1 .qoz ,f.rrocluz9t
auzcoq
LgE'I8?,'C oPunlg
fog 'g6t 6rs eruerrtdzsPod 80t 'Lot 'ggg eruar'nelspod zezrd
607 't88 'o8t 'I I urnlg T8Z 'U ulolg f6 '96 '86 '26 .98 .78 .88-18 .gŹ .72 qerr*e1spod łolq doll1etg
-
4u1e
I lzsar eldlaurYfue
fgg'g'D
07'H uoluY
22 rcgolsdzred 1tq 16 'g lu€qlg
-
16 'gB 'ZZ ecbfezcn14dn
.LgZ
IOI, ,{uzce1dzeq
.EgZ ,og7, nt9Jłs PJ€Pue1s
Lil-1il
696 errrfleurelle
rfcezdrol>1e; druY(ro81e
ZOIIAOEOXS
LZV
SKOROWIDZ
428 dekodowanie syndromu 197 den Boer B. 257
Denning D. 40
DES 52, 66,72-rr5,116, 130, 249,251,
-, ,
260,285 l-rundowa charakterystyka 101 3-rundowa charakterystyka 102, 111,
II4
84,
czas_pamięć 89-91
-, kryptoanaliza 9I-II2
macierze liczników 98, 99, 105 100
, permutacja początkowa 72-73,75, 91
, S-blok 74, 8I,84, 85, 92,93,96,97
-, tryb CBC -, - cFB 86
, ECB , oFB
-, tryby
86
86-89
3
liczb całkowitych modulo 252 - modularne 291 domknięcie 333' 353 dopełnienie 252
ECB 86, 113 element neutralny - odwrotny 10, 11
3
- pierwotny
184, 208
EIGamal T.
165
r
modulo n I24, I25 przeciwny 3
entropia 52-60, 32I-323, 324, 325, 349,
32I-323
_ tajnego schematu współużytkowania
_, wejściowa róznica syrnetryczna 92, 93, 94, 101, 102 _, wektor początkowy 86, 87 _, wyjściowa róznica symetryczna 92, 93, 95, 96,97,101, 102 -, zestaw podkluczy 73,77,78, 80, 99 Desmedt Y. G. 303 Diffie W. 85, 116, I57, 23I, 273, 28I
długośćkrytyczna 65, 70 dodawanie, element neutralny 3
E
- kodu uwierzytelniania
86, 363
Digital Equipment Corporation digram 42,62,63
342,343 dystrybucja klucza 260-283 - - przez TA 261 dzielenie próbne 152
350, 357 języka 63
86
-, - przeciwny
o obliczeniowej wiedzy zerowej 400,
dysjunktywna postać normalna 334,
85, 92,93, 96, 97 funkcja rozszerzania 73, 75, 85, 96 -, _, kompromis dotyczryy wymagań
'
dowód fałszerstwa 230-23I
_ przez wiedzę 288 DSS' zoó. standard podpisu cyfrowego
115
-, 6-rundowy 100-111 -, bezpieczeistwo 84 -, blok podstawień 74, 75,81-83,
-, n-rundowa charakterystyka -, rz-rundowy 100 -, opis 72-80
dla problemów NP-zupełnych
400
402-407
, 3-rundowy 93-100
-, 4-rundowy
doskonały tajny schemat współużytko wania 332, 333, 334, 337, 339, 341, 342,349,351, 354, 355 dowody o wiedzy zerowej 387-410
85
349-352
- warunkowa 60,6I,322 , własności57-60 Estes D. 232
etykieta uwierzytelniająca 306, 3r5,322
307,
F faktoryzanja L28, I52-I57, 158, 253, 268,364
-, algorytmy
152-158 , baza rozkładu 154
_, dzielenie próbne 152
-,metodap-II52
-, - sita kwadratowego 154156
_ przez pocztę elektroniczną 157 fałszerstwo 236
FEAL
112
Ttz,LgI
fgT 'g 'c e8PrrploH I0z 'c 'o u?ruJoH
,9II .zII
7I 'S JałsaT IIIH
.g8 .g .IĄ II€u{IoH T6 Alu?1laozseq
.f 78t p€tsBH l9z 's JaqsH
788
8l,t-tf I o1r\lsuozcalozoq'
.8l,t-Tf € nqs_€ulnlg_€ulnlg 8q
829 'ggt orrtlsrlazcerdzaq
ZqT
.I^tr
€qnqS_€uInIg_
8 euz)Iulp e^Ęun;
/q
o.^^op€ł{s
'Z,Z
79t YSU 'L '9 '7 ecbtntlfzs /gz nJreus
-
692'6VZ'7VZ'qVZ
._ ,wz LEz.9g7 er'ło14tguo4zaq eru1ts _ 1y7 etztetdzaq oru.oluezcrTqo ' .
996 o.rrols
69z,vgz eluęz.;azszol e[c4un;
.
'rgt-tgt YSU
.tgt
.{cŁ|eurcqo _
ełseP{ń'l'
996 ecŁte8Łtc9
LZI 'gg
gtu €lAotłIuuo{zeq oq€łs ._
-
J€Jc
'-
._ _ _
tgz'o9z 9CIIAI - ,0gZ orra.ols ,IgZ -196 drlsalar'tgz o.tłlsuazcetdzaq '- - 992-O9ZTCIII-ggTeuzcgetBoldfnl' -
arttcge1.til. ._
9Źt
711 .,{uemorat4s
'w 'o uoProc
.088 '8ft .S IassB.Ą'\PIoc 6Of 't8t 'O qcIorPIoD
-
urfularls.{p erur/reBo1 eu dpedo
788
ggg
88t
'- - -
78t
.88t .T8t .8f€ .oft .69t .l,gt .99t
.79t-Tg€ .699 qcd.toso1opnasd A9łIq -
_€ulnlg ro1ereua8 .qoz .Sgg ro1ereueS
c
H 88t 'C 'C raqlunc 'L6Z'C '1 nollrnc
6OV
. 761 n1ueura1e pŁzr 78I .Ąl\gu€Iulo1arlt qcdn'orazaru _ g8I' VZI eu,td1e411dt11nur
T8I tU,tuozc -uo{S Iuoł€IJ peu leuzcd1dr1e [arrr.{zo1
zgT 'ggT 'vgr '6Lr 'v71 euzrl.ln'tc .sto1ep €ł€Ic _ 1g1 eu'v'.d1a1t1dt11nur g8T '6TT '7 e,u.o1eqe y ednr8
g}v.zov olu€1t\oJolo{-€
tgt 'LVt 'g7g duled 'fulerzpolar,t .ugt dulgds €9t
-
ggg,{uerrlorlnput ;er8pod g7g dulad ggg fuzcgroruozr
L6t '96t '969 't6t '268 'o6t 'ggg;er8 .E slJa€^oc Lgz 00u
607
69'IAI'C alploc I8z,8Lz.IĄ lIn€JTc vUt 'N 'g Foqlc LgZ'N'r uosqlc
-
7gg qcfrtosolopnasd qzc11
78t '88t
._
Źtu €^Ao{unJet4oupaf
-
692'WZ-TVZ ue,r_euln€Iłc _ _ . _
€uu€ulzllld_€1sfre11 t,g7,
.gv?' ,Iv?, ,6tz o.ltł1suazcardzoq
98z €1ńotłIguoązeq
ov?'-6g7,
.
ulzpoJn e1up Łpo1eur ł1łe._ _
IOI'L6Z
'z6z '982 '992 '692-9t?, '.gou nlgols ,vgz .g8 .9f ,tL e|uęzlazszol 69z 96 tfcąnpar _ Ź9u qs€Ił-N _ 8IT 'ZTT tuarcgfe,u. utlwzcoq z - LIZ
.glz,gI7' .8TI .fII en,oąunrer4oupel _ efcąun; .qoz .ełbtnzsel7 _ n19rr1s
0T srolng
ZZ,II,L.9 .6 ecŁfnr;dzsap _ zgu €{s.[olooq _ 8 euzJIuB€ e!c4un; (aJIoM) ul€lill,ĄĄ u€tupol.\4
-
'fgg 'Zgt-Tgg fitrtoruq 'fufdcuanr8uo4 16 o8arl.roruerrunlls €zcnlł _ 329 duletuzgr ro1ereue8
It
.zT .y łelJ
ZOI,MOEOXS
6Z,V
t.t
-po-a .eqnqg_€unlg_€un1g
SKOROWIDZ
430
I iloczyn macierzy
kody Goppy 196, 198 _ uwierzytelniania wiadomości 305-325 -, atak przez podstawienie 305, 307-
15
-309
- skalarny 3I9,344,345
- - -, bezpieczeistwo
Imai H. 275,28I
-
indeks zgodności 33
- -, wzajemny
36, 44
indukcj a matematy integralność 87
czra
17
związane z entropią 32I-323 ' podszywanie się 305, 306-308
_ _ _,' prawdopodobieństwo oszustwa 305. 306-313. 320-32r
kombinacje liniowe 14 konfiguracje przeĘtniowe 314 konflikt 239, 240, 24I, 243, 246, 248,
J Johnson D. S. 409 Jungnickel D.324
253 kongruencja 8, 9, 10, 11
K Kahn D. 40
kanał komunikacyjny I,2, LL6, 260 , bezpieczny 260,26I Kasiski Friedrich 31 kleks 400, 40I, 405, 406, 407, 408
koniunkcja 252 koniunktywna postać normalna 334 konstrukcja Brickella 343 - oparta na obwodzie monotonicznym
333-335, 337, 343, 353-354, 359 343, 347, 357,
- - przestrzeni liniowej
-
klucz I,2
260
publiczny, samopotwierdzający
27 8,
279
-
samodualny 113 samopotwierdzający 278, 280, 28I sesji 262, 269,27I,272
strumieniowy 2U25, 38, 39, 42, 43, 86, 361, 380, 382, 383
-, uzgadnianie
-, ograniczenia kombinatoryczne 312-315
7
interpolacja wielomianowa 327 Ito M. 357
-, dystrybucja
3L2
, charakteryzacje 320-32I
260-283
klucze błędne 62,63,65 dualne 113
_ rówlowazle 226 Koblitz N. 158, 200,20I
kod BCH 203 - Hamminga 199 _ korekcji błędów 196 _ uwierzytelniania komunikatów 87, 88, 89,113 kodowania Huffmana 54-57, 63 kodowanie zmiennej 54, 55, 57
_ _, długość69 _ -, skuteczność 56 _ _, wolne od przedrostków 55, 56, 69
359
_ ptzez rozkład 353-357' 359
Kranakis E. 158, 383 Krawczyk H. 363, 383 K-rozkład, idealny 354' 355 kryptoanaliza 5, 25-39, 44
- liniowa
112
_ różnicowa 9I-II2 -, operacja filtrowania 104 _ _' para błędna 103, 104, 111 - -, - poprawna 103, 104, 105, 111
kryptografia
z
kl:uczerr' publicznym
116-163. 164-203.260
kryptogram
1
kryterium Eulera I32, I49, I77
krzywe eliptyczne I85-I92, 2OO, 203
-
superosobliwe 189
kwadrat łaciński rzędu n 69 kwadraty łacińskie wzajemnie ortogonalne 314
L Lagarias J. C. 383
LaMacchia B. A. 200
Leichter J. 333, 357 Lenstra A. K. 154. 157. 158
00T
tt8
ttt
€neolc9lalil
€ł\oIcgLt./Y\
-
99oulezŁIDqo
o €)lfłsdJapp.I€qc
vIU '78 YSN €ł\oPunJ-u
97 ?9oułodnz-dN
rtz,'9rz'7Iz 'foz JSIN 967 f.rcd po
l'gt'J IłazIIłsIN fred ?gouzolazaru zzt
.8g .fg €uasuof , LIt,vg.69 'sou1rĄoJolu t8T ?9oul€P€łłzoJalu 0Tr
.9ŹI .ttT .691 e.lto1erp€łr{ T9T
0TZ'69I
6T,Z' gZZ
.o9T
€}zsa.ralu
nłnPou o8au1odsrrr
n1o>1o1ord
-
eruazpo,toderu
nsrdpod ggouprqerpodatu
g08 ?soul€zsnJ€ualu 19.09 z€ DnI{ 9gouzceuzoupaleru gg '69 urerB-u
72 {łez{'rcpll€ls
0f
oJnlg o1(opoJEN zTT 'I
tr
roPN
'6It
.g8I ns{aPul €Iu€zcllqo 68T 669 la,torez dzpatm o
/6T '96I epersbs o8ezszllqleu 9gI essn€D tlceuruqe 1e-Ię
łnPoul
'A
.9oz,.n4e1e
-
aPIreW
.68I .r .Y sazouotrĄ
86I
.u
o)TIgcIĄ
.I^[
lnsł€I^I
eu,|zseul
.S .W fql .f .d
ossPu€W
sIutsITII^ĄD€trĄI
gzt 'VZt,'tzt'TZE'OZt
.zTI .H .f oJoolĄ
t
,vgl .6zI ,8zI auJ€InPou _
OOU
.78t .8ft .S 89€
'flt-glt
.36
-
'71g euleuoBopo ,lrt.9>11uzc{
azJalc€ul
_
6ut €.oPuouIJaPu€A
got
JAIIINtr
'trl
'68 '88 'f8
[ecIIĄ
.gst
-
I
zf usdlcn'I
ggt 'zvt
n1rq o8ecŁzŁrrrt ,qoz .0o7 ntlq oBacbzbltyt
'1 'q 3uo1 UTT IYOT
7gg
-
fgT p-YSU
-
o>11f1
cvl
IĄI
Zgg' 6Vt' 7Vg eupbl8z ll.'e41u1sezcn
1fceturo;ur erettu gz nł€1€ .,tpo1aur '68 't7 '7T-tI
'rII
z9T o €poloul
I8Z'L9e'C 'U IOz,OO?'.06I
Z6t 'y .{apn3c6 I8Z,gLz.I olouns}€trĄl uTI
eTT €JauoIM
vzt .1 .t ,(ass€IĄ t8t .tgt .^ Jnosu€trĄ
vzt,,IO?' '8Tg
66
'6It
.99 .89 o1dzÓ[ cso.tloJ€IulP€u
TUt '9lt '7T8 '60t '80t 'fgt erueruley(zrer,rtn OL'BV 'ZV '17 '91 erue.totl(zs 21 eto4Sztds 961 rcgolsfzred eruezp.Lrerds
N 89T 16?'
67 rfcelnurred OZ' LI'gI'91 eulor,tPo 7Y'1Y eulecvr'/(Po 66 '91 e.riro4lsoupal 17 eu.trflnlorrrut 261 ecbfnreue8 zrarceur
7 duprlneu luaruala 'oluo?ouur ilaqcllntr
rtz,'r 'c
607 '
.n1eureqcs
eupÓ1Sziu'
gIT
61 azs.ltrard arupÓ18złr _ 691 o8ercceuoqlg .{qzc11 _ 8 €u€^\o{npalz
.3 .9 etuerrrt>1nzsazrd o8ecŁfndrczc't.n
?a]
l€ruaqcs
96 '97 {ue,rotlfzsez 1s141
966 nurorpuds
Z,gI 'VET tsralng e'rnosolopnasd
6tT
'OT ezs.r,rrerd eqzcrl
t8t 'Tgt '6t-8t 'tz trsdT
o3e.tilo1erpe'u.4 e11s 9gT €.acu€Jauo4 €słuetłS ru1dro81e .goz .esąueqg _
291 '4 pueldal
vzE'H zvarl
Ioz 'ggl '69r '88T '67,r'8zr *?g.dln -.{,t r n1erpeAł op getupod.. €połoIII
89T
.fgT .7qI .^Ą .H €J1suo.I
ZOI,MOEOXS
rcv
SKOROWIDZ
432
obiekt bitowy 400 obliczanie indeksu 172 obliczeniowa wiedza zerowa 405 obwód monotoniczny 333, 335, 354 odległośćHamminga 196
- jednostkowa 65 - kodu 196 Odlyzko A. M. 200,
201
odwracalnośćmacierzy 16
oFB
86, 87, 113, 363
Okamoto T. 189, 20I,29I
okres ważności269,271 operacja filtrowania 103, 104, 105, 111 osoba dowodząca 387
P para błędna 103, 104, 111
- poprawna
103, 104, 105, 111
paradoks dnia urodzin 239,24I parametr bezpieczeństwa 286, 297, 379 parametry losowości 379 Pedersen T. P. 226,232 Peralta R. 200 permutacja odwrotna 7, 19, 20 _ początkowa 72-73, 75, 9I permutacje 7,I9,20 Pfitzmann 8.257 pierścień183 wielomianów modulo f (r) L82 pierwiastek kwadratowy, główny 373, 375,382 - -, nietrywialny 141
- -, trywialny
141
pierwiastki pierwotne 159
Pinch R. G. E. 69 Piper F. 26, 40,23I Plackett R. L. 324
podgraf indukowany 352 podpis cyfrowy 204-234, zob. też schemat podpisu jednorazowy 215-226 -
- niepodrabialty
226-23I riezapr zeczalny 220-226 podstawienie 306, 307 podszywanie się 306, 307
-
podzbiór nieupowaźniony, minimalny 332
_ upoważniony 331, 332, 338, 339, 340, 345
podzbiór upowa;żniony, baza 332
- -, minimalny
332
Pomerance C. 158 Porta Giovanni 18
postać normalna' dysjunktywna 334, 342.343.354 potęgowanie modularne I28' I54, 29I potwierdzenie klucza 27I, 275 poufność 87, 88
prawdopodobieństwo a posteńoń 48 a
-
prioń 47,
48
charakterystyki 100
łączne 46 oszustwa 307-311, 3I2, 320, 32I warunkowe 46.47.48 prawo kwadratowej wzajemności 135
Preneel B. 257
PRGB' zob. generator bitów pseudolosowych
problem 3-kolorowalności grafu
402-
-407.409. 4rO - decyzyjny I3I, 192,387, 388, 392,394 - dekodowania 198 _ ogólnego kodu korekcji błędów 195 - Diffiego Hellmana 267,268, 269,277, 282
bitr
-
i-tego
-
Iogarytmu dyskretnego 164-179, 180, 181, 185, 1gg, 1gg, 191, 200, 201, 208, 2Og, 2rO, 2r2, 2r3, 22r, 227, 24r, 253, 26r, 265, 267, 269, 279,
L74-I75
_ izornorfrczności grafów 388, 389, 390, 392, 393, 394, 395, 3gg, 3gg, 407, 409
280, 286, 297, 303,364, 394, 3gg, 40I, 402,409, 410 _ _ _, bezpieczeństwo bitów I74-I79 - - -, problem i-tego bitu 174-175
,
Pohliga-Hellmana 168-172
_ _ _, uogólniony 179-181 _ _ _' w ciałach Galois 182
- - - w krzywych eliptycznych 189 _ MTI 283 n2 26r nieizornotfrczności grafów 388, 397, 409
_ nieprzynależnoścido podgrupy 409 - niereszt kwadratowych 409
09 oBo.l1\o)IunJ€.t\
e6t 'gge f,rtletuzotzot '969 fuletuzgrzoraru
69 oBauzcbl
'-
ggt 'ggt euletuzotzot-3'79t '69 '99 'tg 'zg'69 '89 'gg 'gg 'vg 'tg '?'9 'Tg '67 'BV 'LV ertlsyerqopodop.uerd
,zgl ,8zI
azsl.rre1d t4tuudzc
.fgt .99t .8t8 .7tt
-
'gTT
.tz
az
89S
fcŁlepzor
zzueruoo+s
-
88t '99t '89t
.f,.trr'oru11
gII'
IZ,
7I
|
gg .7g eupÓ1Bz,tł _ 797 euzctl4fc g .g atcórunsezrd
618'7,rt
2' 1 Azcnln ueztlseztd
76T aurelnPolu eruac1u1zsąezrd
o.^1roIuII
zgz 'LLz 'Lgz 'ogz.{urerq g1t 'OLZ 'LgZ 'OgZ.{unf14e 4u.tittcazrd 662, 'Z6Z '06Z 'BBZ,(uladnz vz7'źzz, g77 e1uazcaz l f.nr gL7,,vL?' rua1ueru1ay(zJal.lńn z - - _ vLz-rLz'992
uueru11a11--oBagrq ezrnPl fusrtudn 696 1!sas fzcnpl erue,r,reP.,fun'
V6Z '682 'ET,Z 'O?,2 rfcelgfrervr
Z8z,qLz-gLc.zgz I,lIĄ 7,87,'
8
LZ-g
tgz 'ZgZ
l€trĄtr
t8z
,_ z9z €toIłJatrĄI
eueru11a11--o8alglq
Lz, tgz, zg7' Igz €zJnI{ .
'- - -
€Iu€Iupe8zn '982 '98U
_
f8t
g?,z-0zz 7per.łrodpo-erue1,(d ndd1 _ 626 1[ses €zcnlł eluezv>1aztd .[a,ra'orez .{zpar.łl o 617 d1euo>1sop
T6t '96Z '06Z'682 rfcelgfluaPt
a|c>1nper
'tot 'L6Z'f-f ralenbsrn$
T6
-
LZ' 797 oBetevtl-
-durtqser1e;,--o łoulns
.O8z-8Lz .696 e11nertg leulalłcs ._
.rufu1orał.z
.{cŁfe,r.r'nsazrd r1saler
.{ulerapag rlsalag
I
,
gg' TT,' I erue.tnor;dzsep eln8ar
gtT ouJ€InPoru
q8 't7 'qE '7I-tI
.g .q acŁfndrazcf,ra' atuełtt>1nlzsaztd ,_
'gO?,'V8'gg'
8qT
€u p€ł{zoJ
,L1,t, ,gzt,
07'H 'X uasou
ltrgJolqzpod eurzpor
78t €uzJluo1ououl
Lgz'ogz'roz' Lgr'9IT'T'lr lso^Itr 607 '86t 'f6t 'o8t '8fg 'gLt 'vLt 'zLt, 'ut, 'tot .gtl .ztl €1la.ol€JP€l1\)I €lzsa.r .98T .q2T
T8I '6ZI ddnrB elce1uazarder
8zT euJ€ulq
7V '77 ellioruq efcuern4ar .Tg8 .6t .88
urerua7bzrds
6tr
6ft
qTt '908 erueruleldzrer.łm 'gg '09 'IZ'Z'I eruemor;fzs 79t 't98 'Igt '098 ,wt ,Ivtźtt rlcnqfr1si(p _
,6vt .gv1 6 Lt,'
ZII II-COOSTI
-
682 o//\lsuozcardzaq'191o1ord 927 e,rło8arqazrdruu'p d1or1o1ord
60v.c Jo{J€u fgl .o .ntr ulq€u
ggg ndÓpop r€ n1{nJls g,to8ord gg l4npord
II 607
8Zr fure1qord
ernpecord
996 rzparrvrodpo-erue1.{d
96
vLt, .{1zse:opnasd
a^\o}€Jp€lA{
ońAou€IuIoIaT^r
auz€.t\ou.1tĄ.oJ
b
96T
ZTI 'U 'Ntr IIIIJNd 98T lJ9ouozclloąseru rrr 1ąund
u oInPouI
auJ€ulq aruen.r1nzsazrd
1
e
ue.łr.r>1nzs,Lt'
r
.€6I .661 n.rorqzpod .{runs
TtI ?9ouI€P€IłzoJ
_
0w'Lov
.T07 .788 .629 qcf,tło1eJP€1t\ł +zsoJ .668 fdnrSpod oP lc9ouzal€u,|ztd
oI7
661 ..fua'oąeca1d 111 eruen'o1ed
08€
'gLt'ZLt u olnpou dlerpeitloPnesd .8 .9 ecblndrazcdłr _ 7T-tI
-
Ljv'zov'007 '88t '86I
'96T 'e6I 'LII'gV fulednz-4y uralqord
ZCIIAOAOXS
EEV
434
SKOROWIDZ
rozkładalność131 rozróżnialność rozkł.adów prawdopodobieństwa 365 rozumowanie o wiedzy zerowej 407-409, 410
doskonałe 409 ' różlica symetryczna 22, 5I, 52, 73, 85,
gr, 252,361, 390 Rueppel R. A. 40,282 rząd elementu 124 - macierzy 229
-
_
-22r,233
97
Feigego-Fiata-Shamira 302 Guillou Quisquatera 297-30I, BO2,
304 _. _ oparty na tożsamości 302 _ _ _, solidność299 _ _ _, zupełność299
- - Okamoto 29I-297,302,304
_ _, bezpieczeństwo 292-296 _ _ oparty na tożsamości 301, 303 - Schnorra 286, 287, 29I,292,292, 297, 30r,304
permutacji jądra 302 permutacyjny Shamira, dwuwymierny 232 podpisu 204-234, 237, 276, 286, 292,
297, 30I,303, 305 _ _, bezpieczeństwo 208, 2I0, 2I2, 222, 226, 229,233,236,277 - Bosa-Chauma 2I7-2I9, 233 205
ElGamala 207-2II, 2I2, 23I, 232,
233
_ _ _, bezpieczeństwo 208, 2Io,
2I2, 233
__ ,złamanie2I0 - jednorazowego 215-226 - Lamporta 215-216, 2I9, 23I, 233 - - , modyfikacja Bosa-Chatma 2IT - - niepodrabialnego 226-23I
220-
-,
bezpieczertstwo 222 _, protokół weryfikacji 223
,
wyrzeczenia 220, 223-224
RSA
-
232
206
- - Schnorra
schemat Giraulta 262,278-280, 283 - identyfikacji 273, 284-304 _ _, bezpieczeństwo 29o,292-296 - -, bezpieczny 284
-
- - niezaprzeczaltego 220-226 - - - Chauma-van Antwerpena
-, - - Ong-Schnorra-Shamira
Salomaa A. 158 S-blok 74, 75, 81-83, 84,85,92,93, 96,
- -, definicja
- van Heysta-Pedersena 226-227, 233,234
obliczeniowo bezpiecztty 205
Saito A. 357
-
bezpieczeństwo 226, 229
-
_
S
---
schemat podpisu niepodrabialnego,
303
z algorytmem weryfikacji 273,
276
progowy 326, 330-331, 332, 337, 338,
342,343, 357
-
Brickella 344 - -, idealny 343, 345, 346, 347,
349, BS4,
359
- Shamira
-
327-33L, 332,342, 343, 346,358 uzgadniania klucza 260, 282 wiążącego bitr 4oo-402, 406, 4Io
- -, tajny 400,40I,402,407,408
__
-, zobowiązt]jący 400,4oI, 402, 4o8,
4r0 współużytkowania 326-359
_ _, bezpieczeństwo bezwarunkowe 332-
-
-333
doskonały tajny 332, 333, 334,337, 339, 341, 342, 349,351, 354, 355 -, tajny, metody geometryczne 358 wstępnej dystrybucji kIllcza 26I, 262,
-269.27L.282
bezpieczeństwo 262 262-265, 282 bezpieczeństwo 262, 264 ,
' - Bloma 26I,
- Diffiego-Hellmana
265-269, 272
wymiany klucza Diffiego-Hellmana
272.275. 282 Schiller J. L 281 Schnorr C. P. 384 Schrift A. W. 384
serwer kluczy 261,27I Shamir A. 91, 116, 157, 195, 20I,302, 303. 357. 384 Shannon C. 45, 50, 52, 65, 68, 69
SHS, zoÓ. bezpieczny standard skrótu
vgt '167 '892 '9rZ '90e 'o9I '69T 'Lgr'?9r '97I '6tr 'otT 'Lzr-gzr 'vzr 'B:f 'Lrr '9rr Ysu IgI '6qI
tgl
vL
orrrlsuezcerdzeq
./qT 'zgI-LvI u € lq€ll
,IL,8g
-
'- - -
__
.99 .{rrro1ąnpord
V1 tuzc,tpqellerlod ,96I-Z6I ,VgT
.16I'06T €(auolsu€A_€sazauatrĄI
I0z
.00z-96T ,vgl .LII
60v
'tOV '1OV-L81 duf,(clerelur 'npo.trop 69z €zJnI{ €Iu€zcJ€lsop 97 fu|e1 apuołsoP _ gp,,,|uzca1dzaq
'
aI.ĄAIIPo1t\op.. uta1sf s
f6I '96t 'f6t 'g6t 'g6t
urorpu.,{s
907'907 '66t
'769 'e6t 'Z6t ro1e1nur.,{s
z8t,'rLE
-
o8erqoce1 1oqur..(s
z6I
€.ĄAolacop
€ulns
96-66 o8eurrrel n1sr1a1 uorrunrls 699 errroSord
.-
z88 lc9ouzcluo1ouolu ąaunl€n
ttt 'Ztt
e.rnoSord
ZVt Euz)ruolouour
-
'- --
z8 €uo}iAaN
gg1 e,arpuarBal
,zgl .qtl .ŹtT .tgT
19 'ZZ Z olnPour
__
€(aDIIgJtr^d
fTI €lsa^Il{ €Joqc
79' gV fuzcatdzaq orvrolunre^rzoq
-
TOZ,IOZ .211 eueru1e11 €(aIłJaJĄ d.tt'o1eca1d _ _ 002 '16I '067 ,6LI , LII qcduzcf1dr1a qcfrrrfzrą 621 uliuozcuołs alolc eu ,{pedo _ _ gOZ' gV,Auzcetdzaq or!&oluazcrlqo
71 Auzcllaqelleouour
tou
,_ _ 616 (1pn'o1ep) nsezc 4tuzłeuz g27 [zcrq4lJ9ouz€.t\ sal4o ._ _ _ OLZ'69Z rlsas zcnl>1 '- - -
gLZ'ILZ-6qZ'696 soreqrey
99 .{ulualodurapraru 'gg due.roralr ' gg .{uluelodurapl '19 fuleurdcapes>1eq
gg '99 duzcgrouropua
69t 'fgt
'99t '99t '798 '89t 'Ugt 'rSt
-
'' -
'098
'6Vt,'Ltt'9V8'Wt'tvt'6t8'f88 .9t8 .tgt ,Ztt ,Itt ndó1sop €Jnl{nJ}s '96T epersts oBezszrlqleu er8alerls
.lJ'o uosulłS vzt ztz .f uJałS 7II-ZL'Zg qcduep eruerrror;fzs IvZ'9tć'9Iz-zlz Loz o3e.t.lor;.{c nsrdpod PJ€Pu€ls tzt-rct,'gIt 'U It '966 drrrolpgrT uels
.88I .6fT .99T-79I .fTI €I€ru€clg t8t-I8t €Jasse.ł\Ploc-€Iunlg _ _ glt '78 (2 o.nlsgazcardzeq ' g ś1Auzcget8o1dfrą _ oT7 '607 'gov 'LOv 'gov
f6I
691 fuorulg8on '06T-68I qcfuzcdldlla qcdrrnfzr>1 eu'
69z'Bgz,'zoz,'roz'ooz'06I'68I
'869 'T6t '68t '888 dulednz 60t 'EOf '969 ,{utdc>1e:a}ul '- - .oo7.66t .868 ./6€ .96t 607
'g6t '76t 't6g 'Z6t fleuo>1sop
'
-
--
0T7 '607 '80V'LOV
'q07 '86g '68t '889 dulerrr>1epe '-
fgz .S .1Y\ ełlouJołS z8I nu€Iluolarłr uardo1s
,
7z e.trt'oluTl,au1olrll.z eruazózrds ,
v6t L8t '{cŁfezprrlerds PIuIs
zrT 'g
-
w ,8I
-
60v'L0v-90v
06t-
,ZI
'ntr
o.^,.\ozcnlł
oqu
-
o,Ąilołs
V?,t'IOZ'V 'f 'N au?ols 99ouzcałnłs tgz'7,97,
-
'697 le,uorez .,(zpatn la.tloruezcllqo o .- ._ _ 369 d1euoąsoP -ggg n;er3
99 €Iu€./Y\opo{
,IgZ ,Ivz ,6t,Z .9t?'
rcsouzJgJoruozrailt 968-06t l)souzcgJotuon ś'|_ _
.ggg n;er8
/9I
IosoruoPel.Ąe }oDIs 9Źt o1lĄoP€ł{s
.gql 'z9I aAoł€Jp€/tDI _ /gT .gqT .691 o8ar'noqzcll €ł€IJ o}Is
898'VZE'09I 'ZST 'r 'C suouurls
607-
I0z
-7gy ryefi lc9oul€,/t\oJoloł-t ntualq -ord e1p .fu[.{cąe.ra1ur .npo.łrop rua1s,{s
.H .f u€IuJa^IIS
7It
lcors
ZCI.MOAOXS
9w
SKOROWIDZ
436 system kryptografii RSA, bezpieczeństwo 117, I27, I28,297 - -, implementacja I27-I3O zklrczern prywatnym 116, 260, 305 publicznym 26, 116-163, 164-
-203,260,379
Bluma-Goldwassera 380-38
szyfr z przesunięciem 3-4, 5, 8, 12, 46, 49, 50, 62, 66, 69, 70 _ _, tajnośćdoskonała 49 szyfrowanie dwukrotne 113 - probabilistyczne 378, 379, 384, 402 świeżość khlcza 269, 272
-
1,
T
384, 385
Goldwassera-Micaliego 380, 401 j parametr bezpieczeistwa 379 - - -, probabilistyczny 379, 380, 385, 401
- szesnastkowy 81 - wieloalfabetowy
14
67, 68, 69, 70
kryptoanaliza 27-28
- blokowy 20, 21 - Cezara 5 - Hilla I4-I8, 20, - -, afiniczny 4I
-
test Kasiskiego 31, 32, 33
-
, bezpieczeństwo 46 ,
kryptoanaliza 28-3I 70
- -, okresowy 21 - -, synchroniczny 2I - Vernama 51 _ Vigenóre'a I2-I4, 2I,22, 23,24,
-
Itczb pseudopierwszych, mocny 137 _ pierwszościMillera_Rabina 138, 158 - Solovaya-Strassena 134, 138, 158 _ _ _, prawdopodobieństwo błędu 162, 163
-
uniwersalny 369
testi 94,96,97,103, 104, 105, 115 transkrypcja 391, 392, 394, 395, 396, 397.405.406 tryb elektronicznej ksigki kodowej 86
szyfrowego sprzężenia zwrotnego 86 _ wiązania bloków szyfrowych 86 wyjściowego sprzężenia zwrotnego 86 TSS, zoó. usługi datowania twierdzenie Bayesa 46, 47,49, 50, 51, 61, 136 Fermata 139, 153 Hassego 188
produktowy 67 przestawieniowy 18 strumieniowy 20-25,43, 361 , kryptoanaliza 38 , niesynchroniczry 24
- Lagrange'a I24,
40,
43, 68, 70, 7I
bezpieczeistwo 46 - -, kryptoanaliza 31-36 - z autokluczem 24-25, 43 z attomatycznym generowaniem klu,
cza 2L25, 43 - z khczem jednorazowym 51, 52, 360-361
I,2l
3r4
40, 68,70,84
,
- m-gramowy
zaszyfrowany
teoria konfiguracji kombinatorycznych
70
-
zob.
Takashima Y. 275,28L Tate J. 201 tekst jawny 1, 21 _, stały 162
-
kryptoanaliza 37, 42 monoalfabetyczny 32 - multiplikatywny 66, 67 _ ,,nie do złamania'' 50 _ permutujący 18-20' 68 - podstawieniowy 7, 18,40,46,65, 68,
-
114. 360. 361
tajny schemat współuży.tkowania, schemat współużytkowania
szyfr afiniczny 8, 9, 10, II, 12,40, 66, ,
TA, zob. wiarygodny czynnik tajnośćdoskonała 48, 49, 50, 51, 69, 70,
162
_ Lamó'go 130 o liczbach pierwszych 130 _ o resztach, chińskie I2I-I23, I4I, I43,
I44, I45, 149, 150, 159, 159,
162,
168, I72,391, 392
U udział 326,336, 338, 34o,344,354' 356, 357,358