同态承诺方案

同态承诺方案

一个非交互式承诺方案允许发送方构造一个值的承诺,发送方可以后续打开这个承诺并揭示这个值,承诺的接收者可以检查和验证承诺的值的确是这个特定的值。一个承诺方案必须具备两个特性:hiding 和 binding。hiding 意味着承诺并不会揭示承诺值,binding 意味着不能打开两个不同值的承诺。

一个非交互式承诺方案是一对概率多项式时间算法 ( G , C o m ) (\mathcal{G} ,Com) (G,Com)。初始化算法 c k ← G ( 1 λ ) ck \leftarrow \mathcal{G}(1^{\lambda}) ckG(1λ) 生成一个承诺密钥 c k ck ck c k ck ck 指定了一个消息空间 M c k \mathcal{M}_{ck} Mck,一个随机空间 R c k \mathcal{R}_{ck} Rck 和一个承诺空间 C c k \mathcal{C}_{ck} Cck,可以被描述为函数 C o m c k : M c k × R c k → C c k Com_{ck}: \mathcal{M}_{ck}\times \mathcal{R}_{ck} \rightarrow \mathcal{C}_{ck} Comck:Mck×RckCck。给定一个消息 m ∈ M c k m\in \mathcal{M}_{ck} mMck,发送者选择一个随机数 r ← R c k r \leftarrow \mathcal{R}_{ck} rRck 并计算承诺 c = C o m c k ( m ; r ) c=Com_{ck}(m;r) c=Comck(m;r)

同态性

我们有承诺密钥 c k ck ck,消息 m 0 , m 1 ∈ M c k m_0,m_1\in \mathcal{M}_{ck} m0,m1Mck 和随机数 r 0 , r 1 ∈ R c k r_0,r_1\in \mathcal{R}_{ck} r0,r1Rck,有以下性质:
C o m c k ( m 0 ; r 0 ) ⋅ C o m c k ( m 1 ; r 1 ) = C o m c k ( m 0 + m 1 ; r 0 + r 1 ) Com_{ck}(m_0;r_0)\cdot Com_{ck}(m_1;r_1)=Com_{ck}(m_0+m_1;r_0+r_1) Comck(m0;r0)Comck(m1;r1)=Comck(m0+m1;r0+r1)

佩德森承诺

佩德森承诺是具有同态性承诺的一个例子。密钥生成算法 G \mathcal{G} G 输出一个 q q q 阶循环群 G \mathbb{G} G,群 G \mathbb{G} G 的两个生成元 g , h g,h g,h。承诺密钥为 c k = ( G , q , g , h ) ck=(\mathbb{G},q,g,h) ck=(G,q,g,h)。为了承诺 m ∈ Z q m \in Z_q mZq,承诺者选择一个随机数 r ∈ Z q r\in Z_q rZq 并计算 C o m c k ( m ; r ) = g m h r Com_{ck}(m;r)=g^mh^r Comck(m;r)=gmhr。在离散对数假设下,承诺方案是完全hiding 和 binding。
S e t u p : c k = ( G , q , g , h ) ; C o m c k ( m ; r ) = ( g m h r ) \mathrm{Setup}:ck=(\mathbb{G},q,g,h);\quad Com_{ck}(m;r)=(g^mh^r) Setup:ck=(G,q,g,h);Comck(m;r)=(gmhr)

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值