安全多方计算之七:门限密码系统

Posted 机器学习Zero

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安全多方计算之七:门限密码系统相关的知识,希望对你有一定的参考价值。

门限密码系统

1. 定义

门限密码系统由分布式密钥生成算法、加密算法、门限解密算法三部分构成,定义如下:

(1)分布式密钥生成:这是一个由参与者共同生成公钥 y y y的协议,协议运行结束后,每个参与者将获得一个关于私钥 x x x的碎片、对应于该碎片的公钥密钥 y i y_i yi,以及与私钥 x x x相对应的公钥 y y y

(2)加密算法:该算法的输入为公钥 y y y和待加密的消息 m m m,其输出为在公钥 y y y下明文 m m m对应的密文 c c c

(3)门限解密: 这是一个由任意 t t t个参与者 P i 1 ′ , P i 2 ′ , … , P i t P_i_1^\\prime, P_i_2^\\prime, \\ldots, P_i_t Pi1,Pi2,,Pit 运行的协议, 对于给定输人密文 c c c t t t个公开验证密钥 h i 1 ′ , h i 2 ′ , … , h i t h_i_1^\\prime,h_i_2^\\prime, \\ldots, h_i_t hi1,hi2,,hit 以及 t t t 个碎片 x i 1 ′ x i 2 ′ , … , x i t x_i_1^\\prime x_i_2^\\prime, \\ldots, x_i_t xi1xi2,,xit, 协议运行结束后将输出 密文 c c c 和对应的明文 m m m

2. 分布式ElGamal加密

系统参数: p 、 q p、q pq是大素数, 且 q / p − 1 q / p-1 q/p1, 满足 Z p Z_p Zp中离散对数问题是难解的, g g g Z p ∗ Z_p^* Zp的本原元, M M M 为明文消息。

n n n个参与者 P 1 , P 2 , … , P n P_1, P_2, \\ldots, P_n P1,P2,,Pn分别选取一个随机数 x i ∈ Z p , i = 1 , 2 , … , n x_i \\in Z_p,i=1,2, \\ldots, n xiZp,i=1,2,,n 计算 y i = g x i   m o d   p y_i= g^x_i \\bmod p yi=gximodp并公布。

私钥: x = ∑ i = 1 n x i   m o d   p x=\\sum_i=1^n x_i \\bmod p x=i=1nximodp公钥: y = ∏ i = 1 n y i   m o d   p = g ∑ i = 1 n x i   m o d   p = g x   m o d   p y=\\prod_i=1^n y_i \\bmod p=g^\\sum_i=1^n x_i \\bmod p = g^x \\bmod p y=i=1nyimodp=gi=1nximodp=gxmodp

加密: 选取随机数 r ∈ Z p r \\in Z_p rZp, 计算 E ( M ) = ( α , β ) = ( g r   m o d   p , y r M   m o d   p ) E(M)=(\\alpha, \\beta) = (g^r \\bmod p, y^r M \\bmod p) E(M)=(α,β)=(grmodp,yrMmodp)解密: n n n个参与者首先分别计算 α x i   m o d   p \\alpha^x_i\\bmod p αximodp并公布, 然后共同计算出 ∏ i = 1 n α x i \\prod_i=1^n \\alpha^x^i i=1nαxi, 从而解出 M M M: M = β ∏ i = 1 n α x i   m o d   p = β α ∑ i = 1 n x i   m o d   p = β α x   m o d   p M=\\frac\\beta\\prod_i=1^n \\alpha^x^i \\bmod p =\\frac\\beta\\alpha^\\sum_i=1^n x^i \\bmod p =\\frac\\beta\\alpha^x \\bmod p M=i=1nαxi以上是关于安全多方计算之七:门限密码系统的主要内容,如果未能解决你的问题,请参考以下文章

密码算法(SM1SM2SM3SM4同态加密密态计算隐私计算和安全多方计算)

安全多方计算从入门到精通:MPC应用场景

安全多方计算-介绍

什么是安全多方计算

安全多方计算(MPC)从入门到精通:简易教程

安全多方计算(MPC)从入门到精通:简易教程