CN107508684A - 非对称加解密方法和装置 - Google Patents

非对称加解密方法和装置 Download PDF

Info

Publication number
CN107508684A
CN107508684A CN201710869940.8A CN201710869940A CN107508684A CN 107508684 A CN107508684 A CN 107508684A CN 201710869940 A CN201710869940 A CN 201710869940A CN 107508684 A CN107508684 A CN 107508684A
Authority
CN
China
Prior art keywords
key
signature
key generation
generation centre
centre
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
Application number
CN201710869940.8A
Other languages
English (en)
Other versions
CN107508684B (zh
Inventor
程朝辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Ao Lian Information Security Technology Co Ltd
Original Assignee
Shenzhen Ao Lian Information Security Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Ao Lian Information Security Technology Co Ltd filed Critical Shenzhen Ao Lian Information Security Technology Co Ltd
Priority to CN201710869940.8A priority Critical patent/CN107508684B/zh
Publication of CN107508684A publication Critical patent/CN107508684A/zh
Application granted granted Critical
Publication of CN107508684B publication Critical patent/CN107508684B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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/3249Cryptographic 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 RSA or related signature schemes, e.g. Rabin scheme
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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 using cryptographic hash functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明揭示了一种的非对称加解密方法和装置,拥有标识ID的解密端向密钥生成中心申请标识私钥,密钥生成中心采用满足一定条件的基于离散对数问题的数字签名方法生成对标识ID的签名,并将预签名Π和签名结果的第二部分S作为标识私钥,解密端使用S作为解密私钥,并将Π作为其公钥的生成因子进行公开;加密端获取Π通过公式计算出S对应的公钥,采用基于离散对数问题构造的加密方法加密消息,解密端使用S进行解密;如果有必要,解密端可以对S进行变换加入其选择的随机数,并对Π作相应变换后再公开;本申请提供的方法和装置无需交换证书,用户只需公开公钥生成因子即可,加密方法简单、安全。

Description

非对称加解密方法和装置
技术领域
本发明涉及到数字签名解密领域,特别是涉及到一种非对称加解密方法和装置。
背景技术
标识密码算法使用用户的标识和系统的公开信息计算用户的标识公钥,用户间通信无需交换证书或公钥。这类系统的显著优点是管理简单,但大多数标识密码算法都采用双线性对进行构造,因双线性对运算复杂,这类算法在一些计算能力很低的嵌入式设备上执行面临挑战。使用该方法无需交换证书,用户只需公开公钥生成因子。
发明内容
本发明的主要目的为提供一种使用该方法无需交换证书,用户只需公开公钥生成因子的非对称加解密方法和装置。
为了实现上述发明目的,本发明提出一种非对称加解密方法,包括:
解密端获取密钥生成中心生成对应所述解密端的标识ID的标识私钥T;其中,所述密钥生成中心执行预设的数字签名方法MA,随机生成签名公私密钥对作为标识密码系统参数P和主密钥ms,所述密钥生成中心执行所述数字签名方法MA的签名过程对所述标识ID进行数字签名,产生预签名Π以及包含两部分的签名值(R,S),将所述预签名Π及第二部分签名值S作为标识私钥T=(Π,S);
解密端使用预签名Π作为其公钥的生成因子X公开,在获得加密端的密文C后,使用S作为解密私钥Y按照预设的非对称加密方法MB的解密过程对密文C解密,其中,所述密文C由加密端根据系统参数P、标识ID、公开的公钥生成因子X,计算S对应的公钥Q后使用所述非对称加密方法MB的加密过程加密消息M后生成。
进一步地,所述数字签名方法MA是基于离散对数问题的签名方法,所述密钥生成中心基于离散对数问题构造,其给定循环群的生成元G和群中一个随机元素[k]G,其中[k]G表示k个G按照循环群的运算规则进行k次乘法运算;根据公开的系统参数P、标识ID、公钥生成因子X,能够计算出Y作为私钥对应的公钥[Y]G。
进一步地,通过所述密钥生成中心执行预设的数字签名方法MA的过程,包括:
选择阶为q的循环群的生成元G,随机生成整数ms满足0<ms<q,计算H=[ms]G,设置系统参数P=<G,H=[ms]G>,ms作为主密钥。
进一步地,所述数字签名方法MA生成所述标识私钥T的过程,包括:
通过密钥生成中心随机生成整数k满足0<k<q;
通过密钥生成中心计算预签名Π=[k]G;
通过密钥生成中心计算签名第一部分R=HASH(F(ID,其他信息Α),Π)modq,其中Α包括循环群的生成信息、G,[k]G,其中F操作为哈希运算或者字符串拼接;
通过密钥生成中心计算签名值第二部分S=W(k,R,ms),其中,W运算要求当X=Π,Y=S时,根据P=<G,H=[ms]G>,X能够计算Q=[Y]G;
通过密钥生成中心生成标识私钥T=(Π,S)。
进一步地,所述标识私钥T和公钥生成因子X的生成方法,包括:
解密端随机生成成整数n满足0<n<q;
计算解密端部分公钥[n]G后提供给所述密钥生成中心;
通过所述密钥生成中心随机生成整数k满足0<k<q;
通过密钥生成中心计算预签名Π=[k]G;
通过密钥生成中心计算公钥生成因子X=Π±[n]G;
通过密钥生成中心计算签名第一部分R=HASH(F(ID,其他信息Α),X),
通过密钥生成中心计算签名值第二部分S=W(k,R,ms),其中,W运算要求当X=Π+[n]G,Y=(S±n)modq时,根据P=<G,H=[ms]G>,X能够计算Q=[Y]G;
通过密钥生成中心生成标识私钥T=(Π,S),或者T=(X,S);
解密端计算解密私钥Y=(S±n)modq,设置公钥生成因子X=Π±[n]G。
进一步地,所述数字签名方法MA生成所述标识私钥T的过程,包括:
通过密钥生成中心计算k=HASH(F(ID,其他信息Α),ms)modq;
通过密钥生成中心计算预签名Π=[k]G;
通过密钥生成中心计算签名第一部分R=HASH(F(ID,其他信息Α),Π);
通过密钥生成中心计算签名值第二部分S=W(k,R,ms),其中,W运算要求根据P=<G,Q=[ms]G>,Π=[k]G能够计算Q=[S]G;
通过密钥生成中心生成标识私钥T=(Π,S)。
进一步地,所述标识私钥T和公钥生成因子X的生成方法,包括:
解密端随机生成成整数n满足0<n<q;
计算解密端部分公钥[n]G后提供给所述密钥生成中心;
通过密钥生成中心计算k=HASH(F(ID,[n]G,其他信息Α),ms)modq;
通过密钥生成中心计算预签名Π=[k]G;
通过密钥生成中心计算公钥生成因子X=Π±[n]G;
通过密钥生成中心计算计算签名第一部分R=HASH(F(ID,其他信息Α),X);
通过密钥生成中心计算签名值第二部分S=W(k,R,ms),其中,W运算要求当X=Π±[n]G,Y=(S±n)modq时,根据P=<G,H=[ms]G>,X能够计算Q=[Y]G;
通过密钥生成中心生成标识私钥T=(Π,S),或者T=(X,S);
解密端计算解密私钥Y=(S±n)modq,设置公钥生成因子X=Π±[n]G。
本发明还提供一种非对称加解密装置,包括:
获取单元,用于获取密钥生成中心生成对应所述解密端的标识ID的标识私钥T;其中,所述密钥生成中心执行预设的数字签名方法MA,随机生成签名公私密钥对作为标识密码系统参数P和主密钥ms,所述密钥生成中心执行所述数字签名方法MA的签名过程对所述标识ID进行数字签名,产生预签名Π以及包含两部分的签名值(R,S),将所述预签名Π及第二部分签名值S作为标识私钥T=(Π,S);
解密单元,用于使用预签名Π作为其公钥的生成因子X公开,在获得加密端的密文C后,使用S作为解密私钥Y按照预设的非对称加密方法MB的解密过程对密文C解密,其中,所述密文C由加密端根据系统参数P、标识ID、公开的公钥生成因子X,计算S对应的公钥Q后使用所述非对称加密方法MB的加密过程加密消息M后生成。
进一步地,所述数字签名方法MA是基于离散对数问题的签名方法,所述密钥生成中心基于离散对数问题构造,其给定循环群的生成元G和群中一个随机元素[k]G,其中[k]G表示k个G按照循环群的运算规则进行k次乘法运算;根据公开的系统参数P、标识ID、公钥生成因子X,能够计算出Y作为私钥对应的公钥[Y]G。
进一步地,所述获取单元,包括:
执行模块,通过密钥生成中心选择阶为q的循环群的生成元G,随机生成整数ms满足0<ms<q,计算H=[ms]G,设置系统参数P=<G,H=[ms]G>,ms作为主密钥。
进一步地,所述获取单元,包括:
第一生成模块,用于通过密钥生成中心随机生成整数k满足0<k<q;
第一计算模块,用于通过密钥生成中心计算预签名Π=[k]G;
第二计算模块,用于通过密钥生成中心计算签名第一部分R=HASH(F(ID,其他信息Α),Π)modq,其中Α包括循环群的生成信息、G,[k]G,其中F操作为哈希运算或者字符串拼接;
第三计算模块,用于通过密钥生成中心计算签名值第二部分S=W(k,R,ms),其中,W运算要求当X=Π,Y=S时,根据P=<G,H=[ms]G>,X能够计算Q=[Y]G;
第二生成模块,用于通过密钥生成中心生成标识私钥T=(Π,S)。
进一步地,所述获取单元,包括:
第三生成模块,用于随机生成成整数n满足0<n<q;
第四计算模块,用于计算解密端部分公钥[n]G后提供给所述密钥生成中心;
第五计算模块,用于通过所述密钥生成中心随机生成整数k满足0<k<q;
第六计算模块,用于通过密钥生成中心计算预签名Π=[k]G;
第七计算模块,用于通过密钥生成中心计算公钥生成因子X=Π±[n]G;
第八计算模块,用于通过密钥生成中心计算签名第一部分R=HASH(F(ID,其他信息Α),X);
第九计算模块,用于通过密钥生成中心计算签名值第二部分S=W(k,R,ms),其中,W运算要求当X=Π±[n]G,Y=(S±n)modq时,根据P=<G,H=[ms]G>,X能够计算Q=[Y]G;
第四生成模块,用于通过密钥生成中心生成标识私钥T=(П,S),或者,T=(X,S);
第十计算模块,用于计算解密私钥Y=(S±n)modq,设置公钥生成因子X=Π±[n]G。
进一步地,所述获取单元,包括:
第一模块,用于通过密钥生成中心计算k=HASH(F(ID,其他信息Α),ms)modq;
第二模块,用于通过密钥生成中心计算预签名Π=[k]G;
第三模块,用于通过密钥生成中心计算签名第一部分R=HASH(F(ID,其他信息Α),Π);
第四模块,用于通过密钥生成中心计算签名值第二部分S=W(k,R,ms),其中,W运算要求根据P=<G,Q=[ms]G>,Π=[k]G能够计算Q=[S]G;
第五模块,用于通过密钥生成中心生成标识私钥T=(Π,S),或者,T=(X,S)。
进一步地,所述获取单元,包括:
第六模块,用于解密端随机生成成整数n满足0<n<q;
第七模块,用于计算解密端部分公钥[n]G后提供给所述密钥生成中心;
第八模块,用于通过密钥生成中心计算k=HASH(F(ID,[n]G,其他信息Α),ms)modq;
第九模块,用于通过密钥生成中心计算预签名Π=[k]G;
第十模块,用于通过密钥生成中心计算公钥生成因子X=Π±[n]G;
第十一模块,用于通过密钥生成中心计算计算签名第一部分R=HASH(F(ID,其他信息Α),X);
第十二模块,用于通过密钥生成中心计算签名值第二部分S=W(k,R,ms),其中,W运算要求当X=Π±[n]G,Y=(S±n)modq时,根据P=<G,H=[ms]G>,X能够计算Q=[Y]G;
第十三模块,用于通过密钥生成中心生成标识私钥T=(X,S);
第十四模块,用于解密端计算解密私钥Y=(S±n)modq,设置公钥生成因子X=Π±[n]G。
本发明的非对称加解密方法和装置,拥有标识ID的解密端向密钥生成中心申请标识私钥,密钥生成中心采用满足一定条件的基于离散对数问题的数字签名方法生成对标识ID的签名,并将预签名П和签名结果的第二部分S作为标识私钥,解密端使用S作为解密私钥Y,并将Π作为部分其公钥的生成因子进行公开;加密端获取Π通过公式计算出S对应的公钥Q,采用基于离散对数问题构造的加密方法加密消息,解密端使用S进行解密;如果有必要,解密端可以对S进行变换加入其选择的随机数,并对Π作相应变换后再公开;本申请提供的方法和装置无需交换证书,用户只需公开公钥生成因子即可,加密方法简单、安全。
附图说明
图1为本发明一实施例的非对称加解密方法的流程示意图;
图2为本发明一实施例的数字签名方法MA生成所述标识私钥T的流程示意图;
图3为本发明一实施例的非对称加解密装置的结构示意框图;
图4为本发明一实施例的获取单元的结构示意框图;
图5为本发明另一实施例的获取单元的结构示意框图;
图6为本发明又一实施例的获取单元的结构示意框图;
图7为本发明又一实施例的获取单元的结构示意框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,本发明实施例提供一种非对称加解密方法,包括:
S1、解密端获取密钥生成中心生成对应所述解密端的标识ID的标识私钥T;其中,所述密钥生成中心执行预设的数字签名方法MA,随机生成签名公私密钥对作为标识密码系统参数P和主密钥ms,所述密钥生成中心执行所述数字签名方法MA的签名过程对所述标识ID进行数字签名,产生预签名П以及包含两部分的签名值(R,S),将所述预签名Π及第二部分签名值S作为标识私钥T=(Π,S);
S2、解密端使用预签名Π作为其公钥的生成因子X公开,在获得加密端的密文C后,使用S作为解密私钥Y按照预设的非对称加密方法MB的解密过程对密文C解密,其中,所述密文C由加密端根据系统参数P、标识ID、公开的公钥生成因子X,计算S对应的公钥Q后使用所述非对称加密方法MB的加密过程加密消息M后生成。
如上述步骤S1所述,上述解密端是一种智能设备,如手机、电脑、PDA等。上述密钥生成中心即为密钥管理中心,是公钥基础设施中的一个重要组成部分,提供密钥的生成、保存、备份、更新、恢复、查询等密钥服务,可以解决分布式企业应用环境中大规模密码技术应用所带来的密钥管理问题。上述数字签名方法MA是基于离散对数问题的,密钥生成中心必须满足的条件包括:1)基于离散对数问题构造,即假定给定循环群的生成元G和群中一个随机元素[k]G,计算k是困难的,其中[k]G表示k个G按照循环群的运算规则进行k次乘法运算;2)根据公开的信息,包括但不限于系统参数P、签名标识ID、公钥生成因子X,可以计算出Y作为私钥对应的公钥[Y]G。
如上述步骤S2所述,即为利用解密端使用预签名Π作为其公钥的生成因子X公开,对加密端的密文C进行解密。上述非对称加密方法MB的执行过程包括:加密端根据解密端的标识ID、公钥生成因子X和系统参数P计算公钥Q后按照非对称加密方法MB如ECIES、PSEC、ACE、SM2的加密过程加密消息M生成密文C。解密端使用S作为解密私钥按照MB方法中的解密过程解密密文C。上述加密过程中,无需交换证书,加密方式简单、安全。
本实施例中,通过上述密钥生成中心执行预设的数字签名方法MA的过程,包括:
选择阶为q的循环群的生成元G,随机生成整数ms满足0<ms<q,计算H=[ms]G,设置系统参数P=<G,H=[ms]G>,ms作为主密钥。
参照图2,本实施例中,上述数字签名方法MA生成所述标识私钥T的过程,包括:
S101、通过密钥生成中心随机生成整数k满足0<k<q;
S102、通过密钥生成中心计算预签名Π=[k]G;
S103、通过密钥生成中心计算签名第一部分R=HASH(F(ID,其他信息Α),Π)modq,其中Α包括循环群的生成信息、G,[k]G,其中F操作为哈希运算或者字符串拼接;
S104、通过密钥生成中心计算签名值第二部分S=W(k,R,ms),其中,W运算要求当X=Π,Y=S时,根据P=<G,H=[ms]G>,X能够计算Q=[Y]G,如:S=(k-R*ms)modq,S=(k+R*ms)modq,S=(ms-k*R)modq等,对应Q的计算过程为:Q=X-[HASH(F(ID,其他信息Α),X)modq]H,Q=X+[HASH(F(ID,其他信息Α),X)modq]H,Q=H-[HASH(F(ID,其他信息Α),X)modq]X;
S105、通过密钥生成中心生成标识私钥T=(Π,S)。
本实施例中,上述密钥生成中心执行数字签名方法MA使用私钥ms对ID和标识私钥索引INDEX进行数字签名生成标识私钥T。INDEX可以为自增长的计数器,每次生成ID对应的标识私钥,INDEX计数增长;INDEX也可以为当前系统时间和解密端密钥有效时间。T的计算过程如上述所述,但其他信息A包括INDEX。
在另一实施例中,上述标识私钥T和公钥生成因子X的生成方法,包括:
S111、解密端随机生成成整数n满足0<n<q;
S112、计算解密端部分公钥[n]G后提供给所述密钥生成中心;
S113、通过所述密钥生成中心随机生成整数k满足0<k<q;
S114、通过密钥生成中心计算预签名Π=[k]G;
S115、通过密钥生成中心计算公钥生成因子X=Π±[n]G,其中,即X可以等于Π+[n]G,也可以等于Π-[n]G,所述+、-为G群上的操作,加、减法同一类操作,对应的Y=(S±n)modq;
S116、通过密钥生成中心计算签名第一部分R=HASH(F(ID,其他信息Α),X);
S117、通过密钥生成中心计算签名值第二部分S=W(k,R,ms),其中,W运算要求当X=Π±[n]G,Y=(S±n)modq时,根据P=<G,H=[ms]G>,X能够计算Q=[Y]G,如:S=(k-R*ms)modq,S=(k+R*ms)modq,S=(ms-k*R)modq等,对应Q的计算过程为:Q=X-[HASH(F(ID,其他信息Α),X)modq]H,Q=X+[HASH(F(ID,其他信息Α),X)modq]H,Q=H-[HASH(F(ID,其他信息Α),X)modq]X);
S118、通过密钥生成中心生成标识私钥T=(П,S),或者,T=(X,S)其中,当T=(П,S)时,解密端需要计算出X;
S119、解密端计算解密私钥Y=(S±n)modq,设置公钥生成因子X=П±[n]G。
在又一实施例中,上述数字签名方法MA生成所述标识私钥T的过程,包括:
S121、通过密钥生成中心计算k=HASH(F(ID,其他信息Α),ms)modq;
S122、通过密钥生成中心计算预签名∏=[k]G;
S123、通过密钥生成中心计算签名第一部分R=HASH(F(ID,其他信息Α),∏);
S124、通过密钥生成中心计算签名值第二部分S=W(k,R,ms),其中,W运算要求根据P=<G,Q=[ms]G>,∏=[k]G能够计算Q=[S]G,如:S=(k-R*ms)modq,S=(k+R*ms)modq,S=(ms-k*R)modq等;对应Q的计算过程为:Q=∏-[HASH(F(ID,其他信息Α),∏)modq]H,Q=∏+[HASH(F(ID,其他信息Α),Π)modq]H,Q=H-[HASH(F(ID,其他信息Α),Π)modq]П;
S125、通过密钥生成中心生成标识私钥T=(Π,S)。
在其它实施例中,上述标识私钥T和公钥生成因子X的生成方法,包括:
S131、解密端随机生成成整数n满足0<n<q;
S132、计算解密端部分公钥[n]G后提供给所述密钥生成中心;
S133、通过密钥生成中心计算k=HASH(F(ID,[n]G,其他信息Α),ms)modq;
S134、通过密钥生成中心计算预签名Π=[k]G;
S135、通过密钥生成中心计算公钥生成因子X=Π±[n]G;
S136、通过密钥生成中心计算计算签名第一部分R=HASH(F(ID,其他信息Α),X);
S137、通过密钥生成中心计算签名值第二部分S=W(k,R,ms),其中,W运算要求当X=Π±[n]G,Y=(S±n)modq时,根据P=<G,H=[ms]G>,X能够计算Q=[Y]G,如:S=(k-R*ms)modq,S=(k+R*ms)modq,S=(ms-k*R)modq等,对应Q的计算过程为:Q=X-[HASH(F(ID,其他信息Α),X)modq]H,Q=X+[HASH(F(ID,其他信息Α),X)modq]H,Q=H-[HASH(F(ID,其他信息Α),X)modq]X;
S138、通过密钥生成中心生成标识私钥T=(Π,S),或者T=(X,S),其中,当T=(Π,S)时,解密端需要计算出X;
S139、解密端计算解密私钥Y=(S±n)modq,设置公钥生成因子X=Π±[n]G。
在一具体实施例中,提供一种非对称加密、解密的过程,如下:
S11.密钥生成中心选择EC-Schnorr签名算法作为签名方法MA。选择SM2标准规定的椭圆曲线E:Y^2=X^3+a*X+b,其上阶为q的点群作为循环群,随机选择生成元G,随机生成整数ms满足0<ms<q,计算H=[ms]G,设置系统参数P=<G,H=[ms]G>,ms作为主密钥。
S12.密钥生成中心生成对应ID的标识私钥T的步骤如下:
A.随机生成整数k满足0<k<q;
B.计算预签名Π=[k]G;
C.计算Z=SM3(ID_LEN||ID||a||b||xG||yG||xQ||yQ),计算签名第一部分值R=SM3(Z,xΠ||yΠ)modq,其中ID_LEN是ID的长度,xG,yG等表示对应G点等的x轴,y轴值;
D.计算签名值第二部分S=(k-R*ms)modq,对应Q的计算过程为:Q=Π-[R]H;
E.生成标识私钥T=(∏,S)。
S13.解密端使用∏作为公钥生成因子X公开,使用S作为解密私钥Y。
S14.加密端获取公钥生成因子X后,使用SM2算法作为MB对消息M进行加密的步骤如下:
A.计算Z=SM3(ID_LEN||ID||a||b||xG||yG||xQ||yQ),R=SM3(Z,x∏||y∏)modq
B.计算Q=X-[R]H;
C.随机生成整数z满足0<z<q;
D.计算C1=[z]G;
E.计算U=[z]Q;
F.计算t=KDF(xU||yU),KDF为SM2的标准密钥派生方法;
G.计算C2=M⊕t;
H.计算C3=SM3(xU||M||yU);
I.生成密文<C1,C2,C3>;
S15.解密端使用私钥Y和SM2方法对<C1,C2,C3>解密的步骤如下:
A.计算U=[Y]C1;
B.计算t=KDF(xU||yU);
C.计算M=C2⊕t;
D.计算C3'=SM3(xU||M||yU);
E.比较C3是否与C3'相等,相等则输出消息M,否则解密失败。
在另一具体实施例中,提供一种非对称加密、解密的过程,如下:
S21.密钥生成中心选择EC-Schnorr签名算法作为签名方法MA。选择SM2标准规定的椭圆曲线E:Y^2=X^3+a*X+b,其上阶为q的点群作为循环群,随机选择生成元G,随机生成整数ms满足0<ms<q,计算H=[ms]G,设置系统参数P=<G,H=[ms]G>,ms作为主密钥。
S22.解密端和密钥生成中心生成对应ID的私钥的步骤如下:
A.解密端随机生成整数n满足0<n<q;
B.解密端计算解密端部分公钥O=[n]G后提供给密钥生成中心;
C.密钥生成中心采用如下机制生成对应ID的标识密钥;
C1.随机生成整数k满足0<k<q;
C2.计算预签名∏=[k]G;
C3.计算公钥生成因子X=∏+[n]G;
C4.计算Z=SM3(ID_LEN||ID||a||b||xG||yG||xQ||yQ),计算签名第一部分值R=SM3(Z,xX||yX)modq,其中ID_LEN是ID的长度,xG,yG等表示对应G点等的x轴,y轴值;
C5.计算签名值第二部分S=(k-R*ms)modq,对应Q的计算过程为:Q=X-[R]H;
C6.生成标识私钥T=(X,S)。
S23.解密端使用X作为公钥生成因子公开,使用(S+n)modq作为解密私钥Y。
S24.加密端获取公钥生成因子X后,使用SM2算法作为MB对消息M进行加密的步骤如下:
A.计算Z=SM3(ID_LEN||ID||a||b||xG||yG||xQ||yQ),R=SM3(Z,xX||yX)modq
B.计算Q=X-[R]H;
C.随机生成整数z满足0<z<q;
D.计算C1=[z]G;
E.计算U=[z]Q;
F.计算t=KDF(xU||yU);
G.计算C2=M⊕t;
H.计算C3=SM3(xU||M||yU);
I.生成密文<C1,C2,C3>;
S25.解密端使用私钥Y和SM2方法对<C1,C2,C3>解密的步骤如下:
A.计算U=[Y]C1;
B.计算t=KDF(xU||yU);
C.计算M=C2⊕t;
D.计算C3'=SM3(xU||M||yU);
E.比较C3是否与C3'相等,相等则输出消息M,否则解密失败。
本发明的非对称加解密方法,拥有标识ID的解密端向密钥生成中心申请标识私钥,密钥生成中心采用满足一定条件的基于离散对数问题的数字签名方法生成对标识ID的签名,并将预签名∏和签名结果的第二部分S作为标识私钥,解密端使用S作为解密私钥,并将∏作为部分其公钥的生成因子进行公开;加密端获取Π通过公式计算出S对应的公钥,采用基于离散对数问题构造的加密方法加密消息,解密端使用S进行解密;如果有必要,解密端可以对R进行变换加入其选择的随机数,并对Π作相应变换后再公开;本申请提供的方法和装置无需交换证书,用户只需公开公钥生成因子即可,加密方法简单、安全。
参照图3,本发明还提供一种非对称加解密装置,包括:
获取单元10,用于获取密钥生成中心生成对应所述解密端的标识ID的标识私钥T;其中,所述密钥生成中心执行预设的数字签名方法MA,随机生成签名公私密钥对作为标识密码系统参数P和主密钥ms,所述密钥生成中心执行所述数字签名方法MA的签名过程对所述标识ID进行数字签名,产生预签名Π以及包含两部分的签名值(R,S),将所述预签名Π及第二部分签名值S作为标识私钥T=(П,S);
解密单元20,用于使用预签名П作为其公钥的生成因子X公开,在获得加密端的密文C后,使用S作为解密私钥Y按照预设的非对称加密方法MB的解密过程对密文C解密,其中,所述密文C由加密端根据系统参数P、标识ID、公开的公钥生成因子X,计算S对应的公钥Q后使用所述非对称加密方法MB的加密过程加密消息M后生成。
上述获取单元10是解密端的装置,解密端是一种智能设备,如手机、电脑、PDA等。上述密钥生成中心即为密钥管理中心,是公钥基础设施中的一个重要组成部分,提供密钥的生成、保存、备份、更新、恢复、查询等密钥服务,可以解决分布式企业应用环境中大规模密码技术应用所带来的密钥管理问题。上述数字签名方法MA是基于离散对数问题的,密钥生成中心必须满足的条件包括:1)基于离散对数问题构造,即假定给定循环群的生成元G和群中一个随机元素[k]G,计算k是困难的,其中[k]G表示k个G按照循环群的运算规则进行k次乘法运算;2)根据公开的信息,包括但不限于系统参数P、签名标识ID、公钥生成因子X,可以计算出Y作为私钥对应的公钥[Y]G。
上述解密单元20,同样是解密端的装置,其利用解密端使用预签名П作为其公钥的生成因子X公开,对加密端的密文C进行解密,在解密过程中,无需交换证书,解密端式简单、安全。上述非对称加密方法MB的执行过程包括:加密端根据解密端的标识ID、公钥生成因子X和系统参数P计算公钥Q后按照非对称加密方法MB如ECIES、PSEC、ACE、SM2的加密过程加密消息M生成密文C。解密端使用S作为解密私钥按照MB方法中的解密过程解密密文C。上述加密过程中,无需交换证书,加密方式简单、安全。
本实施例中,上述数字签名方法MA是基于离散对数问题的签名方法,所述密钥生成中心基于离散对数问题构造,其给定循环群的生成元G和群中一个随机元素[k]G,其中[k]G表示k个G按照循环群的运算规则进行k次乘法运算;根据公开的系统参数P、标识ID、公钥生成因子X,能够计算出Y作为私钥对应的公钥[Y]G。
参照图4,本实施例中,上述密获取单元10,包括:
执行模块101,通过密钥生成中心选择阶为q的循环群的生成元G,随机生成整数ms满足0<ms<q,计算H=[ms]G,设置系统参数P=<G,H=[ms]G>,ms作为主密钥。
本实施例中,上述获取单元,包括:
第一生成模块102,用于通过密钥生成中心随机生成整数k满足0<k<q;
第一计算模块103,用于通过密钥生成中心计算预签名П=[k]G;
第二计算模块104,用于通过密钥生成中心计算签名第一部分R=HASH(F(ID,其他信息Α),П)modq,其中Α包括循环群的生成信息、G,[k]G,其中F操作为哈希运算或者字符串拼接;
第三计算模块105,用于通过密钥生成中心计算签名值第二部分S=W(k,R,ms),其中,W运算要求当X=Π,Y=S时,根据P=<G,H=[ms]G>,X能够计算Q=[Y]G,如:S=(k-R*ms)modq,S=(k+R*ms)modq,S=(ms-k*R)modq等,对应Q的计算过程为:Q=X-[HASH(F(ID,其他信息Α),X)modq]H,Q=X+[HASH(F(ID,其他信息Α),X)modq]H,Q=H-[HASH(F(ID,其他信息Α),X)modq]X;
第二生成模块106,用于通过密钥生成中心生成标识私钥T=(П,S)。
本实施例中,上述密钥生成中心执行数字签名方法MA使用私钥ms对ID和标识私钥索引INDEX进行数字签名生成标识私钥T。INDEX可以为自增长的计数器,每次生成ID对应的标识私钥,INDEX计数增长;INDEX也可以为当前系统时间和解密私钥的有效时间。T的计算过程如上述所述,但其他信息A包括INDEX。
参照图5,在另一实施例中,上述获取单元10,包括:
第三生成模块111,用于随机生成成整数n满足0<n<q;
第四计算模块112,用于计算解密端部分公钥[n]G后提供给所述密钥生成中心;
第五计算模块113,用于通过所述密钥生成中心随机生成整数k满足0<k<q;
第六计算模块114,用于通过密钥生成中心计算预签名Π=[k]G;
第七计算模块115,用于通过密钥生成中心计算公钥生成因子X=Π±[n]G,其中,即X可以等于Π+[n]G,也可以等于Π-[n]G,所述+、-为G群上的操作,加、减法同一类操作,对应的Y=(S±n)modq;
第八计算模块116,用于通过密钥生成中心计算签名第一部分R=HASH(F(ID,其他信息Α),X);
第九计算模块117,用于通过密钥生成中心计算签名值第二部分S=W(k,R,ms),其中,W运算要求当X=Π±[n]G,Y=(S±n)modq时,根据P=<G,H=[ms]G>,X能够计算Q=[Y]G,如:S=(k-R*ms)modq,S=(k+R*ms)modq,S=(ms-k*R)modq等,对应Q的计算过程为:Q=X-[HASH(F(ID,其他信息Α),X)modq]H,Q=X+[HASH(F(ID,其他信息Α),X)modq]H,Q=H-[HASH(F(ID,其他信息Α),X)modq]X;
第四生成模块118,用于通过密钥生成中心生成标识私钥T=(П,S),或者,T=(X,S)其中,当T=(П,S)时,解密端需要计算出X;
第十计算模块119,用于计算解密私钥Y=(S±n)modq,设置公钥生成因子X=Π±[n]G。
参照图6,在又一实施例中,上述获取单元10,包括:
第一模块121,用于通过密钥生成中心计算k=HASH(F(ID,其他信息Α),ms)modq;
第二模块122,用于通过密钥生成中心计算预签名Π=[k]G;
第三模块123,用于通过密钥生成中心计算签名第一部分R=HASH(F(ID,其他信息Α),Π);
第四模块124,用于通过密钥生成中心计算签名值第二部分S=W(k,R,ms),其中,W运算要求根据P=<G,Q=[ms]G>,Π=[k]G能够计算Q=[S]G,如:S=(k-R*ms)modq,S=(k+R*ms)modq,S=(ms-k*R)modq等;对应Q的计算过程为:Q=Π-[HASH(F(ID,其他信息Α),Π)modq]H,Q=Π+[HASH(F(ID,其他信息Α),Π)modq]H,Q=H-[HASH(F(ID,其他信息Α),Π)modq]Π;
第五模块125,用于通过密钥生成中心生成标识私钥T=(Π,S)。
参照图7,在又一实施例中,上述获取单元10,包括:
第六模块131,用于解密端随机生成成整数n满足0<n<q;
第七模块132,用于计算解密端部分公钥[n]G后提供给所述密钥生成中心;
第八模块133,用于通过密钥生成中心计算k=HASH(F(ID,[n]G,其他信息Α),ms)modq;
第九模块134,用于通过密钥生成中心计算预签名Π=[k]G;
第十模块135,用于通过密钥生成中心计算公钥生成因子X=Π±[n]G;
第十一模块136,用于通过密钥生成中心计算计算签名第一部分R=HASH(F(ID,其他信息Α),X);
第十二模块137,用于通过密钥生成中心计算签名值第二部分S=W(k,R,ms),其中,W运算要求当X=Π±[n]G,Y=(S±n)modq时,根据P=<G,H=[ms]G>,X能够计算Q=[Y]G,如:S=(k-R*ms)modq,S=(k+R*ms)modq,S=(ms-k*R)modq等;对应Q的计算过程为:Q=Π-[HASH(F(ID,其他信息Α),Π)modq]H,Q=Π+[HASH(F(ID,其他信息Α),Π)modq]H,Q=H-[HASH(F(ID,其他信息Α),Π)modq]Π;
第十三模块138,用于通过密钥生成中心生成标识私钥T=(Π,S),或者T=(X,S),其中,当T=(Π,S)时,解密端需要计算出X;
第十四模块139,用于解密端计算解密私钥Y=(S±n)modq,设置公钥生成因子X=Π±[n]G。
在一具体实施例中,提供一种非对称加密、解密的过程,如下:
S11.密钥生成中心选择EC-Schnorr签名算法作为签名方法MA。选择SM2标准规定的椭圆曲线E:Y^2=X^3+a*X+b,其上阶为q的点群作为循环群,随机选择生成元G,随机生成整数ms满足0<ms<q,计算H=[ms]G,设置系统参数P=<G,H=[ms]G>,ms作为主密钥。
S12.密钥生成中心生成对应ID的标识私钥T的步骤如下:
A.随机生成整数k满足0<k<q;
B.计算预签名Π=[k]G;
C.计算Z=SM3(ID_LEN||ID||a||b||xG||yG||xQ||yQ),计算签名第一部分值R=SM3(Z,xΠ||yΠ)modq,其中ID_LEN是ID的长度,xG,yG等表示对应G点等的x轴,y轴值;
D.计算签名值第二部分S=(k-R*ms)modq,对应Q的计算过程为:Q=Π-[R]H;
E.生成标识私钥T=(Π,S)。
S13.解密端使用Π作为公钥生成因子X公开,使用S作为解密私钥Y。
S14.加密端获取公钥生成因子X后,使用SM2算法作为MB对消息M进行加密的步骤如下:
A.计算Z=SM3(ID_LEN||ID||a||b||xG||yG||xQ||yQ),R=SM3(Z,xΠ||yΠ)modq
B.计算Q=X-[R]H;
C.随机生成整数z满足0<z<q;
D.计算C1=[z]G;
E.计算U=[z]Q;
F.计算t=KDF(xU||yU),,KDF为SM2的标准密钥派生方法;
G.计算C2=M⊕t;
H.计算C3=SM3(xU||M||yU);
I.生成密文<C1,C2,C3>;
S15.解密端使用私钥Y和SM2方法对<C1,C2,C3>解密的步骤如下:
A.计算U=[Y]C1;
B.计算t=KDF(xU||yU);
C.计算M=C2⊕t;
D.计算C3'=SM3(xU||M||yU);
E.比较C3是否与C3'相等,相等则输出消息M,否则解密失败。
在另一具体实施例中,提供一种非对称加密、解密的过程,如下:
S21.密钥生成中心选择EC-Schnorr签名算法作为签名方法MA。选择SM2标准规定的椭圆曲线E:Y^2=X^3+a*X+b,其上阶为q的点群作为循环群,随机选择生成元G,随机生成整数ms满足0<ms<q,计算H=[ms]G,设置系统参数P=<G,H=[ms]G>,ms作为主密钥。
S22.解密端和密钥生成中心生成对应ID的私钥的步骤如下:
A.解密端随机生成整数n满足0<n<q;
B.解密端计算解密端部分公钥O=[n]G后提供给密钥生成中心;
C.密钥生成中心采用如下机制生成对应ID的标识密钥;
C1.随机生成整数k满足0<k<q;
C2.计算预签名Π=[k]G;
C3.计算公钥生成因子X=Π+[n]G;
C4.计算Z=SM3(ID_LEN||ID||a||b||xG||yG||xQ||yQ),计算签名第一部分值R=SM3(Z,xX||yX)modq,其中ID_LEN是ID的长度,xG,yG等表示对应G点等的x轴,y轴值;
C5.计算签名值第二部分S=(k-R*ms)modq,对应Q的计算过程为:Q=X-[R]H;
C6.生成标识私钥T=(X,S)。
S23.解密端使用Π作为公钥生成因子X公开,使用(S+n)modq作为解密私钥Y。
S24.加密端获取公钥生成因子X后,使用SM2算法作为MB对消息M进行加密的步骤如下:
A.计算Z=SM3(ID_LEN||ID||a||b||xG||yG||xQ||yQ),R=SM3(Z,xX||yX)modq
B.计算Q=X-[R]H;
C.随机生成整数z满足0<z<q;
D.计算C1=[z]G;
E.计算U=[z]Q;
F.计算t=KDF(xU||yU);
G.计算C2=M⊕t;
H.计算C3=SM3(xU||M||yU);
I.生成密文<C1,C2,C3>;
S25.解密端使用私钥Y和SM2方法对<C1,C2,C3>解密的步骤如下:
A.计算U=[Y]C1;
B.计算t=KDF(xU||yU);
C.计算M=C2⊕t;
D.计算C3'=SM3(xU||M||yU);
E.比较C3是否与C3'相等,相等则输出消息M,否则解密失败。
本发明的非对称加解密装置,拥有标识ID的解密端通过获取单元10向密钥生成中心申请标识私钥,密钥生成中心采用满足一定条件的基于离散对数问题的数字签名方法生成对标识ID的签名,并将预签名Π和签名结果的第二部分S作为标识私钥,解密端使用S作为解密私钥,并将Π作为部分其公钥的生成因子进行公开;加密端获取Π通过公式计算出S对应的公钥,采用基于离散对数问题构造的加密方法加密消息,解密端使用S进行解密;如果有必要,解密端可以对S进行变换加入其选择的随机数,并对Π作相应变换后再公开;本申请提供的方法和装置无需交换证书,用户只需公开公钥生成因子即可,加密方法简单、安全。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (14)

