Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Interesante
  • Analiza kriptografike e sistemeve të enkriptimit asimetrik. Algoritmet moderne të kriptimit

Analiza kriptografike e sistemeve të enkriptimit asimetrik. Algoritmet moderne të kriptimit

Tani, pasi kemi mësuar qëllimin e kriptografisë, le të njihemi me termat bazë që do të përdorim kur studiojmë metodat kriptografike të mbrojtjes së informacionit.

Shifra– një grup metodash të dakorduara paraprakisht për transformimin e mesazhit sekret origjinal për ta mbrojtur atë.

Zakonisht thirren mesazhet origjinale në tekste të qarta. Në letërsinë e huaj për Teksti i thjeshtë përdorni termin Teksti i thjeshtë.

Simboliështë çdo karakter, duke përfshirë një shkronjë, numër ose shenjë pikësimi.

Alfabeti- një grup i kufizuar simbolesh të përdorura për të koduar informacionin. Për shembull, alfabeti rus përmban 33 shkronja nga A në Z. Megjithatë, këto tridhjetë e tre karaktere zakonisht nuk janë të mjaftueshme për të shkruar mesazhe, kështu që ato plotësohen me një karakter hapësirë, pikë, presje dhe karaktere të tjera. Alfabeti numerik arab është simbolet 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Ky alfabet përmban 10 karaktere dhe mund të përdoret për të shkruar cilindo numri natyror. Çdo mesazh mund të regjistrohet gjithashtu duke përdorur alfabeti binar, domethënë duke përdorur vetëm zero dhe njëshe.

Quhet mesazhi i marrë pas transformimit duke përdorur ndonjë shifër mesazh i koduar(tekst i mbyllur, kriptogram). Në literaturën e huaj, termi përdoret për tekst të mbyllur teksti i koduar.

Konvertimi i tekstit të thjeshtë në një kriptogram quhet enkriptimi. Veprimi i kundërt quhet deshifrimi. Në literaturën në gjuhën angleze, termat “encryption/decryption” korrespondojnë me termat "shifrimi/deshifrimi".

Celës– informacioni i nevojshëm për enkriptimin dhe deshifrimin e mesazheve.

Nga pikëpamja e gjuhës ruse, termat "deshifrim" dhe "deshifrim" janë sinonime. Megjithatë, në punimet mbi kriptografinë në dekadat e fundit, këto fjalë dallohen shpesh. Ne do të supozojmë se termat "deshifrim" dhe "deshifrim" nuk janë sinonime. Le të supozojmë se marrësi ligjor i mesazhit (ai që e di çelësin) është duke e deshifruar atë, dhe personi të cilit nuk i është menduar mesazhi është duke bërë deshifrimin, duke u përpjekur të kuptojë kuptimin e tij.

Sistemi i enkriptimit, ose sistem shifror, është çdo sistem që mund të përdoret për të ndryshuar në mënyrë të kthyeshme tekstin e një mesazhi për ta bërë atë të pakuptueshëm për të gjithë, përveç atyre për të cilët është menduar.

