CN115987515B - 一种cpk认证系统构建方法和电子设备 - Google Patents
一种cpk认证系统构建方法和电子设备 Download PDFInfo
- Publication number
- CN115987515B CN115987515B CN202310278665.8A CN202310278665A CN115987515B CN 115987515 B CN115987515 B CN 115987515B CN 202310278665 A CN202310278665 A CN 202310278665A CN 115987515 B CN115987515 B CN 115987515B
- Authority
- CN
- China
- Prior art keywords
- matrix
- private key
- elliptic curve
- key
- authentication system
- 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.)
- Active
Links
- 238000010276 construction Methods 0.000 title abstract description 7
- 239000011159 matrix material Substances 0.000 claims abstract description 170
- 238000000034 method Methods 0.000 claims abstract description 55
- 238000012545 processing Methods 0.000 claims abstract description 13
- 238000013507 mapping Methods 0.000 claims description 38
- 230000006870 function Effects 0.000 claims description 27
- 238000006467 substitution reaction Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 9
- 238000000926 separation method Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 claims description 3
- 101150060512 SPATA6 gene Proteins 0.000 description 13
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Landscapes
- Collating Specific Patterns (AREA)
Abstract
本发明公开了一种CPK认证系统构建方法与电子设备,包括步骤:确定椭圆曲线参数;根据所述椭圆曲线参数生成种子密钥矩阵对;基于用户标识数据生成矩阵坐标;根据所述矩阵坐标从所述种子密钥矩阵对匹配得到公开密钥PK和私有密钥SK;其中,在所述“根据所述椭圆曲线参数生成种子密钥矩阵对”的步骤中包括:通过分离矩阵列数级法对所述种子密钥矩阵对中的私钥矩阵SSK进行处理。相比于现有技术而言,本发明涉及的技术方案能够避免发生私钥碰撞,提高本技术方案所产生的公钥和私钥的安全性。
Description
技术领域
本发明涉及认证加密技术领域,尤其涉及一种CPK认证系统构建方法,本发明还涉及一种电子设备。
背景技术
CPK认证技术既可以基于一般有限域离散对数问题构建,也可以基于椭圆曲线离散对数问题构建。鉴于椭圆曲线离散对数问题在密码应用中具有在相同安全度条件下所占用的资源小于一般有限域离散对数问题的优势,一般多采用椭圆曲线离散对数问题构建该体系。
然而,现有技术中用户密钥可能发生碰撞问题,碰撞问题是由于密钥因子运算产生密钥时发生碰撞造成的。
因此,如何提供一种问题解决方案,其能够避免发生私钥碰撞,提高本技术方案所产生的公钥和私钥的安全性,已经成为本领域技术人员亟待完成的目标。
发明内容
为解决上述技术问题,本发明的主要目的在于提供一种CPK认证系统构建方法,能够避免发生私钥碰撞,提高本技术方案所产生的公钥和私钥的安全性,此外,本发明还提供一种电子设备,同样具有上述有益效果。
为实现上述目的,本发明提供一种CPK认证系统构建方法,该方法包括:确定椭圆曲线参数;根据所述椭圆曲线参数生成种子密钥矩阵对;基于用户标识数据生成矩阵坐标;根据所述矩阵坐标,从所述种子密钥矩阵对匹配得到公开密钥PK和私有密钥SK;其中,在所述“根据所述椭圆曲线参数生成种子密钥矩阵对”的步骤中包括:通过分离矩阵列数级法对所述种子密钥矩阵对中的私钥矩阵SSK进行处理。
进一步地,在本发明提供的一种CPK认证系统构建方法中,所述“根据所述椭圆曲线参数生成种子密钥矩阵对”包括以下步骤:获取所述椭圆曲线参数;获取私钥因子,所述私钥因子为私钥矩阵SSK的元素;根据所述元素与基点G点乘运算得到公钥点的坐标;判断所述坐标是否在椭圆曲线上,若为否,则通信获取私钥因子;若为是,则输出种子密钥矩阵对,所述坐标为公钥矩阵PSK的元素,得到所述种子密钥矩阵对。
进一步地,在本发明提供的一种CPK认证系统构建方法中,所述“通过分离矩阵列数级法对所述种子密钥矩阵对中的私钥矩阵SSK进行处理”具体为:所述私钥矩阵SSK是s*t矩阵,设定任取SSK第i列(1<i≤t)两个因子:、且,都有。
进一步地,在本发明提供的一种CPK认证系统构建方法中,所述“通过分离矩阵列数级法对所述种子密钥矩阵对中的私钥矩阵SSK进行处理”具体为:私钥矩阵SSK是s*t矩阵;首先,设定因子的二进制比特长度表示为:,其中第f比特位的值为:;其次,设定私钥矩阵第i列的因子最大比特值为:,最小的比特值为:;
设定私钥矩阵SSK满足以下条件:
a)任取第i列因子,;
b),,,其中;
c)任取第i列因子,均满足;
d)任取第i列因子:,,必存在,使得。
进一步地,在本发明提供的一种CPK认证系统构建方法中,所述“基于用户标识数据生成矩阵坐标”包括以下步骤:对所述用户标识数据进行映射函数运算得到映射值序列;将所述映射值序列作为所述矩阵坐标。
进一步地,在本发明提供的一种CPK认证系统构建方法中,所述“根据所述矩阵坐标,从所述种子密钥矩阵对匹配得到公开密钥PK和私有密钥SK”包括以下步骤:将所述映射值序列作为矩阵横坐标;将矩阵纵坐标设定为顺序序列;根据所述矩阵横坐标和所述矩阵纵坐标从所述公钥矩阵PSK中匹配获取对应位置的公钥因子生成公开密钥PK;根据所述矩阵横坐标和所述矩阵纵坐标从所述私钥矩阵SSK中匹配获取对应位置的私钥因子生成私有密钥SK。
进一步地,在本发明提供的一种CPK认证系统构建方法中,所述“对所述用户标识数据进行映射函数运算”具体为:对所述用户标识数据进行多次映射函数运算;所述映射函数为哈希函数。
进一步地,在本发明提供的一种CPK认证系统构建方法中,“将矩阵纵坐标设定为顺序序列”包括:基于置换表将所述顺序序列打乱,再匹配获取公钥因子和私钥因子。
进一步地,在本发明提供的一种CPK认证系统构建方法中,所述“确定椭圆曲线参数”包括:
S101记所述椭圆曲线参数为;
S102获取随机数a、b,且,为大素数域;
S103求解椭圆曲线的阶#E(Fp);
S104判断椭圆曲线是否安全,若不安全,则重新执行步骤S102;
S105若安全,则随机生成椭圆上的点G;
S106判断[#E(Fp)]G是否是无穷远点O,若为是,则执行步骤S105;
S107若为否,则求解基点G的阶n;
S108判断n是否满足条件:n是素数;n>4*sqrt(p);n>2160;n≥#E(Fp)/4;若否,则执行S105;
S109若满足则输出的具体值,得到所述椭圆曲线参数。
此外,本方案还提供一种电子设备,包括:计算机程序,所述计算机程序执行上述的CPK认证系统构建方法;存储器,所述存储器用于存储所述计算机程序;处理器,所述处理器用于执行所述计算机程序。
本发明提供的一种CPK认证系统构建方法,具体包括如下技术内容:确定椭圆曲线参数;根据所述椭圆曲线参数生成种子密钥矩阵对;基于用户标识数据生成矩阵坐标;根据所述矩阵坐标,从所述种子密钥矩阵对匹配得到公开密钥PK和私有密钥SK;其中,在所述“根据所述椭圆曲线参数生成种子密钥矩阵对”的步骤中包括:通过分离矩阵列数级法对所述种子密钥矩阵对中的私钥矩阵SSK进行处理。相比于现有技术而言,相比于现有技术而言,本发明涉及的技术方案中,先确定椭圆曲线参数,再根据椭圆曲线参数生成种子密码矩阵对;接着基于用户标识数据生成矩阵坐标,通过矩阵坐标从种子密钥矩阵对中得到公开密钥PK和私有密钥SK,实现公开密钥和私有密钥的生成。为了进一步提高安全性及稳定性,对种子密钥矩阵对中的私钥矩阵SSK进行分离矩阵列数级处理,得到不相互影响的私有密钥矩阵。本申请提供的技术方案,能够避免发生私钥碰撞,提高本技术方案所产生的公钥和私钥的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图:
图1 为本发明实施例涉及的一种CPK认证系统构建方法的流程图。
图2 为本发明实施例中公钥因子的生成流程图;
图3为本发明实施例中SSK与PSK的生成流程图;
图4为本发明实施例中密钥的生成与分发流程图;
图5为本发明实施例中8*8置换表示意图;
图6为本发明实施例中置换表(序列3,置换起点是1)示意图;
图7为本发明实施例中使用NIST推荐的椭圆曲线,基元G的生成流程图;
图8为本发明实施例中椭圆曲线上非无穷远点生成流程图;
图9为本发明实施例中CPK认证系统结构图。
具体实施方式
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的典型实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。
具体参照图1至图9所示,本发明提供一种CPK认证系统构建方法,具体包括如下技术内容:确定椭圆曲线参数;根据所述椭圆曲线参数生成种子密钥矩阵对;基于用户标识数据生成矩阵坐标;根据所述矩阵坐标,从所述种子密钥矩阵对匹配得到公开密钥PK和私有密钥SK;其中,在所述“根据所述椭圆曲线参数生成种子密钥矩阵对”的步骤中包括:通过分离矩阵列数级法对所述种子密钥矩阵对中的私钥矩阵SSK进行处理。
相比于现有技术而言,本发明涉及的技术方案中,先确定椭圆曲线参数,再根据椭圆曲线参数生成种子密码矩阵对;接着基于用户标识数据生成矩阵坐标,通过矩阵坐标从种子密钥矩阵对中得到公开密钥PK和私有密钥SK,实现公开密钥和私有密钥的生成。为了进一步提高安全性及稳定性,对种子密钥矩阵对中的私钥矩阵SSK进行分离矩阵列数级处理,得到不相互影响的私有密钥矩阵。本申请提供的技术方案,能够避免发生私钥碰撞,提高本技术方案所产生的公钥和私钥的安全性。
具体地,在本发明实施例中,所述“根据所述椭圆曲线参数生成种子密钥矩阵对”包括以下步骤:获取所述椭圆曲线参数;获取私钥因子,所述私钥因子为私钥矩阵SSK的元素;根据所述元素与基点G点乘运算得到公钥点的坐标;判断所述坐标是否在椭圆曲线上,若为否,则通信获取私钥因子;若为是,则输出种子密钥矩阵对,所述坐标为公钥矩阵PSK的元素,得到所述种子密钥矩阵对。
需要说明的是,根据所述椭圆曲线参数的基础上,构建私钥矩阵SSK和公钥矩阵PSK;其中,p为有限域的阶;G为基点,n为基点G的素数阶,为大素数域;。
所述私钥矩阵SSK和公钥矩阵PSK如下所示;
,
其中,是对于基点G的倍数值,即,其中。
可见SSK是PSK对基点G的倍数值,PSK中任意元素的组合即为SSK中相应元素私钥的组合,即。CPK利用该组合特性,通过生成较小规模的密钥因子,“组合”产生出数量极大的公/私钥对,达到密钥管理规模化的目的。
CPK系统中,种子密钥矩阵维度是s*t(s取值是2的指数,即16,32,64,128,256等,在实际应用中一般取32或64,t固定常量32),并规定每列从s行中任取一个元素进行组合,因此s*t的种子密钥对,可组合出st公/私钥对,当时,。
具体地,在本发明实施例中,所述“通过分离矩阵列数级法对所述种子密钥矩阵对中的私钥矩阵SSK进行处理”具体为:所述私钥矩阵SSK是s*t矩阵,设定任取SSK第i列(1<i≤t)两个因子:、且,都有。
具体地,在本发明实施例中,所述“通过分离矩阵列数级法对所述种子密钥矩阵对中的私钥矩阵SSK进行处理”具体为:私钥矩阵SSK是s*t矩阵;首先,设定因子的二进制比特长度表示为:,其中第f比特位的值为:;其次,设定私钥矩阵第i列的因子最大比特值为:,最小的比特值为:;
设定私钥矩阵SSK满足以下条件:
a)任取第i列因子,;
b),,,其中;
c)任取第i列因子,均满足;
d)任取第i列因子:,,必存在,使得。
需要说明的是,为了解决“标识映射后的序列不同但是私钥之和相等”的问题,即用户A的标识映射、用户B的标识映射,且,但,提出分离矩阵列数量级法,采用上述两种具体实施方式。
需要说明的是,私钥碰撞也可由模n运算产生的,即但,解决模运算产生碰撞的有效方法就是选取足够大的n,使得。为了满足该等式,只需要限制椭圆曲线的参数n满足:。根据上述条件可以得到一个不同规模的私钥矩阵所要求的n的最小比特长度对应表,如下:
表1、私钥矩阵规模与n的最小比特长度对应表
矩阵规模(s*t) | 32*32 | 64*32 | 128*32 | 256*32 |
n的最小比特长度(bit) | 193 | 225 | 257 | 289 |
需要说明的是,如图2所示,公钥矩阵PSK的生成步骤:
输入椭圆曲线方程a、b、p、G、n;
输入私钥因子---即种子私钥矩阵SSK元素;
计算;
判断是否在椭圆曲线上,若否,则转为第2步;
输出的压缩格式。
需要说明的是,进一步的,SSK和PSK的生成流程如图3所示;
需要补充说明的是:种子私钥矩阵与公钥矩阵是一起生成的,按照种子私钥矩阵生成条件得到相应的随机值,计算,在椭圆曲线上,则输出密钥因子对,否则重新生成。
具体地,在本发明实施例中,所述“基于用户标识数据生成矩阵坐标”包括以下步骤:对所述用户标识数据进行映射函数运算得到映射值序列;将所述映射值序列作为所述矩阵坐标。
具体地,在本发明实施例中,所述“根据所述矩阵坐标,从所述种子密钥矩阵对匹配得到公开密钥PK和私有密钥SK”包括以下步骤:将所述映射值序列作为矩阵横坐标;将矩阵纵坐标设定为顺序序列;根据所述矩阵横坐标和所述矩阵纵坐标从所述公钥矩阵PSK中匹配获取对应位置的公钥因子生成公开密钥PK;根据所述矩阵横坐标和所述矩阵纵坐标从所述私钥矩阵SSK中匹配获取对应位置的私钥因子生成私有密钥SK。
需要说明的是,用户公/私钥对是根据该用户标识的映射值序列为矩阵横坐标,顺序序列为矩阵纵坐标分别公钥矩阵和私钥矩阵中选取对应位置的因子,再进行组合运算而生成的。映射函数的选取要保证不同的用户标识具有不同的映射值。
假设某用户标识经过映射运算,生成映射值序列为,对公钥矩阵PSK和私钥矩阵SSK的元素分别进行选取与组合,得到公开密钥PK和私有密钥SK:
SK和PK构成用户的私钥、公钥对。PSK、SSK 由密钥中心统一生成并保管。用户公钥是 t (密钥矩阵的列数)个公钥因子的和(椭圆曲线上的点加运算),用户私钥是 t 个私钥因子的算术和(有限域Fp的运算)。密钥的生成与分发流程如图4所示。
图4密钥生成和分发的过程中,在查询用户的公钥时,首先通过该用户的标识和映射函数得到公钥矩阵因子坐标(与私钥因子坐标相同),然后将选取的公钥因子作椭圆曲线上的点加运算,最终得到该用户的公钥;选取的私钥因子作素数域Fp上的加法运算,最终得到该用户的私钥,通过物理通道发放至个人。
具体地,在本发明实施例中,所述“对所述用户标识数据进行映射函数运算”具体为:对所述用户标识数据进行多次映射函数运算;所述映射函数为哈希函数。
需要说明的是,本申请中,用户标识与密钥矩阵坐标的关联方法包括三种实施方式。第一种实施方式为:
基于身份标识的密钥对产生:对标识进行哈希函数(比如SHA-1、MD5、SHA-2、SM3)、行映射(分组加密算法)实现。即用户唯一标识ID通过hash函数得到唯一的hash序列YS,,然后对得到的hash序列YS采用设定好的映射算法进行变换,比如采用分组加密算法对YS进行循环加密,假设每次分组的加密输入为,输出为,使用的加密密钥为ROWKEY,则映射算法可以表示为,其中i是非负整数,第一组的输入,之后。经过加密变换后的输出划分为t个k位且,t个k位序列记为,因此用户的私钥为
,上述分组加密的次数不定,比如s=32=25,t=32,hash函数是SHA-1,则只需要进行一次行映射函数即可。Hash函数采用MD5(输出128位),则行映射运算需要2次,2次结果拼接,截取160位的行坐标序列。进一步的,采用的hash函数输出序列与行坐标序列一致,或者根据SM2中的密钥扩散方法得到相应长度的hash序列。
具体地,在本发明实施例中,“将矩阵纵坐标设定为顺序序列”包括:基于置换表将所述顺序序列打乱,再匹配获取公钥因子和私钥因子。
需要说明的是,本申请中,用户标识与密钥矩阵坐标的关联方法包括三种实施方式。第二种实施方式为:
密钥矩阵的行坐标、列坐标都需要由用户标识经过映射变换得到相应的对应关系,其中列坐标映射过程中用到了置换表。列坐标映射是指把顺序序列{1,2,3,4,5,6,.....,t}打乱,大部分情况下t=32,因此接下来以32为例说明,把32个列坐标分成4组,每组的序号进行8×8的置换表进行置换。
具体步骤,身份唯一标识通过哈希函数(根据后面的需求,一般采用SHA-2或SM3)得到唯一序列YS,即,然后对得到的hash序列YS采用设定好的映射函数进行变换,即:。对得到的序列进行分组,得到如下四组:、、、,其中每组的第一个序列即由6bit组成,前3bit表示8*8置换表的序列(置换表的列),后3bit表示置换起始点(即置换表行),其余的8个序列表示行坐标,若密钥矩阵的行s=32,则剩下8个序列是由5bit组成,这时输出是(6+8*5)*4=184bit,这时相应的哈希函数选择SHA-224比较好(暂时没找到相应的理论支撑,根据现有的认知得到的,目的是降低共谋攻击的概率)。假设8*8的置换表如图5所示------置换表怎么生成没有找到相应的理论知识,置换表是需要保密的。
若置换序号是3,置换起点是1,则应取置换表中红色框框内的元素(如图6所示)
例子如表1所示:
表1、例子说明
输入 | a | b | c | d | e | f | g | h |
输入下标序列 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
经过置换后输入下标 | 3 | 4 | 0 | 7 | 2 | 1 | 6 | 5 |
输出序列对应的下标 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
输出 | c | d | g | h | b | a | e | f |
实现步骤------置换矩阵记为S=(si,j)8*8:
输入:需要置换的序列(input)、置换的序列(row)、置换的起点(start)
输出:变换后序列(out)
置i=7~0,分别得到输入置换后的下标序列(change_index)、输出序列下标(out_index):change_index[7-i]=;
out_index[7-i]=(start+i)%8;
置i=0~7:
for j =0~7:
if out_index[i]==change_index[j]:
out[i] = input[j]
Break
return out
需要说明的是,本申请中,用户标识与密钥矩阵坐标的关联方法包括三种实施方式。第三种实施方式为:
方案三(查看相应的CPK应用):
在方案一的基础上进行的改进,用户ID通过映射函数变换后得到的序列分为33份,即,其中表示密钥矩阵的行坐标,表示密钥矩阵列坐标的起始列n,其余列是上一列加1余32,即(n+1)%32。
具体地,在本发明实施例中,所述“确定椭圆曲线参数”包括:
S101记所述椭圆曲线参数为;
S102获取随机数a、b,且,为大素数域;
S103求解椭圆曲线的阶#E(Fp);
S104判断椭圆曲线是否安全,若不安全,则重新执行步骤S102;
S105若安全,则随机生成椭圆上的点G;
S106判断[#E(Fp)]G是否是无穷远点O,若为是,则执行步骤S105;
S107若为否,则求解基点G的阶n;
S108判断n是否满足条件:n是素数;n>4*sqrt(p);n>2160;n≥#E(Fp)/4;若否,则执行S105;
S109若满足则输出的具体值,得到所述椭圆曲线参数。
需要说明的是,椭圆曲线参数的确立过程中,先将椭圆曲线参数记为:,选定一条椭圆曲线,作为生成元,称为基点。由基点G的所有倍点构成的子群S,n是该子群S的阶。由G生成的子群S的元素皆为G的倍点kG(k=1,2,3,......,n),即。S中的元素与该点对应的倍数值k,恰好构成公/私钥对。
进一步的,安全椭圆曲线的参数一般要满足:
满足抗MOV攻击条件(需要输入MOV阈及#E(Fp)的素因子)
置t=1;
对i从1到B(当p>2191时,B≥27,该选择也排除了对超奇异椭圆曲线的选取)执行:
置t=t*p(modn);
若t=1,则输出“否”并结束;
输出“是”。
抗异常曲线的攻击条件(输入椭圆曲线的阶#E(Fp))
若#E(Fp)=p,则输出“否”;否则输出“是”
其他条件:,输出“是”,否则输出“否”;
基点G的阶n是一个足够大的素数,一般要求n>2160且n>4*sqrt(p),满足输出“是”,否则输出“否”;
n的余因子h是一个小整数,一般取1,要求1≤h≤4,即#E(Fp)=nh,满足输出“是”,否则输出“否”。
需要说明的是,椭圆曲线参数的确立有3个实施方式;
第一个实施方式的步骤为:
输入:大素数p;
输出:椭圆曲线参数a、b、G、n;
步骤1、随机产生a、b且;
步骤2、求解椭圆曲线的阶#E(Fp);
步骤3、判断椭圆曲线是否安全-------根据安全椭圆曲线的一般要求,若判断参数是否满足条件时输出“否”,则不安全返回步骤1;
步骤4、随机生成椭圆上的点G;
步骤5、判断[#E(Fp)]G是否是无穷远点O,否则返回步骤1;
步骤6、求解基点G的阶n;
步骤7、判断n是否满足条件:n是素数;n>4*sqrt(p);n>2160;n≥#E(Fp)/4。不满足则返回步骤4;
步骤8:输出椭圆曲线参数a、b、G、n。
第二个实施方式为:
如图7所示,安全椭圆曲线参数的选取可以采用NIST推荐的曲线,以下列举5条曲线参数(p-192、p-224、p-256、p-384、p-521)----这些系数的椭圆曲线是安全的。
p-192的参数为(其中h称为余因子h=n/nS):
p=2192−264−1, a=−3, h=1,
b=0x64210519 E59C80E7 0FA7E9AB 72243049 FEB8DEEC C146B9B1
n=0xFFFFFFFF FFFFFFFF FFFFFFFF 99DEF836 146BC9B1 B4D22831
p-224 的参数为:
p=2224−296+1, a=−3,h=1,
b=0xB4050A85 0C04B3AB F5413256 5044B0B7 D7BFD8BA 270B3943 2355FFB4
n=0xFFFFFFFF FFFFFFFF FFFFFFFF FFFF16A2 E0B8F03E 13DD2945
5C5C2A3D
p-256 的参数为:
p=2256−2224+2192+296−1, a=−3, h=1,
b=0x5AC635D8 AA3A93E7 B3EBBD55 769886BC 651D06B0 CC53B0F6 3BCE3C3E27D2604B
n=0xFFFFFFFF 00000000 FFFFFFFF FFFFFFFF BCE6FAAD A7179E84 F3B9CAC2FC632551
p-384 的参数为:
p=2384−2128−296+232−1, a=−3, h=1,
b=0xB3312FA7 E23EE7E4 988E056B E3F82D19 181D9C6E FE814112 0314088F5013875A C656398D 8A2ED19D 2A85C8ED D3EC2AEF
n=0xFFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF C7634D81F4372DDF 581A0DB2 48B0A77A ECEC196A CCC52973
p-521 的参数为:
p=2521−1, a=−3, h=1,
b=0x00000051 953EB961 8E1C9A1F 929A21A0 B68540EE A2DA725B 99B315F3B8B48991 8EF109E1 56193951 EC7E937B 1652C0BD 3BB1BF07 3573DF88 3D2C34F1EF451FD4 6B503F00
n=0x000001FF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFA 51868783 BF2F966B 7FCC0148 F709A5D0 3BB5C9B8 899C47AEBB6FB71E 91386409
需要补充说明的是,如图8所示,给定有限域Fp上的椭圆曲线,根据以下步骤可以有效的找到曲线上的一个非无穷远点。
输入:素数p,Fp上的椭圆曲线E的参数a,b。
输出:E上一个非无穷远点。
步骤如下:
a、选取随机整数x,x∈[0,p-1];
b、置;
c、若,则输出(x,0)并终止;
d、求的平方根;
e、若步骤d)的输出是“不存在平方根”,则返回步骤a);否则,步骤d)的输出是整数y,y∈(0,p),且;
f、输出(x,y)。
此外,本方案还提供一种电子设备,包括:计算机程序,所述计算机程序执行上述的CPK认证系统构建方法;存储器,所述存储器用于存储所述计算机程序;处理器,所述处理器用于执行所述计算机程序。
此外,本方案还提供一种CPK认证系统,该系统应用上述CPK认证系统构建方法构建。CPK认证系统模块包括密钥生成中心、密钥管理中心、证书注册生成系统(证书是x.209编码)、公开访问数据库,具体如图9所示。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
Claims (10)
1.一种CPK认证系统构建方法,其特征在于,该方法包括步骤:
确定椭圆曲线参数;
根据所述椭圆曲线参数生成种子密钥矩阵对;
基于用户标识数据生成矩阵坐标;
根据所述矩阵坐标,从所述种子密钥矩阵对匹配得到公开密钥PK和私有密钥SK;
其中,在所述“根据所述椭圆曲线参数生成种子密钥矩阵对”的步骤中包括:通过分离矩阵列数级法对所述种子密钥矩阵对中的私钥矩阵SSK进行处理;“通过分离矩阵列数级法对所述种子密钥矩阵对中的私钥矩阵SSK进行处理”具体为:
所述私钥矩阵SSK是s*t矩阵,设定任取SSK第i列(1<i≤t)两个因子:、且,都有。
2.根据权利要求1所述的CPK认证系统构建方法,其特征在于,所述“根据所述椭圆曲线参数生成种子密钥矩阵对”包括以下步骤:
获取所述椭圆曲线参数;
获取私钥因子,所述私钥因子为私钥矩阵SSK的元素;
根据所述元素与基点G点乘运算得到公钥点的坐标;
判断所述坐标是否在椭圆曲线上,若为否,则通信获取私钥因子;若为是,则输出种子密钥矩阵对,所述坐标为公钥矩阵PSK的元素,得到所述种子密钥矩阵对。
3.根据权利要求2所述的CPK认证系统构建方法,其特征在于,所述。
4.根据权利要求2所述的CPK认证系统构建方法,其特征在于,所述“通过分离矩阵列数级法对所述种子密钥矩阵对中的私钥矩阵SSK进行处理”具体为:
私钥矩阵SSK是s*t矩阵;首先,设定因子的二进制比特长度表示为:,其中第f比特位的值为:;其次,设定私钥矩阵第i列的因子最大比特值为:,最小的比特值为:;
设定私钥矩阵SSK满足以下条件:
a)任取第i列因子,;
b),,,其中;
c)任取第i列因子,均满足;
d)任取第i列因子:, ,必存在,使得。
5.根据权利要求1至4中任意一项所述的CPK认证系统构建方法,其特征在于,所述“基于用户标识数据生成矩阵坐标”包括以下步骤:
对所述用户标识数据进行映射函数运算得到映射值序列;
将所述映射值序列作为所述矩阵坐标。
6.根据权利要求5所述的CPK认证系统构建方法,其特征在于,所述“根据所述矩阵坐标,从所述种子密钥矩阵对匹配得到公开密钥PK和私有密钥SK”包括以下步骤:
将所述映射值序列作为矩阵横坐标;
将矩阵纵坐标设定为顺序序列;
根据所述矩阵横坐标和所述矩阵纵坐标从所述公钥矩阵PSK中匹配获取对应位置的公钥因子生成公开密钥PK;
根据所述矩阵横坐标和所述矩阵纵坐标从所述私钥矩阵SSK中匹配获取对应位置的私钥因子生成私有密钥SK。
7.根据权利要求6所述的CPK认证系统构建方法,其特征在于,所述“对所述用户标识数据进行映射函数运算”具体为:
对所述用户标识数据进行多次映射函数运算;
所述映射函数为哈希函数。
8.根据权利要求6所述的CPK认证系统构建方法,其特征在于,“将矩阵纵坐标设定为顺序序列”包括:
基于置换表将所述顺序序列打乱,再匹配获取公钥因子和私钥因子。
9.根据权利要求5所述的CPK认证系统构建方法,其特征在于,所述“确定椭圆曲线参数”包括:
S101记所述椭圆曲线参数为;
S102获取随机数a、b,且,为大素数域;
S103求解椭圆曲线的阶#E(Fp);
S104判断椭圆曲线是否安全,若不安全,则重新执行步骤S102;
S105若安全,则随机生成椭圆上的点G;
S106判断[#E(Fp)]G是否是无穷远点O,若为是,则执行步骤S105;
S107若为否,则求解基点G的阶n;
S108判断n是否满足条件:n是素数;n>4*sqrt(p);n>2160;n≥#E(Fp)/4;若否,则执行S105;
S109若满足则输出的具体值,得到所述椭圆曲线参数。
10.一种电子设备,其特征在于,包括:
计算机程序,所述计算机程序执行权利要求1至9中任意一项所述CPK认证系统构建方法;
存储器,所述存储器用于存储所述计算机程序;
处理器,所述处理器用于执行所述计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310278665.8A CN115987515B (zh) | 2023-03-21 | 2023-03-21 | 一种cpk认证系统构建方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310278665.8A CN115987515B (zh) | 2023-03-21 | 2023-03-21 | 一种cpk认证系统构建方法和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115987515A CN115987515A (zh) | 2023-04-18 |
CN115987515B true CN115987515B (zh) | 2023-08-08 |
Family
ID=85960008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310278665.8A Active CN115987515B (zh) | 2023-03-21 | 2023-03-21 | 一种cpk认证系统构建方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115987515B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101340282A (zh) * | 2008-05-28 | 2009-01-07 | 北京易恒信认证科技有限公司 | 复合公钥的生成方法 |
CN108777619A (zh) * | 2018-05-08 | 2018-11-09 | 晋商博创(北京)科技有限公司 | 基于标识的cpk体制和密钥管理方法、装置、服务器及终端 |
CN113259097A (zh) * | 2021-05-13 | 2021-08-13 | 晋商博创(北京)科技有限公司 | 基于cpk的可多态配置的密钥生成方法及装置 |
CN113572594A (zh) * | 2021-07-26 | 2021-10-29 | 晋商博创(北京)科技有限公司 | Cpk密钥生成方法、装置、实体及密钥中心 |
CN114760052A (zh) * | 2022-03-30 | 2022-07-15 | 中国农业银行股份有限公司 | 银行物联网平台密钥生成方法、装置、电子设备及介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2984390A1 (en) * | 2016-11-07 | 2018-05-07 | Infosec Global Inc. | Elliptic curve isogeny-based cryptographic scheme |
-
2023
- 2023-03-21 CN CN202310278665.8A patent/CN115987515B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101340282A (zh) * | 2008-05-28 | 2009-01-07 | 北京易恒信认证科技有限公司 | 复合公钥的生成方法 |
CN108777619A (zh) * | 2018-05-08 | 2018-11-09 | 晋商博创(北京)科技有限公司 | 基于标识的cpk体制和密钥管理方法、装置、服务器及终端 |
CN113259097A (zh) * | 2021-05-13 | 2021-08-13 | 晋商博创(北京)科技有限公司 | 基于cpk的可多态配置的密钥生成方法及装置 |
CN113572594A (zh) * | 2021-07-26 | 2021-10-29 | 晋商博创(北京)科技有限公司 | Cpk密钥生成方法、装置、实体及密钥中心 |
CN114760052A (zh) * | 2022-03-30 | 2022-07-15 | 中国农业银行股份有限公司 | 银行物联网平台密钥生成方法、装置、电子设备及介质 |
Non-Patent Citations (1)
Title |
---|
采用ECC算法CPK认证机制的安全支付方案;贺岳星;计竞舟;李志远;;电信快报(第10期);38-41 * |
Also Published As
Publication number | Publication date |
---|---|
CN115987515A (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhu et al. | 2D logistic-modulated-sine-coupling-logistic chaotic map for image encryption | |
US10652026B2 (en) | Implicitly certified digital signatures | |
US9571268B2 (en) | Method and system for homomorphicly randomizing an input | |
US6578144B1 (en) | Secure hash-and-sign signatures | |
Seyedzade et al. | A novel image encryption algorithm based on hash function | |
US10148422B2 (en) | Implicitly certified public keys | |
CN103780379B (zh) | 密码加密方法和系统以及密码校验方法和系统 | |
US10360406B2 (en) | Method of obfuscating data | |
CN106130716A (zh) | 基于认证信息的密钥交换系统及方法 | |
CN110932865B (zh) | 一种基于sm2数字签名算法的可链接环签名生成方法 | |
Chen et al. | Ciphertext policy attribute-based encryption supporting unbounded attribute space from R-LWE | |
Yang et al. | Improved lattice-based signcryption in the standard model | |
CN115514471A (zh) | 利用相乘半群进行数字签名的方法和系统 | |
Thinnukool et al. | Double Encryption Using Trigonometric Chaotic Map and XOR of an Image. | |
CN115987515B (zh) | 一种cpk认证系统构建方法和电子设备 | |
Wang et al. | Security analysis of a one-way hash function based on spatiotemporal chaos | |
CN108667619B (zh) | 一种sm9数字签名的白盒实现方法与装置 | |
Steinwandt et al. | Identity-based non-interactive key distribution with forward security | |
Cao et al. | Fuzzy Identity‐Based Ring Signature from Lattices | |
Tahir et al. | A scheme for the generation of strong cryptographic key pairs based on ICMetrics | |
Jiang et al. | Lattice-based proxy signature scheme with reject sampling method | |
CN112822011B (zh) | 一种基于芯片的特征及区块链的物联网认证方法 | |
CN111314051A (zh) | 一种加解密方法和装置 | |
CN111756539B (zh) | 一种可重随机的标识加解密方法 | |
Tran et al. | Privacy-preserving and verifiable data aggregation |
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 | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |