it-swarm.dev

Perché la maggior parte delle persone usa la crittografia a 256 bit anziché a 128 bit?

La sicurezza a 128 bit non è sufficiente per la maggior parte delle applicazioni pratiche?

138
H M

Perché le persone acquistano auto sportive rosse ? Non vanno più veloci delle auto sportive di qualsiasi altro colore ...

AES viene fornito con tre dimensioni di chiave standard (128, 192 e 256 bit). Molte persone lo vedono e pensano che se ci sono tre dimensioni distinte invece di una sola, allora ci deve essere qualche differenza, e poiché la versione a 256 bit è un po 'più lenta della versione a 128 bit (di circa il 40%), must essere "più sicuro". Quindi scelgono "il più sicuro" e scelgono le chiavi a 256 bit.

In realtà, l'AES ha tre dimensioni chiave distinte perché è stato scelto come algoritmo federale statunitense idoneo ad essere utilizzato in varie aree sotto il controllo del governo federale degli Stati Uniti, e che include l'esercito americano. L'esercito americano ha una tradizione di lunga data nell'uso della crittografia e quella tradizione si è cristallizzata in un regolamento interno con tutta la flessibilità e la sottigliezza che gli eserciti di tutto il mondo dimostrano costantemente (basta ascoltare un po 'di "musica militare" e capirai cosa intendo) . Sfortunatamente, questo è successo un po 'di tempo fa, prima dell'invenzione del computer, e in quel momento la maggior parte dei sistemi di crittografia potrebbe si è rotta, e più robusti erano anche molto difficili e lenti da usare. Quindi i bravi cervelli militari hanno avuto l'idea che ci dovrebbero essere tre tre "livelli di sicurezza", in modo che i segreti più importanti siano stati crittografati con i metodi pesanti che meritavano, ma i dati di valore tattico inferiore potevano essere crittografati con algoritmi più pratici, anche se più deboli.

Tali regolamenti richiedevano quindi tre livelli distinti. I loro progettisti hanno solo assunto che il livello inferiore fosse necessariamente debole in qualche modo, ma la debolezza non era obbligatoria. Quindi NIST ha deciso di formalmente seguire i regolamenti (chiedi tre dimensioni chiave) ma di fare anche la cosa intelligente ( il livello più basso doveva essere infrangibile con la tecnologia prevedibile). 128 bit sono abbastanza sufficienti per la sicurezza (vedi questa risposta per i dettagli). Pertanto, AES accetta chiavi a 256 bit a causa della pigrizia burocratica: era più semplice richiedere qualcosa di leggermente privo di senso (una dimensione eccessiva delle chiavi) piuttosto che modificare i regolamenti militari.

La maggior parte delle persone non conosce o non si interessa della storia, e vanno semplicemente alla grande perché sentono di meritarsela.

157
Thomas Pornin

Quando si crea un sistema di sicurezza, è necessario pianificare un errore. Questa è l'idea alla base di una strategia di difesa in profondità .

Le primitive crittografiche diventano più deboli nel tempo. Sebbene una primitiva a 128 bit sia abbondante, potrebbe essere scoperto un difetto nel codice che riduce questo livello di sicurezza. Quindi è necessario aggiungere un margine di sicurezza quando la primitiva sottolineata fallisce.

Ad esempio md5 produce un hash a 128 bit, tuttavia usando un attacco prefisso scelto un attaccante può produrre una collisione con una complessità solo 2 ^ 39 .

38
rook

Non l'ho visto menzionato nelle risposte o nei commenti, quindi ho pensato di aggiungerlo come risposta. La dimensione della chiave non è sempre correlata direttamente alla complessità di un algoritmo. Un errore comune è supporre che un messaggio crittografato con AES256 sia più difficile da decifrare (un avversario che ottiene qualsiasi tipo di informazione di significato dato solo il testo cifrato) rispetto alle stesse informazioni protette usando AES128. Ha logicamente senso che una maggiore dimensione della chiave introduce una maggiore complessità, ma come per qualsiasi sistema, le implementazioni sono soggette a punti deboli.

Supponendo che tu stia parlando di AES 128 contro AES 256, c'è una debolezza nota nella funzione di espansione chiave che influenza AES256. Fondamentalmente, debolezza riduce la complessità di AES256 a quella inferiore a AES128. C'è anche un attacco simile anche per AES192, anche se in questo caso la complessità di AES192 rimane maggiore di AES128.

Morale della storia, la gente non capisce la crittografia ... j/k (non sono un matematico). La realtà è che le persone assumono "grande" con "sicuro". Una pistola grande è meglio che avere una pistola piccola. Le chiavi più grandi sono più sicure delle chiavi più piccole.

In realtà, l'implementazione di crypto è più importante della sola dimensione delle chiavi.

18
bangdang

FWIW, il progetto NIST sulla crittografia post quantistica raccomanda 256.

http://csrc.nist.gov/publications/drafts/nistir-8105/nistir_8105_draft.pdf

11
Blaze

La tua premessa mi sembra sbagliata. Non sono a conoscenza di prove del fatto che "la maggior parte delle persone utilizza la crittografia a 256 bit anziché a 128 bit". Anzi, se dovessi indovinare, sospetto che sia il contrario.

7
D.W.