1.一种非对称加解密方法,其特征在于,包括:
解密端获取密钥生成中心生成对应所述解密端的标识ID的标识私钥T;其中,所述密钥生成中心执行预设的数字签名方法MA,随机生成签名公私密钥对作为标识密码系统参数P和主密钥ms,所述密钥生成中心执行所述数字签名方法MA的签名过程对所述标识ID进行数字签名,产生预签名П以及包含两部分的签名值(R,S),将所述预签名П及第二部分签名值S作为标识私钥T=(П,S);
解密端使用预签名П作为其公钥的生成因子X公开,在获得加密端的密文C后,使用S作为解密私钥Y按照预设的非对称加密方法MB的解密过程对密文C解密,其中,所述密文C由加密端根据系统参数P、标识ID、公开的公钥生成因子X,计算S对应的公钥Q后使用所述非对称加密方法MB的加密过程加密消息M后生成。
2.根据权利要求1所述的非对称加解密方法,其特征在于,所述数字签名方法MA是基于离散对数问题的签名方法,所述密钥生成中心基于离散对数问题构造,其给定循环群的生成元G和群中一个随机元素[k]G,其中[k]G表示k个G按照循环群的运算规则进行k次乘法运算;根据公开的系统参数P、标识ID、公钥生成因子X,能够计算出Y作为私钥对应的公钥[Y]G。
3.根据权利要求2所述的非对称加解密方法,其特征在于,通过所述密钥生成中心执行预设的数字签名方法MA的过程,包括:
选择阶为q的循环群的生成元G,随机生成整数ms满足0<ms<q,计算H=[ms]G,设置系统参数P=<G,H=[ms]G>,ms作为主密钥。
4.根据权利要求3所述的非对称加解密方法,其特征在于,所述数字签名方法MA生成所述标识私钥T的过程,包括:
通过密钥生成中心随机生成整数k满足0<k<q;
通过密钥生成中心计算预签名П=[k]G;
通过密钥生成中心计算签名第一部分R=HASH(F(ID,其他信息Α),Π)modq,其中Α包括循环群的生成信息、G,[k]G,其中F操作为哈希运算或者字符串拼接;
通过密钥生成中心计算签名值第二部分S=W(k,R,ms),其中,W运算要求当X=Π,Y=S时,根据P=<G,H=[ms]G>,X能够计算Q=[Y]G;
通过密钥生成中心生成标识私钥T=(Π,S)。
5.根据权利要求3所述的非对称加解密方法,其特征在于,所述标识私钥T和公钥生成因子X的生成方法,包括:
解密端随机生成成整数n满足0<n<q;
计算解密端部分公钥[n]G后提供给所述密钥生成中心;
通过所述密钥生成中心随机生成整数k满足0<k<q;
通过密钥生成中心计算预签名Π=[k]G;
通过密钥生成中心计算公钥生成因子X=Π±[n]G;
通过密钥生成中心计算签名第一部分R=HASH(F(ID,其他信息Α),X),
通过密钥生成中心计算签名值第二部分S=W(k,R,ms),其中,W运算要求当X=П+[n]G,Y=(S±n)modq时,根据P=<G,H=[ms]G>,X能够计算Q=[Y]G;
通过密钥生成中心生成标识私钥T=(П,S),或者T=(X,S);
解密端计算解密私钥Y=(S±n)modq,设置公钥生成因子X=П±[n]G。
6.根据权利要求3所述的非对称加解密方法,其特征在于,所述数字签名方法MA生成所述标识私钥T的过程,包括:
通过密钥生成中心计算k=HASH(F(ID,其他信息Α),ms)modq;
通过密钥生成中心计算预签名Π=[k]G;
通过密钥生成中心计算签名第一部分R=HASH(F(ID,其他信息Α),П);
通过密钥生成中心计算签名值第二部分S=W(k,R,ms),其中,W运算要求根据P=<G,Q=[ms]G>,П=[k]G能够计算Q=[S]G;
通过密钥生成中心生成标识私钥T=(П,S)。
7.根据权利要求3所述的非对称加解密方法,其特征在于,所述标识私钥T和公钥生成因子X的生成方法,包括:
解密端随机生成成整数n满足0<n<q;
计算解密端部分公钥[n]G后提供给所述密钥生成中心;
通过密钥生成中心计算k=HASH(F(ID,[n]G,其他信息Α),ms)modq;
通过密钥生成中心计算预签名П=[k]G;
通过密钥生成中心计算公钥生成因子X=П±[n]G;
通过密钥生成中心计算计算签名第一部分R=HASH(F(ID,其他信息Α),X);
通过密钥生成中心计算签名值第二部分S=W(k,R,ms),其中,W运算要求当X=П+[n]G,Y=(S±n)modq时,根据P=<G,H=[ms]G>,X能够计算Q=[Y]G;
通过密钥生成中心生成标识私钥T=(П,S),或者T=(X,S);
解密端计算解密私钥Y=(S±n)modq,设置公钥生成因子X=П±[n]G。
8.一种非对称加解密装置,其特征在于,包括:
获取单元,用于获取密钥生成中心生成对应所述解密端的标识ID的标识私钥T;其中,所述密钥生成中心执行预设的数字签名方法MA,随机生成签名公私密钥对作为标识密码系统参数P和主密钥ms,所述密钥生成中心执行所述数字签名方法MA的签名过程对所述标识ID进行数字签名,产生预签名П以及包含两部分的签名值(R,S),将所述预签名П及第二部分签名值S作为标识私钥T=(П,S);
解密单元,用于使用预签名Π作为其公钥的生成因子X公开,在获得加密端的密文C后,使用S作为解密私钥Y按照预设的非对称加密方法MB的解密过程对密文C解密,其中,所述密文C由加密端根据系统参数P、标识ID、公开的公钥生成因子X,计算S对应的公钥Q后使用所述非对称加密方法MB的加密过程加密消息M后生成。
9.根据权利要求8所述的非对称加解密装置,其特征在于,所述数字签名方法MA是基于离散对数问题的签名方法,所述密钥生成中心基于离散对数问题构造,其给定循环群的生成元G和群中一个随机元素[k]G,其中[k]G表示k个G按照循环群的运算规则进行k次乘法运算;根据公开的系统参数P、标识ID、公钥生成因子X,能够计算出Y作为私钥对应的公钥[Y]G。
10.根据权利要求9所述的非对称加解密装置,其特征在于,所述获取单元,包括:
执行模块,通过密钥生成中心选择阶为q的循环群的生成元G,随机生成整数ms满足0<ms<q,计算H=[ms]G,设置系统参数P=<G,H=[ms]G>,ms作为主密钥。
11.根据权利要求10所述的非对称加解密装置,其特征在于,所述获取单元,包括:
第一生成模块,用于通过密钥生成中心随机生成整数k满足0<k<q;
第一计算模块,用于通过密钥生成中心计算预签名П=[k]G;
第二计算模块,用于通过密钥生成中心计算签名第一部分R=HASH(F(ID,其他信息Α),Π)modq,其中Α包括循环群的生成信息、G,[k]G,其中F操作为哈希运算或者字符串拼接;
第三计算模块,用于通过密钥生成中心计算签名值第二部分S=W(k,R,ms),其中,W运算要求当X=Π,Y=S时,根据P=<G,H=[ms]G>,X能够计算Q=[Y]G;
第二生成模块,用于通过密钥生成中心生成标识私钥T=(Π,S)。
12.根据权利要求10所述的非对称加解密装置,其特征在于,所述获取单元,包括:
第三生成模块,用于随机生成成整数n满足0<n<q;
第四计算模块,用于计算解密端部分公钥[n]G后提供给所述密钥生成中心;
第五计算模块,用于通过所述密钥生成中心随机生成整数k满足0<k<q;
第六计算模块,用于通过密钥生成中心计算预签名Π=[k]G;
第七计算模块,用于通过密钥生成中心计算公钥生成因子X=Π±[n]G;
第八计算模块,用于通过密钥生成中心计算签名第一部分R=HASH(F(ID,其他信息Α),X);
第九计算模块,用于通过密钥生成中心计算签名值第二部分S=W(k,R,ms),其中,W运算要求当X=Π±[n]G,Y=(S±n)modq时,根据P=<G,H=[ms]G>,X能够计算Q=[Y]G;
第四生成模块,用于通过密钥生成中心生成标识私钥T=(Π,S),或者,T=(X,S);
第十计算模块,用于计算解密私钥Y=(S±n)modq,设置公钥生成因子X=Π±[n]G。
13.根据权利要求10所述的非对称加解密方法,其特征在于,所述获取单元,包括:
第一模块,用于通过密钥生成中心计算k=HASH(F(ID,其他信息Α),ms)modq;
第二模块,用于通过密钥生成中心计算预签名Π=[k]G;
第三模块,用于通过密钥生成中心计算签名第一部分R=HASH(F(ID,其他信息Α),Π);
第四模块,用于通过密钥生成中心计算签名值第二部分S=W(k,R,ms),其中,W运算要求根据P=<G,Q=[ms]G>,Π=[k]G能够计算Q=[S]G;
第五模块,用于通过密钥生成中心生成标识私钥T=(Π,S)。
14.根据权利要求10所述的非对称加解密装置,其特征在于,所述获取单元,包括:
第六模块,用于解密端随机生成成整数n满足0<n<q;
第七模块,用于计算解密端部分公钥[n]G后提供给所述密钥生成中心;
第八模块,用于通过密钥生成中心计算k=HASH(F(ID,[n]G,其他信息Α),ms)modq;
第九模块,用于通过密钥生成中心计算预签名Π=[k]G;
第十模块,用于通过密钥生成中心计算公钥生成因子X=Π±[n]G;
第十一模块,用于通过密钥生成中心计算计算签名第一部分R=HASH(F(ID,其他信息Α),X);
第十二模块,用于通过密钥生成中心计算签名值第二部分S=W(k,R,ms),其中,W运算要求当X=Π±[n]G,Y=(S±n)modq时,根据P=<G,H=[ms]G>,X能够计算Q=[Y]G;
第十三模块,用于通过密钥生成中心生成标识私钥T=(Π,S),或者T=(X,S);
第十四模块,用于解密端计算解密私钥Y=(S±n)modq,设置公钥生成因子X=Π±[n]G。
CN201710869940.8A 2017-09-23 2017-09-23 非对称加解密方法和装置 Active CN107508684B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710869940.8A CN107508684B (zh) 2017-09-23 2017-09-23 非对称加解密方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710869940.8A CN107508684B (zh) 2017-09-23 2017-09-23 非对称加解密方法和装置

