Algoritmi de criptare

Timpul zilei, dragul utilizator. În acest articol, vom vorbi despre subiecte precum: Algoritmi de criptare. Simptome de bază ale algoritmului de criptare simetrică.







Majoritatea instrumentelor de securitate a informațiilor se bazează pe utilizarea de cipuri criptografice și proceduri de criptare și decriptare.

În conformitate cu standardul de criptare GOST 28147-89, un cifru este un set de transformări reversibile ale unui set de date deschise într-un set de date criptate specificate de o cheie și de un algoritm de transformare criptografică.

Cheia este starea secretă specifică a câtorva parametri ai algoritmului de transformare a datelor criptografice. Acesta oferă o alegere a unei singure variante din toate cele posibile pentru algoritmul dat. În algoritmii cripto-simetrici, același bloc de informații (cheie) este folosit pentru criptarea și decriptarea mesajului. Deși algoritmul care afectează datele transmise poate fi cunoscut străinilor, depinde de cheia secretă pe care trebuie să o dețină numai expeditorul și receptorul. Cryptoalgoritmii simetric realizează transformarea unui bloc de date mic (1 bit sau 32-128 biți) în funcție de cheia secretă, astfel încât să puteți citi mesajul inițial numai dacă cunoașteți această cheie secretă.

Metoda de criptare simetrică.

criptosistemele simetrici permis bazat pe algoritmi de criptare simetrică a cripta și decripta fișiere de orice lungime. În funcție de informațiile de mărimea blocului de algoritmi criptografici simetrice sunt împărțite în cifrurile bloc și cifrurilor flux.

Pentru cipurile bloc, unitatea de criptare este un bloc de mai mulți octeți. Rezultatul criptării depinde de toți octeții originali ai acestui bloc. Blocarea criptei este folosită pentru transferul de informații despre pachete și codarea fișierelor. Blocurile de blocare criptează întreaga blocaj de informații (de la 4 la 32 de octeți) ca o singură entitate - acest lucru crește în mod semnificativ rezistența transformărilor spre a ataca printr-o forță bruta completă și permite utilizarea diferitelor transformări matematice și algoritmice.

Pentru cipurile de flux, unitatea de criptare este un bit sau un octet. Rezultatul depinde de obicei de criptarea fluxului de intrare care a trecut înainte. Această schemă de criptare este folosită în sistemele de transmitere a informațiilor, adică atunci când transferul de informații începe și se termină în momente arbitrare.

O trăsătură caracteristică a algoritmilor de bloc simetrice constă în faptul că, în cursul activității lor, acestea produc transforma datele de intrare bloc de lungime fixă ​​și pentru a primi blocul rezultat de aceeași dimensiune, dar nu sunt disponibile pentru examinare atentă a unor terțe părți care nu cunosc cheia. Astfel, schema de funcționare a unui cifru de bloc simetric poate fi descrisă prin funcții:

C = EK (M),
M = DK (C),
unde M este blocul de date inițial (deschis);
C - bloc de date criptate.

Cheia K este un parametru al algoritmului de criptare a blocurilor simetrice și reprezintă un bloc de informații binare de dimensiune fixă. Sursa M și blocurile de date C criptate au, de asemenea, o capacitate de biți fixă ​​egală (dar nu neapărat egală cu lungimea cheii K).

Metoda de creare a lanțurilor de octeți octeți codificați îi permite să cripteze pachetele de informații de lungime nelimitată. Absența unei corelații statistice între biții cifrului blocului de cifru de ieșire este folosită pentru a calcula sumele de control ale pachetelor de date și în parolele de tip hashing. Până în prezent, au fost dezvoltate o mulțime de cipuri de blocuri persistente.

Un criptoalgoritm este considerat a fi perfect stabil dacă, pentru a citi un bloc de date criptat, toate cheile posibile trebuie să fie scanate până când mesajul decriptat este semnificativ. În general, stabilitatea unui cifru bloc depinde doar de lungimea cheii și crește exponențial cu creșterea acesteia.

