Çelësi publik dhe privat: për çfarë përdoren? Kriptografia e çelësit publik Kohëzgjatja e jetës së çelësit

💖 Të pëlqen? Ndani lidhjen me miqtë tuaj
çelësi publik, vuri në dukje se kjo kërkesë mohon të gjithë thelbin e kriptografisë, përkatësisht aftësinë për të ruajtur sekretin universal në komunikime.

Detyra e dytë është nevoja për të krijuar mekanizma të tillë, duke përdorur të cilët do të ishte e pamundur të zëvendësohej ndonjë nga pjesëmarrësit, d.m.th. nevojë nënshkrimi dixhital. Kur përdorni komunikime për një gamë të gjerë qëllimesh, të tilla si qëllime komerciale dhe private, mesazhet dhe dokumentet elektronike duhet të kenë ekuivalentin e një nënshkrimi të përmbajtur në dokumentet në letër. Është e nevojshme të krijohet një metodë me të cilën të gjithë pjesëmarrësit do të binden se e-maili është dërguar nga një pjesëmarrës i caktuar. Kjo është një kërkesë më e fortë se vërtetimi.

Diffie dhe Hellman arritën rezultate të rëndësishme duke propozuar një mënyrë për të zgjidhur të dy problemet që është rrënjësisht e ndryshme nga të gjitha qasjet e mëparshme të kriptimit.

Le të shohim së pari tiparet e përbashkëta. algoritmet e enkriptimit me një çelës publik dhe kërkesat për këto algoritme. Le të përcaktojmë kërkesat që duhen përmbushur nga një algoritëm që përdor një çelës për enkriptim dhe një çelës tjetër për deshifrim, dhe është llogaritur e pamundur të përcaktohet çelësi i deshifrimit nëse dihen vetëm algoritmi i enkriptimit dhe çelësi i enkriptimit.

Përveç kësaj, disa algoritme, si RSA, kanë karakteristikat e mëposhtme: secili nga dy çelësat mund të përdoret si për enkriptim ashtu edhe për deshifrim.

Fillimisht do të shqyrtojmë algoritmet që kanë të dyja vetitë, dhe më pas do të kalojmë te algoritmet me çelës publik që nuk kanë veçorinë e dytë.

Kur përshkruani enkriptimi simetrik dhe enkriptimin e çelësit publik, ne do të përdorim terminologjinë e mëposhtme. çelësi i përdorur në enkriptimi simetrik, do të telefonojmë çelësi sekret. Dy çelësat e përdorur në enkriptimin e çelësit publik do të thirren çelës publik Dhe çelës privat. Çelësi privat mbahet sekret, por ne do t'i referohemi atij si çelës privat dhe jo sekret për të shmangur konfuzionin me çelësin e përdorur në enkriptimi simetrik. Çelësi privat do të shënohet KR, çelësi publik - KU.

Ne do të supozojmë se të gjithë pjesëmarrësit kanë akses në çelësat publikë të njëri-tjetrit dhe çelësat privatë krijohen në nivel lokal nga secili pjesëmarrës dhe, për rrjedhojë, nuk duhet të shpërndahen.

Në çdo kohë, një pjesëmarrës mund të ndryshojë të tijën çelës privat dhe publikoni çelësin publik të çiftuar, duke zëvendësuar çelësin e vjetër publik me të.

Diffie dhe Hellman përshkruajnë kërkesat që algoritmi i enkriptimit me një çelës publik.

  1. Është llogaritëse e lehtë të krijosh një çift (çelës publik KU, çelës privat KR).
  2. Është e lehtë nga ana llogaritëse, duke pasur parasysh çelësin publik dhe mesazhin e pakriptuar M, të krijosh mesazhin e koduar përkatës:
  3. Është llogaritëse e lehtë të deshifrosh një mesazh duke përdorur çelësin privat:

    M = D KR [C] = D KR ]

  4. Është llogaritëse e pamundur, duke ditur çelësin publik KU, të përcaktohet çelësi privat KR.
  5. Është llogaritëse e pamundur, duke ditur çelësin publik KU dhe mesazhin e koduar C, të rikuperosh mesazhin origjinal M.

    Një kërkesë e gjashtë mund të shtohet, megjithëse nuk vlen për të gjithë algoritmet e çelësit publik:

  6. Funksionet e kriptimit dhe deshifrimit mund të aplikohen në çdo mënyrë:

    M = E ku]

Këto janë kërkesa mjaft të forta që prezantojnë nocionin e . Funksioni me një drejtim quhet një funksion i tillë, në të cilin çdo argument ka një vlerë unike të anasjelltë, ndërsa është e lehtë të llogaritet vetë funksioni, por është e vështirë të llogaritet funksioni i anasjelltë.

Zakonisht "e lehtë" do të thotë se problemi mund të zgjidhet në kohë polinomiale të gjatësisë së hyrjes. Kështu, nëse gjatësia e hyrjes është n bit, atëherë koha e llogaritjes së funksionit është proporcionale me n a, ku a është një konstante fikse. Kështu, algoritmi thuhet se i përket klasës së algoritmeve polinomiale P. Termi "i vështirë" do të thotë një koncept më i ndërlikuar. Në rastin e përgjithshëm, do të supozojmë se problemi nuk mund të zgjidhet nëse përpjekja për ta zgjidhur atë është më e madhe se koha polinomiale e vlerës hyrëse. Për shembull, nëse gjatësia e hyrjes është n bit, dhe koha e vlerësimit të funksionit është proporcionale me 2 n, atëherë kjo konsiderohet një detyrë e pamundur llogaritëse. Fatkeqësisht, është e vështirë të përcaktohet nëse një algoritëm i veçantë shfaq një kompleksitet të tillë. Për më tepër, nocionet tradicionale të kompleksitetit llogaritës fokusohen në kompleksitetin e rastit më të keq ose mesatar të një algoritmi. Kjo është e papranueshme për kriptografinë, ku kërkohet që funksioni të mos mund të përmbyset për të gjitha ose pothuajse të gjitha vlerat e hyrjeve.

