基于标识的加密签名方法、解密验签方法及其装置制造方法及图纸

技术编号:15799952 阅读:110 留言:0更新日期:2017-07-11 13:54
本发明专利技术提出一种加密签名方法、解密验签方法及其装置,使用用户标识作为用户的公钥,私钥由受信任的第三方使用标识私钥生成方法计算生成,用户不需要申请和交换证书,从而很大地简化了密码系统管理的复杂性,同时又保证数据的私密性和真实性,并具备密文短的优点。

Identification based encryption signature method, decryption check method and device thereof

The invention provides a method for decrypting encrypted signature and signature verification method and device using the user ID as the user's public key, private key by a trusted third party uses the identifier generation method to calculate the private key, the user does not need to apply for and exchange certificates, which greatly simplifies the complexity of the password management system, while ensuring data privacy and authenticity, and has the advantages of short text.

【技术实现步骤摘要】
基于标识的加密签名方法、解密验签方法及其装置
本专利技术涉及到数据加密领域,特别是涉及到一种基于标识的加密签名方法、解密验签方法及其装置。
技术介绍
数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。在一些安全应用中需要对数据进行加密保护同时要保证数据发送方身份的真实性。一般的方法是对数据签名后,再对数据加密,或者,先加密后进行签名。但是这种分别执行完整的加密方法和签名方法的保护方法会导致输出结果为加密方法输出和签名方法输出的总长度。
技术实现思路
本专利技术的主要目的为提供一种基于标识的加密签名方法、解密验签方法及其装置,提供一种新的加密签名方法,保证数据的安全性和真实性的同时,简化了密码系统管理的复杂性,且产出的密文结果短于通常的加密再签名或签名再加密的方法。本专利技术提出了一种基于标识的加密签名方法,包括:获取加密签名参数组和对应标识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)modq,若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和密钥派生函本文档来自技高网...
基于标识的加密签名方法、解密验签方法及其装置

【技术保护点】
一种基于标识的加密签名方法,其特征在于,包括:获取加密签名参数组和对应标识ID_A的标识签名私钥S_A,所述加密签名参数组包括若干双线性对参数以及函数参数,所述函数参数包括消息映射函数H、密钥派生函数KDF;根据接收人ID_B、所述加密签名参数组和标识签名私钥S_A对消息M进行加密签名,加密签名过程包括:利用所述接收人ID_B、双线性对参数、消息映射函数H生成消息M的加密密钥U及加密密钥传递因子C

【技术特征摘要】
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)modq,若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...

【专利技术属性】
技术研发人员:程朝辉杜峰薛芳芳
申请(专利权)人:深圳奥联信息安全技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1