首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用AES-128加密4个字节时应使用的最小字节数是多少?

使用AES-128加密4个字节时应使用的最小字节数是多少?
EN

Stack Overflow用户
提问于 2012-03-20 19:31:43
回答 1查看 780关注 0票数 0

我正在做一个项目,涉及使用UDP在高性能套接字连接上发送一些非常小的加密消息。我在其他帖子中读到,AES应该使用128位密钥加密的最小字节数是块大小,即16字节。

但是,真正的问题是-这是否足以提供良好的保护?我正在考虑使用一种方案,将一些随机数据添加到消息中,并获得一个介于1和12之间的随机数,该随机数将用于将4字节的实际数据放入块中。块中的零字节将是随机数,其是4个字节的块中的开始位置。在构建块之后,将使用128位密钥通过AES对其进行加密。客户端断开连接后,数据没有任何价值,连接时间最长不能超过24 - 48小时。像这样的东西可以工作吗,或者我应该发送更多的数据来让潜在的对手更难破解吗?

我还将加密其他数据,如信用卡号码,银行帐户信息,密码散列等用户断开连接后确实需要保护。我计划使用AES与256位密钥。因此,对于这种情况,同样的问题-应该加密的最小字节数是多少,才能为256位密钥提供良好的保护?16个字节就足够了,还是32个字节更好?

我计划使用bouncy castle的快速AES引擎来处理小消息。请参见:

http://www.bouncycastle.org/csharp/index.html

http://www.bouncycastle.org/docs/docs1.6/org/bouncycastle/crypto/engines/AESFastEngine.html?is-external=true

对于256位的AES加密,我正在考虑使用RijndaelManaged,因为它似乎在服务器上有更好的安全功能,并且对于这些不频繁的事务,性能不是太大的问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-20 20:28:08

首先,密文越少,就越不容易受到攻击。似乎你认为这是另一种方式。

对于UDP,我强烈建议使用计数器模式加密。其优点是可以预先计算密钥流,这有助于低延迟的加密/解密。它也不需要填充,因此您不必发送超过所需的数据(请注意,您有一个关于数据长度的侧通道,因此可以清楚地看到"Yes“和"No”之间的区别)。不过,你确实需要一个好的现实感。

如果您想要完整性保护,那么GCM模式加密将是非常可取的。如果它不可用,请在您的密文中查看HMAC或MAC -但您需要两个密钥,而不是只需要一个密钥。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9785941

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档