System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及随机数,更具体地,涉及一种随机数生成方法、电路和芯片。
技术介绍
1、随机数是专门的随机试验的结果。随机数具有许多用途,例如,随机数可用于量子秘钥分发(quantum key distribution,qkd)系统中秘钥的产生、对称密钥加密系统中的私钥的产生、公钥加密系统中的私钥和公钥的产生、密码学、模拟仿真及物联网(internet ofthings,iot)之中。
2、在实现本公开构思的过程中,专利技术人发现相关技术中至少存在如下问题:相关技术中生成随机数的方法效率较低。
技术实现思路
1、有鉴于此,本公开提供了一种随机数生成方法、电路和芯片。
2、本公开的一个方面提供了一种随机数生成方法,包括:
3、根据采样时钟信号的采样周期对抖动时钟信号进行采样,得到上述抖动时钟信号的抖动边沿采样信息,其中,上述采样时钟信号和上述抖动时钟信号由同一个熵源时钟产生;
4、根据上述抖动边沿采样信息,确定上述抖动时钟信号在采样周期内的抖动边沿位置信息,其中,上述抖动边沿位置信息是针对相同采样时刻上述抖动时钟信号相对于上述采样时钟信号的偏移位置;
5、根据上述抖动边沿位置信息,从预设边沿位置分布区间集中确定与上述抖动边沿位置信息相对应的目标边沿位置分布区间,其中,上述预设边沿位置分布区间集包括n个预设边沿位置分布区间和与每个预设边沿位置分布区间对应二进制数,其中,n为大于1的整数;
6、根据与上述目标边沿位置分布区间
7、根据本公开的实施例,上述方法还包括:
8、根据上述抖动时钟信号的抖动边沿分布位置,确定与上述抖动边沿分布位置相关的正态分布图;
9、对上述正态分布图进行n等分,得到n个正态分布区间;
10、确定与上述n个正态分布区间中的每个正态分布区间对应的二进制数,并将上述n个正态分布区间作为上述n个预设边沿位置分布区间,得到上述预设边沿位置分布区间集。
11、根据本公开的实施例,上述根据上述抖动边沿采样信息,确定上述抖动时钟信号在采样周期内的抖动边沿位置信息,包括:
12、根据上述抖动边沿采样信息,确定上述抖动时钟信号在上述采样周期内的温度计码;
13、根据上述温度计码,确定上述抖动时钟信号在上述采样周期内的抖动边沿位置信息。
14、根据本公开的实施例,上述方法还包括:
15、根据与每个上述预设边沿位置分布区间相关的上述随机数的个数,对上述抖动时钟信号的延迟进行调整,以使上述抖动时钟信号和上述采样时钟信号进行边沿对齐。
16、根据本公开的实施例,上述方法还包括:
17、根据多个上述随机数构成随机数序列;
18、对上述随机数序列进行后处理,以消除上述随机数序列中的偏置。
19、根据本公开的实施例,上述二进制数为至少两比特的数。
20、本公开的第二个方面提供了一种随机数生成电路,包括:
21、熵源时钟,配置为产生采样时钟信号和抖动时钟信号;
22、信号采样转换器,配置根据采样时钟信号的采样周期对抖动时钟信号进行采样,得到上述抖动时钟信号的抖动边沿采样信息,根据上述抖动边沿采样信息,确定上述抖动时钟信号在采样周期内的抖动边沿位置信息,其中,上述抖动边沿位置信息是针对相同采样时刻上述抖动时钟信号相对于上述采样时钟信号的偏移位置,根据上述抖动边沿位置信息,从预设边沿位置分布区间集中确定与上述抖动边沿位置信息相对应的目标边沿位置分布区间,其中,上述采样时钟信号和上述抖动时钟信号由同一个熵源时钟产生,上述预设边沿位置分布区间集包括n个预设边沿位置分布区间和与每个预设边沿位置分布区间对应二进制数,n为大于1的整数;
23、随机数编码电路,配置为根据上述目标边沿位置分布区间对应的二进制数,生成随机数。
24、根据本公开的实施例,上述信号采样转换器包括延时链、触发器和编码器;
25、上述延时链,配置为确定上述采样时钟信号中的采样时钟边沿;
26、上述触发器,配置为根据上述采样时钟边沿对上述抖动时钟信号进行采样,得到上述抖动时钟信号的抖动边沿采样信息,根据上述抖动边沿采样信息,确定上述抖动时钟信号在采样周期内的抖动边沿位置信息;
27、编码器,配置为根据上述抖动边沿位置信息,从预设边沿位置分布区间集中确定与上述抖动边沿位置信息相对应的目标边沿位置分布区间,并将上述抖动边沿位置信息转换为与上述目标边沿位置分布区间对应的二进制数。
28、根据本公开的实施例,上述电路还包括:
29、延迟控制逻辑电路,配置为根据与每个上述预设边沿位置分布区间相关的上述随机数的个数,对上述抖动时钟信号的延迟进行调整,以使上述抖动时钟信号和上述采样时钟信号进行边沿对齐;
30、后处理电路,配置为对根据多个上述随机数构成随机数序列后处理,以消除上述随机数序列中的偏置。
31、本公开的第三个方面提供了一种芯片,包括:
32、上述随机数生成电路。
33、根据本公开的实施例,由于采样时钟信号和抖动时钟信号由同一熵源时钟产生,因此采样频率和被采样的频率可以是一致的,避免了因时钟不同步导致的随机数的产生速率降低,并且,与预设边沿位置分布区间对应的二进制数可以设定为多比特的数,使得每次生成的随机数都可以是多比特的。因此,进一步提升了生成的随机数的效率。
本文档来自技高网...【技术保护点】
1.一种随机数生成方法,包括:
2.根据权利要求1所述的方法,还包括:
3.根据权利要求1所述的方法,其中,所述根据所述抖动边沿采样信息,确定所述抖动时钟信号在采样周期内的抖动边沿位置信息,包括:
4.根据权利要求1所述的方法,还包括:
5.根据权利要求1所述的方法,还包括:
6.根据权利要求1所述的方法,其中,所述二进制数为至少两比特的数。
7.一种随机数生成电路,包括:
8.根据权利要求7所述的电路,其中,所述信号采样转换器包括延时链、触发器和编码器;
9.根据权利要求7所述的电路,还包括:
10.一种芯片,包括:
【技术特征摘要】
1.一种随机数生成方法,包括:
2.根据权利要求1所述的方法,还包括:
3.根据权利要求1所述的方法,其中,所述根据所述抖动边沿采样信息,确定所述抖动时钟信号在采样周期内的抖动边沿位置信息,包括:
4.根据权利要求1所述的方法,还包括:
5.根据权利要求1所述的方法,...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。