Algoritmi de criptare a datelor. Metode de criptare a datelor - Blogul programatorului web Aplicarea algoritmilor de criptare

Standardul de criptare de stat din Rusia este algoritmul înregistrat ca GOST 28147-89. Este un cifru bloc, adică criptează nu caractere individuale, ci blocuri de 64 de biți. Algoritmul oferă 32 de cicluri de conversie a datelor cu o cheie de 256 de biți, datorită cărora este foarte fiabil (are putere criptografică ridicată). Pe computerele moderne, spargerea acestui cifr prin atac de forță brută ar dura cel puțin sute de ani, făcând un astfel de atac inutil. Statele Unite ale Americii folosesc un cifr bloc AES similar.

Algoritmul RSA este popular pe Internet, numit după literele inițiale ale numelor autorilor săi - R.Rivest, A.Shamir și L.Adleman. Acesta este un algoritm cu cheie publică a cărui putere se bazează pe utilizarea proprietăților numerelor prime. Pentru a-l sparge, trebuie să descompuneți un număr foarte mare în factori primi. Această problemă poate fi rezolvată acum doar prin enumerarea opțiunilor. Deoarece numărul de opțiuni este mare, este nevoie de mulți ani de computere moderne pentru a rezolva cifrul.

Pentru a aplica algoritmulRSA este necesar să construiască cheile publice și private după cum urmează.

1. Alegeți două numere prime mari, p și q.
2. Aflați produsul lor n = p * q și valoarea f = (p - 1) (q - 1)
3. Alegeți numărul e (1< e < k), которое не имеет общих делителей с f.
4. Găsiți un număr d care îndeplinește condiția d e = k f + 1 pentru un întreg k
5. Perechea de valori (e, n) este cheia publică RSA (poate fi publicată liber), iar perechea de valori (d, n) este cheia privată.

Mesajul transmis trebuie mai întâi reprezentat ca o secvență de numere în intervalul de la 0 la n - 1. Pentru criptare, se utilizează formula y \u003d x e mod n, unde x este numărul mesajului original, (e, n ) este cheia publică, y este numărul mesajului codificat, iar notația x e mod n denotă restul împărțirii x la n. Mesajul este decriptat folosind formula x = y d mod n.
Aceasta înseamnă că oricine poate cripta un mesaj (cheia publică este cunoscută public) și doar cei care cunosc exponentul secret d îl pot citi.
Pentru o mai bună înțelegere, vom arăta funcționarea algoritmului RSA cu un exemplu simplu.
EXEMPLU: Luați p = 3 și q = 7, atunci găsim n = p q = 21 și f = (p - 1) (q - 1) = 12. Alegem e = 5, apoi egalitatea d e = kf + 1 este valabil, de exemplu, pentru d = 17 (și k = 7). Astfel, am obținut cheia publică (5, 21) și cheia secretă (17, 21).

Să criptăm mesajul „123” folosind cheia publică (5.21). Primim

1 1 5 mod 21 = 1 ,
2 2 5 mod21 = 11 ,

3 → 3 5 mod 21 = 12,
adică mesajul criptat este format din numere 1 ,11 și 12. Cunoscând cheia secretă (17, 21), o putem decripta:

1 → 1 17 mod 21 = 1 ,

11 → 11 17 mod 21 = 2 ,
12 → 12 17 mod 21 = 3 .

Am primit mesajul original.

Desigur, ați observat că atunci când criptați și decriptați, trebuie să calculați restul împărțirii numerelor foarte mari (de exemplu, 12 17) la n. Se pare că numărul 12 17 în sine nu trebuie găsit în acest caz. Este suficient să scrieți o unitate într-o variabilă întreagă obișnuită, de exemplu x, și apoi să efectuați transformarea x = 12*x mod 21 de 17 ori. După aceea, variabila x va avea valoarea 12 17 mod 21 = 3. Încercați pentru a demonstra corectitudinea acestui algoritm.
Pentru a decripta mesajul, trebuie să cunoașteți exponentul secret d. Și pentru aceasta, la rândul său, trebuie să găsiți factorii p și q, astfel încât n = p q. Dacă n este mare, aceasta este o problemă foarte dificilă și va dura sute de ani pentru a o rezolva prin căutarea exhaustivă a opțiunilor pe un computer modern. În 2009, un grup de oameni de știință din diferite țări, ca urmare a multor luni de calcule pe sute de computere, a reușit să decripteze un mesaj criptat cu algoritmul RSA cu o cheie de 768 de biți. Prin urmare, cheile cu o lungime de 1024 de biți sau mai mult sunt acum considerate fiabile. Dacă se construiește un computer cuantic funcțional, ruperea algoritmului RSA va fi posibilă într-un timp foarte scurt.
Când utilizați cifruri simetrice, apare întotdeauna o problemă: cum să transferați cheia dacă canalul de comunicare nu este de încredere? La urma urmei, după ce a primit cheia, inamicul va putea decripta toate mesajele ulterioare. Pentru algoritmul RSA, această problemă nu există, este suficient ca părțile să facă schimb de chei publice care pot fi afișate tuturor.
Algoritmul RSA are un alt avantaj: poate fi folosit pentru a semna digital mesajele. Servește pentru a dovedi paternitatea documentelor, pentru a proteja mesajele de fals și modificări deliberate.

O semnătură digitală este un set de caractere care se obține prin criptarea unui mesaj folosind codul secret personal al expeditorului.

