Hash 基于AES的非加密散列算法

Hash 基于AES的非加密散列算法,hash,aes,Hash,Aes,是否存在基于AES的非加密哈希算法 我认为这可能很有用,因为我们有AES-NI指令,这样的散列可能非常快 我想将其用于指纹识别(因此其输出应至少为128位)和错误检测目的 (我已经在谷歌上搜索过了,但我发现的都是加密哈希)MeowHash是一个新的(尚未正式发布)基于AES NI的哈希函数,速度非常快,对于您提到的函数(但不是加密)来说似乎非常健壮: 撰写: Repo:您是否认为非加密哈希算法可以获得更高的性能?尝试使用密钥为零的加密密钥。或者尝试使用带有零键的CBC的最后一个块。它们的优点是已

是否存在基于AES的非加密哈希算法

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

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

(我已经在谷歌上搜索过了,但我发现的都是加密哈希)

MeowHash是一个新的(尚未正式发布)基于AES NI的哈希函数,速度非常快,对于您提到的函数(但不是加密)来说似乎非常健壮:

撰写:


Repo:

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