Kthehu te përkufizimi funksion i njëanshëm me çati dielli, e cila, si funksion me një drejtim, është e lehtë për t'u llogaritur në një drejtim dhe e vështirë për t'u llogaritur në drejtim të kundërt derisa të ketë disa informacione shtesë. Me këtë informacion shtesë, përmbysja mund të llogaritet në kohë polinomiale. Kështu, funksion me një drejtim me çati banimi në pronësi familjare funksionet njëkahëshe f k tillë që

Ne shohim se zhvillimi i një algoritmi të veçantë të çelësit publik varet nga zbulimi i përkatësit funksion i njëanshëm me çati dielli.

Kriptanaliza e algoritmeve të çelësit publik

Si në rastin enkriptimi simetrik, algoritmi i enkriptimit me një çelës publik është i prekshëm ndaj sulmit frontal. Kundërmasa është standarde: përdorni çelësa të mëdhenj.

Një kriptosistem me çelës publik përdor disa të pakthyeshme funksionet matematikore. Kompleksiteti i llogaritjes së funksioneve të tilla nuk është linear në numrin e biteve të çelësit, por rritet më shpejt se çelësi. Kështu, madhësia e çelësit duhet të jetë mjaft e madhe për ta bërë një sulm frontal jopraktik dhe mjaftueshëm i vogël për të lejuar kriptim praktik. Në praktikë, madhësia e çelësit është bërë e tillë që një sulm me forcë brutale është jopraktik, por si rezultat, shpejtësia e kriptimit është mjaft e ngadaltë që algoritmi të përdoret për qëllime të përgjithshme. Prandaj, enkriptimi i çelësit publik aktualisht është i kufizuar kryesisht në menaxhimin e çelësave dhe aplikacionet e nënshkrimit që kërkojnë kriptim të një blloku të vogël të dhënash.

Një formë tjetër sulmi është gjetja e një mënyre për të llogaritur çelësin privat duke pasur parasysh çelësin publik. Është e pamundur të vërtetohet matematikisht formë e dhënë sulmi përjashtohet për një algoritëm specifik të çelësit publik. Kështu, çdo algoritëm, përfshirë algoritmin RSA të përdorur gjerësisht, është i dyshimtë.

Së fundi, ekziston një formë sulmi që është specifike për mënyrën se si përdoren sistemet e çelësave publikë. Ky është një sulm ndaj një mesazhi të mundshëm. Supozoni, për shembull, që mesazhi që dërgohet përbëhet vetëm nga një çelës sesioni 56-bit për një algoritëm simetrik enkriptimi. Një kundërshtar mund të enkriptojë të gjithë çelësat e mundshëm duke përdorur çelësin publik dhe mund të deshifrojë çdo mesazh që përputhet me tekstin e shifruar që transmetohet. Kështu, pavarësisht nga madhësia kryesore e skemës së çelësit publik, sulmi reduktohet në një sulm me forcë brutale në një 56-bit. çelësi simetrik. Mbrojtja kundër një sulmi të tillë konsiston në shtimin e një numri të caktuar bitesh të rastësishëm në mesazhe të thjeshta.

Përdorimet bazë për algoritmet e çelësit publik

Përdorimet kryesore të algoritmeve të çelësit publik janë enkriptimi/deshifrimi, krijimi dhe verifikimi i nënshkrimit dhe shkëmbimi i çelësave.

Enkriptimi me një çelës publik përbëhet nga hapat e mëposhtëm:


Oriz. 7.1.

  1. Përdoruesi B gjeneron një palë çelësash KU b dhe KR b që përdoren për të enkriptuar dhe deshifruar mesazhet e transmetuara.
  2. Përdoruesi B e vë në dispozicion çelësin e tij të enkriptimit në një mënyrë të sigurt, d.m.th. çelësi publik KU b. Çelësi privat i çiftuar KR b mbahet sekret.
  3. Nëse A dëshiron t'i dërgojë një mesazh B, ai e kodon mesazhin duke përdorur çelësin publik të B KU b .
  4. Kur B merr mesazhin, ai e deshifron atë duke përdorur çelësin e tij privat KR b. Askush tjetër nuk mund të deshifrojë mesazhin, pasi vetëm B e di këtë çelës privat.

Nëse përdoruesi (sistemi fundor) ruan në mënyrë të sigurt çelësin e tij privat, askush nuk do të jetë në gjendje të spiunojë mesazhet që transmetohen.

Krijimi dhe verifikimi i një nënshkrimi përbëhet nga hapat e mëposhtëm:


Oriz. 7.2.
  1. Përdoruesi A gjeneron një palë çelësash KR A dhe KU A, të përdorura për të krijuar dhe verifikuar nënshkrimin e mesazheve të transmetuara.
  2. Përdoruesi A e vë në dispozicion çelësin e tij të verifikimit në një mënyrë të sigurt, d.m.th.

