问题描述
.NET 的 AES 不直接实现 CTR.它只实现了 CBC、CFB、CTS、ECB 和 OFB.
.NET's AES does not implement CTR directly. It only implements CBC, CFB, CTS, ECB and OFB.
我可以使用这些模式中的任何一种并围绕它们安全地实现 CTR,还是我需要完全使用不同的库?
Can I use any of these modes and securely implement CTR around them, or do I need to use a different library altogether?
推荐答案
是的,您可以在 ECB 模式下使用 .NET 的 AES 和计数器构建 CTR,您自己初始化和递增,为每个加密块.
Yes, you can build a CTR using .NET's AES in ECB mode and a counter, that you yourself initialize and increment, for each block encrypted.
一个例子是 WinZipAes 加密流,它是开源 DotNetZip 的一部分.
WinZip 指定对加密的 ZIP 文件使用 AES 加密,在 CTR 模式下使用 AES.DotNetZip 使用 ECB 和计数器实现 CTR 模式.
An example of this is the WinZipAes encryption stream, which is part of the open-source DotNetZip.
WinZip specifies the use of AES encryption for encrypted ZIP files, using AES in CTR mode. DotNetZip implements the CTR mode using ECB and the counter.
参见 这里 一些评论.
这篇关于我可以在 .NET 中以 CTR 模式使用 AES 吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!