当前位置: 首页 > 专利查询>广西大学专利>正文

一种基于B样条曲线的可验证随机数产生方法和验证方法技术

技术编号:21913653 阅读:21 留言:0更新日期:2019-08-21 12:20
本发明专利技术公开了一种基于B样条曲线的可验证随机数产生方法和验证方法,产生方法包括:随机生成B样条曲线型值点组值的步骤、根据型值点组计算控制点组以得到初始随机数的步骤、新用户加入后,更新型值点组并计算对应可验证随机数的步骤,和用户退出后,更新型值点组并计算对应可验证随机数的步骤。验证方法包括控制点提取的步骤、验证值计算的步骤,和对验证值进行验证的步骤。本发明专利技术的可验证随机数产生方法,可以通过低复杂度的计算,在极短的时间内计算出可验证随机数,计算时间随随机数长度的增加呈线性增长。验证方法具有较强私密性,防欺骗能力强。

A Verifiable Random Number Generation Method and Verification Method Based on B-Spline Curve

【技术实现步骤摘要】
一种基于B样条曲线的可验证随机数产生方法和验证方法
本专利技术涉及密码生成领域,尤其是一种利用B样条曲线线性求解的特点,产生可验证随机数的方法和相应的验证方法。
技术介绍
随机数在密码学有重要作用,在身份验证、数字签名、密码协议等都需要随机数。随着信息安全协议构造的需要,对随机数的性质的提出了新的要求,比如在电子彩票方案中允许彩票购买者验证自己是否参与了随机数的产生;在移动会议系统中,n个用户共享会议密码,会议者验证自己是否参与了会议密码的产生。这样就需要可验证随机数。理想的可验证随机数应满足:可参与、不可预测、可再现、可验证[1]。n个用户U1,U2,...Un分别选择r1,r2,...,rn,共同参与随机数r的产生,并且Ui可以凭自己的ri而不需要其它参与者的rj(j≠i)即可以验证ri参与了r的产生,从而确信r没有被人控制,确信r的生成过程是公平公正的。目前可验证随机数的产生主要有:文献[2]给出了基于Diffie-Hellman困难的可验证随机数,文献[3]给出了基于双性性困难的可验证随机数,这两者都需要较高复杂的指数运算,运行效率不高。文献[4]利用拉格朗日插值多项式来产生可验证随机数。一种通过构造插值多项式产生可验证随机数的方法[13]如下:用户先出n+1个点(xi,yi),i=0,1,…n,构造:A(x)=a0+a1x+…+anxn,使其通过给定的n+1个点(xi,yi),i=0,1,…n,则r=a0||a1||…||an(其中,||表示连接符),r为插值系数生成的随机数。此随机数可验证,用户通过(xi,yi),把xi代入到公式(1)中,如果A(x)=yi,则用户参与了随机数r的产生。但当随机数较长时,n+1个点(xi,yi),i=0,1,…n,求r=a0||a1||…||an,运行时间较长,效率不高。因此,需要一种计算复杂度低,快速产生可验证随机数产生方法,本专利技术的一种基于B样条的可验证随机数产生方法,计算速度快,随着n的增加,产生时间线性增加。参考文献:[1]刘忆宁,曹建宇.基于插值多项式的可验证随机数[J],计算机工程,2010年5月,第36卷第10期。[2]LysyanskayaA.UniqueSignaturesandVerifiableRandomFunctionsfromtheDH-DDHSeparation[C]//Proc.ofCRYPTO’02.Berlin,Germany:Springer-Verlag,2002:597-612。[3]DodisY.EfficientConstructionofDistributedVerifiableRandomFunctions[C]//Proc.ofPKC’03.Berlin,Germany:Springer-Verlag2003:1-17。[4]周杰,邹仁第.基于拉格朗日插值多项式的层次式组密钥分发方案[J].厦门大学学报:自然科学版,2007,46(增刊):75-78。
技术实现思路
本专利技术的专利技术目的在于:针对上述存在的问题,提供一种低复杂度的可验证随机数产生方法和验证方法。该方法基于B样条曲线的运算时间随次数的增加呈线性增长的特点,消耗极短的时间即可产生出可验证随机数。本专利技术采用的技术方案如下:一种基于B样条曲线的可验证随机数产生方法,其包括以下步骤:A.对B样条曲线的型值点组进行赋值的步骤,型值点组位数与所要产生的可验证随机数的位数相等;B.在新用户加入通信时,在型值点组的非端部位置为该新用户随机分配一型值点的步骤;C.接收用户反馈的随机值,并将该新用户反馈的随机值替换掉为该新用户所分配的型值点的步骤;D.对B样条曲线的型值点组中,未被分配的型值点的值进行更新的步骤;E.根据B样条曲线的型值点与控制点间的关系,求取出对应第二控制点组,并基于该第二控制点组,生成可验证随机数的步骤;F.当用户退出通信时,回收为其所分配的型值点,执行步骤D-E以得到新的可验证随机数的步骤。本专利技术方法基于B样条曲线线性求解控制点的特征,可以以低复杂度的运算量,在极短时间内生成可验证的随机数,产生随机数的计算量随随机数位数的增加呈线性增长,较现有方法中呈指数增长的方法,可以大幅缩短计算时间。同时,针对于不同的应用场景,可对所选用的B样条曲线的次数进行调节,次数的增加对于计算复杂度也是线性影响。进一步的,上述随机数产生方法具体为:A.随机生成m个随机数,将该m个随机数对应赋值给B样条曲线的型值点组,m为所要产生的可验证随机数的位数;B.当新用户加入通信时,随机从型值点组的非端部位置选择一个未被使用的位置j分配给该新用户,执行步骤C;C.接收该新用户反馈的随机值,将该随机值替换位置j对应的型值点,并对该型值点进行标记,执行步骤D-E;D.随机生成k个随机数,k为未被标记型值点的数量,将该k个随机数对应赋值给B样条曲线的型值点组中,未被标记的型值点;E.根据B样条曲线的型值点与控制点间的关系,计算出B样条曲线的第一控制点组,将所述第一控制点组的各点顺序连接,得到可验证随机数;F.当用户退出通信时,取消对该用户对应的型值点的标记,执行步骤D-E即可得到新的可验证随机数。上述流程清晰,在运算器上实现简单,可以减少运算器计算随机数的耗时。进一步的,上述根据B样条曲线的型值点与控制点间的关系,计算出B样条曲线的第一和/或第二控制点组具体为:根据B样条曲线的型值点与控制点间的关系,利用追赶法计算出B样条曲线的第一和/或第二控制点组。利用追赶法求取控制点组的数据,耗时较短,同时运算方法简单、有序,消耗系统资源较少。进一步的,上述B样条曲线的次数为3次。选用3次B样条曲线可以兼顾随机数计算的精度和系统运算所消耗的资源。一种对上述基于B样条曲线的可验证随机数产生方法所产生的可验证随机数的验证方法,其特征在于,其包括以下步骤:A.根据为用户分配的位置j,从可验证随机数中,提取出对应于位置j的若干控制点,并根据提取出的若干所述控制点,计算出验证值;B.判断计算出的验证值与该用户的随机值间是否满足预定关系,若是,则验证通过,否则,验证不通过。由于各用户的随机值具有随机性和独立性,该方法对于每一个用户而言,具有独立验证的特点,可以防止验证过程中的欺骗行为。进一步的,步骤A中从可验证随机数中提取的控制点为:从可验证随机数的第0位开始计数,从位置处于第j位开始顺序提取的若干位控制点。上述提取的控制点,与随机值的关联性最强,因此,对于验证过程来讲,需要的运算量最少,同时,所计算的验证值也最具代表性。进一步的,从可验证随机数中提取的控制点为3个,即在可验证随机数中,所处位置与位置j所对应型值点在型值点组中所处位置相同的控制点及其后两个控制点。3个控制点可以兼顾运算量以及均值特性,进而避免随机数据被匹配上的几率。进一步的,步骤A中,计算验证值的方法为:A(j)=(Pj+4Pj+1+Pj+2)/6,其中,A(j)为验证值,Pj、Pj+1、Pj+2分别为提取的3个控制点。进一步的,步骤B中,判断计算出的验证值与该用户的随机值间是否满足预定关系具体为:对比验证值是否与随机值相等。综上所述,由于采用了上述技术方案,本专利技术的有益效果是:1、通过本专利技术的随机数产生方法,可以以低复杂度的运算本文档来自技高网
...