Çelësat kriptografikë mund të ndryshojnë nga njëri-tjetri në gjatësinë e tyre, e cila, rrjedhimisht, në forcën e një çelësi të caktuar. Sa më i gjatë të jetë çelësi, aq më shumë kombinime të mundshme të përzgjedhjes. Për shembull, nëse përdorni një çelës me gjatësi 128 bit, atëherë çelësi do të jetë një nga 2128 opsione. Rrëmbyesi ka më shumë gjasa të fitojë llotarinë sesa të marrë një çelës të mundshëm. Në një kompjuter standard shtëpiak, për një çelës 40-bitësh, ju duhet të kaloni 6 orë për të renditur të gjitha të mundshmet. Megjithatë, edhe çelësat me gjatësi 128 bit mund të jenë të cenueshëm dhe profesionistët mund t'i thyejnë ato.

Besueshmëria e simetrisë varet drejtpërdrejt nga forca e gjatësisë së çelësit dhe algoritmi i enkriptimit. Nëse, për shembull, algoritmi është ideal, atëherë ai mund të deshifrohet vetëm duke numëruar të gjithë çelësat. Për të zbatuar këtë metodë, ju nevojitet një tekst shifror dhe tekst i thjeshtë. Për shembull, nëse gjatësia e çelësit është 128 bit, atëherë superkompjuterit do t'i duhen 1025 vjet për të numëruar të gjithë çelësat. Menjëherë lind pyetja pse të mos përdorni një gjatësi kyçe prej mbi 9999, ose 4000 bajt.
Në të njëjtën kohë, kriptografia është një shkencë shumë delikate, ku ne duam të rrisim besueshmërinë, përkundrazi, mund ta ulim atë me ndryshime minimale në algoritëm. Kur kontrollojnë fuqinë e një algoritmi të kriptimit, ata kontrollojnë kushtet në të cilat një sulmues mund të marrë një sasi të mjaftueshme teksti të thjeshtë ose të shifruar. Për fat të mirë, në realitet ka shumë pak njerëz që janë vërtet shumë të kualifikuar për të zbatuar sulme të suksesshme për të deshifruar të dhënat.

Shumë algoritme të enkriptimit me çelës publik zbatojnë funksionet e faktorizimit për një numër që është produkt i dy numrave të mëdhenj. në vitet 70, u deshën dhjetëra kadriliona vite për të zbërthyer një numër prej 125 shifrash. Sot nuk përbëhet nga shumë kohë. Më lart, u shtrua pyetja pse të mos përdorni çelësa të gjatë overr9999, sepse atëherë nuk do të lindë çështja e qëndrueshmërisë dhe besueshmërisë. Është e nevojshme të merret parasysh jo vetëm besueshmëria dhe fshehtësia, por edhe koha e vlerës së informacionit dhe koha e kaluar për zbatimin e një kriptimi të tillë. Për shembull, informacioni do të humbasë vlerën e tij në 10 vjet, dhe ne shpenzuam burime financiare që do të paguajnë vetëm pas 20 vjetësh, ku është logjika?

Për të vlerësuar një çelës publik, duhet të matet fuqia llogaritëse kriptanalitike në vite pug. Ky është numri i operacioneve në sekondë që kryhen në një vit. Për shembull, korporatat kanë 107 vite pushtimi, dhe qeveritë kanë 109 vite shtytje. Në Fig.1. ju mund të shihni se sa kohë duhet për të zbërthyer numra me gjatësi të ndryshme. Shpesh, megjithatë, informacioni i vlefshëm është i koduar për një kohë të gjatë. Ideja për të kaluar disa muaj duke faktorizuar një numër të madh në mënyrë që të mund të bëni pazar me kartën e kreditit të dikujt tjetër është tërheqëse. Gjatësia e rekomanduar e çelësave publikë është paraqitur në Figurën 2.

Foto 1

Vizatim - 2

Një sulm kriptanalitik kundër algoritmeve të kriptimit synohet tradicionalisht në pikën më të hollë ose më të dobët të algoritmit. Në mënyrë tipike, ndërmarrjet përdorin sisteme hibride, këto janë sisteme që përdorin një çelës publik dhe privat. Fuqia e secilit algoritëm duhet të korrespondojë me besueshmërinë e mjaftueshme. Në Fig.3. Tregohen çiftet e gjatësisë së çelësit për algoritmet josimetrike dhe simetrike.

(MAC). Kur përdorni të njëjtin algoritëm, rezultati i kriptimit varet nga çelësi. Për algoritmet moderne të kriptografisë së fortë, humbja e një çelësi e bën praktikisht të pamundur dekriptimin e informacionit.

Për algoritmet moderne simetrike (AES, CAST5, IDEA, Blowfish, Twofish), karakteristika kryesore e fuqisë kriptografike është gjatësia e çelësit. Konsiderohet kriptimi me çelësa 128 bit ose më shumë të fortë, pasi duhen vite të tëra superkompjuterësh të fuqishëm për të deshifruar informacionin pa çelës. Për algoritmet asimetrike të bazuara në problemet e teorisë së numrave (problemi i faktorizimit - RSA, problemi i logaritmit diskret - Elgamal), për shkak të veçorive të tyre, gjatësia minimale e besueshme e çelësit është aktualisht 1024 bit. Për algoritmet asimetrike të bazuara në teorinë e kthesave eliptike (ECDSA, GOST R 34.10-2001, DSTU 4145-2002), gjatësia minimale e besueshme e çelësit është 163 bit, por rekomandohen gjatësi prej 191 bit dhe më shumë.

