Dacă atacatorul are acces la cele 20 de versiuni criptate, timpul de decriptare este mai mic? În acest scenariu exact, criptarea poate fi spartă?
Nu, nu este mai scăzută și nicio criptare nu va putea fi ruptă mai mult decât un singur text cifrat.
Comanda gpg -c
va folosi în mod implicit o funcție iterată și sărată string-to-key (testată folosind gpg (GnuPG) 2.2.19).
Următoarele sunt generate folosind pgpdump
instrument de linie de comandă după ce am criptat un fișier text mic folosind gpg -c
:
Vechi: pachet de chei de sesiune criptată cu cheie simetrică (etichetă 3) (13 octeți)
Versiune nouă (4)
Sym alg - AES cu cheie de 256 de biți (sym 9)
Iterat și sărat șir la cheie (s2k 3):
Hash alg - SHA1(hash 2)
Sarea - bc da bd be 72 43 43 8a
Număr - 65011712 (număr codificat 255)
Nou: criptat simetric și pachet MDC (etichetă 18) (90 octeți)
Versiunea 1
Date criptate [sym alg este specificat în cheia de sesiune criptată sym-key]
(text simplu + MDC SHA1 (20 octeți))
O funcție de tip șir la cheie este cunoscută sub numele de Funcție de derivare a cheii bazată pe parolă sau PBKDF.
Sarea aleatorie de 64 de biți este combinată cu parola pentru a genera o nouă valoare secretă, care va fi folosită pentru a efectua criptarea. Deoarece fiecare cheie este generată folosind o intrare diferită și, deoarece PBKDF-urile nu sunt inversabile, cheile de criptare nu oferă niciun vector de atac. Informațiile despre o cheie nu oferă nicio informație despre celelalte chei care au fost generate.
Cheile de criptare efective pot fi la fel de bine generate de un generator de numere aleatoare securizate - atâta timp cât atacatorul nu găsește parola. Dar căutarea parolei nu este deloc accelerată în comparație cu un singur text cifrat.