Parametrii algoritmului de criptare. Criptografie

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

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

Algoritmi de rearanjare - 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 anumite 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 acces la Internet DialUp etc.) . Când un utilizator își introduce parola atunci când se conectează la Windows 95, se generează un gamma (întotdeauna același) folosind algoritmul de criptare RC4, care este folosit pentru a cripta parolele de rețea. Simplitatea selectării parolei în acest caz se datorează faptului că Windows preferă întotdeauna aceeași schemă de culori.

Algoritmi bazați pe transformări matematice complexe ale textului sursă după o anumită formulă. Mulți dintre ei folosesc probleme de matematică 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 sursă 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 înainte, 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 a informațiilor criptografice și are propriile sale avantaje și dezavantaje, dar sunt comune cel mai important caracteristica este durabilitatea. Aceasta înseamnă cantitatea minimă de text criptat, a cărei analiză statistică poate fi folosită pentru a dezvălui textul original. Astfel, pe baza puterii cifrului, se poate determina 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 puternic, deoarece atunci când este utilizată, toate modelele statistice ale textului sursă sunt păstrate. Deja cu o lungime de 20-30 de caractere, aceste modele se manifestă într-o asemenea măsură încât, de regulă, face posibilă deschiderea textului sursă. Prin urmare, o astfel de criptare este considerată potrivită numai pentru criptarea parolelor, a mesajelor scurte de semnalizare și a caracterelor individuale.

Stabilitatea unei substituții polialfabetice simple (a sistemelor similare, a fost luată în considerare substituția folosind tabelul Viginère) este estimată la 20n, unde n este numărul de alfabete diferite utilizate pentru înlocuire. Când utilizați tabelul Viginère, numărul de alfabete diferite este determinat de numărul de litere din cuvântul cheie. Creșterea complexității substituției polialfabetice crește semnificativ stabilitatea acesteia.

Durabilitatea gamei este determinată în mod unic de perioada lungă a gamei. În prezent, utilizarea unei gamma infinite devine realistă, cu utilizarea căreia, teoretic, puterea textului cifrat va fi, de asemenea, infinită.

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

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 fost folosită ca bază pentru funcționarea tuturor dispozitivelor de criptare cunoscute în prezent.

Algoritmul DES a fost aprobat în urmă cu mai bine de 20 de ani, dar în acest timp computerele au făcut un salt incredibil în viteza de calcul, iar acum nu este atât de dificil să spargi acest algoritm căutând complet prin toate opțiunile cheie posibile (și DES folosește doar 8 octeți), ceea ce recent părea complet imposibil.

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

Valorile considerate a puterii cifratei sunt valori potențiale. Ele pot fi implementate sub rezerva respectării stricte a regulilor de utilizare a măsurilor de securitate criptografică. Principalele reguli ale acestor reguli sunt: ​​păstrarea secretă a cheilor, eliminarea 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 trecere în revistă a celor mai comune metode în prezent de protecție a informațiilor criptografice și a metodelor de implementare a acesteia. Alegerea pentru sisteme specifice ar trebui să se bazeze pe o analiză aprofundată a punctelor forte și a punctelor slabe ale anumitor metode de protecție. O alegere justificată a unui anumit sistem de protecție, în general, ar trebui să se bazeze pe anumite 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 a puterii setului de chei (M). În esență, aceasta este aceeași cu puterea criptografică. Pentru a o estima numeric, puteți folosi și complexitatea rezolvării cifrului încercând toate cheile. 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 acesteia;

· perfecționarea 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 bineînțeles de dorit să se utilizeze niște indicatori integrali care să țină cont de acești factori. Dar, în orice caz, setul selectat de metode criptografice trebuie să combine atât comoditatea, flexibilitatea și eficiența utilizării, cât și protecția fiabilă a informațiilor care circulă în sistem împotriva atacatorilor.


Partea practica:

Exercitiul 1.

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

1.1 Setați prima valoare manual

1.2 Efectuați Editare->Umplere->

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

Fig. 1.1 – Formula pentru funcția g(x)

2.1) Calculați valorile funcțiilor

3) Grafic

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

3.2) Selectați expertul pentru diagrame

Fig.1.2 – Chart Wizard - Graph

Următorul -> rând

Fig. 1.3 – Chart Wizard – etichete axelor

Selectarea valorii axei X

apasa Enter

3.3) Dați nume graficelor

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) Așezați graficul funcției pe foaia existentă -> (Terminat)

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

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

1.2.

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

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

2) Completați câmpul X făcând:

2.1 Setați prima valoare manual

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

3) Calculăm valorile funcțiilor y=2sin(x) – 3cos(x), z = cos²(2x) – 2sin(x).


Fig. 1.6 – Formule pentru funcțiile y(x) și z(x)

4) Grafic

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

Selectarea expertului pentru diagrame

Fig.1.7 - Chart Wizard - Graph

Selectarea valorii axei X

apasa Enter

4.2) Dați nume graficelor

4.3) Selectați celula cu formula grafică

Apăsați 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) Așezați graficul funcției pe foaia existentă -> (Terminat)

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

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

Sarcina 2.

· Crearea unei liste de „Departamentul de Resurse Umane”

Fig.2.1 Lista „Departamentul Resurse Umane”

· Sortare

Fig.2.2 – Câmpul Sortare după Nume

Ca rezultat, obținem (Fig. 2.3)

Fig. 2.3 – Tabel sortat „Departamentul Resurse Umane”

·
Căutați informații folosind un filtru automat (obțineți informații despre bărbații ale căror nume încep cu litera Scrisoare, patronimic – „Ivanovici”, cu salariu Salariu);

Fig.2.4 - Autofiltru

· Căutați informații folosind un filtru avansat (găsiți informații de la departament Departamentul 1în vârstă Varsta 1Și Varsta 2, și despre femeile de la 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

· Însumarea (determină 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 specificate.

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 prin care numele și prenumele elevilor din grupele 1-E-1, 1-E-2, 1-E-3 vor fi selectate rând pe rând din baza de date.

Fig. 3.5 – Constructor de interogări 1.1


Fig. 3.7 – Cerere 1.2 Constructor

Fig.3.9 – Constructor de cereri 1.3

2) Folosind un tabel Elevi, creați două interogări prin care din baza de date vor fi selectate alternativ numele de familie și prenumele femeilor și apoi numele și prenumele bărbaților.

Fig. 3.11 – Constructor de interogări 2.1

Fig.3.13 – Request Builder 2.2

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

Fig. 3.15 – Constructor de interogări 3.1

Fig.3.17 – Constructor – 3.2

4) Utilizarea tabelelor legate EleviȘi Sesiune, creați o interogare prin care din baza de date vor fi selectate numele de familie, prenumele, numerele de înregistrare și notele la matematică ale elevilor din grupa 1-E-2.

Fig. 3.19 – Constructor de interogare 5

5) Utilizarea tabelelor legate EleviȘi Sesiune, creați o interogare prin care vor fi selectate din baza de date nume de familie, prenume, numere de înregistrare și clase de filosofie ale elevilor (bărbați) grupei 1-E-2.

Fig. 3.21 – Constructorul de interogări 8

6) Utilizarea tabelelor legate EleviȘi Sesiune, creați o interogare prin care numele de familie, prenumele și numerele de foaia matricolă ale studenților care au primit o notă „satisfăcătoare” (3) la filozofie vor fi selectate din baza de date.

Fig. 3.23 – Constructorul de interogări 10

7) Utilizarea tabelelor legate EleviȘi Sesiune, creați o interogare prin care vor fi selectate din baza de date numele de familie, prenumele și numerele de foaia matricolă ale elevilor care au primit nota „bine” (4) la două materii în același timp: filozofie și matematică.

Fig. 3.25 – Constructor de interogări 14

8) Utilizarea tabelelor legate EleviȘi Sesiune, creați o interogare prin care vor fi selectate din baza de date numele de familie, prenumele și numerele de foaia matricolă ale elevilor care au primit o notă „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 prin care vor fi selectate din baza de date numele de familie, prenumele și numerele de foaia matricolă ale elevilor care au primit nota „bună” (4) la toate disciplinele.

