对于背景,我正在研究Matasano Crypto Challenges。其中一个问题(Set1,Challenge 7)是使用给定的密钥YELLOW SUBMARINE解密AES-128 ECB模式file。
该文件是base64编码的,我可以用Python解密文件,但我无法使用Windows 10 openssl
命令行工具。
我正在运行的命令是:
openssl aes-128-ecb -d -a -in 7.txt -pass pass:"YELLOW SUBMARINE"
当我跑步时,我被告知我有bad magic number
。
有没有人知道我为什么会收到这个错误?
答案 0 :(得分:2)
看起来-pass
选项与密码短语中的空格不同。
您可以使用带有十六进制密钥的-K
选项,如下所示:
openssl aes-128-ecb -d -a -K 59454c4c4f57205355424d4152494e45 -in 7.txt
或者直接使用密码使用此命令:
openssl aes-128-ecb -d -a -in 7.txt -K $(echo -n "YELLOW SUBMARINE" | hexdump -v -e '/1 "%02X"')