Encryption 使用加密的内存消耗,AES

Encryption 使用加密的内存消耗,AES,encryption,aes,Encryption,Aes,我只是想知道是否有人知道AES加密文本文件所消耗的内存是否等于解密同一文件所消耗的内存 谢谢。AES算法本身有一个相当小的状态,根据实现的不同,对于快速实现(+一些静态表),这个状态只有一KB左右。剩下的取决于AES的使用方式,大多数操作模式(如CBC)只需要最大限度地缓存一个块。天真的实现可能只是缓冲一切 如果使用CTR操作模式,则会生成一个密钥流,用于加密和解密。加密/解密是完全相同的操作。在这种情况下,同样数量的内存用于加密和解密当然是合乎逻辑的 原则上,CTR消耗的内存可能只是密码实现的

我只是想知道是否有人知道AES加密文本文件所消耗的内存是否等于解密同一文件所消耗的内存


谢谢。

AES算法本身有一个相当小的状态,根据实现的不同,对于快速实现(+一些静态表),这个状态只有一KB左右。剩下的取决于AES的使用方式,大多数操作模式(如CBC)只需要最大限度地缓存一个块。天真的实现可能只是缓冲一切

如果使用CTR操作模式,则会生成一个密钥流,用于加密和解密。加密/解密是完全相同的操作。在这种情况下,同样数量的内存用于加密和解密当然是合乎逻辑的


原则上,CTR消耗的内存可能只是密码实现的内部状态、加密计数器的单个块和输入/输出的单个位。但出于效率考虑,通常需要缓冲大量的明文/密文

很可能是的,但是没有实际的实现,这是不可能回答的。我已经编写了我的代码来计算AES加密和解密的内存消耗,我得到的结果是没有大的不同,但是文件大小越大是否会消耗更多的内存@谢谢million@SehamHAmmadAES算法本身有一个相当小的状态,这取决于实现,对于快速实现来说,可能是KB左右。其余的取决于它的使用方式,大多数操作模式只需要最大限度地缓存一个块,但简单的实现可能只是缓冲所有内容。如果您非常关心内存消耗(这通常不是AES的问题),我假设您的目标是一个相当小的系统(内存少,cpu相对较弱)。您可能更应该关注cpu周期消耗和速度,尤其是如果在该平台上没有aes的硬件加速,并且您想要加密的数据量不仅仅是一点点。。。