【问题标题】:AES based non-cryptographic hash algorithm基于AES的非加密哈希算法
【发布时间】:2018-10-28 07:03:30
【问题描述】:

是否有基于 AES 的非加密哈希算法?

我认为这可能很有用,因为我们有 AES-NI 指令,这样的哈希可能非常快。

我想将其用于指纹识别(因此其输出应至少为 128 位)和错误检测目的。

(我已经搜索过这个,但我发现的只是加密哈希)

【问题讨论】:

  • 您的理由是非加密哈希算法可以实现更高的性能吗?尝试仅使用带有零密钥的加密货币。或者尝试使用带有零键的 CBC 的最后一个块。这些具有已经实施的优势,因此您几乎可以免费发现性能。
  • @ThomasM.DuBuisson:很简单。 AES 需要更多的轮次。我创建了一个简单的测试,似乎只有 2 轮就足够了。与 AES-128 需要的 10 轮相比,它快了 5 倍。但我不是专家,因此提出了这个问题。
  • 是的,已知两轮AES实现全扩散。因此,您可以创建一个新密码 AES-2,并使用该密码获得一个 CMAC,这将是一个合理的非加密哈希。我认为您无需实现此功能即可很好地猜测性能 - 只需将现有 CMAC 基准时间除以 6 即可。
  • @ThomasM.DuBuisson:我认为存在更好的解决方案。例如,我创建了一个哈希,它比 AES-128-CBC(在我的机器上约为 1GB/秒)快 30 倍以上(~30GB/秒)。问题是它未能通过一些 SMHasher 测试。也许其他人也玩过这个问题,并且已经有一个可行的解决方案,它通过了 SMHasher,同时速度非常好。
  • @zaph:我做到了。指纹识别和错误检测。不适用于哈希表。

标签: hash aes


【解决方案1】:

MeowHash 是一种新的(尚未正式发布)基于 AES-NI 的哈希函数,速度极快,并且对于您提到的函数(但不是密码学)似乎非常健壮:

写信:https://mollyrocket.com/meowhash

回购:https://github.com/cmuratori/meow_hash

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-13
    • 1970-01-01
    • 2015-06-16
    • 2021-01-23
    • 2011-10-10
    • 1970-01-01
    • 2012-09-18
    • 1970-01-01
    相关资源
    最近更新 更多