[发明专利]一种增加随机函数种子熵值的方法在审
申请号: | 202010830024.5 | 申请日: | 2020-08-18 |
公开(公告)号: | CN112073186A | 公开(公告)日: | 2020-12-11 |
发明(设计)人: | 吴宗鸿 | 申请(专利权)人: | 浙江鸿城科技有限责任公司 |
主分类号: | H04L9/08 | 分类号: | H04L9/08;G06F7/58 |
代理公司: | 北京沁优知识产权代理有限公司 11684 | 代理人: | 林捷达 |
地址: | 310000 浙江省杭州市滨*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 增加 随机 函数 种子 方法 | ||
1.一种增加随机函数种子熵值的方法,其特征在于,该方法包括以下步骤:
步骤S1,调用局部变量,程序记录调用时间及分配进程识别码进行运算得到一随机初始化种子,随机初始化种子是随机函数运算的初始条件,随机函数不停迭代产生随机数;
步骤S2,建立一个种子存放区,种子存放区是静态存储区开辟的一个内部共享空间放置待存入种子,最初随机初始化种子作为待存入种子放置在种子存放区;
步骤S3,随机函数以待存入种子为条件,以线性同余运算不停迭代产生及输出随机数;
步骤S4,随机数向右位移16位得到新的种子,新的种子作为待存入种子。
2.根据权利要求1所述一种增加随机函数种子熵值的方法,其特征在于,所述步骤S1包括:
步骤S1-1,定义一局部变量,再定义一指针指向局部变量,为该局部变量分配未初始化栈空间,同时为局部变量赋值;
步骤S1-2,调用局部变量,记录调用时间及分配进程识别码;进程识别码是调用局部变量随机分配的值,调用时间是局部变量被调用的时间距离1970年1月1日00:00:00的秒数;
步骤S1-3,检测局部变量、局部变量的栈空间、调用时间及分配进程识别数值,若检测到丢失数值或者数值小于0,重复所述步骤S1-1;
步骤S1-4,将局部变量与局部变量的栈空间的栈地址的数值按位与运算得到变量一,将调用时间与分配进程识别码按位或运算得到变量二;
步骤S1-5,变量一与变量二异或运算得到随机初始化种子。
3.根据权利要求2所述一种增加随机函数种子熵值的方法,其特征在于,所述步骤S1还包括步骤S1-6,启动一定时器,在规定期限内未获得随机初始化种子,检测变量一与变量二的有效性;
若变量一与变量二均存在且数值均为正数,重复所述步骤S1-5;
若变量一与变量二其中一个丢失或数值不为正数,重复所述步骤S1-1。
4.根据权利要求1所述一种增加随机函数种子熵值的方法,其特征在于,种子存放区的大小是待存入种子大小的N倍。
5.根据权利要求4所述一种增加随机函数种子熵值的方法,其特征在于,N=1。
6.根据权利要求1所述一种增加随机函数种子熵值的方法,其特征在于,所述步骤S3包括:
步骤S3-1,调用随机函数,定义一内部变量,内部变量复制种子存放区中待存入种子的值;
步骤S3-2,调用内部变量,通过随机函数的线性同余运算,计算及输出随机数。
7.根据权利要求6所述一种增加随机函数种子熵值的方法,其特征在于,所述步骤S3还包括:
步骤S3-3,判断随机函数内部变量的值是否与种子存放区中的待存入种子值一致,若不一致,重复所述步骤S3-1。
8.根据权利要求1所述一种增加随机函数种子熵值的方法,其特征在于,所述步骤S4包括:
步骤S4-1,将计算出来的随机数向右位移16位,得到新的种子;
步骤S4-2,新的种子作为待存入种子。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江鸿城科技有限责任公司,未经浙江鸿城科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010830024.5/1.html,转载请声明来源钻瓜专利网。