Criptanaliza (din greacă, kryptós, „ascuns”, și analýein, „a dezlega”) este studiul metodelor de obținere a înțelesului informațiilor criptate, fără a avea acces la informația secretă necesară în mod normal pentru aceasta. De regulă, aceasta implică găsirea unei chei secrete. Într-un limbaj non-tehnic, aceasta este practica spargerii codurilor.

Termenul de criptanaliză este folosit și cu referire la orice încercare de a ocoli mecanismele de securitate ale diferitelor tipuri de protocoale și algoritmi criptografici în general, și nu doar al criptării informației. Totuși, criptanaliza de regulă exclude metode de atac care nu țintesc slăbiciunile conceptuale ale criptografiei, cum ar fi mita, extragerea informațiilor prin constrângeri fizice, intrarea prin efracție, logarea tastelor apăsate, și social engineering, deși aceste tipuri de atac sunt o problemă importantă și sunt adesea mai eficiente decât criptanaliza tradițională.

Deși scopul a rămas același, tehnicile și metodele de criptanaliză s-au schimbat drastic de-a lungul istoriei criptografiei, adaptându-se la creșterea complexității criptografice, de la metodele cu creionul și hârtia din trecut la mașini ca Enigma din al doilea război mondial, până la schemele criptografice computerizate din zilele noastre. Rezultatele criptanalizei au variat și ele—nu mai este posibil să se obțină succese nelimitate în spargerea codurilor și există o clasificare ierarhică a ceea ce constituie un atac practic. La jumătatea anilor 1970, s-a introdus o nouă clasă criptografică:criptografia asimetrică. Metodele de spargere a acestor criptosisteme sunt radical diferite de cele anterioare, și implică de regulă rezolvarea unor probleme construite cu grijă în matematică, cea mai celebră dintre acestea fiind factorizarea întregilor.

Prezentare generală

modificare

Având în vedere unele date criptate (textul cifrat), scopul criptanalizatorului este de a obține cât mai multe informații posibile despre datele originale, necriptate (textul clar). Este util să se ia în considerare două aspecte ale realizării acestui obiectiv. Primul este ruperea sistemului - care este descoperirea modului în care funcționează procesul de encirculare. Al doilea este rezolvarea cheii care este unică pentru un anumit mesaj criptat sau pentru un grup de mesaje.

Resursele necesare de calcul

modificare

Atacurile pot fi, de asemenea, caracterizate de resursele de care au nevoie. Aceste resurse includ:

  • Timp - numărul de etape de calcul (de exemplu, criptări de testare) care trebuie efectuate.
  • Memorie - cantitatea de spațiu de stocare necesară pentru efectuarea atacului.
  • Date - cantitatea și tipul textelor libere și textului cifrat necesare unei anumite abordări.

Este uneori dificilă prezicerea exactă a acestor cantități, mai ales atunci când atacul nu este practic de implementat pentru testare. Dar criptanaliștii academici tind să furnizeze cel puțin ordinea estimată de amploare a dificultăților atacurilor lor, spunând, de exemplu, coliziunile SHA-1 acum 252.[1]

Bruce Schneier observă că și atacurile nepractice, computațional pot fi considerate pauze: „Ruperea unui cifru înseamnă pur și simplu găsirea unei slăbiciuni în cifrul care poate fi exploatată cu o complexitate mai mică decât forța bruta. Nu contează că forța brută ar putea necesita criptare de 2128; un atac care necesită 2110 de criptare ar fi considerat o pauză, ce poate fi doar o slăbiciune certificată: dovezi că cifrul nu funcționează ca publicitate”.[2]

  1. ^ McDonald, Cameron; Hawkes, Philip; Pieprzyk, Josef, SHA-1 collisions now 252 (PDF), accesat în  
  2. ^ Schneier 2000.