EITC/IS/CCF Classical Cryptography Fundamentals este programul european de certificare IT privind aspectele teoretice și practice ale criptografiei clasice, incluzând atât criptografia cu cheie privată, cât și cea cu cheie publică, cu o introducere în cifrurile practice utilizate pe scară largă în Internet, cum ar fi RSA.
Curriculum-ul EITC/IS/CCF Fundamentele criptografiei clasice acoperă introducerea în criptografia cu cheie privată, aritmetica modulară și cifrurile istorice, cifrurile în flux, numerele aleatoare, cifrul One-Time Pad (OTP) necondiționat (în ipoteza că oferă o soluție). la problema distribuției cheilor, cum este dată, de exemplu, de Quantum Key Distribution, QKD), registrele de deplasare cu feedback linear, Standardul de criptare a datelor (cifrul DES, inclusiv criptarea, programarea cheilor și decriptarea), Standardul avansat de criptare (AES, introducerea câmpurilor Galois). criptografie bazată pe bază), aplicații ale cifrurilor bloc (inclusiv moduri de funcționare a acestora), luarea în considerare a criptării multiple și a atacurilor cu forță brută, introducerea în criptografia cu cheie publică care acoperă teoria numerelor, algoritmul euclidian, funcția Phi a lui Euler și teorema lui Euler, precum și introducere în criptosistemul RSA și exponențiere eficientă, în cadrul următoarei structuri, cuprinzând video didactice cuprinzătoare c conținut ca referință pentru această certificare EITC.
Criptografia se referă la modalități de comunicare sigură în prezența unui adversar. Criptografia, într-un sens mai larg, este procesul de creare și analiză a protocoalelor care împiedică terții sau publicul larg să acceseze mesaje private (criptate). Criptografia clasică modernă se bazează pe câteva caracteristici principale ale securității informațiilor, cum ar fi confidențialitatea datelor, integritatea datelor, autentificarea și non-repudierea. Spre deosebire de criptografia cuantică, care se bazează pe reguli radical diferite ale fizicii cuantice care caracterizează natura, criptografia clasică se referă la criptografia bazată pe legile fizicii clasice. Domeniile matematicii, informaticii, ingineriei electrice, stiintei comunicarii si fizicii, toate se intalnesc in criptografie clasica. Comerțul electronic, cardurile de plată bazate pe cip, monedele digitale, parolele computerelor și comunicațiile militare sunt toate exemple de aplicații de criptare.
Înainte de era actuală, criptografia era aproape sinonimă cu criptarea, transformând informațiile din prostii lizibile în prostii de neînțeles. Pentru a împiedica atacatorii să obțină acces la un mesaj criptat, expeditorul împărtășește procesul de decodare doar cu receptorii vizați. Numele Alice („A”) pentru expeditor, Bob („B”) pentru destinatarul vizat și Eve („cu urechea”) pentru adversar sunt frecvent utilizate în literatura de criptografie.
Metodele de criptare au devenit din ce în ce mai complexe, iar aplicațiile sale au fost mai diversificate, de la dezvoltarea mașinilor de cifrat cu rotor în Primul Război Mondial și introducerea calculatoarelor în al Doilea Război Mondial.
Criptografia modernă se bazează puternic pe teoria matematică și pe practica informatică; metodele criptografice sunt construite în jurul ipotezelor de duritate computațională, făcându-le dificil de încălcat de către orice adversar în practică. În timp ce pătrunderea într-un sistem bine conceput este teoretic posibilă, în practică este imposibilă. Astfel de scheme sunt denumite „sigure din punct de vedere computațional” dacă sunt construite în mod adecvat; cu toate acestea, descoperirile teoretice (de exemplu, îmbunătățirea metodelor de factorizare întregi) și tehnologia de calcul mai rapidă necesită o reevaluare constantă și, dacă este necesar, adaptarea acestor proiecte. Există sisteme sigure din punct de vedere teoretic al informației, cum ar fi pad-ul unic, care se poate dovedi a fi indestructibil chiar și cu o putere de calcul infinită, dar sunt semnificativ mai dificil de utilizat în practică decât cele mai bune scheme teoretic ruptibile, dar sigure din punct de vedere computațional.
În epoca informației, progresul tehnologiei criptografice a produs o varietate de provocări legale. Multe națiuni au clasificat criptografia drept armă, limitând sau interzicând utilizarea și exportul acesteia datorită potențialului său de spionaj și sediție. Anchetatorii pot obliga predarea cheilor de criptare pentru documentele relevante pentru o investigație în unele locuri în care criptografia este legală. În cazul mediilor digitale, criptografia joacă, de asemenea, un rol cheie în gestionarea drepturilor digitale și în conflictele de încălcare a drepturilor de autor.
Termenul „criptograf” (spre deosebire de „criptogramă”) a fost folosit pentru prima dată în secolul al XIX-lea, în nuvela lui Edgar Allan Poe „The Gold-Bug”.
Până de curând, criptografia se referea aproape doar la „criptare”, care este actul de a transforma datele obișnuite (cunoscute sub numele de text simplu) într-un format care nu poate fi citit (numit text cifrat). Decriptarea este opusul criptării, adică trecerea de la text cifrat neinteligibil la text simplu. Cifrul (sau cifrul) este un set de tehnici care realizează criptarea și decriptarea în ordine inversă. Algoritmul și, în fiecare caz, o „cheie” sunt responsabile de execuția detaliată a cifrului. Cheia este un secret (de preferință cunoscut doar de cei care comunică) care este folosit pentru a decripta textul cifrat. Este de obicei un șir de caractere (ideal scurt, astfel încât să poată fi reținut de utilizator). Un „criptosistem” este o colecție ordonată de elemente de texte clare potențiale finite, texte cifrate, chei și procedurile de criptare și decriptare care corespund fiecărei chei în termeni matematici formali. Cheile sunt cruciale atât din punct de vedere formal, cât și practic, deoarece cifrurile cu chei fixe pot fi sparte cu ușurință folosind doar informațiile cifrului, făcându-le inutile (sau chiar contraproductive) pentru majoritatea scopurilor.
Din punct de vedere istoric, cifrurile au fost utilizate frecvent fără proceduri suplimentare, cum ar fi autentificarea sau verificările de integritate pentru criptare sau decriptare. Criptosistemele sunt împărțite în două categorii: simetrice și asimetrice. Aceeași cheie (cheia secretă) este folosită pentru a cripta și decripta un mesaj în sisteme simetrice, care erau singurele cunoscute până în anii 1970. Deoarece sistemele simetrice folosesc chei de lungime mai scurtă, manipularea datelor în sistemele simetrice este mai rapidă decât în sistemele asimetrice. Sistemele asimetrice criptează o comunicare cu o „cheie publică” și o decriptează folosind o „cheie privată” similară. Utilizarea sistemelor asimetrice îmbunătățește securitatea comunicațiilor, din cauza dificultății de a determina relația dintre cele două chei. RSA (Rivest–Shamir–Adleman) și ECC sunt două exemple de sisteme asimetrice (Eliptic Curve Cryptography). Utilizat pe scară largă AES (Advanced Encryption Standard), care a înlocuit DES anterior, este un exemplu de algoritm simetric de înaltă calitate (Data Encryption Standard). Diferitele tehnici de încurcare a limbajului copiilor, cum ar fi Pig Latin sau alte cant, și într-adevăr toate schemele criptografice, oricât de serioase ar fi fost înțelese, din orice sursă înainte de introducerea blocului unic la începutul secolului XX, sunt exemple de calitate scăzută. algoritmi simetrici.
Termenul „cod” este adesea folosit colocvial pentru a se referi la orice tehnică de criptare sau de ascundere a mesajelor. Cu toate acestea, în criptografie, codul se referă la înlocuirea unui cuvânt de cod cu o unitate de text simplu (adică, un cuvânt sau o expresie semnificativă) (de exemplu, „wallaby” înlocuiește „atack at Dawn”). În schimb, un cyphertext este creat prin modificarea sau înlocuirea unui element sub un astfel de nivel (o literă, o silabă sau o pereche de litere, de exemplu) pentru a forma un cyphertext.
Criptanaliza este studiul modalităților de decriptare a datelor criptate fără a avea acces la cheia necesară pentru a face acest lucru; cu alte cuvinte, este studiul modului de „spărge” schemele de criptare sau implementările acestora.
În engleză, unii oameni folosesc în mod interschimbabil termenii „criptografie” și „criptologie”, în timp ce alții (inclusiv practica militară a SUA în general) folosesc „criptografia” pentru a se referi la utilizarea și practica tehnicilor criptografice și „criptologie” pentru a se referi la combinarea studiul criptografiei și criptoanalizei. Engleza este mai adaptabilă decât o serie de alte limbi, unde „criptologia” (așa cum este practicată de criptologi) este întotdeauna folosită în al doilea sens. Steganografia este uneori inclusă în criptologie, conform RFC 2828.
Criptolingvistica este studiul proprietăților limbajului care au o anumită relevanță în criptografie sau criptologie (de exemplu, statistici de frecvență, combinații de litere, modele universale și așa mai departe).
Criptografia și criptoanaliza au o istorie lungă.
Istoria criptografiei este articolul principal.
Înainte de epoca modernă, criptografia era preocupată în primul rând de confidențialitatea mesajelor (adică, criptarea) - conversia mesajelor dintr-o formă inteligibilă într-o formă de neînțeles și din nou, făcându-le de necitit de către interceptori sau interceptatorii fără cunoștințe secrete (și anume cheia necesară pentru decriptare). a acelui mesaj). Criptarea a fost concepută pentru a menține private conversațiile spionilor, liderilor militari și diplomaților. În ultimele decenii, disciplina a crescut pentru a include tehnici precum verificarea integrității mesajelor, autentificarea identității expeditorului/destinatarului, semnăturile digitale, dovezile interactive și calculul securizat, printre altele.
Cele mai comune două tipuri de cifruri clasice sunt cifrurile de transpunere, care înlocuiesc sistematic literele sau grupurile de litere cu alte litere sau grupuri de litere (de exemplu, „hello world” devine „ehlol owrdl” într-o schemă de rearanjare trivial simplă) și cifrurile de substituție, care înlocuiesc sistematic literele sau grupurile de litere cu alte litere sau grupuri de litere (de exemplu, „zboară imediat” devine „gmz bu Versiunile simple ale fiecăreia dintre ele nu au oferit niciodată prea multă intimitate față de adversarii vicleni. Cifrul Caesar a fost un cifr de substituție timpuriu în care fiecare literă din textul simplu a fost înlocuită cu o literă cu un anumit număr de poziții de-a lungul alfabetului. Potrivit lui Suetonius, Iulius Caesar a folosit-o cu o tură de trei oameni pentru a comunica cu generalii săi. Un cifr ebraic timpuriu, Atbash, este un exemplu. Cea mai veche utilizare cunoscută a criptografiei este un text cifrat sculptat pe piatră în Egipt (aproximativ 1900 î.Hr.), totuși este posibil ca acest lucru să fi fost făcut pentru plăcerea spectatorilor alfabetizați, mai degrabă. a ascunde informații.
Se spune că criptele erau cunoscute grecilor clasici (de exemplu, cifrul de transpunere scytale despre care se pretinde că a fost folosit de armata spartană). Steganografia (practica de a ascunde chiar și prezența unei comunicări pentru a o păstra privată) a fost inventată și în vremuri străvechi. O frază tatuată pe capul ras al unui sclav și ascunsă sub părul recrescut, conform lui Herodot. Utilizarea cernelii invizibile, a micropunctelor și a filigranelor digitale pentru a ascunde informațiile sunt cazuri mai actuale de steganografie.
Kautiliyam și Mulavediya sunt două tipuri de cifruri menționate în Kamasutra din Vtsyyana din India, veche de 2000 de ani. Substituțiile de litere cifrate în Kautiliyam se bazează pe relații fonetice, cum ar fi vocalele care devin consoane. Alfabetul cifrat din Mulavediya constă din litere care se potrivesc și folosesc litere reciproce.
Potrivit savantului musulman Ibn al-Nadim, Persia sasanida avea două scripturi secrete: h-dabrya (literal „scrisul regelui”), care era folosit pentru corespondența oficială, și rz-saharya, care era folosit pentru a schimba mesaje secrete cu alte persoane. ţări.
În cartea sa The Codebreakers, David Kahn scrie că criptologia contemporană a început cu arabii, care au fost primii care au documentat cu atenție procedurile criptoanalitice. Cartea mesajelor criptografice a fost scrisă de Al-Khalil (717–786) și conține cea mai veche utilizare a permutărilor și combinațiilor pentru a enumera toate cuvintele arabe imaginabile cu și fără vocale.
Textele cifrate generate de un cifru clasic (precum și unele cifre moderne) dezvăluie informații statistice despre textul simplu, care pot fi utilizate pentru a sparge cifrul. Aproape toate astfel de cifruri ar putea fi sparte de un atacator inteligent după descoperirea analizei frecvenței, posibil de către matematicianul și polimatul arab Al-Kindi (cunoscut și ca Alkindus) în secolul al IX-lea. Cifrurile clasice sunt încă populare astăzi, deși în mare parte ca puzzle-uri (vezi criptograma). Risalah fi Istikhraj al-Mu'amma (Manuscrisul pentru descifrarea mesajelor criptografice) a fost scris de Al-Kindi și a documentat prima utilizare cunoscută a tehnicilor de criptoanaliza de analiză a frecvenței.
Unele abordări de criptare a istoriei extinse, cum ar fi cifrul homofonic, care tind să aplatizeze distribuția de frecvență, pot să nu beneficieze de frecvențele literelor de limbă. Frecvențele grupurilor de litere de limbă (sau n-grame) pot da un atac pentru acele cifruri.
Până la descoperirea cifrului polialfabetic, în special de către Leon Battista Alberti în jurul anului 1467, practic toate cifrurile erau accesibile criptoanalizei folosind abordarea analizei frecvenței, deși există unele dovezi că acesta era deja cunoscut de Al-Kindi. Alberti a venit cu ideea de a folosi cifruri separate (sau alfabete de substituție) pentru diferite părți ale unei comunicări (poate pentru fiecare literă succesivă de text simplu la limită). De asemenea, a creat ceea ce se crede că este primul dispozitiv de criptare automată, o roată care a executat o parte din designul său. Criptarea în cifrul Vigenère, un cifr polialfabetic, este controlată de un cuvânt cheie care guvernează înlocuirea literelor în funcție de ce literă a cuvântului cheie este utilizată. Charles Babbage a demonstrat că cifrul Vigenère era vulnerabil la analiza Kasiski la mijlocul secolului al XIX-lea, dar Friedrich Kasiski și-a publicat descoperirile zece ani mai târziu.
În ciuda faptului că analiza frecvenței este o tehnică puternică și largă împotriva multor cifruri, criptarea a rămas eficientă în practică, deoarece mulți potențiali criptoanalisti nu sunt conștienți de tehnică. Spargerea unui mesaj fără a utiliza analiza de frecvență necesita cunoașterea cifrului folosit și, eventual, cheia implicată, făcând spionajul, mita, efracția, dezertarea și alte tactici neinformate criptoanalitic mai atractive. Secretul algoritmului unui cifru a fost în cele din urmă recunoscut în secolul al XIX-lea ca fiind o asigurare nici rezonabilă, nici fezabilă a securității mesajelor; de fapt, orice schemă criptografică adecvată (inclusiv cifrurile) ar trebui să rămână sigură chiar dacă adversarul înțelege pe deplin algoritmul de cifrare în sine. Securitatea cheii ar trebui să fie suficientă pentru ca un cifru bun să păstreze confidențialitatea în fața unui atac. Auguste Kerckhoffs a afirmat pentru prima dată acest principiu fundamental în 19 și este cunoscut sub numele de Principiul lui Kerckhoffs; alternativ, și mai direct, Claude Shannon, inventatorul teoriei informațiilor și al fundamentelor criptografiei teoretice, a reformulat-o drept Maxima lui Shannon — „inamicul cunoaște sistemul”.
Pentru a ajuta la criptări, au fost utilizate multe gadget-uri fizice și asistență. Scytale din Grecia antică, o tijă despre care se presupune că ar fi folosită de spartani ca unealtă de cifrare de transpunere, ar fi putut fi una dintre primele. Alte ajutoare au fost concepute în epoca medievală, cum ar fi grila de cifră, care a fost folosită și pentru steganografie. Odată cu dezvoltarea cifrurilor polialfabetice, au devenit disponibile ajutoare mai sofisticate, cum ar fi discul de cifră al lui Alberti, schema tabula recta a lui Johannes Trithemius și cifrul cu roată a lui Thomas Jefferson (necunoscut public și reinventat independent de Bazeries în jurul anului 1900). Multe sisteme mecanice de criptare/decriptare au fost concepute și brevetate la începutul secolului al XX-lea, inclusiv mașini cu rotor, care au fost utilizate în mod celebru de guvernul și armata germană de la sfârșitul anilor 1920 până la al Doilea Război Mondial. După Primul Război Mondial, cifrurile implementate de exemple de calitate superioară ale acestor modele de mașini au dus la o creștere semnificativă a dificultății criptoanalitice.
Criptografia sa preocupat în primul rând de modelele lingvistice și lexicografice înainte de începutul secolului al XX-lea. De atunci, accentul a evoluat, iar criptografia include acum aspecte de teoria informației, complexitatea computațională, statistică, combinatorie, algebră abstractă, teoria numerelor și matematică finită în general. Criptografia este un tip de inginerie, dar este unică prin faptul că se ocupă de rezistența activă, inteligentă și ostilă, în timp ce alte tipuri de inginerie (cum ar fi ingineria civilă sau chimică) trebuie doar să se ocupe de forțe naturale care sunt neutre. Legătura dintre dificultățile de criptografie și fizica cuantică este, de asemenea, investigată.
Dezvoltarea computerelor digitale și a electronicii a ajutat criptoanaliza, permițând crearea unor cifruri considerabil mai sofisticate. În plus, spre deosebire de cifrurile tradiționale, care criptau exclusiv textele în limba scrisă, computerele permiteau criptarea oricărui tip de date care puteau fi reprezentate în orice format binar; asta a fost nou și crucial. Atât în proiectarea cifrului, cât și în criptoanaliza, computerele au înlocuit criptografia limbajului. Spre deosebire de metodele clasice și mecanice, care manipulează în primul rând caracterele tradiționale (de exemplu, literele și cifrele) în mod direct, multe cifruri de computer funcționează pe secvențe de biți binari (ocazional în grupuri sau blocuri). Calculatoarele, pe de altă parte, au ajutat criptoanaliza, care a compensat parțial complexitatea crescută a cifrului. În ciuda acestui fapt, cifrurile moderne bune au rămas înaintea criptoanalizei; este adesea cazul că folosirea unui cifr bun este foarte eficient (adică rapidă și necesită puține resurse, cum ar fi capacitatea de memorie sau CPU), în timp ce ruperea acestuia necesită un efort cu multe ordine de mărime mai mare și cu mult mai mare decât cel necesar pentru orice cifrul clasic, făcând efectiv criptoanaliza imposibilă.
Criptografia modernă își face debutul.
Criptanaliza noilor dispozitive mecanice s-a dovedit a fi provocatoare și consumatoare de timp. În timpul celui de-al Doilea Război Mondial, activitățile criptoanalitice de la Bletchley Park din Regatul Unit au încurajat inventarea unor metode mai eficiente pentru realizarea sarcinilor repetitive. Colossus, primul computer complet electronic, digital, programabil din lume, a fost dezvoltat pentru a ajuta la decodarea cifrurilor create de aparatul Lorenz SZ40/42 al armatei germane.
Criptografia este un domeniu relativ nou de cercetare academică deschisă, care a început abia la mijlocul anilor 1970. Angajații IBM au conceput algoritmul care a devenit standardul federal de criptare a datelor (de exemplu, SUA); Whitfield Diffie și Martin Hellman și-au publicat algoritmul de acord cheie; iar coloana Scientific American a lui Martin Gardner a publicat algoritmul RSA. Criptografia a crescut de atunci în popularitate ca tehnică pentru comunicații, rețele de computere și securitatea computerelor în general.
Există legături profunde cu matematica abstractă, deoarece mai multe abordări moderne de criptografie își pot păstra cheile secrete doar dacă anumite probleme matematice sunt insolubile, cum ar fi factorizarea întregilor sau problemele de logaritm discret. Există doar câteva criptosisteme despre care s-a demonstrat că sunt 100% sigure. Claude Shannon a dovedit că pad-ul unic este unul dintre ele. Există câțiva algoritmi cheie care s-au dovedit a fi siguri în anumite condiții. Incapacitatea de a factoriza numere întregi extrem de mari, de exemplu, este baza pentru a crede că RSA și alte sisteme sunt sigure, dar dovada indissolubilității este de neatins, deoarece problema matematică de bază rămâne nerezolvată. În practică, acestea sunt utilizate pe scară largă și cei mai mulți observatori competenți cred că sunt indestructibile în practică. Există sisteme similare cu RSA, cum ar fi cel dezvoltat de Michael O. Rabin, care sunt sigure dacă factorizarea n = pq este imposibilă; cu toate acestea, sunt practic inutile. Problema logaritmului discret este fundamentul pentru a crede că alte criptosisteme sunt sigure și există sisteme similare, mai puțin practice, care se dovedesc sigure în ceea ce privește solubilitatea sau insolvabilitatea problemei cu logaritmul discret.
Proiectanții de algoritmi și sisteme criptografice trebuie să ia în considerare posibilele progrese viitoare atunci când lucrează la ideile lor, pe lângă faptul că cunosc istoria criptografică. De exemplu, pe măsură ce puterea de procesare a computerului s-a îmbunătățit, amploarea atacurilor cu forță brută a crescut, prin urmare și lungimile cheilor necesare au crescut. Unii designeri de sisteme criptografice care explorează criptografia post-cuantică iau deja în considerare consecințele potențiale ale calculului cuantic; iminența anunțată a implementărilor modeste ale acestor mașini poate face nevoia de precauție preventivă mai mult decât speculativă.
Criptografia clasică în zilele noastre
Criptografia simetrică (sau cu cheie privată) este un tip de criptare în care expeditorul și destinatarul folosesc aceeași cheie (sau, mai puțin frecvent, în care cheile lor sunt diferite, dar legate într-un mod ușor de calculat și sunt păstrate în secret, în mod privat. ). Până în iunie 1976, acesta a fost singurul tip de criptare care a fost cunoscut public.
Cifrele bloc și cifrurile flux sunt ambele utilizate pentru a implementa cifrurile cu cheie simetrică. Un cifru bloc criptează intrarea în blocuri de text simplu, mai degrabă decât în caractere individuale, așa cum o face un cifru de flux.
Guvernul SUA a desemnat Standardul de criptare a datelor (DES) și Standardul de criptare avansată (AES) drept standarde de criptare (deși certificarea DES a fost în cele din urmă retrasă odată ce AES a fost stabilit). DES (în special varianta sa triplu-DES încă aprobată și semnificativ mai sigură) rămâne populară în ciuda deprecierii sale ca standard oficial; este utilizat într-o gamă largă de aplicații, de la criptarea ATM până la confidențialitatea e-mailului și accesul securizat de la distanță. Au fost inventate și lansate o mulțime de cifruri bloc diferite, cu diferite grade de succes. Multe, inclusiv unele concepute de practicieni calificați, cum ar fi FEAL, au fost rupte în mare măsură.
Cifrurile în flux, spre deosebire de cifrurile bloc, generează un flux infinit de lung de material cheie care este cuplat cu text simplu, bit cu bit sau caracter cu caracter, similar cu pad-ul unic. Fluxul de ieșire al unui cod de flux este generat dintr-o stare internă ascunsă care se modifică pe măsură ce funcționează cifrul. Materialul cheii secrete este folosit la început pentru a seta starea internă. Cifrul de flux RC4 este utilizat pe scară largă. Prin crearea blocurilor unui flux de chei (în loc de un generator de numere pseudoaleatoare) și folosind o operație XOR la fiecare bit al textului simplu cu fiecare bit al fluxului de chei, cifrurile bloc pot fi folosite ca cifruri flux.
Codurile de autentificare a mesajelor (MAC) sunt similare cu funcțiile hash criptografice, cu excepția faptului că o cheie secretă poate fi utilizată pentru a valida valoarea hash la primire; această complexitate suplimentară previne un atac împotriva algoritmilor de digest liber și, prin urmare, se consideră că merită. Un al treilea tip de tehnică criptografică sunt funcțiile hash criptografice. Aceștia iau ca intrare orice mesaj de lungime și scot un hash mic, cu lungime fixă, care poate fi folosit în semnăturile digitale, de exemplu. Un atacator nu poate localiza două mesaje care produc același hash folosind algoritmi de hash buni. MD4 este o funcție hash utilizată pe scară largă, dar acum defectuoasă; MD5, o formă îmbunătățită a MD4, este, de asemenea, utilizat pe scară largă, dar rupt în practică. Seria Secure Hash Algorithm de algoritmi hash asemănători MD5 a fost dezvoltată de Agenția Națională de Securitate a SUA: Autoritatea de standardizare din SUA a decis că este „prudent” din punct de vedere al securității să dezvolte un nou standard pentru „îmbunătățirea semnificativă a robusteței algoritmului de hash general al NIST. trusa de instrumente.” SHA-1 este utilizat pe scară largă și mai sigur decât MD5, dar criptoanalistii au identificat atacuri împotriva acestuia; familia SHA-2 se îmbunătățește față de SHA-1, dar este vulnerabilă la ciocniri începând cu 2011; iar familia SHA-2 se îmbunătățește față de SHA-1, dar este vulnerabilă la ciocniri. Ca urmare, până în 2012, urma să aibă loc un concurs de proiectare a funcției hash pentru a alege un nou standard național al SUA, care va fi cunoscut sub numele de SHA-3. Competiția s-a încheiat pe 2 octombrie 2012, când Institutul Național de Standarde și Tehnologie (NIST) a anunțat Keccak ca noul algoritm hash SHA-3. Funcțiile hash criptografice, spre deosebire de blocurile inversabile și cifrurile de flux, oferă o ieșire hash care nu poate fi utilizată pentru a recupera datele originale de intrare. Funcțiile hash criptografice sunt folosite pentru a verifica autenticitatea datelor achiziționate dintr-o sursă nede încredere sau pentru a adăuga un grad suplimentar de protecție.
Deși un mesaj sau un set de mesaje poate avea o cheie diferită față de altele, sistemele cripto cu cheie simetrică folosesc aceeași cheie pentru criptare și decriptare. Gestionarea cheilor necesară pentru a utiliza cifrurile simetrice în siguranță este un mare dezavantaj. Fiecare pereche individuală de părți care comunică ar trebui, în mod ideal, să partajeze o cheie diferită, precum și, eventual, un text cifrat diferit pentru fiecare text cifrat trimis. Numărul de chei necesare crește direct proporțional cu numărul de participanți la rețea, necesitând tehnici complicate de gestionare a cheilor pentru a le menține pe toate coerente și secrete.
Whitfield Diffie și Martin Hellman au inventat conceptul de criptare cu cheie publică (cunoscută și ca cheie asimetrică) într-o lucrare fundamentală din 1976, în care sunt folosite două chei distincte, dar legate matematic - o cheie publică și o cheie privată. Chiar dacă sunt indisolubil legate, un sistem de chei publice este construit în așa fel încât calcularea unei chei („cheia privată”) din cealaltă („cheia publică”) este imposibil din punct de vedere computațional. Mai degrabă, ambele chei sunt produse în secret, ca o pereche legată. Criptografia cu cheie publică, potrivit istoricului David Kahn, este „cea mai revoluționară noțiune nouă în domeniu de când substituția polialfabetică a apărut în Renaștere”.
Cheia publică dintr-un criptosistem cu cheie publică poate fi transmisă liber, dar cheia privată cuplată trebuie păstrată ascunsă. Cheia publică este folosită pentru criptare, în timp ce cheia privată sau secretă este utilizată pentru decriptare într-o schemă de criptare cu cheie publică. Deși Diffie și Hellman nu au reușit să creeze un astfel de sistem, ei au demonstrat că criptografia cu cheie publică era posibilă prin furnizarea protocolului de schimb de chei Diffie-Hellman, o soluție care permite două persoane să convină în secret asupra unei chei de criptare partajată. Cel mai utilizat format pentru certificatele de cheie publică este definit de standardul X.509.
Publicarea lui Diffie și Hellman a stârnit un interes academic larg răspândit în dezvoltarea unui sistem practic de criptare cu cheie publică. Ronald Rivest, Adi Shamir și Len Adleman au câștigat în cele din urmă concursul în 1978, iar răspunsul lor a devenit cunoscut sub numele de algoritmul RSA.
Pe lângă faptul că sunt cele mai vechi instanțe cunoscute public de algoritmi de cheie publică de înaltă calitate, algoritmii Diffie-Hellman și RSA au fost printre cei mai des utilizați. Criptosistemul Cramer–Shoup, criptarea ElGamal și numeroasele abordări ale curbei eliptice sunt exemple de algoritmi cu cheie asimetrică.
Criptografii GCHQ au prevăzut mai multe progrese academice, conform unui document emis în 1997 de către Guvernul de Comunicații (GCHQ), o organizație de informații britanică. Potrivit legendei, criptografia cu cheie asimetrică a fost inventată de James H. Ellis în jurul anului 1970. Clifford Cocks a inventat o soluție în 1973 care era extrem de asemănătoare cu RSA în ceea ce privește designul. Malcolm J. Williamson este creditat cu inventarea schimbului de chei Diffie-Hellman în 1974.
Sistemele de semnătură digitală sunt, de asemenea, implementate folosind criptografia cu cheie publică. O semnătură digitală este similară cu o semnătură tradițională, prin aceea că este ușor de creat de către utilizator, dar greu de falsificat pentru alții. Semnăturile digitale pot fi legate permanent și de conținutul comunicării care se semnează; aceasta înseamnă că nu pot fi „mutate” de la un document la altul fără a fi detectate. Există doi algoritmi în schemele de semnătură digitală: unul pentru semnare, care utilizează o cheie secretă pentru a procesa mesajul (sau un hash al mesajului, sau ambele) și unul pentru verificare, care utilizează cheia publică care se potrivește cu mesajul pentru a valida autenticitatea semnăturii. Două dintre cele mai utilizate metode de semnătură digitală sunt RSA și DSA. Infrastructurile cu chei publice și multe sisteme de securitate a rețelei (de exemplu, SSL/TLS, multe VPN-uri) se bazează pe semnăturile digitale pentru a funcționa.
Complexitatea computațională a problemelor „grele”, cum ar fi cele care decurg din teoria numerelor, este frecvent utilizată pentru a dezvolta metode cu cheie publică. Problema factorizării întregi este legată de duritatea RSA, în timp ce problema logaritmului discret este legată de Diffie-Hellman și DSA. Securitatea criptografiei cu curbe eliptice se bazează pe probleme teoretice ale numărului curbei eliptice. Majoritatea algoritmilor cu cheie publică includ operații precum multiplicarea modulară și exponențiarea, care sunt substanțial mai costisitoare din punct de vedere computațional decât tehnicile utilizate în majoritatea cifrurilor bloc, în special cu dimensiunile normale ale cheilor, din cauza dificultății problemelor de bază. Ca rezultat, criptosistemele cu cheie publică sunt frecvent criptosisteme hibride, în care mesajul este criptat cu un algoritm rapid și de înaltă calitate cu cheie simetrică, în timp ce cheia simetrică relevantă este trimisă împreună cu mesajul, dar criptată cu un algoritm cu cheie publică. Schemele de semnătură hibridă, în care se calculează o funcție hash criptografică și numai hashul rezultat este semnat digital, sunt de asemenea utilizate în mod obișnuit.
Funcții hash în criptografie
Funcțiile hash criptografice sunt algoritmi criptografici care produc și folosesc chei specifice pentru a cripta datele pentru criptare simetrică sau asimetrică și pot fi considerate chei. Aceștia iau ca intrare orice mesaj de lungime și scot un hash mic, cu lungime fixă, care poate fi folosit în semnăturile digitale, de exemplu. Un atacator nu poate localiza două mesaje care produc același hash folosind algoritmi de hash buni. MD4 este o funcție hash utilizată pe scară largă, dar acum defectuoasă; MD5, o formă îmbunătățită a MD4, este, de asemenea, utilizat pe scară largă, dar rupt în practică. Seria Secure Hash Algorithm de algoritmi hash asemănători MD5 a fost dezvoltată de Agenția Națională de Securitate a SUA: Autoritatea de standardizare din SUA a decis că este „prudent” din punct de vedere al securității să dezvolte un nou standard pentru „îmbunătățirea semnificativă a robusteței algoritmului de hash general al NIST. trusa de instrumente.” SHA-1 este utilizat pe scară largă și mai sigur decât MD5, dar criptoanalistii au identificat atacuri împotriva acestuia; familia SHA-2 se îmbunătățește față de SHA-1, dar este vulnerabilă la ciocniri începând cu 2011; iar familia SHA-2 se îmbunătățește față de SHA-1, dar este vulnerabilă la ciocniri. Ca urmare, până în 2012, urma să aibă loc un concurs de proiectare a funcției hash pentru a alege un nou standard național al SUA, care va fi cunoscut sub numele de SHA-3. Competiția s-a încheiat pe 2 octombrie 2012, când Institutul Național de Standarde și Tehnologie (NIST) a anunțat Keccak drept noul algoritm hash SHA-3. Funcțiile hash criptografice, spre deosebire de blocurile inversabile și cifrurile de flux, oferă o ieșire hashing care nu poate fi utilizată pentru a recupera datele originale de intrare. Funcțiile hash criptografice sunt folosite pentru a verifica autenticitatea datelor achiziționate dintr-o sursă nede încredere sau pentru a adăuga un grad suplimentar de protecție.
Primitive și criptosisteme criptografice
O mare parte din munca teoretică a criptografiei se concentrează pe primitivele criptografice - algoritmi care au proprietăți criptografice de bază - și modul în care acestea se raportează la alte provocări criptografice. Aceste primitive de bază sunt apoi folosite pentru a crea instrumente criptografice mai complexe. Aceste primitive oferă calități fundamentale care sunt utilizate pentru a crea instrumente mai complexe cunoscute sub numele de criptosisteme sau protocoale criptografice care asigură una sau mai multe proprietăți de securitate de nivel înalt. Granița dintre primitivele criptografice și sistemele criptografice, pe de altă parte, este arbitrară; algoritmul RSA, de exemplu, este uneori considerat un criptosistem și alteori un primitiv. Funcțiile pseudorandom, funcțiile unidirecționale și alte primitive criptografice sunt exemple comune.
Un sistem criptografic, sau criptosistem, este creat prin combinarea uneia sau mai multor primitive criptografice pentru a crea un algoritm mai complicat. Criptosistemele (de exemplu, criptarea El-Gamal) sunt menite să ofere funcționalități specifice (de exemplu, criptarea cu chei publice), asigurând în același timp anumite calități de securitate (de exemplu, securitatea CPA pentru atacul în text simplu ale model aleatoriu de oracle). Pentru a susține calitățile de securitate ale sistemului, criptosistemele utilizează proprietățile primitivelor criptografice subiacente. Un criptosistem sofisticat poate fi generat dintr-o combinație de numeroase criptosisteme mai rudimentare, deoarece distincția dintre primitive și criptosisteme este oarecum arbitrară. În multe circumstanțe, structura criptosistemului cuprinde comunicarea dus-întors între două sau mai multe părți în spațiu (de exemplu, între expeditorul și destinatarul unui mesaj securizat) sau în timp (de exemplu, între expeditorul și receptorul unui mesaj securizat) (de exemplu, date de rezervă protejate criptografic).
Pentru a vă familiariza în detaliu cu curriculumul de certificare, puteți extinde și analiza tabelul de mai jos.
Curriculumul de certificare EITC/IS/CCF Classical Criptography Fundamentals face referire la materiale didactice cu acces deschis sub formă video. Procesul de învățare este împărțit într-o structură pas cu pas (programe -> lecții -> subiecte) care acoperă părți relevante ale curriculumului. De asemenea, se oferă consultanță nelimitată cu experți în domeniu.
Pentru detalii despre procedura de certificare verificați Abordare.
Note de curs principale
Înțelegerea criptografiei de Christof Paar și Jan Pelzl, Curs online sub formă de diapozitive PDF
https://www.crypto-textbook.com/slides.php
Înțelegerea criptografiei de Christof Paar și Jan Pelzl, Curs online sub formă de videoclipuri
https://www.crypto-textbook.com/movies.php
Referința principală a cărții de criptografie clasică
Înțelegerea criptografiei de Christof Paar și Jan Pelzl
https://www.crypto-textbook.com/index.php
Referință suplimentară de carte de criptografie clasică aplicată
Manual de criptografie aplicată de A. Menezes, P. van Oorschot și S. Vanstone:
https://cacr.uwaterloo.ca/hac/
https://www.amazon.com/exec/obidos/ISBN=0849385237/7181-7381933-595174
Descărcați materialele pregătitoare complete pentru auto-învățare offline pentru programul EITC/IS/CCF Fundamentele criptografiei clasice într-un fișier PDF
Materiale pregătitoare EITC/IS/CCF – versiune standard
Materiale pregătitoare EITC/IS/CCF – versiune extinsă cu întrebări de revizuire