[发明专利]随机数生成方法、装置,以及,电子设备在审
申请号: | 202210880765.3 | 申请日: | 2022-07-22 |
公开(公告)号: | CN115357217A | 公开(公告)日: | 2022-11-18 |
发明(设计)人: | 玄勇;蒋艳军;赵轶新;孙科 | 申请(专利权)人: | 中国电信股份有限公司 |
主分类号: | G06F7/58 | 分类号: | G06F7/58 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 任亚娟 |
地址: | 100033 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 随机数 生成 方法 装置 以及 电子设备 | ||
本申请公开了一种随机数生成方法及装置,属于计算机技术领域。所述方法包括:获取待生成的整数随机数的位数N,其中,N为大于0的自然数;获取双缝干涉实验中光屏上的光子分布数据;随机确定所述光子分布数据对应的光屏内的N个区域;基于所述光子分布数据,获取所述光屏在每个所述区域内接收到的光子数量;根据所述光屏在每个所述区域内接收到的所述光子数量,分别确定所述整数随机数的一个数位的取值,得到所述整数随机数。本方法通过结合双缝干涉实验中光屏上光子分数数据的不确定性和随机确定光屏中区域,提高了生成的随机数的不可预测性,从而解决某些安全性要求较高的随机数应用领域中,使用随机数存在安全隐患的问题。
技术领域
本申请涉及计算机技术领域,特别是涉及随机数生成方法、装置、电子设备及计算机可读存储介质。
背景技术
随机数为随机生成的包括一个或多个数字的数列,在生活中的各个领域具有广泛的应用,例如,用于作为动态口令、用于生成加密密钥,用于进行身份验证等。现有技术中,常用的随机数生成方法包括如:Math.random()静态生成随机数的方法、java.util.Random工具类生成随机数的方法。现有技术中,生成随机数的方法,生成的是伪随机数,可预测。在某些安全性要求较高的应用领域使用过程中,存在安全隐患。
可见,现有技术中采用的方法生成的随机数可预测,在某些应用场景下,存在安全隐患。
发明内容
本申请实施例提供一种随机数生成方法、装置及电子设备,用于解决生成的随机数可预测,在某些安全性要求较高的应用领域使用过程中,存在安全隐患的问题。
第一方面,本申请实施例提供了一种随机数生成方法,包括:
获取待生成的整数随机数的位数N,其中,N为大于0的自然数;
获取双缝干涉实验中光屏上的光子分布数据;
随机确定所述光子分布数据对应的光屏内的N个区域;
基于所述光子分布数据,获取所述光屏在每个所述区域内接收到的光子数量;
根据所述光屏在每个所述区域内接收到的所述光子数量,分别确定所述整数随机数的一个数位的取值,得到所述整数随机数。
本申请的一些实施例中,所述根据所述光屏在每个所述区域内接收到的所述光子数量,分别确定所述整数随机数的一个数位的取值,得到所述整数随机数,包括:
分别将所述光屏在每个所述区域内接收到的所述光子数量除以10,取余数,得到N个自然数;
将得到的所述N个自然数随机排列,得到随机数列;
响应于所述随机数列的首个数位的数字为非零自然数,按照所述随机数列中所述自然数的排列顺序,生成所述整数随机数。
本申请的一些实施例中,所述将得到的所述N个小于10的自然数随机排列,得到随机数列之后,还包括:
响应于所述随机数列的首个数位的数字为零,跳转至执行所述将得到的所述N个小于10的自然数随机排列,得到随机数列的步骤。
本申请的一些实施例中,所述光子分布数据包括:基于光子接收单元表示的光屏的尺寸,以及,所述光屏中各所述光子接收单元接收到的光子数量,所述随机确定所述光子分布数据对应的光屏内的N个区域,包括:
确定所述光子分布数据对应的光屏中的目标区域,其中,所述目标区域为:将所述光屏的各边界分别内缩至少N个所述光子接收单元所得到的所述光屏中的区域;
随机确定所述目标区域中的第一位置,以及,随机确定所述光屏中的第二位置;
确定所述光屏上以所述第一位置为圆心的大小不同的N个圆形区域,且所述N个圆形区域中最大圆形区域的圆周经过所述第二位置;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电信股份有限公司,未经中国电信股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210880765.3/2.html,转载请声明来源钻瓜专利网。