CN106941406A - 基于标识的加密签名方法、解密验签方法及其装置 - Google Patents

基于标识的加密签名方法、解密验签方法及其装置 Download PDF

Info

Publication number
CN106941406A
CN106941406A CN201710302080.XA CN201710302080A CN106941406A CN 106941406 A CN106941406 A CN 106941406A CN 201710302080 A CN201710302080 A CN 201710302080A CN 106941406 A CN106941406 A CN 106941406A
Authority
CN
China
Prior art keywords
bit string
key
message
signature
mark
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
CN201710302080.XA
Other languages
English (en)
Other versions
CN106941406B (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 CN201710302080.XA priority Critical patent/CN106941406B/zh
Publication of CN106941406A publication Critical patent/CN106941406A/zh
Application granted granted Critical
Publication of CN106941406B publication Critical patent/CN106941406B/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提出一种加密签名方法、解密验签方法及其装置,使用用户标识作为用户的公钥,私钥由受信任的第三方使用标识私钥生成方法计算生成,用户不需要申请和交换证书,从而很大地简化了密码系统管理的复杂性,同时又保证数据的私密性和真实性,并具备密文短的优点。

Description

基于标识的加密签名方法、解密验签方法及其装置
技术领域
本发明涉及到数据加密领域,特别是涉及到一种基于标识的加密签名方法、解密验签方法及其装置。
背景技术
数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。
在一些安全应用中需要对数据进行加密保护同时要保证数据发送方身份的真实性。一般的方法是对数据签名后,再对数据加密,或者,先加密后进行签名。但是这种分别执行完整的加密方法和签名方法的保护方法会导致输出结果为加密方法输出和签名方法输出的总长度。
发明内容
本发明的主要目的为提供一种基于标识的加密签名方法、解密验签方法及其装置,提供一种新的加密签名方法,保证数据的安全性和真实性的同时,简化了密码系统管理的复杂性,且产出的密文结果短于通常的加密再签名或签名再加密的方法。
本发明提出了一种基于标识的加密签名方法,包括:
获取加密签名参数组和对应标识ID_A的标识签名私钥S_A,所述加密签名参数组包括若干双线性对参数以及函数参数,所述函数参数包括消息映射函数H、密钥派生函数KDF;
根据接收人ID_B、所述加密签名参数组和标识签名私钥S_A对消息M进行加密签名,加密签名过程包括:
利用所述接收人ID_B、双线性对参数、消息映射函数H生成消息M的加密密钥U及加密密钥传递因子C1
利用所述加密密钥U和密钥派生函数KDF对消息M进行加密,生成消息M的加密密文C2
利用所述加密密钥U、消息映射函数H及标识签名私钥S_A对消息M生成签名C3
优选地,所述加密签名参数组包括<E,e,P1,P2,[s]P1,[s]P2,g=e(P1,[s]P2),H,KDF>,其中,
E为椭圆曲线,
e代表二元映射e:G1·G2→Gt
G1和G2为椭圆曲线E上的两个点群,
G1是一个阶为q的循环群,
G2是一个幂为q的群,
q为素数,
P1∈G1,P2∈G2,e(P1,[s]P2)=e(P1,P2)s
s为主密钥,
[s]P1表示s个P2相加,[s]P2表示s个P2相加,
H为消息映射函数,用于将比特串映射到[1,q-1]上;
KDF是标准的密钥派生函数。
优选地,所述标识签名私钥S_A通过以下公式计算获得:
S_A=[s/(H(1||ID_A)+s)]P1
优选地,所述利用所述接收人ID_B、双线性对参数、消息映射函数H生成消息M的加密密钥U及加密密钥传递因子C1,包括:
C1:计算整数h1=H(1||ID_B);
C2:计算Q_B=[h1]P1+[s]P1
C3:产生随机数r∈[1,q-1];
C4:计算X=[r]Q_B,将X数据类型转换为比特串C1
C5:计算w=gr,将w的数据类型转换为比特串U;
所述利用所述加密密钥U和密钥派生函数KDF对消息M进行加密,生成消息M的加密密文C2,包括:
C6:计算和M一样长度的K=KDF(XI),所述XI为密钥派生比特串,其包括C1和U的比特串;
C7:计算
所述利用所述加密密钥U、消息映射函数H及标识签名私钥S_A对消息M生成签名C3,包括:
C8:计算整数h=H(HI),所述HI为哈希输入比特串,其包括哈希操作索引、M和U的比特串;
C9:计算整数l=(r-h)mod q,若l=0则返回C3;
C10:计算S=[l]S_A,将S数据类型转换为比特串C3
所述利用所述消息映射函数H及标识签名私钥S_A对消息M生成签名C3之后,还包括:
C11:输出加密签名密文R,R为<C1,C2,C3>。
优选地,步骤C6中,XI=C1||U||ID_B;
步骤C8中,HI=2||M||U||C1||ID_A||ID_B。
本发明还提出了一种基于标识的解密验签方法,包括:
获取解密验签参数组和对应标识ID_B的标识解密私钥D_B,所述解密验签参数组包括若干双线性对参数以及函数参数,所述函数参数包括消息映射函数H、密钥派生函数KDF;
根据所述解密验签参数组和标识解密私钥D_B对发送方ID_A发送的加密签名密文R进行解密并验证,R为<C1,C2,C3>,解密并验证过程包括:
利用所述双线性对参数检校C1和C3的数据类型;
利用所述加密密钥传递因子C1、标识解密私钥D_B恢复加密密钥U;
利用所述恢复的加密密钥U、密钥派生函数KDF解密C2,计算消息M;
利用所述发送方ID_A、恢复的加密密钥U、消息映射函数H、双线性对参数验证所述加密签名密文R的正确性。
优选地,所述解密验签参数组包括<E,e,P1,P2,[s]P1,[s]P2,g=e(P1,[s]P2),H,KDF>,其中,
E为椭圆曲线,
e代表二元映射e:G1·G2→Gt
G1和G2为椭圆曲线E上的两个点群,
G1是一个阶为q的循环群,
G2是一个幂为q的群,
q为素数,
P1∈G1,P2∈G2,e(P1,[s]P2)=e(P1,P2)s
s为主密钥,
[s]P1表示s个P2相加,[s]P2表示s个P2相加,
H为消息映射函数,用于将比特串映射到[1,q-1]上;
KDF是标准的密钥派生函数。
优选地,所述标识解密私钥D_B通过以下公式计算获得:
D_B=[s/(H(1||ID_B)+s)]P2
优选地,所述利用所述双线性对参数检校C1和C3的数据类型,包括:
D1:将C1的数据类型转换为椭圆曲线上的点X,检验X∈G1是否成立,若不成立则验证不通过,输出空值;
D2:将C3的数据类型转换为椭圆曲线上的点S,检验S∈G1是否成立,若不成立则验证不通过,输出空值;
所述利用所述加密密钥传递因子C1、标识解密私钥D_B恢复加密密钥U,包括:D3:计算w=e(X,D_B);将w的数据类型转换为比特串U;
所述利用所述恢复的加密密钥U、密钥派生函数KDF和标识解密私钥D_B,解密C2,计算消息M,包括:
D4:计算和C2一样长度的K=KDF(XI),所述XI为密钥派生比特串,其包括C1和U的比特串;
D5:计算
所述利用所述发送方ID_A、恢复的加密密钥U、消息映射函数H、双线性对参数验证所述加密签名密文R的正确性,包括:
D6:计算整数h1=H(1||ID_A);
D7:计算Q_A=[h1]P2+[s]P2
D8:计算整数h=H(HI),所述HI为哈希输入比特串,其包括哈希操作索引、M和U的比特串;
D9:计算群u=e(S,Q_A);
D10:计算群t=gh
D11:计算群w'=u·t,
D12:检验w=w'是否成立,若成立则验证通过,输出M;否则验证不通过,输出空值。
优选地,步骤D4中,XI=C1||U||ID_B;
步骤D8中,HI=2||M||U||C1||ID_A||ID_B。
本发明还提出了一种基于标识的加密签名装置,包括:
获取加密签名参数模块,用于获取加密签名参数组和对应标识ID_A的标识签名私钥S_A,所述加密签名参数组包括若干双线性对参数以及函数参数,所述函数参数包括消息映射函数H、密钥派生函数KDF;
加密模块,用于根据接收人ID_B、所述加密签名参数组和标识签名私钥S_A对消息M进行加密签名,所述加密模块包括:
加密密钥单元,用于利用所述接收人ID_B、双线性对参数、消息映射函数H生成消息M的加密密钥U及加密密钥传递因子C1
加密密文单元,用于利用所述加密密钥U和密钥派生函数KDF对消息M进行加密,生成消息M的加密密文C2
加密签名单元,用于利用所述加密密钥U、消息映射函数H及标识签名私钥S_A对消息M生成签名C3
优选地,所述加密签名参数组包括<E,e,P1,P2,[s]P1,[s]P2,g=e(P1,[s]P2),H,KDF>,其中,
E为椭圆曲线,
e代表二元映射e:G1·G2→Gt
G1和G2为椭圆曲线E上的两个点群,
G1是一个阶为q的循环群,
G2是一个幂为q的群,
q为素数,
P1∈G1,P2∈G2,e(P1,[s]P2)=e(P1,P2)s
s为主密钥,
[s]P1表示s个P2相加,[s]P2表示s个P2相加,
H为消息映射函数,用于将比特串映射到[1,q-1]上;
KDF是标准的密钥派生函数。
优选地,所述标识签名私钥S_A通过以下公式计算获得:
S_A=[s/(H(1||ID_A)+s)]P1
优选地,所述加密密钥单元,包括:
C1计算子单元,用于计算整数h1=H(1||ID_B);
C2计算子单元,用于计算Q_B=[h1]P1+[s]P1
C3计算子单元,用于产生随机数r∈[1,q-1];
C4计算子单元,用于计算X=[r]Q_B,将X数据类型转换为比特串C1
C5计算子单元,用于计算w=gr,将w的数据类型转换为比特串U;
所述加密密文单元,包括:
C6计算子单元,用于计算和M一样长度的K=KDF(XI),所述XI为密钥派生比特串,其包括C1和U的比特串;
C7计算子单元,用于计算
所述加密签名单元,包括:
C8计算子单元,用于计算整数h=H(HI),所述HI为哈希输入比特串,其包括哈希操作索引、M和U的比特串;
C9计算子单元,用于计算整数l=(r-h)mod q,若l=0则返回C3;
C10计算子单元,用于计算S=[l]S_A,将S数据类型转换为比特串C3
还包括密文输出单元,所述密文输出单元包括:
C11计算子单元,用于输出加密签名密文R,R为<C1,C2,C3>。
优选地,C6计算子单元中,XI=C1||U||ID_B;
C8计算子单元中,HI=2||M||U||C1||ID_A||ID_B。
本发明还提出了一种基于标识的解密验签装置,包括:
获取解密验签参数模块,用于获取解密验签参数组和对应标识ID_B的标识解密私钥D_B,所述解密验签参数组包括若干双线性对参数以及函数参数,所述函数参数包括消息映射函数H、密钥派生函数KDF;
解密模块,用于根据所述解密验签参数组和标识解密私钥D_B对发送方ID_A发送的加密签名密文R进行解密并验证,R为<C1,C2,C3>,所述解密模块包括:
检校单元,用于利用所述双线性对参数检校C1和C3的数据类型;
解密单元,用于利用所述C1、标识解密私钥D_B恢复加密密钥U,并利用密钥派生函数KDF解密C2,计算消息M;
验证单元,用于利用所述发送方标识ID_A、恢复的加密密钥U、消息映射函数H、双线性对参数验证所述加密签名密文R的正确性。
优选地,所述加密签名参数组包括<E,e,P1,P2,[s]P1,[s]P2,g=e(P1,[s]P2),H,KDF>,其中,
E为椭圆曲线,
e代表二元映射e:G1·G2→Gt
G1和G2为椭圆曲线E上的两个点群,
G1是一个阶为q的循环群,
G2是一个幂为q的群,
q为素数,
P1∈G1,P2∈G2,e(P1,[s]P2)=e(P1,P2)s
s为主密钥,
[s]P1表示s个P2相加,[s]P2表示s个P2相加,
H为消息映射函数,用于将比特串映射到[1,q-1]上;
KDF是标准的密钥派生函数。
优选地,所述标识解密私钥D_B通过以下公式计算获得:
D_B=[s/(H(1||ID_B)+s)]P2
优选地,所述检校单元,包括:
D1计算子单元,用于将C1的数据类型转换为椭圆曲线上的点X,检验X∈G1是否成立,若不成立则验证不通过,输出空值;
D2计算子单元,用于将C3的数据类型转换为椭圆曲线上的点S,检验S∈G1是否成立,若不成立则验证不通过,输出空值;
所述解密单元,包括:
D3计算子单元,用于计算w=e(X,D_B);将w的数据类型转换为比特串U;
D4计算子单元,用于计算和C2一样长度的K=KDF(XI),所述XI为密钥派生比特串,其包括C1和U的比特串;
D5计算子单元,用于计算
所述验证单元,包括:
D6计算子单元,用于计算整数h1=H(1||ID_A);
D7计算子单元,用于计算Q_A=[h1]P2+[s]P2
D8计算子单元,用于计算整数h=H(HI),所述HI为哈希输入比特串,其包括哈希操作索引、M和U的比特串;
D9计算子单元,用于计算群u=e(S,Q_A);
D10计算子单元,用于计算群t=gh
D11计算子单元,用于计算群w'=u·t,
D12计算子单元,用于检验w=w'是否成立,若成立则验证通过,输出M;否则验证不通过,输出空值。
优选地,D4计算子单元中,XI=C1||U||ID_B;
D8计算子单元中,HI=2||M||U||C1||ID_A||ID_B。
本发明提出一种基于标识的加密签名方法、解密验签方法及其装置,使用用户标识作为用户的公钥,私钥由受信任的第三方使用标识私钥生成方法计算生成,用户不需要申请和交换证书,从而很大地简化了密码系统管理的复杂性,同时又保证数据的私密性和真实性,且产出的密文结果短于通常的加密再签名或签名再加密的方法生成的密文。
附图说明
图1为本发明基于标识的加密签名方法一实施例的流程示意图;
图2为本发明基于标识的解密验签方法一实施例的流程示意图;
图3为本发明基于标识的加密签名装置一实施例的结构示意图;
图4为本发明基于标识的解密验签装置一实施例的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图作进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组建,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组建和/或它们的组。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
参照图1,本发明提出了一种基于标识的加密签名方法,包括:
S10、获取加密签名参数组和对应标识ID_A的标识签名私钥S_A,所述加密签名参数组包括若干双线性对参数以及函数参数,所述函数参数包括消息映射函数H、密钥派生函数KDF;
S20、根据接收人ID_B、所述加密签名参数组和标识签名私钥S_A对消息M进行加密签名。
加密签名过程包括:
利用所述接收人ID_B、所述双线性对参数、消息映射函数H生成消息M的加密密钥U及加密密钥传递因子C1
利用所述加密密钥U和密钥派生函数KDF对消息M进行加密,生成消息M的加密密文C2
利用所述加密密钥U、消息映射函数H及标识签名私钥S_A对消息M生成签名C3
本发明实施例设计了一种基于标识的加密签名方法,方案中涉及双线性对这一数学操作。
双线性对是指一种二元映射e:G1xG2→Gt,具有以下三个特性:
1.二元线性:e([s]P,[t]Q)=e(P,Q)st,s,t∈Z/Zq,P∈G1,Q∈G2,G1是一个阶为q的循环群,G2是一个幂为q群,其子群阶为q。[s]P表示s个P相加。
2.非退化性:存在非0元P和Q,e(P,Q)≠1。
3.可计算性:有多项式时间方法计算e(P,Q)。
双线性对有椭圆曲线上的Weil、Tate、Ate、R-ate、优化Ate对等。
密钥生成中心生成参数组<E,e,P1,P2,[s]P1,[s]P2,g=e(P1,[s]P2),H,KDF>。密钥生成中心选择一条椭圆曲线E,椭圆曲线E上具有可高效计算的双线性对e。确定曲线E上的两个阶为素数q的点群G1和G2。分别选择G1和G2中的两个点P1和P2。选择随机数s作为主密钥,0<s<q,计算[s]P1、[s]P2以及g=e(P1,[s]P2)。其中,[s]P1表示标准的s个P2相加,[s]P2表示标准的s个P2相加。H为消息映射函数,用于将比特串映射到[1,q-1]上。KDF是标准的密钥派生函数。
首先,密钥生成中心获取加密签名终端的标识ID_A,生成标识ID_A对应的标识签名私钥S_A,标识签名私钥S_A可由下式求出:
S_A=[s/(H(1||ID_A)+s)]P1
步骤S10中,加密签名终端从密钥生成中心获取上述标识签名私钥S_A及参数组<E,e,P1,P2,[s]P1,[s]P2,g=e(P1,[s]P2),H,KDF>。同时获取接收人的标识ID_B。
步骤S20中,签名人在加密签名终端上选择签名对象ID_B,对消息M进行签名。对消息M的加密签名过程如下:
C1:计算整数h1=H(1||ID_B);
C2:计算Q_B=[h1]P1+[s]P1
C3:产生随机数r∈[1,q-1];
C4:计算X=[r]Q_B,将X数据类型转换为比特串C1
C5:计算w=gr,将w的数据类型转换为比特串U;
C6:计算和M一样长度的K=KDF(XI),所述XI为密钥派生比特串,其包括C1和U的比特串;
C7:计算
C8:计算整数h=H(HI),所述HI为哈希输入比特串,其包括哈希操作索引、M和U的比特串;
C9:计算整数l=(r-h)mod q,若L=0则返回C3;
C10:计算S=[l]S_A,将S数据类型转换为比特串C3
C11:输出加密签名密文R,R为<C1,C2,C3>。
加密签名终端生成加密签名密文R,将该密文发送至签名对象ID_B的解密验签终端。
在上述计算中,符号“||”表示字符串的拼接。XI为密钥派生比特串,至少包括C1和U的比特串,但C1和U的顺序可任意置换。XI可以是C1||U,可以U||C1,可以是C1||U||ID_B,也可以是C1||ID_B||U。可根据设置需要,对XI进行设定,因此XI有无限多的可选组合方式。其中,在本实施例的优选方式为XI=C1||U||ID_B。
同样的,步骤C8中,HI为哈希输入比特串,至少包括哈希操作索引、M和U的比特串,其中,在本实施例的优选方式为HI=2||M||U||C1||ID_A||ID_B。
本发明提出的基于标识的加密签名方法,加密签名操作去除普通加密算法中防止密文被修改的机制,改由签名机制保证密文的一致性;签名计算重复使用加密计算过程中产生的随机运算中间结果从而降低签名操作复杂性。
参照图2,本发明还提出了一种基于标识的解密验签方法,包括:
S01、获取、解密验签参数组和对应标识ID_B的标识解密私钥D_B,所述解密验签参数组包括若干双线性对参数以及函数参数,所述函数参数包括消息映射函数H、密钥派生函数KDF;
S02、根据所述解密验签参数组和标识解密私钥D_B对发送方ID_A发送的加密签名密文R进行解密并验证,R为<C1,C2,C3>。
步骤S02包括:
利用所述双线性对参数检校C1和C3的数据类型;
利用所述加密密钥传递因子C1、标识解密私钥D_B恢复加密密钥U;
利用所述恢复的加密密钥U、密钥派生函数KDF解密C2,计算消息M;
利用所述发送方ID_A、恢复的加密密钥U、消息映射函数H、双线性对参数验证所述加密签名密文R的正确性。
本发明实施例设计了一种基于标识的解密验签方法,此方法为上述基于标识的加密签名方法对应的解密验签方法。方案中涉及双线性对这一数学操作。
双线性对是指一种二元映射e:G1xG2→Gt,具有以下三个特性:
1.二元线性:e([s]P,[t]Q)=e(P,Q)st,s,t∈Z/Zq,P∈G1,Q∈G2,G1是一个阶为q的循环群,G2是一个幂为q群,其子群阶为q。[s]P表示s个P相加。
2.非退化性:存在非0元P和Q,e(P,Q)≠1。
3.可计算性:有多项式时间方法计算e(P,Q)。
双线性对有椭圆曲线上的Weil、Tate、Ate、R-ate、优化Ate对等。
密钥生成中心生成参数组<E,e,P1,P2,[s]P1,[s]P2,g=e(P1,[s]P2),H,KDF>。密钥生成中心选择一条椭圆曲线E,椭圆曲线E上具有可高效计算的双线性对e。确定曲线E上的两个阶为素数q的点群G1和G2。分别选择G1和G2中的两个点P1和P2。选择随机数s作为主密钥,0<s<q,计算[s]P1、[s]P2以及g=e(P1,[s]P2)。其中,[s]P1表示标准的s个P2相加,[s]P2表示标准的s个P2相加。H为消息映射函数,用于将比特串映射到[1,q-1]上。KDF是标准的密钥派生函数。
密钥生成中心获取解密验签终端的标识ID_B,根据所述主密钥、参数组及标识ID_B生成标识解密私钥D_B。所述标识解密私钥D_B通过以下公式计算获得:
D_B=[s/(H(1||ID_B)+s)]P2
解密验签过程如下:
D1:将C1的数据类型转换为椭圆曲线上的点X,检验X∈G1是否成立,若不成立则验证不通过,输出空值;
D2:将C3的数据类型转换为椭圆曲线上的点S,检验S∈G1是否成立,若不成立则验证不通过,输出空值;
利用所述加密密钥传递因子C1、标识解密私钥D_B恢复加密密钥U;
D3:计算w=e(X,D_B);将w的数据类型转换为比特串U;
所述利用所述恢复的加密密钥U、密钥派生函数KDF和标识解密私钥D_B,解密C2,计算消息M,包括:
D4:计算和C2一样长度的K=KDF(XI),所述XI为密钥派生比特串,其包括C1和U的比特串;
D5:计算
所述利用所述发送方ID_A、恢复的加密密钥U、消息映射函数H、双线性对参数验证所述加密签名密文R的正确性,包括:
D6:计算整数h1=H(1||ID_A);
D7:计算Q_A=[h1]P2+[s]P2
D8:计算整数h=H(HI),所述HI为哈希输入比特串,其包括哈希操作索引、M和U的比特串;
D9:计算群u=e(S,Q_A);
D10:计算群t=gh
D11:计算群w'=u·t,
D12:检验w=w'是否成立,若成立则验证通过,输出M;否则验证不通过,输出空值。
在上述计算中,符号“||”表示字符串的拼接。XI为密钥派生比特串,至少包括C1和U的比特串,但C1和U的顺序可任意置换。XI可以是C1||U,可以U||C1,可以是C1||U||ID_B,也可以是C1||ID_B||U。可根据设置需要,对XI进行设定,因此XI有无限多的可选组合方式。其中,在本实施例的优选方式为XI=C1||U||ID_B。
同样的,步骤D8中,HI为哈希输入比特串,至少包括哈希操作索引、M和U的比特串,其中,在本实施例的优选方式为HI=2||M||U||C1||ID_A||ID_B。
由于本方法是与基于标识的加密签名方法对应的解密验签方法。所以在本方法中的XI和HI的值与解密验签方法中的值是相等。
参照图3,本发明还提出了一种基于标识的加密签名装置,包括:
获取加密签名参数模块10,用于获取加密签名参数组和对应标识ID_A的标识签名私钥S_A,所述加密签名参数组包括若干双线性对参数以及函数参数,所述函数参数包括消息映射函数H、密钥派生函数KDF;
加密模块20,用于根据接收人ID_B、所述加密签名参数组和标识签名私钥S_A对消息M进行加密签名。
本发明实施例设计了一种基于标识的加密签名装置,装置中涉及双线性对这一数学操作。
双线性对是指一种二元映射e:G1xG2→Gt,具有以下三个特性:
1.二元线性:e([s]P,[t]Q)=e(P,Q)st,s,t∈Z/Zq,P∈G1,Q∈G2,G1是一个阶为q的循环群,G2是一个幂为q群,其子群阶为q。[s]P表示s个P相加。
2.非退化性:存在非0元P和Q,e(P,Q)≠1。
3.可计算性:有多项式时间方法计算e(P,Q)。
双线性对有椭圆曲线上的Weil、Tate、Ate、R-ate、优化Ate对等。
密钥生成中心生成参数组<E,e,P1,P2,[s]P1,[s]P2,g=e(P1,[s]P2),H,KDF>。密钥生成中心选择一条椭圆曲线E,椭圆曲线E上具有可高效计算的双线性对e。确定曲线E上的两个阶为素数q的点群G1和G2。分别选择G1和G2中的两个点P1和P2。选择随机数s作为主密钥,0<s<q,计算[s]P1、[s]P2以及g=e(P1,[s]P2)。其中,[s]P1表示标准的s个P2相加,[s]P2表示标准的s个P2相加。H为消息映射函数,用于将比特串映射到[1,q-1]上。KDF是标准的密钥派生函数。
首先,密钥生成中心获取加密签名终端的标识ID_A,生成标识ID_A对应的标识签名私钥S_A,标识签名私钥S_A可由下式求出:
S_A=[s/(H(1||ID_A)+s)]P1
获取加密签名参数模块10中,加密签名终端从密钥生成中心获取上述标识签名私钥S_A及参数组<E,e,P1,P2,[s]P1,[s]P2,g=e(P1,[s]P2),H,KDF>。
加密模块20,签名人在加密签名终端上选择签名对象ID_B,对消息M进行签名。加密模块20包括:
加密密钥单元,用于利用接收人ID_B、所述双线性对参数、消息映射函数H生成消息M的加密密钥U及加密密钥传递因子C1
加密密文单元,用于利用所述加密密钥U和密钥派生函数KDF对消息M进行加密,生成消息M的加密密文C2
加密签名单元,用于利用所述加密密钥U、消息映射函数H及标识签名私钥S_A对消息M生成签名C3
其中,加密密钥单元,包括:
C1计算子单元,用于计算整数h1=H(1||ID_B);
C2计算子单元,用于计算Q_B=[h1]P1+[s]P1
C3计算子单元,用于产生随机数r∈[1,q-1];
C4计算子单元,用于计算X=[r]Q_B,将X数据类型转换为比特串C1
C5计算子单元,用于计算w=gr,将w的数据类型转换为比特串U。
加密密文单元,包括:
C6计算子单元,用于计算和M一样长度的K=KDF(XI),所述XI为密钥派生比特串,其包括C1和U的比特串;
C7计算子单元,用于计算
所述加密签名单元,包括:
C8计算子单元,用于计算整数h=H(HI),所述HI为哈希输入比特串,其包括哈希操作索引、M和U的比特串;
C9计算子单元,用于计算整数l=(r-h)mod q,若l=0则返回C3;
C10计算子单元,用于计算S=[l]S_A,将S数据类型转换为比特串C3
还包括密文输出单元,所述密文输出单元包括:
C11计算子单元,用于输出加密签名密文R,R为<C1,C2,C3>。
加密签名终端生成加密签名密文R,将该密文发送至签名对象ID_B的解密验签终端。
在上述计算单元中,符号“||”表示字符串的拼接。XI为密钥派生比特串,至少包括C1和U的比特串,但C1和U的顺序可任意置换。XI可以是C1||U,可以U||C1,可以是C1||U||ID_B,也可以是C1||ID_B||U。可根据设置需要,对XI进行设定,因此XI有无限多的可选组合方式。其中,在本实施例的优选方式为XI=C1||U||ID_B。
同样的,C8计算子单元中,HI为哈希输入比特串,至少包括哈希操作索引、M和U的比特串,其中,在本实施例的优选方式为HI=2||M||U||C1||ID_A||ID_B。
本发明提出的基于标识的加密签名装置,加密签名操作去除普通加密算法中防止密文被修改的机制,改由签名机制保证密文的一致性;签名计算重复使用加密计算过程中产生的随机运算中间结果从而降低签名操作复杂性。
参照图4,本发明还提出了一种基于标识的解密验签装置,包括:
获取解密验签参数模块01,用于获取解密验签参数组和对应标识ID_B的标识解密私钥D_B,所述解密验签参数组包括若干双线性对参数以及函数参数,所述函数参数包括消息映射函数H、密钥派生函数KDF;
解密模块02,用于根据所述解密验签参数组和标识解密私钥D_B对发送方ID_A发送的加密签名密文R进行解密并验证,R为<C1,C2,C3>。
本发明实施例设计了一种基于标识的解密验签装置,此装置为上述基于标识的加密签名装置对应的解密验签装置。方案中涉及双线性对这一数学操作。
双线性对是指一种二元映射e:G1xG2→Gt,具有以下三个特性:
1、二元线性:e([s]P,[t]Q)=e(P,Q)st,s,t∈Z/Zq,P∈G1,Q∈G2,G1是一个阶为q的循环群,G2是一个幂为q群,其子群阶为q。[s]P表示s个P相加。
2、非退化性:存在非0元P和Q,e(P,Q)≠1。
3、可计算性:有多项式时间方法计算e(P,Q)。
双线性对有椭圆曲线上的Weil、Tate、Ate、R-ate、优化Ate对等。
密钥生成中心生成参数组<E,e,P1,P2,[s]P1,[s]P2,g=e(P1,[s]P2),H,KDF>。密钥生成中心选择一条椭圆曲线E,椭圆曲线E上具有可高效计算的双线性对e。确定曲线E上的两个阶为素数q的点群G1和G2。分别选择G1和G2中的两个点P1和P2。选择随机数s作为主密钥,0<s<q,计算[s]P1、[s]P2以及g=e(P1,[s]P2)。其中,[s]P1表示标准的s个P2相加,[s]P2表示标准的s个P2相加。H为消息映射函数,用于将比特串映射到[1,q-1]上。KDF是标准的密钥派生函数。
密钥生成中心获取解密验签终端的标识ID_B,根据所述主密钥、参数组及标识ID_B生成标识解密私钥D_B。所述标识解密私钥D_B通过以下公式计算获得:
D_B=[s/(H(1||ID_B)+s)]P2
解密模块02包括:
检校单元,用于利用所述双线性对参数检校C1和C3的数据类型;
解密单元,用于利用所述C1、标识解密私钥D_B恢复加密密钥U,并利用密钥派生函数KDF解密C2,计算消息M;
验证单元,用于利用所述发送方标识ID_A、恢复的加密密钥U、消息映射函数H、双线性对参数验证所述加密签名密文R的正确性。
检校单元,包括:
D1计算子单元,用于将C1的数据类型转换为椭圆曲线上的点X,检验X∈G1是否成立,若不成立则验证不通过,输出空值;
D2计算子单元,用于将C3的数据类型转换为椭圆曲线上的点S,检验S∈G1是否成立,若不成立则验证不通过,输出空值。
解密单元,包括:
D3计算子单元,用于计算w=e(X,D_B);将w的数据类型转换为比特串U;
D4计算子单元,用于计算和C2一样长度的K=KDF(XI),所述XI为密钥派生比特串,其包括C1和U的比特串;
D5计算子单元,用于计算
验证单元,包括:
D6计算子单元,用于计算整数h1=H(1||ID_A);
D7计算子单元,用于计算Q_A=[h1]P2+[s]P2
D8计算子单元,用于计算整数h=H(HI),所述HI为哈希输入比特串,其包括哈希操作索引、M和U的比特串;
D9计算子单元,用于计算群u=e(S,Q_A);
D10计算子单元,用于计算群t=gh
D11计算子单元,用于计算群w'=u·t,
D12计算子单元,用于检验w=w'是否成立,若成立则验证通过,输出M;否则验证不通过,输出空值。
在上述计算单元中,符号“||”表示字符串的拼接。XI为密钥派生比特串,至少包括C1和U的比特串,但C1和U的顺序可任意置换。XI可以是C1||U,可以U||C1,可以是C1||U||ID_B,也可以是C1||ID_B||U。可根据设置需要,对XI进行设定,因此XI有无限多的可选组合方式。其中,在本实施例的优选方式为XI=C1||U||ID_B。
同样的,D8计算子单元中,HI为哈希输入比特串,至少包括哈希操作索引、M和U的比特串,其中,在本实施例的优选方式为HI=2||M||U||C1||ID_A||ID_B。
由于本装置是与基于标识的加密签名装置对应的解密验签装置。所以在本装置中的XI和HI的值与解密验签装置中的值是相等。
本发明提出一种基于标识的加密签名方法、解密验签方法及其装置,使用用户标识作为用户的公钥,私钥由受信任的第三方使用标识私钥生成方法计算生成,用户不需要申请和交换证书,从而很大地简化了密码系统管理的复杂性,同时又保证数据的私密性和真实性,且产出的密文结果短于通常的加密再签名或签名再加密的方法生成的密文。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (20)

1.一种基于标识的加密签名方法,其特征在于,包括:
获取加密签名参数组和对应标识ID_A的标识签名私钥S_A,所述加密签名参数组包括若干双线性对参数以及函数参数,所述函数参数包括消息映射函数H、密钥派生函数KDF;
根据接收人ID_B、所述加密签名参数组和标识签名私钥S_A对消息M进行加密签名,加密签名过程包括:
利用所述接收人ID_B、双线性对参数、消息映射函数H生成消息M的加密密钥U及加密密钥传递因子C1
利用所述加密密钥U和密钥派生函数KDF对消息M进行加密,生成消息M的加密密文C2
利用所述加密密钥U、消息映射函数H及标识签名私钥S_A对消息M生成签名C3
2.根据权利要求1所述的基于标识的加密签名方法,其特征在于,所述加密签名参数组包括<E,e,P1,P2,[s]P1,[s]P2,g=e(P1,[s]P2),H,KDF>,其中,
E为椭圆曲线,
e代表二元映射e:G1·G2→Gt
G1和G2为椭圆曲线E上的两个点群,
G1是一个阶为q的循环群,
G2是一个幂为q的群,
q为素数,
P1∈G1,P2∈G2,e(P1,[s]P2)=e(P1,P2)s
s为主密钥,
[s]P1表示s个P2相加,[s]P2表示s个P2相加,
H为消息映射函数,用于将比特串映射到[1,q-1]上;
KDF是标准的密钥派生函数。
3.根据权利要求2所述的基于标识的加密签名方法,其特征在于,所述标识签名私钥S_A通过以下公式计算获得:
S_A=[s/(H(1||ID_A)+s)]P1
4.根据权利要求2所述的基于标识的加密签名方法,其特征在于,所述利用所述接收人ID_B、双线性对参数、消息映射函数H生成消息M的加密密钥U及加密密钥传递因子C1,包括:
C1:计算整数h1=H(1||ID_B);
C2:计算Q_B=[h1]P1+[s]P1
C3:产生随机数r∈[1,q-1];
C4:计算X=[r]Q_B,将X数据类型转换为比特串C1
C5:计算w=gr,将w的数据类型转换为比特串U;
所述利用所述加密密钥U和密钥派生函数KDF对消息M进行加密,生成消息M的加密密文C2,包括:
C6:计算和M一样长度的K=KDF(XI),所述XI为密钥派生比特串,其包括C1和U的比特串;
C7:计算C2=M⊕K;
所述利用所述加密密钥U、消息映射函数H及标识签名私钥S_A对消息M生成签名C3,包括:
C8:计算整数h=H(HI),所述HI为哈希输入比特串,其包括哈希操作索引、M和U的比特串;
C9:计算整数l=(r-h)mod q,若l=0则返回C3;
C10:计算S=[l]S_A,将S数据类型转换为比特串C3
所述利用所述消息映射函数H及标识签名私钥S_A对消息M生成签名C3之后,还包括:
C11:输出加密签名密文R,R为<C1,C2,C3>。
5.根据权利要求4所述的基于标识的加密签名方法,其特征在于,步骤C6中,XI=C1||U||ID_B;
步骤C8中,HI=2||M||U||C1||ID_A||ID_B。
6.一种基于标识的解密验签方法,其特征在于,包括:
获取解密验签参数组和对应标识ID_B的标识解密私钥D_B,所述解密验签参数组包括若干双线性对参数以及函数参数,所述函数参数包括消息映射函数H、密钥派生函数KDF;
根据所述解密验签参数组和标识解密私钥D_B对发送方ID_A发送的加密签名密文R进行解密并验证,R为<C1,C2,C3>,解密并验证过程包括:
利用所述双线性对参数检校C1和C3的数据类型;
利用所述加密密钥传递因子C1、标识解密私钥D_B恢复加密密钥U;
利用所述恢复的加密密钥U、密钥派生函数KDF解密C2,计算消息M;
利用所述发送方ID_A、恢复的加密密钥U、消息映射函数H、双线性对参数验证所述加密签名密文R的正确性。
7.根据权利要求6所述的基于标识的解密验签方法,其特征在于,所述解密验签参数组包括<E,e,P1,P2,[s]P1,[s]P2,g=e(P1,[s]P2),H,KDF>,其中,
E为椭圆曲线,
e代表二元映射e:G1·G2→Gt
G1和G2为椭圆曲线E上的两个点群,
G1是一个阶为q的循环群,
G2是一个幂为q的群,
q为素数,
P1∈G1,P2∈G2,e(P1,[s]P2)=e(P1,P2)s
s为主密钥,
[s]P1表示s个P2相加,[s]P2表示s个P2相加,
H为消息映射函数,用于将比特串映射到[1,q-1]上;
KDF是标准的密钥派生函数。
8.根据权利要求7所述的基于标识的解密验签方法,其特征在于,所述标识解密私钥D_B通过以下公式计算获得:
D_B=[s/(H(1||ID_B)+s)]P2
9.根据权利要求7所述的基于标识的解密验签方法,其特征在于,所述利用所述双线性对参数检校C1和C3的数据类型,包括:
D1:将C1的数据类型转换为椭圆曲线上的点X,检验X∈G1是否成立,若不成立则验证不通过,输出空值;
D2:将C3的数据类型转换为椭圆曲线上的点S,检验S∈G1是否成立,若不成立则验证不通过,输出空值;
所述利用所述加密密钥传递因子C1、标识解密私钥D_B恢复加密密钥U,包括:
D3:计算w=e(X,D_B);将w的数据类型转换为比特串U;
所述利用所述恢复的加密密钥U、密钥派生函数KDF和标识解密私钥D_B,解密C2,计算消息M,包括:
D4:计算和C2一样长度的K=KDF(XI),所述XI为密钥派生比特串,其包括C1和U的比特串;
D5:计算M=C2⊕K;
所述利用所述发送方ID_A、恢复的加密密钥U、消息映射函数H、双线性对参数验证所述加密签名密文R的正确性,包括:
D6:计算整数h1=H(1||ID_A);
D7:计算Q_A=[h1]P2+[s]P2
D8:计算整数h=H(HI),所述HI为哈希输入比特串,其包括哈希操作索引、M和U的比特串;
D9:计算群u=e(S,Q_A);
D10:计算群t=gh
D11:计算群w'=u·t,
D12:检验w=w'是否成立,若成立则验证通过,输出M;否则验证不通过,输出空值。
10.根据权利要求9所述的基于标识的解密验签方法,其特征在于,步骤D4中,XI=C1||U||ID_B;
步骤D8中,HI=2||M||U||C1||ID_A||ID_B。
11.一种基于标识的加密签名装置,其特征在于,包括:
获取加密签名参数模块,用于获取加密签名参数组和对应标识ID_A的标识签名私钥S_A,所述加密签名参数组包括若干双线性对参数以及函数参数,所述函数参数包括消息映射函数H、密钥派生函数KDF;
加密模块,用于根据接收人ID_B、所述加密签名参数组和标识签名私钥S_A对消息M进行加密签名,所述加密模块包括:
加密密钥单元,用于利用所述接收人ID_B、双线性对参数、消息映射函数H生成消息M的加密密钥U及加密密钥传递因子C1
加密密文单元,用于利用所述加密密钥U和密钥派生函数KDF对消息M进行加密,生成消息M的加密密文C2
加密签名单元,用于利用所述加密密钥U、消息映射函数H及标识签名私钥S_A对消息M生成签名C3
12.根据权利要求11所述的基于标识的加密签名装置,其特征在于,所述加密签名参数组包括<E,e,P1,P2,[s]P1,[s]P2,g=e(P1,[s]P2),H,KDF>,其中,
E为椭圆曲线,
e代表二元映射e:G1·G2→Gt
G1和G2为椭圆曲线E上的两个点群,
G1是一个阶为q的循环群,
G2是一个幂为q的群,
q为素数,
P1∈G1,P2∈G2,e(P1,[s]P2)=e(P1,P2)s
s为主密钥,
[s]P1表示s个P2相加,[s]P2表示s个P2相加,
H为消息映射函数,用于将比特串映射到[1,q-1]上;
KDF是标准的密钥派生函数。
13.根据权利要求12所述的基于标识的加密签名装置,其特征在于,所述标识签名私钥S_A通过以下公式计算获得:
S_A=[s/(H(1||ID_A)+s)]P1
14.根据权利要求12所述的基于标识的加密签名装置,其特征在于,所述加密密钥单元,包括:
C1计算子单元,用于计算整数h1=H(1||ID_B);
C2计算子单元,用于计算Q_B=[h1]P1+[s]P1
C3计算子单元,用于产生随机数r∈[1,q-1];
C4计算子单元,用于计算X=[r]Q_B,将X数据类型转换为比特串C1
C5计算子单元,用于计算w=gr,将w的数据类型转换为比特串U;
所述加密密文单元,包括:
C6计算子单元,用于计算和M一样长度的K=KDF(XI),所述XI为密钥派生比特串,其包括C1和U的比特串;
C7计算子单元,用于计算C2=M⊕K;
所述加密签名单元,包括:
C8计算子单元,用于计算整数h=H(HI),所述HI为哈希输入比特串,其包括哈希操作索引、M和U的比特串;
C9计算子单元,用于计算整数l=(r-h)mod q,若l=0则返回C3;
C10计算子单元,用于计算S=[l]S_A,将S数据类型转换为比特串C3
还包括密文输出单元,所述密文输出单元包括:
C11计算子单元,用于输出加密签名密文R,R为<C1,C2,C3>。
15.根据权利要求14所述的基于标识的加密签名装置,其特征在于,C6计算子单元中,XI=C1||U||ID_B;
C8计算子单元中,HI=2||M||U||C1||ID_A||ID_B。
16.一种基于标识的解密验签装置,其特征在于,包括:
获取解密验签参数模块,用于获取解密验签参数组和对应标识ID_B的标识解密私钥D_B,所述解密验签参数组包括若干双线性对参数以及函数参数,所述函数参数包括消息映射函数H、密钥派生函数KDF;
解密模块用于根据所述解密验签参数组和标识解密私钥D_B对发送方ID_A发送的加密签名密文R进行解密并验证,R为<C1,C2,C3>,所述解密模块包括:
检校单元,用于利用所述双线性对参数检校C1和C3的数据类型;
解密单元,用于利用所述C1、标识解密私钥D_B恢复加密密钥U,并利用密钥派生函数KDF解密C2,计算消息M;
验证单元,用于利用所述发送方标识ID_A、恢复的加密密钥U、消息映射函数H、双线性对参数验证所述加密签名密文R的正确性。
17.根据权利要求16所述的基于标识的解密验签装置,其特征在于,所述解密验签参数组包括<E,e,P1,P2,[s]P1,[s]P2,g=e(P1,[s]P2),H,KDF>,其中,
E为椭圆曲线,
e代表二元映射e:G1·G2→Gt
G1和G2为椭圆曲线E上的两个点群,
G1是一个阶为q的循环群,
G2是一个幂为q的群,
q为素数,
P1∈G1,P2∈G2,e(P1,[s]P2)=e(P1,P2)s
s为主密钥,
[s]P1表示s个P2相加,[s]P2表示s个P2相加,
H为消息映射函数,用于将比特串映射到[1,q-1]上;
KDF是标准的密钥派生函数。
18.根据权利要求17所述的基于标识的解密验签装置,其特征在于,所述标识解密私钥D_B通过以下公式计算获得:
D_B=[s/(H(1||ID_B)+s)]P2
19.根据权利要求17所述的基于标识的解密验签装置,其特征在于,所述检校单元,包括:
D1计算子单元,用于将C1的数据类型转换为椭圆曲线上的点X,检验X∈G1是否成立,若不成立则验证不通过,输出空值;
D2计算子单元,用于将C3的数据类型转换为椭圆曲线上的点S,检验S∈G1是否成立,若不成立则验证不通过,输出空值;
所述解密单元,包括:
D3计算子单元,用于计算w=e(X,D_B);将w的数据类型转换为比特串U;
D4计算子单元,用于计算和C2一样长度的K=KDF(XI),所述XI为密钥派生比特串,其包括C1和U的比特串;
D5计算子单元,用于计算M=C2⊕K;
所述验证单元,包括:
D6计算子单元,用于计算整数h1=H(1||ID_A);
D7计算子单元,用于计算Q_A=[h1]P2+[s]P2
D8计算子单元,用于计算整数h=H(HI),所述HI为哈希输入比特串,其包括哈希操作索引、M和U的比特串;
D9计算子单元,用于计算群u=e(S,Q_A);
D10计算子单元,用于计算群t=gh
D11计算子单元,用于计算群w'=u·t,
D12计算子单元,用于检验w=w'是否成立,若成立则验证通过,输出M;否则验证不通过,输出空值。
20.根据权利要求19所述的基于标识的解密验签装置,其特征在于,D4计算子单元中,XI=C1||U||ID_B;
D8计算子单元中,HI=2||M||U||C1||ID_A||ID_B。
CN201710302080.XA 2017-05-02 2017-05-02 基于标识的加密签名方法、解密验签方法及其装置 Active CN106941406B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710302080.XA CN106941406B (zh) 2017-05-02 2017-05-02 基于标识的加密签名方法、解密验签方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710302080.XA CN106941406B (zh) 2017-05-02 2017-05-02 基于标识的加密签名方法、解密验签方法及其装置

Publications (2)

Publication Number Publication Date
CN106941406A true CN106941406A (zh) 2017-07-11
CN106941406B CN106941406B (zh) 2019-11-08

Family

ID=59464241

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710302080.XA Active CN106941406B (zh) 2017-05-02 2017-05-02 基于标识的加密签名方法、解密验签方法及其装置

Country Status (1)

Country Link
CN (1) CN106941406B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110351096A (zh) * 2019-07-24 2019-10-18 深圳壹账通智能科技有限公司 多重签名方法、签名中心、介质及电子设备
CN110401677A (zh) * 2019-08-23 2019-11-01 RealMe重庆移动通信有限公司 数字版权密钥的获取方法、装置、存储介质及电子设备
CN112287364A (zh) * 2020-10-22 2021-01-29 同盾控股有限公司 数据共享方法、装置、系统、介质及电子设备
CN113765669A (zh) * 2020-06-03 2021-12-07 成都天瑞芯安科技有限公司 Sm2密钥派生与使用方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104735064A (zh) * 2015-03-16 2015-06-24 深圳奥联信息安全技术有限公司 一种标识密码系统中标识安全撤销并更新的方法
CN104780047A (zh) * 2015-04-03 2015-07-15 南京邮电大学 前向安全的无证书可验证加密签名方法
CN104869000A (zh) * 2015-05-18 2015-08-26 深圳奥联信息安全技术有限公司 一种基于标识密码跨域安全通信方法及系统
CN105721158A (zh) * 2016-01-20 2016-06-29 青岛一帆风顺软件有限公司 云安全隐私性和完整性保护方法和系统
CN105743646A (zh) * 2016-02-03 2016-07-06 四川长虹电器股份有限公司 一种基于身份的加密方法及系统
CN105959269A (zh) * 2016-04-25 2016-09-21 北京理工大学 一种基于身份的可认证动态群组密钥协商方法
CN106549858A (zh) * 2016-12-08 2017-03-29 深圳奥联信息安全技术有限公司 一种基于标识密码的即时通信加密方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104735064A (zh) * 2015-03-16 2015-06-24 深圳奥联信息安全技术有限公司 一种标识密码系统中标识安全撤销并更新的方法
CN104780047A (zh) * 2015-04-03 2015-07-15 南京邮电大学 前向安全的无证书可验证加密签名方法
CN104869000A (zh) * 2015-05-18 2015-08-26 深圳奥联信息安全技术有限公司 一种基于标识密码跨域安全通信方法及系统
CN105721158A (zh) * 2016-01-20 2016-06-29 青岛一帆风顺软件有限公司 云安全隐私性和完整性保护方法和系统
CN105743646A (zh) * 2016-02-03 2016-07-06 四川长虹电器股份有限公司 一种基于身份的加密方法及系统
CN105959269A (zh) * 2016-04-25 2016-09-21 北京理工大学 一种基于身份的可认证动态群组密钥协商方法
CN106549858A (zh) * 2016-12-08 2017-03-29 深圳奥联信息安全技术有限公司 一种基于标识密码的即时通信加密方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
袁峰等: "SM9标识密码算法综述", 《信息安全研究(2016)》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110351096A (zh) * 2019-07-24 2019-10-18 深圳壹账通智能科技有限公司 多重签名方法、签名中心、介质及电子设备
CN110401677A (zh) * 2019-08-23 2019-11-01 RealMe重庆移动通信有限公司 数字版权密钥的获取方法、装置、存储介质及电子设备
CN110401677B (zh) * 2019-08-23 2022-05-17 RealMe重庆移动通信有限公司 数字版权密钥的获取方法、装置、存储介质及电子设备
CN113765669A (zh) * 2020-06-03 2021-12-07 成都天瑞芯安科技有限公司 Sm2密钥派生与使用方法
CN112287364A (zh) * 2020-10-22 2021-01-29 同盾控股有限公司 数据共享方法、装置、系统、介质及电子设备

Also Published As

Publication number Publication date
CN106941406B (zh) 2019-11-08

Similar Documents

Publication Publication Date Title
EP2533460B1 (en) Digital signatures with implicit certificate chains
CN101977112B (zh) 一种基于神经网络混沌吸引子的公钥密码加密和解密方法
CN104767612B (zh) 一种从无证书环境到公钥基础设施环境的签密方法
US9705683B2 (en) Verifiable implicit certificates
CN106941406B (zh) 基于标识的加密签名方法、解密验签方法及其装置
CN107438005A (zh) Sm9联合数字签名方法和装置
CN101262341A (zh) 一种会务系统中混合加密方法
CN107623570A (zh) 一种基于加法密钥分割的sm2签名方法
JP2013539295A (ja) メッセージ復元を伴うデジタル署名の認証された暗号化
Abusukhon et al. A novel network security algorithm based on private key encryption
CN107968710A (zh) Sm9数字签名分离交互生成方法及系统
CN107070662A (zh) 基于混淆技术的加密盲签名方法
CN107682151A (zh) 一种gost数字签名生成方法及系统
CN107425971A (zh) 终端及其无证书的数据加/解密方法和装置
CN107864037A (zh) Sm9联合数字签名方法和装置
KR20030062401A (ko) 겹선형쌍을 이용한 개인식별정보 기반의 은닉서명 장치 및방법
Abusukhon et al. Secure network communication based on text-to-image encryption
CN104753947A (zh) 一种固定密文长度的可验证外包解密的属性基系统及方法
CN108268779B (zh) 一种用于对发票进行短密文签名的处理方法及系统
CN112422288A (zh) 一种抗能量分析攻击的基于sm2算法的两方协同签名方法
CN113300856A (zh) 一种可证安全的异构混合签密方法
Ahmad et al. A secure network communication protocol based on text to barcode encryption algorithm
CN107104788B (zh) 终端及其不可抵赖的加密签名方法和装置
Blackburn et al. Cryptanalysis of two cryptosystems based on group actions
US20150006900A1 (en) Signature protocol

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