BSV 上零知识友好的哈希函数 MiMC

MiMC是一种特别设计的哈希函数,旨在减少零知识证明(ZKP)中的电路大小和成本。它仅使用加法和乘法操作,适合于需要高效ZKP的场景,如承诺方案、签名和默克尔树。MiMC通过最小化涉及位操作的SHA256等函数的电路复杂性,提高了ZKP的效率。

MiMC 是一个“零知识友好”的哈希函数,可以生成有效的零知识证明 (ZKP)。

之前,我们讨论了通过zk-SNARK,零知识证明可以应用于任何数学函数。在内部,需要将函数转换为电路,电路中只允许进行加法和乘法运算。虽然理论上所有函数都可以转换,但实际上某些函数的电路更小,并且它们的 ZKP 成本低于其他函数。例如,SHA256 需要大量位操作,因此在电路大小方面是最昂贵的。

MiMC 散列函数专门设计用于通过仅使用加法和乘法来最小化电路大小,从而最小化 ZKP 成本。同时确保反向工程散列的原像的难度不会降低。

哈希函数可以在许多应用中找到,例如承诺方案、签名和默克尔树。当需要高效的 ZKP 时,MiMC 是一个很好的候选哈希函数。

算法

为了散列单个数字 x,我们计算以下函数:

在这里插入图片描述

r 是轮数,Fᵢ 是第 i 轮的轮函数,k 是密钥。 是函数组合。

cᵢ 是圆形常数,c₀=0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sCrypt Web3应用开发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值