Fig. 3.29 – Constructor de solicitări 22

10) Folosind un tabel Sesiune, creați o interogare cu nume 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 prin care vor fi selectate din baza de date nume de familie, prenume, numere de înregistrare, numere de grup de elevi cu un punctaj mediu de 3,25.

Fig.3.33 – Cerere 25 Constructor

12) Utilizarea tabelelor legate Elevi, Sesiuneși cerere Scor mediu, creați o interogare prin care vor fi selectate din baza de date nota la matematică, scorul mediu și numărul de grup al elevului Ivanov.

Fig. 3.35 – Request Builder 29

13) Utilizarea tabelelor legate Elevi, Sesiuneși cerere Scor mediu, creați o interogare prin care din baza de date vor fi selectate numele de familie și prenumele elevilor cu un scor mediu mai mic de 3,75.

Fig.3.37 – Request Constructor 33

14) Folosind un tabel Elevi, determinați numele de familie, prenumele și numărul de înregistrare al elevului, dacă se știe că patronimul ei este Viktorovna.

Fig. 3.39 – Constructor de interogări 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 converti o parte întreagă a unui număr, împărțiți-o în întregime la baza sistemului, fixând restul. Dacă câtul parțial nu este egal cu zero, continuați să-l împărțiți la un întreg. Dacă sunt egale cu zero, resturile sunt scrise în ordine inversă.

b) Pentru a converti partea fracționară a unui număr, aceasta se înmulțește cu baza sistemului numeric, fixând în același timp părțile întregi ale produselor rezultate. Părți î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 adunarea 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 convertit este înmulțit cu baza sistemului până la gradul corespunzător acestui coeficient și se adună rezultatele obținute.

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, trebuie 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 întregul număr și la dreapta în partea fracțională a numărului. Pentru traducerea inversă, fiecare cifră a unui număr octal este reprezentată de triada corespunzătoare de cod binar.

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₂

B) 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.

Baza pentru adăugarea numerelor în sistemul binar este tabelul pentru adăugarea numerelor binare cu o singură cifră.

0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10
Adăugarea numerelor binare pe mai mulți biți se efectuează în conformitate cu acest tabel, ținând cont de posibilele transferuri de la cele de ordin inferior la cele de ordin înalt. Sistemul de numere octale, ca orice alt sistem de numere pozițional, are propriile reguli de adunare a numerelor, care sunt reprezentate de reguli de adunare a numerelor cu ordine egală legate de cele două numere care se adună. Aceste reguli pot fi văzute din Tabelul 6.1. Transferul care apare la adăugarea unor cifre dintr-o anumită cifră este indicat prin 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 de adunare a cifrelor a două numere hexazecimale situate în aceleași cifre ale acestor numere pot fi văzute din Tabelul 6.2. Transferul care are loc la adăugarea unor cifre dintr-o anumită cifră este indicat prin 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 pentru adăugarea numerelor octale, le puteți scădea. Să presupunem că trebuie să calculați diferența a două numere octale. Să găsim în prima coloană a tabelului. 6.1 cifra corespunzătoare ultimei din subtraend, iar în linia ei vom găsi ultima cifră a minuendului - este situată la intersecția dreptei subtrahend și a coloanei de diferență. În acest fel vom găsi 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) _E 3 1 6 , 2 5 0₁₆

5 8 8 1 , F D C₁₆

8 A 9 4, 2 7 4

Sarcina 8.

Baza pentru înmulțirea numerelor în sistemul binar este tabelul de înmulțire pentru numerele binare cu o singură cifră.

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

Înmulțirea numerelor binare pe mai mulți biți se realizează în
conform acestui tabel conform schemei obișnuite,
pe care le utilizați în sistemul zecimal.

Fiecare sistem de numere poziționale are propria sa tabelă de înmulțire, așa cum am văzut deja. În binar este cel mai mic, în octal (Tabelul 8.1) și zecimal este deja mai extins. Dintre sistemele de numere utilizate frecvent pe care le-am luat în considerare, cea mai mare tabelă de înmulțire este hexazecimală (Tabelul 8.2).

Masa 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- o metodă de reprezentare a numerelor binare în virgulă fixă ​​în aritmetica computerizată. Când scrieți un număr în 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 de returnare- 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 peste 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 cele opuse, cu excepția valorii locului.

Cod suplimentar(Engleză) complement a doi, Uneori doi-complement) este cel mai comun mod de a reprezenta numerele întregi negative în computere. Vă permite să înlocuiți operația de scădere cu o operație de adunare și să faceți aceleași operațiuni de adunare și scădere pentru numerele cu semn și fără semn, simplificând astfel arhitectura computerului. La scrierea unui număr pentru un număr pozitiv, acesta coincide cu codul direct, iar pentru un număr negativ codul suplimentar se determină prin obținerea codului invers și adăugarea 1.

Când se adună numere într-un cod complementar, 1 rezultat 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 codul unui număr negativ, acesta trebuie convertit într-un cod direct. Convertiți codul invers într-unul direct prin înlocuirea cifrelor din toate cifrele, cu excepția celui semn cu unele opuse. Codul suplimentar este convertit într-un cod direct prin adăugarea 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. Poarta logică NU efectuează negație logică. Are o intrare și o ieșire. Notăm absența unui semnal (tensiune) 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 realizează adunarea logică. Are mai multe intrări și o ieșire. Va exista un semnal la ieșire dacă există un semnal la cel puțin o intrare.

Tabelul de adevăr al simbolului

3. Poarta AND efectuează înmulțirea logică. Va exista un semnal la ieșirea acestui element logic numai dacă există un semnal la toate intrările.

Tabelul de adevăr al simbolului

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) (C vD) 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

Un dublu negativ elimină negativul.

2. Legea călătoriei (comutativă):

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

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

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

3. Legea combinativă (asociativă):

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

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

Dacă semnele sunt aceleași, parantezele pot fi plasate în mod arbitrar sau omise cu totul.

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 scoate o declarație generală din paranteze.

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 Idempotentei

Pentru adunare logica: A v A = A;

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

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

7. Legile eliminării 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 simultan adevărate.

9. Legea excluderii celui de-al treilea: 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 (lipire):

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 sau dublă negație, în timp ce semnele de negație se găsesc numai pentru variabile.


Informații conexe.


Metode moderne de criptare de bază

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

  • - Algoritmi de înlocuire sau înlocuire - 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ă nu este practic utilizată în criptosistemele moderne datorită puterii sale criptografice extrem de scăzute.
  • - Algoritmi de rearanjare - 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 anumite secvențe aleatoare.
  • - Algoritmi bazați pe transformări matematice complexe ale textului sursă după o anumită formulă. Mulți dintre ei folosesc probleme de matematică 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 sursă folosind două sau mai multe metode.

Să aruncăm o privire mai atentă la algoritmii construiți pe transformări matematice complexe și metode combinate, care sunt cele mai frecvent utilizate pentru a proteja datele în sistemele informaționale moderne.

Algoritmi bazați pe transformări matematice complexe

algoritmul RSA

Algoritmul RSA (după primele litere ale numelor de familie ale creatorilor săi Rivest - Shamir - Adleman) se bazează pe proprietățile numerelor prime (și ale celor foarte mari). Numerele prime sunt acele numere care nu au alți divizori decât ele însele și unul. Și numerele coprime sunt acele numere care nu au divizori comuni alții decât 1.

În primul rând, trebuie să alegeți două numere prime foarte mari (sunt necesare numere prime mari pentru a construi chei mari și puternice. De exemplu, programul Unix ssh-keygen generează chei de 1024 de biți în mod implicit). Ca rezultat al înmulțirii p și q, se determină parametrul n. Apoi este selectat un număr aleatoriu e și trebuie să fie relativ prim cu numărul (n) = (p - 1)*(q - 1). Se găsește un număr d pentru care relația este adevărată

(e*d) mod (n) = 1.

