Mesajul poate fi interceptat înainte. Nu este o vulnerabilitate care permite descoperirea cheii?
Nu, pentru alegerea corectă a cheii (vezi 1 de mai jos). AES-256 este proiectat să reziste astfel Atac cunoscut în text simplu. Aceasta este o ipoteză standard și, într-adevăr $2^{256}$ este atât de imens de mare încât nu e nicio grijă să ai că cheia poate fi găsită căutând-o (pentru a pune lucrurile în perspectivă, risipa de resurse cunoscută sub numele de minerit bitcoin până acum a efectuat o muncă echivalentă cu mai puțin de $2^{100}$ criptare AES). Suntem în siguranță chiar dacă emitem ipoteze Calculatoare cuantice relevante din punct de vedere criptografic devenit vreodată un lucru.
Singurele protecții de care aveți nevoie împotriva descoperirii cheilor în AES-256 sunt
- Alegerea cheii aproximativ uniform la întâmplare. O parolă nu funcționează, întinderea tastelor nu-l voi tăia.
- Nedezvăluirea acestuia; vedea XKCD obligatoriu.
- Preveniți extragerea acestuia de pe orice dispozitiv în care este introdus.Aceasta este partea grea: de unde ești sigur că computerul tău nu este infectat de vreun troian? Și apoi sunt atacuri pe canale laterale și atacuri de culpa.
Să spunem, sarcina utilă este de 40 de biți. Deoarece AES lucrează cu blocuri lungi de 16 octeți, ar fi logic să adăugați 11 octeți de nonce unic aleatoriu sau nu merită toată această speculație efortul?
Există o alta motiv bun pentru a introduce ceva aleatoriu de-a lungul mesajului criptat: este necesar să rezistați Atacul cu text simplu alesși, în special, împiedică adversarii să testeze dacă două texte clare sunt identice doar prin compararea textelor lor cifrate.
De asemenea, observați că aplicațiile tipice care necesită confidențialitatea textului simplu necesită și integritatea acestuia, adică criptare autentificată, și criptare AES directă cu comun moduri de operare numai pentru criptare bloc-cifrare nu va da asta chiar și cu IV/nonce aleatoriu. În plus, unele aplicații necesită prevenire reluare, iar criptarea direct autentificată nu va da asta.
Alegerea unui algoritm criptografic nu este ceva de făcut ușor. Ne pare rău, dar acest lucru nu ar trebui să fie încercat de cineva care trebuie să pună această întrebare.