Ale*_*exR 4 encryption objective-c ios rncryptor
我的应用程序中有很多短字符串要解密,解密速度至关重要.
目前我正在试验,RNCryptor
但发现它的默认设置对我的用例来说有点慢.否则它是一个很棒的框架:-)
加密只进行一次,因此其性能并不重要.
我很好地放弃了对速度的保护,因为我只想要有一个非常基本的加密.
RNCryptor
您建议使用哪些设置进行加密和解密,以实现最快的解密性能?一个简短的代码样本会很棒!
同样,我对当前用例的非常基本的加密保护很好.
RNCryptor的大部分时间都在拨打PBKDF2.它迭代20,000次(每个键10,000次).虽然在即将推出的RNCryptor版本中它可能会快一点,但基于密码的加密总是很慢.这是一个安全功能; 它的目的很慢.它的设计速度慢,可以挫败攻击者,同时对最常见的用例产生可接受的影响.
您可以使用基于密钥的方法而不是基于密码的方法来显着提高性能.基于密钥的方法没有注入减速.如果可能的话,这将是我推荐的方法.生成两个随机的256位密钥而不是密码.
您可以将PBKDF2迭代次数设置为较小的数字(例如,在处理JavaScript时这是必要的),但是生成密钥的速度越快,安全性就越差.
有许多方法可以修改格式以提高用例的性能,但是很容易搞砸它并严重损害安全性.正如@Zaph所说,在修改任何安全框架之前,我要么做大量的研究,要么聘请专家.