Una parte di un file crittografato è più facile da decifrare?

11

Dopo aver crittografato un file (GPG con AES) e dividerlo in blocchi (diviso), è più facile decifrare una delle parti rispetto al file completo? (Forse perché potrebbe perdere alcuni bit importanti.)

    
posta rugowimola 09.11.2017 - 16:02
fonte

5 risposte

17

No. È comunque necessario trovare la stessa chiave di crittografia della lunghezza per decrittografare i dati in testo normale. Trovare la chiave è la parte difficile, decifrare un'immagine intera o parziale è banale una volta che hai la chiave.

Se si utilizza uno schema di crittografia in cui il file è crittografato e decrittografato in modo deterministico in base alla sezione che era (de / en) ecrypted, può essere più difficile terminare in modo affidabile allo stesso testo in chiaro come si sarebbe ottenuto per eseguire la stessa decodifica sull'intero file, se il file è diviso dopo crittografia. Questo è semi-rilevante per gli schemi di crittografia CBC. È possibile recuperare blocchi di testo normale se l'archivio separa i file in segmenti di due o più blocchi di testo cifrato o più lunghi. Se dovessi separare l'intero testo cifrato in segmenti di un blocco di cifratura ciascuno, si renderà qualsiasi blocco mancante sia che i blocchi adiacenti siano indecifrabili.

Se utilizzi uno schema che applica una chiave di crittografia diversa a ciascun segmento più piccolo, aumenti il numero di chiavi necessarie per decrittografare l'intero messaggio, ma questo sta diventando molto specifico per l'implementazione.

EDIT:

Riguardo a "perdere pezzi importanti" - suppongo che intendi che se dovessi suddividere il file crittografato ed eliminare alcuni segmenti (o memorizzarli altrove), potresti cancellare parti del file che assicurano la sicurezza dei contenuti, come un checksum o qualcosa del genere.

Il modo in cui funziona la crittografia moderna, il risultato finale sono due pezzi di dati: la chiave di crittografia e il testo cifrato. Un buon algoritmo crittografico non avrà "parti" distinte nel testo cifrato. Dovrebbe essere indistinguibile dai rumori bianchi, idealmente. Altrimenti si sta aprendo il ciphertext fino al riconoscimento e al reverse engineering. Quindi, da un testo cifrato, non ci sono bit specifici da perdere.

    
risposta data 09.11.2017 - 16:28
fonte
4

Un ottimo modo per pensare a "Questo rende più facile attaccare?" - la domanda è chiedersi "L'aggressore può farlo in modo triviale?"

Se dividere un file in blocchi erano in realtà rendendo più facile l'attacco, allora questa sarebbe la procedura predefinita per ogni attaccante. Questo ci porta a un'osservazione importante: gli schemi di crittografia non hanno una "forza" fissa. Sono forti solo quanto il miglior attacco attualmente conosciuto.

Prendiamo ad esempio RSA: RSA si basa sul fatto che la fattorizzazione primaria è difficile. Se qualcuno sviluppasse un alogritmo che rendesse due volte più facili i grandi numeri primi, allora l'RSA si indebolirebbe.

    
risposta data 10.11.2017 - 12:28
fonte
3

No. La divisione del file dopo la crittografia non semplifica l'attacco. Infatti, quando si utilizza un algoritmo come AES, l'output (il file crittografato) è quasi equivalente a un insieme di bit casuali per qualcuno che non conosce la chiave utilizzata. Quindi rimuovere una parte di questo set non li aiuterà in alcun caso.

    
risposta data 09.11.2017 - 16:34
fonte
2

Per motivi di completezza, sottolineo che è possibile dividere un file in modo pericoloso.

Come? Bene, se la posizione della divisione in qualche modo dipende dalla chiave stessa (ad esempio, forse dividi la chiave in blocchi di 4 byte e poi dividi il file agli scostamenti dati da ogni valore di 4 byte), allora questo può ovviamente perdere la chiave.

Come è potuto accadere in caso di incidente?

  1. Dì a tuo figlio di 12 anni di dividere il file in un modo "divertente", e decide di farlo in base agli scostamenti dati dalla chiave.

  2. Sei incredibilmente annoiato e ignaro di possibili problemi di sicurezza, quindi cerca di essere "creativo" con la divisione, quindi fare qualcosa di simile.

Realisticamente, non succederebbe se prestassi attenzione a quello che stai facendo.

    
risposta data 10.11.2017 - 11:12
fonte
0

Notare innanzitutto che quando si crittografa un file utilizzando GPG con AES, ciò che si sta effettivamente crittografando è già diviso in due parti poiché si sta facendo affidamento su un cosiddetto " schema di crittografia ibrido ":

  1. Genererai un tasto AES casuale che puoi utilizzare per crittografare i tuoi dati, che è la chiave "Data Encryption Key" (DEK), perché i codici simmetrici come AES sono molto più veloci della crittografia a chiave pubblica come RSA.
  2. Il prossimo passo utilizzerà l'algoritmo asimmetrico GPG (tipicamente RSA) per crittografare tale DEK con la chiave pubblica del destinatario, che può quindi essere chiamata "Key Encryption Key" (KEK)
  3. Il testo cifrato effettivo alla fine è composto da due parti: il DEK crittografato e i dati crittografati.

Ora puoi ovviamente dividere il tuo testo cifrato nella parte "RSA" e quella "AES" senza renderlo più difficile da rompere con l'attaccante: lei avrebbe comunque bisogno di crackare la parte RSA o la parte AES, ma ciò potrebbe rendere più difficile per l'aggressore ottenere effettivamente la parte che è disposta a decifrare (a livello operativo).

Riguardo ai dati stessi, la crittografia con AES significa che stai utilizzando una modalità di funzionamento insieme al tuo codice simmetrico perché AES semplice può crittografare solo 1 blocco di 128 bit. Ma lo standard OpenPGP sta definendo il suo variante molto personale della modalità CFB, il che significa che ci si sta affidando a questo quando si utilizza GPG con AES.

Dato che la variante CFB utilizzata da OpenPGP presenta effettivamente un "controllo chiave corretto" all'interno dei suoi primi due blocchi di dati crittografati, è sufficiente avere i due primi blocchi di testo cifrato per sapere se uno ha trovato o meno la chiave corretta, tuttavia, il processo di decodifica di qualsiasi blocco si basa solo su AES DEK e sul precedente blocco di testo cifrato.

Quindi, da un punto di vista operativo , suddividere i dati in modo che non vengano trasmessi due blocchi simultanei probabilmente aumenterebbe la complessità dell'attacco, poiché l'attaccante mancherebbe della IV anche se avesse la chiave, e quindi avrebbe avuto bisogno di rinforzare sia la IV dei blocchi che la chiave ... Tuttavia, da un punto di vista teorico della sicurezza, non vi è alcun aumento o diminuzione significativo della sicurezza fornita da AES e dalla modalità operativa CFB suddividendo i dati in più blocchi.

Si noti che la crittografia AES è considerata sicura solo se la chiave è un segreto. (E l'IV non dovrebbe essere un segreto.) Questo non cambia quando si esegue qualsiasi operazione (non relativa alla chiave) solo sul testo cifrato, altrimenti un utente malintenzionato potrebbe semplicemente farlo da solo.

    
risposta data 10.11.2017 - 11:14
fonte

Leggi altre domande sui tag