Gli algoritmi di crittografia sono progettati per ostacolare la parallelizzazione?

1

Cose come i grandi requisiti di memoria e lo stato costantemente mutabile vengono in genere aggiunti agli algoritmi di crittografia per ostacolare la capacità degli aggressori di provare più chiavi candidate contemporaneamente? Inoltre, un algoritmo di crittografia che è meno parallelizzabile spesso viene pubblicizzato come un vantaggio di tale algoritmo?

    
posta tartstbwtp 18.07.2015 - 03:49
fonte

1 risposta

1

Nel caso di un attacco a testo cifrato noto (il più probabile) l'autore dell'attacco avrebbe accesso al testo cifrato. Ora può fare qualsiasi numero di copie del testo cifrato e lanciare il suo attacco bruteforce con più chiavi in parallelo se lo desidera.

Infatti, quando si parla specificamente di Block Ciphers (in crittografia simmetrica) il codice a blocchi stesso non determina la parallelizzazione poiché funziona sempre con un solo blocco, in effetti il Block Cipher o Stream Cipher "Mode" che può decidere se il l'algoritmo può essere eseguito in parallelo su un determinato testo di cifratura a blocchi multipli. Ad esempio, il "Modo" Feedback output può essere eseguito in parallelo per la crittografia, ma Cipher Block Chaining non può essere eseguito in parallelo. Ciascuna di queste modalità può essere utilizzata con AES o altri codici a blocchi che supportano queste modalità.

Quando si parla di crittografia asimmetrica come RSA o anche di Diffie-Hellman, l'idea è di non crittografare mai nulla di più di un blocco di dimensioni. In genere vengono utilizzati per crittografare semplicemente una chiave simmetrica per eseguire una crittografia più intensiva. Quindi la parallelizzazione è meno preoccupante qui.

    
risposta data 18.07.2015 - 04:13
fonte

Leggi altre domande sui tag