Publications (2)

Publication Number Publication Date
CN107508684A true CN107508684A (zh) 2017-12-22
CN107508684B CN107508684B (zh) 2021-01-05

Family

ID=60698564

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710869940.8A Active CN107508684B (zh) 2017-09-23 2017-09-23 非对称加解密方法和装置

Country Status (1)

Country Link
CN (1) CN107508684B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108200108A (zh) * 2018-04-11 2018-06-22 吕航宇 一种非对称加密算法及其应用
CN109873918A (zh) * 2019-01-31 2019-06-11 四川大学 一种基于频谱融合的非对称双图像加解密方法
CN111431710A (zh) * 2020-03-24 2020-07-17 数据通信科学技术研究所 加密方法和装置、查阅方法和装置、监管方法和装置
CN111740828A (zh) * 2020-07-29 2020-10-02 北京信安世纪科技股份有限公司 一种密钥生成方法以及装置、设备、加密方法
CN113127912A (zh) * 2021-05-07 2021-07-16 杭州天谷信息科技有限公司 一种数据保密以及公布的方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103023648A (zh) * 2012-11-27 2013-04-03 中国科学技术大学苏州研究院 基于椭圆曲线离散对数问题的无证书签名方法
CN103905189A (zh) * 2012-12-24 2014-07-02 航天信息股份有限公司 无证书且无配对的基于身份的代理签密方法和系统
US20170093830A1 (en) * 2015-09-28 2017-03-30 Bank Of America Corporation Network authorization system
CN107104788A (zh) * 2017-04-18 2017-08-29 深圳奥联信息安全技术有限公司 终端及其不可抵赖的加密签名方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103023648A (zh) * 2012-11-27 2013-04-03 中国科学技术大学苏州研究院 基于椭圆曲线离散对数问题的无证书签名方法
CN103905189A (zh) * 2012-12-24 2014-07-02 航天信息股份有限公司 无证书且无配对的基于身份的代理签密方法和系统
US20170093830A1 (en) * 2015-09-28 2017-03-30 Bank Of America Corporation Network authorization system
CN107104788A (zh) * 2017-04-18 2017-08-29 深圳奥联信息安全技术有限公司 终端及其不可抵赖的加密签名方法和装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108200108A (zh) * 2018-04-11 2018-06-22 吕航宇 一种非对称加密算法及其应用
CN108200108B (zh) * 2018-04-11 2021-02-05 吕航宇 一种非对称加密算法及其应用
CN109873918A (zh) * 2019-01-31 2019-06-11 四川大学 一种基于频谱融合的非对称双图像加解密方法
CN109873918B (zh) * 2019-01-31 2019-09-10 四川大学 一种基于频谱融合的非对称双图像加解密方法
CN111431710A (zh) * 2020-03-24 2020-07-17 数据通信科学技术研究所 加密方法和装置、查阅方法和装置、监管方法和装置
CN111740828A (zh) * 2020-07-29 2020-10-02 北京信安世纪科技股份有限公司 一种密钥生成方法以及装置、设备、加密方法
CN111740828B (zh) * 2020-07-29 2021-02-12 北京信安世纪科技股份有限公司 一种密钥生成方法以及装置、设备、加解密方法
CN113127912A (zh) * 2021-05-07 2021-07-16 杭州天谷信息科技有限公司 一种数据保密以及公布的方法和系统

