随机数种子生成方法和装置制造方法及图纸

技术编号:38055659 阅读:17 留言:0更新日期:2023-06-30 11:21
本申请提供了一种随机数种子生成方法和装置,在本申请的方案中,在固件系统启动后,通过固件系统获得一参考数值,将参考数值写入到内存中的指定存储区;降低内存中指定存储区的刷新率;从指定存储区中获得参考数值的更新数值,更新数值为由于指定存储区的刷新率降低使得参考数值发生变化,而得到的数值;基于更新数值,确定随机数种子。确定随机数种子。确定随机数种子。

【技术实现步骤摘要】
随机数种子生成方法和装置


[0001]本申请涉及数据处理
,尤其涉及一种随机数种子生成方法和装置。

技术介绍

[0002]在涉及到密钥生成以及加解密的安全算法中,都需要用到随机数种子。
[0003]为了保证数据安全性,生成的随机数种子需要满足唯一且不可克隆的特性。基于此,如何能够在电子设备上较为便捷地生成具有不可克隆的随机数种子是本领域技术人员需要解决的技术问题。

技术实现思路

[0004]一方面,本申请提供了一种随机数种子生成方法,包括:
[0005]在固件系统启动后,通过固件系统获得一参考数值;
[0006]将所述参考数值写入到内存中的指定存储区;
[0007]降低所述内存中所述指定存储区的刷新率;
[0008]从所述指定存储区中获得所述参考数值的更新数值,所述更新数值为由于所述指定存储区的刷新率降低使得所述参考数值发生变化,而得到的数值;
[0009]基于所述更新数值,确定随机数种子。
[0010]在一种可能的实现方式中,在降低所述内存中所述指定存储区的刷新率之后,还包括:
[0011]调整所述内存中所述指定存储区的刷新率为基准刷新率,所述基准刷新率为降低所述指定存储区的刷新率之前,所述指定存储区的刷新率。
[0012]在又一种可能的实现方式中,所述从所述指定存储区中获得所述参考数值的更新数值,包括:
[0013]在降低所述指定存储区的刷新率的时长到达设定时长,从所述指定存储区中获得所述参考数值的更新数值。r/>[0014]在又一种可能的实现方式中,所述设定时长为基于第一随机信息确定的时长。
[0015]在又一种可能的实现方式中,所述通过固件系统获得一参考数值,包括:
[0016]通过固件系统获得只读存储器中存储的初始数值;
[0017]基于所述初始数值,确定参考数值。
[0018]在又一种可能的实现方式中,所述基于所述初始数值,确定参考数值,包括:
[0019]基于所述初始数值生成第一设定长度的第一哈希数值,将所述第一哈希数值确定为参考数值。
[0020]在又一种可能的实现方式中,在通过固件系统获得只读存储器中存储的初始数值之后,还包括:
[0021]将所述初始数值加上设定值,得到更新后的初始数值;
[0022]将所述只读存储器中存储的所述初始数值替换为所述更新后的初始数值。
[0023]在又一种可能的实现方式中,所述基于所述更新数值,确定随机数种子,包括:
[0024]基于所述更新数值生成第二设定长度的第二哈希数值,将所述第二哈希数值确定为随机数种子。
[0025]在又一种可能的实现方式中,所述降低所述内存中所述指定存储区的刷新率,包括:
[0026]向内存控制器发送刷新调整命令,所述刷新调整命令用于指示降低或者暂停所述指定存储区的刷新;
[0027]通过所述内存控制器降低所述指定存储区的刷新率。
[0028]又一方面,本申请还提供了一种随机数种子生成装置,包括:
[0029]参考值获得单元,用于在固件系统启动后,通过固件系统获得一参考数值;
[0030]数值存储单元,用于将所述参考数值写入到内存中的指定存储区;
[0031]刷新降低单元,用于降低所述内存中所述指定存储区的刷新率;
[0032]更新值获得单元,用于从所述指定存储区中获得所述参考数值的更新数值,所述更新数值为由于所述指定存储区的刷新率降低使得所述参考数值发生变化,而得到的数值;
[0033]种子生成单元,用于基于所述更新数值,确定随机数种子。
附图说明
[0034]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0035]图1示出了本申请实施例提供的随机数种子生成方法的一种流程示意图;
[0036]图2示出了本申请实施例提供的随机数种子生成方法的一种流程示意图;
[0037]图3示出了本申请实施例提供的随机数种子生成方法的一种实现原理框架示意图;
[0038]图4示出了本申请实施例提供的随机数种子生成方法的又一种流程示意图;
[0039]图5示出了本申请实施例提供的随机数种子生成装置的一种组成结构示意图;
[0040]图6示出了本申请实施例提供的电子设备的一种组成架构示意图。
具体实施方式
[0041]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0042]如图1,其示出了本申请实施例提供的随机数种子生成方法的一种流程示意图,本实施例的方案可以应用于电子设备,该电子设备可以为手机、笔记本电脑、平板电脑、台式电脑或者智能家居设备等,对此不加限制。
[0043]本实施例的方法可以包括:
[0044]S101,在固件系统启动后,通过固件系统获得一参考数值。
[0045]其中,固件系统是指电子设备内部保存的驱动程序,一般会存储到电子设备的存储介质中,如,存储到电子设备的主板的存储器中。固件是担任着最基础最底层工作的软件,通过固件系统,操作系统才能按照标准的设备驱动实现特定部件的运行动作。
[0046]在一种可能的情况中,该固件系统为用于实现辅助操作系统启动和硬件初始化,以实现软件和硬件连接的固件接口。
[0047]如,该固件系统可以为基本输入输出系统(Basic Input Output System,BIOS),该BIOS系统可以负责电子设备开机时检测硬件功能和引导操作系统启动的功能,以实现软件与硬件的连接。例如,BIOS程序实现自检和初始化程序、硬件中断处理以及程序服务请求等。
[0048]又如,该固件系统还可以为统一可扩展固件接口(Unified Extensible Firmware Interface,UEFI),该UEFI作为BIOS的替代方案,可以负责加电自检(POST)、联系操作系统以及提供连接操作系统与硬件的接口。
[0049]以上是以固件系统为固件接口程序的一种情况为例,在实际应用中,该固件系统还可以为有其他可能,只要是电子设备中可以通过修改其配置项实现更新或者说升级的固件系统都适用于本申请。
[0050]可以理解的是,电子设备每次开机后,都会启动该固件系统,从而可以通过固件系统触发执行本案生成随机数种子的操作。
[0051]其中,该参考数值可以为随机生成或者确定的一个数值,以进一步保证后续生成的随机数种子的唯一性。
[0052]获得该参考数值本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种随机数种子生成方法,包括:在固件系统启动后,通过固件系统获得一参考数值;将所述参考数值写入到内存中的指定存储区;降低所述内存中所述指定存储区的刷新率;从所述指定存储区中获得所述参考数值的更新数值,所述更新数值为由于所述指定存储区的刷新率降低使得所述参考数值发生变化,而得到的数值;基于所述更新数值,确定随机数种子。2.根据权利要求1所述的方法,在降低所述内存中所述指定存储区的刷新率之后,还包括:调整所述内存中所述指定存储区的刷新率为基准刷新率,所述基准刷新率为降低所述指定存储区的刷新率之前,所述指定存储区的刷新率。3.根据权利要求1或2所述的方法,所述从所述指定存储区中获得所述参考数值的更新数值,包括:在降低所述指定存储区的刷新率的时长到达设定时长,从所述指定存储区中获得所述参考数值的更新数值。4.根据权利要求3所述的方法,所述设定时长为基于第一随机信息确定的时长。5.根据权利要求1所述的方法,所述通过固件系统获得一参考数值,包括:通过固件系统获得只读存储器中存储的初始数值;基于所述初始数值,确定参考数值。6.根据权利要求5所述的方法,所述基于所述初始数值,确定参考数值,包括:基于所述初始数值生成第一设定长度的第一哈希数值,将所述...

【专利技术属性】
技术研发人员:朱光宇王云浩
申请(专利权)人:联想北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1