Mod este restul diviziunii, adică dacă e înmulțit cu d este împărțit cu (n), atunci restul ar trebui să fie 1. Cu alte cuvinte, numerele (e*d - 1) și (n) ar trebui să fie divizibile cu un număr întreg. .

Cheia publică este o pereche de numere e și n, iar cheia privată este d și n. La criptare, textul sursă este tratat ca o serie de numere și se efectuează o operație pe fiecare număr care trebuie să fie mai mic de n

C(i) = (M(i) e) mod n. (1)

Rezultatul este secvența C(i), care constituie criptotextul. Decodificarea informațiilor are loc conform formulei

M(i) = (C(i) d) mod n. (2)

După cum puteți vedea, decriptarea necesită cunoașterea cheii secrete.

Să ne uităm la un exemplu folosind numere mici. Fie p = 3, q ​​= 7. Atunci n = = p*q = 21. Să alegem e = 5. Din formula (d*5) mod 12 = 1 calculăm d = 17. Prin urmare, publicul cheia este 17, 21, cheia secretă este 5, 21.

Să criptăm secvența „2345”:

C 1 = 2 17 mod 21 = 11;

C 2 = 3 17 mod 21 = 12;

C 3 = 4 17 mod 21 = 16;

C 4 = 5 17 mod 21 = 17.

Criptotext - 11 12 16 17. Să verificăm decriptarea:

M 1 = 11 5 mod 21 = 2;

M 2 = 12 5 mod 21 = 3;

M 3 = 16 5 mod 21 = 4;

M 4 = 17 5 mod 21 = 5;

După cum puteți vedea, rezultatul a coincis cu textul simplu original.

Criptosistemul RSA este utilizat pe scară largă pe Internet. Atunci când utilizatorii se conectează la un server securizat folosind protocolul Secure Socket Layer (SSL), Secure Socket Layer este un protocol care garantează transmiterea securizată a datelor într-o rețea; combină un sistem criptografic cu cheie publică și blochează criptarea datelor., instalează un certificat WebMoney pe computer sau se conectează la un server la distanță folosind Open SSH sau SecureShell, majoritatea nici măcar nu bănuiesc că toate aceste programe folosesc criptarea cu cheie publică folosind ideile RSA algoritm.

Este acest sistem cu adevărat atât de fiabil?

De la crearea sa, RSA a fost supus constant atacurilor de forță brută (atac de forță brută) - un atac efectuat prin simpla încercare a tuturor cheilor posibile sau cele mai frecvente (parole) În al doilea caz, forța brută este destul de comună „atac de dicționar”. În 1978, autorii algoritmului au publicat un articol în care prezentau un șir criptat folosind metoda pe care tocmai o inventaseră. Prima persoană care a descifrat mesajul a primit o recompensă de 100 USD, dar aceasta a necesitat împărțirea unui număr de 129 de cifre în doi factori. Aceasta a fost prima competiție care a spart RSA. Problema a fost rezolvată la numai 17 ani de la publicarea articolului.

Puterea criptografică a RSA se bazează pe presupunerea că este extrem de dificil, dacă nu imposibil, să se determine cheia privată din cheia publică. Pentru a face acest lucru, a fost necesar să se rezolve problema existenței divizorilor unui număr întreg imens. Până acum, nimeni nu a rezolvat-o folosind metode analitice, iar algoritmul RSA poate fi spart doar prin forță brută. Strict vorbind, afirmația că problema factorizării este dificilă și că ruperea sistemului RSA este dificilă, de asemenea, nu este dovedită.

