一种密钥生成方法、装置及存储介质与流程

未命名 09-22 阅读:80 评论:0


1.本公开涉及密码学技术领域,尤其涉及一种密钥生成方法、装置及存储介质。


背景技术:

2.密码学是一门关于信息保密的古老学科。由于信息传输、信息存储和信息处理在现代信息社会中的广泛使用,信息的保密需求无处不在,密码技术在现今社会的重要性更加突出。相关技术中,由随机数生成器生成密钥,再通过密钥对明文信息进行加密并对密文信息进行解密。为了提高密钥的安全性,生成密钥的随机数需要具有不可预测性,即无法根据已经生成的随机数推测出未来要生成的随机数,同时,由随机数生成的密钥需要具有良好的统计特性。


技术实现要素:

3.为克服相关技术中存在的问题,本公开提供一种密钥生成方法、装置及存储介质。
4.根据本公开实施例的第一方面,提供一种密钥生成方法,所述密钥生成方法包括:
5.获取n阶目标矩阵,所述目标矩阵中每一行和/或列所有元素之和为1;
6.生成与所述目标矩阵的行和/或列一一对应的集合,所述集合包括依次相连的n个子区间,所述集合覆盖[0,1];
[0007]
生成与所述目标矩阵的行和/或列一一对应的随机概率值,确定所述随机概率值在相应的行和/或列所对应的所述集合中所属的子区间的位置标识号;
[0008]
根据每个所述位置标识号对应的所述随机概率值的个数,生成密钥序列。
[0009]
在一示例性实施例中,所述根据每个所述位置标识号对应的所述随机概率值的个数,生成密钥序列,包括:
[0010]
若所述位置标识号对应的所述随机概率值的个数大于0,则所述位置标识号对应的密钥值为1;
[0011]
若所述位置标识号对应的所述随机概率值的个数等于0,则所述位置标识号对应的密钥值为0;
[0012]
由所有所述位置标识号对应的密钥值依次排列组成所述密钥序列。
[0013]
在一示例性实施例中,所述方法还包括:
[0014]
若重复使用所述密钥序列,确定所述密钥序列中0的个数和1的个数,删除其中一个个数多出另一个个数的密钥值,获得目标密钥序列,所述目标密钥序列中0的个数和1的个数相等;
[0015]
若不重复使用所述密钥序列,确定所述密钥序列为所述目标密钥序列。
[0016]
在一示例性实施例中,所述获取n阶目标矩阵,包括:
[0017]
生成n阶随机酉矩阵,将所述随机酉矩阵中每个位置的元素的模的平方确定为目标矩阵的相同位置的元素。
[0018]
在一示例性实施例中,所述获取n阶目标矩阵,包括:
[0019]
生成n阶随机矩阵,将所述随机矩阵中每个元素和所述元素所在行和/或列所有元素之和的比值确定为目标矩阵的相同位置的元素。
[0020]
根据本公开实施例的第二方面,提供一种密钥生成装置,所述密钥生成装置包括:
[0021]
获取模块,被配置为获取n阶目标矩阵,所述目标矩阵中每一行和/或列所有元素之和为1;
[0022]
第一生成模块,被配置为生成与所述目标矩阵的行和/或列一一对应的集合,所述集合包括依次相连的n个子区间,所述集合覆盖[0,1];
[0023]
采样模块,被配置为生成与所述目标矩阵的行和/或列一一对应的随机概率值,确定所述随机概率值在相应的行和/或列所对应的所述集合中所属的子区间的位置标识号;
[0024]
第二生成模块,被配置为根据每个所述位置标识号对应的所述随机概率值的个数,生成密钥序列。
[0025]
在一示例性实施例中,所述第二生成模块还被配置为:
[0026]
若所述位置标识号对应的所述随机概率值的个数大于0,则所述位置标识号对应的密钥值为1;
[0027]
若所述位置标识号对应的所述随机概率值的个数等于0,则所述位置标识号对应的密钥值为0;
[0028]
由所有所述位置标识号对应的密钥值依次排列组成所述密钥序列。
[0029]
在一示例性实施例中,所述第二生成模块还被配置为:
[0030]
若重复使用所述密钥序列,确定所述密钥序列中0的个数和1的个数,删除其中一个个数多出另一个个数的密钥值,获得目标密钥序列,所述目标密钥序列中0的个数和1的个数相等;
[0031]
若不重复使用所述密钥序列,确定所述密钥序列为所述目标密钥序列。
[0032]
在一示例性实施例中,所述获取模块还被配置为:
[0033]
生成n阶随机酉矩阵,将所述随机酉矩阵中每个位置的元素的模的平方确定为目标矩阵的相同位置的元素。
[0034]
在一示例性实施例中,所述获取模块还被配置为:
[0035]
生成n阶随机矩阵,将所述随机矩阵中每个元素和所述元素所在行和/或列所有元素之和的比值确定为目标矩阵的相同位置的元素。
[0036]
根据本公开实施例的第三方面,提供一种密钥生成装置,包括:
[0037]
处理器;
[0038]
用于存储处理器可执行指令的存储器;
[0039]
其中,所述处理器被配置为执行如本公开实施例的第一方面中所述的方法。
[0040]
根据本公开实施例的第四方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置的处理器执行时,使得装置能够执行如本公开实施例的第一方面中所述的方法。
[0041]
采用本公开的上述方法,具有以下有益效果:本公开中的密钥生成方法不需要额外的电路,实现简单,并且,所生成的密钥序列具有不可预测性,也无法根据已经生成的序列破译,因此,能够简化密钥生成过程的同时保证密钥的安全性。
[0042]
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不
能限制本公开。
附图说明
[0043]
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
[0044]
图1是根据一示例性实施例示出的一种加密和解密系统的示意图;
[0045]
图2是根据一示例性实施例示出的一种密钥生成方法的流程图;
[0046]
图3是根据一示例性实施例示出的每个集合的线段示意图;
[0047]
图4是根据一示例性实施例示出的目标矩阵的阶数与生成不同的采样样本总数之间的关系图;
[0048]
图5a是根据一示例性实施例示出的采样样本的概率分布图;
[0049]
图5b是根据一示例性实施例示出的采样过程的概率直方图;
[0050]
图6是根据一示例性实施例示出的一种密钥生成装置的框图;
[0051]
图7是根据一示例性实施例示出的一种密钥生成装置的框图。
具体实施方式
[0052]
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
[0053]
图1是根据一示例性实施例示出的一种加密和解密系统的示意图,如图1所示,在发送端被加密计算模块e使用加密密钥e对明文信息s加密,生成密文y=e(s,e),密文y经过公开信道传输至接收端,在接收端被解密计算模块d使用解密密钥d对密文y还原,得到明文信息s=d(y,d)。其中,如果加密密钥e和解密密钥d相等,则该系统被称之为对称加密系统;如果加密密钥e和解密密钥d不相等,则该系统被称之为非对称加密系统。在一个密码系统中包含如下要素:明文,密钥,密码算法,密文。密码系统的安全性通常取决于密钥安全性,密码安全性评估通常基于柯克霍夫假设(kerckhoffs假设),即:一个密码系统除了密钥之外,密码算法的所有细节都是已知的,明文或者密文也是可能被截获的,并且加密机或者解密机也可能被截获,也就是说,密码系统中的密码算法一般都是公开和标准化的,而只有密钥是需要保密的。因此,对密码系统的攻击主要是针对密钥,密钥安全性即密码系统的安全性。
[0054]
相关技术中,生成密钥的方法主要包括以下三种:一、根据确定性算法生成伪随机数;二、根据经典物理学中的噪声产生原理生成物理噪声随机数;三、基于量子物理学原理生成量子随机数。
[0055]
但是,这三种方法存在以下局限性和缺点:
[0056]
一、确定性算法生成的伪随机数具有固定的模式,如果种子相同,则生成的序列完全相同,并且,这类伪随机数生成器的算法一般都是公开的,根据已经生成的序列,生成该序列的种子是可以计算得出的,因此,算法生成的伪随机数不具备不可预测性。
[0057]
二、根据经典物理学原理生成的随机数是有参数可以控制的物理过程,如果有足
够的计算资源,这些随机序列也是可以被预测的,因而,该方法生成的物理噪声随机数并不具备不可预测性,另外,通过对这类随机数生成器施加外部的电磁干扰,也容易干扰和控制这类随机数生成器。
[0058]
三、基于量子物理学原理生成量子随机数的生成器的使用并不普遍,并且目前很难和基于硅材料的集成电路一体集成,生成器成本较高,另外,这类生成器中所需的经典物理学器件,如检测器,放大器,模数转化器等,也容易被外部施加的电磁干扰所控制。
[0059]
因此,基于算法生成的伪随机数安全性非常差,经典物理随机数和量子物理随机数这两类随机数生成器,都需要额外的物理电路来实现,其复杂性给工程实现带来难度,并且容易受到电磁干扰。
[0060]
本公开示例性的实施例中,为了解决相关技术中密钥生成方法存在的问题,提供一种密钥生成方法,获取n阶目标矩阵,其中,目标矩阵中每一行和/或列所有元素之和为1,生成与目标矩阵的行和/或列一一对应的集合,每个集合包括依次相连的n个子区间,每个集合覆盖[0,1],生成与目标矩阵的行和/或列一一对应的随机概率值,确定随机概率值在相应的行和/或列所对应的集合中所属的子区间的位置标识号,根据每个位置标识号对应的随机概率值的个数,生成密钥序列。本公开中的密钥生成方法不需要额外的电路,实现简单,并且,所生成的密钥序列具有不可预测性,也无法根据已经生成的序列破译,因此,能够简化密钥生成过程的同时保证密钥的安全性。
[0061]
在本公开的具体实现方案中,可以设定目标矩阵的每一列的所有元素之和为1,或者每一行之和为1,或者每一列之和和每一行之和同时为1的不同实现形式。本公开示例性的实施例中以目标矩阵的每一列的所有元素之和为1作为示例。
[0062]
本公开示例性的实施例中,提供一种密钥生成方法,图2是根据一示例性实施例示出的一种密钥生成方法的流程图,如图2所示,包括以下步骤:
[0063]
步骤s201,获取n阶目标矩阵,目标矩阵中每一列所有元素之和为1。
[0064]
将n阶目标矩阵记为矩阵a,矩阵a表示为:
[0065][0066]
其中,a
nn
表示目标矩阵a中第n行第n列的元素的值。
[0067]
目标矩阵a满足每一列所有元素之和为1,即满足:
[0068][0069]
其中,i表示目标矩阵a的第i行,j表示目标矩阵a的第j列。
[0070]
n阶目标矩阵的生成方法可以为任意方法,本公开不作限制,例如使用相关技术中的伪随机数生成算法生成伪随机数作为目标矩阵中的元素。
[0071]
在一些示例性实施例中,可以通过以下两种方式中的一种获取n阶目标矩阵:
[0072]
第一种,生成n阶随机酉矩阵,将随机酉矩阵中每个位置的元素的模的平方确定为目标矩阵的相同位置的元素。
[0073]
将随机酉矩阵记为矩阵u,则随机酉矩阵u满足关系式:u
·u*
=i,其中u
*
表示随机
酉矩阵u的转置共轭矩阵,i表示单位矩阵。将随机酉矩阵u表示为:
[0074][0075]
则:
[0076][0077]
其中,|u|2表示矩阵u中每个位置的元素的模的平方组成的矩阵,满足每一列和每一行中所有元素之和都为1,因此,将|u|2确定为目标矩阵。
[0078]
第二种,生成n阶随机矩阵,将随机矩阵中每个元素和元素所在列所有元素之和的比值确定为目标矩阵的相同位置的元素。
[0079]
将n阶随机矩阵记为矩阵b,表示为:
[0080][0081]
随机矩阵b中的每个元素服从同一概率分布,例如均匀分布。
[0082]
计算随机矩阵b中每一列所有元素之和bj:
[0083][0084]
其中,i表示随机矩阵b的第i行,j表示随机矩阵b的第j列。
[0085]
基于每一列所有元素之和,对随机矩阵b进行列归一化,则:
[0086][0087]
其中,矩阵满足每一列所有元素之和为1,则将目标矩阵a确定为:
[0088][0089]
步骤s202,生成与目标矩阵的列一一对应的集合,集合包括依次相连的n个子区间,集合覆盖[0,1]。
[0090]
将目标矩阵记为矩阵a:
[0091][0092]
其中,每一列的所有元素之和为1,即满足:
[0093][0094]
其中,i表示目标矩阵的第i行,j表示目标矩阵的第j列。
[0095]
按照目标矩阵中每一列的元素取值,生成与目标矩阵的列一一对应的集合,每个集合中将取值范围[0,1]分成n个子区间,每个子区间长度为该列中每个元素的取值,即每个子区间的长度为a
ij
。每个集合中的每个子区间一一对应于相应列中的一个元素,子区间在n个子区间中的位置和对应的元素在该列n个元素中的位置相同。
[0096]
图3是根据一示例性实施例示出的每个集合的线段示意图,如图3所示,生成与目标矩阵的第j列对应的集合,该集合中将取值范围[0,1]划分为n个子区间,子区间a
1j
的长度为目标矩阵第j列第1个矩阵元素的取值,子区间a
2j
的长度为目标矩阵第j列第2个矩阵元素的取值,子区间a
kj
的长度为目标矩阵第j列第k个矩阵元素的取值,子区间a
nj
的长度为目标矩阵第j列第n个矩阵元素的取值,则第1子区间的取值范围为[0,a
1j
),第2个子区间的取值范围为[a
1j
,a
1j
+a
2j
),第k个子区间的取值范围为[a
1j
+a
2j
+

++a
(k-1)j
,a
1j
+a
2j
+

++a
kj
),第n个子区间的取值范围为[a
1j
+a
2j
+

++a
(n-1)j
,1]。
[0097]
在一示例中,目标矩阵a为:
[0098][0099]
目标矩阵第1列对应的集合为{0.4,0.2,0.4},第1个子区间的长度为0.4,取值范围为[0,0.4),第2个子区间的长度为0.2,取值范围为[0.4,0.6),第3个子区间的长度为0.4,取值范围为[0.6,1];目标矩阵第2列对应的集合为{0.3,0.4,0.3},第1个子区间的长度为0.3,取值范围为[0,0.3),第2个子区间的长度为0.4,取值范围为[0.3,0.7),第3个子区间的长度为0.3,取值范围为[0.7,1];目标矩阵第3列对应的集合为{0.5,0.4,0.1},第1个子区间的长度为0.5,取值范围为[0,0.5),第2个子区间的长度为0.4,取值范围为[0.5,0.9),第3个子区间的长度为0.1,取值范围为[0.9,1]。
[0100]
步骤s203,生成与目标矩阵的列一一对应的随机概率值,确定随机概率值在相应的列所对应的集合中所属的子区间的位置标识号。
[0101]
生成目标矩阵第j列对应的随机概率值pj,随机概率值pj服从[0,1]之间的均匀分布,确定随机概率值pj在第j列对应的集合中所属的子区间的位置标识号,位置标识号表示该列中子区间的位置标号,例如a
1j
《pj《a
1j
+a
2j
时,a
1j
表示第j列第1个矩阵元素,a
2j
表示第j列第2个矩阵元素,则说明随机概率值pj在第j列对应的集合中属于第2个子区间,即位置标识号为2。生成目标矩阵每一列对应的随机概率值,并获得每一列对应的随机概率值在相应列的集合中所属的子区间的位置标识号。
[0102]
在一示例中,目标矩阵a为:
[0103][0104]
所生成的每一列对应的随机概率值分别为0.5、0.2和0.6,则第1列对应的随机概率值0.5属于第2个子区间,位置标识号为2;第2列对应的随机概率值0.2属于第1个子区间,位置标识号为1;第3列对应的随机概率值0.6属于第2个子区间,位置标识号为2。此时,位置标识号1对应1个随机概率值,位置标识号对应2个随机概率值,位置标识号3对应0个随机概率值。
[0105]
步骤s204,根据每个位置标识号对应的随机概率值的个数,生成密钥序列。
[0106]
统计每个位置标识号的子区间内对应的随机概率值的个数,将位置标识号为k的子区间内对应的随机概率值的个数记为sk,则n个位置标识号的子区间对应的随机概率值的个数可以表示为集合s={s1,s2,

,sk,

,sn},根据集合s生成密钥序列。
[0107]
在一示例中,目标矩阵a为:
[0108][0109]
所生成的每一列对应的随机概率值分别为0.5、0.2和0.6时,集合s为:s={1,2,0};所生成的每一列对应的随机概率值分别为0.5、0.2和0.95时,集合s为:s={1,1,1};所生成的每一列对应的随机概率值分别为0.1、0.2和0.95时,集合s为:s={2,0,1}。
[0110]
根据集合s生成密钥序列时,可以通过任一转换关系生成0/1密钥序列。
[0111]
在一示例中,若位置标识号对应的随机概率值的个数大于0,则位置标识号对应的密钥值为1;若位置标识号对应的随机概率值的个数等于0,则位置标识号对应的密钥值为0;由所有位置标识号对应的密钥值依次排列组成密钥序列。
[0112]
例如,集合s为s={1,2,0}时,说明位置标识号1和2对应的随机概率值的个数均大于0,位置标识号3对应的随机概率值的个数等于0,则生成密钥序列为110;集合s为s={1,1,1}时,说明位置标识号1、2、3对应的随机概率值的个数均大于0,则生成密钥序列为111;集合s为s={2,0,1}时,说明位置标识号1和3对应的随机概率值的个数均大于0,位置标识号2对应的随机概率值的个数等于0,则生成密钥序列为101。
[0113]
在另一示例中,若位置标识号对应的随机概率值的个数大于0,则位置标识号对应的密钥值为0;若位置标识号对应的随机概率值的个数等于0,则位置标识号对应的密钥值为1;由所有位置标识号对应的密钥值依次排列组成密钥序列。
[0114]
例如,集合s为s={1,2,0}时,说明位置标识号1和2对应的随机概率值的个数均大于0,位置标识号3对应的随机概率值的个数等于0,则生成密钥序列为001;集合s为s={1,1,1}时,说明位置标识号1、2、3对应的随机概率值的个数均大于0,则生成密钥序列为000;集合s为s={2,0,1}时,说明位置标识号1和3对应的随机概率值的个数均大于0,位置标识号2对应的随机概率值的个数等于0,则生成密钥序列为010。
[0115]
上述实施例中,目标矩阵的每一列所有元素之和为1。在本公开的具体实现方案中,也可以设定目标矩阵的每一行的所有元素之和为1,相应地,如图3所示的集合区间划分也可以按矩阵每行的元素来设定,然后生成与目标矩阵的行一一对应的随机概率值,并确
定随机概率值在相应的行所对应的集合中所属的子区间的位置标识号。本公开的方法适用于不同矩阵的每一列之和为1,或者每一行之和为1,或者每一列之和和每一行之和同时为1的不同实现形式。
[0116]
在一示例性实施例中,生成密钥序列之后,需要确定是否需要重复使用该密钥序列:
[0117]
若重复使用密钥序列,确定密钥序列中0的个数和1的个数,删除其中一个个数多出另一个个数的密钥值,获得目标密钥序列,目标密钥序列中0的个数和1的个数相等;
[0118]
若不重复使用密钥序列,确定密钥序列为目标密钥序列。
[0119]
当需要重复使用该密钥序列时,需要满足密钥序列中0的个数和1的个数相等,例如,所生成的密钥序列为101101001时,其中包括4个0和5个1,此时删除其中的一个1,使得0的个数和1的个数相等,删除时可以根据实际需求删除任意一个1,例如删除最后一个1,得到目标密钥序列为10110100。当不需要重复使用该密钥时,则将所生成的密钥序列确定为目标密钥序列即可。
[0120]
在本公开示例性的实施例中,获取每一行和/或列所有元素之和为1的n阶目标矩阵,生成与目标矩阵的行和/或列一一对应的集合,每个集合包括依次相连的n个子区间,每个集合覆盖[0,1],生成与目标矩阵的行和/或列一一对应的随机概率值,确定随机概率值在相应的行和/或列所对应的集合中所属的子区间的位置标识号,根据每个位置标识号对应的随机概率值的个数,生成密钥序列,该方法不需要额外的电路,实现简单。
[0121]
另外,对于同一个n阶目标矩阵,每执行一次步骤s203所得到的结果认为是一个采样样本,即获得一个上述集合s,则n阶目标矩阵可以生成的不同的采样样本的个数为:
[0122][0123]
其中,n!=1*2*3*

