Costruzione nonce per modalità CTR (Mcrypt)

2

Modifica: inserirò questo più chiaramente.

Nella forma più semplice, sto chiedendo che se I AES criptasse in CTR di più con Mcrypt (usando PHP), posso creare "IV" semplicemente leggendo 16 byte da / dev / urandom? Fa il lavoro correttamente?

Ho letto la risposta precedente di D.W. e ha detto:

"Nella forma più semplice, per crittografare un messaggio di blocco n sotto IV v, utilizziamo v, v + 1, v + 2, .., v + n -1 come contatori quindi supponiamo che questo sia quello che stai facendo (altrimenti, per favore specifica). Generare un contatore casuale a 128 bit usando / dev / urandom va bene. "

Ora sto chiedendo che ho capito bene la risposta (la mia comprensione è che se si utilizza la modalità CTR, si può creare la "IV" semplicemente leggendo da / dev / urandom e quella su di essa)?

Ho diviso questa domanda da TCrypto - Commenti sulle decisioni di progettazione I fatta?

@ D.W. "Dipende dalla variante della modalità CTR che usi e da come viene formato il contatore Nella forma più semplice, per crittografare un messaggio di blocco n sotto IV v, utilizziamo v, v + 1, v + 2, .., v + _n_-1 come contatori, quindi supponiamo che sia quello che stai facendo (se no, per favore specifica). Generare un contatore casuale a 128 bit usando / dev / urandom va bene. "

Stavo guardando questo e non sono sicuro che Mcrypt faccia già quella "v + 1, v + 2 ..." nonce internamente (usando la IV fornita). Fondamentalmente Mcrypt prende una chiave e una IV ed esegue l'enciclopedia usando quei parametri.

O devo dividere manualmente il messaggio in blocchi ed eseguire la crittografia per il primo blocco usando IV, quindi cifrare il secondo blocco usando IV + 1 come IV etc?

Ecco la funzione di crittografia (in modalità CBC, l'interfaccia di Mcrypt per utilizzare la modalità CTR è simile):

link

    
posta timoh 10.07.2011 - 10:24
fonte

1 risposta

1

La tua domanda è molto confusa. Sembra che mcrypt_create_iv userà / dev / urandom se lo chiami con MCRYPT_DEV_URANDO. Sembra anche che tu non abbia bisogno di specificare il valore del contatore e devi solo chiamare mcrypt_generic una volta.

    
risposta data 23.07.2011 - 09:05
fonte

Leggi altre domande sui tag