Expeditorul poate trimite împreună cu mesajul original același mesaj criptat cu cheia sa privată (aceasta este semnătura digitală). Destinatarul decriptează semnătura digitală folosind cheia publică. Dacă se potrivește cu un mesaj necriptat, poți fi sigur că a fost trimis de persoana care cunoaște codul secret. Dacă mesajul a fost modificat în tranzit, acesta nu se va potrivi cu semnătura digitală decriptată. Întrucât mesajul poate fi foarte lung, pentru a reduce cantitatea de date transmise, cel mai adesea nu întregul mesaj este criptat, ci doar codul hash al acestuia.
Multe programe moderne au capacitatea de a cripta datele cu o parolă. De exemplu, apartamente de birou openoffice.orgși Microsoft Office vă permit să criptați toate documentele create (pentru a le vizualiza și/sau modifica trebuie să introduceți o parolă). Când creați o arhivă (de exemplu, în arhivare 7Zip, WinRAR, WinZip) puteți seta și o parolă, fără de care este imposibil să extrageți fișiere.
În cele mai simple sarcini, puteți folosi un program gratuit pentru a cripta fișierele. criptograf(http://www.familytree.ru/ru/cipher.htm), ale căror versiuni există pentru linuxși Windows. Programe TnieCrypt(http://www.truecrypt.org/), BestCrypt(www.jetico.com) și GratuitOTFE(freeotfe.org) creează discuri container logice, a căror informație este criptată. Software gratuit DiskCrypto r (diskcryptor.net) vă permite să criptați partițiile hard disk și chiar să creați unități flash și CD/DVD-uri criptate.
Program GnuPG(gnupg.org) este, de asemenea, software gratuit. Suportă cifruri simetrice și asimetrice, precum și diverși algoritmi de semnătură digitală.

Steganografie

video YouTube

Când trimiteți mesaje, puteți nu numai să utilizați criptarea, ci și să ascundeți chiar faptul că trimiteți un mesaj.


Steganografia este știința transmiterii sub acoperire a informațiilor prin ascunderea faptului însuși al transmiterii informațiilor.

Istoricul grec antic Herodot a descris, de exemplu, o astfel de metodă: pe capul ras al unui sclav era scris un mesaj, iar când i-a crescut părul, s-a dus la destinatar, care și-a bărbierit capul și a citit mesajul.
Metoda clasică de steganografie este cerneala simpatică (invizibilă), care apare numai în anumite condiții (căldură, iluminare, dezvoltator chimic). De exemplu, un text scris cu lapte poate fi citit atunci când este încălzit.
Acum steganografia este angajată în ascunderea informațiilor din fișiere text, grafice, sunet și video prin „injectarea” programatică a mesajelor necesare în ele.
Cel mai simplu mod este să înlocuiți biții inferiori ai fișierului în care este codificată imaginea. Mai mult, acest lucru trebuie făcut în așa fel încât diferența dintre desenele originale și cele rezultate să fie imperceptibilă pentru o persoană. De exemplu, dacă într-o imagine alb-negru (256 de nuanțe de gri), luminozitatea fiecărui pixel este codificată pe 8 biți. Dacă modificați cei mai puțin semnificativi 1-2 biți din acest cod, „încorporarea” unui mesaj text acolo, o fotografie care nu are limite clare cu greu se va schimba. Când înlocuiți 1 bit, fiecare octet al mesajului text original este stocat în biții cei mai puțin semnificativi de coduri de 8 pixeli. De exemplu, să presupunem că primii 8 pixeli ai unei imagini au următoarele coduri:

10101101

10010100

00101010

01010010

10101010

10101010

10101011

10101111

Pentru a codifica codul literei „I” (110010002) în ele, trebuie să modificați biții inferiori ai codurilor:

1010110 1

1001010 1

0010101 0

0101001 0

1010101 1

1010101 0

1010101 0

1010111 0

Destinatarul trebuie să ia acești biți inferiori și să îi „asambleze” într-un singur octet.
Pentru sunete se folosesc alte metode de steganografie, bazate pe adăugarea de semnale condiționale scurte la înregistrare, care indică 1 și 0 și nu sunt percepute.
Luat

o persoană după ureche. De asemenea, este posibil să înlocuiți o bucată de sunet cu alta.
Filigranele digitale sunt folosite pentru a confirma dreptul de autor și protecția drepturilor de autor pentru imagini, fișiere video și sunet - informații despre autor încorporate în fișier. Și-au luat numele de la vechile filigrane de pe bani și documente. Pentru a stabili paternitatea unei fotografii, este suficient să descifrezi informațiile ascunse înregistrate cu ajutorul unui filigran.
Uneori, filigranele digitale sunt vizibile (text sau sigla companiei pe o fotografie sau pe fiecare cadru al unui videoclip). Multe site-uri care vând fotografii digitale au filigrane vizibile pe fotografiile de previzualizare.


Întrebări de testare:
  1. Ce algoritm de criptare este adoptat în Rusia ca standard de stat?
  2. Ce este un algoritm de cifrare bloc?
  3. Ce tip de algoritm este RSA? Pe ce se bazează puterea sa criptografică?
  4. Ce este o semnătură digitală?
  5. Cum poate fi folosit algoritmul RSA pentru semnătura digitală?
  6. Ce este steganografia?
  7. Ce metode de steganografie existau înainte de inventarea computerelor?
  8. Cum pot adăuga text la o imagine codificată?
  9. Pe ce se bazează metodele de steganografie pentru datele audio și video?
  10. Ce sunt filigranele digitale? De ce sunt folosite?

Exercițiu:

1. Vizualizați materialul de curs și răspundeți la întrebările de control.
2. Urmați linkurile și familiarizați-vă cu programele de criptare a fișierelor.
3. Criptați orice document din oricare dintre suitele de birou openoffice.org sau Microsoft Office si trimite-mi .

Dintre diferitele metode de criptare, se pot distinge următoarele metode principale:

Algoritmi de substituire sau substituire - caracterele textului sursă sunt înlocuite cu caractere ale altui (sau aceluiași) alfabet în conformitate cu o schemă prestabilită, care va fi cheia acestui cifr. Separat, această metodă practic nu este utilizată în criptosistemele moderne din cauza puterii criptografice extrem de scăzute.

Algoritmi de permutare - caracterele textului original sunt schimbate după un anumit principiu, care este cheia secretă. Algoritmul de permutare în sine are o putere criptografică scăzută, dar este inclus ca element în multe criptosisteme moderne.

Algoritmi gamma - caracterele textului sursă sunt adăugate la caracterele unei secvențe aleatorii. Cel mai obișnuit exemplu este criptarea fișierelor „username.pwl”, în care sistemul de operare Microsoft Windows 95 stochează parole pentru resursele de rețea ale unui anumit utilizator (parole pentru autentificarea la serverele NT, parolele pentru accesul DialUp la Internet etc. .). Când un utilizator își introduce parola pentru a se conecta la Windows 95, acesta generează o gama (întotdeauna aceeași) folosită pentru a cripta parolele de rețea folosind algoritmul de criptare RC4. Simplitatea selectării parolei se datorează în acest caz faptului că Windows preferă întotdeauna aceeași gamă.

Algoritmi bazați pe transformări matematice complexe ale textului sursă după o anumită formulă. Mulți dintre ei folosesc probleme matematice nerezolvate. De exemplu, algoritmul de criptare RSA utilizat pe scară largă pe Internet se bazează pe proprietățile numerelor prime.

Metode combinate. Criptarea secvenţială a textului original folosind două sau mai multe metode.

Algoritmi de criptare

Să aruncăm o privire mai atentă asupra metodelor de protecție a datelor criptografice

1. Algoritmi de înlocuire (înlocuire).

2. Algoritm de permutare

3. Algoritm gamma

4. Algoritmi bazați pe transformări matematice complexe

5. Metode de criptare combinate

Algoritmii 1-4 în „forma lor pură” au fost utilizați mai devreme, iar astăzi sunt încorporați în aproape orice, chiar și în cel mai complex program de criptare. Fiecare dintre metodele luate în considerare implementează propria metodă de protecție criptografică a informațiilor și are propriile sale avantaje și dezavantaje, dar comune cel mai important caracteristica este durabilitatea. Aceasta este înțeleasă ca cantitatea minimă de text cifrat, a cărei analiză statistică poate dezvălui textul original. Astfel, prin puterea cifrului, este posibil să se determine cantitatea maximă permisă de informații criptate folosind o cheie. Atunci când alegeți un algoritm criptografic pentru utilizare într-o anumită dezvoltare, puterea acestuia este unul dintre factorii determinanți.

Toate criptosistemele moderne sunt proiectate în așa fel încât să nu existe nicio modalitate de a le sparge într-un mod mai eficient decât prin căutarea exhaustivă în întreg spațiul cheilor, de exemplu. peste toate valorile cheie posibile. Este clar că puterea unor astfel de cifruri este determinată de dimensiunea cheii utilizate în ele.

Voi oferi estimări ale puterii metodelor de criptare discutate mai sus. Substituția monoalfabetică este cifrul cel mai puțin sigur, deoarece utilizarea sa păstrează toate modelele statistice ale textului original. Deja cu o lungime de 20-30 de caractere, aceste modele se manifestă într-o asemenea măsură încât, de regulă, vă permite să deschideți textul sursă. Prin urmare, o astfel de criptare este considerată potrivită numai pentru parole de închidere, mesaje scurte de semnal și caractere individuale.

Stabilitatea unei substituții polialfabetice simple (a sistemelor similare, s-a luat în considerare substituția conform tabelului Vigenere) este estimată la 20n, unde n este numărul de alfabete diferite utilizate pentru înlocuire. Când utilizați tabelul Vigenere, numărul de alfabete diferite este determinat de numărul de litere din cuvântul cheie. Complicația substituției polialfabetice crește semnificativ stabilitatea acesteia.

Stabilitatea jocurilor de noroc este determinată în mod unic de perioada lungă a gamei. În prezent, utilizarea unei game infinite devine o realitate, atunci când se folosește, teoretic, puterea textului cifrat va fi și infinită.

Se poate observa că gamutarea și permutările și substituțiile complicate sunt cele mai potrivite pentru închiderea fiabilă a marilor mari de informații.

Când se utilizează metode de criptare combinate, puterea cifrului este egală cu produsul punctelor forte ale metodelor individuale. Prin urmare, criptarea combinată este cea mai sigură metodă de închidere criptografică. Această metodă a stat la baza funcționării tuturor dispozitivelor de criptare cunoscute în prezent.

Algoritmul DES a fost aprobat cu mai bine de 20 de ani în urmă, dar în acest timp computerele au făcut un salt incredibil în viteza de calcul, iar acum nu este atât de greu să spargem acest algoritm prin enumerarea exhaustivă a tuturor opțiunilor cheie posibile (și DES folosește doar 8 octeți), care recent părea complet imposibil.

GOST 28147-89 a fost dezvoltat de serviciile secrete ale Uniunii Sovietice și este cu doar 10 ani mai tânăr decât DES; în timpul dezvoltării, a fost încorporată o astfel de marjă de siguranță încât acest GOST este încă relevant.

Valorile considerate a puterii cifratei sunt valori potențiale. Ele pot fi implementate cu respectarea strictă a regulilor de utilizare a instrumentelor de protecție criptografică. Principalele dintre aceste reguli sunt: ​​păstrarea secretă a cheilor, evitarea dublării (adică, re-criptarea aceleiași bucăți de text folosind aceleași chei) și schimbarea cheilor destul de des.

Concluzie

Așadar, în această lucrare, a fost făcută o privire de ansamblu asupra celor mai comune metode în prezent de protecție a informațiilor criptografice și a metodelor de implementare a acesteia. Alegerea sistemelor specifice ar trebui să se bazeze pe o analiză profundă a punctelor forte și a punctelor slabe ale anumitor metode de protecție. O alegere rezonabilă a unuia sau altui sistem de protecție, în general, ar trebui să se bazeze pe niște criterii de eficiență. Din păcate, metode adecvate pentru evaluarea eficacității sistemelor criptografice nu au fost încă dezvoltate.

Cel mai simplu criteriu pentru o astfel de eficiență este probabilitatea dezvăluirii cheii sau cardinalității setului de chei (M). În esență, aceasta este aceeași cu puterea criptografică. Pentru evaluarea sa numerică, se poate folosi și complexitatea descifrării cifrului prin enumerarea tuturor cheilor. Cu toate acestea, acest criteriu nu ia în considerare alte cerințe importante pentru criptosisteme:

imposibilitatea dezvăluirii sau modificării semnificative a informațiilor pe baza analizei structurii acestora;

perfecțiunea protocoalelor de securitate utilizate,

cantitatea minimă de informații cheie utilizate,

complexitatea minimă a implementării (în numărul de operațiuni ale mașinii), costul acesteia,

Eficiență ridicată.

Prin urmare, este de dorit, desigur, să folosiți niște indicatori integrali care să țină cont de acești factori. Dar, în orice caz, setul selectat de metode criptografice ar trebui să combine atât comoditatea, flexibilitatea și eficiența utilizării, cât și protecția fiabilă împotriva intrușilor informațiilor care circulă în sistem.


Partea practica:

Exercitiul 1.

1) Completați câmpul X executând

1.1 Setați manual prima valoare

1.2 Rulați Edit->Fill->

2) Completați câmpul de valoare al funcției g =

Fig.1.1 - Formula funcției g (x)

2.1) Calculați valorile funcțiilor

3) Grafic

3.1) Selectați celulele cu valori ale Funcțiilor g

3.2) Alegeți un master de diagramă

Fig.1.2 - Chart Wizard - Graph

Următorul ->Rând

Fig.1.3 - Chart Wizard - eticheta axelor

Evidențierea valorii axei X

Apăsați Enter (Enter)

3.3) Diagrame de denumire

3.4) Selectați celula cu formula grafică

3.6) Selectați fila -> Linii grilă, setați

X linii intermediare, Y linii principale ->Next

3.7) Asezam graficul functiei pe foaia existenta -> (Gata)

4) Ca rezultat, obținem (Fig.1.4)

Fig.1.4 - Graficul funcției g (x)

1.2.

1) Definiți funcțiile diagramelor viitoare în câmpurile tabelului

Fig.1.5 - Semnătura funcțiilor graficelor viitoare

2) Completați câmpul X executând:

2.1 Setați manual prima valoare

2.2 Executați Editare->Umplere->Progresie (pe coloane, aritmetică, pas, valoare limită) la x [-2;2]

3) Calculați valorile funcțiilor y=2sin(x) - 3cos(x), z = cos²(2 x) - 2sin(x).


Fig.1.6 - Formule ale funcțiilor y(x) și z(x)

4) Complot

4.1 Selectați celule cu valori ale Funcțiilor y și z

Alegerea unui expert grafic

Fig.1.7 - Chart Wizard - Graph

Evidențierea valorii axei X

Apăsați Enter (Enter)

4.2) Diagrame de denumire

4.3) Selectați celula cu formula grafică

