基于线性方程组的可验证随机数生成的方法技术

技术编号:9864809 阅读:218 留言:0更新日期:2014-04-02 21:49
本发明专利技术公开了一种基于线性方程组的可验证随机数生成的方法,包括计算中心,以及具有U1,U2,…,Un个参与者,Ui(i=1,2,…,n)为所述参与者中的一个,所述参与者U1,U2,…,Un在与所述计算中心通信时,将共享一个随机数r,且所述参与者U1,U2,…,Un可以验证是否参与了所述随机数r的生成,所述方法包括以下步骤:所述参与者U1,U2,…,Un分别选择一个随机向量与一个随机数发送至所述计算中心;所述计算中心运接收并使用所述参与者U1,U2,…,Un所给的随机向量与随机数来构造可验证随机数;所述参与者U1,U2,…,Un对可验证随机数进行验证。本发明专利技术让每个用户给出的数据都能参与到随机数的生成过程中,并且同时使得随机数是不可预测、不可操控的。同时本发明专利技术能够克服现有技术中的漏洞。

【技术实现步骤摘要】
基于线性方程组的可验证随机数生成的方法
本专利技术涉及密码学领域,尤其涉及一种可由参与者共同生成一个随机数,并且参与者可以验证此随机数是否被操控的方法。
技术介绍
在密码学中随机数扮演着极其重要的角色,很多方案虽能生成随机数,但是用户很难验证随机数的真实性。在以密码学为核心的信息安全的领域中,随机序列扮演着非常重要的角色,随机序列的安全性就确定了整个安全系统的安全性。密码学领域中对随机序列的要求是很高的,从安全的角度来说,真正的随机序列是完全不可预测的,只有真正意义上的随机序列最可靠。但是在实际的应用中通常使用伪随机序列或不可预测序列。随着对信息安全要求的提高,对随机数或者伪随机数提出了新的要求,很多情况下,不仅要求数据是随机或者是伪随机的,并且要求能够使用户确信该随机数是真正随机的,而不是被别人操控的。但目前来看,很多随机数生成方案都不能达到可验证这个要求。比如,在电子彩票的协议设计中,关键的环节是中奖数字的产生,如何产生不受人为因素控制的随机数,已经不是难题,但是要让彩票购买者完全相信中奖数字是随机的,还需要可信任的第三方存在。在现行的电子彩票摇奖系统中,中奖数字的产生由发行者产生,彩票的购买者无法参与。如果彩票发行者造假或者摇奖系统被人为破坏,则产生的中奖数字不具有公平性。比如武汉的经济适用房“六连号事件”与深圳福彩摇奖系统被植入木马病毒以实施诈骗,以及最近发生的对3.6亿的彩票中奖公正性的质疑等,都属于此例。在此情况下,摇奖系统的公平性受到严重破坏,造成了严重的信任危机,影响了行业的正常发展以及政府的公信力。在文献“基于Fp上插值多项式的可验证随机数(四川大学学报(工程科学版),2010,42(6):105-108.)”和文献“有限域上可验证随机数的快速构造及安全性分析(计算机工程与科学,2012,34(5):35-39)”中,给出了一种基于插值多项式的可验证随机数方案,但是该方案存在一定的漏洞,可能造成一些用户给出的数据在随机数的生成过程中没有起到作用,但是仍然能通过验证。例如:U1给出点(1,6),U2给出点(2,11),U3给出点(3,18),U4给出点(4,27),其中U1,U2,U3,U4为相互独立的参与者。根据上述文献的方法可以构成插值多项式y=3+2x+x2但是由U1,U2,U3给出的数据就能得到此二次插值多项式,可以说明U4的数据在此次计算中并未起作用。针对以上问题,能否研发一种提供在多方参与的情况下,由参与者共同生成一个随机数,并且参与者可以验证此随机数是否被操控的方法呢?
技术实现思路
鉴于现有技术的不足,本专利技术旨在于提供一种基于线性方程组的可验证随机数生成的方法,利用所述方法让每个用户给出的数据都能参与到随机数的生成过程中,并且同时使得随机数是不可预测、不可操控的。为了实现上述目的,本专利技术采用的技术方案如下:本专利技术为基于线性方程组的可验证随机数生成的方法,包括计算中心,以及具有U1,U2,…,Un个参与者,Ui(i=1,2,…,n)为所述参与者中的一个,所述参与者U1,U2,…,Un在与所述计算中心通信时,将共享一个随机数r,且所述参与者U1,U2,…,Un可以验证是否参与了所述随机数r的生成;其中,所述随机数r是所述参与者U1,U2,…,Un之间共享并由所述计算中心帮助参与者U1,U2,…,Un计算所生成的,所述方法包括以下步骤:(1)所述参与者U1,U2,…,Un分别选择一个随机向量与一个随机数发送至所述计算中心;(2)所述计算中心运接收并使用所述参与者U1,U2,…,Un所给的随机向量与随机数来构造可验证随机数;(3)所述参与者U1,U2,…,Un对可验证随机数进行验证。需要进一步说明的是,所述参与者U1,U2,…,Un任选向量αi=(αi1,αi2,…αin)与一个随机数αi(n+1)(αij∈Zp)发送至计算中心,当所述计算中心收到所述任选向量αi=(αi1,αi2,…αin)(i=1,2,…,n)后,验证这n个向量是否线性无关,如验证结果显示为线性相关,则让所述结果相关的Ui重新选择向量,直至n个向量线性无关为止;其中,Zp为一有限域,p为素数。需要进一步说明的是,在构造可验证随机数时,所述计算中心将n个随机数αi(n+1)(i=1,2,…,n)构成一个新的向量:然后建立线性方程组:并求解出以下向量:再令r=a0||a1||…||an,||表示连接符;当所述计算中心公布r时,并公布向量作为验证,其中此时的r为可验证随机数。需要进一步说明的是,所述参与者U1,U2,…,Un可以验证下式是否成立:如成立,证明随机数r未被操控;否则,随机数r被操控。进一步地,根据本专利技术的方法,可应用于电子摇号系统或电子彩票系统中。本专利技术有益效果在于,让每个用户给出的数据都能参与到随机数的生成过程中,并且同时使得随机数是不可预测、不可操控的。在效率方面,本专利技术的效率高于基于差值多项式的随机数方案。能够克服基于插值多项式的可验证随机数方案的漏洞。附图说明图1为本发本文档来自技高网
...
基于线性方程组的可验证随机数生成的方法