Klasifikimi kyç

Çelësat kriptografikë ndryshojnë sipas algoritmeve në të cilat përdoren.

  • Çelësa sekrete (simetrike).- çelësat e përdorur në algoritmet simetrike (kriptimi, gjenerimi i kodeve të vërtetimit). Vetia kryesore e çelësave simetrik është se i njëjti çelës duhet të përdoret për të kryer transformimin kriptografik përpara dhe të kundërt (kriptim/deshifrim, llogaritje MAC/verifikimi MAC) (ose çelësi për transformimin e kundërt mund të llogaritet lehtësisht nga çelësi për konvertim i drejtpërdrejtë, dhe anasjelltas). Nga njëra anë, kjo siguron një konfidencialitet më të lartë të mesazheve, nga ana tjetër, krijon probleme të shpërndarjes së çelësave në sistemet me një numër të madh përdoruesish.
  • Çelësat asimetrik- çelësat e përdorur në algoritmet asimetrike (enkriptimi, EDS); në përgjithësi, janë çift ​​çelësash, pasi ato përbëhen nga dy çelësa:
    • çelës privat(en:Çelësi privat) - një çelës i njohur vetëm për pronarin e tij. Vetëm mbajtja e sekretit të përdoruesit të çelësit të tij privat garanton pamundësinë e falsifikimit të një dokumenti dhe një nënshkrimi dixhital nga një sulmues në emër të certifikuesit.
    • çelës publik(en:Çelësi publik) - një çelës që mund të publikohet dhe përdoret për të verifikuar vërtetësinë e një dokumenti të nënshkruar, si dhe për të parandaluar mashtrimin nga ana e certifikuesit në formën e refuzimit për të nënshkruar dokumentin. Çelësi publik i nënshkrimit llogaritet si vlera e disa funksioneve të çelësit privat, por njohja e çelësit publik e bën të pamundur përcaktimin e çelësit privat.

Vetia kryesore e një çifti çelësash është se është e lehtë të llogaritet një çelës publik nga një çelës sekret, por është pothuajse e pamundur të llogaritet një sekret nga një çelës publik i njohur. Në algoritmet EDS, nënshkrimi zakonisht vendoset në çelësin sekret të përdoruesit dhe verifikohet në çelësin publik. Kështu që kushdo mund të kontrollojë nëse përdoruesi i dhënë dha këtë nënshkrim. Kështu, algoritmet asimetrike sigurojnë jo vetëm integritetin e informacionit, por edhe autenticitetin e tij. Në enkriptim, përkundrazi, mesazhet kodohen me çelësin publik dhe deshifrohen me çelësin sekret. Kështu, vetëm adresuesi dhe askush tjetër (përfshirë dërguesin) mund të deshifrojë mesazhin. Përdorimi i algoritmeve asimetrike heq problemin e shpërndarjes së çelësave të përdoruesve në sistem, por paraqet probleme të reja: besueshmërinë e çelësave të marrë. Këto probleme janë zgjidhur pak a shumë me sukses brenda infrastrukturës së çelësit publik (PKI).

  • Tastet e sesionit (sesionit).- çelësat e krijuar midis dy përdoruesve, zakonisht për të mbrojtur kanalin e komunikimit. Zakonisht çelësi i sesionit është sekret i përbashkët- informacioni që krijohet në bazë të çelësit sekret të njërës palë dhe çelësit publik të palës tjetër. Ekzistojnë disa protokolle për gjenerimin e çelësave të sesionit dhe sekreteve të përbashkëta, midis tyre, në veçanti, algoritmi Diffie-Hellman.
  • në prizë- informacioni kryesor i krijuar gjatë funksionimit të një algoritmi kriptografik të bazuar në një çelës. Shpesh, nënçelësat gjenerohen bazuar në një procedurë të veçantë të vendosjes së çelësit.

Shiko gjithashtu


Fondacioni Wikimedia. 2010 .