Apăsați enter (enter), apoi faceți același lucru cu al doilea rând

4.5) Selectați fila -> Linii grilă, setați

X linii intermediare, Y linii principale ->Next

4.6) Plasam graficul functiei pe foaia existenta -> (Gata)

5) Ca rezultat, obținem (Fig.1.8)

Fig.1.8 - Grafice ale funcțiilor y(x) și z(x)

Sarcina 2.

Crearea listei „Departamentul HR”

Fig.2.1 Lista „Departamentului HR”

· Sortare

Fig.2.2 - Sortare după câmpul Nume

Ca rezultat, obținem (Fig.2.3)

Fig.2.3 - Tabel sortat „Departamentul HR”

·
Căutați informații folosind un filtru automat (obțineți informații despre bărbații al căror nume începe cu litera Scrisoare, patronimic - "Ivanovici", cu un salariu Salariu);

Fig.2.4 - Autofiltru

Căutați informații folosind filtrul avansat (găsiți informații din departament Departamentul 1în vârstă Varsta 1și Varsta 2, și despre femeile din catedră Departamentul 2în vârstă Varsta 3);

1) Introduceți criteriile pentru filtrul avansat 1

Ca rezultat, obținem (Fig.2.5)

Fig.2.5 - Filtru avansat 1

2) Introduceți criteriile pentru filtrul avansat 2.

Ca rezultat, obținem (Fig. 2.6)

Fig.2.6 - Filtru avansat 2

Rezumat (determinați numărul și vârsta medie a angajaților din fiecare departament);

Fig.2.7 - Rezultate

Funcția DMIN Returnează cel mai mic număr dintr-un câmp (coloană) de înregistrări dintr-o listă sau bază de date care îndeplinește condițiile date.

Fig.2.8 - Analiza listei folosind funcția DMIN

Sarcina 3.

Creați două tabele înrudite Sesiune(fig.3.2) și elevi(fig.3.4)

Fig.3.1- Constructor tabel Sesiune

Fig.3.2- Tabel Sesiune

Fig.3.3 - Constructor tabel elevi


Fig.3.4 - Tabel elevi

1) Folosind un tabel elevi, creați trei interogări, în funcție de care numele și prenumele elevilor din grupele 1-E-1, 1-E-2, 1-E-3 vor fi selectate alternativ din baza de date.

Fig.3.5 - Generatorul de interogări 1.1


Fig.3.7 - Constructor de interogare1.2

Fig.3.9 - Constructor de interogare 1.3

2) Folosind un tabel elevi, creați două interogări, conform cărora numele de familie și prenumele femeilor vor fi selectate alternativ din baza de date, iar apoi numele și prenumele bărbaților.

Fig.3.11 - Constructor de interogare 2.1

Fig.3.13 - Constructor de interogare 2.2

3) Folosesc o masă elevi, creați două interogări, conform cărora numele și prenumele femeilor din grupa 1-E-2, apoi bărbaților din grupa 1-E-1, vor fi selectate alternativ din baza de date.

Fig.3.15 - Constructor de interogare 3.1

Fig.3.17 - Constructor - 3.2

4) Utilizarea tabelelor legate eleviși Sesiune, creați o interogare, conform căreia din baza de date vor fi selectate numele de familie, prenumele, numerele de credit și notele la matematică ale elevilor grupei 1-E-2.

Fig.3.19 - Constructor de interogare 5

5) Utilizarea tabelelor legate eleviși Sesiune, creați o interogare care va selecta din baza de date numele de familie, prenumele, numerele de înregistrare și notele la filosofia elevilor (bărbați) grupei 1-E-2.

Fig.3.21 - Constructor de interogare 8

6) Utilizarea tabelelor legate eleviși Sesiune, creați o interogare care va selecta din baza de date numele de familie, prenumele, numerele record ale elevilor care au primit nota „satisfăcător” (3) la filosofie.

Fig.3.23 - Constructor de interogare 10

7) Utilizarea tabelelor legate eleviși Sesiune, creați o interogare care va selecta din baza de date numele de familie, prenumele, numerele record ale elevilor care au primit nota de „bine” (4) simultan la două discipline: filozofie și matematică.

Fig.3.25 - Constructor de interogări 14

8) Utilizarea tabelelor legate eleviși Sesiune, creați o interogare care va selecta din baza de date numele de familie, prenumele, numerele de înregistrare ale elevilor care au primit nota „nesatisfăcătoare” (2) la una din cele două discipline: matematică sau informatică.

Fig.3.27 - Constructor de interogări 18

9) Utilizarea tabelelor legate eleviși Sesiune, creați o interogare care va selecta din baza de date nume de familie, prenume, număr de înregistrare a elevilor care au primit nota „bine” (4) la toate disciplinele.

Fig.3.29 - Constructor de interogare 22

10) Folosind un tabel Sesiune, creați o interogare numită Scor mediu pentru a calcula punctajul mediu al fiecărui student pe baza rezultatelor promovării a patru examene. Cererea trebuie să conțină câmpul cartea de recorduri, care va fi folosit ulterior pentru a lega mai multe tabele.

Fig.3.31 - Constructor tabel de sesiune

11) Utilizarea tabelelor legate elevi, Sesiuneși cerere Scor mediu, creați o interogare care va selecta nume de familie, prenume, numere de înregistrare, numere de grup de elevi cu un scor mediu de 3,25 din baza de date.

Fig.3.33 - Constructor de interogări 25

12) Utilizarea tabelelor legate elevi, Sesiuneși cerere Scor mediu, creați o interogare care va selecta nota la matematică, scorul mediu și numărul grupului elevului Ivanov din baza de date.

Fig.3.35 - Constructor de interogări 29

13) Utilizarea tabelelor legate elevi, Sesiuneși cerere Scor mediu, creați o interogare care va selecta din baza de date nume de familie, nume ale elevilor cu un scor mediu mai mic de 3,75.

Fig.3.37 - Constructor de interogări 33

14) Folosind un tabel elevi, pentru a determina numele de familie, numele și numărul de înregistrare al studentului, dacă se știe că patronimul ei este Viktorovna.

Fig.3.39 - Constructor de interogare 35

Sarcina 4.

Pentru a converti un număr dintr-un sistem numeric zecimal într-un sistem numeric cu o bază diferită, procedați după cum urmează:

a) Pentru a traduce partea întreagă a unui număr, acesta este împărțit în întregime la baza sistemului, fixând restul. Dacă câtul incomplet nu este egal cu zero, continuați să-l împărțiți în întregime. Dacă sunt egale cu zero, resturile sunt scrise în ordine inversă.

b) Pentru a traduce partea fracționară a numărului, aceasta se înmulțește cu baza sistemului numeric, fixând în același timp părțile întregi ale produselor rezultate. Părțile întregi nu participă la înmulțirea ulterioară. Înmulțirea se efectuează până când se obține 0 în partea fracționată a produsului sau până la precizia de calcul specificată.

c) Răspunsul este scris ca o adunare a numărului întreg tradus și a părții fracționale traduse a numărului.

49812,22₁₀ = 1100001010010100,001₂ 49812,22₁₀ = 141224,160₈

0,
0,

49812,22₁₀ = С294, 385₁₆

0,

Sarcina 5.

Pentru a converti un număr într-un sistem de numere zecimal dintr-un sistem de numere cu o bază diferită, fiecare coeficient al numărului tradus este înmulțit cu baza sistemului în măsura corespunzătoare acestui coeficient, iar rezultatele se adună.

A) 10101001,11001₂ = 1*2^7+1*2^5+1*2^3+1*2^0+1*2^(-1)+1*2^(-2)+1* 2 (-5)= 169,78125₁₀

Pentru a converti din binar în octal, este necesar să împărțiți numărul binar dat la dreapta și la stânga punctului zecimal într-o triadă (trei cifre) și să reprezentați fiecare triadă cu codul octal corespunzător. Dacă este imposibil de împărțit în triade, este permis să adăugați zerouri la stânga în notația întregă a numărului și la dreapta în partea fracțională a numărului. Pentru translația inversă, fiecare cifră a unui număr octal este reprezentată de triada binară corespunzătoare.

Tabelul 5.1 - Translația numerelor

Sistem de numere zecimale Sistem de numere binar Sistem de numere octale Sistemul numeric hexazecimal
Triade (0-7) Tetrade (0-15)
A
B
C
D
E
F

B) 674,7₈ = 110111100,111₂=1*2^2+1*2^3+1*2^4+1*2^5+1*2^7+1*2^8+1*2^ (- 1) +1*2^(-2) +1*2^(-3)= 443,875₁₀

110 111 100. 111₂

C) EDF,51₁₆ = 111011011111,01010001₂=1*2^0+1*2^1+1*2^2+1*2^3+1*2^4+1*2^6+ +1*2 ^ 7+1*2^9+ +1*2^10+1*2^11+1*2^(-2) 1*2^(-4) 1*2^(-8)= 3807,31640625₁₀

1110 1101 1111 . 0101 0001₂

Sarcina 6.

Adunarea numerelor în sistemul binar se bazează pe tabelul de adunare a numerelor binare cu o singură cifră.

0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10
Adăugarea numerelor binare cu mai multe cifre se realizează în conformitate cu acest tabel, ținând cont de posibilele transferuri de la bitul cel mai puțin semnificativ la cel mai mare. În sistemul de numere octale, ca și în orice alt sistem pozițional, există reguli proprii de adunare a numerelor, care sunt reprezentate de regulile de adunare a cifrelor cu ordine egală legate de două numere adăugate. Aceste reguli sunt vizibile din Tabelul 6.1. Cratima care apare la adăugarea unor cifre din această cifră este indicată de simbolul „↶”.
Tabelul 6.1 - Adunarea în al 8-lea sistem numeric
+
↶0
↶0 ↶1
↶0 ↶1 ↶2
↶0 ↶1 ↶2 ↶3
↶0 ↶1 ↶2 ↶3 ↶4
↶0 ↶1 ↶2 ↶3 ↶4 ↶5
↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6

Regulile pentru adăugarea cifrelor a două numere hexazecimale în aceleași cifre ale acestor numere pot fi văzute din Tabelul 6.2. Purtarea care apare la adăugarea unor cifre dintr-o anumită cifră este indicată de simbolul „↶”.

