首页> 中国专利> 基于线性方程组的可验证随机数生成的方法

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

摘要

本发明公开了一种基于线性方程组的可验证随机数生成的方法,包括计算中心,以及具有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对可验证随机数进行验证。本发明让每个用户给出的数据都能参与到随机数的生成过程中,并且同时使得随机数是不可预测、不可操控的。同时本发明能够克服现有技术中的漏洞。

著录项

  • 公开/公告号CN103678254A

    专利类型发明专利

  • 公开/公告日2014-03-26

    原文格式PDF

  • 申请/专利权人 四川理工学院;

    申请/专利号CN201310646852.3

  • 发明设计人 叶俊;陈德勤;李天增;高媛媛;

    申请日2013-12-04

  • 分类号G06F17/12(20060101);

  • 代理机构北京科亿知识产权代理事务所(普通合伙);

  • 代理人汤东凤

  • 地址 643000 四川省自贡市汇东学苑街180号

  • 入库时间 2023-12-17 00:55:30

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-02-08

    授权

    授权

  • 2014-04-23

    实质审查的生效 IPC(主分类):G06F17/12 申请日:20131204

    实质审查的生效

  • 2014-03-26

    公开

    公开

说明书

技术领域

本发明涉及密码学领域,尤其涉及一种可由参与者共同生成一个 随机数,并且参与者可以验证此随机数是否被操控的方法。

背景技术

在密码学中随机数扮演着极其重要的角色,很多方案虽能生成随 机数,但是用户很难验证随机数的真实性。

在以密码学为核心的信息安全的领域中,随机序列扮演着非常重 要的角色,随机序列的安全性就确定了整个安全系统的安全性。密码 学领域中对随机序列的要求是很高的,从安全的角度来说,真正的随 机序列是完全不可预测的,只有真正意义上的随机序列最可靠。但是 在实际的应用中通常使用伪随机序列或不可预测序列。

随着对信息安全要求的提高,对随机数或者伪随机数提出了新的 要求,很多情况下,不仅要求数据是随机或者是伪随机的,并且要求 能够使用户确信该随机数是真正随机的,而不是被别人操控的。但目 前来看,很多随机数生成方案都不能达到可验证这个要求。

比如,在电子彩票的协议设计中,关键的环节是中奖数字的产生, 如何产生不受人为因素控制的随机数,已经不是难题,但是要让彩票 购买者完全相信中奖数字是随机的,还需要可信任的第三方存在。在 现行的电子彩票摇奖系统中,中奖数字的产生由发行者产生,彩票的 购买者无法参与。如果彩票发行者造假或者摇奖系统被人为破坏,则 产生的中奖数字不具有公平性。比如武汉的经济适用房“六连号事件” 与深圳福彩摇奖系统被植入木马病毒以实施诈骗,以及最近发生的对 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=(αi1i2,…αin)与一个随机数αi(n+1)ij∈Zp)发送至计算中心,当所 述计算中心收到所述任选向量αi=(αi1i2,…αin)(i=1,2,…,n)后,验证 这n个向量是否线性无关,如验证结果显示为线性相关,则让所述结 果相关的Ui重新选择向量,直至n个向量线性无关为止;其中,Zp为 一有限域,p为素数。

需要进一步说明的是,在构造可验证随机数时,所述计算中心将 n个随机数αi(n+1)(i=1,2,…,n)构成一个新的向量:

y=α1(n+1)α2(n+1)...αn(n+1),

然后建立线性方程组:

α11α12···α1nα21α22···α2n·········αn1αn2···αnna=α1(n+1)α2(n+1)...αn(n+1)modp,

并求解出以下向量:

a=α11α12···α1nα21α22···α2n·········αn1αn2···αnn-1α1(n+1)α2(n+1)...αn(n+1)modp=a1a2...an,

再令r=a0||a1||…||an,||表示连接符;当所述计算中心公布r时, 并公布向量a=a1a2...an作为验证,其中此时的r为可验证随机数。

需要进一步说明的是,所述参与者U1,U2,…,Un可以验证下式是否 成立:

αia=(αi1,αi2,···αin)a1a2...an=αi(n+1),(i=1,2,···,n);

如成立,证明随机数r未被操控;否则,随机数r被操控。

进一步地,根据本发明的方法,可应用于电子摇号系统或电子彩 票系统中。

