CN106972930B - 无条件安全的可验证随机数生成方法 - Google Patents
无条件安全的可验证随机数生成方法 Download PDFInfo
- Publication number
- CN106972930B CN106972930B CN201710371918.0A CN201710371918A CN106972930B CN 106972930 B CN106972930 B CN 106972930B CN 201710371918 A CN201710371918 A CN 201710371918A CN 106972930 B CN106972930 B CN 106972930B
- Authority
- CN
- China
- Prior art keywords
- participant
- verify
- random
- random number
- unconditional security
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种无条件安全的可验证随机数生成方法,步骤包括:初始化、生成多项式、发送秘密、计算验证值、验证、计算统计集合、计算秘密份额、生成真随机数。本发明考虑了强计算能力的攻击者,提出一种通用的无条件安全的可验证随机数生成方法,不依赖任何密码学安全假设,实现了无条件安全的属性。
Description
技术领域
本发明涉及信息安全技术领域,具体地指一种无条件安全的可验证随机数生成方法。
背景技术
长期以来,随机数在信息安全的众多应用领域都扮演着重要的角色,很多时候,随机数是关系到安全、公平与巨大利益的关键因素,比如身份认证、密钥协商、电子彩票、比赛抽签等。随机数分为真随机数和伪随机数:真随机数选取了真实世界的自然随机性,比如通过某个人敲击键盘的频率以及物理噪声发生器等方式,产生的随机数便是真随机数。现实生活中,通过物理条件产生的真随机数数量较少,代价往往昂贵,并且其随机性无法被验证;伪随机数是选取真随机数作为种子,通过数学算法生成的大量随机数,伪随机数可以生成数量庞大,与真随机性同分布的随机数。但是由于真随机数的随机性无法被验证,对于使用真随机数作为种子的伪随机数,其随机性也无法得到验证。当今社会,真随机数的生成普遍缺乏透明性,因此对于对随机数的安全性依赖较大的场景(如:车牌摇号,彩票,线上赌场等),很多时候我们无法确信所谓的随机数是否是真正随机的。
随着信息安全的发展,如何生成可验证的真随机数变得日益重要。一般来说,随机数的随机性与可验证性是两个相互矛盾的安全属性,同时实现这两个属性需要用到密码学的知识。现有技术中,可验证随机数的生成策略要么需要一个可信第三方,要么就是基于困难问题的安全假设,因此也限制了其应用范围与安全级别。另外,面向较高安全需求的随机数生成方法的设计还需要考虑可能存在的一些影响随机性的攻击手段。
发明内容
本发明的目的是针对现有技术的不足之处,提出一种无条件安全的可验证随机数生成方法。
本发明条件安全的可验证随机数生成方法,包括如下步骤:
1)初始化一次无条件安全秘密共享需要的n个参与者,将每个参与者编号为1~n,设置门限参数t、最大的不诚实参与者的个数b,n为自然数;
2)每个参与者1~n生成一个双变量t-1阶随机对称多项式,并将秘密s放入常数项;
3)每一个参与者1~n将自身的编号代入多项式,则生成单变量多项式,并将所述单变量多项式发送至其他参与者;
4)每一个参与者1~n收到所述单变量多项式后,将自身的编号代入多项式,则生成验证值d,并将所述验证值d发送至其他参与者;
5)上一步结束后,每一个参与者1~n拥有所述单变量多项式、发出去n-1个验证值d,接收到n-1个验证值d;每一个参与者1~n将发给其他参与者的验证值与从该参与者接收到的验证值相比对,判断是否相等,共比对n-1次,若不相等,则广播自身的编号与对方参与者的编号;
6)在广播区域,每出现一组编号,每个参与者1~n将广播区域中出现的各组编号从参与者集合G={1,2,...,n}中去掉该组编号,记剩余组编号集合为G′,若|G′|≥n-b,则参与者认为验证通过,输出验证标记V=1,并广播计算出的恢复值d′,将该参与者编号加入统计集合L,否则验证不通过,输出验证标记V=0;
7)若输出验证码V=1的参与者的个数大于b,则生成随机数成功,否则生成随机数不成功,返回步骤2);
8)判断是否满足|G′|≥n-b>3b,是则根据统计集合L内参与者广播的恢复值d′通过译码算法恢复出目标一元t-1次多项式,参与者将自变量代入0,获得目标可验证随机数R,否则返回步骤2)。
优选地,所述步骤8)中译码算法为Berlekamp-Massey译码算法。
优选地,按照上述方法生成若干个目标随机数R输入至随机数发生器,生成大量随机数。
本发明提供了一种无条件安全的可验证随机数生成方法,考虑了强计算能力的攻击者,不依赖任何密码学安全假设,实现了如下无条件的安全属性:
1)正确性:如果参与者正确的履行本方法,最终本方法将生成不可预测的随机数;
2)健壮性:即使部分参与者合谋,他们也无法破解本方法从而预测出随机数的任何信息。
3)不可预测性:本方法执行完毕后,所有参与者的随机因子会公平的作用到最终的随机数;
4)可验证性:可验证性使得每个参与者可以验证其是否参与了随机数的生成。
附图说明
图1为本发明的流程图。
具体实施方式
以下结合附图和具体实施例对本发明作进一步的详细描述。
如图1所示,本发明一种无条件安全的可验证随机数生成方法,包括如下步骤:
1)初始化一次无条件安全秘密共享需要的n个参与者,将每个参与者编号为1~n,设置门限参数t、最大的不诚实参与者的个数b,n为自然数;
2)每个参与者1~n生成一个双变量t-1阶随机对称多项式,并将秘密s放入常数项,所有秘密s的和即为目标可验证随机数R;
3)每一个参与者1~n将自身的编号代入多项式,则生成单变量多项式,并将所述单变量多项式发送至其他参与者;
4)每一个参与者1~n收到所述单变量多项式后,将自身的编号代入多项式,则生成验证值d,并将所述验证值d发送至其他参与者;
5)上一步结束后,每一个参与者1~n拥有所述单变量多项式、发出去n-1个验证值d,接收到n-1个验证值d;每一个参与者1~n将发给其他参与者的验证值与从该参与者接收到的验证值相比对,判断是否相等,共比对n-1次,若不相等,则广播自身的编号与对方参与者的编号;
6)在广播区域,每出现一组编号,每个参与者1~n将广播区域中出现的各组编号从参与者集合G={1,2,...,n}中去掉该组编号,记剩余组编号集合为G′,若|G′|≥n-b,则参与者认为验证通过,输出验证标记V=1,并广播计算出的恢复值d′,将该参与者编号加入统计集合L,否则验证不通过,输出验证标记V=0;
7)若输出验证码V=1的参与者的个数大于b,则生成随机数成功,否则生成随机数不成功,返回步骤2);
8)在满足|G′|≥n-b>3b的条件下,根据统计集合L内参与者广播的恢复值d′通过译码算法恢复出目标一元t-1次多项式,参与者将自变量代入0,即可得到目标可验证随机数R。
由于门限为t,因此不诚实参与者最多有t-1,设不诚实参与者个数为b,b<t,记诚实的参与者为数字1,不诚实的参与者为数字0,根据参与者集合到全0或全1的海明距离来纠错,此时有b个参与者是合谋的,有n-b个参与者是随机的,因此要使结果可被恢复且随机,需满足等式(n-b)/2>b,即n>3b,由于在验证阶段会减掉b个,因此使得n>4b,n>4b是为了在去掉b个不诚实参与者的情况下也能满足剩余数量大于3b。在满足|G′|≥n-b>3b的条件下,可以恢复出目标一元t-1次多项式。
本发明的原理如下:n个参与者两两之间可以实现数据的私密传输。每个参与者生成一个随机数,最终通过本方法计算出一个可验证随机数。在真随机数生成之前,不同参与者通过验证算法达成一致,确认本次真随机数的生成过程能过成功进行。本发明无可信的第三方分配机构,所有参与者协同的进行生成随机数并抵抗不诚实的参与者。参与者分别在其他n-1个参与者之间分享他的随机数s,最终的真随机数值为R=s1+s2+…+sn。
在本分布式方法中,验证算法用以抵抗一定数量恶意参与者合谋攻击的可能,此攻击主要为被动攻击,即恶意参与者不会主动的破坏协议,他会按照协议的要求做他能做的所有事以提前破解随机数并不被发现,多个恶意参与者可以合谋以获取更多的信息。
本发明一个实施例的具体步骤如下:
A.初始化:初始化n个参与者Pk(1≤k≤n,为参与者的编号),其中n>4b,b为最大不诚实的参与者的个数,b<t。令q为一个大素数且GF(q)为阶为q的有限域。接下来的所有计算全在GF(q)中进行。每个参与者维护一个空的统计集合L。
B.生成双变量随机多项式:
参与者Pk选择任意数ak,ij∈GFq,其中第一序数k=1,2,...,n,第一计数i=1,2,...,t-1,第二计数j=1,2,...,t-1作为系数生成一个双变量t-1次多项式:q为任一素数,且使得ak,ij=ak,ji;x为第一变量,y为第二变量。
发送过程中,每个参与者同时发送与接收,参与者Pk表示序列号为k的参与者,后文的Pl,Pm同理。
C.发送秘密:
参与者Pk计算单变量多项式fk(x,l)通过私密信道发给参与者Pl,第二序数l=1,2,...,n,l≠k。如表1所示,所有参与者两两之间进行发送与接收:
表1
D.交换验证值:
发送秘密完毕后,每个参与者收到了来自其他参与者的n-1个单变量多项式,参与者Pl在步骤C.中收到了n-1个数f1(x,l),f2(x,l),...,fn(x,l)(无fl(x,l)),记为fM(x,l),交换集合M={1,2,...,l-1,l+1,..,n},接下来,他将验证值d即fM(m,l)发送给其他参与者Pm,第三序数m=1,2,...,n,m≠l,如表2所示。
表2
E.验证:
对于每个第四序数σ∈M,步骤D.中的参与者Pm可以判断等式fσ(m,l)=fσ(l,m),(m≠l)是否相等,若不等,他广播此<σ;m,l>数据包至公开信道作为一个反驳。
F.计算统计集合:
参与者Pm继续做如下事:如果对于某一个<σ;m,l>数据包中的第四序数σ(σ≠m),其后面的第三序数m和第二序数l如果在公开信道被反驳,就从参与者集合G={1,2,...,n}中去掉该m与l,记剩余集合为G′,若|G′|≥n-b,则将此第四序数σ的值加入到统计集合L当中。
如果|L|≥n-b,表示有大于n-b个诚实参与者。参与者Pm输出验证标记V=1表示验证通过。否则,Pm弃掉当前份额并输出验证标记V=0。若输出V=0的参与者个数大于b,验证不通过。
G.构建:
参与者Pm在输出V=1后,计算并广播出恢复值d′=∑u∈Lf(u)(0,m),u为第三计数,在|L|≥n-b>3b的条件下,任何人可以使用Belerkamp-Massey Decoder恢复出目标一元t-1次多项式,自变量代入0可直接得到目标随机数R。Belerkamp-Massey Decoder算法亦可用门限方案中的最大一致集随机算法替代,参考文献An application of coveringdesigns:determining the maximum consistent set of shares in a thresholdscheme.[J].1999,53:225-237Rees R S,Stinson D R,Wei R,et al..
最后,如需大量随机数,将本方法的可验证随机数真随机数作为种子,通过伪随机数发生器进行生成。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (3)
1.一种无条件安全的可验证随机数生成方法,其特征在于,包括如下步骤:
1)初始化一次无条件安全秘密共享需要的n个参与者,将每个参与者编号为1~n,设置门限参数t、最大的不诚实参与者的个数b,n为自然数;
2)每个参与者1~n生成一个双变量t-1阶随机对称多项式,并将秘密s放入常数项;
3)每一个参与者1~n将自身的编号代入多项式,则生成单变量多项式,并将所述单变量多项式发送至其他参与者;
4)每一个参与者1~n收到所述单变量多项式后,将自身的编号代入多项式,则生成验证值d,并将所述验证值d发送至其他参与者;
5)上一步结束后,每一个参与者1~n拥有所述单变量多项式、发出去n-1个验证值d,接收到n-1个验证值d;每一个参与者1~n将发给其他参与者的验证值与从该参与者接收到的验证值相比对,判断是否相等,共比对n-1次,若不相等,则广播自身的编号与对方参与者的编号;
6)在广播区域,每出现一组编号,每个参与者1~n将广播区域中出现的各组编号从参与者集合G={1,2,…,n}中去掉该组编号,记剩余组编号集合为G′,若|G′|≥n-b,则参与者认为验证通过,输出验证标记V=1,并广播计算出的恢复值d′,将该参与者编号加入统计集合L,否则验证不通过,输出验证标记V=0;
7)若输出验证码V=1的参与者的个数大于b,则生成随机数成功,否则生成随机数不成功,返回步骤2);
8)判断是否满足|G′|≥n-b>3b,是则根据统计集合L内参与者广播的恢复值d′通过译码算法恢复出目标一元t-1次多项式,参与者将自变量代入0,获得目标可验证随机数R,否则返回步骤2)。
2.根据权利要求1所述的无条件安全的可验证随机数生成方法,其特征在于:所述步骤8)中译码算法为Berlekamp-Massey译码算法。
3.根据权利要求1所述的无条件安全的可验证随机数生成方法,其特征在于:按照上述方法生成若干个目标随机数R并输入至随机数发生器,生成大量随机数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710371918.0A CN106972930B (zh) | 2017-05-24 | 2017-05-24 | 无条件安全的可验证随机数生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710371918.0A CN106972930B (zh) | 2017-05-24 | 2017-05-24 | 无条件安全的可验证随机数生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106972930A CN106972930A (zh) | 2017-07-21 |
CN106972930B true CN106972930B (zh) | 2019-11-08 |
Family
ID=59326375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710371918.0A Expired - Fee Related CN106972930B (zh) | 2017-05-24 | 2017-05-24 | 无条件安全的可验证随机数生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106972930B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110825922B (zh) * | 2018-08-14 | 2020-08-04 | 阿里巴巴集团控股有限公司 | 数据统计方法和装置 |
CN109615758B (zh) * | 2018-10-22 | 2022-10-04 | 中国平安人寿保险股份有限公司 | 抽奖数据处理方法、装置、存储介质及服务器 |
CN110147221A (zh) * | 2019-05-27 | 2019-08-20 | 广西大学 | 一种基于b样条曲线的可验证随机数产生方法和验证方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103259650B (zh) * | 2013-04-25 | 2015-12-09 | 河海大学 | 一种对诚实参与者公平的理性多秘密分享方法 |
CN103678254B (zh) * | 2013-12-04 | 2017-02-08 | 四川理工学院 | 基于线性方程组的可验证随机数生成的方法 |
CN105827402B (zh) * | 2016-05-18 | 2019-08-20 | 武汉理工大学 | 一种分布式公开可验证随机数生成方法 |
-
2017
- 2017-05-24 CN CN201710371918.0A patent/CN106972930B/zh not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
"Verifiable random functions";S. Micali,等;《 40th Annual Symposium on Foundations of Computer Science (Cat. No.99CB37039)》;20020806;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN106972930A (zh) | 2017-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11546144B2 (en) | Systems and methods for communication, storage and processing of data provided by an entity over a blockchain network | |
CN110198213B (zh) | 一种基于秘密共享随机数共识算法的系统 | |
Zhang et al. | Research on a covert communication model realized by using smart contracts in blockchain environment | |
CN105827402B (zh) | 一种分布式公开可验证随机数生成方法 | |
JP3735521B2 (ja) | 埋め込み符号生成方法及び装置、埋め込み符号検出方法及び装置並びに電子透かし埋め込み装置 | |
WO2019058240A1 (en) | INTELLIGENT CONTRACT EXECUTION USING DISTRIBUTED COORDINATION | |
CN106972930B (zh) | 无条件安全的可验证随机数生成方法 | |
JP2017028617A (ja) | 秘密計算システム、秘密計算装置、およびプログラム | |
Li et al. | A quantum voting protocol using single-particle states | |
CN101877639A (zh) | 信息处理设备、密钥更新方法和程序 | |
CN110532734A (zh) | 一种基于安全多方计算的隐私时间戳的数字版权方法及系统 | |
CN101873328A (zh) | 基于聚合签名的多方合同签署方法 | |
Oosterwijk et al. | Optimal suspicion functions for Tardos traitor tracing schemes | |
CN114172659B (zh) | 区块链系统中的消息传输方法、装置、设备及存储介质 | |
CN111865595A (zh) | 一种区块链的共识方法及装置 | |
Blum et al. | Superlight–A permissionless, light-client only blockchain with self-contained proofs and BLS signatures | |
CN108848096B (zh) | 处理服务合约的方法、装置、设备及计算机可读存储介质 | |
CN116502223A (zh) | 联邦学习下保护用户数据隐私和抵抗恶意攻击者的方法 | |
Emilia et al. | E-voting protocols in context of COVID19 | |
CN112422294B (zh) | 基于环签名的匿名投票方法及装置、电子设备、存储介质 | |
US10553062B2 (en) | Method for generating winning numbers and apparatus | |
Wang et al. | An Intragroup and Intergroup Multiple Secret Images’ Sharing Scheme with Each Participant Holding One Shadow Image | |
JP4322849B2 (ja) | 電子透かし埋め込み方法と装置及び電子透かし検出方法と装置 | |
Zhou et al. | Quantum election scheme based on anonymous quantum key distribution | |
CN118487742B (zh) | 抗共谋攻击电子投票方法、系统、存储介质和终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20191108 Termination date: 20200524 |
|
CF01 | Termination of patent right due to non-payment of annual fee |