一种密钥发散方法及装置制造方法及图纸

技术编号:13862962 阅读:79 留言:0更新日期:2016-10-19 12:41
本发明专利技术适用于密钥领域,提供了一种密钥发散方法及装置,所述密钥发散方法包括:获取预设的计数值、终端序列号和预配置的基本发散密钥,生成初始密钥;获取当前计数器的计数值;获取计数器的计数值比特位为1的个数,将比特位为1的个数作为发散次数,按预先设定的顺序、计数器的计数值、终端序列号、初始密钥以及发散次数,对初始密钥进行发散,生成优选的发散密钥,或者,获取计数器的计数值比特位为0的个数,将比特位为0的个数作为发散次数,按预先设定的顺序、计数器的计数值、终端序列号、初始密钥以及发散次数,对初始密钥进行发散,生成优选的发散密钥。本发明专利技术提高了发散密钥的可靠性。

【技术实现步骤摘要】

本专利技术属于密钥领域,尤其涉及一种密钥发散方法及装置
技术介绍
密钥是一种参数,可将明文转换为密文或将密文转换为明文。随着密钥功能的普及,越来越多的用户设备和服务器通过密钥发散方法,生成密钥,将明文转换为密文或将密文转换为明文,以提高交互系统的安全性。然而,现有密钥发散方法,发散的时间长,且生成多个发散密钥时,无法在多个发散密钥中,快速选取出优选的发散密钥,降低了发散密钥的可靠性。其原因在于,现有的发散密钥发散方法,发散时需要处理较大的数据量,在极短的时间内,无法生成发散密钥,且在生成多个发散密钥时,只会采用轮询的方式,在多个发散密钥中选取发散密钥,而轮询的发散密钥,并不是优选的发散密钥。因此,严重浪费了发散时间,降低了发散密钥的可靠性。
技术实现思路
本专利技术实施例的目的在于提供一种密钥发散方法,旨在解决现有密钥发散方法,发散的时间长,且生成多个发散密钥时,无法在多个发散密钥中,快速选取出优选的发散密钥,降低了发散密钥的可靠性的问题。本专利技术实施例是这样实现的,一种密钥发散方法,包括:获取预设的计数值、终端序列号和预配置的基本发散密钥,生成初始密钥;获取当前计数器的计数值;获取计数器的计数值比特位为1的个数,将比特位为1的个数作为发散次
数,按预先设定的顺序、计数器的计数值、终端序列号、初始密钥以及发散次数,对初始密钥进行发散,生成优选的发散密钥,或者,获取计数器的计数值比特位为0的个数,将比特位为0的个数作为发散次数,按预先设定的顺序、计数器的计数值、终端序列号、初始密钥以及发散次数,对初始密钥进行发散,生成优选的发散密钥。本专利技术实施例的另一目的在于提供一种密钥发散装置,包括:初始密钥生成模块,用于获取预设的计数值、终端序列号和预配置的基本发散密钥,生成初始密钥;计数值获取模块,用于获取当前计数器的计数值;密钥发散模块,用于获取计数器的计数值比特位为1的个数,将比特位为1的个数作为发散次数,按预先设定的顺序、计数器的计数值、终端序列号、初始密钥以及发散次数,对初始密钥进行发散,生成优选的发散密钥,或者,用于获取计数器的计数值比特位为0的个数,将比特位为0的个数作为发散次数,按预先设定的顺序、计数器的计数值、终端序列号、初始密钥以及发散次数,对初始密钥进行发散,生成优选的发散密钥。在本专利技术实施例中,按预先设定的顺序、计数器的计数值、终端序列号、初始密钥以及发散次数,对初始密钥进行发散,生成优选的发散密钥,解决了现有密钥发散方法,发散的时间长,且生成多个发散密钥时,无法在多个发散密钥中,快速选取出优选的发散密钥,降低了发散密钥的可靠性的问题,在用户设备和服务器正常使用的情况下,可以快速生成优选的发散密钥,节省了发散时间,从而提高了发散密钥的可靠性。附图说明图1是本专利技术实施例提供的密钥发散方法的实现流程图;图2是本专利技术实施例提供的密钥发散方法步骤S101的实现流程图;图3是本专利技术实施例提供的密钥发散方法步骤S102的实现流程图;图4是本专利技术实施例提供的密钥发散方法步骤S103的实现流程图;图5是本专利技术实施例提供的密钥发散装置的结构框图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。实施例一图1是本专利技术实施例提供的密钥发散方法的实现流程图,详述如下:在步骤S101中,获取预设的计数值、终端序列号和预配置的基本发散密钥,生成初始密钥;其中,预先配置基本发散密钥,并将基本发散密钥存储至预设区域。预设的计数值可以为系统默认,也可以自行设置,在此不做限制。其中,当检测到发生发送报文事件时,执行步骤S101。在步骤S102中,获取当前计数器的计数值;其中,获取当前计数器中有效的计数值。在步骤S103中,获取计数器的计数值比特位为1的个数,将比特位为1的个数作为发散次数,按预先设定的顺序、计数器的计数值、终端序列号、初始密钥以及发散次数,对初始密钥进行发散,生成优选的发散密钥,或者,获取计数器的计数值比特位为0的个数,将比特位为0的个数作为发散次数,按预先设定的顺序、计数器的计数值、终端序列号、初始密钥以及发散次数,对初始密钥进行发散,生成优选的发散密钥。在本专利技术实施例中,按预先设定的顺序、计数器的计数值、终端序列号、初始密钥以及发散次数,对初始密钥进行发散,生成优选的发散密钥,解决了现有密钥发散方法,发散的时间长,且生成多个发散密钥时,无法在多个发散
密钥中,快速选取出优选的发散密钥,降低了发散密钥的可靠性的问题,在用户设备和服务器正常使用的情况下,可以快速生成优选的发散密钥,节省了发散时间,从而提高了发散密钥的可靠性。实施例二图2是本专利技术实施例提供的密钥发散方法步骤S101的实现流程图,详述如下:在步骤S201中,将预先设定的计数值和终端序列号组合,生成初始的混合数据;在步骤S202中,利用散列函数,获取初始的混合数据的散列值和预配置的基本发散密钥的散列值;其中,利用指定的散列函数,获取初始的混合数据的散列值和预配置的基本发散密钥的散列值,指定的散列函数包括SHA散列函数、MD5散列函数中的至少一种。在步骤S203中,利用混合数据的散列值和预配置的基本发散密钥的散列值,进行异或运算,生成初始密钥。在本专利技术实施例中,生成初始密钥,便于后续以初始密钥为基础,进行发散,快速生成优选的发散密钥。实施例三图3是本专利技术实施例提供的密钥发散方法步骤S102的实现流程图,详述如下:在步骤S301中,获取当前计数器的比特位为1的个数,获取当前计数器的比特位为0的个数;在步骤S302中,判断当前计数器的比特位为1的个数是否小于预设阀值,判断当前计数器的比特位为0的个数是否小于预设阀值;在步骤S303中,若是,获取当前计数器的计数值。若否,丢弃当前计数器的计数值。在本专利技术实施例中,获取当前计数器的计数值,便于后续以计数器的计数值为基础,进行发散,快速生成优选的发散密钥。实施例四图4是本专利技术实施例提供的密钥发散方法步骤S103的实现流程图,详述如下:在步骤S401中,获取计数器当前的计数值,将计数器当前的计数值和终端序列号组合,生成当前的混合数据;在步骤S402,利用散列函数,获取当前的混合数据的散列值和初始密钥的散列值;在步骤S403,利用获取到的终端序列号的散列值和计数器当前的计数值的散列值,进行异或运算,生成当前的发散密钥;在步骤S404,循环执行步骤S402和S403,按照从左往右的顺序,对当前的发散密钥进行发散,直至计数器当前的计数值不存在值为1的比特位,选出优选的发散密钥。可选地,作为密钥发散方法步骤S103的另一种实现方式,在步骤S404,循环执行步骤S402和S403,按照从右往左的顺序,对当前的发散密钥进行发散,直至计数器当前的计数值不存在值为1的比特位,选出优选的发散密钥。在本专利技术实施例中,根据1的比特位的个数作为发散次数,由于计数器当前的计数值中值为1的比特位较少,因此发散的次数较少,可以有效减少发散的时间,快速生成优选的发散密钥。实施例五图5是本专利技术实施例提供的密钥发散装置的结构框图,该装置可以运行于
电子设备中。电子设备包括但不限于智能手机本文档来自技高网
...