Compania RSA (http://www.rsa.ru) organizează în mod regulat competiții pentru spargerea propriilor cifruri (și nu numai a propriilor sale). Competițiile anterioare au fost câștigate de organizația Distributed.net (http://www.distributed.net), care este o comunitate de voluntari pe Internet.

Membrii Distributed.net descarcă un mic program client pe computerul lor, care se conectează la serverul central și primește o bucată de date pentru calcule. Apoi toate datele sunt încărcate pe serverul central, iar clientul primește următorul bloc de informații inițiale. Și asta se întâmplă până când toate combinațiile sunt rezolvate. Utilizatorii, participanții la sistem, sunt uniți în echipe, iar site-ul menține evaluări atât pentru echipe, cât și pentru țări. De exemplu, Distributed.net, un participant la competiția de cracking RC5-64 (RSA block cipher using a 64-bit key), a reușit să o spargă după cinci ani (1.757 de zile). În acest timp, 327.856 de utilizatori au participat la proiect și au fost rezolvate peste 15.268 * 10 18 opțiuni cheie. S-a dovedit că expresia „unele lucruri ar fi mai bine să lase necitite” a fost criptată (nu fără umor). Recomandările generale pentru cifrul RC5-64 sunt următoarele: algoritmul este suficient de puternic pentru nevoile de zi cu zi, dar nu este recomandat să criptați cu el datele care rămân secrete mai mult de cinci ani.”

Criptare probabilistică

Un tip de criptosistem cu cheie publică este criptarea probabilistică, dezvoltată de Shafi Golwasser și Silvio Minnelli. Esența sa este de a subordona algoritmul de criptare E modelelor probabilistice. Care sunt avantajele acestei abordări? De exemplu, în sistemul RSA, 0 și 1 nu sunt „mascate”. Această problemă este rezolvată cu succes de algoritmi probabilistici, deoarece potrivesc textul simplu M nu doar cu criptotextul C, ci cu un element din setul de criptotexte CM. Mai mult, fiecare element al acestui set este selectat cu o anumită probabilitate. Cu alte cuvinte, pentru orice text simplu M, rezultatul algoritmului E va fi o variabilă aleatorie. Poate părea că în acest caz va fi imposibil să decriptați informațiile, dar nu este deloc așa. Pentru a face posibilă decriptarea, este necesar ca pentru diferite texte clare M 1 și M 2, mulțimile CM 1 și CM 2 să nu se intersecteze. De asemenea, aș dori să spun că algoritmii de criptare probabilistică sunt mai fiabili decât cei determiniști. În acest domeniu, cele mai comune sunt criptarea probabilistică bazată pe funcții RSA și criptosistemul El-Gamala.

Metode de criptare combinate

Una dintre cele mai importante cerințe pentru un sistem de criptare este puterea sa criptografică ridicată. Cu toate acestea, creșterea acesteia pentru orice metodă de criptare duce, de regulă, la o complicație semnificativă a procesului de criptare în sine și la o creștere a costurilor cu resursele (timp, hardware, debit redus etc.) și, în consecință - timpul de funcționare al sisteme criptografice.

Un mijloc destul de eficient de a crește puterea criptării este utilizarea combinată a mai multor metode diferite de criptare, de exemplu. criptarea secvențială a textului original folosind două sau mai multe metode.

După cum au arătat studiile, puterea criptării combinate nu este mai mică decât produsul punctelor forte ale metodelor utilizate.

Strict vorbind, puteți combina orice metode de criptare și în orice cantitate, dar în practică următoarele combinații sunt cele mai răspândite:

substituție + gamma;

rearanjare + gamma;

gamming + gamming;

substituție + permutare;

Un exemplu tipic de cifru combinat este standardul național de criptare a datelor din SUA (DES).

Standard criptografic DES

În 1973, Biroul Național de Standarde din SUA a început să dezvolte un program pentru a crea un standard pentru criptarea datelor computerizate. A fost anunțată o competiție între companiile de dezvoltare, care a fost câștigată de IBM, care în 1974 a prezentat un algoritm de criptare cunoscut sub numele de DES (Data Encryption Standard).

În acest algoritm, vectorii de intrare pe 64 de biți, numiți blocuri de text simplu, sunt convertiți în vectori de ieșire pe 64 de biți, numiți blocuri de text cifrat, folosind o cheie binară de 56 de biți K. Numărul de chei distincte ale algoritmului DES este 2 56 .

Algoritmul este implementat în 16 cicluri de criptare similare, în care ciclul i folosește cheia ciclică Ki, care este un eșantion generat algoritmic de 48 din cei 56 de biți ai cheii Ki, i = 1,2,...,16 .

Algoritmul oferă securitate ridicată, dar rezultatele recente au arătat că tehnologia actuală poate crea un dispozitiv de calcul care costă aproximativ 1 milion de dolari care poate sparge o cheie secretă folosind forța brută în medie în 3,5 ore.

Datorită dimensiunii mici a cheii, s-a decis să se utilizeze algoritmul DES pentru a închide informațiile comerciale. Implementarea practică a enumerarii tuturor cheilor în aceste condiții nu este fezabilă din punct de vedere economic, deoarece costurile de enumerare nu corespund valorii informațiilor ascunse de cifr.

Algoritmul DES a fost primul exemplu de producție și implementare pe scară largă a mijloacelor tehnice în domeniul securității informațiilor. Biroul Național de Standarde din SUA testează implementările hardware ale algoritmului DES propus de companiile de dezvoltare pe un banc de testare special. Numai după rezultatele testelor pozitive, producătorul primește un certificat de la Biroul Național de Standarde pentru dreptul de a-și vinde produsul. Până în prezent, câteva zeci de produse realizate pe diverse baze de elemente au fost certificate.

S-a atins viteza mare de criptare. Este de 45 Mbit/s în cele mai bune produse. Unele produse hardware costă mai puțin de 100 USD.

Principalele domenii de aplicare ale algoritmului DES:

stocarea datelor pe computere (criptare fișiere, parole);

autentificarea mesajelor (avand un mesaj si un grup de control, este usor de verificat autenticitatea mesajului;

sistem electronic de plată (pentru tranzacții cu o clientelă largă și între bănci);

Schimbul electronic de informații comerciale (schimbul de date între cumpărători, vânzător și bancher este protejat de modificări și interceptări.

Mai târziu, a apărut o modificare a DES - Triple DES („triplu DES” - deoarece criptează informațiile de trei ori cu algoritmul DES „obișnuit”), fără principalul dezavantaj al versiunii anterioare - o cheie scurtă; este de două ori mai lung aici. Dar, după cum s-a dovedit, Triple DES a moștenit alte slăbiciuni ale predecesorului său: lipsa capacităților de calcul paralel pentru criptare și viteză redusă.

GOST 28147-89

În 1989, URSS a dezvoltat un cifru bloc pentru a fi utilizat ca standard guvernamental de criptare a datelor. Dezvoltarea a fost acceptată și înregistrată ca GOST 28147-89. Algoritmul a fost introdus în 1990. Și deși domeniul de aplicare al acestui algoritm de criptare este încă în curs de clarificare, începutul implementării lui, în special în sistemul bancar, a fost deja făcut. Algoritmul este oarecum lent, dar are o putere criptografică foarte mare.

În termeni generali, GOST 28147-89 este similar cu DES. Diagrama bloc a algoritmului GOST diferă de diagrama bloc a algoritmului DES numai în absența unei permutări inițiale și a numărului de cicluri de criptare (32 în GOST față de 16 în algoritmul DES).

Cheia algoritmului GOST este o matrice formată din vectori cu 32 de dimensiuni X 1, X 2,...X 8. Cheia ciclică a ciclului i-lea Ki este egală cu Xs, unde seria de valori i de la 1 la 32 corespunde următoarelor serii de valori s:

1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,8,7,6,5,4,3,2,1.

Cifrul GOST folosește o cheie de 256 de biți, iar volumul spațiului de cheie este de 2.256. Niciunul dintre sistemele informatice de uz general existente în prezent sau care se preconizează a fi implementate în viitorul apropiat nu poate fi folosit pentru a selecta o cheie în mai puțin de multe sute de ani. Standardul rus a fost proiectat cu o marjă mare în ceea ce privește durabilitatea, este cu multe ordine de mărime superior standardului american DES, cu dimensiunea sa reală a cheii de 56 de biți și un volum de spațiu pentru cheie de doar 2 56, ceea ce în mod clar nu este suficient; . Cheia algoritmului criptografic GOST are o lungime de 32 de octeți (256 de biți) și de patru ori mai mare decât cheia DES. Timpul necesar pentru a sorta toate cheile crește nu de patru ori, ci cu 256 32-8 = 256 24, ceea ce se traduce în cifre astronomice). În acest sens, DES poate fi de interes de cercetare sau științific mai degrabă decât de interes practic.

Concluzii privind utilizarea algoritmilor moderni de criptare

În prezent, cele trei standarde principale de criptare cel mai frecvent utilizate sunt:

  • - DES;
  • - GOST 28147-89 - o metodă domestică, caracterizată prin putere criptografică ridicată;
  • - RSA este un sistem în care criptarea și decriptarea sunt efectuate folosind chei diferite.

Dezavantajul RSA este viteza de criptare destul de scăzută, dar oferă o semnătură electronică personală bazată pe o cheie secretă unică pentru fiecare utilizator. Caracteristicile celor mai populare metode de criptare sunt prezentate în Tabelul 1.

Tabelul 1 Caracteristicile celor mai comune metode de criptare

Trimiteți-vă munca bună în baza de cunoștințe este simplu. Utilizați formularul de mai jos

Studenții, studenții absolvenți, tinerii oameni de știință care folosesc baza de cunoștințe în studiile și munca lor vă vor fi foarte recunoscători.

Lucru de curs

Pe tema:

Algoritmi de criptare a datelor

Introducere

1. Scopul și structura algoritmilor de criptare

1.1 Prezentare generală a metodelor criptografice

2. Algoritm de criptare simetrică

2.1 Structura algoritmilor de criptare

3. Aplicarea unui algoritm de criptare simetrică

Concluzie

Bibliografie

Introducere

Problema protejării informațiilor prin transformarea acesteia astfel încât să nu poată fi citită de un străin a îngrijorat mintea umană încă din cele mai vechi timpuri.

De ce problema utilizării metodelor criptografice în sistemele informaționale a devenit deosebit de relevantă în acest moment?

Până în prezent, fiecare formă de comerț cunoscută este potențial susceptibilă de fraudă, de la marcaje pe piață la facturi false și valută falsă. Schemele de comerț electronic nu fac excepție. Numai criptografia puternică poate preveni astfel de forme de atac.

Banii electronici fără criptografie nu vor supraviețui. Internetul se transformă treptat într-o Autostradă a Informației. Acest lucru se datorează faptului că numărul utilizatorilor de internet este în continuă creștere, ca o avalanșă. Pe lângă schimbul obișnuit de informații, relațiile de afaceri pătrund în Rețea, care implică întotdeauna plăți bănești. Există multe exemple de tranzacționare online cu diverse bunuri și servicii. Acesta este comerțul tradițional, susținut de capacitățile Rețelei, când cumpărătorul poate alege un produs din cataloage uriașe și chiar poate examina acest produs (un astfel de serviciu, bazat pe transferul de imagini tridimensionale, devine din ce în ce mai comun). Acesta este accesul la serviciile turistice, atunci când poți afla dinainte totul despre locul călătoriei tale și nivelul serviciului, te uiți la fotografii (natura, restaurante, piscine, mobilierul camerei...), rezervi o excursie și rezervați bilete de avion. Există destul de multe astfel de exemple și multe dintre ele implică plăți bănești.

În ceea ce privește plățile folosind un card de credit, dezavantajele sale sunt evidente: trebuie să obțineți un card (și în Rusia nu toată lumea știe ce este), există și temeri că toată lumea de pe Internet va cunoaște codurile cardului dvs. de credit și oamenii răi vor ștergeți-vă contul. De fapt, probabilitatea unei astfel de fraude nu este mai mare decât aceea, atunci când schimbați valută, vi se vor da bani falși. Și, în general, nu există mai multe probleme cu banii electronici decât cu cei obișnuiți. Au fost dezvoltate mai multe sisteme de plată pentru a efectua plăți pe internet. Care fie folosesc inteligent cardurile de credit existente, fie se bazează pe bani electronici puri, adică un sistem de fișiere securizat care stochează înregistrările stării contului tău. Există mai mult de o duzină de astfel de sisteme în lume și există și câteva în Rusia, dintre care cel mai comun este CyberPlat.

1. Plățile pe internet presupun transferul de informații speciale care nu pot fi dezvăluite unor persoane neautorizate.

2. La efectuarea plăților, este necesar să existe o garanție că toți actorii (cumpărător, vânzător, bancă sau sistem de plată) sunt exact cine spun că sunt.

Acești doi factori sunt suficienți pentru a înțelege că fără criptografie, plățile pe internet sunt imposibile, iar însăși ideea de bani electronici presupune o protecție fiabilă a informațiilor și o garanție că nimeni nu va putea înlocui participantul la tranzacție. și astfel furați bani electronici.

Apariția unor noi computere puternice, tehnologii de calcul de rețea și neutroni a făcut posibilă discreditarea sistemelor criptografice care până de curând erau considerate indestructibile.

Toate acestea îi împing pe cercetători să creeze noi criptosisteme și să le analizeze cu atenție pe cele existente.

Relevanța și importanța problemei asigurării securității informațiilor se datorează următorilor factori:

* Nivelurile și ratele actuale de dezvoltare a instrumentelor de securitate a informațiilor sunt semnificativ în urma nivelurilor și ratelor de dezvoltare a tehnologiilor informaționale.

* Rate mari de creștere a flotei de computere personale utilizate în diverse domenii ale activității umane.

1. Scopul și structura algoritmilor de criptare

Criptarea este cea mai utilizată metodă criptografică pentru menținerea confidențialității informațiilor; protejează datele de accesul neautorizat. În primul rând, să ne uităm la metodele de bază de protecție a informațiilor criptografice. Intr-un cuvant, criptografie- știința securității informațiilor folosind metode matematice. Există, de asemenea, o știință opusă criptografiei și dedicată metodelor de deschidere a informațiilor protejate - criptoanaliza. Combinația dintre criptografie și criptoanaliza este denumită în mod obișnuit criptologie. Metodele criptografice pot fi clasificate în diferite moduri, dar cel mai adesea sunt împărțite în funcție de numărul de chei utilizate în algoritmii criptografici corespunzători (vezi Fig. 1):

1. Fără cheie, care nu utilizează nicio cheie.

2. O singură cheie - folosesc un parametru cheie suplimentar - de obicei o cheie secretă.

3. Două chei, folosind două chei în calculele lor: secretă și publică.

Orez. 1. Criptoalgoritmi

1.1 Prezentare generală a metodelor criptografice

Criptarea este principala metodă de protecție; Să ne uităm la asta în detaliu mai jos.

Merită să spuneți câteva cuvinte despre alte metode criptografice:

1. O semnătură electronică este utilizată pentru a confirma integritatea și calitatea de autor a datelor. Integritatea datelor înseamnă că datele nu au fost modificate accidental sau intenționat în timpul stocării sau transmiterii.

Algoritmii de semnătură electronică folosesc două tipuri de chei:

o cheia secretă este utilizată pentru calcularea semnăturii electronice;

o Cheia publică este folosită pentru a o verifica.

Când se utilizează un algoritm de semnătură electronică puternic din punct de vedere criptografic și când se stochează și se utilizează în mod corespunzător cheia secretă (adică atunci când este imposibil ca altcineva decât proprietarul său să folosească cheia), nimeni altcineva nu poate calcula semnătura electronică corectă a oricărei chei. document electronic.

2. Autentificarea vă permite să verificați dacă utilizatorul (sau computerul de la distanță) este într-adevăr cine pretinde că este. Cea mai simplă schemă de autentificare este una cu parolă - o parolă este folosită ca element secret, care este prezentată de utilizator atunci când o verifică. O astfel de schemă s-a dovedit a fi slabă dacă nu sunt aplicate măsuri administrative și tehnice speciale pentru a o consolida. Și pe baza criptării sau hashingului (vezi mai jos), puteți construi scheme de autentificare a utilizatorilor foarte puternice.

3. Există diverse metode criptografice de sumă de verificare:

o cheie și hashing fără cheie;

o calculul prefixelor de imitație;

o utilizarea codurilor de autentificare a mesajelor.

De fapt, toate aceste metode, în diferite moduri, calculează din date de dimensiune arbitrară, cu sau fără o cheie secretă, o sumă de control de o dimensiune fixă ​​care se potrivește în mod unic cu datele originale.

O astfel de sumă de verificare criptografică este utilizată pe scară largă în diferite metode de securitate a informațiilor, de exemplu:

o să confirme integritatea oricăror date în cazurile în care utilizarea unei semnături electronice este imposibilă (de exemplu, din cauza consumului mare de resurse) sau este redundantă;

o în schemele de semnătură electronică în sine, de obicei hash-ul datelor este „semnat”, și nu datele întregi;

o în diverse scheme de autentificare a utilizatorilor.

4. Generatoarele de numere aleatoare și pseudoaleatoare vă permit să creați secvențe de numere aleatoare care sunt utilizate pe scară largă în criptografie, în special:

o Sunt necesare numere aleatorii pentru a genera chei secrete, care, în mod ideal, ar trebui să fie complet aleatorii;

o numere aleatorii sunt folosite în mulți algoritmi de semnătură electronică;

o Numerele aleatorii sunt folosite în multe scheme de autentificare.

Nu este întotdeauna posibil să obțineți numere absolut aleatorii - acest lucru necesită generatoare hardware de înaltă calitate. Cu toate acestea, pe baza algoritmilor de criptare simetrică, este posibil să se construiască generatoare de numere pseudoaleatoare de înaltă calitate.

2 Algoritm de criptare simetric

Criptare informația este transformarea informațiilor deschise în informații criptate (care este cel mai adesea numită text cifrat sau criptogramă), si invers. Prima parte a acestui proces se numește criptare, al doilea - decriptare.

Te poți gândi la criptare ca la următoarea formulă:

C = E k1(M), Unde:

M(mesaj) - informații deschise,

CU(text cifrat) - textul cifrat obținut ca urmare a criptării,

E(criptare) - o funcție de criptare care efectuează transformări criptografice peste M,

k1(cheie) - parametru de funcție E, numit cheie criptare.

În standardul GOST 28147-89 (standardul definește algoritmul intern de criptare simetrică) conceptul cheie este definită după cum urmează: „O stare secretă specifică a unor parametri ai unui algoritm de transformare criptografică, asigurând selecția unei transformări dintr-un set de toate transformările posibile pentru un algoritm dat”.

Cheia poate aparține unui anumit utilizator sau unui grup de utilizatori și poate fi unică pentru aceștia. Informațiile criptate folosind o anumită cheie pot fi decriptate numai folosind aceeași cheie sau o cheie aferentă acesteia printr-o anumită relație.

Decriptarea poate fi reprezentată într-un mod similar:

M" = D k2(C), Unde:

M"- mesaj primit ca urmare a decriptării,

D(decriptare) - functie de decriptare; la fel ca funcția de criptare, efectuează transformări criptografice pe textul cifrat,

k2- cheie de decriptare.

Pentru a obține textul clar corect ca urmare a decriptării (adică același care a fost criptat anterior: M" = M), trebuie îndeplinite simultan următoarele condiții:

1. Funcția de decriptare trebuie să se potrivească cu funcția de criptare.

2. Cheia de decriptare trebuie să se potrivească cu cheia de criptare.

Dacă lipsește cheia corectă k2 primiți mesajul original M" = M folosind funcția corectă D imposibil. Cuvântul „imposibil” în acest caz înseamnă de obicei imposibilitatea de a calcula în timp real cu resursele de calcul existente.

Algoritmii de criptare pot fi împărțiți în două categorii (vezi Fig. 1):

1. Algoritmi de criptare simetrică.

2. Algoritmi de criptare asimetrică.

În algoritmi criptare simetrică pentru decriptare, se folosește de obicei aceeași cheie ca și pentru criptare, sau o cheie legată de aceasta printr-o relație simplă. Acesta din urmă este mult mai puțin comun, mai ales în algoritmii moderni de criptare. O astfel de cheie (obișnuită pentru criptare și decriptare) este de obicei numită simplu cheie de criptare.

ÎN criptare asimetrică cheie de criptare k1 ușor de calculat din cheie k2în așa fel încât calculul invers să fie imposibil. De exemplu, relația cheie ar putea fi:

k1 = ak2 mod p,

unde a și p sunt parametrii algoritmului de criptare, care au o dimensiune suficient de mare.

Această relație cheie este utilizată și în algoritmii de semnătură electronică.

Caracteristica principală a algoritmului de criptare este puterea criptografică, care îi determină rezistența la dezvăluire prin metode de criptoanaliza. De obicei, această caracteristică este determinată de intervalul de timp necesar pentru spargerea cifrului.

Criptarea simetrică este mai puțin convenabilă datorită faptului că atunci când transmiteți informații criptate cuiva, este necesar ca destinatarul să primească o cheie în avans pentru a decripta informațiile. Criptarea asimetrică nu are această problemă (deoarece cheia publică poate fi transmisă liber prin rețea), totuși, are propriile probleme, în special problema falsificării cheii publice și a vitezei reduse de criptare. Cel mai adesea, criptarea asimetrică este utilizată împreună cu criptarea simetrică - pentru a transmite cheia de criptare simetrică, care criptează cea mai mare parte a datelor. Cu toate acestea, schemele de stocare și transfer ale cheilor reprezintă un subiect pentru un articol separat. Aici îmi voi permite să afirm că criptarea simetrică este folosită mult mai des decât criptarea asimetrică, așa că restul articolului va fi dedicat doar criptării simetrice.

Există două tipuri de criptare simetrică:

· Blocați criptarea- informațiile sunt împărțite în blocuri de lungime fixă ​​(de exemplu, 64 sau 128 de biți), după care aceste blocuri sunt criptate unul câte unul. Mai mult, în diferiți algoritmi de criptare sau chiar în diferite moduri de operare ale aceluiași algoritm, blocurile pot fi criptate independent unul de celălalt sau „cu înlănțuire” - atunci când rezultatul criptării blocului curent de date depinde de valoarea blocului anterior sau pe rezultatul criptării blocului anterior.

· Criptare în flux- necesar, în primul rând, în cazurile în care informațiile nu pot fi împărțite în blocuri - să zicem, un anumit flux de date, fiecare caracter al cărui caracter trebuie să fie criptat și trimis undeva, fără a aștepta datele rămase suficiente pentru a forma blocul. Prin urmare, algoritmii de criptare a fluxului criptează datele bit cu bit sau caracter cu caracter. Deși merită spus că unele clasificări nu fac distincție între criptarea bloc și stream, având în vedere că criptarea stream este criptarea blocurilor de lungime unitară.

Să ne uităm la cum arată algoritmii de criptare simetrică bloc din interior.

2.1 Structura algoritmilor de criptare

Marea majoritate a algoritmilor moderni de criptare funcționează într-un mod foarte asemănător: o anumită transformare este efectuată asupra textului cifrat folosind cheia de criptare, care se repetă de un anumit număr de ori (runde). În același timp, în funcție de tipul transformării repetate, algoritmii de criptare sunt de obicei împărțiți în mai multe categorii. Sunt și aici diverse clasificări, voi da una dintre ele. Deci, în funcție de structura lor, algoritmii de criptare sunt clasificați după cum urmează:

1. Algoritmi bazati pe reteaua Feistel.

Rețeaua Feistel presupune împărțirea blocului de date procesat în mai multe subblocuri (cel mai adesea în două), dintre care unul este procesat de o anumită funcție f()și se suprapune cu unul sau mai multe alte subblocuri. În fig. Figura 2 prezintă cea mai comună structură a algoritmilor bazați pe rețeaua Feistel.

Orez. 2. Structura algoritmilor bazati pe reteaua Feistel.

Argument suplimentar al funcției f(), indicat în Fig. 2 cum Ki, numit cheie rotundă. Cheia rotundă este rezultatul procesării cheii de criptare prin procedura de extindere a cheii, a cărei sarcină este obținerea numărului necesar de chei Ki dintr-o cheie de criptare inițială de dimensiune relativ mică (în prezent, o dimensiune de 128 de biți este considerată suficientă pentru o cheie de criptare simetrică). În cele mai simple cazuri, procedura de extindere a cheii împarte pur și simplu cheia în mai multe fragmente, care sunt folosite alternativ în runde de criptare; Mult mai des, procedura de extindere a cheilor este destul de complexă, iar cheile Ki depind de valorile majorității biților din cheia de criptare originală.

Suprapunerea unui subbloc procesat pe unul neprocesat se face cel mai adesea folosind operația XOR logică (așa cum se arată în Fig. 2). Destul de des, în loc de XOR, aici este folosită adăugarea modulo 2 n, Unde n- dimensiunea subblocului în biți. După suprapunere, subblocurile sunt schimbate, adică în următoarea rundă a algoritmului, este procesat un alt subbloc de date.

Această structură de algoritmi de criptare și-a primit numele de la Horst Feistel, unul dintre dezvoltatorii algoritmului de criptare Lucifer și algoritmului DES (Data Encryption Standard), un fost standard de criptare din SUA (dar încă utilizat pe scară largă), dezvoltat pe baza acestuia. Ambii acești algoritmi au o structură similară cu cea prezentată în Fig. 2. Printre alți algoritmi bazați pe rețeaua Feistel, putem cita ca exemplu standardul intern de criptare GOST 28147-89, precum și alți algoritmi foarte cunoscuți: RC5, Blowfish, TEA, CAST-128 etc.

Majoritatea algoritmilor moderni de criptare se bazează pe rețeaua Feistel - datorită numeroaselor avantaje ale unei astfel de structuri, printre care sunt de remarcat următoarele:

o Algoritmii bazati pe reteaua Feistel pot fi proiectati in asa fel incat acelasi cod algoritm sa poata fi folosit pentru criptare si decriptare - diferenta dintre aceste operatii nu poate fi decat in ordinea aplicarii cheilor Ki; Această proprietate a algoritmului este cea mai utilă atunci când este implementată în hardware sau pe platforme cu resurse limitate; Un exemplu de astfel de algoritm este GOST 28147-89.

o Algoritmii bazați pe rețeaua Feistel sunt cei mai studiati - unor astfel de algoritmi au fost dedicate o cantitate imensă de cercetări criptoanalitice, ceea ce reprezintă un avantaj incontestabil atât în ​​dezvoltarea algoritmului, cât și în analiza acestuia.

Există, de asemenea, o structură mai complexă a rețelei Feistel, un exemplu al căruia este prezentat în Fig. 3.

Orez. 3. Structura rețelei Feistel.

Această structură se numește generalizat sau extins Rețeaua Feistel și este folosită mult mai puțin frecvent decât rețeaua tradițională Feistel. Un exemplu de astfel de rețea Feistel este algoritmul RC6.

2. Bazat pe algoritmi rețele de permutare (Rețeaua SP- Rețea de substituție-permutare).

Spre deosebire de rețeaua Feistel, rețelele SP procesează întregul bloc criptat într-o singură rundă. Procesarea datelor se reduce în principal la înlocuiri (când, de exemplu, un fragment dintr-o valoare de intrare este înlocuit cu un alt fragment în conformitate cu un tabel de înlocuire, care poate depinde de valoarea cheii Ki) și permutări în funcție de cheie Ki(o diagramă simplificată este prezentată în Fig. 4).

Orez. 4. Rețea de substituție-permutare.

Cu toate acestea, astfel de operațiuni sunt tipice și pentru alte tipuri de algoritmi de criptare, prin urmare, în opinia mea, denumirea de „rețea de substituție-permutare” este destul de arbitrară.

Rețelele SP sunt mult mai puțin comune decât rețelele Feistel; Exemple de rețele SP includ algoritmii Serpent sau SAFER+.

3. Algoritmi cu structura "pătrat"(Pătrat).

Structura „pătrată” se caracterizează prin reprezentarea blocului de date criptat sub forma unei matrice bidimensionale de octeți. Transformările criptografice pot fi efectuate pe octeți individuali ai unei matrice, precum și pe rândurile sau coloanele acestuia.

Structura algoritmului își ia numele de la algoritmul Square, care a fost dezvoltat în 1996 de Vincent Rijmen și Joan Daemen, viitorii autori ai algoritmului Rijndael, care a devenit noul standard de criptare AES din SUA după ce a câștigat o competiție deschisă. Algoritmul Rijndael are, de asemenea, o structură asemănătoare pătratului; De asemenea, exemplele includ algoritmul Shark (o dezvoltare anterioară a lui Ridgeman și Damen) și Crypton. Dezavantajul algoritmilor cu o structură „pătrată” este lipsa lor de cunoștințe, ceea ce nu a împiedicat algoritmul Rijndael să devină noul standard american.

Orez. 5. Algoritmul Rijndael.

În fig. Figura 5 prezintă un exemplu de operație pe un bloc de date realizată de algoritmul Rijndael.

4. Algoritmi cu o structură non-standard, adică acei algoritmi care nu pot fi clasificați ca unul dintre tipurile enumerate. Este clar că ingeniozitatea poate fi nelimitată, așa că este dificil să clasificăm toate opțiunile posibile pentru algoritmii de criptare. Un exemplu de algoritm cu structură non-standard este algoritmul FROG, care este unic în structura sa, în fiecare rundă din care doi octeți de date criptate sunt modificați conform unor reguli destul de complexe (vezi Fig. 6).

Orez. 6. Modificarea a doi octeți de date criptate.

Granițele stricte dintre structurile descrise mai sus nu sunt definite, așa că destul de des există algoritmi clasificați de diverși experți ca diferite tipuri de structuri. De exemplu, algoritmul CAST-256 este denumit de autorul său o rețea SP și mulți experți o numesc o rețea Feistel extinsă. Un alt exemplu este algoritmul HPC, numit de autorul său rețeaua Feistel, dar considerat de experți un algoritm cu o structură non-standard.

3. Aplicarea SIMalgoritm de criptare metrică

algoritm de criptare criptare simetrică

Metodele de criptare simetrică sunt convenabile deoarece pentru a asigura un nivel ridicat de securitate a transmisiei de date, nu este necesară crearea de chei lungi. Acest lucru vă permite să criptați și să decriptați rapid cantități mari de informații. În același timp, atât expeditorul, cât și destinatarul informațiilor dețin aceeași cheie, ceea ce face imposibilă autentificarea expeditorului. În plus, pentru a începe să lucreze cu utilizarea unui algoritm simetric, părțile trebuie să schimbe în siguranță o cheie secretă, ceea ce este ușor de făcut în persoană, dar foarte dificil dacă este necesar să transferați cheia prin orice mijloc de comunicare.

Schema de operare care utilizează un algoritm de criptare simetrică constă din următoarele etape:

părțile instalează pe computerele lor software care asigură criptarea și decriptarea datelor și generarea primară de chei secrete;

o cheie secretă este generată și distribuită între participanții la schimbul de informații. Uneori este generată o listă de chei unice. În acest caz, se folosește o cheie unică pentru fiecare sesiune de transfer de informații. În acest caz, la începutul fiecărei sesiuni, expeditorul anunță destinatarul despre numărul de serie al cheii pe care a folosit-o în acest mesaj;

expeditorul criptează informațiile folosind software-ul instalat care implementează un algoritm de criptare simetrică;

informația criptată este transmisă destinatarului prin canale de comunicare;

destinatarul decriptează informațiile folosind aceeași cheie ca și expeditorul.

Mai jos este o prezentare generală a unor algoritmi de criptare simetrică:

DES (Standard de criptare a datelor). Dezvoltat de IBM și utilizat pe scară largă din 1977. Momentan oarecum depășit, deoarece lungimea cheii utilizată în acesta nu este suficientă pentru a asigura rezistența la atac prin căutarea exhaustivă a tuturor valorilor cheie posibile. Descoperirea acestui algoritm a fost posibilă datorită dezvoltării rapide a tehnologiei informatice, care a făcut un salt uriaș din 1977;

Triplu DES. Aceasta este o versiune avansată a DES care utilizează algoritmul DES pentru criptare de trei ori cu chei diferite. Este semnificativ mai rezistent la hacking decât DES;

Rijndael. Algoritmul a fost dezvoltat în Belgia. Funcționează cu chei cu lungimea de 128, 192 și 256 de biți. Momentan, experții în criptografie nu au nicio plângere în acest sens;

Skipjack. Algoritmul a fost creat și utilizat de către Agenția de Securitate Națională a SUA. Lungimea cheii este de 80 de biți. Criptarea și decriptarea informațiilor se realizează ciclic (32 de cicluri);

IDEE. Algoritmul este brevetat în SUA și în mai multe țări europene. Deținătorul brevetului este Ascom-Tech. Algoritmul folosește procesarea ciclică a informațiilor (8 cicluri) prin aplicarea unui număr de operații matematice;

RC4. Algoritmul este special conceput pentru criptarea rapidă a unor volume mari de informații. Utilizează o cheie de lungime variabilă (în funcție de nivelul necesar de securitate a informațiilor) și funcționează mult mai rapid decât alți algoritmi. RC4 se referă la așa-numitele cifruri flux.

În conformitate cu legislația SUA (International Traffic in Arms Peguiation Agreement), dispozitivele criptografice, inclusiv software-ul, sunt clasificate ca sisteme de arme.

Prin urmare, atunci când exportați produse software care utilizează criptografie, este necesară permisiunea Departamentului de Stat. De fapt, exportul de produse criptografice este controlat de NSA (National Security Agency). Guvernul SUA este foarte reticent în a emite astfel de licențe, deoarece ar putea dăuna securității naționale a SUA. Cu toate acestea, Hewlett-Packard a primit recent permisiunea de a-și exporta suita criptografică Ver Secure în Marea Britanie, Germania, Franța, Danemarca și Australia. Acum, HP poate opera sisteme în aceste țări care utilizează standardul cripto Triple DES pe 128 de biți, care este considerat absolut fiabil.

CONCLUZIE

Alegerea pentru PI specifică ar trebui să se bazeze pe o analiză aprofundată a punctelor forte și a punctelor slabe ale anumitor metode de protecție. O alegere justificată a unui anumit sistem de protecție, în general, ar trebui să se bazeze pe anumite 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 unei chei sau puterea unui set de chei. În esență, aceasta este aceeași cu puterea criptografică. Pentru a o estima numeric, puteți folosi și complexitatea rezolvării cifrului încercând toate cheile.

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 acesteia;

* perfecționarea 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ă.

Desigur, este de dorit să se utilizeze niște indicatori integrali care să țină cont de acești factori.

Pentru a ține cont de costul, intensitatea forței de muncă și volumul informațiilor cheie, puteți utiliza indicatori specifici - raportul dintre parametrii specificați și puterea setului de chei de cifrare.

Este adesea mai eficient să folosiți judecata și simularea experților atunci când selectați și evaluați un sistem criptografic.

În orice caz, setul selectat de metode criptografice trebuie să combine atât comoditatea, flexibilitatea și eficiența utilizării, cât și protecția fiabilă a informațiilor care circulă în sistemul informațional împotriva atacatorilor.

Funcțiile eliptice sunt, de asemenea, o metodă de criptare simetrică.

Curbele eliptice sunt obiecte matematice pe care matematicienii le-au studiat intens încă din secolul al XVII-lea. N. Koblitz și V. Miller au propus în mod independent sisteme de securitate criptografică cu cheie publică care utilizează proprietățile unui grup aditiv de puncte pe o curbă eliptică pentru criptare. Aceste lucrări au stat la baza criptografiei bazate pe algoritmul curbei eliptice.

Mulți cercetători și dezvoltatori au testat algoritmul ECC pentru putere. Astăzi, ECC oferă o cheie publică mai scurtă și mai rapidă, oferind o tehnologie practică și sigură aplicabilă în diverse domenii. Utilizarea criptografiei bazată pe algoritmul ECC nu necesită suport hardware suplimentar sub forma unui coprocesor criptografic. Toate acestea ne permit să folosim acum sisteme criptografice cu cheie publică pentru a crea carduri inteligente ieftine.

Bibliografie

1) Chmora A.L. Criptografia aplicată modernă. Ed. a II-a, șters. - M.: Helios ARV, 2004. - 256 p.: ill.

2) A.G. Rostovtsev, N.V. Mikhailova Metode de criptoanaliza a cifrurilor clasice.

3) A. Salomaa Criptografia cu chei publice.

