OpenSSL fallisce i vettori di test NIST AES-128-ECB?

8

Ho problemi a trovare il testo cifrato di OpenSSL per abbinare i vettori di test NIST.

Esempio: in "ecb_e_m.txt" da link , il primo test è (in hex)

Key        = 00000000000000000000000000000000

Plaintext  = 00000000000000000000000000000000

Ciphertext = C34C052CC0DA8D73451AFE5F03BE297F

Salviamo il testo in chiaro (in binario) in un file chiamato pt, ed eseguo

openssl aes-128-ecb -nosalt -K 00000000000000000000000000000000 -p -nopad -in pt -out ct

Guardando il contenuto di ct, contiene

66 E9 4B D4 EF 8A 2C 3B 88 4C FA 59 CA 34 2B 2E

Che cosa sto sbagliando?

Ho usato i vettori di test ECB a 128 bit da questa pagina: link , e il testo cifrato OpenSSL genera per questi DO corrisponde al testo cifrato dato.

    
posta Colin 31.08.2012 - 23:11
fonte

1 risposta

6

Il file ecb_e_m.txt è per "Test Monte Carlo". Questi sono descritti nel file di accompagnamento katmct.pdf , sezione 4:

Each Monte Carlo Test consists of four million cycles through the candidate algorithm implementation. These cycles are divided into four hundred groups of 10,000 iterations each. Each iteration consists of processing an input block through the candidate algorithm, resulting in an output block. At the 10,000th cycle in an iteration, new values are assigned to the variables needed for the next iteration. The results of each 10,000th encryption or decryption cycle are recorded and included by the submitter in the appropriate file.

Quindi se usi il tasto K = 00 ... 00 e inizi con il testo T = 00 ... 00 , quindi criptalo T , quindi crittografare nuovamente il risultato della crittografia, quindi eseguire di nuovo la crittografia e così via, fino a quando non sono state eseguite 10000 crittografie successive, quindi si ottiene il valore nel vettore di test NIST (C3 4C 05 ...). (Confermo questo valore con il mio codice.)

La riga di comando che fornisci, con OpenSSL, esegue solo la crittografia one e produce un risultato distinto, quello che ottieni (e che posso confermare anche con il mio codice).

    
risposta data 01.09.2012 - 02:55
fonte

Leggi altre domande sui tag