【技术保护点】
1.一种基于B样条曲线的可验证随机数产生方法,其特征在于,其包括以下步骤:A.对B样条曲线的型值点组进行赋值的步骤,型值点组位数与所要产生的可验证随机数的位数相等;B.在新用户加入通信时,在型值点组的非端部位置为该新用户随机分配一型值点的步骤;C.接收用户反馈的随机值,并将该新用户反馈的随机值替换掉为该新用户所分配的型值点的步骤;D.对B样条曲线的型值点组中,未被分配的型值点的值进行更新的步骤;E.根据B样条曲线的型值点与控制点间的关系,求取出对应第二控制点组,并基于该第二控制点组,生成可验证随机数的步骤;F.当用户退出通信时,回收为其所分配的型值点,执行步骤D‑E以得到新的可验证随机数的步骤。

【技术特征摘要】
1.一种基于B样条曲线的可验证随机数产生方法,其特征在于,其包括以下步骤:A.对B样条曲线的型值点组进行赋值的步骤,型值点组位数与所要产生的可验证随机数的位数相等;B.在新用户加入通信时,在型值点组的非端部位置为该新用户随机分配一型值点的步骤;C.接收用户反馈的随机值,并将该新用户反馈的随机值替换掉为该新用户所分配的型值点的步骤;D.对B样条曲线的型值点组中,未被分配的型值点的值进行更新的步骤;E.根据B样条曲线的型值点与控制点间的关系,求取出对应第二控制点组,并基于该第二控制点组,生成可验证随机数的步骤;F.当用户退出通信时,回收为其所分配的型值点,执行步骤D-E以得到新的可验证随机数的步骤。2.如权利要求1所述的基于B样条曲线的可验证随机数产生方法,其特征在于,其方法的各步骤具体为:A.随机生成m个随机数,将该m个随机数对应赋值给B样条曲线的型值点组,m为所要产生的可验证随机数的位数;B.当新用户加入通信时,随机从型值点组的非端部位置选择一个未被使用的位置j分配给该新用户,执行步骤C;C.接收该新用户反馈的随机值,将该随机值替换位置j对应的型值点,并对该型值点进行标记,执行步骤D-E;D.随机生成k个随机数,k为未被标记型值点的数量,将该k个随机数对应赋值给B样条曲线的型值点组中,未被标记的型值点;E.根据B样条曲线的型值点与控制点间的关系,计算出B样条曲线的第一控制点组,将所述第一控制点组的各点顺序连接,得到可验证随机数;F.当用户退出通信时,取消对该用户对应的型值点的标记,执行步骤D-E即可得到新的可验证随机数。3.如权利要求2所述的基于B样条曲线的可验证随机数产生方法,其特征在于,在步骤A-B之间,还包括:根据B样条曲线的型值点与控制点间的...

【专利技术属性】
技术研发人员:邱佳琪王海峰
申请(专利权)人:广西大学
类型:发明
国别省市:广西,45

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

1