4) Gerasimenko V.A. Protecția informațiilor în sistemele automate de prelucrare a datelor carte. 1.-M.: Energoatomizdat. -2004.-400s.

5) Gregory S. Smith. Programe de criptare a datelor // PC World -2007. -Numarul 3.

6) Rostovtsev A. G., Mikhailova N. V. Metode de criptoanaliza a cifrurilor clasice. -M.: Nauka, 2005. -208 p.

Postat pe http://www.allbest.ru/

Documente similare

    Istoria apariției algoritmilor de criptare simetrică. Rolul unei chei simetrice în asigurarea gradului de secretizare a unui mesaj. Difuzia și confuzia ca metode de conversie a biților de date. Algoritmii de criptare DES și IDEA, principalele lor avantaje și dezavantaje.

    munca de laborator, adaugat 18.03.2013

    Caracteristici ale criptării datelor, scopul criptării. Conceptul de criptografie ca știință, principalele sarcini. Analiza metodei gamma, metoda substituției și permutării. Metode de criptare simetrică cu chei private: avantaje și dezavantaje.

    lucrare de curs, adăugată 05.09.2012

    Principiul implementării software a metodelor criptografice clasice. Metoda de criptare folosind tabelul Vigenère. Crearea unui editor de text „Notepad” care conține metode de criptare. Algoritm verbal și program pentru metode de criptare.

    lucrare de curs, adăugată 20.01.2010

    Istoria criptografiei. Comparația algoritmilor de criptare, aplicarea în sistemul de operare. Analiza produselor din domeniul criptării personalizate. Activați sau dezactivați criptarea curbei eliptice. Folosind o funcție hash. Semnatura electronica.

    lucrare curs, adaugat 18.09.2016

    Apariția cifrurilor, istoria evoluției criptografiei. O metodă de aplicare a cunoștințelor despre caracteristicile textului natural pentru nevoile de criptare. Criterii de determinare a naturaleței. O metodă pentru construirea de algoritmi de criptare simetrică. Criptosistem cu cheie publică.

    rezumat, adăugat 31.05.2013

    Criptografia și criptarea. Criptosisteme simetrice și asimetrice. Metode moderne de criptare de bază. Algoritmi de criptare: înlocuire (înlocuire), permutare, gamma. Metode de criptare combinate. Criptare software.

    rezumat, adăugat 24.05.2005

    Automatizarea procesului de criptare pe baza tehnologiilor informaționale moderne. Măsuri de securitate criptografică. Managementul cheilor criptografice. Comparația algoritmilor de criptare simetrici și asimetrici. Programe de criptare a informațiilor.

    lucrare curs, adaugat 12.02.2014

    Istoricul algoritmilor de criptare simetrică (criptare cu cheie privată). Standarde pentru algoritmi criptografici. Senzori cu numere aleatorii, generare cheie. Domeniu de interes: criptoanaliza. Sisteme de semnătură electronică. Transformarea inversă a informațiilor.

    rezumat, adaugat 06.12.2013

    Metode de bază de protecție a informațiilor criptografice. Sistem de criptare Caesar cu cheie numerică. Algoritmi de permutare dublă și pătrate magice. Schema de criptare El Gamal. Metoda permutării unice prin cheie. Criptosistem de criptare a datelor RSA.

    lucru de laborator, adaugat 20.02.2014

    O scurtă istorie a dezvoltării metodelor criptografice de securitate a informațiilor. Esența criptării și criptografiei cu chei simetrice. Descrierea metodelor de criptare analitică și aditivă. Metode de criptare cu cheie publică și certificate digitale.

