首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RNCryptor:要更改哪些设置以提高性能?

RNCryptor:要更改哪些设置以提高性能?
EN

Stack Overflow用户
提问于 2013-11-23 10:19:13
回答 2查看 1.3K关注 0票数 4

在我的应用程序中,我有很多短字符串要解密,而解密速度是关键。

目前,我正在试验RNCryptor,但是对于我的用例来说,它的默认设置有点慢。否则,这是一个很棒的框架:-)

加密只需执行一次,因此其性能并不重要。

我很好,放弃保护的速度,因为我只是想有一个非常基本的加密到位。

为了实现最快的解密性能,您建议使用哪些RNCryptor设置来加密和解密?一个简短的代码示例就太棒了!

同样,对于当前用例,我也可以使用非常基本的加密保护。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-08 20:10:05

在RNCryptor中,最大的时间来自于对PBKDF2的调用。它迭代20,000次(每个键为10,000次)。虽然在即将发布的RNCryptor版本中,它可能会变得更快一些,但基于密码的加密总是很慢的。这是一个安全特性;它是故意慢的。它的设计是以一种让攻击者感到沮丧的方式缓慢,同时对最常见的用例产生可接受的影响。

通过使用基于密钥的方法而不是基于密码的方法,可以显著提高性能.基于密钥的方法没有注入减速。如果可能的话,这将是我推荐的方法。生成两个随机的256位密钥,而不是使用密码。

您可以将PBKDF2迭代的次数设置为较小的次数(例如,在处理JavaScript时这是必要的),但是生成密钥的速度越快,安全性就越差。

有许多方法可以修改格式以提高用例的性能,但是很容易搞砸它,严重损害安全性。正如@Zaph所指出的,在修改任何安全框架之前,我要么做大量的研究,要么聘请专家。

票数 7
EN

Stack Overflow用户

发布于 2013-11-23 12:19:55

没有什么可以做的,RNCryptor并不慢。

AES128将比AES256快一点--或者不取决于平台。

在设置中有很大的成本,所以这是一个可能使事情变得更快的地方。一种可能是将字符串组合在一起。

如果可以将所有字符串设置为块大小的倍数,则可以使用一个设置、欧洲央行模式和部分CCryptor函数。注意,欧洲央行模式将降低安全,特别是在短字符串上。用CCCryptorCreate()安装,用CCCryptorUpdate()用短填充字符串解密。

另一件需要考虑的事情是TinyCrypt。“TinyCrypt的第一点是非常快地压缩和加密文件。”我很少建议除了AES之外,使用非主流密码器充其量只能是--但是你说你愿意为了速度而权衡安全性。

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

https://stackoverflow.com/questions/20161106

复制
相关文章

相似问题

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