Ho bisogno di giocare con alcuni frammenti di AES.Decrittografia AES a blocco singolo in Ruby
Ho un testo cifrato c e una chiave k. Il testo cifrato è stato crittografato utilizzando AES-CBC, con l'IV anteposto. No imbottitura è presente, la lunghezza del testo in chiaro è un multiplo di 16.
Così sto facendo questo:
aes = OpenSSL::Cipher::Cipher.new("AES-128-CCB")
aes.decrypt
aes.key = k
aes.iv = c[0..15]
aes.update(c[16..63]) + aes.final
e sta funzionando bene.
Ora ho bisogno di fare la modalità CBC a mano, quindi ho bisogno di "semplice" decrittografia AES di un singolo blocco.
sto cercando questo:
aes = OpenSSL::Cipher::Cipher.new("AES-128-ECB")
aes.decrypt
aes.key = k
aes.iv = c[0..15]
aes.update(c[16..31]) + aes.final
E non riesce con
in `final': bad decrypt (OpenSSL::Cipher::CipherError)
Come posso fare?
Come non impostare 'iv'? perché non dovrebbe esserci "iv" in modalità EBC. –