gpt4 book ai didi

php - 是否可以在 ECB 模式下将 AES 与 IV 一起使用?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:51:27 26 4
gpt4 key购买 nike

来自 http://php.net/manual/en/function.mcrypt-encrypt.php ,我看到以下代码在 ECB 模式下使用 AES 和 IV,

<?php
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$key = "This is a very secret key";
$text = "Meet me at 11 o'clock behind the monument.";
echo strlen($text) . "\n";

$crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv);
echo strlen($crypttext) . "\n";
?>

但来自 wiki http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation ,它说欧洲央行不需要 IV。是否真的可以在 ECB 模式下将 AES 与 IV 一起使用?在这种 ECB 模式下,与不使用时相比,额外的 IV 是否会提供更多的安全性?

最佳答案

无法在 ECB 模式下使用 IV。然而,这有点没有实际意义,您应该这样做

永远不要为任何事情使用 ECB 模式*。

更一般地说,您可能不应该直接使用加密原语,而应该使用像 keyczar 这样的加密库。抽象出这些类型的决定。

** 实际上,ECB 有一些非常特殊的用途,例如“安全”伪随机排列 - 但您当然不应该将 ECB 用于与加密数据相关的任何事情。

关于php - 是否可以在 ECB 模式下将 AES 与 IV 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1789709/

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