Algoritmii de criptare sunt folosiți pentru a modifica informațiile sensibile, astfel încât să nu poată fi citite de persoane neautorizate.

Primele cifruri au fost folosite în timpul Romei Antice, Egiptului Antic și Greciei Antice. Unul dintre celebrele cifruri este Cifrul Caesar. Acest algoritm a funcționat după cum urmează: fiecare literă are propriul număr de serie în alfabet, care a mutat valorile de $3$ spre stânga. Astăzi, un astfel de algoritm nu oferă protecția pe care a oferit-o la momentul utilizării sale.

Astăzi, au fost dezvoltați un număr mare de algoritmi de criptare, inclusiv standard, care asigură o protecție fiabilă a informațiilor confidențiale.

Algoritmii de criptare sunt împărțiți în simetric(acestea includ AES, CAST, GOST, DES, Blowfish) și asimetric(RSA, El-Gamal).

Algoritmi simetrici

Nota 1

Algoritmii de criptare simetrică folosesc aceeași cheie pentru a cripta și decripta informațiile.

Când transmiteți informații criptate, trebuie să transmiteți și cheia de decriptare. Punctul slab al acestei metode este canalul de transmisie a datelor. Dacă este neprotejat sau poate fi atins, cheia de decriptare poate deveni disponibilă unui atacator.

