![]() |
1
6
你想要的叫做 Homomorphic Hash . 我没有跟上最新的发展,但我看到的一个描述是非常-几乎不可能-缓慢的计算。原稿是 here ,并对其使用进行了一些改进 here . 至于组合块,散列通常需要在素数字段中使用加法。如果你使用喷泉代码,你不必使用异或,尽管-任何可逆函数是好的,这包括加法。上面描述的散列用于素数字段中的加法和乘法,并且是可证明安全的。 |
![]() |
2
9
如果你要的身份是
linear map (在 field with two elements )从可能的块空间到可能的散列空间。 简单地说,这意味着什么?好吧,假设您的映射获取长度为6的块并返回长度为3的散列,这些是一些散列:
然后,您可以通过上述的线性组合计算任何给定块的散列。例如,
这意味着什么?ideal cryptographic hash function 有四种主要或重要的性质:
当然,第一个属性可能是真的,但其余的则不是。反转散列函数就像求解 system of linear equations ,这很简单。我假设你已经对实数上的线性映射做了这个,但这里的方法是完全相同的。
如果您发现
kernel
散列函数的,即消息
第三个属性有点难,但也可以被破坏。(例如,假设您正在散列一个合法的合同。找几个地方,可以修改一些零散的逗号或其他东西。考虑这些变化对hash函数的影响,然后求解一个线性方程组。) |
|
AlwaysneedsHelp · 如何减少此处使用的内存量? 1 年前 |
![]() |
snake123 · 滚动到不同页面的锚点,URL中没有# 1 年前 |
![]() |
Jan · 密码salt是否应存储在数据库中 1 年前 |
![]() |
birb · RFC-6238 TOTP实现与示例不匹配 1 年前 |
![]() |
AishaWho · 请解释res=id^(id>>>32) 1 年前 |
![]() |
Jahongir Rahmonov · 计算文件的校验和 7 年前 |