6 8 5 . 3 2 2 A ₁₆ + 1 0 1 0 1 0 0 1 0 . 1 0 ₂ + 4 7 7 . 6₈

D A 4 8 5 , 4 4 6 0 ₁₆ 1 1 0 0 0 0 1 1 0 , 1 1 0 1 0₂6 5 1 , 5 6₈

D A B 0 A , 7 6 8 A₁₆ 1 0 1 1 0 1 1 0 0 1 , 0 1 0 1 0₂ 1 3 5 1 .3 6₈

Tabelul 6.2 - Adunarea în al 16-lea sistem numeric

+ A B C D E F
A B C D E F
A B C D E F ↶0
A B C D E F ↶0 ↶1
A B C D E F ↶0 ↶1 ↶2
A B C D E F ↶0 ↶1 ↶2 ↶3
A B C D E F ↶0 ↶1 ↶2 ↶3 ↶4
A B C D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5
A B C D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6
A B C D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7
A B C D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8
A A B C D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9
B B C D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9 ↶A
C C D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9 ↶A ↶B
D D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9 ↶A ↶B ↶C
E E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9 ↶A ↶B ↶C ↶D
F F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9 ↶A ↶B ↶C ↶D ↶E

Sarcina 7.

Folosind tabelul de adunare pentru numere octale, le puteți scădea. Să fie necesar să se calculeze diferența a două numere octale. Găsim în prima coloană a tabelului. 6.1 cifra corespunzătoare ultimei din scădere, iar în linia ei vom găsi ultima cifră a redusului - este situată la intersecția dreptei subtraendului și coloanei diferențelor. Deci găsim ultima cifră a diferenței. În mod similar, fiecare cifră a diferenței este căutată.

a) _ 2 5 1 5 1 4 , 4 0₈

5 4 2 5 , 5 5

2 4 3 0 6 6 , 6 3₈

b) _1 0 1 1 0 1 1 0 0 0 , 1 0 0 0 0₂

1 0 1 0 0 1 0 0 1 , 1 0 0 1 1

1 0 1 1 0 0 1 0 0 1 1 , 0 0 0 0 1₂

c) _E316, 250₁₆

5 8 8 1 , F D C₁₆

8 A 9 4 , 2 7 4

Sarcina 8.

Înmulțirea numerelor în sistemul binar se bazează pe tabelul de înmulțire a numerelor binare cu o singură cifră.

0 0 = 0
0 1 = 0
1 0 = 0
1 1 = 1

Înmulțirea numerelor binare cu mai multe cifre se realizează în
conform acestui tabel în mod obișnuit,
pe care îl utilizați în sistemul zecimal.

O masă de înmulțire proprie, așa cum am avut deja ocazia să ne asigurăm, este disponibilă în fiecare sistem de numere poziționale. În binar este cel mai mic, în octal (Tabelul 8.1) și zecimal este deja mai extins. Dintre sistemele de numere utilizate în mod obișnuit dintre cele pe care le-am considerat, cea mai mare tabelă de înmulțire este hexazecimală (Tabelul 8.2).

Tab. 8.1. – Înmulțirea în al 8-lea sistem

×

a) 1 0 1 0 0 1₂

* 1 1 1 0 1 1

1 0 1 0 0 1 .

1 0 0 1 0 1 1 1 0 0 1 1₂

b) 1 0 1 1 1 0 0₂

* 1 1 0 1 1

1 0 1 1 1 0 0 .

1 0 0 1 1 0 1 1 0 1 0 0₂

c) BCD, 5₁₆

*D5A₁₆

9 D 9 3 3 E 2₁₆


Tabelul 8.2 - Înmulțirea în sistemul al 16-lea

× A B C D E F
A B C D E F
A C E 1A 1C 1E
C F 1B 1E 2A 2D
C 1C 2C 3C
A F 1E 2D 3C 4B
C 1E 2A 3C 4E 5A
E 1C 2A 3F 4D 5B
1B 2D 3F 5A 6C 7E
A A 1E 3C 5A 6E 8C
B B 2C 4D 6E 8F 9A A5
C C 3C 6C 9C A8 B4
D D 1A 4E 5B 8F 9C A9 B6 C3
E E 1C 2A 7E 8C 9A A8 B6 C4 D2
F F 1E 2D 3C 4B 5A A5 B4 C3 D2 E1

Sarcina 9.

Cod direct este o modalitate de a reprezenta numere binare în virgulă fixă ​​în aritmetica computerizată. Când scrieți un număr într-un cod direct, cea mai semnificativă cifră este cifra semnului. Dacă valoarea sa este 0, atunci numărul este pozitiv, dacă 1, atunci este negativ.

Cod invers- o metodă de matematică computațională care vă permite să scădeți un număr dintr-un altul, folosind doar operația de adunare pe numere naturale. Când scrieți un număr pentru un număr pozitiv, acesta coincide cu codul direct, iar pentru un număr negativ, toate cifrele sunt înlocuite cu altele opuse, cu excepția cifrei.

Cod suplimentar(Engleză) complementul a doi, uneori complementul doi) este cel mai comun mod de a reprezenta numerele întregi negative în computere. Vă permite să înlocuiți operația de scădere cu operația de adunare și să faceți aceleași operațiuni de adunare și scădere pentru numerele cu semn și fără semn, ceea ce simplifică arhitectura computerului. Când se scrie un număr pentru un număr pozitiv, acesta coincide cu codul direct, iar pentru un număr negativ, codul suplimentar se determină obținând codul invers și adunând 1.

Adăugarea numerelor în codul suplimentar, transportul 1 rezultat în bitul de semn este aruncat, iar în codul invers este adăugat la bitul cel mai puțin semnificativ al sumei codurilor.

Dacă rezultatul operațiilor aritmetice este un cod numeric negativ, acesta trebuie convertit într-un cod direct. Codul invers este convertit într-o înlocuire directă a cifrelor din toate cifrele, cu excepția semnului cu cele opuse. Codul de complement al celor doi este convertit în direct prin adăugarea lui 1.

Cod direct:

X=0,10111 1,11110

Y=1,11110 0,10111

Cod invers:

X=0,10111 0,10111

Y=1,00001 1,00001

1,11000 1,00111

Cod suplimentar:

X=0,10111 0,10111

Y=1,00010 1,00010

1,11001 1,00110

Cod direct:

Cod invers:

X=0,110110 0,0110110

Y=0,101110 0,0101110

Cod suplimentar:

X=0,110110 0,0110110

Y=0,101110 0,0101110

Sarcina 10.

Elemente logice

1. Elementul logic NU efectuează negație logică. Are o intrare și o ieșire. Absența unui semnal (tensiune) va fi notată cu „0”, iar prezența unui semnal cu „1”. Semnalul de ieșire este întotdeauna opus semnalului de intrare. Acest lucru poate fi văzut din tabelul de adevăr, care arată dependența semnalului de ieșire de intrare.

2. Poarta SAU efectuează o adunare logică. Are mai multe intrări și o singură ieșire. Va exista un semnal la ieșire dacă există un semnal cel puțin la o intrare.

Notație convențională Tabelul de adevăr

3. Poarta AND efectuează o înmulțire logică. Semnalul la ieșirea acestui element logic va fi doar dacă există un semnal la toate intrările.

Notație convențională Tabelul de adevăr

F=(A v B) ʌ (C v D)

Tabelul 10.1 - Tabelul de adevăr

A B C D A B C D (A v B) (CvD) F=(A v B) ʌ (C v D)

AÎn algebra logicii, există o serie de legi care permit transformări echivalente ale expresiilor logice. Să prezentăm relațiile care reflectă aceste legi.

1. Legea dublei negații: (A) = A

Negația dublă exclude negația.

2. Legea comutativă (comutativă):

Pentru adunarea logică: A V B = B V A

Pentru înmulțirea logică: A&B = B&A

Rezultatul operațiunii asupra declarațiilor nu depinde de ordinea în care sunt luate aceste declarații.

3. Drept asociativ (asociativ):

Pentru adunarea logică: (A v B) v C = A v (Bv C);

Pentru înmulțirea logică: (A&B)&C = A&(B&C).

Cu aceleași semne, parantezele pot fi plasate în mod arbitrar sau chiar omise.

4. Legea distributivă (distributivă):

Pentru adunarea logică: (A v B)&C = (A&C)v(B&C);

Pentru înmulțirea logică: (A&B) v C = (A v C)&(B v C).

Definește regula pentru a pune paranteze o declarație generală.

5. Legea inversiunii generale (legile lui de Morgan):

Pentru adunarea logică: (Av B) = A & B;

Pentru înmulțirea logică: (A& B) = A v B;

6. Legea idempotei

Pentru adunare logica: A v A = A;

Pentru înmulțirea logică: A&A = A.

Legea înseamnă fără exponenți.

7. Legile excluderii constantelor:

Pentru adunarea logică: A v 1 = 1, A v 0 = A;

Pentru înmulțirea logică: A&1 = A, A&0 = 0.

8. Legea contradicției: A&A = 0.

Este imposibil ca afirmațiile contradictorii să fie adevărate în același timp.

9. Legea excluderii mijlocului: A v A = 1.

10. Legea absorbției:

Pentru adunarea logică: A v (A&B) = A;

Pentru înmulțirea logică: A&(A v B) = A.

11. Legea excluderii (lipirea):

Pentru adunarea logică: (A&B) v (A &B) = B;

Pentru înmulțirea logică: (A v B)&(A v B) = B.

12. Legea contrapoziției (regula inversării):

(A v B) = (Bv A).

(A→B) = A&B

A&(AvB)= A&B

O formulă are o formă normală dacă nu conține semne de echivalență, implicație, dublă negație, în timp ce semnele de negație se găsesc doar în variabile.


Informații similare.


Mijloacele de protecție criptografică a secretelor de stat sunt încă echivalate cu armele. Foarte puține țări din lume au propriile lor companii criptografice care produc instrumente de securitate a informațiilor foarte bune. Nici în multe țări dezvoltate nu există o astfel de posibilitate: nu există o școală care să permită susținerea și dezvoltarea acestor tehnologii. Rusia este una dintre puținele țări din lume - poate cinci și ceva țări - unde toate acestea sunt dezvoltate. Mai mult decât atât, atât în ​​sectorul comercial, cât și în cel public, există companii și organizații care au păstrat continuitatea școlii de criptografie de pe vremea când aceasta tocmai a apărut.