Algoritmi asimetrici

Nota 2

Algoritmii asimetrici folosesc două chei — una pentru criptare și una pentru decriptare.

Fiecare utilizator trebuie să aibă o pereche de chei - o cheie publică și o cheie privată.

Cheie de criptare

Definiția 1

Cheie de criptare este o secvență aleatorie sau special creată de biți, care este un parametru variabil al algoritmului de criptare.

Când criptați aceleași date cu același algoritm, dar folosind chei diferite, rezultatele sunt diferite.

Programele de criptare (WinRAR, Rohos etc.) creează o cheie dintr-o parolă specificată de utilizator.

Cheia de criptare poate avea lungimi diferite, măsurate în biți. Pe măsură ce lungimea cheii crește, puterea teoretică a cifrului crește. În practică, acest lucru nu este întotdeauna cazul.

Puterea algoritmului de criptare

Nota 3

Algoritmul de criptare este considerat puternic până când se dovedește contrariul.

Algoritmi de criptare

Algoritmul AES (Rijndael) este în prezent standardul federal de criptare din SUA. A fost aprobat ca standard de Ministerul Comerțului în 2001. Standardul este considerat a fi o versiune cifră cu o dimensiune a blocului de 128 USD biți. Dezvoltat în 1997 USD în Belgia. Dimensiunile posibile ale cheilor sunt chei de 128 USD, 192 USD și 256 USD.

Algoritmul GOST 28147-8 este un standard al Federației Ruse pentru criptarea datelor și protecția datelor. A devenit un standard oficial în 1989 USD. Dezvoltat în anii 1970. în Direcția principală a KGB-ului URSS. Utilizează o dimensiune a cheii de 256 USD biți.

Algoritmul Blowfish folosește o schemă complexă de generare a cheilor, ceea ce face mult mai dificilă atacarea algoritmului prin forță brută. Nu este potrivit pentru utilizarea în sistemele în care cheia este schimbată frecvent și la criptarea unor volume mici de date. Algoritmul este cel mai bine utilizat pentru sistemele în care este nevoie să cripteze cantități mari de date. Dezvoltat în 1993 USD, chei utilizate de la 32 USD la 448 USD biți.

algoritmul DES a fost standardul federal de criptare din SUA din 1977 până în 2001. Standardul federal a fost adoptat în 1977 USD După introducerea unui nou standard în 2001, și-a pierdut statutul de standard. Dezvoltat în $1972–1975. laboratorul de cercetare al IBM Corporation. Utilizează o cheie de biți de $56$.

Algoritmul CAST este într-un fel un analog al algoritmului DES. Utilizează chei de biți de $128$ și $256$.