Metode moderne de bază de criptare. Algoritmi de criptare asimetrică Ce tip de procesare poate fi atribuit criptării

Aproape toate metodele criptografice utilizate implică împărțirea unui mesaj într-un număr mare de părți (sau caractere) de o dimensiune fixă, fiecare dintre acestea fiind criptată separat, dacă nu independent. Acest lucru simplifică foarte mult sarcina de criptare, deoarece mesajele au de obicei lungimi diferite.

Există trei metode principale de criptare: streaming, blocare și utilizarea feedback-ului.

Se disting următoarele patru trăsături caracteristice ale metodelor criptografice.

    Operații pe biți sau blocuri individuale.

    Dependența sau nedependența funcției de criptare de rezultatele criptării părților anterioare ale mesajului.

3. Dependența sau independența criptării caracterelor individuale ale mesajului de poziția lor în text. De exemplu, în criptarea în flux, diferitele caractere ale unui mesaj sunt criptate în funcție de poziția lor în mesaj. Această proprietate se numește dependență pozițională sau independență de cifrare.

4. Simetria sau asimetria funcției de criptare. Această proprietate importantă determină diferența esențială dintre criptosistemele obișnuite simetrice (cu o singură cheie) și asimetrice cu două chei (criptosistemele cu cheie publică). Principala diferență dintre cele două este că într-un criptosistem asimetric, cunoașterea cheii de criptare (sau decriptare) nu este suficientă pentru a dezvălui cheia de decriptare (sau de criptare) corespunzătoare.

Principalele caracteristici ale criptosistemelor

criptosisteme

Operațiuni cu

biți sau blocuri

Dependență / independență față de semne

mesaje

Dependență/independență pozițională

Simetrie/

asimetrie

in linie

criptare

nu depinde

simetric

bloc

criptare

nu depinde

nu depinde

simetric sau asimetric

Din revers

comunicare de la

text cifrat

biți sau blocuri

nu depinde

simetric

Într-un criptosistem care are proprietatea de dependență a funcției de criptare de caracterele mesajului, poate avea loc propagarea erorilor. Dacă, de exemplu, un bit de text cifrat este deranjat în timpul transmisiei, atunci textul simplu poate conține mai mulți biți denaturați după decriptare. Erorile de inserare și renunțare pot duce, de asemenea, la propagarea erorilor catastrofale în timpul decriptării.

Cifruri în flux. Criptarea fluxului constă în faptul că biții textului simplu sunt adăugați modulo 2 cu biții unei secvențe pseudoaleatoare.

La beneficii Cifrurile fluxului includ propagarea fără erori, implementare simplă și viteză mare de criptare.

dezavantaj este necesitatea de a trimite informații de sincronizare înainte de antetul mesajului, care trebuie să fie primit înainte ca orice mesaj să fie decriptat. Acest lucru se datorează faptului că, dacă două mesaje diferite sunt criptate cu aceeași cheie, atunci aceeași secvență pseudo-aleatorie trebuie utilizată pentru a decripta aceste mesaje. Această situație poate crea o amenințare periculoasă pentru puterea criptografică a sistemului și, prin urmare, este adesea folosită o cheie de mesaj suplimentară, aleasă aleatoriu, care este transmisă la începutul mesajului și este utilizată pentru a modifica cheia de criptare. Ca rezultat, mesajele diferite vor fi criptate folosind secvențe diferite.

Cifrurile de flux sunt utilizate pe scară largă în sistemele militare și în alte sisteme apropiate acestora în scopul lor, pentru a cripta datele și semnalele vocale digitizate. Până de curând, astfel de aplicații erau predominante pentru această metodă de criptare. Acest lucru se datorează, în special, simplității relative de construire și implementare a generatoarelor de secvențe de criptare bune. Dar factorul principal, desigur, este lipsa propagării erorilor în cifrul fluxului.

Deoarece canalele de calitate relativ scăzută sunt folosite pentru transmiterea de date și mesaje vocale în rețelele de comunicații tactice, orice sistem criptografic care crește rata de eroare deja ridicată nu este aplicabil. În astfel de cazuri, este obligatoriu să folosiți un criptosistem care să nu propage erori.