*n,因此,所能生成的不同的采样样本的总个数随着目标矩阵的阶数n的增加而指数增加,图4是根据一示例性实施例示出的目标矩阵的阶数与生成不同的采样样本总数之间的关系图,如图4所示,横坐标为目标矩阵的阶数,纵坐标为生成不同的采样样本总数,当n为128时,不同的采样样本总数超过10
75
个,不同的采样样本总数较大,则每个采样样本出现的概率极小,因此可以认为不会出现相同的采样样本。
[0124]
在一示例中,当n=128时,重复执行160000000次步骤s203的采样过程,每次采样过程对应得到一个采样样本,并计算不同采样样本出现的概率,图5是根据一示例性实施例示出的采样样本的概率分布图,图5a展示了10000个不同的采样样本的概率分布,横坐标为不同采样样本的编号,纵坐标为概率值,其概率分布在10-230
到10-265
之间,均为极小的概率值,图5b展示了160000000个采样过程的概率直方图,横坐标为采样样本概率值的指数,纵坐标为概率密度,大部分聚集在10-245
附近,呈正态分布。
[0125]
综合以上数据,本公开中的方法生成的采样样本总数量是天文数字,而每个采样样本出现的概率极小,在人类可感知的时间范围内不可能发生,因此,当目标矩阵的阶数较大时,不可能出现重复的采样样本,由此所生成的密钥序列的重复性极低,因此,所生成的密钥序列具有不可预测性,也无法根据已经生成的序列破译,能够保证密钥的安全性。
[0126]
本公开示例性的实施例中,提供一种密钥生成装置。图6是根据一示例性实施例示出的一种密钥生成装置的框图,如图6所示,包括:
[0127]
获取模块601,被配置为获取n阶目标矩阵,所述目标矩阵中每一行和/或列所有元素之和为1;
[0128]
第一生成模块602,被配置为生成与所述目标矩阵的行和/或列一一对应的集合,所述集合包括依次相连的n个子区间,所述集合覆盖[0,1];
[0129]
采样模块603,被配置为生成与所述目标矩阵的行和/或列一一对应的随机概率值,确定所述随机概率值在相应的行和/或列所对应的所述集合中所属的子区间的位置标识号;
[0130]
第二生成模块604,被配置为根据每个所述位置标识号对应的所述随机概率值的个数,生成密钥序列。
[0131]
在一示例性实施例中,所述第二生成模块604还被配置为:
[0132]
若所述位置标识号对应的所述随机概率值的个数大于0,则所述位置标识号对应的密钥值为1;
[0133]
若所述位置标识号对应的所述随机概率值的个数等于0,则所述位置标识号对应的密钥值为0;
[0134]
由所有所述位置标识号对应的密钥值依次排列组成所述密钥序列。
[0135]
在一示例性实施例中,所述第二生成模块604还被配置为:
[0136]
若重复使用所述密钥序列,确定所述密钥序列中0的个数和1的个数,删除其中一个个数多出另一个个数的密钥值,获得目标密钥序列,所述目标密钥序列中0的个数和1的个数相等;
[0137]
若不重复使用所述密钥序列,确定所述密钥序列为所述目标密钥序列。
[0138]
在一示例性实施例中,所述获取模块601还被配置为:
[0139]
生成n阶随机酉矩阵,将所述随机酉矩阵中每个位置的元素的模的平方确定为目标矩阵的相同位置的元素。
[0140]
在一示例性实施例中,所述获取模块601还被配置为:
[0141]
生成n阶随机矩阵,将所述随机矩阵中每个元素和所述元素所在行和/或列所有元素之和的比值确定为目标矩阵的相同位置的元素。
[0142]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0143]
图7是根据一示例性实施例示出的一种密钥生成装置700的框图。
[0144]
参照图7,装置700可以包括以下一个或多个组件:处理组件702,存储器704,电源组件706,多媒体组件708,音频组件710,输入/输出(i/o)的接口712,传感器组件714,以及通信组件716。
[0145]
处理组件702通常控制装置700的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件702可以包括一个或多个处理器720来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件702可以包括一个或多个模块,便于处理组件702和其他组件之间的交互。例如,处理组件702可以包括多媒体模块,以方便多媒体组件708和处理组件702之间的交互。
[0146]
存储器704被配置为存储各种类型的数据以支持在装置700的操作。这些数据的示例包括用于在装置700上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消
息,图片,视频等。存储器704可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
[0147]
电源组件706为装置700的各种组件提供电源。电源组件706可以包括电源管理系统,一个或多个电源,及其他与为装置700生成、管理和分配电力相关联的组件。
[0148]
多媒体组件708包括在所述装置700和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件708包括一个前置摄像头和/或后置摄像头。当装置700处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
[0149]
音频组件710被配置为输出和/或输入音频信号。例如,音频组件710包括一个麦克风(mic),当装置700处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器704或经由通信组件716发送。在一些实施例中,音频组件710还包括一个扬声器,用于输出音频信号。
[0150]
i/o接口712为处理组件702和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
[0151]
传感器组件714包括一个或多个传感器,用于为装置700提供各个方面的状态评估。例如,传感器组件714可以检测到装置700的打开/关闭状态,组件的相对定位,例如所述组件为装置700的显示器和小键盘,传感器组件714还可以检测装置700或装置700一个组件的位置改变,用户与装置700接触的存在或不存在,装置700方位或加速/减速和装置700的温度变化。传感器组件714可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件714还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件714还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
[0152]
通信组件716被配置为便于装置700和其他设备之间有线或无线方式的通信。装置700可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件716经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件716还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
[0153]
在示例性实施例中,装置700可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
[0154]
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例
如包括指令的存储器704,上述指令可由装置700的处理器720执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
[0155]
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置的处理器执行时,使得装置能够执行一种密钥生成方法,所述方法包括上述的任一种方法。
[0156]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本技术旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
[0157]
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

