使用什么块密码模式? CFB足够吗?

时间:2009-07-16 22:00:13

标签: encryption cryptography aes

我想使用AES加密一些任意长度的数据,我想知道我应该使用哪种分组密码模式。 http://www.daemonology.net/blog/2009-06-11-cryptographic-right-answers.html建议在点击率模式下使用AES。我正在编写一个Ruby on Rails插件,不幸的是OpenSSL(Ruby有标准绑定)不支持CTR。我希望我的代码能够为所有人开箱即用,而不需要他们安装第三方加密库,所以现在我正在使用CFB。 CFB可以接受吗?如何与CTR或其他模式进行比较(ECB除外,我知道这是不安全的)?

4 个答案:

答案 0 :(得分:3)

AFAIK,CFB与任何其他模式一样安全。流模式的优点在于其他领域(并行化,随机访问等)。

另一张海报是正确的,加密本身并不一定意味着什么。有很多细节,你可能会错过一些。

另一方面,我不同意ECB / CFB的意见。 ECB可以揭示数据中的模式,并且可以使弱方案更弱。我不会太不愿意把它写成“不安全”。

答案 1 :(得分:1)

CFB在流密码的上下文中与CTR一样安全.CTR可以并行化,而CFB则不能。注意实施您自己的加密流密码的警告可能会给您带来安全漏洞。如果可能的话,最好的办法是从Ruby到OpenSSL进行C绑定。

答案 2 :(得分:0)

作为使用组合生成流密码的模式的替代方法,您可以使用名为cipher text stealing (CTS)的技术以及类似CBC的模式来解决问题,但这仅适用于16字节的数据大小和起来。

答案 3 :(得分:-4)

不要自己进行加密。如果你不得不提出这样的问题,你就不太可能做得对。请使用图书馆。

例如,参考this post,然后this follow up,尤其是它所指的blog

例如,欧洲央行并不比CFB更不安全。它们用于不同的目的,并且出于错误的目的选择一个而不是一个不安全。