Cu toate acestea, multiplicarea erorilor poate fi un fenomen pozitiv. Să presupunem, de exemplu, că datele criptate trebuie transmise pe un canal cu o probabilitate de eroare foarte scăzută (de exemplu, 10 5) și este foarte important ca datele să fie primite cu absolut exactitate. Aceasta este o situație tipică pentru rețelele de calculatoare, în care o eroare într-un singur bit poate duce la consecințe catastrofale și, prin urmare, canalul de comunicare trebuie să fie foarte fiabil. Într-o astfel de situație, o greșeală este la fel de periculoasă ca 100 sau 1000 de greșeli. Dar 100 sau 1000 de bug-uri pot fi găsite mai ușor decât un singur bug. Prin urmare, în acest caz, propagarea erorilor nu mai reprezintă un dezavantaj al cifrului.

Metoda standard pentru generarea de secvențe pentru criptarea fluxului este metoda utilizată în standardul de criptare a datelor DES în modul feedback de la ieșire.

Cifre bloc. Pentru criptarea blocurilor, textul simplu este mai întâi împărțit în blocuri de lungime egală, apoi se aplică o funcție de criptare dependentă de cheie pentru a transforma blocul de text simplu de lungime t bit într-un bloc de text cifrat de aceeași lungime. O proprietate importantă a cifrurilor bloc este că fiecare bit al unui bloc de text cifrat este o funcție a tuturor (sau aproape toți) biții blocului de text simplu corespunzător și nici două blocuri de text simplu nu pot fi reprezentate de același bloc de text cifrat. Algoritmul de cifrare bloc poate fi utilizat în diferite moduri. Cele patru moduri de criptare din standardul DES sunt de fapt aplicabile oricărui cifru bloc.

Aceste moduri sunt denumite după cum urmează:

    modul de criptare directă sau criptare folosind o carte electronică de coduri ECB (Cartea de coduri electronice),

    criptare cu înlănțuirea blocurilor de text cifrat CBC (Cipher block chaining),

    criptare cu feedback din ciphertext CFB (Cipher feedback),

    criptare cu feedback de la ieșire OFB (Output feedback).

Avantajul principal Cifrarea directă a blocurilor (cartea de coduri electronice) este că într-un sistem de cifru bloc bine conceput, micile modificări ale textului cifrat vor cauza modificări mari și imprevizibile ale textului simplu corespunzător și invers.

Cu toate acestea, utilizarea unui cifru bloc în acest mod este asociată cu lipsuri grave. Prima dintre acestea este că, datorită naturii fixe a criptării, chiar și cu o lungime de bloc relativ mare, de exemplu 50-100 de biți, criptoanaliza „dicționar” este posibilă într-o formă limitată.

Este clar că un bloc de această dimensiune poate fi repetat într-un mesaj datorită redundanței mari într-un text tipic în limbaj natural. Acest lucru poate duce la blocuri de text clar identice de lungime t biții din mesaj vor fi reprezentați prin blocuri identice de text cifrat, ceea ce oferă criptoanalistului câteva informații despre conținutul mesajului.

Un alt dezavantaj potențial al acestui cifru este legat de propagarea erorilor (aceasta este una dintre problemele pentru toate tipurile de cifruri, cu excepția cifrurilor flux). Rezultatul modificării unui singur bit în blocul de text cifrat primit va fi decriptarea incorectă a întregului bloc. Aceasta, la rândul său, va avea ca rezultat 1 to t fragmente deformate în textul original recuperat.

Datorită deficiențelor observate, cifrurile bloc sunt rareori utilizate în acest mod pentru a cripta mesajele lungi. Cu toate acestea, în instituțiile financiare, unde mesajele constau adesea din unul sau două blocuri, cifrurile bloc (în special algoritmul DES) sunt utilizate pe scară largă în această variantă simplă. Deoarece o astfel de aplicație implică posibilitatea de a schimba frecvent cheia de criptare, probabilitatea de a cripta două blocuri identice de text simplu pe aceeași cheie este foarte mică. Cifrurile bloc sunt utilizate cel mai frecvent în sistemele de criptare cu feedback al textului cifrat.

Educația este de asemenea posibilă sisteme mixte (hibride) de criptare în flux și bloc folosind cele mai bune proprietăți ale fiecăruia dintre aceste cifruri. În astfel de sisteme, criptarea fluxului este combinată cu permutări pseudo-aleatoare. Textul simplu este mai întâi criptat ca în criptarea fluxului convențional, apoi textul cifrat rezultat este împărțit în blocuri de dimensiune fixă. În fiecare bloc, se realizează o permutare pseudo-aleatoare sub controlul cheii (se preferă diferite permutări pentru blocuri individuale).