技术特征:
1.一种密钥生成方法,其特征在于,所述密钥生成方法包括:获取n阶目标矩阵,所述目标矩阵中每一行和/或列所有元素之和为1;生成与所述目标矩阵的行和/或列一一对应的集合,所述集合包括依次相连的n个子区间,所述集合覆盖[0,1];生成与所述目标矩阵的行和/或列一一对应的随机概率值,确定所述随机概率值在相应的行和/或列所对应的所述集合中所属的子区间的位置标识号;根据每个所述位置标识号对应的所述随机概率值的个数,生成密钥序列。2.根据权利要求1所述的密钥生成方法,其特征在于,所述根据每个所述位置标识号对应的所述随机概率值的个数,生成密钥序列,包括:若所述位置标识号对应的所述随机概率值的个数大于0,则所述位置标识号对应的密钥值为1;若所述位置标识号对应的所述随机概率值的个数等于0,则所述位置标识号对应的密钥值为0;由所有所述位置标识号对应的密钥值依次排列组成所述密钥序列。3.根据权利要求1所述的密钥生成方法,其特征在于,所述方法还包括:若重复使用所述密钥序列,确定所述密钥序列中0的个数和1的个数,删除其中一个个数多出另一个个数的密钥值,获得目标密钥序列,所述目标密钥序列中0的个数和1的个数相等;若不重复使用所述密钥序列,确定所述密钥序列为所述目标密钥序列。4.根据权利要求1所述的密钥生成方法,其特征在于,所述获取n阶目标矩阵,包括:生成n阶随机酉矩阵,将所述随机酉矩阵中每个位置的元素的模的平方确定为目标矩阵的相同位置的元素。5.根据权利要求1所述的密钥生成方法,其特征在于,所述获取n阶目标矩阵,包括:生成n阶随机矩阵,将所述随机矩阵中每个元素和所述元素所在行和/或列所有元素之和的比值确定为目标矩阵的相同位置的元素。6.一种密钥生成装置,其特征在于,所述密钥生成装置包括:获取模块,被配置为获取n阶目标矩阵,所述目标矩阵中每一行和/或列所有元素之和为1;第一生成模块,被配置为生成与所述目标矩阵的行和/或列一一对应的集合,所述集合包括依次相连的n个子区间,所述集合覆盖[0,1];采样模块,被配置为生成与所述目标矩阵的行和/或列一一对应的随机概率值,确定所述随机概率值在相应的行和/或列所对应的所述集合中所属的子区间的位置标识号;第二生成模块,被配置为根据每个所述位置标识号对应的所述随机概率值的个数,生成密钥序列。7.一种密钥生成装置,其特征在于,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行如权利要求1-5中任一项所述的方法。8.一种非临时性计算机可读存储介质,其特征在于,当所述存储介质中的指令由装置
的处理器执行时,使得装置能够执行如权利要求1-5中任一项所述的方法。

技术总结
本公开是一种密钥生成方法、装置及存储介质。密钥生成方法包括:获取N阶目标矩阵,目标矩阵中每一行和/或列所有元素之和为1;生成与目标矩阵的行和/或列一一对应的集合,集合包括依次相连的N个子区间,集合覆盖[0,1];生成与目标矩阵的行和/或列一一对应的随机概率值,确定随机概率值在相应的行和/或列所对应的集合中所属的子区间的位置标识号;根据每个位置标识号对应的随机概率值的个数,生成密钥序列。本公开中的密钥生成方法不需要额外的电路,实现简单,并且,所生成的密钥序列具有不可预测性,也无法根据已经生成的序列破译,因此,能够简化密钥生成过程的同时保证密钥的安全性。性。性。


技术研发人员:张武荣
受保护的技术使用者:世融能量科技有限公司
技术研发日:2023.05.24
技术公布日:2023/9/20
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