È possibile costruire una collisione AES specifica?

4

Supponiamo di avere un messaggio in chiaro P, e lo crittografo usando la chiave K per ottenere il ciphertext C.

È banale trovare un messaggio in chiaro diverso da P 'e una chiave K' in modo che la crittografia risulti in C: basta decodificare C usando K 'per ottenere P'.

Supponiamo però che io abbia un P specifico che vorrei cifrare, usando qualsiasi chiave, in modo che P 'criptato con la chiave dia come risultato C. È fattibile?

    
posta Daniel 12.07.2015 - 22:51
fonte

2 risposte

5

No. Non solo con la chiave.

Se hai un testo in chiaro noto e un testo di cifratura noto, il problema di ottenere la chiave da questo è noto come "attacco con testo in chiaro noto".

E qualsiasi moderno sistema crittografico, incluso AES, è indurito contro questo. Diversi terabyte di coppie di testo in chiaro / cifrario non ti permetteranno ancora di ottenere la chiave entro un tempo ragionevole.

Ulteriori letture

Tuttavia ...

Se si va oltre la semplice scelta di un tasto AES e si consente anche la scelta di un vettore di inizializzazione AES (IV) per una modalità di blocco AES, allora sì, è possibile farlo. Facilmente. Se il tuo messaggio è abbastanza breve. Ottieni solo un IV di valore.

È un hobby per Ange Albertini. Gli piace creare "file poliglotta" che possono essere decodificati / interpretati in più di un modo.

Ne ha parlato nel 2014:

risposta data 13.07.2015 - 00:05
fonte
0

C'è stato un tempo in cui alcuni crittografi consideravano impossibile per un aggressore trovare una P e una K in modo da produrre una determinata C attraverso AES, e ci sono stati tentativi di costruire funzioni di hash da AES basate su questa ipotesi. Ma le funzioni di hash basate su AES non si sono rivelate sicure come altri algoritmi di hashing (si veda Perché AES non viene utilizzato per l'hashing sicuro, invece di SHA-x? ).

Quello che stai chiedendo è: dato P è possibile che un attaccante trovi una K in modo da produrre una determinata C. Questo è almeno altrettanto difficile come nel caso precedente, perché in questo caso l'attaccante riceve un particolare P, mentre nel caso precedente sia P che K possono essere scelti dall'attaccante.

Quindi, la risposta è: dipende dalle risorse disponibili per l'aggressore. Se l'attaccante ha risorse sufficienti, potrebbe essere possibile trovare una chiave K che produca una data C dalla data P (o P '). Ma richiederà un LOT di risorse.

    
risposta data 13.07.2015 - 00:20
fonte

Leggi altre domande sui tag