Algoritmii de criptare ideal persistenți trebuie să îndeplinească încă o cerință importantă. Cu valorile inițiale și criptate cunoscute ale blocului, cheia care a produs această transformare poate fi recunoscută numai printr-o enumerare completă a valorilor sale.

Situațiile în care un observator străin cunoaște o parte din textul sursă sunt întâlnite destul de des. Acestea pot fi etichete standard în formă electronică, anteturi de fișiere fixe, adesea găsite în text, cuvinte lungi sau secvențe de octeți. Prin urmare, cerința de mai sus nu este excesivă și este, de asemenea, strict implementată de cipuri de blocuri persistente.

Potrivit lui Claude Shannon, pentru a obține cipuri de blocuri stabile, este necesar să se folosească două principii generale: dispersia și amestecarea.

remarcă

Dispersia este un efect al plăcii plaintext o distribuție la ciphertext multe caractere, care permite să se ascundă proprietățile statistice ale plaintext-.







remarcă

Amestecarea presupune utilizarea unor astfel de transformări de criptare care complică restaurarea relației dintre proprietățile statistice ale textelor deschise și criptate. Cu toate acestea, cifrul nu ar trebui să împiedice dezvăluirea, ci și să faciliteze criptarea și decriptarea atunci când utilizatorul cunoaște cheia secretă.

O modalitate obișnuită de a realiza efectele împrăștierii și amestecării este de a folosi un cifru compozit, adică unul care poate fi implementat ca o succesiune de cipuri simple, fiecare contribuind la o împrăștiere totală și amestecare semnificativă.

În computerele compuse, permutările și substituțiile simple sunt de obicei folosite ca simple cipuri. Atunci când sunt permutate, caracterele simple sunt pur și simplu amestecate, iar tipul specific de amestecare este determinat de cheia secretă. Când este înlocuit, fiecare caracter al plaintextului este înlocuit cu un alt caracter din același alfabet, iar tipul specific de substituție este de asemenea determinat de cheia secretă. Într-un cip de bloc modern, blocurile de plaintext și textul cifrat sunt secvențe binare, de obicei de 64 de biți în lungime. În principiu, fiecare bloc poate lua între 2 și 64 de valori de putere. Prin urmare, substituțiile se efectuează într-un alfabet foarte mare care conține până la 2 în puterea simbolurilor de 64 ".

Cu alternanțe repetate de permutări simple și substituții controlate de o cheie secretă suficient de lungă, se poate obține un cod foarte stabil, cu o bună dispersie și o amestecare.

Toate acțiunile efectuate de algoritmul de blocare cripto asupra datelor se bazează pe faptul că blocul care este convertit poate fi reprezentat ca număr întreg nonnegativ din intervalul corespunzător adâncimii bitului său. De exemplu, blocul de date de 32 biți poate fi interpretată ca un număr în intervalul 0 - 4294967295. In plus, blocul, al cărui bit este o „putere de două“, pot fi tratate ca adeziune independent multiplu de numere nenegative cu rază mai mică (mai sus bloc de 32 de biți poate fi De asemenea, sub forma unei legături a două numere independente de 16 biți din domeniul 0 - 65535 sau ca o legătură a patru numere independente pe 8 biți din intervalul 0-255).

Deasupra acestor numere, criptoalgoritmul bloc produce următoarele acțiuni în conformitate cu o anumită schemă:

1. Funcții matematice:
- adăugarea lui X '= X + V;
- "exclusiv OR" X "= X x sau V;
- multiplicare modulo 2N + 1 X '= (X * V) mod (2N + 1);
- multiplicare modulo 2N X '= (X * V) mod 2N.
2. Schimbări de biți:
- schimbarea aritmetică a stângii X '= X shl V;
- schimbare aritmetică spre dreapta X '= X shr V;
- deplasarea ciclică stângă X '= X rol V;
- schimbarea ciclică spre dreapta X '= X ror V.
Înlocuirea meselor:
- S-box (înlocuitor englez) X '= Tabelul [X, V].

