作为背景,我正在研究 Matasano Crypto Challenges .其中一个问题(第 1 组,挑战 7)是解密 AES-128 ECB 模式 file使用给定的键,YELLOW SUBMARINE。
文件是 base64 编码的,我可以用 Python 解密文件,但我不能使用 Windows 10 openssl
命令行工具。
我正在运行的命令是:
openssl aes-128-ecb -d -a -in 7.txt -pass pass:"YELLOW SUBMARINE"
当我运行它时,我被告知我有一个错误的魔数(Magic Number)
。
有人知道我为什么会收到此错误吗?
最佳答案
看起来 -pass
选项不喜欢密码短语中的空格。
您可以像这样将选项 -K
与十六进制 key 一起使用:
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"')
关于windows - OpenSSL:使用命令行工具的错误魔数(Magic Number),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37656594/