Algoritmi de criptare

Până în prezent, există mulți algoritmi de criptare care au rezistență semnificativă la criptoanaliza (puterea criptografică). Algoritmii de criptare sunt împărțiți în trei grupuri:

  • Algoritmi simetrici
  • Algoritmi asimetrici
  • Algoritmi hash

Algoritmi simetrici

Criptarea simetrică implică utilizarea aceleiași chei atât pentru criptare, cât și pentru decriptare. Două cerințe principale se aplică algoritmilor simetrici: pierderea completă a tuturor regularităților statistice în obiectul de criptare și absența liniarității. Se obișnuiește să se împartă sistemele simetrice în sisteme bloc și sisteme de flux.

În sistemele bloc, datele sursă sunt împărțite în blocuri, urmate de transformare folosind o cheie.

În sistemele de streaming, este generată o anumită secvență (gama de ieșire), care este ulterior suprapusă mesajului în sine, iar datele sunt criptate de flux pe măsură ce gama este generată. Schema de comunicare folosind un criptosistem simetric este prezentată în figură.

Unde unde M este textul simplu, K este cheia secretă transmisă pe un canal privat, En(M) este operația de criptare și Dk(M) este operația de decriptare

De obicei, criptarea simetrică utilizează o combinație complexă și în mai multe etape de substituții și permutări ale datelor sursă și pot exista multe etape (pase), iar fiecare dintre ele trebuie să corespundă unei „chei de acces”

Operația de substituție îndeplinește prima cerință pentru un cifru simetric, scăpând orice date statistice prin amestecarea biților mesajului după o anumită lege dată. Permutarea este necesară pentru a îndeplini a doua cerință - pentru a face algoritmul neliniar. Acest lucru se realizează prin înlocuirea unei anumite părți a mesajului de o dimensiune dată cu o valoare standard prin referire la matricea originală.

Sistemele simetrice au atât avantaje, cât și dezavantaje față de cele asimetrice.

Avantajele cifrurilor simetrice includ viteza mare de criptare, o lungime mai mică a cheii, cu o putere similară, cunoștințe mai mari și ușurință de implementare. Dezavantajele algoritmilor simetrici sunt în primul rând complexitatea schimbului de chei din cauza probabilității mari de a încălca secretul cheii în timpul schimbului, ceea ce este necesar, și complexitatea gestionării cheilor într-o rețea mare.

Exemple de cifruri simetrice

  • GOST 28147-89 - standard de criptare intern
  • 3DES (triplu-DES, triplu DES)
  • RC6 (Rivest Cipher)
  • Doi pești
  • SEED - Standardul coreean de criptare
  • Camellia este un standard de criptare japonez.
  • CAST (după inițialele dezvoltatorilor Carlisle Adams și Stafford Tavares)
  • XTEA este cel mai ușor algoritm de implementat
  • AES - Standard american de criptare
  • DES este standardul de criptare a datelor din SUA până la AES

Algoritmi asimetrici

Sistemele asimetrice sunt numite și criptosisteme cu cheie publică. Aceasta este o metodă de criptare a datelor în care cheia publică este transmisă pe un canal deschis (nu ascuns) și este utilizată pentru a verifica semnătura electronică și pentru a cripta datele. Pentru a decripta și a crea o semnătură electronică, se folosește o a doua cheie, una secretă.

Însuși dispozitivul criptosistemelor asimetrice folosește ideea funcțiilor unidirecționale ƒ(x), în care este ușor să găsești x, cunoscând valoarea funcției în sine, dar este aproape imposibil să găsești ƒ(x) în sine. , cunoscând doar valoarea lui x. Un exemplu de astfel de funcție este agenda telefonică a unui oraș mare, în care este ușor să găsești numărul unei persoane, cunoscându-i numele de familie și inițialele, dar este extrem de dificil, cunoscând numărul, să calculezi proprietarul.

Principiul de funcționare a sistemelor asimetrice

Să presupunem că există doi abonați: A și B, iar abonatul B dorește să trimită un mesaj criptat abonatului A. El criptează mesajul folosind cheia publică și îl transmite deja criptat printr-un canal de comunicare deschis. După ce a primit mesajul, abonatul A îl decriptează folosind cheia secretă și îl citește.

Aici este necesar să facem o precizare. Când primește un mesaj, abonatul A trebuie să își autentifice identitatea la abonatul B, astfel încât răuvoitorul să nu se poată uzura pe abonatul A și să-și înlocuiască cheia publică cu a sa.

Exemple de fonturi asimetrice

  • RSA (Rivest-Shamir-Adleman, Rivest-Shamir-Adleman)
  • DSA (algoritm de semnătură digitală)
  • Elgamal (sistem de cifrat ElGamal)
  • Diffie-Hellman (schimb de chei Diffie-Hellman)
  • ECC (Criptografie cu curbe eliptice, Criptografie cu curbe eliptice)

Funcții hash

Hashing (din engleză. hash) este transformarea matricei de informații inițiale de lungime arbitrară într-un șir de biți de lungime fixă.

Există o mulțime de algoritmi de funcție hash și diferă prin caracteristicile lor - puterea criptografică, lungimea cuvântului, complexitatea de calcul etc.

