[发明专利]一种随机数生成方法及装置有效
| 申请号: | 201611248602.4 | 申请日: | 2016-12-29 |
| 公开(公告)号: | CN106648543B | 公开(公告)日: | 2019-09-27 |
| 发明(设计)人: | 江先 | 申请(专利权)人: | 北京握奇智能科技有限公司 |
| 主分类号: | G06F7/58 | 分类号: | G06F7/58 |
| 代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
| 地址: | 100102 北京市朝阳区*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 系统调度 线程 随机数 随机源 随机数生成 计算机系统安全 随机性 安全漏洞 调度线程 随机选择 完成系统 系统环境 调度 保证 | ||
本发明提供了一种随机数生成方法及装置,该方法包括:选择至少一个系统调度线程;针对每一个系统调度线程,根据完成系统调度线程耗费的CPU时钟周期生成随机源;针对每一个系统调度线程,生成随机源对应的随机数。基于本发明公开的方法,通过随机选择windows操作系统中至少一个系统调度线程,并根据系统调度线程在当前系统环境下完成调度耗费的CPU时钟周期生成随机源,最终根据随机源生成随机数,相较于硬件生成随机数来说,随机性更高,生成的随机数也就更有效,这也就避免了产生安全漏洞,从而为计算机系统安全提供保证。
技术领域
本发明涉及密码安全技术领域,更具体地说,涉及一种随机数据生成方法及装置。
背景技术
随机数广泛应用于计算机应用,是密码技术的基础之一。随机数分为两大类:真随机数和伪随机数。
在一些关键的密码应用中一般都是采用真随机数,并且在逻辑上通常由真随机数生成器(TRNG)创建。经工作人员发现,在windows系统下,目前TRNG只可基于硬件“熵源”生成真随机数,存在安全漏洞,不能保证计算机系统安全。
发明内容
有鉴于此,本发明提供一种随机数生成方法及装置,以解决现有的技术方案中基于硬件的“熵源”生成真随机数,存在安全漏洞的问题。技术方案如下:
一种随机数生成方法,包括:
选择至少一个系统调度线程;
针对每一个所述系统调度线程,根据完成所述系统调度线程耗费的CPU时钟周期生成随机源;
针对每一个所述系统调度线程,生成所述随机源对应的随机数。
优选的,还包括:
当所述系统调度线程为多个时,根据各个所述随机数生成随机数序列。
优选的,所述根据完成所述系统调度线程耗费的CPU时钟周期生成随机源,包括:
确定所述系统调度线程其中包含的至少一个系统调度进程;
计算完成各个所述系统调度进程耗费的CPU时钟周期;
将计算得到的各个所述CPU时钟周期依次存储于预设内存地址;
当各个所述系统调度进程均执行完成时,根据所述内存地址存储的各个所述CPU时钟周期生成随机源。
优选的,所述计算完成各个所述系统调度进程耗费的CPU时钟周期,包括:
触发各个所述系统调度进程,同时,记录触发时间点;
根据各个所述系统调度进程中预先添加的至少一个熵源进行调度;
当完成调度时,记录完成时间点;
根据所述触发时间点和所述完成时间点,计算完成各个所述系统调度进程耗费的CPU时钟周期。
优选的,所述系统调度线程,包括:
时间片用完引起的系统调度线程、进程运行引起的系统调度线程、接口函数引起的系统调度线程、软硬件中断引起的系统调度线程或时钟引起的系统调度线程。
优选的,采用Sleep接口函数触发各个所述系统调度进程。
一种随机数生成装置,包括:系统调度线程选择模块、随机源生成模块和随机数生成模块;
所述系统调度线程选择模块,用于选择至少一个系统调度线程;
所述随机源生成模块,用于针对每一个所述系统调度线程,根据完成所述系统调度线程耗费的CPU时钟周期生成随机源;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京握奇智能科技有限公司,未经北京握奇智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611248602.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种点读方法和点读装置
- 下一篇:一种芳香胺衍生物及其制备方法和应用