本发明有益效果在于,让每个用户给出的数据都能参与到随机数 的生成过程中,并且同时使得随机数是不可预测、不可操控的。在效 率方面,本发明的效率高于基于差值多项式的随机数方案。能够克服 基于插值多项式的可验证随机数方案的漏洞。

附图说明

图1为本发明的流程示意图;

图2为本发明一种实施方式流程示意图。

具体实施方式

下面将结合附图对本发明做进一步的描述。需要说明的是,本实 施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式 和具体的操作过程,但本发明的保护范围不限于下述的实施例。

本发明为基于线性方程组的可验证随机数生成的方法,包括计算 中心,以及具有U1,U2,…,Un个参与者,Ui(i=1,2,…,n)为所述参与者中 的一个,所述参与者U1,U2,…,Un在与所述计算中心通信时,将共享一 个随机数r,且所述参与者U1,U2,…,Un可以验证是否参与了所述随机 数r的生成;其中,所述随机数r是所述参与者U1,U2,…,Un之间共享并 由所述计算中心帮助参与者U1,U2,…,Un计算所生成的,所述方法包括 以下步骤:

步骤一,所述参与者U1,U2,…,Un选择一个随机向量与一个随机数 发送至所述计算中心;

(1)所述参与者U1,U2,…,Un分别任选向量αi=(αi1i2,…αin)与一 个随机数αi(n+1)ij∈Zp)发送至计算中心;

(2)当所述计算中心收到所述任选向量αi=(αi1i2,…αin)后,验 证这n个向量是否线性无关,如验证结果显示为线性相关,则让所述 结果相关的Ui重新选择向量,直至n个向量线性无关为止;

需要说明的是,Zp为一有限域,p为素数。

步骤二,所述计算中心运接收并使用所述参与者U1,U2,…,Un所给 的随机向量与随机数来构造可验证随机数;

(1)所述计算中心将n个随机数αi(n+1)(i=1,2,…,n)构成一个新的 向量:

y=α1(n+1)α2(n+1)...αn(n+1);

(2)然后建立线性方程组:

α11α12···α1nα21α22···α2n·········αn1αn2···αnna=α1(n+1)α2(n+1)...αn(n+1)modp;

(3)并求解出以下向量:

a=α11α12···α1nα21α22···α2n·········αn1αn2···αnn-1α1(n+1)α2(n+1)...αn(n+1)modp=a1a2...an;

(4)再令r=a0||a1||…||an,||表示连接符;当所述计算中心公布r 时,并公布向量a=a1a2...an作为验证,其中此时的r为可验证随机数;

步骤三,所述参与者U1,U2,…,Un对可验证随机数进行验证;

参与者U1,U2,…,Un可以验证下式是否成立:

αia=(αi1,αi2,···αin)a1a2...an=αi(n+1),(i=1,2,···,n)

如成立,证明随机数r未被操控;否则,随机数r被操控。

为了更好的理解本发明,下面将结合具体实施例对本发明做详细 的描述。

实施例一

假设具有4个不同的参与者U1,U2,U3,U4,其有限域为Z11

步骤一:

所述4个不同参与者U1,U2,U3,U4分别将向量与随机数, {(1,2,1,0),7}、{(0,1,6,3),7}、{(5,4,3,1),0}、{(4,0,1,2),3}, 其组成方式为{(向量),随机数},发送至计算中心;

步骤二:

所述计算中心接收所述向量与随机数后求解如下线性方程组并 计算可验证随机数;

1210016354314012a=7703mod11.

求解可得:

a=1305

根据求解则可验证随机数r=1||3||0||5=1305.,其中||表示连接 符;

步骤三:

参与者U1,U2,U3,U4验证可验证随机数;

以参与者U1为例,参与者只需验证:

(1,2,1,0)1305=7是否成立;

如此式成立,U1则认为1305没有被操控。

以此类推,其他参与者的验证也是如此。

如图2所示,以电子摇号为例,当发生对摇号结果存在质疑时, 利用本发明的方法可以对结果进行验证,而且该验证是实现了每个参 与摇号的用户均可验证摇号结果是否被操控。从而最大限度的保证了 公平性。

对于本领域的技术人员来说,可根据以上描述的技术方案以及构 思,做出其它各种相应的改变以及变形,而所有的这些改变以及变形 都应该属于本发明权利要求的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号