Suntem interesați de funcțiile hash puternice din punct de vedere criptografic. Acestea au de obicei două cerințe:

  • Pentru un anumit mesaj C, este practic imposibil să ridici un alt mesaj C" cu același hash
  • Este practic imposibil să ridici perechi de mesaje (SS") care au același hash.

Cerințele se numesc rezistență la coliziuni de primul fel și, respectiv, de al doilea fel. Pentru astfel de funcții, o altă cerință rămâne importantă: cu o ușoară modificare a argumentului, trebuie să aibă loc o schimbare semnificativă a funcției în sine. Astfel, valoarea hash nu ar trebui să ofere informații nici măcar despre biți individuali ai argumentului.

Exemple de algoritmi hash

  • Adler-32
  • SHA-1
  • SHA-2 (SHA-224, SHA-256, SHA-384, SHA-512)
  • HAVAL
  • N-hash
    • RIPEMD-160
  • RIPEMD-256
  • RIPEMD-320
  • Piele
  • Snefru
  • Tigru (TTH)
  • Vârtej
  • GOST R34.11-94 (GOST 34.311-95)
  • Sumă de verificare IP Internet (RFC 1071)

Primitive criptografice

Pentru a oferi informații criptate o putere criptografică mai mare, transformări relativ simple - primitive - pot fi aplicate în mod repetat într-un sistem criptografic. Primitivele pot fi substituții, permutări, rotații sau gamma.

criptografia cuantică

Criptografia în tehnologii digitale

Poveste

Criptografia este o știință străveche, iar obiectele sale originale erau mesaje text, care, cu ajutorul anumitor algoritmi, și-au pierdut sensul pentru toți cei care nu aveau cunoștințe speciale pentru a decripta acest mesaj - cheia.

Inițial s-au folosit metode care astăzi sunt folosite doar pentru puzzle-uri, adică în opinia unui contemporan, cele mai simple. Astfel de metode de criptare includ, de exemplu, metoda de înlocuire, când fiecare literă este înlocuită cu alta, distanțată de aceasta la o distanță strict definită în alfabet. Sau o metodă de criptare prin permutare, când literele sunt schimbate într-o anumită secvență într-un cuvânt.

În antichitate, criptarea era folosită mai ales în afaceri militare și comerciale, spionaj, printre contrabandiști.

Ceva mai târziu, istoricii determină data apariției unei alte științe conexe - steganografia. Această știință este preocupată de mascarea faptului însuși al transmiterii unui mesaj. Ea își are originea în antichitate, iar un exemplu aici este primirea de către regele spartan Leonidas înainte de lupta cu perșii a unei plăci cu un text acoperit cu o soluție uscată, ușor de clătit. La curățare, urmele lăsate pe ceară cu stiloul au devenit clar vizibile. Astăzi, cernelurile simpatice, micropunctele, microfilmele etc., sunt folosite pentru a ascunde mesajul.

Odată cu dezvoltarea matematicii, au început să apară algoritmi de criptare matematică, dar toate aceste tipuri de protecție a informațiilor criptografice au păstrat datele statistice în diferite grade și au rămas vulnerabile. Vulnerabilitatea a devenit deosebit de vizibilă odată cu inventarea analizei de frecvență, care a fost dezvoltată în secolul al IX-lea d.Hr. de presupusul encicloped arab al-Kindi. Și abia în secolul al XV-lea, după inventarea fonturilor polialfabetice de către Leon Battista Alberti (probabil), protecția a trecut la un nivel calitativ nou. Cu toate acestea, la mijlocul secolului al XVII-lea, Charles Babbage a prezentat dovezi convingătoare ale vulnerabilității parțiale a fonturilor polialfabetice la analiza frecvenței.

Dezvoltarea mecanicii a făcut posibilă crearea de dispozitive și mecanisme care facilitează criptarea - au apărut dispozitive precum placa pătrată Trithemius, cifrul de disc al lui Thomas Jefferson. Dar toate aceste dispozitive nu pot fi comparate cu cele create în secolul XX. În acest moment au început să apară diverse mașini de criptare și mecanisme de înaltă complexitate, de exemplu, mașini rotative, dintre care cea mai faimoasă este Enigma.

Înainte de dezvoltarea rapidă a științei în secolul al XX-lea, criptografii au avut de-a face numai cu obiecte lingvistice, iar în secolul al XX-lea s-au deschis posibilitățile de utilizare a diferitelor metode și teorii matematice, statistică, combinatorică, teoria numerelor și algebră abstractă.

Dar adevărata descoperire în știința criptografică a venit odată cu apariția capacității de a reprezenta orice informație în formă binară, împărțită în biți folosind computere, ceea ce a făcut posibilă crearea de fonturi cu o putere criptografică nevăzută până acum. Astfel de sisteme de criptare, desigur, pot fi piratate, dar timpul petrecut cu hacking nu este justificat în marea majoritate a cazurilor.

Astăzi putem vorbi despre evoluții semnificative în criptografia cuantică.

Literatură

  • Barichev S.G., Goncharov V.V., Serov R.E. Fundamentele criptografiei moderne. - M.: *Varfolomeev A. A., Jukov A. E., Pudovkina M. A. Stream cryptosystems. Proprietăți de bază și metode de analiză a stabilității. M.: PAIMS, 2000.
  • Yashchenko VV Introducere în criptografie. Sankt Petersburg: Peter, 2001. .
  • GOST 28147-89. Sisteme de prelucrare a informațiilor. Protecție criptografică. Algoritm de transformare criptografică. Moscova: GK URSS conform standardelor, 1989.
  • GOST R 34.10-94.Tehnologia informației. Protecția criptografică a informațiilor. *GOST R 34.11-94. Tehnologia de informație. Protecția criptografică a informațiilor. funcția hash. M., 1995.
  • GOST R 34.10-2001 Tehnologia informaţiei. Protecția criptografică a informațiilor. Procese de formare și verificare a semnăturii digitale electronice. M., 2001.
  • Nechaev VI Elemente de criptografie (Fundamentals of theory of information security). Moscova: Școala superioară, 1999.
  • Jhelnikov V. Criptografia de la papirus la computer. M.: AVR, 1996.

Datorită faptului că funcția principală a software-ului nostru este criptarea datelor, ni se pun adesea întrebări cu privire la anumite aspecte ale criptografiei. Am decis să colectăm cele mai frecvente întrebări într-un singur document și am încercat să le oferim cele mai detaliate, dar în același timp, nu supraîncărcate cu răspunsuri de informații inutile.

1. Ce este criptografia?

Criptografia este o disciplină științifică teoretică, o ramură a matematicii care studiază transformarea informațiilor pentru a o proteja de acțiunile rezonabile ale inamicului.

2. Ce este un algoritm de criptare?

Un algoritm de criptare este un set de reguli logice care determină procesul de conversie a informațiilor dintr-o stare deschisă într-o stare criptată (criptare) și, invers, dintr-o stare criptată într-o stare deschisă (decriptare).

Algoritmii de criptare apar ca rezultat al cercetărilor teoretice, atât de către oameni de știință individuali, cât și echipe de cercetare.

3. Cum sunt protejate datele prin criptare?

Principiul de bază al protecției datelor prin criptare este criptarea datelor. Pentru un străin, datele criptate arată ca „gunoaie de informații” - un set de caractere fără sens. Astfel, dacă informația în formă criptată ajunge la atacator, pur și simplu nu o va putea folosi.

4. Care este cel mai puternic algoritm de criptare?

În principiu, orice algoritm de criptare propus de un criptograf binecunoscut este considerat sigur până când se dovedește contrariul.

De regulă, toți algoritmii de criptare care apar recent sunt publicati pentru revizuire publică și sunt studiati cuprinzător în centre specializate de cercetare criptografică. Rezultatele unor astfel de studii sunt, de asemenea, publicate pentru revizuire publică.

5. Ce este o cheie de criptare?

O cheie de criptare este o secvență de biți aleatorie, pseudo-aleatorie sau special formată, care este un parametru variabil al algoritmului de criptare.

Cu alte cuvinte, dacă criptați aceleași informații cu același algoritm, dar cu chei diferite, rezultatele vor fi și ele diferite.

Cheia de criptare are o caracteristică esențială - lungimea, care este de obicei măsurată în biți.

6. Care sunt algoritmii de criptare?

Algoritmii de criptare sunt împărțiți în două clase mari - simetrice și asimetrice (sau asimetrice).

Algoritmii de criptare simetrică folosesc aceeași cheie pentru a cripta informațiile și pentru a le decripta. În acest caz, cheia de criptare trebuie să fie secretă.

Algoritmii de criptare simetrică, de regulă, sunt ușor de implementat și nu necesită multe resurse de calcul pentru munca lor. Cu toate acestea, inconvenientul unor astfel de algoritmi se manifestă în cazurile în care, de exemplu, doi utilizatori trebuie să schimbe chei. În acest caz, utilizatorii fie trebuie să se întâlnească direct, fie să aibă un fel de canal de încredere, inviolabil, pentru a trimite cheia, ceea ce nu este întotdeauna posibil.

Exemple de algoritmi de criptare simetrică sunt DES, RC4, RC5, AES, CAST.

Algoritmii de criptare asimetrică folosesc două chei, una pentru criptare și una pentru decriptare. În acest caz, se vorbește despre o pereche de chei. O cheie dintr-o pereche poate fi publică (accesabilă pentru toată lumea), cealaltă poate fi secretă.

Algoritmii de criptare asimetrică sunt mai greu de implementat și mai pretențioși la resursele de calcul decât cei simetrici, însă problema schimbului de chei între doi utilizatori este mai ușor de rezolvat.

Fiecare utilizator își poate crea propria pereche de chei și poate trimite cheia publică abonatului său. Această cheie poate cripta doar datele; decriptarea necesită o cheie secretă, care este stocată numai de proprietarul acesteia. Astfel, obținerea unei chei publice de către un atacator nu îi va oferi nimic, deoarece îi este imposibil să decripteze datele criptate.

Exemple de algoritmi de criptare asimetrică sunt RSA, El-Gamal.

7. Cum sunt sparți algoritmii de criptare?

În știința criptografică, există o subsecțiune - criptoanaliza, care studiază problemele ruperii algoritmilor de criptare, adică obținerea de informații deschise din informații criptate fără o cheie de criptare.

Există multe moduri și metode diferite de criptoanaliza, dintre care majoritatea sunt prea complexe și lungi pentru a fi reproduse aici.

Singura metodă care merită menționată este enumerarea directă a tuturor valorilor posibile ale cheii de criptare (numită și metoda forței brute sau forța brută). Esența acestei metode este de a enumera toate valorile posibile ale cheii de criptare până când este găsită cheia dorită.

8. Care ar trebui să fie lungimea cheii de criptare?

Astăzi, pentru algoritmii de criptare simetrică, 128 de biți (16 octeți) este considerată o lungime suficientă a cheii de criptare. Pentru o enumerare completă a tuturor cheilor posibile cu o lungime de 128 de biți (atac de forță brută) într-un an, aveți nevoie de procesoare 4.2x1022 cu o capacitate de 256 milioane de operațiuni de criptare pe secundă. Costul acestui număr de procesoare este de 3,5x1024 dolari SUA (conform lui Bruce Schneier, Applied Cryptography).

Există un proiect internațional distribuit.net, al cărui scop este de a uni utilizatorii de internet pentru a crea un supercomputer virtual distribuit care enumeră cheile de criptare. Cel mai recent proiect de cracare a cheilor pe 64 de biți a fost finalizat în 1757 de zile, implicând peste 300.000 de utilizatori, iar puterea de calcul a tuturor computerelor din proiect a fost echivalentă cu aproape 50.000 de procesoare AMD Athlon XP de 2 GHz.

În acest caz, trebuie luat în considerare faptul că mărirea lungimii cheii de criptare cu un bit dublează numărul valorilor cheii și, în consecință, timpul de enumerare. Adică, pe baza cifrelor de mai sus, în 1757 * 2 zile este posibil să spargeți nu o cheie de 128 de biți, așa cum ar părea la prima vedere, ci doar una de 65 de biți.

9. Am auzit despre chei de criptare de 1024 și chiar 2048 de biți și spui că 128 de biți este suficient. Ce înseamnă?

Așa este, cheile de criptare de 512, 1024 și 2048 de biți, și uneori chiar mai lungi, sunt folosite în algoritmii de criptare asimetrică. Ei folosesc principii care sunt complet diferite de algoritmii simetrici, astfel încât scarile cheilor de criptare sunt și ele diferite.

Răspunsul la această întrebare este cel mai păzit secret al serviciilor speciale ale oricărui stat. Din punct de vedere teoretic, este imposibil să citești date criptate folosind un algoritm cunoscut cu o cheie de lungime suficientă (vezi întrebările anterioare), totuși, cine știe ce se ascunde în spatele vălului secretelor de stat? Se poate dovedi că există câteva tehnologii extraterestre cunoscute de guvern, cu care poți sparge orice cifră 🙂

Singurul lucru care poate fi afirmat cu certitudine este că nici un singur stat, nici un singur serviciu special nu va dezvălui acest secret și, chiar dacă este posibil să decriptezi cumva datele, nu le va arăta niciodată în niciun fel.

Pentru a ilustra această afirmație, poate fi dat un exemplu istoric. În timpul celui de-al Doilea Război Mondial, premierul britanic Winston Churchill, ca urmare a interceptării și decriptării mesajelor germane, a luat cunoștință de viitorul bombardament asupra orașului Coventry. În ciuda acestui fapt, el nu a luat nicio măsură pentru a împiedica inamicul să afle că serviciile secrete britanice le-ar putea descifra mesajele. Drept urmare, în noaptea de 14-15 noiembrie 1940, Coventry a fost distrusă de aeronavele germane, ucigând un număr mare de civili. Astfel, pentru Churchill, prețul divulgării informațiilor pe care le putea descifra mesajele germane s-a dovedit a fi mai mare decât prețul a câteva mii de vieți umane.

Este evident că pentru politicienii moderni prețul unor astfel de informații este și mai mare, așa că nu vom afla nimic despre capacitățile serviciilor speciale moderne, nici explicit, nici indirect. Deci, chiar dacă răspunsul la această întrebare este da, această posibilitate, cel mai probabil, nu se va manifesta în niciun fel.

Sursa: SecurIT

^ reveni pentru a începe ^

De obicei, noi algoritmi de criptare sunt publicati pentru revizuire publică și studiati în centre de cercetare specializate. Rezultatele unor astfel de studii sunt, de asemenea, publicate pentru revizuire publică.

Algoritmi simetrici
Algoritmii de criptare sunt împărțiți în două clase mari: simetrice (AES, GOST, Blowfish, CAST, DES) și asimetrice (RSA, El-Gamal). Algoritmii de criptare simetrică folosesc aceeași cheie pentru a cripta informațiile și a le decripta, în timp ce algoritmii asimetrici folosesc două chei - una pentru a cripta și una pentru a decripta.

Dacă informațiile criptate trebuie transferate în alt loc, atunci și cheia de decriptare trebuie să fie transferată acolo. Punctul slab aici este canalul de transmisie a datelor - dacă nu este sigur sau este ascultat, atunci cheia de decriptare poate ajunge la atacator. Sistemele bazate pe algoritmi asimetrici nu au acest neajuns. Deoarece fiecare participant într-un astfel de sistem are o pereche de chei: cheie publică și cheie secretă.

Cheie de criptare
Aceasta este o secvență aleatorie sau special creată de biți conform parolei, care este un parametru variabil al algoritmului de criptare.
Dacă criptați aceleași date cu același algoritm, dar cu chei diferite, rezultatele vor fi și ele diferite.

De obicei, în Software-ul de criptare (WinRAR, Rohos etc.), cheia este creată dintr-o parolă pe care o specifică utilizatorul.

Cheia de criptare vine în lungimi diferite, care sunt de obicei măsurate în biți. Pe măsură ce lungimea cheii crește, securitatea teoretică a cifrului crește. În practică, acest lucru nu este întotdeauna adevărat.

În criptografie, se consideră că mecanismul de criptare este o valoare non-secretă, iar un atacator poate avea codul sursă complet al algoritmului de criptare, precum și textul cifrat (regula lui Kerckhoff). O altă presupunere care poate avea loc este că un atacator poate cunoaște o parte din textul necriptat (plat).

Puterea algoritmului de criptare.
Un algoritm de criptare este considerat puternic până când se dovedește contrariul. Astfel, dacă un algoritm de criptare a fost publicat, există de mai bine de 5 ani și nu au fost găsite vulnerabilități serioase pentru acesta, putem presupune că puterea lui este potrivită pentru protejarea informațiilor secrete.

Stabilitate teoretică și practică.
În 1949 K.E. Shannon a publicat un articol „Teoria comunicării în sistemele secrete”. Shannon a considerat puterea sistemelor criptografice ca fiind practică și teoretică. Concluzia privind securitatea teoretică este încă pesimistă: lungimea cheii ar trebui să fie egală cu lungimea textului simplu.
Prin urmare, Shannon a luat în considerare și problema puterii practice a sistemelor criptografice. Este sistemul fiabil dacă atacatorul are timp și resurse de calcul limitate pentru a analiza mesajele interceptate?

De obicei, vulnerabilitățile se găsesc în programele care criptează datele folosind un anumit algoritm. În acest caz, programatorii fac o greșeală în logica programului sau în protocolul criptografic, datorită căruia, după ce a studiat modul în care funcționează programul (la un nivel scăzut), se poate obține în cele din urmă acces la informații secrete.

Ruperea algoritmului de criptare
Se crede că criptosistemul a fost rezolvat dacă atacatorul poate calcula cheia secretă și, de asemenea, poate realiza un algoritm de conversie echivalent cu criptoalgoritmul original. Și că acest algoritm era fezabil în timp real.

În criptologie, există o subsecțiune numită criptoanaliza, care studiază problemele crackării sau falsificării mesajelor criptate. Există multe moduri și metode de criptoanaliza. Cea mai populară este metoda de enumerare directă a tuturor valorilor posibile ale cheii de criptare (așa-numita „forță brută” sau metoda forței brute). Esența acestei metode este de a enumera toate valorile posibile ale cheii de criptare până când este găsită cheia dorită.

În practică, aceasta înseamnă că un atacator trebuie:

  • Aveți la dispoziție un criptosistem (adică un program) și exemple de mesaje criptate.
  • Înțelegeți protocolul criptografic. Cu alte cuvinte, modul în care programul criptează datele.
  • Dezvoltați și implementați un algoritm pentru enumerarea cheilor pentru acest criptosistem.

Cum poți spune dacă o cheie este validă sau nu?
Totul depinde de programul specific și de implementarea protocolului de criptare. De obicei, dacă după decriptare s-a dovedit a fi „gunoi”, atunci aceasta este cheia greșită. Și dacă textul este mai mult sau mai puțin semnificativ (acest lucru poate fi verificat), atunci Cheia este corectă.

Algoritmi de criptare
AES (Rijndael). În prezent, este standardul federal de criptare din SUA.

Ce algoritm de criptare să alegeți pentru a proteja informațiile?

Aprobat ca standard de Departamentul de Comerț la 4 decembrie 2001. Decizia a intrat în vigoare din momentul publicării în registrul federal (06.12.01). O variantă de cifrare cu doar o dimensiune de bloc de 128 de biți este acceptată ca standard.

GOST 28147-8. Standard al Federației Ruse pentru criptarea datelor și protecția împotriva imitațiilor. Inițial, a avut un gât (OV sau SS - nu se știe exact), apoi gâtul a fost redus constant, iar până când algoritmul a fost realizat oficial prin Standardul de stat al URSS în 1989, a fost eliminat. Algoritmul a rămas DSP (după cum știți, DSP nu este considerat un gât). În 1989, a devenit standardul oficial al URSS, iar mai târziu, după prăbușirea URSS, standardul federal al Federației Ruse.

blowfish O schemă complexă pentru generarea elementelor cheie complică semnificativ un atac cu forță brută asupra algoritmului, dar îl face nepotrivit pentru utilizarea în sistemele în care cheia se schimbă frecvent și datele mici sunt criptate pe fiecare cheie.

Algoritmul este cel mai potrivit pentru sistemele în care cantități mari de date sunt criptate folosind aceeași cheie.

DES Standard federal de criptare din SUA 1977-2001. Adoptat ca standard federal al SUA în 1977. În decembrie 2001, și-a pierdut statutul din cauza introducerii unui nou standard.

CASTÎntr-un fel, un analog al DES.

www.codenet.ru/progr/alg/enc
Algoritmi de criptare, Prezentare generală, informații, comparație.

http://www.enlight.ru/crypto
Materiale privind criptarea asimetrică, semnătura digitală și alte sisteme criptografice „moderne”.

Alexandru Velikanov,
Olga Cheban,
Tesline Service S.R.L.

Fostul bancher din Abu Dhabi, Mohammad Ghaith bin Mahah Al Mazrui, a dezvoltat un cifr despre care el susține că este indestructibil. Cifrul numit „Codul Abu Dhabi” a fost creat pe baza unui grup de simboluri inventat de însuși Al Mazrui. În codul său, fiecare literă este înlocuită cu un simbol special inventat, iar aceste simboluri nu aparțin niciunei limbi cunoscute din lume.

Ce algoritmi de criptare a datelor sunt mai siguri

Dezvoltatorului i-a luat un an și jumătate să lucreze la cifrul, pe care Al Mazrui îl numește „absolut nou”.

Potrivit entuziastului, fiecare își poate crea propriul cod, iar complexitatea cifrului este determinată de lungimea cheii sale. Se crede că, în principiu, dacă există o dorință, anumite abilități și software adecvat, aproape fiecare, chiar și cel mai complex cifru poate fi spart.

Cu toate acestea, Al Mazrui asigură că creația sa este indestructibilă și este de departe cel mai fiabil cifr. „Este aproape imposibil să descifrezi un document codificat cu Codul Abu Dhabi”, este sigur Al Mazrui.

Pentru a-și dovedi cazul, bancherul i-a provocat pe toți criptografii, hackerii și criptografii remarcabili, îndemnându-i să încerce să-i spargă cifrul.

3. Kryptos este o sculptură pe care sculptorul american James Sanborn a instalat-o pe terenul sediului CIA din Langley, Virginia, în 1990. Mesajul criptat imprimat pe el încă nu poate fi dezlegat.

4. Cifrul imprimat pe lingot de aur chinezesc. Se presupune că șapte lingouri de aur au fost eliberate în 1933 generalului Wang în Shanghai. Sunt marcate cu imagini, litere chinezești și unele mesaje criptate, inclusiv cu litere latine. Acestea pot conține certificate de autenticitate ale metalului emise de una dintre băncile din SUA.

Ce algoritm de criptare să alegeți în TrueCrypt

5. Criptograme Bale Trei mesaje criptate despre care se crede că conțin detalii despre locația unui tezaur de două vagoane încărcate de aur, argint și pietre prețioase îngropate în anii 1820 lângă Lynchburg, în comitatul Bedford, Virginia, de un grup de mineri de aur condus de Thomas Jefferson Bale. Prețul unei comori negăsite până acum, în termeni de bani moderni, ar trebui să fie de aproximativ 30 de milioane de dolari. Enigma criptogramelor nu a fost rezolvată până acum, în special, întrebarea existenței reale a comorii rămâne controversată. Unul dintre mesaje a fost descifrat - descrie comoara în sine și oferă indicații generale despre locația sa. Literele rămase nedeschise pot conține locația exactă a semnului de carte și o listă a proprietarilor comorii. (informatii detaliate)

6. Manuscrisul Voynich adesea menționată drept cea mai misterioasă carte din lume. Manuscrisul folosește un alfabet unic, conține aproximativ 250 de pagini și desene înfățișând flori necunoscute, nimfe goale și simboluri astrologice. A apărut pentru prima dată la sfârșitul secolului al XVI-lea, când Sfântul Împărat Roman Rudolph al II-lea l-a cumpărat la Praga de la un comerciant necunoscut pentru 600 de ducați (aproximativ 3,5 kg de aur, astăzi peste 50 de mii de dolari). De la Rudolph al II-lea, cartea a trecut la nobili și oameni de știință și a dispărut la sfârșitul secolului al XVII-lea. Manuscrisul a reapărut în jurul anului 1912 când a fost cumpărat de librarul american Wilfried Voynich. După moartea sa, manuscrisul a fost donat Universității Yale. Savantul britanic Gordon Rugg crede că cartea este o păcăleală inteligentă. Textul are caracteristici care nu sunt caracteristice niciunei limbi. Pe de altă parte, unele caracteristici, cum ar fi lungimea cuvintelor, modul în care literele și silabele sunt conectate, sunt similare cu cele găsite în limbile reale. „Mulți oameni cred că toate acestea sunt prea complicate pentru o farsă pentru a construi un astfel de sistem, ar fi nevoie de niște ani nebuni de alchimist”, spune Rugg. Cu toate acestea, Rugg arată că această complexitate ar fi putut fi atinsă cu ușurință folosind un dispozitiv de cifrare inventat în jurul anului 1550 și numit grila Cardan. În acest tabel cu simboluri, cuvintele sunt create prin mutarea unei cărți cu găuri tăiate în ea. Datorită spațiilor rămase în tabel, cuvintele sunt de lungimi diferite. Prin impunerea unor astfel de grile pe tabelul de silabe a manuscrisului, Rugg a creat un limbaj care împărtășește multe, dacă nu toate, caracteristicile limbajului manuscrisului. Potrivit acestuia, trei luni ar fi suficiente pentru a crea întreaga carte. (informații detaliate, wikipedia)

7. Cifrul Dorabella, compusă în 1897 de compozitorul britanic Sir Edward William Elgar. În formă criptată, el a trimis o scrisoare în orașul Wolverhampton iubitei sale Dora Penny, fiica în vârstă de 22 de ani a lui Alfred Penny, rectorul Catedralei Sf. Petru. Acest cifru rămâne nerezolvat.

8. Până de curând, pe listă au participat Chaocipher, care nu a putut fi descoperit în timpul vieții creatorului său. Cifrul a fost inventat de John F. Byrne în 1918 și timp de aproape 40 de ani a încercat fără succes să intereseze autoritățile americane în el. Inventatorul a oferit o recompensă bănească oricui putea să-și rezolve cifra, dar, ca urmare, nimeni nu a cerut-o.

Dar în mai 2010, membrii familiei lui Byrne au predat toate documentele rămase ale lui Byrne Muzeului Criptografic Național din Maryland, ceea ce a dus la descoperirea algoritmului.

9. Cifrul D'Agapeyeff. În 1939, cartograful britanic de origine rusă, Alexander D'Agapeyeff, a publicat o carte despre elementele de bază ale criptografiei Codes and Ciphers, în prima ediție a căreia a citat un cifr din propria sa invenție. Acest cifru nu a fost inclus în edițiile ulterioare. Ulterior, D'Agapeyeff a recunoscut că a uitat algoritmul pentru decriptarea acestui cifr. Se bănuiește că eșecurile care s-au lovit de toți cei care au încercat să-i descifreze opera se datorează faptului că autorul a greșit la cifrarea textului.

Dar în timpul nostru, există speranța că cifrul poate fi rezolvat folosind metode moderne - de exemplu, un algoritm genetic.

10. Taman Shud. La 1 decembrie 1948, pe coasta Australiei, în Somerton, lângă Adelaide, a fost găsit cadavrul unui bărbat, îmbrăcat într-un pulover și o haină, în ciuda zilei caracteristice toride pentru clima australiană. Nu s-au găsit documente despre el. Încercările de a compara amprentele dinților și degetelor sale cu datele disponibile despre oamenii vii au fost, de asemenea, în zadar. O examinare post-mortem a scos la iveală un flux nenatural de sânge, care i-a umplut, în special, cavitatea abdominală, precum și o creștere a organelor interne, dar nu au fost găsite substanțe străine în corpul său. La gară au găsit simultan o valiză care ar fi putut aparține defunctului. În valiza conținea pantaloni cu un buzunar secret în care au găsit o bucată de hârtie ruptă dintr-o carte pe care erau imprimate cuvintele. Taman Shud. Ancheta a constatat că o bucată de hârtie a fost ruptă dintr-o copie foarte rară a colecției Rubaiyat a marelui poet persan Omar Khayyam. Cartea în sine a fost găsită pe bancheta din spate a unei mașini lăsate descuiate. Pe coperta din spate a cărții, cinci rânduri erau mâzgălite cu majuscule - sensul acestui mesaj nu a putut fi descifrat. Până astăzi, această poveste rămâne unul dintre cele mai misterioase mistere ale Australiei.

Durata de viață a informațiilor

§ La interceptarea unui mesaj criptat pentru unele tipuri de algoritmi de criptare, este posibil să se calculeze frecvența de apariție a anumitor caractere și să le compare cu probabilitățile de apariție a anumitor caractere sau combinațiile acestora (bigrame, trigrame etc.). Acest lucru, la rândul său, poate duce la decriptarea (dezvăluirea) fără ambiguitate a secțiunilor individuale ale mesajului criptat.

§ Prezenţa cuvintelor probabile. Acestea sunt cuvinte sau expresii despre care se poate aștepta să apară în mesajul interceptat (de exemplu, pentru textul în limba engleză - „și”, „the”, „are”, etc.).

§ Există metode prin care mesajele criptate sunt practic nepotrivite pentru analiza statistică și probabilă a cuvintelor. Acestea includ următoarele.

§ Difuzie. Influența unui caracter dintr-un mesaj deschis se extinde la mai multe caractere ale unui mesaj criptat. Această metodă, deși duce la o creștere a numărului de erori în timpul decriptării, poate fi folosită totuși pentru a ascunde structura statistică a mesajului deschis.

§ Încurcarea. Dezvoltarea principiului de împrăștiere. În ea, influența unui caracter al cheii se extinde la multe caractere ale criptate

mesaje.

§ Amestecarea. Se bazează pe utilizarea unor transformări speciale ale mesajului original, în urma cărora secvențele probabile par să fie împrăștiate pe întreg spațiul posibilelor mesaje deschise. Dezvoltarea acestei metode a fost utilizarea unor algoritmi de criptare compoziți, constând dintr-o secvență de operații simple de permutare și înlocuire.

Exemple de metode de mai sus sunt standardele de criptare DES și GOST 28147-89.

Există două tipuri principale de algoritmi de criptare:

§ algoritmi simetrici de criptare;

§ algoritmi de criptare asimetrici.

Criptare simetrică.

Algoritmii de criptare simetrică se bazează pe faptul că aceeași cheie (comună) este folosită atât pentru a cripta un mesaj, cât și pentru a-l decripta (Fig. 1).

Unul dintre principalele avantaje ale metodelor simetrice este viteza de criptare și decriptare, iar principalul dezavantaj este necesitatea transferului valorii cheii secrete către destinatar.



Problema apare inevitabil: cum să transferați cheia și, în același timp, să nu permiteți atacatorilor să o intercepteze.

Beneficiile criptografiei cu chei simetrice:

· Performanta ridicata.

· Durabilitate ridicată. Cu alte lucruri egale, puterea unui algoritm criptografic este determinată de lungimea cheii. Cu o lungime a cheii de 256 de biți, este necesar să se efectueze 10 77 de căutări pentru a o determina.

Dezavantajele criptografiei cu chei simetrice.

§ Problemă de distribuție a cheilor. Deoarece aceeași cheie este utilizată pentru criptare și decriptare, sunt necesare mecanisme foarte fiabile pentru distribuirea (transmiterea) a acestora.

§ Scalabilitate. Deoarece atât expeditorul, cât și destinatarul folosesc o singură cheie, numărul de chei necesare crește exponențial în funcție de numărul de participanți la comunicare. Pentru a schimba mesaje între 10 utilizatori, trebuie să aveți 45 de chei, iar pentru 1000 de utilizatori - deja 499.500.

§ Utilizare limitată. Criptografia cu chei secrete este utilizată pentru a cripta datele și a restricționa accesul la acestea; nu poate fi utilizată pentru a asigura proprietățile informațiilor, cum ar fi autenticitatea și

nerepudierea.

Criptare asimetrică

Algoritmii de criptare asimetrică (criptografia cu cheie publică) implică utilizarea a două chei. Prima cheie este deschis. Se distribuie complet gratuit, fără nicio precauție. Al doilea, închis cheia este ținută secretă.

Orice mesaj criptat folosind una dintre aceste chei poate fi decriptat numai folosind cheia asociată. De obicei, expeditorul unui mesaj folosește cheia publică a destinatarului, iar destinatarul folosește cheia privată privată.

Într-o schemă asimetrică pentru transmiterea mesajelor criptate, ambele chei sunt derivate de la un singur părinte cheia principala. Când două chei sunt derivate dintr-una, ele sunt dependente din punct de vedere matematic, dar din cauza complexității de calcul, niciuna nu poate fi calculată din cealaltă. După ce ambele chei (atât publice, cât și private, private) sunt formate, cheia principală este distrusă și, astfel, orice încercare de a restabili valorile cheilor derivate din aceasta în viitor este oprită.

Schema asimetrică este combinată în mod ideal cu utilizarea rețelelor publice de mesagerie (de exemplu, Internetul). Orice abonat al rețelei poate trimite absolut liber cheia publică partenerului său de negociere, iar acesta din urmă, în rolul de expeditor al mesajului, va folosi această cheie la criptarea mesajului trimis (Fig. 2). Acest mesaj poate fi decriptat cu cheia sa privată numai de către destinatarul mesajului care a trimis anterior cheia publică corespunzătoare. Un atacator care interceptează o astfel de cheie o va putea folosi doar cu scopul exclusiv de a transmite unele mesaje criptate proprietarului de drept al cheii.

Dezavantajul schemei asimetrice este timpul mare petrecut cu criptarea și decriptarea, care nu permite utilizarea acestora pentru schimbul rapid de mesaje lungi în modul dialog. Implementarea metodelor de criptare asimetrică necesită mult timp CPU. Prin urmare, în forma sa pură, criptografia cu cheie publică nu este de obicei folosită în practica mondială.



Orez. 2. Schema de criptare asimetrică

Este imposibil de comparat care este mai bun, algoritmii de criptare simetrici sau asimetrici. Se observă că algoritmii criptografici simetrici au o lungime mai mică a cheii și funcționează mai rapid.

Criptografia cu cheie secretă și criptografia cu cheie publică sunt concepute pentru a rezolva probleme complet diferite. Algoritmii simetrici sunt bine potriviți pentru criptarea datelor, algoritmii asimetrici sunt implementați în majoritatea protocoalelor criptografice de rețea.

Cele mai utilizate metode combină avantajele ambelor scheme. Principiul de funcționare al schemelor combinate este că o cheie simetrică (de sesiune) este generată pentru următoarea sesiune de mesagerie. Această cheie este apoi criptată și trimisă folosind o schemă asimetrică. După încheierea sesiunii curente de negociere, cheia simetrică este distrusă.



Se încarcă...
Top