【技术保护点】
基于线性方程组的可验证随机数生成的方法,包括计算中心,以及具有U1,U2,…,Un个参与者,Ui(i=1,2,…,n)为所述参与者中的一个,其特征在于,所述参与者U1,U2,…,Un在与所述计算中心通信时,将共享一个随机数r,且所述参与者U1,U2,…,Un可以验证是否参与了所述随机数r的生成,所述方法包括以下步骤:(1)所述参与者U1,U2,…,Un分别选择一个随机向量与一个随机数发送至所述计算中心;(2)所述计算中心运接收并使用所述参与者U1,U2,…,Un所给的随机向量与随机数来构造可验证随机数;(3)所述参与者U1,U2,…,Un对可验证随机数进行验证。

【技术特征摘要】
1.基于线性方程组的可验证随机数生成的方法,包括计算中心,以及具有U1,U2,…,Un个参与者,Ui(i=1,2,…,n)为所述参与者中的一个,其特征在于,所述参与者U1,U2,…,Un在与所述计算中心通信时,将共享一个随机数r,且所述参与者U1,U2,…,Un可以验证是否参与了所述随机数r的生成,所述方法包括以下步骤:(1)所述参与者U1,U2,…,Un分别选择一个随机向量与一个随机数发送至所述计算中心;(2)所述计算中心运接收并使用所述参与者U1,U2,…,Un所给的随机向量与随机数来构造可验证随机数;(3)所述参与者U1,U2,…,Un对可验证随机数进行验证;其中,所述参与者U1,U2,…,Un分别任选向量αi=(αi1,αi2,…αin)与一个随机数αi(n+1)(αij∈Zp)发送至计算中心,当所述计算中心收到所述任选向量αi=(αi1,αi2,…αin)(i=1,2,…,n)后,验证这n个向量是否线性无关,...

【专利技术属性】
技术研发人员:叶俊陈德勤李天增高媛媛
申请(专利权)人:四川理工学院
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1