Come si può raggiungere la parallelizzazione in modalità CTR?

3

Uso la modalità CTR per crittografare / decodificare i file. In teoria, la modalità CTR è più veloce di CFB o CBC a causa delle sue singole operazioni su blocchi. Nel mio caso la modalità CTR impiega quasi il tempo di CFB.
Come posso raggiungere / implementare la parallelizzazione in modalità CTR? È gestito internamente dal sistema?

    
posta Rak 22.05.2015 - 12:14
fonte

1 risposta

1

In modalità contatore (CTR) nessun singolo blocco di cifratura dipende da un blocco precedentemente calcolato. Ogni blocco può essere calcolato indipendentemente da ogni altro blocco.

Questo potrebbe essere parallelizzato dividendo il codice in blocchi per i singoli thread da crittografare o decodificare. Supponiamo che tu abbia un blocco di 512 byte di dati che vuoi crittografare. Utilizzando AES128-CTR ci sarebbero 32 blocchi di dati da crittografare (512/16). Di 'che vuoi usare 4 thread. Dovresti inviare 8 blocchi a ciascun thread con nonce e il range di controguardi che desideri elaborare.

Una volta terminato ogni thread, è necessario rimettere insieme i byte dei dati crittografati. Quindi dovresti assicurarti di sapere quale thread ha finito e dove nel blocco di dati crittografati devi posizionarlo. Una volta che tutti i thread sono tornati e hai unito i dati, hai finito.

Se questo viene già eseguito, sarebbe a livello di implementazione. Quindi se OpenSSL ad esempio supporta la parallelizzazione del CTR, allora è possibile. Potrebbe essere necessario configurarlo (lato server) o doverlo inserire in un parametro (lato client).

    
risposta data 22.05.2015 - 13:23
fonte

Leggi altre domande sui tag