我正在使用openssl来了解有关对称加密的更多信息.我读到ECB(电子密码本)模式不如CBC(密码块链接)那么安全的一个原因是由于在ECB模式下,密码(在这种情况下,aes-128)在128位加密时间,这可能导致出现相同的序列.例如,如果文件中多次出现"安全性"一词,并且它们恰好以128位序列对齐,则应出现重复序列.我试图在实际环境中看到这种效果,特别是使用openssl.
我输入的命令是:
openssl aes-128-ecb -a -in plain.txt -out cipher.txt
Run Code Online (Sandbox Code Playgroud)
plain.txt包含:0123456789abcdef0123456789abcdef
我使用的加密密码是"密码"(没有双引号).
cipher.txt包含:U2FsdGVkX18qCQ5SjLaVsLS8als/h5eJl69ATS3pD94x5kwkpmfNWauW/lUOZdeC 5a38fSS7mTUc7hT7XiXdIw ==
如果我正确理解了所有内容,则plain.txt中的每个字符应代表一个字节.16个字符= 128位.如您所见,我正在尝试将序列对齐为128位块以查看重复序列.
上面的逻辑出了什么问题?
您的命令行使用base64,salt和padding,所有这些都搞砸了.尝试:
openssl aes-128-ecb -in plain.text -out cipher.txt -nosalt -nopad
Run Code Online (Sandbox Code Playgroud)
你会发现它cipher.txt包含32个字节:
83 d2 41 fb ca 6e 8a e3 3b 6e 55 ae 2c ac 62 af
83 d2 41 fb ca 6e 8a e3 3b 6e 55 ae 2c ac 62 af
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3503 次 |
| 最近记录: |