关注:尼姆·塞登为Lelantus密码学做无偿的代码审查

Lelantus加密审查简要在约20天的时间里,我回顾了初始IACR预印版1(草稿版)和发行版2的Lelantus协议的加密特性。
《财富代码》-深度分析、挖掘区块链价值项目,https://www.first.vip/hodl

Lelantus加密审查

简要

在约20天的时间里,我回顾了初始IACR预印版1(草稿版)和发行版2的Lelantus协议的加密特性。

本文仅仅针对发行版,因为发行版解决了IACR预印版的所有问题。

说明

我不是博士研究人员,也自认为不是一位专业的加密分析师。

但我有实现、破坏加密协议的经验。

我以公益的性质参与了审查,学习经验,并协助其他审计师做进一步研究。

任何差错都由我个人承担。

尽管如此,我已尽最大努力准确地审计Lelantus协议。

广义佩德森承诺

我认为,佩德森承诺符合标准,并保留了原方案的安全性。

生成器需要各自独立于绑定,因为生成器之间知道离散对数关系,会允许恶意验证程序多次提交相同的序列号或数值。除了每个生成器要独立之外,每个生成器也必须独立于其他两个生成器(本质上形成了经典佩德森承诺中的第二生成器)的乘积。

佩德森承诺的正式加密分析由Roberto Metere和Chaugyu Dong在2017年3月完成,使用了EasyCrypt扩展。进一步扩展他们的工作,包括证明广义佩德森承诺可以作为第二种确保通用构造正确性的方式。

离散对数表示的知识证明

根据本文的假设,证明离散对数知识的架构是正确的,且安全的。

恶意验证者破坏方案的一种可能性是设置x = 0,从而破坏绑定属性(使用任何指数都可以验证,不需要离散日志表示的知识)。

由于用Fiat-Shamir heuristic生成非交互质询x,因此x = 0的可能性几乎为零。或者,它将需要一个恶意验证程序来查找用于Fiat-Shamir heuristic的哈希函数的前像,如果给定一个加密的安全哈希函数,这种情况也是可以忽略的。

Bulletproof

由于使用的Bulletfproofs是未经修改的原始结构,所以遵从其他研究人员的正式审计。

熔铸

在熔铸的过程中,我们使用Fiat-Shamir heuristic生成随机致盲因子x。类似于用于证明离散知识的Fiat-Shamir heuristic,x = 0可以忽略不计。

如果另一个实现选择不使用Fiat-Shamir heuristic来生成x,则必须检查,确保x != 0以保留熔铸构造的绑定属性。

花费

在生成输出的过程中,使用加密安全锻随机数生成器(CSPRNG)随机采样致盲因子x0,…,xn。致盲因子为零的可能性可以忽略不计,但是建议做额外检查,确保绑定属性。

如果使用Fiat-Shamir heuristic抽样盲因,类似的推理也适用其他应用,例如x = 0可忽略。

构建的剩余部分是正确的,并提供了声称的安全属性。

Groth与Kohlweiss的多选一证明扩展超越了双盲承诺,而且并没有引入新的假设或安全漏洞。

质询参数x只有一个值能破坏绑定属性,即x = 0。

由于挑战通过Fiat-Shamir heuristic生成,所以x = 0的可能性为零。

由于Gk和Qk来自h2^gamma[k]和h2^-gamma[k]的乘积,因此分别需要做更多的分析来确保安全性没有发生细微变化。

例如,核查Comm(0, rho[k], gamma[k] + tau[k])等承诺,使不同的gamma[k]和 tau[k]求和为相同的指数,目前尚不清楚致盲因子的总和对证明的安全性是否有任何影响。

验证和接收

验证和接收结构看起来都是正确的,并提供声称的安全性。

对于接收结构,可能需要在实施过程中采取一些谨慎的措施,确保涉及机密数据的常量时间操作的安全。例如,被识别出要发送给收件人的代币要做额外的处理,这可能会为攻击者打开计时辅助通道。

确认

短短几周的审查,在与Reuben Yap和Aram Jivanyan交流,反馈与探讨当中,我受益匪浅。他们让整个审查过程有趣且高效。

Lelantus的论文结构合理,借助参考资料可以做更深入的研究,论文本身呈现的内容是相当复杂的,但采用了一种简洁的方式来陈述。在整个审查过程中,我学到了很多,也期待未来与Zcoin团队合作。

参考资料

1.Lelantus IACR preprint

2.Lelantus: A New Design for Anonymous and Confidential Cryptocurrencies

3.Automated Cryptographic Analysis of the Pedersen Commitment Scheme

4.One-out-of-Many Proofs: Or How to Leak a Secret and Spend a Coin

本文由 区块链资讯平台头等仓 作者:Mark 发表,其版权均为 区块链资讯平台头等仓 所有,文章内容系作者个人观点,不代表 区块链资讯平台头等仓 对观点赞同或支持。如需转载,请注明文章来源。
《财富代码》-深度分析、挖掘区块链价值项目,https://www.first.vip/hodl

发表评论