Ca parametru V pentru oricare dintre aceste transformări pot fi utilizate următoarele:

  • un număr fix (de exemplu, X '= X + 125).
  • numărul obținut din cheie (de exemplu, X '= X + F (K)).
  • numărul obținut din partea independentă a blocului (de exemplu, X2 '= X2 + F (X1)).

remarcă

Ultima opțiune este utilizată într-o schemă numită rețeaua Feistel (după numele creatorului acesteia).

Rețeaua Feistel.

Secvența de operații efectuate pe bloc, combinațiile variantelor V de mai sus și funcțiile F constituie ele însele elementele distinctive ale unui criptalgoritm specific unui bloc simetric.

O caracteristică caracteristică a algoritmilor bloc este utilizarea multiplă și indirectă a materialului-cheie. Acest lucru este determinat în primul rând de cerința incapacității de a inversa decodarea în raport cu cheia cu sursa cunoscută și cu textele criptate. Pentru a rezolva această problemă, cel mai frecvent utilizat în transformările de mai sus nu este valoarea cheii însăși sau a părții ei, ci o funcție, uneori ireversibilă, a materialului cheie. Mai mult, în transformări similare, același bloc sau element cheie este utilizat de mai multe ori. Aceasta permite, atunci când condiția de inversibilitate a unei funcții în raport cu valoarea lui X este îndeplinită, pentru a face funcția ireversibilă în raport cu tasta K.

O rețea Feistel este o schemă (metodă) de transformări text reversibile, în care valoarea calculată dintr-o parte a textului este suprapusă pe celelalte părți. Rețeaua Feistel este o modificare a metodei de amestecare a părții actuale a blocului criptat cu rezultatul unei anumite funcții calculate de la o altă parte independentă a aceluiași bloc. Această tehnică oferă o cerință importantă pentru utilizarea multiplă a cheii și a materialului blocului de informații sursă. Adesea, structura rețelei este realizată astfel încât să se utilizeze pentru criptarea și descifrarea aceluiași algoritm - diferența constă numai în ordinea utilizării materialului-cheie.

Bazat pe rețeaua Feistel, sunt construite standardul american pentru criptarea datelor DES și GOST 28147-89.

Pe acest articol termin, sper că înțelegeți complet subiectele: algoritmi de criptare, algoritm de criptare simetrică, concepte de bază.

Partajați informațiile cu prietenii dvs. în:

În acest articol vom vorbi despre subiecte precum: algoritmi de criptare, algoritmul de criptare simetrică, concepte de bază, algoritm de blocare și vom aborda multe alte subiecte conexe.

Poate că te interesează:

În acest articol, vom vorbi despre subiecte cum ar fi procesele și firele, descriptorii procesului, vorbi despre sincronizarea firelor și vor afecta ferestrele managerului preferat al fiecăruia.

În acest articol, vom vorbi pe subiecte precum memoria virtuală și vom analiza metodele de bază pentru alocarea memoriei virtuale în sistemele de operare.

Astăzi citiți

Obțineți 1500 de aur gratuit în lumea rezervoarelor atunci când cumpărați programe antivirus
Wargaming - și Kaspersky Lab au anunțat lansarea unei acțiuni comune. Acum când cumperi software licențiat Kaspersky Internet Security, Kaspersky PURE și Kaspersky ONE.

Versiune gratuită de încercare a Diablo III - disponibilă deja pentru descărcare
Deja timp de trei luni ne bucurăm de mult-așteptatul lansare a Diablo III. Deținătorii fericit de licență au primit, de asemenea, un voucher care oferă posibilitatea de a juca versiunea Starter Edition.

GTA San Andreas - modificat de motorul GTA 4 (descărcare mod)
Ventilatoare - seria legendara de jocuri Grand Theft Auto a decis sa dezvolte un mod global, GTA San Andreas va fi livrat la motorul din GTA 4. Veti gasi un link pentru descarcarea modului la sfarsitul acestui articol.

Cum să descărcați muzică de la un contact la un computer - VKSaver 3.1
În acest articol vom răspunde la întrebarea: cum să descărcați muzică de la contact la calculator gratuit și folosiți pentru aceasta vom fi un program gratuit - VKSaver 3.1








Articole similare

Trimiteți-le prietenilor: