当前位置: 首页 > 面试题库 >

最佳加密工作因素是什么?

危烨煜
2023-03-14
问题内容

我正在使用Java
scrypt库
进行密码存储。当我加密事物时N,它需要一个rp值,其文档称为“
CPU成本”,“内存成本”和“并行化成本”参数。唯一的问题是,我实际上不知道它们的具体含义,或者对他们有什么好的价值。也许它们以某种方式对应于Colin
Percival原始应用程序上的-t,-m和-M开关?

有人对此有任何建议吗?该库本身列出了N = 16384,r = 8和p = 1,但是我不知道这是强还是弱还是什么。


问题答案:

首先:

cpercival 在他2009年的幻灯片中提到了一些

  • <100ms(互动使用)时(N = 2 ^ 14,r = 8,p = 1)
  • (N = 2 ^ 20,r = 8,p = 1)<5s(敏感存储)。

即使在今天(2012-09年),这些值也足以用于一般用途(某些WebApp的密码数据库)。当然,具体取决于应用程序。

同样,这些值(大部分)表示:

  • N:一般工作系数,迭代次数。
  • r:用于基础哈希的块大小;微调相对内存成本。
  • p:并行化因子;微调相对的cpu成本。

r并且p是为了适应潜在的问题,随着预期的CPU速度和内存大小和带宽不增加。如果CPU性能提高更快,那么您p应该增加,而内存技术上的突破则应该提高一个数量级r。并且N可以跟上每
隔一段时间 性能的一般翻番的情况。

重要: 所有值都会改变结果。(更新:)这就是为什么所有scrypt参数都存储在结果字符串中的原因。



 类似资料:
  • 我使用Java scrypt库存储密码。当我加密东西时,它会调用、和值,它的文档将这些值称为“CPU成本”、“内存成本”和“并行化成本”参数。唯一的问题是,我不知道它们的具体含义,也不知道它们有什么好的价值观;也许它们与Colin Percival最初应用程序上的-t、-m和-m开关有某种对应? 有人对此有什么建议吗?库本身列出了N=16384,r=8,p=1,但我不知道这是强是弱还是什么。

  • 问题内容: 我刚开始学习Go,并通读现有代码以学习“其他人的做法”。在这种情况下,遍历使用go“工作区”,尤其是与项目依赖关系有关的地方。 在处理各种Go项目时,使用一个或多个Go工作区(即$ GOPATH的定义)的常见(或存在)最佳实践是什么?我应该期望有一个类似于我所有项目的中央代码存储库的Go工作区,还是在我处理这些项目时都明确将其分解并设置$ GOPATH(有点像python) virtu

  • 问题内容: 根据您的经验,您可以推荐一些东西吗?我使用了izpack,它是一个非常不错的工具,还有其他更好的工具吗? 问题答案: 在MS Windows中,NSIS很棒,它是免费的,并且OSS 参考:具有自动JRE安装的Java启动器

  • 我想在处理草图显示上标记点,但是只显示一个像素,这在我的显示器屏幕上几乎看不到,所以我想把它稍微大一点。请问,用四个或九个像素而不是一个像素来标记一个点的最佳方式是什么?我可以使用或,但它们看起来像一个大锤和螺母解决方案。也许在这个点周围画一个3x3的正方形可能是最好的,但我想问的是,如果已经有一个众所周知的解决方案可用的话。

  • 我一直在为Linux寻找一个好的加密git凭证助手(可以以加密的方式存储密码,并在以后检索它们,符合git-credential协议),我真的很惊讶,似乎没有太多出现。 在我所看到的所有git文档和相关git凭证文档中,他们甚至都没有提到这种东西的存在。它总是提到适用于Mac的osxkeychain,但如果您正在运行Linux,它只会将您重定向到解释如何使用“缓存”作为助手的文档。一些参考资料提到

  • 问题内容: 我是一名PHP开发人员,现在我使用Notepad++进行代码编辑,但是最近我一直在寻找IDE以简化工作。 我研究了Eclipse,Aptana Studio和其他几个工具,但我不确定,它们看上去都不错,但是有点复杂。我相信一旦习惯了,一切都会变得容易,但是我不想浪费时间。 这就是我要寻找的: FTP支持 代码突出显示 SVN支持会很棒 Ruby和JavaScript会很棒 问题答案: