【发布时间】:2010-11-16 05:54:57
【问题描述】:
我需要一个具有以下属性的安全(加密)哈希函数:
- 可以用尽可能少的行进行编码(在 R5RS 方案中)。希望不到 50 岁。
- 内存和 CPU 性能在密码长度数据的范围内。 (例如,它不必非常高效或为数百万字节的数据创建哈希)
我能找到的最安全的哈希函数在设计时考虑了速度/内存效率,因此编码起来很复杂。
当前候选者是 Mash-1(或 Mash-2): Handbook of applied cryptography. Google Books
谢谢。
编辑: 到目前为止,谢谢大家的回答。如果以下内容粗鲁,请原谅我,我只想说清楚。请相信我,我已经完成了作业并考虑了“标准”选项。我知道最简单的方法是使用其中之一,但这不是我想要的。
我想回答的一个问题是: 什么加密安全的哈希算法可以用最少的“可读”代码实现?
我已经发布了我能找到的最佳候选人。任何关于更简单的建议或关于 Mash-1/2 的评论都会非常有帮助。
【问题讨论】:
-
你只是把它当作一个学习练习吗,因为坦率地说,除了众所周知的算法之外,我不会相信任何东西。
-
您遇到的问题是,当 X 是一个鲜为人知的加密原语时,没有人愿意把手放在心上说“X 是安全的”。这是因为“安全”通常意味着“尽管受到极大关注,但尚未被破坏”。
-
您确实需要澄清您的安全要求:如果您不选择最常见的哈希算法之一,您就是在进行安全权衡,因为它更有可能具有未知的弱点. “安全”不是二进制值。您不愿意使用 SHA-512,因为它实现起来太复杂了。因此,请帮助我们了解您愿意为更容易实施而牺牲多少安全性。您是否只是在寻找可以在 50 行 Scheme 中实现的最安全哈希?即使该算法很可能在 10 年内被破坏?
-
我正在整理一个用作教学工具的 Web 堆栈。我不想省略任何必要的东西(密码散列),但我想确保一切都尽可能简单,以便任何研究它的人都希望完全理解每个组件。一些加密算法(RSA、Feistel 密码)对它们有某种简单的优雅,我希望在安全哈希中也有类似的东西。我必须使用可用的东西,这个线程的目的是发现我的选择是什么。
-
scheme真的没有sha1的实现吗?
标签: hash cryptography scheme