CN115834061A - 一种基于cpk的标识密钥生成方法 - Google Patents
一种基于cpk的标识密钥生成方法 Download PDFInfo
- Publication number
- CN115834061A CN115834061A CN202310117373.6A CN202310117373A CN115834061A CN 115834061 A CN115834061 A CN 115834061A CN 202310117373 A CN202310117373 A CN 202310117373A CN 115834061 A CN115834061 A CN 115834061A
- Authority
- CN
- China
- Prior art keywords
- seed
- entity
- key matrix
- cpk
- sha
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于CPK的标识密钥生成方法,包括:初始化参数以输出椭圆曲线参数;依据椭圆曲线参数生成种子密钥矩阵;依据种子密钥矩阵及实体标识生成标识密钥。本发明的有益效果:通过选择合适的种子密钥矩阵的维度及相应的hash函数,增加hash碰撞的难度,进一步提高实体标识密钥的安全性。
Description
技术领域
本发明涉及信息安全技术领域,更具体地说,涉及一种基于CPK的标识密钥生成方法。
背景技术
组合公钥算法CPK是离散对数难题型的基于标识的密钥生成与管理算法,依据离散对数难题的数学原理构建种子公钥矩阵(该矩阵公开)和种子私钥矩阵,采用杂凑函数将用户的标识映射为矩阵的行坐标,用于对矩阵元素进行选取和组合,生成数量庞大的公私钥对,从而实现基于标识的海量密钥的生成。但是,现有的CPK的标识密钥生成方法较易存在实体标识密钥的安全性的问题,因此需要找到一种较为合理的解决该问题的CPK的标识密钥生成方法。
发明内容
本发明提供了一种基于CPK的标识密钥生成方法,解决现有的CPK的标识密钥生成方法较易存在实体标识密钥的安全性的问题。
为解决上述问题,一方面,本发明提供一种基于CPK的标识密钥生成方法,包括:
初始化参数以输出椭圆曲线参数;
依据椭圆曲线参数生成种子密钥矩阵;
依据种子密钥矩阵及实体标识生成标识密钥。
所述初始化参数以输出椭圆曲线参数,包括:
随机选择椭圆上的一个点G;
所述依据椭圆曲线参数生成种子密钥矩阵,包括:
生成种子私钥矩阵SSK的元素;
生成种子公钥矩阵PSK元素。
所述生成种子私钥矩阵SSK的元素,包括:
构建种子私钥矩阵:
所述生成种子公钥矩阵PSK元素,包括:
由所述的种子私钥矩阵与基元G乘积而生成种子公钥矩阵:
所述依据种子密钥矩阵及实体标识生成标识密钥,包括:
根据需要分发密钥的个数Count确定种子密钥矩阵的维度m、h,其中Count≤mh,m、h都是2的次方;
确定实体标识是否是唯一的,若唯一则执行下一步骤,若不唯一则需要实体重新提交标识信息;
对唯一的实体标识进行hash映射、对称加密,从而得到实体在种子密钥矩阵中的行坐标、列坐标。
h=32。
所述对唯一的实体标识进行hash映射、对称加密,从而得到实体在种子密钥矩阵中的行坐标、列坐标,包括:
当m=h=32时,行坐标row_index=SM4(sha1(user_ID))=(r1,r2,......,r32),其中,r1是SM4(sha1())的高5位,r2是第2高5位,r32是低5位;列坐标col_index=SM4(sha1(sha1(user_ID)))=(c1,c2,......,c32),c1是SM4(sha1(sha1()))的高5位,c2是第2个5位,...,c32是低5位;
实体对应的私钥为:
实体对应的公钥为:
PK=PSK[r1,c1]+PSK[r2,c2]+......+PSK[r32,c32]。
所述对唯一的实体标识进行hash映射、对称加密,从而得到实体在种子密钥矩阵中的行坐标、列坐标,还包括:
当m≠h时,m为128或256,行坐标row_index=SM4(sha2(user_ID))=(r1,r2,......,r32),其中,r1是SM4(sha2())的高7位或者高8位,r2是第2高7位或者高8位,r32是低7位或者低8位;列坐标col_index=SM4(sha1(user_ID))=(c1,c2,......,c32),其中,c1是SM4(sha1())的高5位,c2是第2个5位,...,c32是低5位;
实体对应的私钥为:
SK=(SSK[r1,c1]+SSK[r2,c2]+......+SSK[r32,c32])modn;
实体对应的公钥为:
PK=PSK[r1,c1]+PSK[r2,c2]+......+PSK[r32,c32]。
一方面,提供一种计算机可读存储介质,所述存储介质中存储有多条指令,所述指令适于由处理器加载以执行以上所述的一种基于CPK的标识密钥生成方法。
本发明的有益效果是:通过选择合适的种子密钥矩阵的维度及相应的hash函数,增加hash碰撞的难度,进一步提高实体标识密钥的安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种基于CPK的标识密钥生成方法的流程图;
图2是本发明一实施例提供的参数初始化的流程图;
图3是本发明一实施例提供的生成标识密钥的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,“示例性”一词用来表示“用作例子、例证或说明”。本发明中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本发明,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本发明。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本发明的描述变得晦涩。因此,本发明并非旨在限于所示的实施例,而是与符合本发明所公开的原理和特征的最广范围相一致。
参见图1,图1是本发明一实施例提供的一种基于CPK的标识密钥生成方法的流程图,所述基于CPK的标识密钥生成方法包括S1-S3:
S1、初始化参数以输出椭圆曲线参数;步骤S1包括步骤S11-S18:
S13、判断椭圆曲线是否满足抗MOV攻击条件及抗异常曲线的攻击条件,若是则执行步骤S14,若否则返回步骤S11;
S14、随机选择椭圆上的一个点G;
本实施例中,输出椭圆曲线参数a、b、G、(椭圆曲线参数中的n)。综上,参数初始化需要满足:抗MOV攻击条件;抗异常曲线的攻击条件;;基点G的阶n是一个足够大的素数,一般要求且;椭圆曲线的阶(用表示)与n的比值满足:。
S2、依据椭圆曲线参数生成种子密钥矩阵。
步骤S2包括步骤S21-S22:
S21、生成种子私钥矩阵SSK的元素;步骤S21包括步骤S211-S214:
S214、构建种子私钥矩阵:
S22、生成种子公钥矩阵PSK元素。由所述的种子私钥矩阵与基元G乘积而生成种子公钥矩阵:
S3、依据种子密钥矩阵及实体标识生成标识密钥。
本实施例中,标识密钥生成体系,通过对实体的唯一标识做hash映射得到种子密钥矩阵的下标,进而得到实体的密钥对。
步骤S3包括步骤S31-S33:
S31、根据需要分发密钥的个数Count确定种子密钥矩阵的维度m、h,其中Count≤mh,m、h都是2的次方。
本实施例中,参见图3,图3是本发明一实施例提供的生成标识密钥的流程图,种子密钥矩阵的维度m和h均是2的指数,比如32、64、128、256等,该文档h=32。根据实际需求(所述实际需求是指需要分发密钥的个数Count)确定种子密钥矩阵的维度m、h,使得Count≤mh。
S32、确定实体标识是否是唯一的,若唯一则执行下一步骤,若不唯一则需要实体重新提交标识信息。
本实施例中,确定实体(用户、设备等)的标识是否是唯一的,若不唯一需要实体重新提交标识信息,该标识信息记为user_ID。
S33、对唯一的实体标识进行hash映射、对称加密,从而得到实体在种子密钥矩阵中的行坐标、列坐标。
本实施例中,对实体唯一标识进行hash映射、对称加密,得到该实体在种子密钥矩阵中的行坐标、列坐标。
步骤S33包括步骤S331-S332:
S331、当m=h=32时,行坐标row_index=SM4(sha1(user_ID))=(r1,r2,......,r32),其中,r1是SM4(sha1())的高5位,r2是第2高5位,r32是低5位;列坐标col_index=SM4(sha1(sha1(user_ID)))=(c1,c2,......,c32),c1是SM4(sha1(sha1()))的高5位,c2是第2个5位,...,c32是低5位;
实体对应的私钥为:
实体对应的公钥为:
PK=PSK[r1,c1]+PSK[r2,c2]+......+PSK[r32,c32]。
S332、当m≠h时,m为128或256,行坐标row_index=SM4(sha2(user_ID))=(r1,r2,......,r32),其中,r1是SM4(sha2())的高7位或者高8位,r2是第2高7位或者高8位,r32是低7位或者低8位;列坐标col_index=SM4(sha1(user_ID))=(c1,c2,......,c32),其中,c1是SM4(sha1())的高5位,c2是第2个5位,...,c32是低5位;
实体对应的私钥为:
SK=(SSK[r1,c1]+SSK[r2,c2]+......+SSK[r32,c32])modn;
实体对应的公钥为:
PK=PSK[r1,c1]+PSK[r2,c2]+......+PSK[r32,c32]。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种基于CPK的标识密钥生成方法中的步骤。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种基于CPK的标识密钥生成方法中的步骤,因此,可以实现本发明实施例所提供的任一种基于CPK的标识密钥生成方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于CPK的标识密钥生成方法,其特征在于,包括:
初始化参数以输出椭圆曲线参数;
依据椭圆曲线参数生成种子密钥矩阵;
依据种子密钥矩阵及实体标识生成标识密钥。
3.根据权利要求2所述的基于CPK的标识密钥生成方法,其特征在于,所述依据椭圆曲线参数生成种子密钥矩阵,包括:
生成种子私钥矩阵SSK的元素;
生成种子公钥矩阵PSK元素。
6.根据权利要求5所述的基于CPK的标识密钥生成方法,其特征在于,所述依据种子密钥矩阵及实体标识生成标识密钥,包括:
根据需要分发密钥的个数Count确定种子密钥矩阵的维度m、h,其中Count≤mh,m、h都是2的次方;
确定实体标识是否是唯一的,若唯一则执行下一步骤,若不唯一则需要实体重新提交标识信息;
对唯一的实体标识进行hash映射、对称加密,从而得到实体在种子密钥矩阵中的行坐标、列坐标。
7.根据权利要求6所述的基于CPK的标识密钥生成方法,其特征在于,h=32。
8.根据权利要求7所述的基于CPK的标识密钥生成方法,其特征在于,所述对唯一的实体标识进行hash映射、对称加密,从而得到实体在种子密钥矩阵中的行坐标、列坐标,包括:
当m=h=32时,行坐标row_index=SM4(sha1(user_ID))=(r1,r2,......,r32),其中,r1是SM4(sha1())的高5位,r2是第2高5位,r32是低5位;列坐标col_index=SM4(sha1(sha1(user_ID)))=(c1,c2,......,c32),c1是SM4(sha1(sha1()))的高5位,c2是第2个5位,...,c32是低5位;
实体对应的私钥为:
实体对应的公钥为:
PK=PSK[r1,c1]+PSK[r2,c2]+......+PSK[r32,c32]。
9.根据权利要求8所述的基于CPK的标识密钥生成方法,其特征在于,所述对唯一的实体标识进行hash映射、对称加密,从而得到实体在种子密钥矩阵中的行坐标、列坐标,还包括:
当m≠h时,m为128或256,行坐标row_index=SM4(sha2(user_ID))=(r1,r2,......,r32),其中,r1是SM4(sha2())的高7位或者高8位,r2是第2高7位或者高8位,r32是低7位或者低8位;列坐标col_index=SM4(sha1(user_ID))=(c1,c2,......,c32),其中,c1是SM4(sha1())的高5位,c2是第2个5位,...,c32是低5位;
实体对应的私钥为:
SK=(SSK[r1,c1]+SSK[r2,c2]+......+SSK[r32,c32])modn;
实体对应的公钥为:
PK=PSK[r1,c1]+PSK[r2,c2]+......+PSK[r32,c32]。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有多条指令,所述指令适于由处理器加载以执行权利要求1至9任一项所述的一种基于CPK的标识密钥生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310117373.6A CN115834061B (zh) | 2023-02-15 | 2023-02-15 | 一种基于cpk的标识密钥生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310117373.6A CN115834061B (zh) | 2023-02-15 | 2023-02-15 | 一种基于cpk的标识密钥生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115834061A true CN115834061A (zh) | 2023-03-21 |
CN115834061B CN115834061B (zh) | 2023-06-23 |
Family
ID=85521485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310117373.6A Active CN115834061B (zh) | 2023-02-15 | 2023-02-15 | 一种基于cpk的标识密钥生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115834061B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1913433A (zh) * | 2006-07-21 | 2007-02-14 | 北京理工大学 | 一种椭圆曲线密钥交换方法在manet网络中的应用 |
WO2007121641A1 (fr) * | 2006-04-24 | 2007-11-01 | Beijing E-Henxen Authentication Technologies Co., Ltd. | Système d'authentification de la crédibilité d'une clé publique combinée utilisant une puce |
US20140321643A1 (en) * | 2013-04-27 | 2014-10-30 | Li Liu | Method of generating multi-dimensional key |
CN113206739A (zh) * | 2021-05-21 | 2021-08-03 | 晋商博创(北京)科技有限公司 | 组合公钥cpk的密钥生成方法、装置及存储介质 |
-
2023
- 2023-02-15 CN CN202310117373.6A patent/CN115834061B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007121641A1 (fr) * | 2006-04-24 | 2007-11-01 | Beijing E-Henxen Authentication Technologies Co., Ltd. | Système d'authentification de la crédibilité d'une clé publique combinée utilisant une puce |
CN1913433A (zh) * | 2006-07-21 | 2007-02-14 | 北京理工大学 | 一种椭圆曲线密钥交换方法在manet网络中的应用 |
US20140321643A1 (en) * | 2013-04-27 | 2014-10-30 | Li Liu | Method of generating multi-dimensional key |
CN113206739A (zh) * | 2021-05-21 | 2021-08-03 | 晋商博创(北京)科技有限公司 | 组合公钥cpk的密钥生成方法、装置及存储介质 |
Non-Patent Citations (2)
Title |
---|
JINGJING LI等: "A New Key Management and Authentication Method for WSN Based on CPK" * |
王改香;: "基于椭圆曲线密码的组合公钥技术CPK" * |
Also Published As
Publication number | Publication date |
---|---|
CN115834061B (zh) | 2023-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8170203B2 (en) | Message authentication code with elliptic polynomial hopping | |
US7218735B2 (en) | Cryptography method on elliptic curves | |
CN110505067B (zh) | 区块链的处理方法、装置、设备及可读存储介质 | |
CN112446052B (zh) | 一种适用于涉密信息系统的聚合签名方法及系统 | |
US8184804B2 (en) | Hash function using a piling-up process | |
CN105162583A (zh) | 一种单个、单级和多级密钥对分散方法及其系统 | |
CN111325535A (zh) | 基于椭圆曲线偏移的区块链私钥管理方法、系统及存储介质 | |
CN115664675B (zh) | 基于sm2算法的可追踪环签名方法、系统、设备及介质 | |
CN110719172B (zh) | 区块链系统中的签名方法、签名系统以及相关设备 | |
WO2022076038A1 (en) | Updatable private set intersection | |
CN116346328A (zh) | 一种数字签名方法、系统、设备及计算机可读存储介质 | |
US20080320557A1 (en) | Batch verification device, program and batch verification method | |
CN111368317B (zh) | 一种计算机数据加密系统及方法 | |
CN115834061A (zh) | 一种基于cpk的标识密钥生成方法 | |
CA2730626A1 (en) | Improved digital signature and key agreement schemes | |
Xie et al. | A new lattice-based blind ring signature for completely anonymous blockchain transaction systems | |
CN116707766A (zh) | 一种基于哈希的抗量子攻击数字签名方法 | |
CN107046465B (zh) | 入侵容忍的云存储数据审计方法 | |
CN114221753B (zh) | 密钥数据处理方法和电子设备 | |
CN115174037A (zh) | 一种基于sm9签名的变色龙哈希函数的构造方法及装置 | |
US20220385954A1 (en) | Embedding information in elliptic curve base point | |
Song et al. | Provably secure identity-based identification and signature schemes from code assumptions | |
CN112527808A (zh) | 一种云存储服务中支持动态更新的数据完整性验证方法 | |
KR101699893B1 (ko) | 타원 곡선의 점들로 해싱하기 위한 방법 및 디바이스 | |
CN115987515B (zh) | 一种cpk认证系统构建方法和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |