发明名称 双方参与的随机数生成和验证方法
摘要 本发明公开了一种双方参与的随机数生成和验证方法。所述方法包括:随机数生成方和随机数使用方双方各提供一个中间随机数作为最终随机数的生成参数,最终的随机数由随机数生成方生成。当使用方对生成方提供的随机数产生质疑时,可以向生成方请求验证,生成方发送验证信息给使用方,使用方根据接收到的验证信息重新计算随机数并与接收到的原随机数进行对比,一致则说明双方共同参与了该随机数的生成,并且生成方没有恶意窜改随机数。本发明不仅能满足随机数使用方随时验证随机数的随机性和真实性,还可以保证双方的公平性,有效保障了各方的利益,是一种非常实用的随机数生成方案。
申请公布号 CN105825383A 申请公布日期 2016.08.03
申请号 CN201610156104.0 申请日期 2016.03.18
申请人 桂林电子科技大学 发明人 刘忆宁;梁露曦;赵全玉;赵曦
分类号 G06Q20/40(2012.01)I;G06Q20/38(2012.01)I 主分类号 G06Q20/40(2012.01)I
代理机构 广州市一新专利商标事务所有限公司 44220 代理人 滕杰锋
主权项 一种双方参与的随机数生成和验证方法,所述方法包括随机数生成阶段和验证随机数阶段;所述随机数生成阶段包括如下步骤:(1)随机数使用方与随机数生成方首先建立通信;(2)随机数使用方选择一个任意参数p生成一个随机数r<sub>1</sub>=MD5(p),并将r<sub>1</sub>发送给随机数生成方;(3)随机数生成方接收随机数使用方发送的随机数r<sub>1</sub>;(4)随机数生成方生成唯一的序列号s,保存与该序列号对应的时间t;(5)随机数生成方将r<sub>1</sub>、s、t作为参数生成随机数r<sub>2</sub>,即:r<sub>2</sub>=MD5(r<sub>1</sub>,s,t);(6)随机数生成方根据(r<sub>1</sub>,r<sub>2</sub>)生成最终的随机数R=h(r<sub>1</sub>,r<sub>2</sub>)modm+1;(7)随机数生成方发送R和t给随机数使用方;所述验证随机数阶段包括如下步骤:(a)随机数使用方接收随机数生成方发送的R和t;(b)若随机数使用方对R产生质疑则向随机数生成方发送t请求验证;(c)随机数生成方根据随机数使用方的验证请求在数据库中查找与t对应的序列号s并发送给随机数使用方;(d)随机数使用方接收随机数生成方发送的序列号s计算出r<sub>2</sub>=MD5(r<sub>1</sub>,s,t)和R'=h(r<sub>1</sub>,r<sub>2</sub>)modm+1,判断R'=R是否成立,对R进行验证。
地址 541004 广西壮族自治区桂林市七星区金鸡路1号