CN108989053A - 一种基于椭圆曲线的无证书公钥密码体制实现方法 - Google Patents
一种基于椭圆曲线的无证书公钥密码体制实现方法 Download PDFInfo
- Publication number
- CN108989053A CN108989053A CN201810992204.6A CN201810992204A CN108989053A CN 108989053 A CN108989053 A CN 108989053A CN 201810992204 A CN201810992204 A CN 201810992204A CN 108989053 A CN108989053 A CN 108989053A
- Authority
- CN
- China
- Prior art keywords
- user
- key
- private key
- elliptic curve
- public key
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3252—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/72—Signcrypting, i.e. digital signing and encrypting simultaneously
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于椭圆曲线的无证书公钥密码体制实现方法,用于解决无证书体制下系统建立、用户密钥生成和使用的问题。在本发明中,密钥生成中心确定系统参数并公布;之后,先由用户基于随机选定的秘密值向密钥生成中心提交申请,再由密钥生成中心基于系统主私钥和申请信息随机生成用户部分私钥返回给用户,最后用户基于部分私钥计算得到实际私钥和部分公钥;在使用时,其他用户先基于用户标识和部分公钥还原得到实际公钥,再根据标准密码算法进行运算。本发明有效避免了证书使用问题,能够实现用户标识与公钥的绑定,并确保私钥只有用户可知。本发明具备计算效率高、安全性强等特点,可适用于各类标准椭圆曲线的密码算法,无需改变算法逻辑。
Description
技术领域
本发明属于信息安全技术领域,涉及一种密码体制实现方法,具体涉及一种基于椭圆曲线的无证书公钥密码体制实现方法。
背景技术
随着信息技术的快速发展,传统的基于证书的公钥密码体制(PKI)已得到了广泛的应用。但是,随着移动通信网络、无线传感器网络、物联网等新网络环境的出现,PKI体制因其资源开销大的缺点难以满足环境需求。为了避免证书管理和使用问题,Shamir在1984年提出了基于身份的公钥密码体制(IBC);Al-Riyami和Paterson在2003年提出了无证书公钥密码学(CLPKC)。相比而言,IBC体制存在以下几个问题:1)用户完全信任密钥生成中心KGC,用户私钥由KGC独自生成,难以防止KGC伪造用户签名,存在密钥托管问题;2)IBC体制采用了双线性对运算,其计算效率较低;3)用户标识与用户私钥具有唯一绑定关系,难以支持密钥更新和撤销机制。
无证书公钥密码学CLPKC是介于传统PKI体制与IBC体制之间的一种模型。在一个无证书的密码系统中,用户的私钥不是由KGC独自生成,相反地,它是由KGC的部分私钥和由用户选取的秘密值计算而来。由于KGC无法获取用户的秘密值,从而使得用户私钥不能够被KGC获取,但KGC可控制用户私钥生成,以此方式解决了密钥托管问题。但是,CLPKC不完全是基于身份的,因为每一个用户还存在一个额外的公钥(该公钥在使用时与其他数据一起传输或者存储在一个公开的信息列表中),比如要给某用户发送一段加密数据,除了知道该用户的标书外,还需要知道该用户额外的公钥。但相比传统PKI体制而言,CLPKC方法从结构上确保了公钥无需任何证书支持。因为CLPKC不需要管理和使用证书,所需的系统负担和资源负载都很小,更加适合于低带宽需求和低能量消耗的移动安全应用环境和物联网环境。
迄今为止,国内外学者已提出了几十种无证书公钥密码方案,但是大部分方案存在以下三个问题:1)利用双线性对构造,导致运行效率低,算法复杂;2)使用特殊的签名或加密机制,难以兼容标准密码算法,导致方案适用性降低;3)仅具备一部分公钥密码功能,有的方案只支持签名机制,有的方案只支持加密机制,导致使用场景限制较大。因此,无证书密码体制的运行高效性、功能完善性以及算法兼容性的问题,均是亟需解决的问题。
发明内容
为了解决上述技术问题,本发明提供了一种能够基于标准椭圆曲线密码算法构造的无证书公钥密码体制实现方法,即能在不改变标准算法逻辑的前提下实现无证书公钥认证机制,又能够满足无证书体制的安全性高效性需求,可广泛适用于复杂系统、资源受限场景下的公钥认证和使用需求。
本发明所采用的技术方案是:一种基于椭圆曲线的无证书公钥密码体制实现方法,其特征在于,包括以下步骤:
步骤1:系统建立;
建立系统公共参数和系统主私钥;
步骤1的具体实现包括以下子步骤:
步骤1.1:确定无证书密码体制的曲线参数E(Fq)={q,aq,bq,G,n},其中q为椭圆曲线的基域参数,aq,bq为椭圆曲线的方程参数,G为椭圆曲线的n阶基点;
步骤1.2:确定无证书密码体制的密码函数{H1(·),H2(·),H3(·),SAa(·),SAb(·)},其中Hi(·)表示一组基于哈希函数和数学运算的安全映射函数,SAa(·)和SAb(·)为一组基于椭圆曲线运算的秘密协商函数;
所述安全映射函数,能够基于数学运算和哈希函数对输入数据进行变换并映射为一个整数值h,且满足h∈[0,n-1]。
所述秘密协商函数,当输入数据满足条件A=[a]G且B=[b]G时,SAa(a,ID,B)与SAb(b,ID,A)输出一致,其中ID为用户标识,秘密协商双方能够基于该函数计算得到一个共享的秘密数据,其计算方式包含以下简化和变形:
(1)计算方式为SAa(a,ID,B)=ID||[a]G||B,SAb(b,ID,A)=ID||A||[b]G;符号||表示数据串联;
(2)取值常量u∈[0,n-1],计算方式为SAa(a,ID,B)=[u·a]B,SAb(b,ID,A)=[u·b]A;符号·表示整数模乘;
(3)取值常量u,v∈[0,n-1],计算方式为SAa(a,ID,B)=[u·a]G+[v]B,SAb(b,ID,A)=[u]A+[v·b]G。
步骤1.3:密钥生成中心随机产生系统主私钥Ppri=s∈[1,n-1],并计算系统主公钥Ppub=[s]G,[·]G表示点乘运算;密钥生成中心公布系统公共参数{E(Fq),Ppub}。
步骤2:用户秘密建立;
用户产生秘密值并向密钥生成中心提交私钥申请;
步骤2的具体实现包括以下子步骤:
步骤2.1:用户选取标识ID,并随机选取整数a∈[0,n-1],记用户秘密值为da=a,并计算A=[a]G;
步骤2.2:用户将私钥申请{ID,A}发送给密钥生成中心;若a取值为零,则密钥申请不含有A。
步骤3:用户私钥提取;
密钥生成中心根据私钥申请产生部分私钥返回给用户;
步骤3的具体实现包括以下子步骤:
步骤3.1:密钥生成中心接收私钥申请后,随机选取整数b∈[1,n-1],并计算B=[b]G、C=SAb(b,ID,A)、h1=H1(ID,C)、h2=H2(ID,C),L=[h1]A+[h2]B,得到用户部分公钥L并公布;再计算h3=H3(ID,L)、db=h2b+h3s mod n,得到用户部分私钥db;
步骤3.2:密钥生成中心将{B,db}或{B,L,db}发送给用户。
步骤4:用户私钥建立;
用户根据部分私钥和秘密值计算得到实际私钥;
步骤4的具体实现包括以下子步骤:
步骤4.1:用户接收{B,db}后,计算C=SAa(a,ID,B)、h1=H1(ID,C);若用户未接收到L,则计算h2=H2(ID,C),L=[h1]A+[h2]B;
步骤4.2:用户计算用户私钥d=h1sa+sbmod n,存储(L,d),其中L为部分公钥和d为实际私钥。
步骤5:用户公钥还原;
其他用户能根据用户标识、部分公钥以及系统主公钥还原得到用户的实际公钥,具体计算公式为先计算h3=H3(ID,L),再计算Q=L+[h3]Ppub,其中Q为用户实际公钥。
相对于现有技术,本发明具有以下有益效果:适用于各类常规椭圆曲线密码算法(如ECDSA、SM2算法等),不使用数字证书,有效避免了证书管理和使用问题,可在各种基于常规椭圆曲线密码体制建立的安全系统中使用。在系统管理方面,KGC只需要存储系统参数、系统主私钥以及用户标识的密钥分发状态,其存储负担非常小,非常适合于用户数量庞大的应用场景。在计算效率方面,本发明所述的实现方法仅需在标准的密码算法基础上增加一次用户公钥还原操作,该操作仅需一次椭圆曲线点倍和一次椭圆曲线点乘运算,相比一般采用双线性的无正式体制而言,其计算效率几乎快10倍。
附图说明
图1是本发明的方法原理示意图;
图2是本发明实施例一的方法原理示意图;
图3是本发明实施例二的方法原理示意图;
图4是本发明实施例三的方法原理示意图。
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合附图详细描述本发明的具体实施方式及其简化和变形。应理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明的保护范围。
本发明所述的无证书密码体制组成与一般的无证书密码体制一致,分为密钥生成中心(Key Generation Center,KGC)和用户,但在密钥申请与提取阶段与一般无证书密码体制模型有所区别,其区别在于:本发明所述的密钥提取在用户设置秘密值之后,而一般模型中用户秘密值设置在密钥提取之后;其优势是用户可以在接收到密钥提取数据后验证信息来源的真实性。
本发明的实现方法主要内容包括系统建立、用户秘密建立、用户私钥提取、用户私钥建立、用户公钥还原的方法,所述方法均可基于现有的椭圆曲线标准公钥密码算法进行数字签名、公钥加密、密钥交换等。
请见图1,本发明提供的一种基于椭圆曲线的无证书公钥密码体制实现方法,包括以下步骤:
步骤1:系统建立;
建立系统公共参数和系统主私钥;
步骤2:用户秘密建立;
用户产生秘密值并向密钥生成中心提交私钥申请;
步骤3:用户私钥提取;
密钥生成中心根据私钥申请产生部分私钥返回给用户;
步骤4:用户私钥建立;
用户根据部分私钥和秘密值计算得到实际私钥;
步骤5:用户公钥还原。
本发明的实际公私钥对(d,Q)适用于各类常规椭圆曲线公钥密码算法,用户直接使用实际私钥d进行密码运算,而其他用户先通过用户标识和部分公钥还原得到实际公钥,然后使用实际公钥Q进行密码运算。
下面结合符合及具体实施例对本发明做进一步的阐述;
(1)实施例一;
请见图2,本发明实施例一的实现原理分为三个阶段:系统建立阶段、用户密钥生成阶段和用户密钥使用阶段。
在本实施例的系统建立阶段中,系统建立由密钥生成中心KGC完成。KGC选取有限域Fq上的安全常规椭圆曲线E(Fq):y2=x3+aq·x+bq,取E(Fq)上的一个n阶点G作为基点。一般来说,可选取标准规定的椭圆曲线参数,例如国密SM2算法曲线参数、国际ECDSA曲线参数。安全杂凑函数可选取标准的杂凑算法,例如国密SM3算法和国际SHA系列算法。
之后,KGC确定密码函数的具体逻辑运算方式为:
1)秘密协商函数选取为SAa(a,ID,B)=[a]G+B和SAb(b,ID,A)=A+[b]G,即椭圆曲线的点加运算;
2)安全映射函数选取为H3(ID,L)=Hash(0x03||ID||L)且H1(·)=0、H2(·)=1,其中Hash(·)为杂凑算法。
最后,KGC随机产生系统主私钥并计算得到系统主公钥。同时,规定用户不设置私密值(即da=a=0),密钥生成控制权完全有KGC控制。
在本实施例的用户密钥生成阶段中,用户密钥生成由用户和KGC共同交互完成。具体步骤如下:
步骤1:用户将用户标识ID发送给KGC,请求签名私钥;或者由KGC直接分配用户标识。
步骤2:KGC收到私钥请求后,首先利用已有的身份认证方法确认ID与User身份一致;随后,KGC随机选取整数b∈[1,n-1]并通过公式计算用户临时公钥B=[b]G。
步骤3:KGC根据L计算用户部分私钥db=b+h3·s mod n,其中h3=H3(ID,B)。
步骤4:KGC将临时公钥B和部分私钥db,通过安全信道发送给用户。
步骤5:用户User接收并秘密保存KGC发送的私钥(L,d),其中L=B、d=db。
在用户密钥使用阶段,用户需要使用私钥时,可直接使用d作为实际私钥进行运算;其他用户需要使用公钥时,可根据用户公钥还原方法计算得到用户实际公钥Q,再进行相关运算。用户实际公钥的计算方式为:
h3=H3(ID,L)
Q=L+[h3]Ppub
其中L为用户部分公钥,Ppub为系统主公钥,均可通过公开方式获取。
本实施例的特性为:KGC完全控制用户私钥生成,能够获取用户私钥数据;支持单标识多密钥模式,即单一用户标识可匹配生成不同的用户公私钥对,解决标识密码体制下的密钥撤销和密钥更新问题;可支持私钥单向分发机制,运算效率高,非常适合于于批量化用户私钥生成场景。
(2)实施例二;
请见图3,本发明实施例一的实现原理分为三个阶段:系统建立阶段、用户密钥生成阶段和用户密钥使用阶段。
在本实施例的系统建立阶段中,系统建立由密钥生成中心KGC完成。椭圆曲线参数、安全杂凑函数选取方式与实施例一类同。密码函数的具体逻辑运算方式为:
1)秘密协商函数选取为SAa(a,ID,B)=[a]G||B和SAb(b,ID,A)=A||[b]G,即数据串联;
2)安全映射函数选取为H1(ID,C)=Hash(0x01||ID||C)、H2(ID,C)=Hash(0x02||ID11C)和H3(ID,L)=Hash(0x03||ID||L),其中Hash(·)为杂凑算法。
最后,KGC随机产生系统主私钥并计算得到系统主公钥。同时,规定用户的私密值不能为零(即da≠0),用户具备密钥控制权。
在本实施例的用户密钥生成阶段中,用户密钥生成由用户和KGC共同交互完成。具体步骤如下:
步骤1:用户随机选取整数a∈[1,n-1]作为用户秘密值da=a,并计算临时公钥A=[a]G=(xA,yA);随后,将身份标识ID和临时公钥A发送给KGC,请求私钥;
步骤2:KGC收到私钥请求后,首先利用已有的身份认证方法确认ID与用户身份一致。随后,KGC随机选取整数b∈[1,n-1],并通过公式计算临时公钥B=[b]G=(xB,yB)。
步骤3.3:KGC先根据B计算秘密协商值C=A||B,再通过公式h1=H1(ID,C)、h2=H2(ID,C)、L=[h1]A+[h2]B、h3=H3(ID,L)计算得到用户部分私钥db=h2b+h3s mod n,其中符号||表示连接,mod n表示模n运算。
步骤4:KGC将临时公钥B和部分私钥dh,通过安全信道发送给用户。
步骤5:用户接收请求响应后,先计算秘密协商值C=A||B,再计算h1=H1(ID,C)、h2=H2(ID,C),得到部分公钥L=[h1]A+[h2]B,实际私钥d=h2da+sb,秘密存储(L,d)。
在用户密钥使用阶段,私钥和公钥的使用方法与实施例一类同。
本实施例的特性为:KGC可通过系统主私钥控制用户私钥生成,但无法获取用户私钥数据;用户通过设置秘密值保护自身用户私钥的机密性,防止恶意的KGC攻击;支持单标识多密钥模式,即单一用户标识可匹配生成不同的用户公私钥对,解决标识密码体制下的密钥撤销和密钥更新问题。
(3)实施例三;
请见图4,本发明实施例一的实现原理分为三个阶段:系统建立阶段、用户密钥生成阶段和用户密钥使用阶段。
在本实施例的系统建立阶段中,系统建立由密钥生成中心KGC完成。椭圆曲线参数、安全杂凑函数选取方式与实施例一类同。密码函数的具体逻辑运算方式为:
1)秘密协商函数选取为SAa(a,ID,B)=[a]B和SAb(b,ID,A)=[b]A,即基于椭圆曲线点乘运算的ECDH密钥协商;
2)安全映射函数选取为H1(ID,C)=Hash(0x01||ID||C)、H2(ID,C)=1和H3(ID,L)=Hash(0x03||ID||L),其中Hash(·)为杂凑算法。
最后,KGC随机产生系统主私钥并计算得到系统主公钥。同时,规定用户的私密值不能为零(即da≠0),用户具备密钥控制权。
在本实施例的用户密钥生成阶段中,用户密钥生成由用户和KGC共同交互完成。具体步骤如下:
步骤1:用户随机选取整数a∈[1,n-1]作为用户秘密值da=a,并计算临时公钥A=[a]G=(xA,yA);随后,将身份标识ID和临时公钥A发送给KGC,请求私钥;
步骤2:KGC收到私钥请求后,首先利用已有的身份认证方法确认ID与用户身份一致。随后,KGC随机选取整数b∈[1,n-1],并通过公式计算临时公钥B=[b]G=(xB,yB)。
步骤3:KGC先根据B计算秘密协商值C=[b]A,再通过公式h1=H1(ID,C)、L=[h1]A+B、h3=H3(ID,L)计算得到用户部分私钥db=b+h3s mod n,其中符号||表示连接,modn表示模n运算。
步骤4:KGC将临时公钥B和部分私钥sh,通过安全信道发送给用户。
步骤5:用户接收请求响应后,先计算秘密协商值C=[a]B,再计算得到h1=H1(ID,C),部分公钥L=[h1]A+[h2]B,实际私钥d=h2da+sb,秘密存储(L,d)。
在用户密钥使用阶段,私钥和公钥的使用方法与实施例一类同。
本实施例的特性为:KGC可通过系统主私钥控制用户私钥生成,但无法获取用户私钥数据;用户通过设置秘密值保护自身用户私钥的机密性,防止恶意的KGC攻击;密钥生成过程中的密钥协商值具备前向安全性,安全性更高;支持单标识多密钥模式,即单一用户标识可匹配生成不同的用户公私钥对,解决标识密码体制下的密钥撤销和密钥更新问题。
相对于现有技术,本发明具有以下优点:
(1)运算高效性;
本发明所述的实现方法只使用了椭圆曲线点倍和点加运算以及大整数模运算,具备运算效率高、资源消耗小的特点。相比双线性对而言,椭圆曲线的点倍运算量不足双线性对运算量的1/8,且运算所需存储量不足双线性对运算存储量的1/10。而且,本发明可支持不同程度的简化和变形,可在安全强度与计算效率之间进行平衡,调整方法所需的点倍次数和点加次数。
(2)算法兼容性;
本发明的实际公私钥对(d,Q)可适用于各类常规椭圆曲线公钥密码算法,即用户直接使用实际私钥d进行密码运算,而其他用户可先通过用户标识和部分公钥还原得到实际公钥,然后使用实际公钥Q进行密码运算。
下面以标准的数字签名和公钥加密算法为例说明本发明的适用性(密钥协商算法、签密算法可使用类似的方法处理):
1)数字签名示例;
记用户A为签名者,用户B为验签者。用户A的标识为IDA,部分公钥为LA,实际私钥为dA。
当用户A进行数字签名时,用户A使用标准的私钥签名算法和实际私钥,对消息M进行签名,得到实际签名值本发明在实际签名值的基础上,附加用户A的部分公钥,得到签名值
当用户B进行签名验证时,用户B使用本发明的用户公钥还原方法得到用户的实际公钥QA=PK_RESTORE(IDA,LA,Ppub),再使用标准的公钥验签算法和实际公钥,验证签名合法性
该示例中,用户B需要获取用户A的部分公钥LA,LA可如示例中描述的方式附带在签名值中传递给用户B,此方式便于用户B独立完成签名值的验证,支持离线验签;也可以由用户B向第三方可信发布平台查询获取用户A的部分公钥。
2)公钥加密示例;
记用户B为加密者,用户A为解密者。用户A的数据符号记录与数字签名示例一致。
当用户B进行公钥加密时,用户B先获取用户A的部分公钥LA,再使用本发明的用户公钥还原方法计算用户的实际公钥QA=PK_RESTORE(IDA,LA,Ppub);之后,使用标准的公钥加密算法和实际公钥对消息M进行加密,得到密文C。
当用户A进行私钥解密时,用户A直接使用实际私钥dA解密密文C,得到明文消息M。
上述示例中,用户B需要先用户A的部分公钥LA,部分公钥可由用户A直接传递给用户B,也可以由用户B向第三方可信发布平台查询;由于算法安全特性,即使部分公钥在传输过程中被篡改,也不会导致影响明文的机密性。
(3)功能完善性;
根据本发明的算法兼容性方面的描述,用户的实际公私钥对(d,Q)可支持任何常规椭圆曲线密码算法,只需算法支持签名/加密/协商/签密等功能,本发明所述的无证书体制也能够支持。
应当理解的是,本说明书未详细阐述的部分均属于现有技术。
应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。
Claims (9)
1.一种基于椭圆曲线的无证书公钥密码体制实现方法,其特征在于,包括以下步骤:
步骤1:系统建立;
建立系统公共参数和系统主私钥;
步骤2:用户秘密建立;
用户产生秘密值并向密钥生成中心提交私钥申请;
步骤3:用户私钥提取;
密钥生成中心根据私钥申请产生部分私钥返回给用户;
步骤4:用户私钥建立;
用户根据部分私钥和秘密值计算得到实际私钥;
步骤5:用户公钥还原。
2.根据权利要求1所述的基于椭圆曲线的无证书公钥密码体制实现方法,其特征在于,步骤1的具体实现包括以下子步骤:
步骤1.1:确定无证书密码体制的曲线参数E(Fq)={q,aq,bq,G,n},其中q为椭圆曲线的基域参数,aq,bq为椭圆曲线的方程参数,G为椭圆曲线的n阶基点;
步骤1.2:确定无证书密码体制的密码函数{H1(·),H2(·),H3(·),SAa(·),SAb(·)},其中Hi(·)表示一组基于哈希函数和数学运算的安全映射函数,SAa(·)和SAb(·)为一组基于椭圆曲线运算的秘密协商函数;
步骤1.3:密钥生成中心随机产生系统主私钥Ppri=s∈[1,n-1],并计算系统主公钥Ppub=[s]G,[·]G表示点乘运算;密钥生成中心公布系统公共参数{E(Fq),Ppub}。
3.根据权利要求2所述的基于椭圆曲线的无证书公钥密码体制实现方法,其特征在于,步骤1.2中所述安全映射函数,能够基于数学运算和哈希函数对输入数据进行变换并映射为一个整数值h,且满足h∈[0,n-1]。
4.根据权利要求2所述的基于椭圆曲线的无证书公钥密码体制实现方法,其特征在于,步骤1.2中所述秘密协商函数,当输入数据满足条件A=[a]G且B=[b]G时,SAa(a,ID,B)与SAb(b,ID,A)输出一致,其中ID为用户标识,秘密协商双方能够基于该函数计算得到一个共享的秘密数据,其计算方式包含以下简化和变形:
(1)计算方式为SAa(a,ID,B)=ID||[a]G||B,SAb(b,ID,A)=ID||A||[b]G;符号||表示数据串联;
(2)取值常量u∈[0,n-1],计算方式为SAa(a,ID,B)=[u·a]B,SAb(b,ID,A)=[u·b]A;符号·表示整数模乘;
(3)取值常量u,v∈[0,n-1],计算方式为SAa(a,ID,B)=[u·a]G+[v]B,SAb(b,ID,A)=[u]A+[v·b]G。
5.根据权利要求2所述的基于椭圆曲线的无证书公钥密码体制实现方法,其特征在于,步骤2的具体实现包括以下子步骤:
步骤2.1:用户选取标识ID,并随机选取整数a∈[0,n-1],记用户秘密值为da=a,并计算A=[a]G;
步骤2.2:用户将私钥申请{ID,A}发送给密钥生成中心;若a取值为零,则密钥申请不含有A。
6.根据权利要求5所述的基于椭圆曲线的无证书公钥密码体制实现方法,其特征在于,步骤3的具体实现包括以下子步骤:
步骤3.1:密钥生成中心接收私钥申请后,随机选取整数b∈[1,n-1],并计算B=[b]G、C=SAb(b,ID,A)、h1=H1(ID,C)、h2=H2(ID,C),L=[h1]A+[h2]B,得到用户部分公钥L并公布;再计算h3=H3(ID,L)、db=h2b+h3s mod n,得到用户部分私钥dh;
步骤3.2:密钥生成中心将{B,db}或{B,L,db}发送给用户。
7.根据权利要求6所述的基于椭圆曲线的无证书公钥密码体制实现方法,其特征在于,步骤4的具体实现包括以下子步骤:
步骤4.1:用户接收{B,db}后,计算C=SAa(a,ID,B)、h1=H1(ID,C);若用户未接收到L,则计算h2=H2(ID,C),L=[h1]A+[h2]B;
步骤4.2:用户计算用户私钥d=h1sa+sb mod n,存储(L,d),其中L为部分公钥和d为实际私钥。
8.根据权利要求7所述的基于椭圆曲线的无证书公钥密码体制实现方法,其特征在于,步骤5的具体实现过程是:其他用户能根据用户标识、部分公钥以及系统主公钥还原得到用户的实际公钥,具体计算公式为先计算h3=H3(ID,L),再计算Q=L+[h3]Ppub,其中Q为用户实际公钥。
9.根据权利要求1-8任意一项所述的基于椭圆曲线的无证书公钥密码体制实现方法,其特征在于:实际公私钥对(d,Q)适用于各类常规椭圆曲线公钥密码算法,用户直接使用实际私钥d进行密码运算,而其他用户先通过用户标识和部分公钥还原得到实际公钥,然后使用实际公钥Q进行密码运算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810992204.6A CN108989053B (zh) | 2018-08-29 | 2018-08-29 | 一种基于椭圆曲线的无证书公钥密码体制实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810992204.6A CN108989053B (zh) | 2018-08-29 | 2018-08-29 | 一种基于椭圆曲线的无证书公钥密码体制实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108989053A true CN108989053A (zh) | 2018-12-11 |
CN108989053B CN108989053B (zh) | 2021-05-14 |
Family
ID=64547124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810992204.6A Active CN108989053B (zh) | 2018-08-29 | 2018-08-29 | 一种基于椭圆曲线的无证书公钥密码体制实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108989053B (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109818744A (zh) * | 2019-02-27 | 2019-05-28 | 矩阵元技术(深圳)有限公司 | 共享秘密密钥生成方法、装置、计算机设备和存储介质 |
CN110233725A (zh) * | 2019-05-29 | 2019-09-13 | 西安邮电大学 | 多源网络编码的同态无证书签名方法 |
CN110601859A (zh) * | 2019-10-12 | 2019-12-20 | 武汉珈港科技有限公司 | 一种基于25519椭圆曲线的无证书公钥密码签名方法 |
CN111245847A (zh) * | 2020-01-15 | 2020-06-05 | 北京三未信安科技发展有限公司 | 轻量级无证书认证方法、客户端及系统 |
CN112016111A (zh) * | 2020-09-08 | 2020-12-01 | 杭州天谷信息科技有限公司 | 一种可信的支持集中解密的招投标加解密的方法 |
CN112887082A (zh) * | 2020-09-15 | 2021-06-01 | 深圳奥联信息安全技术有限公司 | 一种密钥生成方法及装置 |
CN112910864A (zh) * | 2021-01-20 | 2021-06-04 | 中国人民解放军国防科技大学 | 公钥的高速报文验证方法 |
CN112906039A (zh) * | 2021-03-26 | 2021-06-04 | 成都卫士通信息产业股份有限公司 | 一种无证书分布式签名方法、装置、介质和电子设备 |
CN113190862A (zh) * | 2021-05-10 | 2021-07-30 | 成都卫士通信息产业股份有限公司 | 基于sm2的无证书密钥生成方法、装置、电子设备及介质 |
CN113221130A (zh) * | 2021-01-28 | 2021-08-06 | 武汉大学 | 一种面向食品安全物联网的无证书在线离线签名方法及介质 |
CN113259097A (zh) * | 2021-05-13 | 2021-08-13 | 晋商博创(北京)科技有限公司 | 基于cpk的可多态配置的密钥生成方法及装置 |
CN113301520A (zh) * | 2021-05-21 | 2021-08-24 | 国网四川省电力公司电力科学研究院 | 一种无线传感器网络安全通信的方法 |
CN113300856A (zh) * | 2021-05-25 | 2021-08-24 | 辽宁工程技术大学 | 一种可证安全的异构混合签密方法 |
CN113837756A (zh) * | 2021-09-23 | 2021-12-24 | 航天信息股份有限公司 | 一种电子发票验证方法和系统 |
CN114301585A (zh) * | 2021-11-17 | 2022-04-08 | 北京智芯微电子科技有限公司 | 标识私钥的使用方法、生成方法和管理系统 |
CN114640444A (zh) * | 2022-03-18 | 2022-06-17 | 哈尔滨理工大学 | 基于国产密码算法的隐私保护集合交集获取方法及装置 |
CN114826625A (zh) * | 2022-07-01 | 2022-07-29 | 广东电力交易中心有限责任公司 | 基于sgx的区块链密钥存储方法及评价方法及装置 |
CN115292332A (zh) * | 2022-10-09 | 2022-11-04 | 北京珞安科技有限责任公司 | 防火墙运行数据储存方法、系统、存储介质及客户端 |
CN115580401A (zh) * | 2022-10-25 | 2023-01-06 | 商密(广州)信息科技有限公司 | 一种基于可验证秘密共享的无证书sm2密钥生成方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103023648A (zh) * | 2012-11-27 | 2013-04-03 | 中国科学技术大学苏州研究院 | 基于椭圆曲线离散对数问题的无证书签名方法 |
CN103780618A (zh) * | 2014-01-22 | 2014-05-07 | 西南交通大学 | 一种基于访问授权票据的跨异构域身份认证及会话密钥协商方法 |
CN104539423A (zh) * | 2014-12-16 | 2015-04-22 | 熊荣华 | 一种无双线性对运算的无证书公钥密码体制的实现方法 |
EP2947840A1 (en) * | 2013-09-16 | 2015-11-25 | Huawei Device Co., Ltd. | Certificateless multi-agent signature method and apparatus |
-
2018
- 2018-08-29 CN CN201810992204.6A patent/CN108989053B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103023648A (zh) * | 2012-11-27 | 2013-04-03 | 中国科学技术大学苏州研究院 | 基于椭圆曲线离散对数问题的无证书签名方法 |
EP2947840A1 (en) * | 2013-09-16 | 2015-11-25 | Huawei Device Co., Ltd. | Certificateless multi-agent signature method and apparatus |
CN103780618A (zh) * | 2014-01-22 | 2014-05-07 | 西南交通大学 | 一种基于访问授权票据的跨异构域身份认证及会话密钥协商方法 |
CN104539423A (zh) * | 2014-12-16 | 2015-04-22 | 熊荣华 | 一种无双线性对运算的无证书公钥密码体制的实现方法 |
Non-Patent Citations (1)
Title |
---|
胡景秀: "可信Ad_Hoc网络中控制消息的认证方法", 《信息科技辑》 * |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109818744A (zh) * | 2019-02-27 | 2019-05-28 | 矩阵元技术(深圳)有限公司 | 共享秘密密钥生成方法、装置、计算机设备和存储介质 |
CN110233725B (zh) * | 2019-05-29 | 2021-10-19 | 西安邮电大学 | 多源网络编码的同态无证书签名方法 |
CN110233725A (zh) * | 2019-05-29 | 2019-09-13 | 西安邮电大学 | 多源网络编码的同态无证书签名方法 |
CN110601859A (zh) * | 2019-10-12 | 2019-12-20 | 武汉珈港科技有限公司 | 一种基于25519椭圆曲线的无证书公钥密码签名方法 |
CN110601859B (zh) * | 2019-10-12 | 2022-05-10 | 武汉珈港科技有限公司 | 一种基于25519椭圆曲线的无证书公钥密码签名方法 |
CN111245847A (zh) * | 2020-01-15 | 2020-06-05 | 北京三未信安科技发展有限公司 | 轻量级无证书认证方法、客户端及系统 |
CN112016111A (zh) * | 2020-09-08 | 2020-12-01 | 杭州天谷信息科技有限公司 | 一种可信的支持集中解密的招投标加解密的方法 |
CN112016111B (zh) * | 2020-09-08 | 2024-04-09 | 杭州天谷信息科技有限公司 | 一种可信的支持集中解密的招投标加解密的方法 |
CN112887082A (zh) * | 2020-09-15 | 2021-06-01 | 深圳奥联信息安全技术有限公司 | 一种密钥生成方法及装置 |
CN112910864A (zh) * | 2021-01-20 | 2021-06-04 | 中国人民解放军国防科技大学 | 公钥的高速报文验证方法 |
CN113221130A (zh) * | 2021-01-28 | 2021-08-06 | 武汉大学 | 一种面向食品安全物联网的无证书在线离线签名方法及介质 |
CN112906039A (zh) * | 2021-03-26 | 2021-06-04 | 成都卫士通信息产业股份有限公司 | 一种无证书分布式签名方法、装置、介质和电子设备 |
CN113190862A (zh) * | 2021-05-10 | 2021-07-30 | 成都卫士通信息产业股份有限公司 | 基于sm2的无证书密钥生成方法、装置、电子设备及介质 |
CN113190862B (zh) * | 2021-05-10 | 2023-01-06 | 成都卫士通信息产业股份有限公司 | 基于sm2的无证书密钥生成方法、装置、电子设备及介质 |
CN113259097A (zh) * | 2021-05-13 | 2021-08-13 | 晋商博创(北京)科技有限公司 | 基于cpk的可多态配置的密钥生成方法及装置 |
CN113301520A (zh) * | 2021-05-21 | 2021-08-24 | 国网四川省电力公司电力科学研究院 | 一种无线传感器网络安全通信的方法 |
CN113301520B (zh) * | 2021-05-21 | 2023-02-28 | 国网四川省电力公司电力科学研究院 | 一种无线传感器网络安全通信的方法 |
CN113300856A (zh) * | 2021-05-25 | 2021-08-24 | 辽宁工程技术大学 | 一种可证安全的异构混合签密方法 |
CN113300856B (zh) * | 2021-05-25 | 2022-07-08 | 辽宁工程技术大学 | 一种可证安全的异构混合签密方法 |
CN113837756A (zh) * | 2021-09-23 | 2021-12-24 | 航天信息股份有限公司 | 一种电子发票验证方法和系统 |
CN114301585B (zh) * | 2021-11-17 | 2024-01-05 | 北京智芯微电子科技有限公司 | 标识私钥的使用方法、生成方法和管理系统 |
CN114301585A (zh) * | 2021-11-17 | 2022-04-08 | 北京智芯微电子科技有限公司 | 标识私钥的使用方法、生成方法和管理系统 |
CN114640444A (zh) * | 2022-03-18 | 2022-06-17 | 哈尔滨理工大学 | 基于国产密码算法的隐私保护集合交集获取方法及装置 |
CN114640444B (zh) * | 2022-03-18 | 2023-10-24 | 哈尔滨理工大学 | 基于国产密码算法的隐私保护集合交集获取方法及装置 |
CN114826625B (zh) * | 2022-07-01 | 2022-09-02 | 广东电力交易中心有限责任公司 | 基于sgx的区块链密钥存储方法及评价方法及装置 |
CN114826625A (zh) * | 2022-07-01 | 2022-07-29 | 广东电力交易中心有限责任公司 | 基于sgx的区块链密钥存储方法及评价方法及装置 |
CN115292332A (zh) * | 2022-10-09 | 2022-11-04 | 北京珞安科技有限责任公司 | 防火墙运行数据储存方法、系统、存储介质及客户端 |
CN115580401A (zh) * | 2022-10-25 | 2023-01-06 | 商密(广州)信息科技有限公司 | 一种基于可验证秘密共享的无证书sm2密钥生成方法 |
CN115580401B (zh) * | 2022-10-25 | 2023-12-22 | 商密(广州)信息科技有限公司 | 一种基于可验证秘密共享的无证书sm2密钥生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108989053B (zh) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108989053A (zh) | 一种基于椭圆曲线的无证书公钥密码体制实现方法 | |
CN104539423B (zh) | 一种无双线性对运算的无证书公钥密码体制的实现方法 | |
CN106961336B (zh) | 一种基于sm2算法的密钥分量托管方法和系统 | |
CN108292402B (zh) | 用于信息的安全交换的公共秘密的确定和层级确定性密钥 | |
CN113014392B (zh) | 基于区块链的数字证书管理方法及系统、设备、存储介质 | |
JP6670395B2 (ja) | 身元情報ベース鍵素材及び証明書の配布のためのシステム及び方法 | |
WO2021022246A1 (en) | Systems and methods for generating signatures | |
CN104821880B (zh) | 一种无证书广义代理签密方法 | |
CN110830236B (zh) | 基于全域哈希的身份基加密方法 | |
CN110120939B (zh) | 一种基于异构系统的可否认认证的加密方法和系统 | |
CN107579819A (zh) | 一种sm9数字签名生成方法及系统 | |
CN108989054B (zh) | 一种密码系统及数字签名方法 | |
WO2020103631A1 (zh) | 一种基于非对称双线性对的匿签密方法 | |
US20040165728A1 (en) | Limiting service provision to group members | |
CN112104453B (zh) | 一种基于数字证书的抗量子计算数字签名系统及签名方法 | |
WO2009143713A1 (zh) | 双因子组合公钥生成和认证方法 | |
GB2390515A (en) | Verifying An Association Between Two Parties | |
CN104767612A (zh) | 一种从无证书环境到公钥基础设施环境的签密方法 | |
CN104767611B (zh) | 一种从公钥基础设施环境到无证书环境的签密方法 | |
CN112087428B (zh) | 一种基于数字证书的抗量子计算身份认证系统及方法 | |
JP2004208262A (ja) | バイリニアペアリングを用いたidに基づくリング署名装置及び方法 | |
CN109257181B (zh) | 无证书环境下椭圆曲线盲签密方法 | |
GB2421408A (en) | Generating an Identifier-Based Public / Private Key Pair from a Multi-Component Signature | |
CN111030821A (zh) | 一种基于双线性映射技术的联盟链加密方法 | |
CN110519040B (zh) | 基于身份的抗量子计算数字签名方法和系统 |
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 |