Ordinea acestor două operații poate fi inversată fără a afecta proprietățile de bază ale sistemului. Rezultatul este un cifru care nu propaga erori, dar are o proprietate suplimentară pe care nu o are un cifr de flux. Această proprietate este că interceptorul nu știe care bit din textul clar corespunde unui bit din textul cifrat. Acest lucru face ca mesajul criptat să fie mai complex și mai greu de spart. Dar trebuie remarcat că acesta nu mai este un adevărat cifru bloc, în care fiecare bit al textului cifrat este o funcție a unui singur, și nu a tuturor, biților din textul simplu.

Un criptosistem cu cheie publică ar trebui să fie un sistem de criptare bloc care funcționează cu blocuri de lungimi destul de mari. Acest lucru se datorează faptului că un criptoanalist care cunoaște cheia publică de criptare ar putea precalcula și compila un tabel de corespondență între blocurile de text simplu și text cifrat. Dacă lungimea blocului este mică (de exemplu, 30 de biți), atunci numărul de blocuri posibile nu va fi prea mare (pentru o lungime de 30 de biți, aceasta este 2 30 -10 9) și poate fi compilat un tabel complet, făcând este posibil să decriptați instantaneu orice mesaj criptat folosind o cheie publică cunoscută.

Au fost propuse multe criptosisteme diferite cu cheie publică, dintre care cel mai faimos este sistemul RSA (Rivest, Shamir, Adleman). Puterea criptografică a acestui sistem se bazează pe dificultatea de a descompune numerele mari în factori primi și de a alege două numere prime mari pentru cheile de criptare și decriptare.

Se știe că algoritmul RSA nu poate fi utilizat pentru criptarea de mare viteză. Cea mai optimizată implementare software a acestui algoritm se dovedește a fi de viteză redusă, iar mai multe implementări hardware oferă viteze de criptare de la 10 la 100 Kbps (folosind numere prime de ordinul 2 7 , care pare a fi lungimea minimă pentru a asigura puterea criptografică). Aceasta înseamnă că utilizarea sistemului RSA pentru criptarea blocurilor este limitată, deși utilizarea lui pentru distribuirea cheilor, autentificare și generare de semnătură digitală prezintă posibilități interesante. Unii algoritmi criptografici cu cheie publică cunoscuți în prezent permit viteză de criptare mai mare decât algoritmul RSA. Cu toate acestea, ele nu sunt încă atât de populare.

Sisteme de criptare cu feedback. Sistemele de criptare a feedback-ului vin în diferite versiuni practice. Ca și în sistemele de criptare bloc, mesajele sunt împărțite într-un număr de blocuri, constând din t biți și pentru a converti aceste blocuri în blocuri de text cifrat, care constau și în t bit, sunt folosite funcții speciale. Totuși, în timp ce într-un cifru bloc o astfel de funcție depinde doar de cheie, în cifrurile de feedback depinde atât de cheie, cât și de unul sau mai multe blocuri de text cifrat precedente. Această definiție generală a criptării în buclă închisă include, ca cazuri speciale, un număr mare de tipuri diferite de sisteme în practică.

