Potrzebuję grać z niektórymi fragmentami AES.Odszyfrowywanie pojedynczego bloku AES w Ruby
Mam tekst szyfrowania c i klawisz k. Tekst szyfrowania został zaszyfrowany przy użyciu AES-CBC, z dołączonym IV. Nie dopełnienie jest obecny, długość zwykłego tekstu jest wielokrotnością 16.
Więc robię to:
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
i to działa dobrze.
Teraz muszę zrobić tryb CBC ręcznie, więc potrzebuję "zwykłego" odszyfrowania AES pojedynczego bloku.
Próbuję to:
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
I to nie z
in `final': bad decrypt (OpenSSL::Cipher::CipherError)
jaki sposób mogę to zrobić?
Co powiesz na brak ustawienia "iv"? ponieważ nie powinno być "iv" w trybie EBC. –