【密码学百科】承诺方案:Pedersen 承诺、向量承诺与多项式承诺

💡 原文中文,约21900字,阅读约需52分钟。
📝

内容提要

承诺方案是现代密码学的核心,确保消息的隐藏性和绑定性。主要包括哈希承诺、Pedersen承诺和KZG承诺,广泛应用于零知识证明、安全多方计算和区块链等领域。设计时需平衡隐藏性与绑定性,具有重要的实际意义。

🎯

关键要点

  • 承诺方案是现代密码学的核心,确保消息的隐藏性和绑定性。
  • 承诺方案包括哈希承诺、Pedersen承诺和KZG承诺,广泛应用于零知识证明、安全多方计算和区块链等领域。
  • 承诺方案由设置算法、承诺算法和验证算法组成,安全性由隐藏性和绑定性决定。
  • 隐藏性要求敌手无法从承诺值中提取有用信息,分为计算隐藏性和完美隐藏性。
  • 绑定性要求承诺者在生成承诺值后无法找到不同的消息-随机数对使得承诺值相同。
  • 承诺方案设计时需在隐藏性与绑定性之间做出取舍。
  • 哈希承诺是最简单的承诺方案,依赖于哈希函数的抗碰撞性和单向性。
  • Pedersen承诺基于离散对数假设,具有完美隐藏性和计算绑定性,支持加法同态性。
  • ElGamal承诺与ElGamal加密相关,提供计算隐藏性和可等化性。
  • Merkle树是经典的向量承诺方案,广泛应用于区块链,具有后量子安全性。
  • KZG承诺是多项式承诺方案,基于双线性配对,具有常数大小的承诺值和验证时间。
  • 承诺方案在零知识证明、安全多方计算、区块链和电子投票等领域有广泛应用。
  • 前沿研究方向包括透明多项式承诺、基于格的承诺方案和函数承诺等。

延伸问答

承诺方案的基本概念是什么?

承诺方案是现代密码学的核心构件,确保消息的隐藏性和绑定性,允许承诺者在揭示消息之前锁定信息。

Pedersen承诺的主要特点是什么?

Pedersen承诺基于离散对数假设,具有完美隐藏性和计算绑定性,支持加法同态性,是广泛使用的承诺方案之一。

哈希承诺与Pedersen承诺的区别是什么?

哈希承诺实现简单,依赖哈希函数的抗碰撞性,提供完美绑定性;而Pedersen承诺提供完美隐藏性和计算绑定性,支持同态性。

KZG承诺的优势是什么?

KZG承诺具有常数大小的承诺值和验证时间,适合链上验证场景,且支持批量开启,效率高。

承诺方案在零知识证明中的应用是什么?

承诺方案在零知识证明中用于锁定数据,证明者通过承诺将信息绑定,验证者通过选择性开启来验证数据的正确性。

承诺方案的安全性由哪些性质决定?

承诺方案的安全性由隐藏性和绑定性决定,隐藏性要求敌手无法从承诺值中提取信息,绑定性要求承诺者无法更改承诺的消息。

➡️

继续阅读