【技术保护点】
一种密钥发散方法,其特征在于,包括:获取预设的计数值、终端序列号和预配置的基本发散密钥,生成初始密钥;获取当前计数器的计数值;获取计数器的计数值比特位为1的个数,将比特位为1的个数作为发散次数,按预先设定的顺序、计数器的计数值、终端序列号、初始密钥以及发散次数,对初始密钥进行发散,生成优选的发散密钥,或者,获取计数器的计数值比特位为0的个数,将比特位为0的个数作为发散次数,按预先设定的顺序、计数器的计数值、终端序列号、初始密钥以及发散次数,对初始密钥进行发散,生成优选的发散密钥。

【技术特征摘要】
1.一种密钥发散方法,其特征在于,包括:获取预设的计数值、终端序列号和预配置的基本发散密钥,生成初始密钥;获取当前计数器的计数值;获取计数器的计数值比特位为1的个数,将比特位为1的个数作为发散次数,按预先设定的顺序、计数器的计数值、终端序列号、初始密钥以及发散次数,对初始密钥进行发散,生成优选的发散密钥,或者,获取计数器的计数值比特位为0的个数,将比特位为0的个数作为发散次数,按预先设定的顺序、计数器的计数值、终端序列号、初始密钥以及发散次数,对初始密钥进行发散,生成优选的发散密钥。2.如权利要求1所述密钥发散方法,其特征在于,所述获取预设的计数值、终端序列号和预配置的基本发散密钥,生成初始密钥,具体为:将预先设定的计数值和终端序列号组合,生成初始的混合数据;利用散列函数,获取初始的混合数据的散列值和预配置的基本发散密钥的散列值;利用混合数据的散列值和预配置的基本发散密钥的散列值,进行异或运算,生成初始密钥。3.如权利要求1所述密钥发散方法,其特征在于,所述获取当前计数器的计数值,具体为:获取当前计数器的比特位为1的个数,获取当前计数器的比特位为0的个数;判断当前计数器的比特位为1的个数是否小于预设阀值,判断当前计数器的比特位为0的个数是否小于预设阀值;若是,获取当前计数器的计数值。4.如权利要求1所述密钥发散方法,其特征在于,所述预先设定的顺序包括从左往右的顺序以及从右往左中的至少一种。5.如权利要求1或3所述密钥发散方法,其特征在于,当预先设定的顺序为从左往右的顺序时,所述获取计数器的计数值比特位为1的个数,将比特位为1的个数作为发散次数,按预先设定的顺序、计数器的计数值、终端序列号、初始密钥以及发散次数,对初始密钥进行发散,生成优选的发散密钥,具体为:S1,获取计数器当前的计数值,将计数器当前的计数值和终端序列号组合,生成当前的混合数据;S2,利用散列函数,获取当前的混合数据的散列值和初始密钥的散列值;S3,利用获取到的终端序列号的散列值和计数器当前的计数值的散列值,进行异或运算,生成当前的发散密钥;循环执行步骤S2和S3,按照从左往右的顺序,对当前的发散密钥进行发散,直至计数器当前的计数值不存在值为1的比特位,选出优选的发散密钥。6.一种密钥发散装置,其特征在于...

【专利技术属性】
技术研发人员:黄俊斌李华陈候进周宇龙李鹤祥
申请(专利权)人:深圳华智融科技有限公司
类型:发明
国别省市:广东;44

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

1