Forca kriptografikeështë një karakteristikë e një shifre që përcakton rezistencën e tij ndaj deshifrimit pa njohuri për çelësin (d.m.th., aftësinë për t'i bërë ballë kriptanalizës).

Kështu, duke marrë parasysh të gjitha përkufizimet e bëra, mund të japim një përkufizim më të saktë të shkencës së "kriptografisë". Kriptografia studion ndërtimin dhe përdorimin e sistemeve të enkriptimit, duke përfshirë fuqinë e tyre, dobësitë dhe shkallën e cenueshmërisë në lidhje me metoda të ndryshme autopsi.

Të gjitha metodat e konvertimit të informacionit me qëllim të mbrojtjes nga aksesi i paautorizuar ndahen në dy: grupe të mëdha: metodat e enkriptimit të çelësit privat dhe metodat e enkriptimit të çelësit publik. Kriptimi i çelësit privat(kriptimi i çelësit sekret ose enkriptimi simetrik) tashmë përdoret mjaft shumë nga njerëzit për një kohë të gjatë. Këto metoda përdorin të njëjtin çelës për të kriptuar dhe deshifruar të dhënat, të cilat të dyja palët përpiqen t'i mbajnë sekret nga armiku. Kriptimi i çelësit publik (enkriptimi asimetrik) filloi të përdoret për mbylljen e informacionit kriptografik vetëm në gjysmën e dytë të shekullit të njëzetë. Ky grup përfshin metoda të kriptimit që përdorin dy metoda për të kriptuar dhe deshifruar të dhënat. çelësa të ndryshëm. Në këtë rast, një nga çelësat (çelës publik) mund të transmetohet përmes një kanali komunikimi të hapur (të pambrojtur). Nënshkrimi elektronik (dixhital).është një bllok i të dhënave zakonisht i bashkangjitur një mesazhi, i marrë duke përdorur një transformim kriptografik. Nënshkrimi elektronik ju lejon të kontrolloni autorësinë dhe autenticitetin e mesazhit kur një përdorues tjetër merr një tekst.

Sistemi i sigurisë së informacionit kriptografik– sistemi i sigurisë së informacionit që përdor metodat kriptografike për enkriptimin e të dhënave.

3.5.3 Modelet dhe metodat e enkriptimit/deshifrimit mesazhe diskrete

Mesazhet diskrete mund të përfaqësohen nga sinjale që kanë një numër të kufizuar gjendjesh. Këto janë lloje të ndryshme të dhënash, tekste të shtypura, si dhe sinjalet e të folurit dhe imazhet, nëse më parë janë shndërruar në sinjale diskrete (dixhitale).

Një model matematikor i një sistemi diskret të enkriptimit/deshifrimit të mesazheve është një çift funksionesh

E = f(M,K w), M = g(E,K d),

të cilat konvertojnë mesazhin M në kriptogram E duke përdorur çelësin e enkriptimit K w dhe, anasjelltas, kriptogramin E në mesazhin M duke përdorur çelësin e deshifrimit K d. Të dy funksionet që përcaktojnë kripto-sistemin duhet të plotësojnë kërkesat e mëposhtme:

· Thjesht llogariten funksionet f(M, Kw) dhe g(E, Kd) me argumente të njohura;

· Funksioni g(E,?) me një çelës të panjohur Kd është i vështirë për t'u llogaritur.

Supozohet se çelësi i deshifrimit K d është i panjohur për përdoruesit e paligjshëm, megjithëse ata mund të dinë funksionet f dhe g, si dhe çelësin e enkriptimit K sh nëse nuk përputhet me çelësin K d. Kushti i fundit përbën të ashtuquajturin parim Kaziski.

Është e nevojshme të bëhet dallimi midis tre llojeve kryesore të sulmeve në kriptosistem:

· vetëm me një kriptogram të njohur E;

· jepet një kriptogram i njohur E dhe një mesazh i njohur M, i cili korrespondon me një pjesë të caktuar të kriptogramit të marrë duke përdorur të njëjtin çelës (sulm me një mesazh të hapur pjesërisht të njohur);

· me një kriptogram të njohur dhe një pjesë të zgjedhur posaçërisht të mesazhit që korrespondon me një pjesë të kriptogramit të marrë me të njëjtin çelës (sulm me një mesazh të hapur pjesërisht të zgjedhur).

Kriptosistemet moderne konsiderohen të forta nëse janë rezistente ndaj të tre llojeve të sulmeve.

Nëse çelësi i enkriptimit është i barabartë me çelësin e deshifrimit, d.m.th.

K w = K d = K

atëherë sistemi quhet simetrik (me një çelës). Që të funksionojë, pikat e kriptimit dhe deshifrimit duhet të kenë të njëjtat çelësa.

Nëse Ksh nuk është e barabartë me Kd, atëherë sistemi i enkriptimit quhet asimetrik (me dy çelësa). Në këtë rast, çelësi Ksh dorëzohet në pikën e enkriptimit, dhe çelësi Kd dorëzohet në pikën e deshifrimit. Padyshim që të dy çelësat duhet të jenë të lidhur varësia funksionale K d = j(K sh), por e tillë që duke përdorur çelësin e njohur të enkriptimit K sh do të ishte e pamundur të rikuperohej çelësi i deshifrimit K d. Kjo do të thotë se për një sistem enkriptimi asimetrik j() duhet të jetë një llogaritje e vështirë funksionin. Në një sistem të tillë, është e mundur që në mënyrë të fshehtë të shpërndahen vetëm çelësat e tyre të deshifrimit midis përdoruesve legjitimë, dhe të bëhen publike çelësat e enkriptimit, duke përfshirë edhe publikimin. Prandaj, kriptosistemi në fjalë quhet sistem me çelës publik.

E para prej këtyre llojeve të shifrave nënkupton praninë e një informacioni të caktuar (çelës), posedimi i të cilit lejon si enkriptimin ashtu edhe deshifrimin e mesazhit.

Nga njëra anë, një skemë e tillë ka disavantazhet se, përveç një kanali të hapur për transmetimin e një shifrgrami, është gjithashtu e nevojshme të ketë kanal sekret për të transferuar çelësin, dhe përveç kësaj, nëse informacioni për çelësin rrjedh, është e pamundur të vërtetohet se nga cili prej dy korrespondentëve ka ndodhur rrjedhja.

Nga ana tjetër, midis shifrave të këtij grupi të veçantë ekziston e vetmja skemë e enkriptimit në botë që ka fuqi teorike absolute. Të gjitha të tjerat mund të deshifrohen të paktën në parim. Një skemë e tillë është kriptimi i rregullt (për shembull, një operacion XOR) me një çelës, gjatësia e të cilit është e barabartë me gjatësinë e mesazhit. Në këtë rast, çelësi duhet të përdoret vetëm një herë. Çdo përpjekje për të deshifruar një mesazh të tillë është e padobishme, edhe nëse ka informacion apriori për tekstin e mesazhit. Duke zgjedhur një çelës, mund të merrni çdo mesazh si rezultat.

Shifrat e çelësit publik nënkuptojnë praninë e dy çelësave - një publik dhe një privat; njëri përdoret për enkriptim, tjetri për deshifrimin e mesazheve. Çelësi publik publikohet - vihet në vëmendje të të gjithëve, ndërsa çelësi sekret mbahet nga pronari i tij dhe është çelësi i fshehtësisë së mesazheve. Thelbi i metodës është se ajo që është e koduar duke përdorur çelësin sekret mund të deshifrohet vetëm duke përdorur çelësin publik dhe anasjelltas. Këta çelësa gjenerohen në çifte dhe kanë një korrespondencë një-me-një me njëri-tjetrin. Për më tepër, është e pamundur të llogaritet një tjetër nga një çelës.

Tipar karakteristik shifrat e këtij lloji, që i dallon ato në mënyrë të favorshme nga shifrat me çelës sekret, është se çelësin sekret këtu e njeh vetëm një person, ndërsa në skemën e parë duhet të njihet nga të paktën dy. Kjo jep përparësitë e mëposhtme:

asnjë kanal i sigurt nuk kërkohet për të dërguar çelësin sekret, i gjithë komunikimi kryhet nëpërmjet kanali i hapur;

"ajo që dy dinë, një derr e di" - prania i vetmi një kopje e çelësit zvogëlon mundësinë e humbjes së tij dhe ju lejon të vendosni përgjegjësi të qartë personale për ruajtjen e sekretit;

prania e dy çelësave lejon përdorimin e këtij sistemi të kriptimit në dy mënyra - komunikim sekret dhe nënshkrim dixhital.

Shembulli më i thjeshtë i algoritmeve të enkriptimit në shqyrtim është Algoritmi RSA. Të gjithë algoritmet e tjera të kësaj klase nuk janë thelbësisht të ndryshëm nga ajo. Mund të thuhet se, sipas në përgjithësi,RSA është i vetmi algoritëm i çelësit publik.

Një model matematikor i një sistemi diskret të enkriptimit/deshifrimit të mesazheve është një çift funksionesh

,
,

të cilat transformojnë mesazhin
në një kriptogram duke përdorur një çelës enkriptimi
dhe, anasjelltas, një kriptogram në mesazh
duke përdorur çelësin e deshifrimit . Të dy funksionet që përcaktojnë kriptosistemin duhet të plotësojnë kërkesat e mëposhtme:


Kriptografi holandez A. Kerkhofs (1835 - 1903) sugjeroi që fshehtësia e shifrave duhet të bazohet vetëm në fshehtësinë e çelësit, dhe jo në fshehtësinë e algoritmit të kriptimit, i cili, në fund, mund të jetë i njohur për armikun. .

Nëse çelësi i enkriptimit është i barabartë me çelësin e deshifrimit, d.m.th.

= =,

atëherë thirret sistemi simetrike(me një çelës). Që të funksionojë, të njëjtat çelësa duhet të dorëzohen fshehurazi në pikat e enkriptimit dhe deshifrimit .

Nëse
, d.m.th. Çelësi i enkriptimit nuk është i barabartë me çelësin e deshifrimit, atëherë thirret sistemi i enkriptimit asimetrike(me dy çelësa). Në këtë rast çelësi
dorëzohet në pikën e enkriptimit dhe çelësi - deri në pikën e deshifrimit. Padyshim që të dy çelësat duhet të lidhen nga një varësi funksionale

, por e tillë që duke përdorur një çelës të njohur enkriptimi
do të ishte e pamundur të rikuperohej çelësi i deshifrimit . Kjo do të thotë se për një sistem enkriptimi asimetrik, funksioni  () duhet të jetë i vështirë për t'u llogaritur.

Ekzistojnë dy klasa kryesore të fuqisë së kriptosistemit:

    Perfekte(sigurisht) këmbëngulës ose perfekte kriptosisteme për të cilat rezistenca ndaj kriptanalizës (deshifrimit) pa njohuri për çelësin nuk varet nga fuqia llogaritëse e kundërshtarit. Ata quhen teorikisht e padeshifrueshme(TNDS) sistemet.

    Në mënyrë llogaritëse kriptosisteme të forta në të cilat rezistenca ndaj kriptanalizës varet nga fuqia sistemi informatik kundërshtar.

  1. Sistemi kritik RSA

Një numër i plotë zgjidhet për kriptim N =fq q, Ku fq Dhe q – dy numra të thjeshtë të mëdhenj. Mesazh M shfaqet si një nga numrat

M {2,3,...,N –1}.

Formulat që përshkruajnë enkriptimin/deshifrimin janë si më poshtë:

,
,

Ku K– çelësi publik i enkriptimit, k– çelësi privat i deshifrimit.

Këto dy marrëdhënie nënkuptojnë barazinë

,

e cila në aritmetikën e zakonshme plotësohet nëse kK= 1, dhe në aritmetikë modulare dhe në

kK = 1 + l (N ), (*)

Ku l- e tërë. Në të vërtetë, duke përdorur teoremën e Euler-it ne kontrollojmë

,

Nëse M Dhe N janë numra të thjeshtë reciprokisht.

Marrëdhëniet e konsideruara tregojnë rrugën e formimit të çelësit. Së pari, zgjidhen ato shumë të mëdha të rastësishme numrat e thjeshtë fq Dhe q me një numër paksa të ndryshëm të shifrave në mënyrë që produkti N = pq kishte të paktën 768 bit (sipas të dhënave të vitit 2001). Llogaritni funksionin Euler

(N ) = (fq –1)(q –1).

Barazia (*) është ekuivalente

Kk= 1 mod ( N ),

prej nga rezulton se të dy çelësat janë reciprokisht modulë të anasjelltë ( N ).

Çelësi publik K zgjidhni, duke respektuar kushtet e nevojshme:

K< (N ), gcd ( K, (N )) = 1.

Çelës privat k llogarit

k = K 1 mod ( N ),

duke përdorur algoritmin Euklidian. Pas përfundimit të punës përgatitore, çelësi publik K dhe modul N vendosur në drejtoria e hapur, duke marrë masa për të siguruar që zëvendësimi të mos jetë i mundur. Numrat fq Dhe q mbajtur sekret.

Vini re se kushti për pastërtinë reciproke të numrave M Dhe N, dështimi i të cilit e bën të pamundur dekodimin, nuk krijon kufizime serioze. Së pari, ndër numrat më të vegjël N thyesa e numrave në kokryetim me N e barabartë me ( fq–1)(q–1)/(pq), d.m.th. është i padallueshëm nga një dhe, së dyti, gjendja sigurohet lehtësisht nga një modifikim i parëndësishëm i mesazhit. Gjithashtu diplomë M K nuk duhet të jetë më pak N. Nëse ky kusht nuk plotësohet, kriptogrami ka formën

dhe pa llogaritjet e modulit mund të hapet lehtësisht, sepse K i njohur.

Është e qartë se në marrëdhëniet e konsideruara numrat K Dhe k të barabartë në të drejta, d.m.th. çelësat mund të ndërrohen dhe të përdoren k si një çelës publik i enkriptimit, dhe K Si çelës privat deshifrimi.

Pra, të dy çelësat RSA jepen në çifte numrash të plotë: ( K, N) Dhe ( k, N).

Kur autorët R. Rivest, A. Shamir, L. Adleman (Rivest, Shamir, Adleman) propozoi kriptosistemin RSA në 1977, ata koduan frazën "ItsallGreektome", të paraqitur në formë dixhitale. Janë publikuar vlerat M, K, N duke treguar se 129 shifra dhjetore N fitohet duke shumëzuar numrat 64 dhe 65-bit fq Dhe q. Faktorizimi N dhe thyerja e kriptogramit përfundoi në rreth 220 ditë vetëm në 1994 pas përgatitjes paraprake teorike. Puna përfshiu 600 vullnetarë dhe 1600 kompjuterë të lidhur në rrjet nëpërmjet internetit.

Fuqia e një sistemi me çelës publik, dhe RSA në veçanti, varet nga zgjedhja e parametrave të tij. Nëse zgjidhni regjistrin 2 N= 200 bit, atëherë faktorizimi do të kërkojë afërsisht 2.710 11 operacione, të cilat do të zgjasin disa ditë në një kompjuter personal. Nëse zgjidhni regjistrin 2 N= 664 bit, atëherë faktorizimi do të kërkojë 1210 23 operacione. Me një shpejtësi prej 10 6 operacionesh në sekondë, faktorizimi do të marrë disa miliardë vjet.

Kështu, nëse parametrat e shifrës RSA janë zgjedhur saktë dhe moduli N marrë mjaft i madh, për shembull
, Kjo këtë sistem mund të konsiderohet mjaft e qëndrueshme. Deri më sot, nuk ka metoda për kriptanalizën e tij të suksesshme.

Zbatimi i shifrës RSA është përpunuar si në versionet softuerike ashtu edhe në ato harduerike. Përdoret nga RSA për kriptim në kartat inteligjente. Në versionin e softuerit, shpejtësia e enkriptimit është rreth 1 kbit/s, në versionin e harduerit – 1050 kbit/s.

Shpejtësia relativisht e ulët e enkriptimit dhe deshifrimit në krahasim me sistemet simetrike, bllok ose rrjedhëse është një disavantazh i të gjitha sistemeve të enkriptimit asimetrik, përfshirë RSA.

  1. Nënshkrimi dixhital

Një nënshkrim i rregullt "letër" tradicionalisht vërteton vërtetësinë e një dokumenti. Forca e nënshkrimit, d.m.th. pamundësia e falsifikimit të tij nga persona të paautorizuar sigurohet nga dy kushte kryesore: së pari, veçantia e tij, bazuar në karakteristikat individuale të shkrimit të dorës, dhe së dyti, integriteti fizik i dokumentit në letër mbi të cilin është bërë nënshkrimi. Për më tepër, nënshkrimi nuk mund të falsifikohet as nga personi që verifikon vërtetësinë e saj.

Sidoqoftë, gjatë transmetimit të dokumenteve përmes rrjeteve kompjuterike, është e pamundur të përdoren këto kushte, duke përfshirë transmetimin e mesazheve me faks (FAX), pasi ato lejojnë falsifikim të thjeshtë.

Dokumentet e transmetuara përmes rrjeteve kompjuterike janë të certifikuara me nënshkrim dixhital. Një nënshkrim dixhital zgjidh problemin e një mosmarrëveshjeje të mundshme midis dërguesit dhe marrësit, përfshirë në gjykatë, nëse ekziston një bazë ligjore për përdorimin e tij.

Një nënshkrim dixhital duhet të ketë vetitë e një nënshkrimi të rregullt dhe në të njëjtën kohë të përfaqësojë një zinxhir të dhënash që mund të transmetohen përmes rrjeteve, d.m.th. ai duhet të plotësojë katër kërkesat themelore të mëposhtme:

    nënshkrimi dixhital duhet të jetë unik, d.m.th. askush tjetër përveç autorit nuk mund të krijojë të njëjtën nënshkrim, duke përfshirë personat që verifikojnë origjinalitetin e tij;

    çdo përdorues i rrjetit, i ligjshëm apo i paligjshëm, mund të verifikojë të vërtetën nënshkrim dixhital;

    nënshkruesi nuk mund të refuzojë një mesazh të vërtetuar me nënshkrimin e tij dixhital;

    si zbatimi ashtu edhe verifikimi i nënshkrimit dixhital duhet të jetë mjaft i thjeshtë.

Për të përmbushur të gjitha kërkesat e mësipërme, një nënshkrim dixhital, ndryshe nga ai "letër", duhet të varet nga të gjitha pjesët e mesazhit dhe të ndryshojë edhe nëse një pjesë e mesazhit të nënshkruar ndryshon. Për të zbatuar një nënshkrim dixhital të bazuar në kriptosistemet simetrike, kërkohet pjesëmarrja e një personi të besuar - një arbitri. Zbatimi i një nënshkrimi dixhital pa një arbitër është i mundur vetëm përmes përdorimit të sistemeve asimetrike.

Ekzistojnë lloje të ndryshme të nënshkrimeve dixhitale të bazuara në kriptosistemet e çelësit publik. Le të shqyrtojmë një implementim të CPU-së bazuar në kriptosistemin RSA.

Në këtë rast përdoruesi A, duke nënshkruar një mesazh M, gjeneron një çift çelësash k A ,K A dhe informon përdoruesit e rrjetit për vlerat K A Dhe N. Përdoruesi tjetër A krijon një grup kontrolli

,

i cili do të jetë nënshkrimi dixhital (Fig. 17). Grupi i kontrollit i caktohet mesazhit dhe transmetohet së bashku me të.

Është e lehtë ta verifikosh këtë në këtë rast të katër kërkesat për një nënshkrim dixhital të formuluar më parë plotësohen nëse shifra RSA zgjidhet të jetë mjaft e fortë.

Sidoqoftë, sistemi i konsideruar për gjenerimin e një nënshkrimi dixhital ka dy të meta të rëndësishme:

    tepricë e konsiderueshme lind për shkak të caktimit të një grupi kontrolli, gjatësia e të cilit është e barabartë me gjatësinë e mesazhit, i cili kërkon dyfishimin e madhësisë së kujtesës, kohës së transmetimit, etj.;

    Për mesazhet me gjatësi të madhe, operacioni i fuqizimit gjatë llogaritjes së grupit të kontrollit dhe kontrollit të tij do të marrë një kohë të papranueshme të gjatë.

Korrespondenca shtetërore dhe ushtarake u ngrit në kohët e lashta dhe u shoqërua me shpikjen e metodave të ndryshme për të mbrojtur këtë korrespondencë nga leximi nga armiku.

Përkthyer nga greqishtja, kriptografia është shkrim i fshehtë (tani kuptohet në një kuptim të gjerë). Në kriptografi, teksti është i dukshëm, por nuk mund të lexohet. Kriptografia përdor transformimin e një karakteri në një tjetër, të marrë nga i njëjti ose një alfabet tjetër.

Shkrimi latent (simpatik), thelbi i të cilit është fshehja e dukshmërisë së asaj që shkruhet, nuk duhet të ngatërrohet me kriptografinë. Për shembull, një mbishkrim i bërë me qumësht në letër të bardhë nuk është i dukshëm nëse letra nuk nxehet.

Pra 400 vjet para Krishtit. e. Sparta përdori enkriptimin rrethor të cilindrave. Rreth tij ishte mbështjellë një rrotull, pas së cilës teksti u shkrua përgjatë rrotullës paralel me boshtin e cilindrit - rresht pas rreshti. Si rezultat, shkronjat në rrotullën e shpalosur nuk u renditën në asnjë mënyrë të dukshme. Për të lexuar mesazhin, marrësi duhej të mbështillte rrotullën në të njëjtin cilindër.

300 para Krishtit e. Në Greqi u shkrua për veprën “Tacticus”. mesazhe të fshehura. 200 para Krishtit e. shpiku katrorin polibian, që përmban 5x5=25 qeliza për njëzet e katër shkronjat e alfabetit grek dhe një hapësirë, të gdhendur në në asnjë mënyrë të veçantë. Gjatë kriptimit të tekstit, shkronja e kërkuar u gjet në katror dhe u zëvendësua me një shkronjë tjetër nga e njëjta kolonë, por e gdhendur në një rresht më poshtë. Shkronja që ishte në vijën fundore të sheshit u zëvendësua me një letër nga linjë e sipërme të njëjtën kolonë. Marrësi, i cili kishte saktësisht të njëjtin katror, ​​deshifroi mesazhin duke kryer veprimet e treguara në rend të kundërt.

Cezari, në korrespondencë me Ciceronin, përdori atë që quhet aktualisht Shifra e Cezarit. Metoda e Cezarit është si më poshtë. Së pari, çdo shkronjë e alfabetit lidhet me numrin e saj serial. Pastaj, kur kriptoni, nuk shkruhet vetë shkronja, por ajo, numri i së cilës është më i madh për një numër të plotë. TE, quajtur një çelës. Për një alfabet që përmban T shkronjat, rregulli i enkriptimit jepet nga relacioni:

n=(K + I) mod m,

Ku P- numri i shkronjës së marrë si rezultat i kriptimit të shkronjës me numrin I Këtu përdoret operacioni i llogaritjes së modulit T, kur ekzekutohet, nuk është vetë shuma që regjistrohet K+ I, dhe pjesa e mbetur nga pjesëtimi i kësaj shume me T.

Një përgjithësim i shifrës së Cezarit quhet shifra e thjeshtë e zëvendësimit. Thelbi i tij qëndron në faktin se të gjitha shkronjat e alfabetit zëvendësohen me shkronja të tjera të të njëjtit alfabet sipas një rregulli, i cili është çelësi. Për shembull, A zëvendësohet nga V, b-na nga tek- në V,..., I- në G. Numri i permutacioneve të mundshme me një kriptim të tillë, që korrespondon me një alfabet me një vëllim T= 32, është m! =32! = 2, 63 10 35 . Nëse provoni një milion çelësa në një sekondë kur deshifroni duke përdorur një metodë brute-force, koha totale për deshifrimin do të jetë 8.3-10 21 vjet.



Zhvillimi i shifrës së thjeshtë të zëvendësimit ishte shifra Blaise Vigenère (shekulli XVI, Francë). Në këtë shifër çelësi është fjala, d.m.th. sekuencë e numrat serialë shkronjat e çelësit. Çelësi, duke u përsëritur nëse është e nevojshme, nënshkruhet nën mesazh, pas së cilës kryhet shtimi i modulit T në çdo kolonë, e cila përmban një shkronjë të mesazhit dhe çelësin.

Shumë matematikanë të famshëm u përfshinë në kriptografi, si Viète, Cardano, Leibniz dhe, së fundi, Francis Bacon. I fundit sugjeroi kodimi binar Alfabeti latin.

Në Rusi, një shërbim i pavarur kriptografik u organizua për herë të parë nga Peter I, i cili, nën ndikimin e komunikimit me Leibniz, krijoi një dhomë dixhitale për zhvillimin dhe përdorimin e kriptografisë.

Revolucioni Industrial në vendet e zhvilluara çoi në krijimin e makinave të enkriptimit. Në fund të shekullit të 18-të, Jefferson (Presidenti i tretë i ardhshëm i Shteteve të Bashkuara) shpiku rrotat e enkriptimit. Makina e parë praktike e enkriptimit u propozua në 1917 nga Vernam. Në të njëjtin vit, u shpik një makinë kriptimi rrotulluese, e prodhuar më pas nga Siemens me emrin "Enigma" (gjëegjëzë), kundërshtari kryesor i kriptografëve të Fuqive Aleate gjatë Luftës së Dytë Botërore.

K. Shannon dha një kontribut të paçmuar në kriptografi, veçanërisht me veprën e tij "Secrecy and Stealth", shkruar në vitin 1948. Në vitin 1976, Diffie dhe Hellman propozuan kriptosistemet me çelës publik. Në vitin 1977, SHBA prezantoi standardin e hapur federal të kriptimit të mesazheve të paklasifikuara (DES). Në vitin 1989, i hapur sistemi i brendshëm kriptimi GOST 28147-89.

Oriz. 1. Fazat kryesore të zhvillimit të sistemeve kriptografike

Njëkohësisht me përmirësimin e artit të kriptimit (Fig. 1), u zhvillua edhe kriptanaliza, objekt i së cilës është hapja e kriptogrameve pa njohuri për çelësat. Megjithëse konkurrenca e vazhdueshme midis kriptimit dhe kriptanalizës vazhdon edhe sot e kësaj dite, ekzistojnë një sërë dallimesh domethënëse midis fazës aktuale dhe atyre të mëparshme, përkatësisht:

Përdorimi i gjerë i metodave matematikore për të provuar fuqinë e shifrave ose për të kryer kriptanalizë,

Përdorimi i produkteve me veprim të shpejtë teknologji kompjuterike,

Zbulimi i një lloji të ri kriptografie me metoda më “transparente” të kriptanalizës (kriptografia me çelës publik),

Shfaqja e të rejave funksione shtesë duke ofruar siguri, përveç enkriptimit dhe deshifrimit,

Përdorimi i metodave më të fundit fizike në kriptografi (kaos dinamik, kriptografi kuantike, kompjuter kuantik).

2. Modeli matematik sisteme diskrete të enkriptimit/deshifrimit të mesazheve

Ne do të shqyrtojmë enkriptimin dhe deshifrimin e të ashtuquajturave mesazhe diskrete, të cilat mund të përfaqësohen nga sinjale që kanë një numër të kufizuar gjendjesh. Këto janë të dhëna, tekste të printuara, si dhe sinjale dhe imazhe të të folurit, nëse ato janë konvertuar më parë në sinjale diskrete (dixhitale). Kur sinjale analoge përdorni metoda të tjera, të cilat do të diskutohen veçmas.

Një model matematikor i një sistemi diskret të enkriptimit/deshifrimit të mesazheve është një çift funksionesh

, (1)

, (2)

të cilat transformojnë mesazhin M në një kriptogram E duke përdorur një çelës enkriptimi K Sh dhe, anasjelltas, një kriptogram E në mesazh M duke përdorur çelësin e deshifrimit Tek DS. te dyja funksionet që përcaktojnë një kriptosistem duhet të plotësojnë kërkesat e mëposhtme:

Funksione f(,) Dhe g(,) me argumente të njohura llogariten thjesht,

Funksioni g(E, K DS) me një çelës të panjohur K DS vështirë për t'u llogaritur.

Supozohet se çelësi i deshifrimit K DS të panjohura për përdoruesit e paligjshëm, megjithëse ata mund t'i dinë funksionet f(.) Dhe g(.), si dhe çelësi i enkriptimit K Sh, nëse nuk përputhet me çelësin Tek DS. Kushti i fundit përbën të ashtuquajturin parim Kaziski.

Nëse çelësi i enkriptimit është i barabartë me çelësin e deshifrimit, d.m.th. K Sh = K DS atëherë thirret sistemi simetrike (me një çelës). Që të funksionojë, të njëjtat çelësa duhet të dorëzohen fshehurazi në pikat e enkriptimit dhe deshifrimit.

Nëse K Sh = Tek DS, atëherë thirret sistemi i enkriptimit asimetrike (me dy çelësa). Në këtë rast çelësi K Sh dorëzohet në pikën e enkriptimit dhe çelësi Tek DS - deri në pikën e deshifrimit. Padyshim që të dy çelësat duhet të lidhen nga një varësi funksionale K DS = φ(K S) por e tillë që duke përdorur një çelës të njohur enkriptimi K Sh do të ishte e pamundur të rikuperohej çelësi i deshifrimit K DS Kjo do të thotë se për një sistem enkriptimi asimetrik φ(.) duhet të jetë një funksion i vështirë për t'u llogaritur. Në një sistem të tillë, është e mundur që në mënyrë të fshehtë të shpërndahen vetëm çelësat e tyre të deshifrimit midis përdoruesve të ligjshëm, dhe të bëhen publike çelësat e enkriptimit dhe të publikohen, për shembull, në një drejtori publike. Prandaj, kriptosistemi në shqyrtim quhet sistem me i hapur (publik) Celës. Kriptosistemi i çelësit publik u propozua për herë të parë nga Diffie dhe Hellman në 1976. Është e nevojshme të bëhet dallimi midis tre llojeve kryesore të sulmeve nga kundërshtarët në kriptosistem:

Vetëm me një kriptogram të njohur E,

Duke pasur parasysh një kriptogram të njohur E dhe mesazhi i famshëm M, që i përgjigjet një pjese të caktuar të kriptogramit të marrë duke përdorur të njëjtin çelës (sulm i njohur pjesërisht i tekstit të thjeshtë).

Duke pasur parasysh një kriptogram të njohur dhe një pjesë të zgjedhur posaçërisht të mesazhit që korrespondon me një pjesë të kriptogramit të marrë me të njëjtin çelës (sulm i zgjedhur pjesërisht i mesazhit të thjeshtë),

Kriptosistemet moderne konsiderohen të forta nëse janë rezistente ndaj të tre llojeve të sulmeve.

Për kriptosistemet që enkriptojnë mesazhe me kërkesa të ulëta për probabilitetin e gabimit gjatë transmetimit (të folurit dixhital, imazh dixhital) është e nevojshme të shtohet një kërkesë e katërt, shtesë:

Deshifrimi pas transmetimit të një kriptogrami mbi kanale me ndërhyrje nuk duhet të rrisë numrin e gabimeve në krahasim me numrin e gabimeve që kanë ndodhur në kanalin e komunikimit për shkak të ndërhyrjeve, me fjalë të tjera, nuk duhet të ketë shumëfishim të gabimeve pas deshifrimit.

Le të shpjegojmë thelbin e konceptit të përhapjes së gabimit. Lëreni kur transmetoni një kriptogram E gabimet ndodhën në kanalin e komunikimit (Fig. 2).

Vendndodhja dhe madhësia e gabimeve në kriptogramin e marrë përcaktohen nga vektori i gabimeve të kanalit e. Në sistemi binar transmetimi, kriptogrami i marrë do të duket si E- E ® e, ku është shenja ® nënkupton modulin 2 të mbledhjes bit, dhe numri total gabimet tështë e barabartë me normën e vektorit të gabimit |e|, d.m.th. t=|e|. Numri i gabimeve e" në mesazhin e deshifruar M llogaritet si t"=|f |, ku 1= И8А/. Gabimet nuk përhapen me kusht që f = t.

Në numrat e mëparshëm zbuluam se kriptografiaështë një disiplinë që studion mënyrat për të mbrojtur proceset ndërveprim informacioni nga përpjekjet e synuara për t'i devijuar ato nga kushtet e rrjedhës normale, bazuar në transformimet kriptografike, domethënë transformimet e të dhënave duke përdorur algoritme sekrete. Që nga kohët e lashta e deri më sot, detyra më e rëndësishme e kriptografisë është të mbrojë të dhënat e transmetuara përmes kanaleve të komunikimit ose të ruajtura në sistemet e përpunimit të informacionit nga aksesi i paautorizuar dhe nga shtrembërimi i qëllimshëm. Kriptografia e zgjidh këtë problem duke enkriptuar të dhënat e mbrojtura, që përfshin përdorimin e dy transformimeve të anasjellta të mëposhtme:

Përpara se të dërgoni të dhëna përmes një linje komunikimi ose përpara se t'i ruani ato, ato i nënshtrohen enkriptim;
- për të rivendosur të dhënat origjinale nga të dhënat e koduara, zbatohet një procedurë për të deshifrimi.

Figura 1 e mëposhtme tregon skemën e konvertimit të të dhënave gjatë kriptimit:

Fig.1. Skema e konvertimit të të dhënave për kriptim.

Shifraështë një çift algoritmesh që zbatojnë secilin prej këtyre transformimeve. Fshehtësia e të dytit prej tyre i bën të dhënat të paarritshme për akses të paautorizuar, dhe fshehtësia e të parit e bën të pamundur vendosjen e të dhënave të rreme. Marrja e të dhënave të hapura nga të dhënat e koduara pa e ditur algoritmin e deshifrimit quhet deshifrimi. Fillimisht, kriptimi u përdor për të mbrojtur mesazhet e transmetuara nga të dyja këto kërcënime, por më vonë u tregua se mund të mbronte të dhënat nga modifikimi i paautorizuar vetëm nëse plotësoheshin disa kushte, përkatësisht:

Mesazhi i koduar përmban shumë tepricë;
- procesi i kriptimit "përzien" mirë njësitë strukturore të mesazhit (bit, simbolet, etj.).

Meqenëse këto kushte nuk plotësohen gjithmonë, në rastin e përgjithshëm kriptimi nuk është një mjet mbrojtje nga imitimi- mbrojtje kundër vendosjes së të dhënave të rreme. Një ose më shumë çështje të ardhshme do t'i kushtohen këtij problemi, por tani për tani ne do ta "harrojmë" atë për një kohë.

Cilat kushte duhet të plotësojë një shifër? Epo, para së gjithash, procedura e deshifrimit duhet të rikthehet gjithmonë mesazh i hapur në të tijën formë origjinale. Me fjalë të tjera, për çdo mesazh të vlefshëm T Transformimet e enkriptimit dhe deshifrimit duhet të plotësojnë karakteristikat e mëposhtme:

T = D(E(T))

Kushti i dytë që duhet të plotësojë një shifër është: duhet... enkriptoj të dhënat, pra duke i bërë ato të pakuptueshme për të pa iniciuarit.

Me fjalë të tjera, nuk duhet të ketë lidhje lehtësisht të gjurmueshme midis të dhënave origjinale dhe të koduara. Përveç kësaj, shifra duhet të jetë kriptorezistente, domethënë, rezistent ndaj përpjekjeve për të deshifruar mesazhet. Është e qartë se çështja e forcës së shifrës është ajo kryesore në këtë degë të kriptografisë, dhe ne do ta fillojmë shqyrtimin e saj duke zbuluar se çfarë mund të shërbejë si masë e forcës.

Mesazhi i dërguar përpara se të arrijë tek marrësi është i pasigurt për të dhe, natyrisht, për sulmuesin - nëse nuk do të ishte kështu, atëherë nuk do të kishte fare kuptim ta dërgonte atë. Le të jetë e mundur për të dërguar mesazhe T1,T2,...,Tn me probabilitet p1, p2,..., pn përkatësisht. Më pas matni pasiguria e mesazhit për këdo që ka këtë informacion apriori, mund të shërbejë vlera e pritjes matematikore të logaritmit të probabilitetit të një mesazhi, marrë me shenjën minus; për disa arsye është e përshtatshme të zgjedhësh 2 si bazë të logaritmit:

Kjo sasi ka një kuptim fizik plotësisht të kuptueshëm: numrin e pjesëve të informacionit që e nevojshme transferimi mesatarisht për të eliminuar plotësisht pasigurinë. Nëse nuk ka informacion apriori për mesazhin përveç madhësisë së tij prej N bit, atëherë të gjitha opsionet e mundshme nga 2 N konsiderohen po aq të mundshme dhe atëherë pasiguria e mesazhit është e barabartë me madhësinë e tij:

H( T ) = -2 N · 2 - N regjistri 2 (2 - N ) = N = | T |,

ku permes | X| tregon madhësinë e bllokut të të dhënave X në copa. Po sikur të mos dihet asgjë për tekstin burimor, as përmasat e tij? Në këtë rast, është ende e nevojshme të miratohet një lloj modeli i shpërndarjes si bazë. Si rregull, në realitet vështirësi të tilla nuk lindin, pasi shumë shifra shumë të forta<не считают нужным>fshehni madhësinë e mesazhit të koduar, pasi në të vërtetë pothuajse kurrë nuk ka nevojë të veçantë për këtë, dhe kjo karakteristikë konsiderohet apriori si e njohur për sulmuesin. Aty ku kjo madhësi ende duhet të fshihet, të gjitha mesazhet konvertohen në grupe të dhënash me të njëjtën gjatësi përpara se të kriptohet, dhe ne përsëri marrim situatën e diskutuar më lart.

Pas përgjimit të tekstit të shifruar, kjo vlerë, natyrisht, mund të ndryshojë, tani ajo bëhet një pasiguri e kushtëzuar posteriori ("post-eksperimentale") - kushti këtu është mesazhi i koduar i përgjuar T. " . Tani jepet me formulën e mëposhtme:

,

ku nëpër p (T i | T") tregon probabilitetin që mesazhi origjinal të jetë T i me kusht që rezultati i enkriptimit të tij të jetë T".

Nje nga karakteristikat më të rëndësishme Cilësia e një shifrimi përcaktohet nga sasia e informacionit në lidhje me tekstin burimor që një sulmues mund të nxjerrë nga teksti i shifruar i përgjuar - ai gjendet si dallimi midis pasigurisë a priori dhe a posteriori të mesazhit origjinal:

Unë = H (T ) - H (T | T" ).

Kjo sasi është gjithmonë jo negative. Treguesi këtu është se sa do të ulet - është e qartë se nuk mund të rritet - pasiguria teksti burimor pas marrjes së tekstit të shifruar përkatës në krahasim me pasigurinë a priori dhe nëse ai do të bëhet më i vogël se vlera minimale e pranueshme.

Në rastin më të mirë për zhvilluesit e shifrave, të dyja këto pasiguri janë të barabarta:

H( T | T" ) = H (T ),

domethënë, sulmuesi nuk mund të nxjerrë ndonjë informacion të dobishëm në lidhje me tekstin e thjeshtë nga teksti i shifruar i përgjuar: I = 0. Me fjalë të tjera, njohja e tekstit të koduar nuk na lejon të zvogëlojmë pasigurinë e tekstit të thjeshtë përkatës, të përmirësojmë vlerësimin e tij dhe të rrisim probabilitetin e përcaktimit të saktë të tij. Shifrat që plotësojnë këtë kusht quhen absolutisht rezistente ose shifra perfekte, pasi mesazhet e koduara duke përdorur ato jo vetëm që nuk mund të deshifrohen në parim, por sulmuesi as nuk do të jetë në gjendje t'i afrohet përcaktimit të suksesshëm të tekstit origjinal, domethënë të rrisë gjasat e deshifrimit të saktë të tij.

Natyrisht, pyetja kryesore që i interesonte kriptografët ishte nëse shifra absolutisht të forta ekzistojnë në praktikë. Ishte intuitivisht e qartë për specialistët se ato ekzistojnë dhe një shembull i një shifre të tillë u dha nga Vernam më shumë se dy dekada përpara se një nga themeluesit e teorisë së informacionit, K. Shannon, të provonte zyrtarisht ekzistencën e tyre. Në këtë provë, Shannon mori gjithashtu kushtin e nevojshëm për forcën absolute të një shifrimi:

Në mënyrë që një shifër të jetë absolutisht e fortë, është e nevojshme që pasiguria e algoritmit të kriptimit të jetë jo më pak se pasiguria e mesazhit të koduar:

Pasiguria e një algoritmi kriptimi përcaktohet saktësisht në të njëjtën mënyrë si pasiguria e një mesazhi - pritshmëria matematikore e logaritmit binar të probabilitetit të përdorimit të algoritmit me shenjën minus - dhe ka kuptim vetëm nëse grupi algoritme të mundshme dhe jepet probabiliteti i përdorimit të secilit prej tyre. Fuqia e shifrave bazohet në fshehtësinë, domethënë në pasigurinë për një sulmues të algoritmit të deshifrimit - nëse nuk do të ishte kështu, çdokush mund të deshifronte të dhënat e koduara. Sa më pak të dijë sulmuesi për shifrën, aq më pak ka gjasa që mesazhi të deshifrohet me sukses. Le të shpjegojmë atë që është thënë me një shembull: le të përgjohet një enkriptim i shkurtër 12-bit, me përmbajtjen e mëposhtme:

1 0 0 1 0 1 1 1 0 1 0 1

Për thjeshtësi, do të supozojmë se mesazhi origjinal ka të njëjtën gjatësi. Nëse sulmuesi nuk ka ndonjë informacion apriori për mesazhin e koduar, për të secili prej 2 12 opsionet origjinaleështë po aq e mundshme, dhe kështu probabiliteti për të identifikuar saktë mesazhin origjinal me hamendje të thjeshtë është 2 -12. Tani supozoni se sulmuesi e di apriori se kriptimi është duke vendosur të njëjtën maskë 4-bitësh në çdo grup 4-bitësh të mesazhit duke përdorur operacionin bitwise ekskluzive ose. Natyrisht, ndoshta 16 = 2 4 opsione të ndryshme maskë bit, përkatësisht, 16 janë të mundshme kuptime të ndryshme teksti burimor:

teksti burim i maskës 0000 100101110101 0001 100001100100 0010 101101010110 ..... 1111 011010001010

Kështu, tani probabiliteti i supozimit të saktë të tekstit burim është 1/16 - njohja e veçorive të metodës së kriptimit të përdorur e rriti atë me 256 herë. Nga kjo rrjedh një përfundim interesant: aq më e madhe është pasiguria në transformimin e enkriptimit për i huaj, sa më larg të jetë nga zgjidhja te shifra, aq më i besueshëm është shifra. Një shifër që është krejtësisht e panjohur për sulmuesin

është e pazbulueshme për të, domethënë absolutisht rezistente! Rezulton se besueshmëria e një kodi varet vetëm nga fshehtësia e tij dhe nuk varet nga vetitë e tjera të tij.

Gjëja më interesante është se kjo është e vërtetë, dhe këtu nuk ka asnjë paradoks. Sidoqoftë, në praktikë mund të jetë e vështirë të ruhet pasiguria e plotë në lidhje me shifrën për një sulmues - ai mund të marrë informacion rreth shifrës në mënyrat e mëposhtme:

Analizoni një mesazh të koduar të përgjuar - pothuajse gjithmonë ai ka në dispozicion një grup të caktuar tekstesh të shifruara, për disa prej tyre mund të ketë tekste të thjeshta përkatëse, apo edhe aftësi për të marrë një tekst të koduar për çdo tekst të thjeshtë të paracaktuar;

Një sulmues mund të ketë informacion apriori në lidhje me shifrën e marrë nga burime të ndryshme - për shembull, më parë mund të ketë qenë një udhëzim kriptimi ose një draft me rezultate të ndërmjetme për një tekst specifik, aktualisht mund të jetë një fragment kodi kompjuterik ose një çip që zbaton enkriptimin në harduer.

Një sulmues ka gjithmonë mundësinë e parë, e dyta është gjithashtu shumë e mundshme - është e vështirë të mbash sekret një algoritëm "punues" aktiv nga të huajt. Bazuar në sa më sipër, mund të rendisim disa cilësi që një shifër duhet të plotësojë në mënyrë që të konsiderohet i mirë.

1. Analiza e të dhënave të koduara nuk duhet t'i japë sulmuesit asnjë informacion në lidhje me strukturën e brendshme të shifrës. Asnjë model statistikor nuk duhet të gjurmohet në tekstin e shifruar - për shembull, testet statistikore nuk duhet të zbulojnë ndonjë varësi ose devijim nga shpërndarja po aq e mundshme e biteve (simboleve) të tekstit të koduar në të dhënat e koduara.

2. Algoritmi duhet të jetë i rikonfigurueshëm. Herët a vonë, një sulmues mund të ketë në dispozicion një përshkrim të algoritmit, softuerit ose zbatimit të tij harduer. Për të siguruar që në këtë rast algoritmi nuk duhet të zëvendësohet plotësisht në të gjitha nyjet e enkriptimit ku përdoret, ai duhet të përmbajë një pjesë lehtësisht të zëvendësueshme.

Kushti i dytë na çon në parimin Kirchhoff (në përkthimet nga anglishtja ai ndonjëherë "quhet" Kerkhoff, gjë që nuk është plotësisht e vërtetë, pasi ai është holandez, jo anglez, dhe transkriptimi i mbiemrit të tij duhet të jetë gjerman, jo anglisht) , e cila tani pranohet pa kushte në artin e ndërtimit të shifrave të forta. Ky parim është si më poshtë: një shifër përcaktohet si një algoritëm i parametrizuar i përbërë nga një pjesë procedurale, domethënë një përshkrim i saktësisht se çfarë operacionesh dhe në çfarë sekuence kryhen në të dhënat e koduara, dhe parametrat - elementë të ndryshëm të të dhënave të përdorura në transformime. Zbulimi vetëm i pjesës procedurale nuk duhet të çojë në një rritje të probabilitetit të deshifrimit të suksesshëm të mesazhit nga një sulmues përtej kufirit të pranueshëm. Për këtë arsye, por edhe për faktin se deklasifikimi i kësaj pjese është mjaft i mundshëm në vetvete, nuk ka asnjë kuptim të veçantë për ta mbajtur atë sekret. Një pjesë e parametrave të algoritmit mbahet sekret, i cili quhet çelësi i enkriptimit:

T" = E (T )= E K (T ),

Këtu K - çelësi i enkriptimit.

Përdorimi i parimit Kirchhoff na lejon të marrim avantazhet e mëposhtme në ndërtimin e shifrave:

Zbulimi i një kodi specifik (algoritmi dhe çelësi) nuk çon në nevojë zëvendësim i plotë zbatimi i të gjithë algoritmit, mjafton të zëvendësohet vetëm çelësi i komprometuar;

Çelësat mund të tjetërsohen nga komponentët e mbetur të sistemit të kriptimit - të ruajtura veçmas nga zbatimi i algoritmit në një vend më të sigurt dhe të ngarkuar në enkriptues vetëm sipas nevojës dhe vetëm për kohëzgjatjen e kriptimit - kjo rrit ndjeshëm besueshmërinë e sistemi në tërësi;

Bëhet e mundur të vlerësohet me saktësi "shkalla e pasigurisë" e algoritmit të kriptimit - është thjesht e barabartë me pasigurinë e çelësit të përdorur:

H ( E K ) = H (K ).

Prandaj, bëhet e mundur të vlerësohet probabiliteti dhe kompleksiteti i deshifrimit të suksesshëm, domethënë sasia e punës llogaritëse që duhet të kryejë një sulmues për këtë.

Le të kthehemi te kushti i nevojshëm për forcën absolute të një shifre për shifrat e ndërtuara në përputhje me parimin Kirchhoff. Duke supozuar se nuk ka të dhëna apriori për tekstin e koduar përveç gjatësisë së tij, marrim se pasiguria e tekstit burim është e barabartë me gjatësinë e tij, e shprehur në bit:

H( T ) = | T |.

Pasiguria maksimale e mundshme e një blloku të dhënash madhësi fikse arrihet kur gjithçka vlerat e mundshme të këtij blloku janë njësoj të mundshme - në këtë rast është e barabartë me madhësinë e bllokut në bit. Pra, pasiguria kryesore K nuk e kalon gjatësinë e saj:

Duke marrë parasysh sa më sipër, marrim kushtin e nevojshëm për forcë absolute për shifrat që plotësojnë parimin Kirchhoff:

Në mënyrë që një shifër e ndërtuar sipas parimit Kirchhoff të jetë absolutisht e sigurt, është e nevojshme që madhësia e çelësit të përdorur për enkriptim të jetë jo më pak se madhësia e të dhënave të koduara.

Barazia e saktë është e mundur vetëm nëse të gjitha vlerat kryesore të mundshme janë njësoj të mundshme, gjë që është ekuivalente me kushtin që pjesët kryesore të jenë po aq të mundshme dhe statistikisht të pavarura nga njëri-tjetri.

Një shembull i një shifrimi absolutisht të fortë është gama e njëhershme Vernam - një mbivendosje mbi të dhënat e hapura ( T) Celës ( K) të së njëjtës madhësi, i përbërë nga bit statistikisht të pavarura që marrin vlera të mundshme me të njëjtën probabilitet, duke përdorur disa operacione binar °:

Operacioni i përdorur për të imponuar gama duhet të plotësojë disa kushte, të cilat mund të përmblidhen si më poshtë: ekuacioni i enkriptimit duhet të jetë i zgjidhshëm në mënyrë unike në lidhje me tekstin e thjeshtë duke pasur parasysh të dhënat e njohura të koduara dhe çelësin, dhe në mënyrë unike i zgjidhshëm në lidhje me çelësin e dhënë të njohur tekst i thjeshtë dhe të dhëna të koduara. Nëse një operacion e plotëson këtë pronë, ai është i përshtatshëm. Ndër operacionet e përshtatshme, nuk ka përshtatje më të mirë dhe asnjë përshtatje më të keqe; nga pikëpamja e forcës së shifrës, ato janë të gjitha të njëjta - koncepti i "përsosmërisë" nuk njeh shkallë krahasuese, ai ose ekziston ose ai nuk. Për arsyen e deklaruar për përdorim praktik Zakonisht zgjidhet operacioni që është më i përshtatshëm për t'u zbatuar - moduli i shumës së bitave 2 ose bitwise ekskluzive OSE, sepse ajo është:

Kërkon për zbatimin e tij kompleksitetin minimal të logjikës midis të gjitha operacioneve të mundshme;

Është e anasjellta e vetvetes, kështu që e njëjta procedurë përdoret për enkriptimin dhe deshifrimin.

Le të kthehemi te pyetja e fuqisë absolute të shifrave: siç u përmend më herët, shifrat absolutisht të forta kërkojnë përdorimin e një çelësi jo më të vogël në madhësi se të dhënat që janë të koduara. Këtë çelës duhet ta kenë edhe dërguesi edhe marrësi, pra fillimisht duhet t'u dorëzohet dhe për këtë kërkohet një kanal i sigurt. Kështu, së bashku me një kanal potencialisht të pambrojtur për transmetimin e të dhënave të koduara, duhet të ketë një kanal të sigurt për transmetimin e një çelësi të së njëjtës madhësi. Kjo nuk është gjithmonë e pranueshme për arsye ekonomike, pra sisteme të ngjashme përdoren vetëm në raste të jashtëzakonshme për të mbrojtur informacionin me vlerë të veçantë. Në mënyrë dërrmuese sistemet reale Komunikimi i koduar përdor algoritme që nuk janë absolutisht të sigurta dhe për këtë arsye thirren shifra të papërsosura.

Natyrisht, për shifra të tilla është e rëndësishme çështja e vlerësimit të besueshëm të forcës së tyre. Për ta, njohja e tekstit të shifruar zvogëlon pasigurinë e tekstit të thjeshtë përkatës, duke rritur kështu mundësinë e deshifrimit të suksesshëm. Sidoqoftë, në kundërshtim me besimin popullor, nga kjo nuk rezulton aspak se një deshifrim i tillë është i mundur Gjithmonë.

Mendimi se një mesazh i enkriptuar me një shifër të papërsosur mund të deshifrohet gjithmonë në mënyrë të qartë nëse kriptanalisti ka tekst të mjaftueshëm shifror dhe aftësi të pakufizuara llogaritëse është një thjeshtim tepër i madh dhe përgjithësisht i pasaktë.

E gjithë çështja është të rrisni pak probabilitetin e deshifrimit të suksesshëm dhe ta bëni atë e barabartë me një- jo e njëjta gjë. Kjo ide mund të ilustrohet lehtësisht me një shembull: le të kodohet një grup i caktuar bitësh, çelësi ka një madhësi prej një biti dhe kriptimi kryhet sipas rregullave të mëposhtme:

Nëse çelësi është 0, pjesët me numër tek të tekstit burim janë përmbysur, të numëruara nga e majta në të djathtë;

Nëse çelësi është 1, pjesët me numra çift të tekstit burim janë përmbysur;

Kështu, E 0 (01) = 11, E 1 (01) = 00. Natyrisht, shifra jonë nuk është absolutisht e sigurt. Le të supozojmë se shifra "10" është përgjuar. Cili është teksti burimor? Është e qartë se mund të jetë ose 00 ose 11 në varësi të vlerës së çelësit, dhe është e pamundur të përcaktohet pa mëdyshje kjo, gjë që duhej vërtetuar. Për shifra më serioze, kriptanalisti thjesht do të ketë më shumë "zgjedhje" të tekstit të thjeshtë dhe asnjë tregues se cilin të zgjedhë.

Kështu, çështja e mundësisë së deshifrimit të paqartë të një mesazhi të koduar me një shifër të papërsosur mbetet e hapur. Kur është i mundur një deshifrim i tillë? Shannon e hulumtoi këtë çështje në detaje në veprat e tij. Për analizë, ai futi në konsideratë karakteristikat e mëposhtme cipher, për të thjeshtuar prezantimin, ato janë dhënë këtu për paraqitjen e të dhënave me bit:

1. Funksioni i pabesueshmërisë së çelësit - pasiguria kryesore me n bit të njohur të tekstit të koduar:

f ( n ) = H (K | T" ), ku | T" | = n .

Është e qartë se f(n) mund të mos përcaktohet për të gjithë n.

2. Distanca unike e shifrës - kjo vlerë n, në të cilin funksioni i pabesueshmërisë, domethënë pasiguria e çelësit, bëhet afër 0 .

U(E) = n, Ku n-minimumi i atyre për të cilat

Shannon tregoi se të dyja sasitë e përcaktuara më sipër varen nga teprica e tekstit të thjeshtë, me distancën e unicitetit drejtpërdrejt proporcionale me madhësinë e çelësit dhe në përpjesëtim të zhdrejtë me tepricën:

,

ku teprica e tekstit burimor R përcaktohet nga relacioni i mëposhtëm:

Kjo do të thotë se duke eliminuar plotësisht tepricën e tekstit të thjeshtë, ne do ta bëjmë të pamundur dekriptimin e paqartë të tij bazuar në njohuritë vetëm për tekstin e shifruar përkatës, edhe nëse kriptanalisti ka në dispozicion aftësi të pakufizuara llogaritëse. Në këtë rast, pasiguria e tekstit burimor do të jetë e barabartë me pasigurinë, dhe, rrjedhimisht, me madhësinë e çelësit:

H( T ) = H (K ) = | K |

Mungesa e plotë teprica në tekstin burimor do të thotë që pavarësisht se çfarë çelësi marrim, pas deshifrimit do të marrim të dhëna burimore "të sakta" dhe thjesht nuk do të ketë arsye për të preferuar një opsion ndaj një tjetri. Nga kjo, në veçanti, rrjedh se në praktikën reale, përpara se të kriptoni, është shumë e dobishme të "kompresoni" të dhënat me një lloj arkivuesi. Sigurisht, teprica e plotë e tekstit burim është e paarritshme në këtë rast, por një "tkurrje" e tillë do ta komplikojë shumë kriptanalizën e bazuar vetëm në tekstin e shifruar.

Karakteristika të ngjashme numerike të forcës së një kodi mund të merren për një situatë ku kriptanalisti ka në dispozicion jo vetëm tekstin e shifruar, por edhe tekstin e thjeshtë përkatës. Është e qartë se ato nuk do të varen më nga teprica e mesazheve origjinale. Në këtë rast, distanca unike e shifrës është e rendit të madhësisë së çelësit të saj, domethënë shumë e vogël. Në sajë të arsyet e deklaruara një shifër e tillë mund të thyhet lehtësisht duke pasur parasysh burimet e pakufizuara llogaritëse të analistit, dhe kur dizajnohen shifra të forta, parime krejtësisht të ndryshme dalin në pah. Por kjo do të diskutohet në numrin e ardhshëm.

(Vazhdon)

Vit akademik

Pjesa teorike

1. Llojet kryesore të transformimeve kriptografike të informacionit. Thelbi i çdo transformimi, fushëveprimi.

2. Paraqitja e një sistemi enkriptimi me grafik, parimi i unicitetit të kriptimit dhe deshifrimit.

3. Modeli matematik i një sistemi të enkriptimit-dekriptimit të informacionit.

4. Forca e sistemit të enkriptimit, klasifikimi i sistemeve të enkriptimit sipas fuqisë. Llojet e sulmeve në sistemin e enkriptimit.

5. Përkufizimi i një sistemi të fortë enkriptimi pa kushte, deklaratë rreth kushtet e nevojshme ekzistenca e një sistemi pa kushte të qëndrueshme.

6. Përkufizimi i një sistemi enkriptimi të sigurt pa kushte, një deklaratë për kushte të mjaftueshme për ekzistencën e një sistemi të sigurt pa kushte.

7. Llogaritëse sisteme rezistente enkriptimi, koncepti i kompleksitetit të kriptanalizës, qasjet bazë për thyerjen e sistemeve kriptografike, analiza e sulmeve kryesore të forcës brutale dhe sulmet bazuar në statistikat e mesazheve.

8. Shifra e bllokut, skema Feistel, vetitë e shifrës së bllokut.

9. Shifra zëvendësuese, vetitë e tij.

10. Shifra gama dhe vetitë e tij.

11. Modat (mënyrat e funksionimit) të shifrave të bllokut, një përshkrim të shkurtër të mënyrat.

12. Standardi i kriptimit GOST R34.12-2015, algoritmi bazë i enkriptimit për një bllok 64-bit.

13. Standardi i kriptimit GOST R34.12-2015, algoritmi bazë i enkriptimit për një bllok 128-bit.

14. Standardi i kriptimit GOST R34.13-2015, algoritmi i kriptimit në modalitetin e thjeshtë të zëvendësimit, algoritmi i enkriptimit në modalitetin gama dhe modaliteti gama me reagime. Krahasimi i mënyrave.

15. Regjistri linear periodik, vetitë algjebrike sekuenca lineare e përsëritur, analiza e vetive të parashikueshmërisë.

16. Regjistri i përsëritur linear, vetitë statistikore të një sekuence rekurente lineare.

17. Parimet e ndërtimit të gjeneratorëve gama të enkriptimit (koncepti i kompleksitetit linear ekuivalent, përdorimi i nyjeve jolineare për rritjen e kompleksitetit linear).

18. Shifra A5/1, karakteristikat e shifrës, parimi i ndërtimit, zbatimi.

19. Parimi i ndërtimit dhe karakteristikat e shifrës AES.

20. Koncepti i një funksioni njëkahësh, parim i përgjithshëm ndërtimi i sistemeve kriptografike me çelës publik.

21. Koncepti i një funksioni hash, kërkesat për funksionet hash kriptografike.

22. Funksioni i hashimit sipas standardit GOST R34.11-12, karakteristikat, parimi i ndërtimit, aplikimi.

23. Sistemi i enkriptimit El-Gamal, sulmet në sistem.

24. Sistemi i enkriptimit RSA, sulmet në sistem.

25. Përkufizimi, klasifikimi, vetitë themelore, modeli EP.

26. Skema e ES RSHA.

27. Skema e EP El-Gamal.

28. EDS sipas GOSTR 34.10-12, karakteristikat e përgjithshme, parimi i krijimit dhe verifikimit të nënshkrimit.

29. Autentifikimi i mesazheve në sistemet e telekomunikacionit (modeli i një sistemi të falsifikuar, strategjitë e imponimit, treguesit e falsifikimit).

30. Koncepti i një funksioni hash kyç. Një klasë funksionesh hash rreptësisht universale, shembuj të zbatimit të këtyre funksioneve hash.

31. Ndërtimi i sistemeve të vërtetimit me probabilitet të garantuar imponimi.

32. Ndërtimi i një sistemi autentifikimi për transmetimin e përsëritur të mesazheve.

33. Sistemet e vërtetimit të sigurta llogaritëse.

34. Zhvillimi i futjeve imituese në përputhje me GOST R34.12-2015.

35. Modeli i menaxhimit të çelësave në simetrik sistemet kriptografike, karakteristike cikli i jetes Celës

36. Metodat për shpërndarjen e çelësave bazuar në shkëmbimin e ndërsjellë të mesazheve ndërmjet korrespondentëve. Metoda Diffie-Hellman.

37. Metodat për gjenerimin e numrave të rastit gjatë gjenerimit të çelësave.

38. Metodat për shpërndarjen e çelësave duke përdorur DRC në fazën fillestare.

39. Metodat për shpërndarjen e çelësave duke përdorur DRC në modaliteti interaktiv. Protokolli Needham-Schroeder.

40. Parimi i shpërndarjes çelësat publikë.

41. Koncepti i infrastrukturës së çelësit publik (PKI), përbërja, parimi i ndërveprimit të elementeve të strukturës.

42. Qëllimi, parimi i formimit dhe karakteristikat e një certifikate me çelës publik.

Pjesa praktike

1. Enkriptoni (deshifroni) mesazhin në modaliteti manual zëvendësimi, ndërrimi dhe shifra gama. Programi LR1_1.exe.

2. Deshifroni kriptogramin bazuar në analizën e statistikave të tij duke përdorur programin CHANGE.EXE.

3. Gjeni faktorin e shumëzimit të gabimit gjatë deshifrimit të kriptogramit të një shifre zëvendësimi-permutacioni blloku me gjatësi blloku 16 bit. programi tst.

4. Deshifroni kriptogramin e shifrës zëvendësuese-permutacion duke kërkuar shterues të çelësave duke përdorur programin tst. Arsyetoni parametrat për të vendosur për dekodimin e saktë.

5. Kripto një mesazh 64-bit duke përdorur algoritmin bazë të enkriptimit GOST R 34.12-2015 (1 raund)

6. Enkriptoni një mesazh 128-bit duke përdorur programin AES.exe. Kontrolloni që transformimi i parë (operacioni SubBytes) përdor kthimin e elementit në fushën GF(2 8).

7. Duke përdorur polinomin karakteristik h(x), ndërtoni një LRR (mbushje fillestare 10...01) Përcaktoni periodën e sekuencës. Gjeni një bilanc, kontrolloni vetitë e serive dhe dritareve. Kontrolloni rezultatin duke përdorur programin LRR 1.

8. Gjeni sekuencën në daljen e gjeneratorit gama të enkriptimit që përmban elementet OSE, NAND, Jeff. Unë përdor programin LRR 2 për të përcaktuar kompleksitetin ekuivalent të sekuencës. Ndërtoni një LRR ekuivalente. Nxirrni përfundime.

9. Kryeni llogaritjet e mëposhtme në seksionin e matematikës diskrete:

Gjeni pjesëtuesin më të madh të përbashkët duke përdorur algoritmin Euklidian;

Llogaritni një x modp duke përdorur algoritmin për ngritjen e shpejtë të një numri në një fuqi;

Gjej element invers tek një numër modulo f.

Gjeni funksionin e Euler-it të numrit x;

10. - duke përdorur testin Fermat për të kontrolluar nëse numri x është i thjeshtë, gjeni probabilitetin që testi të japë një rezultat të gabuar.

11. Janë dhënë parametrat e sistemit të enkriptimit ElGamal: a=4, p=11, çelësi privat x=7, enkriptoni mesazhin M=. Deshifroni kriptogramin.

12. Parametrat e sistemit të enkriptimit RSA vendosen p=11, q=13, enkriptoni mesazhin M=5. Deshifroni kriptogramin.

13. Janë dhënë parametrat e sistemit të enkriptimit ElGamal: a=4, p=11, çelësi privat x=8, nënshkruani një mesazh, kodi hash i të cilit është h(M)=. Kontrolloni nënshkrimin.

14. Parametrat e sistemit të enkriptimit RSA vendosen në p=11, q=13, nënshkruani mesazhin, kodi hash i të cilit është h(M)= 6. Kontrolloni nënshkrimin.

15. Duke përdorur programin RSA, kodoni një skedar të madh duke përdorur kriptosistemin e sigurt RSA dhe vlerësoni kohën e kriptimit dhe deshifrimit.

16. Duke përdorur programin RSA, nënshkruani mesazhet dhe verifikoni nënshkrimin. Gjatësia e mesazhit është të paktën 100 bit.

17. Është dhënë një kurbë eliptike E13(1,1). Gjeni pikën C të barabartë me shumën e dy pikave, koordinatat e pikave dhe x 1 =, y 1 =, x 2 =, y 2 =. Gjeni pikën e kundërt. Llogaritni pikën ku k =3.

18. Gjeneroni një vërtetues për një mesazh binar M=1010 bazuar në funksione hash rreptësisht universale sipas algoritmit K 0 =0101, K 1= (numri i biletës) . Llogaritjet në terren kryhen me modul të një polinomi të pakalueshëm , b=4.

Artikujt më të mirë mbi këtë temë