Shihni se çfarë është "Çelësi (kriptografia)" në fjalorë të tjerë:

    Çelësi: Wiktionary ka një hyrje për "çelës"

    Një çelës është një mjet për hapjen e një bllokimi. Çelësi, mjet çelësi i rregullueshëm për zhvidhosjen e lidhjeve me bulona. Çelësi (kriptografi) Informacion i përdorur nga një algoritëm për të transformuar një mesazh kur ai është i koduar ose deshifruar. Çelësi ... ... Wikipedia

    Ky term ka kuptime të tjera, shih çelësin(t). Çelësi në vrimën e çelësit B ... Wikipedia

    - (Greqisht, nga kryptos secret, dhe shkruaj grafo). Shkrim me shenja konvencionale (i shifruar), i njohur vetëm për ata që marrin një çelës të veçantë për lexim. Fjalori i fjalëve të huaja të përfshira në gjuhën ruse. Chudinov A.N., 1910. KRIPTOGRAFIA ... ... Fjalori i fjalëve të huaja të gjuhës ruse

    Kriptomakina gjermane Lorenz u përdor gjatë Luftës së Dytë Botërore për të koduar mesazhet më sekrete Kriptografia (nga të tjera greke ... Wikipedia

    Artikulli kryesor: Historia e kriptografisë Fotokopja e telegramit Zimmermann Gjatë Luftës së Parë Botërore, kriptografia dhe kriptanaliza në veçanti, bëhen një nga mjetet e luftës. Fakte të njohura ... Wikipedia

    Përmbajtja 1 Perandoria Ruse 1.1 Ushtria 1.2 Marina 2 Perandoria Britanike 3 F ... Wikipedia

    KRIPTOGRAFIA- (nga greqishtja "cryptos" sekret, i fshehur) arti i të shkruarit në kode sekrete dhe i deshifrimit të tyre. Nga këtu erdhi koncepti i "kriptogramit", domethënë diçka e shkruar në një shifër ose në një formë tjetër që është e kuptueshme vetëm për ata që kanë çelësin e saj. NË… … Simbolet, shenjat, emblemat. Enciklopedi

    Kriptografia e çelësit publik/KRIPTOGRAFIA E ÇELËSIT PUBLIK- Projektuar nga Whitfielf Diffi. Përdor një palë çelësash, ku secili çift ka karakteristikat e mëposhtme: çdo gjë e koduar nga njëri prej tyre mund të deshifrohet nga tjetri; duke pasur një çelës të çiftit, thirri publikun... Fjalori shpjegues i shoqërisë së informacionit dhe ekonomisë së re

    Ky term ka kuptime të tjera, shih Key. Çelës në vrimën e çelësit ... Wikipedia

Fuqia e një kriptosistemi simetrik varet nga fuqia e algoritmit kriptografik të përdorur dhe nga gjatësia e çelësit sekret. Supozoni se vetë algoritmi është ideal - ai mund të hapet vetëm duke provuar të gjithë çelësat e mundshëm. Ky lloj sulmi kriptanalitik quhet forcë brute. Për të përdorur këtë metodë, kriptanalistit do t'i duhet një tekst i koduar dhe teksti i thjeshtë përkatës. Për shembull, në rastin e një kodi blloku, mjafton që ai të marrë në dispozicion një bllok të tekstit të shifruar dhe tekstin e thjeshtë përkatës. Për ta bërë këtë nuk është aq e vështirë.

Një kriptanalist mund të mësojë përmbajtjen e një mesazhi paraprakisht dhe më pas ta përgjojë atë gjatë transmetimit në formë të koduar. Sipas disa treguesve, ai gjithashtu mund të hamendësojë se mesazhi i dërguar nuk është asgjë më shumë se skedar teksti, i përgatitur me një redaktues të përbashkët, një imazh kompjuteri me format standard, një drejtori nënsisteme skedari ose një bazë të dhënash. Gjëja e rëndësishme për kriptanalistin është se në secilin prej këtyre rasteve njihen disa bajt në tekstin e thjeshtë të mesazhit të shifruar të përgjuar, gjë që mjafton që ai të nisë një sulm me njohuri për tekstin e thjeshtë.

Llogaritja e kompleksitetit të një sulmi me forcë brutale është mjaft e thjeshtë. Nëse çelësi është 64 bit, atëherë një superkompjuter që mund të provojë 1 milion çelësa në 1 sekondë do të kalojë më shumë se 5000 vjet duke provuar të gjithë çelësat e mundshëm. Kur gjatësia e çelësit rritet në 12 bit, të njëjtit superkompjuter do t'i duhen 10 25 vjet për të renditur të gjithë çelësat. Universi ka ekzistuar vetëm për 10"° vite, kështu që mund të themi se 10- është një diferencë mjaft e madhe sigurie për ata që përdorin 128-5 çelësa.

Sidoqoftë, përpara se të nxitoni të shpikni një kriptosistem me një gjatësi çelësi prej 4 KB, duhet të mbani mend supozimin e bërë më lart, domethënë: algoritmi i enkriptimit i përdorur është ideal në kuptimin që mund të hapet vetëm me forcë brutale. Të sigurohesh për këtë në praktikë nuk është aq e lehtë sa mund të duket në shikim të parë. Kriptografia kërkon sofistikim dhe durim. Kriptosistemet e reja shumë komplekse, pas ekzaminimit më të afërt, shpesh rezultojnë të jenë shumë të paqëndrueshëm. Dhe bërja e ndryshimeve edhe të vogla në një algoritëm të fortë kriptografik mund të zvogëlojë ndjeshëm fuqinë e tij. Prandaj, duhet të përdorni vetëm shifra të provuara që janë njohur për shumë vite, dhe të mos keni frikë të jeni shumë të dyshimtë për algoritmet më të fundit të kriptimit, pavarësisht nga deklaratat e autorëve të tyre për besueshmërinë absolute të këtyre algoritmeve.

Është gjithashtu e rëndësishme të mos harrojmë rregullin e Kerckhoff: fuqia e një algoritmi të kriptimit duhet të përcaktohet nga çelësi, dhe jo nga detajet e vetë algoritmit. Për të qenë të sigurt për forcën e shifrës së përdorur, nuk mjafton ta analizoni atë, me kusht që kundërshtari të jetë plotësisht i njohur me algoritmin e kriptimit. Ne gjithashtu duhet të konsiderojmë një sulm ndaj këtij algoritmi, në të cilin armiku mund të marrë çdo sasi të tekstit të thjeshtë të koduar dhe përkatës. Për më tepër, për të përmirësuar besueshmërinë, duhet të supozohet se kriptanalisti ka aftësinë të organizojë një sulm me një tekst të thjeshtë të zgjedhur me gjatësi arbitrare.

Për fat të mirë, në jetën reale, shumica e njerëzve që janë të interesuar për përmbajtjen e skedarëve tuaj të koduar nuk kanë specialistë të kualifikuar dhe burime kompjuterike që janë në dispozicion të qeverive të superfuqive të botës. Këta të fundit nuk kanë gjasa të humbasin kohë dhe para për të lexuar mesazhin tuaj pasionant, thjesht personal. Megjithatë, nëse keni ndërmend të përmbysni "anti-populli qeveri”, duhet të mendoni seriozisht për fuqinë e algoritmit të enkriptimit të përdorur.

Kompleksiteti dhe kostoja e një sulmi me forcë brutale

Një sulm me forcë brutale është zakonisht një lloj sulmi me tekst të thjeshtë. Duke supozuar se një sulm me forcë brutale është sulmi më efektiv i mundshëm kundër algoritmit të enkriptimit simetrik që po përdorni. atëherë çelësi duhet të jetë mjaft i gjatë për ta zmbrapsur me sukses këtë sulm. Sa gjatë?

Ndër parametrat që duhet të merren parasysh kur merret parasysh një sulm me forcë brutale, para së gjithash, është e nevojshme të përmendet

Numri i përgjithshëm i çelësave të kontrolluar dhe koha e kaluar nga kundërshtari për të kontrolluar një çelës. Numri i çelësave për një algoritëm të caktuar zakonisht është i fiksuar. Për shembull, algoritmi DES përdor një çelës 56-bit. Kjo do të thotë se hapësira e tij e çelësave përmban 256 çelësa.

Shpejtësia e kontrollit të çelësave është më pak e rëndësishme se numri i tyre. Për thjeshtësi të paraqitjes, mund të supozojmë se, pavarësisht nga algoritmi i enkriptimit, koha e nevojshme për të verifikuar një çelës është e njëjtë. Në praktikë, ky supozim është i pasaktë dhe për algoritme të ndryshme kriptografike kjo kohë mund të ndryshojë me dhjetëra herë. Meqenëse qëllimi ynë është të gjejmë një gjatësi kyçe të tillë që fuqia e algoritmit të enkriptimit kundër një sulmi me forcë brutale të jetë miliona herë më e madhe se kufiri që e bën këtë sulm të pamundur në praktikë, supozimi ynë është mjaft i justifikuar.

Kur vendoset për një gjatësi të mjaftueshme të çelësit, algoritmi DES më së shpeshti konsiderohet si një algoritëm kriptimi. Në vitin 1977, kriptologët amerikanë W. Diffie (W.Diffie) dhe M. Hellman (M.Hellman) deklaroi se me nivelin aktual të zhvillimit të teknologjisë kompjuterike, është e mundur të ndërtohet një superkompjuter i specializuar për hapjen e çelësave të algoritmit DES duke përdorur metodën e forcës brutale. Me 1 milion çipa, secili prej të cilëve është i aftë të kontrollojë 1 milion çelësa në sekondë, ky superkompjuter do të kalonte të 256 çelësat në 20 orë.

Një sulm me forcë brutale është i përshtatshëm në mënyrë ideale për zbatimin në një superkompjuter paralel të përbërë nga shumë procesorë. Procesorët individualë që kërkojnë çelësin nuk kanë nevojë të komunikojnë me procesorë të tjerë të superkompjuterit gjatë pjesës së tyre të kërkimit. Rrjedhimisht, të gjithë procesorët e një superkompjuteri të specializuar të krijuar për kërkimin paralel të çelësave nuk janë domosdoshmërisht të vendosur në të njëjtin qytet, për të mos përmendur të njëjtën dhomë.

Në vitin 1993, kriptologu amerikan M. Wiener (M.Wiener) projektoi një superkompjuter për të sulmuar algoritmin DES me forcë brutale. Arsyetimi i Wiener është i vërtetë jo vetëm për algoritmin DES, por edhe për pothuajse çdo algoritëm tjetër të enkriptimit. Superkompjuteri i zhvilluar nga Wiener përbëhet nga çipa, pllaka dhe rafte të specializuara. Sipas Viner, për të garantuar hapjen e një çelësi 56-bit në 7 orë, prodhimi i një superkompjuteri të tillë do të kërkonte jo më shumë se 1 milion dollarë. Sipas ligjit të Moore, fuqia llogaritëse e kompjuterëve kapet çdo vit e gjysmë. Prandaj, deri në vitin 2001, kostoja e superkompjuterit të shpikur nga Wiener do të ulet me 10 herë dhe do të arrijë në vetëm 100 mijë dollarë. Kjo do të thotë se tashmë kompanitë e mëdha dhe "i ftohtë» Strukturat kriminale mund të hapin çelësa 56-bit. Për kriptanalistët ushtarakë në shumicën e vendeve të industrializuara, janë në dispozicion çelësat 64-bit.

Në vitin 1996, Diffie, Wiener dhe kriptologë të tjerë me reputacion amerikan publikuan rezultatet e punës së tyre kërkimore për të përcaktuar gjatësinë kryesore të nevojshme për të mbrojtur në mënyrë adekuate informacionin nga një sulm i forcës brutale. (tabela. 6.1).

Tabela 6.1. Kostoja dhe kompleksiteti llogaritës i një sulmi me forcë brutale

Kush po sulmon

Vështirësia e sulmit

çelës rezistent

Biznes i vogël

10 mijë dollarë

Kompani e madhe

10 milionë dollarë

agjenci federale

300 milionë dollarë

Për ato të dhëna në tabelë. Shifrat 6.1 duhet të trajtohen me kujdes. Llogaritja teorike e kostove të kryerjes së sulmeve me forcë brutale mbi çelësat kriptografikë me gjatësi të ndryshme është gjithmonë dukshëm i ndryshëm nga ajo që kriptanalistët përballen në praktikë kur blejnë ose zhvillojnë superkompjuterë për kryerjen e sulmeve të tilla. Kjo shpjegohet me faktin se disa nga supozimet e bëra rezultojnë të jenë shumë larg realitetit, ndërsa faktorë të tjerë thjesht nuk merren parasysh. Në këtë rast, Diffie, Wiener dhe të tjerë llogaritën se ndërtimi i një superkompjuteri të personalizuar për një sulm me forcë brutale do të përdorte çipa të personalizuar që kushtojnë jo më shumë se 10 dollarë.NSA vlerëson se çipa të tillë zakonisht kushtojnë 100 herë më shumë. NSA gjithashtu vuri në dyshim supozimin se, pavarësisht nga algoritmi i enkriptimit, vetëm gjatësia e çelësit përcakton kompleksitetin e sulmit kriptanalitik. Përveç kësaj, tabela nuk ka marrë parasysh koston e kërkimit dhe zhvillimit, e cila për shembullin e parë të një superkompjuteri është zakonisht të paktën 10 milion dollarë. Kostoja e blerjes së memories kompjuterike gjithashtu nuk u mor parasysh.

Nga sa më sipër mund të nxirret një përfundim shumë i rëndësishëm. Nëse dikush vërtet dëshiron të dijë çelësin që keni përdorur, atij i duhet vetëm të shpenzojë mjaft para. Prandaj, kostoja e informacionit të koduar nga ju është vendimtare. Nëse çmimi i tij në një ditë tregu është rreth 2 dollarë, vështirë se dikush do të guxonte të shpenzonte 1 milion dollarë për ta marrë atë. Por nëse fitimi nga leximi i enkriptimit tuaj është 100 milionë dollarë - kini kujdes! I vetmi ngushëllim është fakti që me kalimin e kohës, çdo informacion shumë shpejt vjetërohet dhe humbet vlerën e tij.

Sulmi i softuerit

Pa pajisje kompjuterike të specializuara për të kërkuar çelësa paralelisht, një sulm me forcë brutale ka shumë më pak gjasa të ketë sukses. Sidoqoftë, nëse nuk keni një milion dollarë shtesë për të shpenzuar për të bërë pajisje të tilla, ekziston një mënyrë tjetër, më e lirë për të provuar të hapni çelësin që ju intereson.

Ka shumë kompjuterë në botë (nga Ekspertët vlerësojnë se në vitin 1996 numri i tyre arriti në 200 milionë), të cilët, për të mos qëndruar kot, mund të provonin çelësat. Një eksperiment i kryer në fillim të vitit 1997 tregoi se një çelës 48-bit mund të thyhej në dy javë në këtë mënyrë. Dhe megjithëse ky çelës u gjet me forcë brutale pasi kontrolloi pak më shumë se gjysmën e të gjithë çelësave të mundshëm, rezultati është mbresëlënës, pasi gjatë sulmit jo më shumë se 5 mijë kompjuterë nga 200 milion ekzistues u përdorën në të njëjtën kohë, dhe në total vetëm 7 mijë kompjuterë u përfshinë në sulm.

Pengesa kryesore për përdorimin e miliona pajisjeve kompjuterike të shpërndara nëpër botë është pamundësia për t'i bërë pronarët e tyre të marrin pjesë në sulm. Ju, sigurisht, mund t'i kërkoni me mirësjellje secilit prej tyre një favor, por së pari, do t'ju duhet shumë kohë, dhe së dyti, përgjigjja në shumicën e rasteve ka shumë të ngjarë të jetë e fortë. "Jo". Mund të përpiqeni të futeni fshehurazi në kompjuterët e njerëzve të tjerë përmes rrjetit, por kjo do të marrë edhe më shumë kohë, dhe përveç kësaj, ju mund të arrestoheni.

Duket më e arsyeshme për të krijuar një virus kompjuterik që, në vend që të fshijë skedarët nga hard drive dhe lëshon mesazhe budalla në ekran, në mënyrë të padukshme për pronarin e kompjuterit, ai do të renditë përmes çelësave të mundshëm. Studimet tregojnë se virusi do të ketë në dispozicion nga 70 deri në 90% të kohës së procesorit të kompjuterit që infekton. Pas hapjes së çelësit, virusi mund të gjenerojë virus i ri, që përmban informacione për çelësin e gjetur dhe dërgojeni për të endur rrjeti kompjuterik derisa të arrijë te zotëria e tij.

Me një qasje më delikate, virusi që zbuloi çelësin do të shfaqë informacione të tilla në ekranin e kompjuterit:

NJË GABIME RËNDË E GJETUR NË KOMPJUTERIN TUAJ!

JU LUTEM THIRRNI NE TELEFON (095 )123-45-67

DHE LEXONI OPERATORIT NUMRIN E MËPOSHTËM 48 BIT:

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

I PARI QË RAPORTON KËTË GABIM ËSHTË I GARANTUAR

SHPËRBIMI 100 (STA) USD.

Nëse virusi arrin të infektojë 10 milionë kompjuterë, secili prej të cilëve kontrollon të paktën 1000 çelësa në sekondë, atëherë një çelës 56-bit do të gjendet në më pak se 3 muaj. Për më tepër, do t'ju duhet të merrni ryshfet për prodhuesit e programeve antivirus, por ky problem nuk ka të bëjë fare me kriptografinë kompjuterike, për të cilën po flasim tani.

Lotaria kineze

Supozoni se për një sulm me forcë brutale, një mikroqark i veçantë është futur në çdo radio dhe televizor kinez, i cili kontrollon 1 milion çelësa në sekondë. Secili prej tyre numëron automatikisht nëngrupin e çelësave të tij pas marrjes së fragmenteve të tekstit të koduar dhe tekstit të thjeshtë përkatës nga ajri. Sapo qeveria kineze dëshiron të hapë ndonjë çelës, ajo miraton një dekret që detyron të gjithë pronarët e televizorëve dhe radiove të ndezin pajisjet e tyre në një kohë të caktuar në mënyrë që të marrin disa fragmente teksti dhe të fillojnë të zgjidhin çelësat.

Pritet një çmim i rëndësishëm për çelësin e gjetur. Falë kësaj, radiot dhe televizorët me mikroqarqe të integruara blihen mirë dhe çelësat e hapur sillen në vëmendjen e qeverisë kineze në kohën e duhur. Duke marrë parasysh që çdo një në dhjetë kinezë ka një radio ose televizion, qeverisë kineze do t'i duheshin më së shumti 43 orë për të thyer një çelës 64-bit. Në tabelë. 6.2 tregon kompleksitetin e hapjes së një çelësi 64-bit duke përdorur "Kinez lotari” kur mbahet në Kinë, si dhe në SHBA, Irak dhe Izrael.

Tabela 6.2. Vështirësi për të thyer një çelës 64-bit duke përdorur "Kinez lotari"

Çelësi i enkriptimit- ky është informacion sekret (një grup numrash dhe shkronjash) që përdoret nga algoritmi për të kriptuar dhe deshifruar informacionin.

Fuqia e një çelësi varet nga gjatësia e tij në bit. Teknologjia SSL përdor shifra me 4096 bit për certifikatën rrënjësore dhe 128-256 bit për certifikatat e klientit. Kjo gjatësi është e mjaftueshme për transmetim të sigurt të të dhënave.

Protokolli SSL përdor enkriptim asimetrik ose çelës publik për të krijuar një lidhje. Pavarësisht emrit, këtu përdoren 2 çelësa: publik dhe privat. Të dyja krijohen kur kërkohet një certifikatë SSL.

Publik (çelës publik) në dispozicion për të gjithë. Përdoret për të enkriptuar të dhënat kur shfletuesi hyn në server.

Privat (çelës sekret) i njohur vetëm për pronarin e faqes. Përdoret për të deshifruar të dhënat e dërguara nga shfletuesi.

Kriptimi me dy lloje të ndryshme çelësash garanton sigurinë e informacionit. Edhe nëse mashtruesi përgjon trafikun, ai nuk do të jetë në gjendje ta deshifrojë atë pa çelësin privat.

Sidoqoftë, algoritmi asimetrik kërkon burime intensive dhe shpejtësia e kriptimit është 2-3 rend të madhësisë më e ulët se algoritmi simetrik. Prandaj, në teknologjinë SSL, kriptimi i çelësit publik përdoret vetëm për të negociuar një çelës sekret simetrik. Me ndihmën e tij, krijohet një lidhje e sigurt HTTPS - të dhënat transferohen shpejt dhe me siguri.

Nuk është e besueshme të përdoret menjëherë enkriptimi simetrik. Në këtë algoritëm, i njëjti çelës kodon dhe deshifron informacionin. Vizitori i faqes dhe pronari i serverit duhet të bien dakord për të pa dëshmitarë.

Nuk do të jetë e mundur të transmetohet me postë, telefon ose sms - ata do të përgjojnë ose dëgjojnë.

Do të thotë, duhet të dërgoni çelësin simetrik në një mesazh të koduar. Por së pari sigurohuni që të arrijë tek adresuesi i duhur.

  1. Për të vërtetuar serverin, shfletuesi i vizitorit kontrollon nëse certifikata SSL është e nënshkruar nga një certifikatë nga një autoritet i besuar.
  2. Për të rënë dakord për një çelës simetrik të enkriptimit, serveri dhe shfletuesi përdorin enkriptimin e çelësit publik asimetrik.

Konsideroni këtë proces duke përdorur çelësat realë si shembull:

Bob i dërgon Alisës një bravë ku çelësin e ka vetëm ai.

Kyçi këtu është çelësi publik.

Alice mbyll kutinë sekrete të Bobit dhe e kthen atë.

Shfletuesi gjithashtu kodon mesazhin duke përdorur çelësin publik dhe e dërgon atë në server.

Askush nuk do të jetë në gjendje ta hapë kutinë: as vetë Alice, as stafi i postës.

Në mënyrë të ngjashme, një mashtrues nuk mund të deshifrojë një mesazh të shfletuesit pa çelësin privat.

Bob merr kutinë, e hap me çelësin e tij të vetëm dhe mëson sekretin.

Serveri deshifron mesazhin me një çelës privat që ka vetëm ai.

Ashtu si Alice dhe Bob kanë një korrespondencë sekrete, shfletuesi dhe serveri krijojnë një lidhje të sigurt HTTPS dhe shkëmbejnë të dhëna.

tregoni miqve