gpt4 book ai didi

openssl - 为什么 openssl aes-128-ecb 不会导致重复序列?

转载 作者:行者123 更新时间:2023-12-02 07:08:30 26 4
gpt4 key购买 nike

我正在研究 openssl 以了解有关对称加密的更多信息。我读到 ECB(电子密码本)模式不如 CBC(密码 block 链接)安全的一个原因是在 ECB 模式下,密码(在本例中为 aes-128)以 128 位加密时间,这可能会导致出现相同的序列。例如,如果“security”这个词在文件中多次出现,而它们恰好在一个 128 位序列中对齐,则应该出现重复的序列。我试图在实际环境中看到这种效果,特别是在 openssl 中。

我输入的命令是:

openssl aes-128-ecb -a -in plain.txt -out cipher.txt

plain.txt 包含: 0123456789abcdef0123456789abcdef

我使用的加密密码是“password”(没有双引号)。

cipher.txt 包含: U2FsdGVkX18qCQ5SjLaVsLS8als/h5eJl69ATS3pD94x5kwkpmfNWauW/lUOZdeC5a38fSS7mTUc7hT7XiXdIw==

如果我没有理解错的话,plain.txt 中的每个字符应该代表一个字节。 16 个字符 = 128 位。如您所见,我正在尝试对齐 128 位 block 中的序列以查看重复序列。

上面的逻辑有什么问题吗?

最佳答案

您的命令行使用 base64、salt 和 padding,所有这些都把事情搞砸了。尝试:

openssl aes-128-ecb -in plain.text -out cipher.txt -nosalt -nopad

你会发现 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

关于openssl - 为什么 openssl aes-128-ecb 不会导致重复序列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8394909/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com