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函数的影响,然后求解一个线性方程组。) |
John V · 是否存在单元测试无法发现的逻辑/流错误类型? 6 年前 |
Beefster · 为什么ANSI颜色转义以“m”而不是“]”结尾? 6 年前 |
Guillermo Gutiérrez · STR转换是如何工作的? 7 年前 |
RudziankoÅ · 合并排序数组算法 7 年前 |
user8852560 · 构造函数中的验证和构造函数冲突 7 年前 |
jav974 · 订购产品时寻找最佳价格组合的算法 7 年前 |
hippietrail · 确定浮点数中前导零的数量 7 年前 |