安全多方计算之七:门限密码系统
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 xi1′xi2′,…,xit, 协议运行结束后将输出 密文 c c c 和对应的明文 m m m 。
2. 分布式ElGamal加密
系统参数: p 、 q p、q p、q是大素数, 且 q / p − 1 q / p-1 q/p−1, 满足 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 xi∈Zp,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=1∑nximodp公钥: 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=1∏nyimodp=g∑i=1nximodp=gxmodp
加密: 选取随机数 r ∈ Z p r \\in Z_p r∈Zp, 计算 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以上是关于安全多方计算之七:门限密码系统的主要内容,如果未能解决你的问题,请参考以下文章