Utilizarea criptosistemelor de cifrare bloc cu feedback dă o serie de avantaje importante. În primul rând, este capacitatea de a le folosi pentru a detecta manipularea mesajelor de către interceptori activi. În acest caz, se folosește faptul de propagare a erorilor, precum și capacitatea unor astfel de sisteme de a genera cu ușurință un cod de autentificare a mesajelor (MAC). Al doilea avantaj este că cifrurile STAK utilizate în loc de cifrurile bloc nu necesită sincronizare inițială. Aceasta înseamnă că, dacă începutul mesajului este omis atunci când este primit, atunci restul poate fi decriptat cu succes (după ce ați primit cu succes următorul unul după altul t bit de text cifrat. De asemenea, rețineți că sistemele de criptare în buclă închisă sunt folosite nu numai pentru a cripta mesajele, ci și pentru a le autentifica.

Sistemele de criptare bloc cu feedback se caracterizează prin anumite neajunsuri. Principala este propagarea erorilor, adică. eroarea de un bit în timpul transmisiei poate cauza de la 1 la sm + i erori în textul decodat. Deci cerința de a crește t pentru a crește puterea criptografică, contrazice cerințele de sistem legate de propagarea erorilor. Un alt dezavantaj este că proiectarea și implementarea sistemelor de cifrare în buclă închisă este adesea mai dificilă decât pentru sistemele de cifrare în flux. Deși sistemele de criptare în buclă închisă de diferite tipuri au fost utilizate pe scară largă de mulți ani, există foarte puțini algoritmi dedicati acestor sisteme. În cele mai multe cazuri, algoritmii publicati sunt derivați din cifruri bloc care au fost convertite pentru aplicații speciale.

Prima concluzie care se poate trage din analiza efectuată este că majoritatea criptosistemelor practice utilizează algoritmi fie de criptare de flux, fie de criptare de feedback. Majoritatea criptosistemelor de criptare în flux folosesc algoritmi pentru sectorul comercial (inclusiv algoritmi proprietatea firmelor sau utilizatorilor individuali) sau algoritmi guvernamentali secreti. Această situație este probabil să continue și în următorii ani.

De asemenea, este posibil ca majoritatea sistemelor de criptare în buclă închisă să se bazeze pe utilizarea cifrurilor bloc într-o variantă specială, în special, cel mai faimos cifru bloc DES. În ceea ce privește alte metode de criptare, se poate spune că, în ciuda creșterii rapide a publicațiilor privind criptosistemele cu cheie publică, doar una dintre ele, sistemul RSA, a trecut testul timpului.

Dar algoritmul acestui sistem este asociat cu limitări serioase de implementare și, prin urmare, nu este potrivit pentru unele aplicații criptografice. Desigur, se poate spune cu siguranță că criptosistemele cu chei publice au avut un impact semnificativ asupra tehnicilor de criptare a datelor. Acestea sunt din ce în ce mai utilizate, în principal pentru generarea de semnături digitale sau pentru gestionarea cheilor în sistemele de criptare convenționale (cum ar fi o cheie de criptare a cheilor).

Utilizatorilor potențiali ai criptografiei li se oferă posibilitatea de a alege între cifrurile de flux și cifrurile de feedback (poate bazate pe utilizarea cifrurilor bloc). Cu toate acestea, există anumite domenii de aplicare, de exemplu, tranzacțiile financiare, în care este posibil să se utilizeze metode de criptare directă a blocurilor („carte de coduri electronice”). Alegerea criptoalgoritmului depinde în mare măsură de scopul său. Unele informații care pot fi folosite ca ghid atunci când alegeți tipul de criptare sunt prezentate în tabel.

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 ales 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 criteriile 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 permite scăderea unui număr dintr-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ă prin obținerea codului invers și adunarea 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.


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 .

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

Primele cifruri au fost folosite în zilele Romei Antice, Egiptului Antic și Greciei Antice. Unul dintre celebrele cifruri este cifru caesar. Acest algoritm a funcționat după cum urmează: fiecare literă are propriul număr de serie în alfabet, care este deplasat cu valori 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.

Împărțiți algoritmii de criptare în simetric(acestea includ AES, CAST, GOST, DES, Blowfish) și asimetric(RSA, ElGamal).

Algoritmi simetrici

Observația 1

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

La transmiterea informațiilor criptate, trebuie transmisă și cheia de decriptare. Punctul slab al acestei metode este canalul de date. Dacă este nesigură sau interceptează, cheia de decriptare poate deveni disponibilă unui atacator.

Algoritmi asimetrici

Observația 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

Observația 3

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

Algoritmi de criptare

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

Algoritmul GOST 28147-8 este standardul Federației Ruse pentru criptarea datelor și protecția împotriva imitațiilor. A devenit standardul oficial în $ 1989. Dezvoltat în $ 1970. în Direcția principală a KGB-ului URSS. Utilizează o cheie de biți de 256 USD.

Algoritmul Blowfish folosește o schemă complexă de generare a cheilor, care complică semnificativ un atac cu forță brută asupra algoritmului. Nepotrivit pentru utilizarea în sisteme de reintroducere frecventă a codului și la criptarea unor cantități 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. Dimensiunea cheii este de la 32 USD la 448 USD biți.

algoritmul DES a fost standardul federal de criptare al SUA în $1977-2001$. Standardul federal a fost adoptat în $1977$, după introducerea noului standard în $2001$, a pierdut statutul de standard. Dezvoltat în $1972–1975$. Laboratorul de cercetare IBM. Utilizează o cheie de biți de $56$.

Algoritmul CAST este oarecum analog cu algoritmul DES. Utilizează chei de $128$ și $256$ biți.



Se încarcă...
Top