Also Published As

Publication number Publication date
CN107508684B (zh) 2021-01-05

Similar Documents

Publication Publication Date Title
CN109525386B (zh) 一种基于Paillier同态加密私有交集和的方法
US7814320B2 (en) Cryptographic authentication, and/or establishment of shared cryptographic keys, using a signing key encrypted with a non-one-time-pad encryption, including (but not limited to) techniques with improved security against malleability attacks
CN107508684A (zh) 非对称加解密方法和装置
Gayoso Martínez et al. A survey of the elliptic curve integrated encryption scheme
CN107135080B (zh) Sm9解密方法和装置
US11223486B2 (en) Digital signature method, device, and system
CN107809311B (zh) 一种基于标识的非对称密钥签发的方法及系统
CN110022320B (zh) 一种通信配对方法及通信装置
US9130744B1 (en) Sending an encrypted key pair and a secret shared by two devices to a trusted intermediary
Ho A versatile suite of strong authenticated key agreement protocols for body area networks
KR100989185B1 (ko) Rsa기반 패스워드 인증을 통한 세션키 분배방법
CN110784314A (zh) 无证书的加密信息处理方法
CN111079178B (zh) 一种可信电子病历脱敏和回溯方法
CN112699394A (zh) 一种基于sm9算法的密钥应用方法
CN106941406B (zh) 基于标识的加密签名方法、解密验签方法及其装置
CN114285580B (zh) 一种从无证书到公钥基础设施的在线离线签密方法
CN113162765B (zh) 基于非交互式密钥协商的可托管公钥加密系统及方法
KR101793528B1 (ko) 무인증서 공개키 암호 시스템
CN114844630A (zh) 一种基于随机加密的物联网终端认证方法及系统
JP4796602B2 (ja) Rtcを利用した暗号システム間の保安通信方法及び装置
CN108429736A (zh) 一种数据解密方法
CN110572788B (zh) 基于非对称密钥池和隐式证书的无线传感器通信方法和系统
CN110321722B (zh) Dna序列相似率安全计算方法及系统
CN110365482B (zh) 一种数据通信方法和装置
CN113014376A (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