Forca e sistemit të kriptimit, klasifikimi i sistemeve të kriptimit sipas fuqisë. Llojet e sulmeve në sistemin e enkriptimit.
Këmbëngulja- aftësia për të përballuar të gjitha llojet e sulmeve ndërhyrëse që synojnë gjetjen (llogaritjen) e çelësit, ose mesazh i hapur me supozimin se plotësohen një sërë kushtesh.
Sulmet e ndërhyrës
1. Kriptanaliza kryhet vetëm në bazë të kriptogrameve të përgjuara;
2. Kriptanaliza kryhet në bazë të kriptogrameve të përgjuara dhe mesazheve të hapura përkatëse të tyre.
3. Kriptanaliza kryhet mbi bazën e një mesazhi të hapur të zgjedhur nga armiku;
Klasat e sistemeve të kriptimit
· Sigurisht këmbëngulëse ose e përsosur, e përsosur
· E qëndrueshme llogaritëse
Sisteme enkriptimi të forta (ideale) pa kushte
Një sistem kriptimi i fortë pa kushte (BSSS) është një sistem kriptimi në të cilin çdo kriptogram (nëse sulmuesi nuk ka një çelës) nuk përmban informacion shtese apriori i njohur për mesazhin e koduar në këtë kriptogram.
Në mënyrën më të mirë deshifrimi i kriptogramit BSSSH po hamendësohet
nje nga mesazhet e mundshme burimi Matematikisht, kushti ACSS mund të shkruhet në formën:
Probabiliteti i kushtëzuar që mesazhi M i ishte i koduar me një kriptogram E j;
- probabiliteti apriori (me një kriptogram të panjohur) të pranisë së një mesazhi M i.
Në mënyrë llogaritëse sisteme rezistente enkriptimi
Sistemi i enkriptimit quhet rezistente llogaritëse(VSSH), nëse hapja e një sistemi të tillë është e mundur, por madje algoritmi më i mirë hapja kërkon një kohë jashtëzakonisht të gjatë ose pa masë kujtim i madh pajisje me të cilat kryhet kriptanaliza.
Koha e kriptanalizës përcaktohet nga:
1. Kompleksiteti i algoritmit të deshifrimit;
2. Shpejtësia e pajisjeve kompjuterike,
duke deshifruar
Kompleksiteti i algoritmeve të kriptanalizës duhet të përputhet me kompleksitetin e zgjidhjes së një problemi kompleks.
Qasjet themelore të kriptanalizës:
1. Goditja e çelësave
2. Analiza e veçorive statistikore të kriptogrameve
3. Kriptanaliza lineare
4. Kriptanaliza diferenciale
Shpejtësia e pajisjeve llogaritëse 10 10 - 10 12 operacione / s
Shpejtësia e kompjuterit rritet 4 herë çdo 3 vjet
Kodi i zëvendësimit, vetitë e tij.
Shifra e thjeshtë zëvendësuese, shifra e thjeshtë zëvendësuese, shifra mono-alfabetike - një klasë e metodave të kriptimit që zbresin në krijimin e një tabele kriptimi sipas një algoritmi specifik, në të cilin për secilën shkronjë Teksti i thjeshtë ka vetëm një shkronjë të tekstit shifror të lidhur me të. Vetë kriptimi konsiston në zëvendësimin e shkronjave sipas tabelës. Për deshifrim mjafton të kemi të njëjtën tabelë, ose të dimë algoritmin me të cilin krijohet.
Shifra e zëvendësimit të kolonësquhet një shifër me alfabetin e mesazheve të hapura Z m që përkon me alfabetin e mesazheve të koduara dhe grupin e çelësave K.
Kështu, shifra e zëvendësimit të kolonës konsiston në aplikimin e zëvendësimeve nga grupi simetrik në karakteret e tekstit të thjeshtë të rendit të kardinalitetit të alfabetit të mesazheve të hapura. Në këtë rast, çdo zëvendësim zgjidhet në varësi të çelësit dhe karaktereve të mëparshme të tekstit të thjeshtë.
Vetitë e shifrimit të zëvendësimit.
1. Nëse të gjitha zëvendësimet në tabelën e zëvendësimit janë njësoj të mundshme dhe reciprokisht të pavarura, atëherë sistemi i enkriptimit duke përdorur këtë metodë sigurisht që do të jetë i fortë.
2. Ndryshe nga metoda gama, zbatimi kjo metodë kriptimi është më kompleks, i cili përcaktohet nga nevoja për të ndërtuar nyja e menaxhuar permutacione me m dalje.
3. Kur kriptoni me metodën e zëvendësimit, nuk ka shumëfishim të gabimeve që lindin në kanalin e komunikimit për shkak të ndërhyrjeve.
4. Shifra e mbivendosur, pra enkriptimi me të njëjtën tabelë mesazhe të ndryshme nuk çon në një deshifrim të thjeshtë dhe të paqartë, si në metodën gama. Sidoqoftë, qëndrueshmëria e metodës zvogëlohet, pasi zëvendësimet e përsëritura bëjnë të mundur kryerjen e kriptanalizës bazuar në shkallët e përsëritjes së shkronjave të kriptogramit.
10). Shifra e bllokut, skema e Feistelit, vetitë e shifrave të bllokut
Blloko shifrën i quajtur një kriptosistem në të cilin secili bllok i ri një mesazh i hapur konvertohet në një bllok të një kriptogrami sipas të njëjtit rregull të përcaktuar nga algoritmi i enkriptimit dhe çelësi. Procedura e deshifrimit kryhet sipas të njëjtit parim.
Sipas parimit Kerchhoff, algoritmet e kriptimit dhe deshifrimit janë plotësisht të njohura për kriptanalistin. Nuk dihet vetëm çelësi, i cili përdoret si për enkriptim ashtu edhe për deshifrim. Të njëjtat blloqe mesazhesh Mi dhe Mj konvertohen gjithmonë në të njëjtat blloqe kriptogramesh Ei dhe Ej. Nëse kjo veti është e padëshirueshme, atëherë përdoret një modifikim tjetër i të njëjtit algoritëm të enkriptimit të bllokut.
Parimet e ndërtimit të shifrave të blloqeve janë që algoritmi i kodit të bllokut duhet të përdorë:
a) zëvendësimet (transformimet jolineare të pjesëve të shkurtra (për blloqet e një shifre blloku);
b) permutacionet e simboleve në blloqe;
c) përsëritja e operacioneve (a) dhe (b) (d.m.th., duke i përsëritur ato disa herë me çelësa të ndryshëm).
Skema e Feistelit.
Për të thjeshtuar procedurat e kriptimit dhe deshifrimit, përdoret skema Feistel, bazuar në parimet e mëposhtme:
a) çdo bllok aktual ndahet në dy pjesë të barabarta - Li i majtë dhe Ri i djathtë, ku i është parametri i përsëritjes (rrumbullakët);
b) mënyra e formimit të "gjysmave" të ardhshme të blloqeve nga ato të mëparshme përcaktohet siç tregohet në Fig. 3.3, ku ki është çelësi i raundit të i-të.
Le ta paraqesim këtë transformim në formë analitike:
L i = R i-1, R i = L i-l + f (R i-1, k i),
ku f () është një funksion jolinear i dy argumenteve, në të cilin jolineariteti përcaktohet, për shembull, nga një tabelë.
Karakteristikat e skemës Feistel:
1) Kthyeshmëria e procedurës së kriptimit rezulton të jetë e mundur kur funksioni / () në skemë nuk është domosdoshmërisht i kthyeshëm.
2) Të dy gjysmat e bllokut ndryshojnë vazhdimisht vende dhe për këtë arsye, pavarësisht asimetrisë së dukshme, ato janë të koduara me të njëjtën forcë.
Karakteristikat e shifrës AES
1. Mund të jetë më i shpejtë se kodi i bllokut normal;
2.Mund të zbatohet në një kartë smart duke përdorur një PAM të vogël dhe duke pasur numër i vogël cikle;
3. Transformimi i rrumbullakët lejon ekzekutimin paralel;
4. Nuk përdor veprimet aritmetike, kështu që lloji i arkitekturës së procesorit nuk ka rëndësi;
5. Mund të përdoret për të llogaritur kodin MAC dhe funksionin hash.
Ky shifër bazohet në parimin e përsëritjes (përsëritja është përsëritja e disave operacion matematik, duke përdorur rezultatin e operacionit të mëparshëm analog) SD-transformime dhe përdor të ashtuquajturën arkitekturë "katrore", domethënë të gjitha transformimet kryhen brenda një katrori.
Të dhënat aktuale (duke përfshirë mesazhin origjinal dhe kriptogramin e marrë) shkruhen një bajt (8 bit) në secilën nga 16 qelizat, gjë që jep një gjatësi totale të bllokut të enkriptimit prej 8x16 -128 bit.
Transformimi i parë i këtij algoritmi kryhet si llogaritja e elementit të anasjelltë në fushën GF () duke moduluar polinomin e pakalueshëm + + + x +1, i cili siguron qëndrueshmërinë e provueshme të shifrës në lidhje me kriptanalizën lineare dhe diferenciale, ndërsa elementi zero i fushës ruhet pa transformim (Fig. 3.16 ).
Transformimi tjetër konsiston në shumëzimin e çdo qelize të katrorit, të përfaqësuar si një vektor kolone binar (,), me një matricë fikse dhe duke shtuar gjithashtu një vektor të kolonës fikse, dhe të gjitha operacionet këtu kryhen në fushën GF (2):
Matrica dhe vektori i kolonës të përdorur në këtë transformim mbahen të njëjta në të gjitha raundet dhe janë të pavarur nga çelësi.
Vini re se shumëzimi i matricës dhe mbledhja e vektorit përmirësohen vetitë kriptografike shifër për rastin kur në qelizat e katrorit shfaqen zero elementë.
Si transformim i radhës, përdoret një zhvendosje ciklike e bajtit të grupit të mesazheve nga një numër i ndryshëm bajtësh (qelizash), i paraqitur në Fig. 3.17.
Transformimi tjetër quhet përzierje e kolonës. Në këtë hap, të gjithë Kolona C-të matricë katrore paraqitet si një vektor 4-dimensional mbi fushën GF (), dhe më pas kryhet shumëzimi në këtë fushë, i dhënë nga polinomi i pareduktueshëm + + + x +1, me një matricë të caktuar me elementë nga e njëjta fushë:
ku elementët e paraqitur në këtë matricë janë specifikuar si elementë të fushës GF () (d.m.th., si sekuenca binare me gjatësi 8), siç ilustrohet shembullin e mëposhtëm:
Së fundi, kryhet shtimi i çelësit të rrumbullakët, i cili kryhet thjesht si një shtim bit i të gjithë elementëve të katrorit të fundit me 128 elementë të çelësit të rrumbullakët mod 2. Pasi të përfundojë një raund, të gjitha veprimet e përshkruara më sipër përsëriten duke përdorur raundin tjetër çelësat. Çelësat e rrumbullakët krijohen nga një çelës i vetëm sekret me gjatësi 128, 192 ose 256 bit (në varësi të mënyrës së zgjedhur të enkriptimit) duke përdorur transformime speciale, duke përfshirë ndërrime dhe zgjerime ciklike. Numri i raundeve të shifrës varet nga mënyra e zgjedhur e funksionimit të tij dhe varion nga 10 në 14.
Për deshifrim, përdoret sekuenca transformimet e anasjellta Me rend i kundërt ndjekja e çelësave të rrumbullakët, gjë që rezulton të jetë mjaft e mundshme, pasi të gjitha operacionet e kryera në çdo raund, siç shihet lehtë, janë të kthyeshme. Megjithatë, duhet theksuar se ndryshe nga shifrat e bazuara në strukturën Feistel (për shembull, shifra DES), ky shifër duhet të përdorë të ndryshme qarqet elektronike ose programe për enkriptim dhe deshifrim, përkatësisht.
Karakteristikat e shifrës AES
1) AES fokusohet kryesisht në implementimin me procesorë 8-bit;
2) të gjitha shndërrimet e rrumbullakëta kryhen në fusha të fundme, gjë që lejon zbatim i thjeshtë në platforma të ndryshme.
Forca e shifrës AES
Është e qartë se numërimi i të gjithë çelësave (edhe me numrin e tyre minimal - 2) rezulton i pamundur. Kriptanaliza lineare dhe diferenciale është gjithashtu praktikisht e pamundur për shkak të zgjedhjes së procedurave optimale të transformimit dhe, në veçanti, për shkak të përdorimit të llogaritjes elementet e kthimit në fushën finale.
Kriptanaliza e bazuar në zgjidhjen e një sistemi jolinear ekuacionesh mbi fushën GF (2) që përshkruan shifrën është teorikisht e mundur, duke përfshirë shfaqjen e ekuacioneve shtesë. Megjithatë, kjo procedurë kërkon një burim jashtëzakonisht të madh llogaritës. Kështu, aktualisht, shifra AES mund të konsiderohet e fortë kundër çdo sulmi të njohur.
Shpejtësia Kriptimi AES
Në implementimi i softuerit këtë algoritëm zbatohet në mënyrë më efikase në platformat 8- dhe 32-bit. Për PC-të tipikë, shpejtësia e kriptimit mund të jetë në rendin prej 1 MB / s - 500 KB / s. Me implementimin e harduerit shpejtësi të lartë kriptimi (rreth 100 MB / s dhe më i lartë) do të kërkojë një rritje të burimeve të harduerit dhe, rrjedhimisht, një rritje në madhësinë e pajisjes.
Forca e shifrës A5/1
Kur zhvillohej ky shifër, supozohej se do të kishte një nivel të lartë
qëndrueshmëri, pasi numri i çelësave të tij është mjaft i madh, megjithatë
kërkime të mëtejshme nga kriptografë të pavarur
Ata treguan se ky shifër ka dobësitë... Njëri prej tyre përbëhet
fakti që LRR-të e përfshira në kodues kanë gjatësi të vogla, dhe për këtë arsye
ato janë të ndjeshme ndaj disa modifikimeve të sulmeve statistikore, dhe
sulmet e bazuara në raportet e shkëmbimit ndërmjet madhësisë së kërkuar të memories
dhe koha e analizës.
Në fund të fundit, studimet që janë kryer që atëherë
2000 (d.m.th., pothuajse menjëherë pas prezantimit të këtij standardi), tregoi se kjo
shifra mund të "plaset" duke përdorur një kompjuter të zakonshëm realisht
22. Ngritja në një fuqi, gjetja e logaritmit diskret
Moduli i fuqisë është llogaritja e pjesës së mbetur të një numri natyror b(bazë) e ngritur në pushtet e(eksponent), më numri natyror m(modul).
. Mënyrë e shpejtë ndërtim nga D. Knut.
Le të paraqesim eksponentin në formë binare;
Ne zëvendësojmë çdo njësi me një palë shkronja KU (katrore + shumëzim);
Çdo zero e zëvendësojmë me shkronjën K (katrore);
Në sekuencën që rezulton, kryqëzoni çiftin e parë të KU;
Ne kryejmë llogaritjet mbi bazën a, sipas sekuencës së marrë.
Shembull: 3 37 (mod7)
37 = 100101 = KUKKKUKKU = KKKKUKKU
3®3 2 (mod7) = 2®2 2 (mod7) = 4®4 2 (mod7) = 2®2 × 3 (mod7) = 6®6 2 (mod7) = 1®1 2 (mod7) = 1 ®1 × 3 (mod7) = 3
Kompleksiteti llogaritës për operacionin e fuqizimit: [email i mbrojtur](2logx).
Kompleksiteti llogaritës për funksionimin e logaritmit diskret: [email i mbrojtur]((n) 1/2).
Gjetja e logaritmit diskret me metodën "takim në mes".
Ndërtoni një bazë të dhënash me madhësi O ((n) 1/2) të formës a z (modn) për numrat e rastësishëm zÎ dhe renditeni atë.
Për numrat e rastit b të tillë që gcd (b, n-1) = 1, llogaritni y b (modn) dhe krahasoni me numrat në bazën e të dhënave.
Me një probabilitet të lartë, pas disa përpjekjeve, ne marrim
a z (modn) = y b (modn)
4. Ngrini të dy anët në fuqinë b -1, marrim një z · b-1 (modn) = y (modn). Ku pason
Kjo metodë ka kompleksitet N t @O ((n) 1/2 logn), N v @O ((n) 1/2)
Përhapja është mjaft e lehtë, edhe me vlera të mëdha hyrëse. Por llogaritja e logaritmit diskret, domethënë gjetja e eksponentit e dhënë b, c dhe mështë shumë më e ndërlikuar. Kjo sjellje e njëanshme e funksionit e bën atë një kandidat për përdorim në algoritmet kriptografike.
COP El Gamal.
Ky është një modifikim i RSA CS, qëndrueshmëria e të cilit nuk lidhet drejtpërdrejt me problemin e faktorizimit. Përdoret gjerësisht në standarde nënshkrimi dixhital dhe pranon një përgjithësim natyror për rastin e CS-ve të ndërtuara bazuar në përdorimin e kurbave eliptike, të cilat do të shqyrtohen më poshtë.
Gjenerimi i çelësave.
Përdoruesi A kryen veprimet e mëposhtme për të gjeneruar çelësa:
1) gjeneron një numër të thjeshtë p dhe një element primitiv ɑ∈GF (p);
2) zgjedh numër i rastësishëm por e tillë që 1<= a<= p-2, и вычисляет число ɑ^a;
3) zgjedh grupin: (p, ɑ, ɑ ^ amodp) si çelës publik dhe numrin a si çelës privat.
Enkriptimi.
Përdoruesi B ndërmerr hapat e mëposhtëm për të enkriptuar një mesazh M të destinuar për përdoruesin A:
1) Merr çelësin publik A;
2) Paraqet mesazhin M në formën e një zinxhiri numrash Mi, secili prej të cilëve nuk e kalon p-1;
3) Zgjedh një numër të rastësishëm k të tillë që 1<=k<=p-2;
4) Llogarit ɣ = (ɑ ^ k) mod p, b = Mi ((ɑ ^ a) ^ k) mod p;
5) Dërgon kriptogramin C = (ɣ, b) te përdoruesi A.
Deshifrimi
Përdoruesi A ndërmerr hapat e mëposhtëm për të deshifruar mesazhin e marrë nga përdoruesi B:
1) duke përdorur çelësin e tij privat, llogarit (ɣ ^ (- a)) mod fq
2) rikthen mesazhin Mi = (ɣ ^ (- a)) * b mod f
Në të vërtetë, ɣ ^ (- a)*b=(ɑ^(- a k)) * Mi * (ɑ ^ ( a k)) = Mi mod fq
Një tipar i skemës El-Gamal është se ajo i përket të ashtuquajturave skema të enkriptimit të rastësisë, pasi përdor një rastësi shtesë në formën e numrit k kur e kripton atë.
Avantazhi i El Gamal QS është gjithashtu në faktin se të gjithë përdoruesit në rrjet mund të zgjedhin të njëjtën ɑ dhe R, e cila është e pamundur për CS të RSA. Për më tepër, siç do të tregohet më poshtë, kjo skemë mund të shtrihet natyrshëm në rastin e kurbave eliptike.
Një pengesë e rëndësishme e skemës është se gjatësia e kriptogramit në të është 2 herë gjatësia e mesazhit.
Rezistenca e El Gamal QS
Problemi i rivendosjes së mesazhit M në të dhënën fq, ɑ, ɑ ^ a, b, ɣ për të panjohurën a është ekuivalente me zgjidhjen e problemit Diffie-Hellman.
Është gjithashtu e qartë se nëse zgjidhet problemi i gjetjes së logaritmit diskret, atëherë do të hapet kriptosistemi i El-Gamal. Kur zgjidhni R me një kapacitet 768 bit (për siguri të shtuar - deri në 1024 bit), siguria e CS të El-Gamal do të jetë e njëjtë me atë të CS të RSA kur zgjidhni të njëjtat parametra për modulin në këtë të fundit.
Është e rëndësishme të theksohet se për të kriptuar mesazhe të ndryshme Mi, Mj, është e nevojshme të përdoren vlera të ndryshme të numrave k, pasi në rastin e kundërt b1 / b2 = Mi / Mj, dhe më pas mesazhi Mj mund të gjendet lehtësisht. nëse dihet mesazhi Mi.
Gjenerimi i çelësave.
Dy numrat e thjeshtë p dhe q zgjidhen në mënyrë të rastësishme. E vendosur
moduli N = pq. Gjeni funksionin Euler φ (N) = (p-1) (q-1).
Zgjidhni një numër e të tillë që GCD (e, φ (N)) = 1.
Gjeni d si inversin e e, de = 1 (mod φ (N)).
Ne deklarojmë d = SK, (e, N) = PK. PK i komunikohet te gjitheve
korrespondentët.
Enkriptimi.
Korr. A i transmeton një mesazh të koduar korrespondentit B
(përdor çelësin publik korr. B)
Deshifrimi.
Korr. B deshifron kriptogramin e marrë nga
Korrespondenti A duke përdorur çelësin tuaj privat.
Sulmet.
1. Sistemi RSA mund të hapet nëse është e mundur të gjenden p dhe q, domethënë të faktorizohet N.
Nisur nga ky fakt, p dhe q duhet të zgjidhen me një thellësi biti aq të madh sa faktorizimi i numrit n do të kërkonte një kohë jashtëzakonisht të gjatë, madje edhe me përdorimin e të gjitha mjeteve të disponueshme dhe moderne të llogaritjes.
Aktualisht, problemi i faktorizimit të numrave nuk ka zgjidhje polinomiale. Janë zhvilluar vetëm disa algoritme që thjeshtojnë faktorizimin, por zbatimi i tyre për numra të faktorizueshëm të shifrave të mëdha kërkon ende një kohë të pamatshme. Në të vërtetë, kompleksiteti i zgjidhjes së problemit të faktorizimit për algoritmin më të njohur aktualisht të faktorizimit është
Pra, për shembull ln n = 200, nëse, atëherë numri i operacioneve do të jetë afërsisht i barabartë me 1.37 ∙ 10 14.
Me një rritje të numrit të biteve n në 1000 ose më shumë, koha e faktorizimit bëhet plotësisht e pamatshme.
2. Një sulm tjetër natyror në RSA CS është logaritmi diskret. Ky sulm (me një mesazh të njohur) kryhet si më poshtë: d = log EM mod N. Megjithatë, problemi i numrave shumëshifrorë të modulit të logaritmit diskrete është gjithashtu i vështirë në matematikë dhe rezulton se ka pothuajse të njëjtin kompleksitet si problemi. të faktorizimit.
3. Sulmi ciklik. Ne do ta ngremë në mënyrë sekuenciale kriptogramin që rezulton në një fuqi të barabartë me vlerën e çelësit publik, d.m.th. (((((E e) e)… ..) e.
Nëse në një hap rezulton se E i = E, atëherë kjo do të thotë
që E i-1 = m. Është vërtetuar se ky sulm nuk është më i mirë se sulmi i faktorizimit N.
4. Mungesa e enkriptimit. Ky rast është i mundur nëse, si rezultat i enkriptimit, marrim një mesazh të hapur, d.m.th., M e mod n = M. Një kusht i tillë duhet të plotësohet për të paktën një nga mesazhet, për shembull, për mesazhet M = 0, 1, n - 1. Në fakt, mesazhe të tilla janë përgjithësisht! jo i koduar, ekziston saktësisht. Numri i tyre është gjithmonë të paktën 9. Megjithatë, me një zgjedhje të rastësishme të q dhe p, përqindja e mesazheve të tilla do të jetë e papërfillshme dhe ato pothuajse nuk do të hasen kurrë në praktikë.
5. Sulmoni me një sasi të vogël mesazhesh të mundshme
Supozoni se numri i mesazheve është i kufizuar nga vlerat M1, M2,…, Mr, ku r është i vëzhgueshëm. (Këto mund të jenë, për shembull, komanda të ndryshme - përpara, prapa, majtas, djathtas, etj.). Pastaj mesazhi mund të deshifrohet lehtësisht.
Në të vërtetë, le të përgjohet kriptogrami C. Pastaj duhet të përpiqeni të kriptoni të gjitha komandat me një çelës publik të njohur dhe të përcaktoni kriptogramin që përputhet me C-në e marrë:
Mënyra për të luftuar një sulm të tillë është të shtoni pak kripë në mesazhe (d.m.th., t'i bashkëngjitni vargje të vogla, të marra duke përdorur një sensor thjesht të rastësishëm).
LLOJET
Simple ES është një nënshkrim që, duke përdorur kode, fjalëkalime ose mjete të tjera, konfirmon faktin e formimit të një ES nga një person i caktuar.
I pakualifikuar:
Marrë si rezultat i transformimit kriptografik të informacionit duke përdorur çelësin ES;
Ju lejon të identifikoni personin që ka nënshkruar dokumentin;
Ju lejon të zbuloni faktin e ndryshimeve në ED;
Krijuar duke përdorur mjetet ES;
I kualifikuar:
Përputhet me të gjitha shenjat e një nënshkrimi elektronik të pakualifikuar;
Çelësi i verifikimit ES është specifikuar në certifikatën e kualifikuar.
Për krijimin dhe verifikimin e ES, përdoren mjete ES, të cilat kanë marrë konfirmimin e konformitetit në përputhje me ligjin për ES.
Skema RSA EP.
Le të ketë një mesazh M dhe një përdorues A gjeneroi një çift çelësash publik/privat për sistemin RSA, domethënë numrat e A, n A; d A. Më pas mesazhi M ndahet në blloqe, secila prej të cilave mund të përfaqësohet nga një numër i plotë që nuk e kalon n A. Për secilën prej këtyre shifrave të mesazhit M, CPU S formohet sipas rregullit të mëposhtëm: S = M dA mod (n A). Pastaj CPU i bashkohet mesazhit, duke formuar të ashtuquajturin mesazh të nënshkruar, domethënë një palë M, S. Për të verifikuar CPU-në, përdoruesi duhet të marrë çelësin publik A, si dhe mesazhin "të nënshkruar" (por mundësisht të falsifikuar) M, S dhe të llogarisë Ṁ = S eA mod (e A). Më tej, ai e krahason Ṁ me M dhe, nëse ato përkojnë, supozon se mesazhi M është vërtet i nënshkruar nga A, përndryshe ai e refuzon atë si falsifikim ose shtrembërim.
Skema e EP El-Gamal.
ES - Nënshkrimi elektronik (CPU - Nënshkrimi dixhital)
ES (CPU) janë disa të dhëna shtesë të bashkangjitura në mesazhin kryesor, të cilat formohen në varësi të mesazhit dhe çelësit sekret të autorit të mesazhit. Për të verifikuar vërtetësinë e mesazhit (e quajtur ndryshe procedura e verifikimit), përdoret çelësi publik i autorit të mesazhit, i cili mund të aksesohet nga çdo përdorues.
Gjenerimi i çelësave:
1) krijohet një kryetar i madh R dhe element primitiv a mbi një fushë të fundme GF (p);
2) gjenerohet një numër x: 1
3) y = llogaritet një x mod (p);
4) zgjidhet çelësi publik i verifikimit të CPU: ( p, a, y) dhe çelësin sekret për të krijuar CPU: x.
Formimi i CPU-së
Nëse përdoruesi A dëshiron të nënshkruajë një mesazh m, të përfaqësuar si një numër që i përket Zp, atëherë ai kryen veprimet e mëposhtme:
1) gjeneron një numër sekret k: 1 ≤ k≤ p - 2; gcd ( k, p - l) = 1, ku gcd është gcd
2) njehson r = a k mod (p);
3) njehson k -1 mod (p - 1);
4) llogarit s = k -l (m - xr) mod (p - l);
5) Formon CPU S në mesazhin m si një çift numrash S = (r, t).
Verifikimi i CPU-së (verifikimi)
Për të verifikuar nënshkrimin S të krijuar nga A nën mesazhin M, çdo përdorues ndërmerr hapat e mëposhtëm:
1) merr çelësin publik A: (p, a, y);
2) verifikon që 1 ≤ r ≤ p - 1, dhe nëse dështon, atëherë refuzon CPU-në;
3) njehson V 1 = y r r s mod (p);
4) njehson V 2 = a m mod (p);
5) e pranon CPU-në si të saktë me kusht që V 1 = V 2
Rezistenca e CPU-së Bazuar në COP të ElGamal
1) Një sulmues mund të përpiqet të falsifikojë një nënshkrim në mesazhin e tij M si më poshtë: gjeneroni një numër të rastësishëm k, llogarisni r = a k mod (p) dhe më pas përpiquni të gjeni s = k - l (m - xr) mod (p - l).
Megjithatë, për të kryer operacionin e fundit, ai duhet të dijë a, të cilat nuk mund të llogariten me zgjedhjen e duhur të parametrave të CPU-së.
3) Duhet theksuar se nëse nuk plotësohet hapi 2 i algoritmit të verifikimit të CPU atëherë një sulmues mund të nënshkruajë në mënyrë korrekte çdo mesazh sipas zgjedhjes së tij, me kusht që ai të ketë në dispozicion një mesazh tjetër me CPU-në e duhur. Kështu, kur zgjidhni një modul R, i cili në paraqitjen binar ka një gjatësi prej rreth 768 bit, siguron stabilitet të mirë të CPU-së dhe për të siguruar qëndrueshmëri afatgjatë këshillohet që të rritet në 1024 bit.
Kërkesat për HF kriptografike
1. Njëdrejtimshmëria, kur për një hash h të njohur është llogaritësisht e pamundur (d.m.th., kërkon një numër të madh operacionesh të parealizueshme) për të gjetur të paktën një vlerë të x për të cilën, domethënë, h (x) rezulton të jetë një funksioni me një drejtim (ONF).
2. Rezistencë e dobët ndaj përplasjes, kur për x të dhënë, h (x) = h është llogaritëse e pamundur të gjesh një vlerë tjetër x 'që plotëson ekuacionin h (x') = h.
3. Rezistencë e fortë ndaj përplasjes, kur është e pamundur nga pikëpamja llogaritëse të gjesh një çift argumentesh x, x 'për të cilat vlen relacioni h (x) = h (x').
Rregullimi i cenueshmërisë
Denning dhe Sacco sugjeruan përdorimin e vulave kohore në mesazhe për të parandaluar sulme si ai i diskutuar më sipër. Le ta shënojmë një emërtim të tillë me shkronjën t. Merrni parasysh opsionin për të rregulluar cenueshmërinë:
Komponentët PKI
· Autoriteti i Certifikatave (CA)- pjesa e sistemit të çelësit publik që lëshon një certifikatë për të vërtetuar të drejtat e përdoruesve ose sistemeve që bëjnë një kërkesë. Ajo krijon një certifikatë dhe e nënshkruan atë duke përdorur një çelës privat. Për shkak të funksionit të krijimit të certifikatave, AK është pjesa qendrore e PKI.
· Depoja e Certifikatave... Depo për certifikatat e vlefshme dhe listat e revokimit të certifikatave (CRL). Aplikacionet verifikojnë vlefshmërinë e certifikatës dhe nivelin e aksesit që ajo jep duke kontrolluar me mostrën që gjendet në depo.
· Serveri i rikuperimit të çelësave- një server që kryen rikuperimin automatik të çelësit, nëse ky shërbim është i instaluar.
· Aplikacion i aktivizuar me PKI- aplikacione që mund të përdorin mjete PKI për siguri. PKI menaxhon certifikatat dixhitale dhe çelësat e përdorur për të enkriptuar informacionin në serverët e uebit kur përdorni e-mail, shkëmbim mesazhe, shfletoni internetin dhe transferoni të dhëna. Disa aplikacione mund të përdorin PKI në mënyrë origjinale, ndërsa të tjerë kërkojnë që programuesit të modifikojnë.
· Autoriteti i Regjistrimit- një modul përgjegjës për regjistrimin e përdoruesve dhe pranimin e kërkesave për një certifikatë.
· Server sigurie- Një server që menaxhon aksesin e përdoruesit, certifikatat dixhitale dhe marrëdhëniet e forta në një mjedis PKI. Serveri i Sigurisë menaxhon në mënyrë qendrore të gjithë përdoruesit, certifikatat, lidhjet CA, raportet dhe verifikon listën e revokimit të certifikatave.
Funksionet PKI
· Regjistrimi- procesi i mbledhjes së informacionit për një përdorues dhe i verifikimit të origjinalitetit të tij, i cili përdoret më pas gjatë regjistrimit të përdoruesit, në përputhje me rregullat e sigurisë.
· Lëshimi i certifikatës... Pasi AK të ketë nënshkruar certifikatën, ajo i lëshohet aplikantit dhe/ose dërgohet në dyqanin e certifikatave. AK-ja vendos një periudhë vlefshmërie në certifikata, duke kërkuar kështu rinovimin periodik të certifikatës.
· Revokimi i certifikatës... Një certifikatë mund të bëhet e pavlefshme para skadimit për arsye të ndryshme: përdoruesi është larguar nga kompania, ka ndryshuar emrin e tij ose nëse çelësi i tij privat është komprometuar. Në këto rrethana, AK-ja do të revokojë certifikatën duke futur numrin e saj serial në CRL.
· Rimëkëmbja e çelësit... Një funksion shtesë PKI ju lejon të rikuperoni të dhëna ose mesazhe në rast të humbjes së çelësit.
· Menaxhimi i ciklit të jetës- Mbështetje e vazhdueshme e certifikatave në PKI, duke përfshirë rinovimin, restaurimin dhe arkivimin e çelësave. Këto funksione kryhen në mënyrë periodike dhe jo në përgjigje të kërkesave ad hoc. Menaxhimi i automatizuar i çelësave është tipari më i rëndësishëm për PKI-të e mëdha. Menaxhimi manual i çelësave mund të kufizojë shkallëzimin e PKI.
Përkufizimet bazë
· Listat e revokimit të certifikatave (CRL)- lista e certifikatave të anuluara. Anulimet mund të jenë për shkak të ndryshimit të vendit të punës, vjedhjes së çelësit privat ose arsyeve të tjera. Aplikacionet PKI mund të kontrollojnë certifikatat e përdoruesve kundrejt një CRL përpara se të japin akses ndaj asaj certifikate.
· Certifikata Dixhitale / Certifikata X.509... Një strukturë të dhënash e përdorur për të lidhur një modul specifik me një çelës publik specifik. Certifikatat dixhitale përdoren për të vërtetuar përdoruesit, aplikacionet dhe shërbimet dhe për të kontrolluar aksesin (autorizimin). Certifikatat dixhitale lëshohen dhe shpërndahen nga AK-të.
· Zarf dixhital... Një metodë e përdorimit të kriptimit të çelësit publik për të shpërndarë në mënyrë të sigurt çelësat sekretë të përdorur në enkriptimin simetrik dhe për të dërguar mesazhe të koduara. Problemi i shpërndarjes së çelësit i lidhur me enkriptimin simetrik është reduktuar shumë.
· Nënshkrimi dixhital... Një metodë e përdorimit të kriptimit të çelësit publik për të siguruar integritetin e të dhënave dhe pamundësinë për të refuzuar një parcelë. Blloku i koduar i informacionit, pas deshifrimit nga marrësi, identifikon dërguesin dhe konfirmon sigurinë e të dhënave. Për shembull: dokumenti është "i ngjeshur", HASH kodohet duke përdorur çelësin privat të dërguesit dhe i bashkëngjitet dokumentit (në fakt, kjo do të thotë të bashkëngjitni "gjurmën e gishtit" të këtij dokumenti). Marrësi përdor çelësin publik për të deshifruar mesazhin e marrë në gjendjen "shtypje", e cila më pas krahasohet me "shtrydhjen" e marrë pasi dokumenti i dërguar është "kompresuar". Nëse të dy "shtrydhjet" nuk përputheshin, atëherë kjo do të thotë që dokumenti është ndryshuar ose dëmtuar gjatë transferimit.
· Kriptografia e çelësit publik... Ekzistojnë dy lloje kryesore të kriptimit: çelësi publik dhe çelësi sekret (simetrik). Kriptimi i çelësit publik përdor një çift çelësash: i hapur, d.m.th. disponueshme lirisht, dhe çelësin e tij privat përkatës, i njohur vetëm për përdoruesin, aplikacionin ose shërbimin specifik që zotëron këtë çelës. Ky çift çelësash është i lidhur në atë mënyrë që ajo që është e koduar me çelësin privat mund të deshifrohet vetëm me çelësin publik dhe anasjelltas.
· Kriptimi simetrik (Kriptografi sekrete e përbashkët)... Ekzistojnë dy lloje kryesore të kriptimit: çelësi publik dhe çelësi sekret (simetrik). Me kriptim simetrik, marrësi dhe dërguesi përdorin të njëjtin çelës për enkriptim dhe deshifrim. Kjo do të thotë që shumë përdorues duhet të kenë të njëjtat çelësa. Natyrisht, derisa përdoruesi të marrë çelësin, enkriptimi nuk është i mundur dhe shpërndarja e çelësit në rrjet nuk është e sigurt. Metodat e tjera të shpërndarjes, si një korrier special, janë të shtrenjta dhe të ngadalta.
· Algoritmi RSAështë sistemi i parë i enkriptimit me çelës publik i quajtur sipas shpikësve të tij: Ronald Rivest, Adi Shamir dhe Leonard Adleman.
· Kartë inteligjente. Një pajisje e ngjashme me kartën e kreditit me memorie të integruar dhe një procesor që përdoret për të ruajtur në mënyrë të sigurt çelësat dhe certifikatat e përdoruesit dhe informacione të tjera (zakonisht sociale dhe mjekësore).
· Kredencialet dixhitale. Brenda kuadrit të teknologjisë PKI, standardi ISO / TS 17090-1 e përcakton këtë term si një objekt të mbrojtur kriptografikisht që mund të përmbajë çelësa përdoruesi individual, certifikata të çelësave individualë, certifikata të CA-ve të strukturës PKI të përdoruesit, një listë të CA-ve të besueshme, dhe parametra të tjerë që lidhen me domenin e përdoruesit - identifikuesin e përdoruesit, emrat e algoritmeve kriptografike të aplikuara, vlerat e vlerave fillestare, etj. Kredencialet mund të vendosen në media harduerike ose softuerike.
Parimi i funksionimit
Certifikatat zakonisht përdoren për të shkëmbyer të dhëna të koduara përmes rrjeteve të mëdha. Një kriptosistem i çelësit publik zgjidh problemin e shkëmbimit të çelësave sekretë midis pjesëmarrësve në një shkëmbim të sigurt, por nuk e zgjidh problemin e besimit të çelësave publikë. Supozoni se Alice, duke dashur të marrë mesazhe të koduara, gjeneron një palë çelësa, njërin prej të cilëve (publik) e publikon në një farë mënyre. Kushdo që dëshiron t'i dërgojë asaj një mesazh konfidencial ka mundësinë ta kodojë atë me këtë çelës dhe të jetë i sigurt se vetëm ajo (pasi vetëm ajo ka çelësin sekret përkatës) do të jetë në gjendje ta lexojë këtë mesazh. Sidoqoftë, skema e përshkruar në asnjë mënyrë nuk mund ta pengojë sulmuesin David të krijojë një çift çelësash dhe të publikojë çelësin e tij publik, duke e kaluar atë si çelësin e Alice. Në këtë rast, Davidi do të jetë në gjendje të deshifrojë dhe lexojë të paktën atë pjesë të mesazheve të destinuara për Alice, të cilat gabimisht janë koduar me çelësin e tij publik.
Ideja pas një certifikate është se ekziston një palë e tretë që i besohet dy palëve të tjera në shkëmbimin e informacionit. Supozohet se ka pak palë të tilla të treta, dhe çelësat e tyre publikë janë të njohur për të gjithë në një farë mënyre, për shembull, të ruajtur në sistemin operativ ose të publikuar në regjistra. Kështu, një falsifikim i çelësit publik të një pale të tretë zbulohet lehtësisht.
Sistemet kriptografike me çelësa të enkriptimit publik i lejojnë përdoruesit të transferojnë të dhëna në mënyrë të sigurt mbi një kanal të pasigurt pa ndonjë përgatitje paraprake. Kriptosisteme të tilla duhet të jenë asimetrike në kuptimin që dërguesi dhe marrësi kanë çelësa të ndryshëm dhe asnjëri prej tyre nuk mund të nxirret nga tjetri me anë të llogaritjes. Në këto sisteme, fazat e enkriptimit dhe deshifrimit janë të ndara dhe mesazhi mbrohet pa u bërë sekret çelësi i enkriptimit, pasi ai nuk përdoret në deshifrim.
Duke përdorur çelësin e enkriptimit publik, përdoruesi i kodon mesazhin M dhe ia dërgon përdoruesit j nëpërmjet një kanali të pambrojtur të transmetimit të të dhënave. Vetëm përdoruesi j mund të deshifrojë për të rikuperuar M, pasi vetëm ai e di çelësin sekret të deshifrimit.
Ndër kriptosistemet asimetrike (të hapura), më i përhapuri është sistemi kriptografik RSA. Në këtë sistem, marrësi i mesazhit zgjedh dy numra të mëdhenj p dhe q në mënyrë që produkti n = pq të jetë përtej aftësive llogaritëse. Mesazhi origjinal M mund të jetë me gjatësi arbitrare në intervalin 1 Teksti origjinal M është restauruar nga C-ja e koduar nga transformimi i kundërt Marrësi zgjedh e dhe d në mënyrë që të plotësohen kushtet e mëposhtme: ku është funksioni Euler i barabartë me (p - 1) (q - 1); (a, b) është pjesëtuesi më i madh i përbashkët i dy numrave. Kjo do të thotë, e dhe d në grupin shumëzues janë reciproke në modin aritmetik të mbetjeve. Natyrisht, qëllimi kryesor i zbulimit kriptografik është përcaktimi i çelësit sekret (eksponenti në C - vlera e d). Ka tre mënyra të njohura që një kriptanalist mund të përdorë për të zbuluar vlerën e d nga informacioni i hapur rreth çiftit (e, n). Faktorizimi n Faktorizimi kryesor i n na lejon të llogarisim funksionin, dhe si rrjedhim vlerën e fshehur të d, duke përdorur ekuacionin Algoritme të ndryshme për një zbërthim të tillë janë paraqitur në. Algoritmi më i shpejtë i njohur aktualisht mund të faktorizojë n në hapa të rendit Analiza e kësaj shprehjeje tregon se numri n me 200 shifra dhjetore do të mbrohet mirë nga metodat e njohura të zgjerimit. Llogaritja e drejtpërdrejtë Një mënyrë tjetër e mundshme e kriptanalizës lidhet me llogaritjen e drejtpërdrejtë të funksionit të Euler-it pa faktorizimin n. Llogaritja e drejtpërdrejtë nuk është aspak më e thjeshtë se faktorizimi i n-së, pasi më pas e bën të lehtë faktorizimin e n-së. Kjo mund të shihet nga shembulli i mëposhtëm. Le x = p + q = n + 1 -, y = (p - q) 2 = x 2 - 4n. Duke ditur, ju mund të përcaktoni x dhe, për rrjedhojë, y, duke ditur x dhe y, p dhe q i thjeshtë mund të përcaktohen nga relacionet e mëposhtme: Vlerësimi i drejtpërdrejtë d Metoda e tretë e kriptanalizës është llogaritja e drejtpërdrejtë e vlerës së d. Arsyetimi pas kësaj metode bazohet në faktin se nëse d zgjidhet mjaftueshëm i madh që numërimi i thjeshtë të jetë i papranueshëm, llogaritja e d nuk është më e thjeshtë se faktorizimi i n, pasi nëse dihet d, atëherë n faktorizohet lehtësisht. Kjo mund të tregohet si më poshtë. Nëse dihet d, atëherë mund të llogarisim një shumëfish të funksionit të Euler-it duke përdorur kushtin ku k është një numër i plotë arbitrar. Ju mund të faktorizoni n duke përdorur çdo shumëfish të. Dekriptuesi, nga ana tjetër, mund të përpiqet të gjejë një vlerë d "që është ekuivalente me vlerën e fshehur d të përdorur në hartimin e shifrës. Nëse ka shumë d të tillë", atëherë mund të tentohet forca brutale për të thyer shifrën . Por të gjitha d "ndryshojnë nga një faktor i barabartë me dhe nëse ky faktor llogaritet, atëherë n mund të faktorizohet. Kështu, gjetja e d është po aq e vështirë sa faktorizimi n. Kështu, detyra kryesore e kriptanalizës së sistemeve të enkriptimit asimetrik reduktohet kryesisht në problemin e faktorizimit (faktorizimit). Ky problem është një nga më kryesorët në teorinë e numrave dhe është formuluar si më poshtë: Le të na jepet një numër i plotë n> 0, dhe kërkohet, nëse është e mundur, të gjejmë dy numra a dhe b të tillë që ab = n. Në fakt ekzistojnë dy detyra të ndryshme: e para, e quajtur testi i thjeshtësisë, është të kontrolloni nëse a dhe b e tilla ekzistojnë; e dyta, e quajtur dekompozim, është problemi i gjetjes së tyre. Le të shqyrtojmë të dyja këto detyra. Testi i parë përcaktues.