CN105763322B - 一种可混淆的加密密钥隔离数字签名方法及系统 - Google Patents
一种可混淆的加密密钥隔离数字签名方法及系统 Download PDFInfo
- Publication number
- CN105763322B CN105763322B CN201610227862.7A CN201610227862A CN105763322B CN 105763322 B CN105763322 B CN 105763322B CN 201610227862 A CN201610227862 A CN 201610227862A CN 105763322 B CN105763322 B CN 105763322B
- Authority
- CN
- China
- Prior art keywords
- key
- encryption
- algorithm
- digital signature
- signature
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000002955 isolation Methods 0.000 title claims abstract description 42
- 230000009466 transformation Effects 0.000 claims abstract description 20
- 230000008569 process Effects 0.000 claims abstract description 10
- 238000012795 verification Methods 0.000 claims description 20
- 238000013507 mapping Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 125000004122 cyclic group Chemical group 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 238000011426 transformation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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)
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/088—Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种可混淆的加密密钥隔离数字签名方法及系统。可混淆的加密密钥隔离数字签名方法包括:终端获得初始私有密钥并保存在一个安全装置中,安全装置的数据不能被终端更改;安全装置根据初始私有密钥、初始私有密钥对应的公开密钥信息以及私有密钥更新算法定期更新终端的当前时间段值对应的当前私有密钥;针对根据公开密钥信息、当前私有密钥以及数字签名算法对明文信息进行数字签名,并对数字签名得到的签名信息采用加密密钥进行群同态加密得到一个加密数字签名的全过程;以及对加密签名过程进行混淆变换的混淆器。本发明能进一步提高数字签名的安全性。
Description
技术领域
本发明涉及一种安全技术,特别是涉及一种可混淆的加密密钥隔离数字签名方法及系统。
背景技术
数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名方案通常定义一对运算,一个用于对信息进行签名,另一个用于验证签名的合法有效。数字签名由数字签名算法产生,是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。数字签名中,发送方用自己的公钥私钥对,对一则待签名的消息用签名算法计算并输出一个签名,然后将该签名和消息一起传送给接收方;接收方为了核实签名,用发送方的公用密钥和验证算法对“消息-签名”对进行验证。随着移动计算和分布式计算的发展,以及高级持续威胁(APT)攻击和各种严重安全漏洞的层出不穷,如果攻击者入侵了签名算法执行的计算环境并取得了较高的控制权,则该攻击者可以分析程序实现的代码,对其进行反编译或动态的执行追踪,从而导致密码算法的实现对于攻击者而言是完全透明的。如果攻击者找到了签名算法中使用的私钥(签名密钥),则攻击者可以任意的伪造持有该私钥的用户对任何消息的数字签名,这将产生严重的安全威胁。
鉴于此,如何找到进一步提高数字签名算法的安全性就成了本领域技术人员亟待解决的问题。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种可混淆的加密密钥隔离数字签名方法及系统,用于解决现有技术中数字签名的安全性有待提高的问题。本发明使用密钥演化和混淆变换的方法,对签名密钥进行双重保护,具有较高的安全性。
为实现上述目的及其他相关目的,本发明提供一种可混淆的加密密钥隔离数字签名方法,所述可混淆的加密密钥隔离数字签名方法包括:终端获得初始私有密钥并保存在一个安全装置中,所述安全装置的数据不能被所述终端更改;所述安全装置根据所述初始私有密钥、所述初始私有密钥对应的公开密钥信息以及私有密钥更新算法定期更新所述终端的当前时间段值对应的当前私有密钥;针对根据所述公开密钥信息、当前私有密钥以及数字签名算法对明文信息进行数字签名,并对所述数字签名得到的签名信息采用所述加密密钥进行同态加密得到一个加密数字签名的全过程进行混淆变换得到一个加密签名算法;所述同态加密包括一个加密算法、一个解密算法、一个加解密密钥生成算法,所述加密密钥由所述加解密密钥生成算法生成;根据所述加密签名算法对明文信息进行处理得到针对所述明文信息的加密数字签名信息。
可选地,所述可混淆的加密密钥隔离数字签名方法还包括:根据所述解密算法以及与所述加密密钥对应的解密密钥对所述加密数字签名信息进行解密得到签名信息,根据签名验证算法针对所述当前时间段值、公开密钥信息、签名信息以及明文信息进行验证,确定所述签名信息的有效性。
可选地,所述初始私有密钥以及所述公开密钥信息由可信机构生成。
可选地,所述公开密钥信息包括5+m+n个公共值,其中,m为所述加密算法一次处理的明文信息的比特位数,n为最大的时间段值。
可选地,所述加解密密钥生成算法生成的加密密钥与对应的解密密钥的长度相同。
可选地,对加密密钥隔离数字签名算法进行混淆变换得到所述加密签名算法的具体实现包括:
输出一个程序实现该程序实现对输入消息M执行如下操作:
其中,是签名者公钥,Ki是签名者时间片段i的私有签名密钥(在此将其形式化的记作Ki=(K1 (i),K2 (i))),PKe是接收者的加密公钥;k是循环计数器,si是整数环Zp中随机选择的一个元素,M=(μ1,…,μm)是一个给定的消息且等式的右边为该消息的二进制表示。si,xi,1,…,xi,l,yi,1,…,yi,l,u1 (i,1),…,u1 (i,l),u2 (i,1),…,u2 (i,l),u3 (i ,1),…,u3 (i,l)都是Zp中的随机数;是被保护后的签名私钥的替代品;是临时密文的部分分量,用于组成临时密文CXi=(CXi,1,…,CXi,l),CYi=(CYi,1,…,CYi,l);则是混淆后的加密签名算法所使用的和签名者私钥相关的参数。 均为用于最终生成加密数字签名的中间变量;当运行混淆后的加密签名算法时,最终输出三元组具体为即为对消息M的加密签名,其中:
U1 (i)=(U1 (i,1),…,U1 (i,l));U2 (i)=(U2 (i,1),…,U2 (i,l));U3 (i)=(U3 (i,1),…,U3 (i,l))。
本发明还提供一种可混淆的加密密钥隔离数字签名系统,所述可混淆的加密密钥隔离数字签名系统包括:私有密钥生成模块,用于获得初始私有密钥并保存在一个安全装置中,所述安全装置的数据不能被所述终端更改;所述安全装置根据所述初始私有密钥、所述初始私有密钥对应的公开密钥信息以及私有密钥更新算法定期更新所述终端的当前时间段值对应的当前私有密钥;加密签名算法生成模块,用于针对根据所述公开密钥信息、当前私有密钥以及数字签名算法对明文信息进行数字签名,并对所述数字签名得到的签名信息采用所述加密密钥进行同态加密得到一个加密数字签名的全过程进行混淆变换得到一个加密签名算法;所述同态加密包括一个加密算法、一个解密算法、一个加解密密钥生成算法,所述加密密钥由所述加解密密钥生成算法生成;加密数字签名生成模块,用于接收明文信息,根据所述加密签名算法生成一个针对所述明文信息的加密数字签名信息。
可选地,所述可混淆的加密密钥隔离数字签名系统还包括:加密数字签名验证模块,用于根据所述解密算法以及与所述加密密钥对应的解密密钥对所述加密数字签名信息进行解密得到签名信息,根据签名验证算法针对所述当前时间段值、公开密钥信息、签名信息以及明文信息进行验证,确定所述签名信息的有效性。
可选地,所述初始私有密钥以及所述公开密钥信息由可信机构生成。
可选地,所述公开密钥信息包括5+m+n个公共值,其中,m为所述加密算法一次处理的明文信息的比特位数,n为最大的时间段值。
可选地,所述加解密密钥生成算法生成的加密密钥与对应的解密密钥的长度相同。
可选地,对加密密钥隔离数字签名算法进行混淆变换得到所述加密签名算法的具体实现包括:
输出一个程序实现该程序实现对输入消息M执行如下操作:
其中,是签名者公钥,Ki是签名者时间片段i的私有签名密钥(在此将其形式化的记作Ki=(K1 (i),K2 (i))),PKe是接收者的加密公钥;k是循环计数器,si是整数环Zp中随机选择的一个元素,M=(μ1,…,μm)是一个给定的消息且等式的右边为该消息的二进制表示。si,xi,1,…,xi,l,yi,1,…,yi,l,u1 (i,1),…,u1 (i,l),u2 (i,1),…,u2 (i,l),u3 (i,1),…,u3 (i,l)都是Zp中的随机数;是被保护后的签名私钥的替代品;是临时密文的部分分量,用于组成临时密文CXi=(CXi,1,…,CXi,l),CYi=(CYi,1,…,CYi,l);则是混淆后的加密签名算法所使用的和签名者私钥相关的参数。 均为用于最终生成加密数字签名的中间变量;当运行混淆后的加密签名算法时,最终输出三元组具体为即为对消息M的加密签名,其中:
U1 (i)=(U1 (i,1),…,U1 (i,l));U2 (i)=(U2 (i,1),…,U2 (i,l));U3 (i)=(U3 (i,1),…,U3 (i,l))。
如上所述,本发明的一种可混淆的加密密钥隔离数字签名方法及系统,具有以下有益效果:通过采用特定安全装置来存储初始密钥并定时更新当前密钥,使用具有时效性的当前密钥来完成数字签名,采用了混淆变换技术对数字签名算法进行处理,从而进一步控制了数字签名算法密钥泄露的风险,填补了安全领域中该项的空白。由于采用混淆技术提高了签名算法的安全性,大大加强了在某一时间片段中对于的签名密钥的保护,从而可以降低私有密钥更新的频率,即延长时间片段的长度。
附图说明
图1显示为本发明的可混淆的加密密钥隔离数字签名方法的一实施例的流程示意图。
图2显示为本发明的可混淆的加密密钥隔离数字签名方法的另一实施例的流程示意图。
图3显示为本发明的可混淆的加密密钥隔离数字签名系统的一实施例的模块示意图。
图4显示为本发明的可混淆的加密密钥隔离数字签名系统的另一实施例的模块示意图。
图5显示为本发明的可混淆的加密密钥隔离数字签名系统的一实施例的应用场景示意图。
元件标号说明
1 可混淆的加密密钥隔离数
字签名系统
11 私有密钥生成模块
12 加密签名算法生成模块
13 加密数字签名生成模块
14 加密数字签名验证模块
S1~S4 步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本发明提供一种可混淆的加密密钥隔离数字签名方法。所述可混淆的加密密钥隔离数字签名方法对签名信息进行了加密,并采用了混淆变换方法生成了一个加密签名算法,所述加密签名算法可以直接生成加密的签名信息。混淆变换是一种可以用于对移动代码和软件知识产权进行保护的程序变换技术。混淆变换将原来的程序变换为一个新的程序(实现),且保持功能不变,即对于相同的输入数据,对于确定性算法,有相同的输出结果,对概率算法(非确定性算法),有服从同样概率分布的(或用计算机无法区分的)输出结果。采用混淆变换方法生成的加密签名算法具有难以被理解、分析和有针对性的破坏的特点,从而提高了签名算法的安全性。在一个实施例中,如图1所示,所述可混淆的加密密钥隔离数字签名方法包括:
步骤S1,终端获得初始私有密钥并保存在一个安全装置中,所述安全装置的数据不能被所述终端更改;所述安全装置根据所述初始私有密钥、所述初始私有密钥对应的公开密钥信息以及私有密钥更新算法定期更新所述终端的当前时间段值对应的当前私有密钥。通常,所述初始私有密钥以及所述公开密钥信息由可信机构生成。在一个实施例中,所述公开密钥信息包括5+m+n个公共值,其中,m为所述加密算法一次处理的明文信息的比特位数,n为最大的时间段值。所述公开密钥信息还可以包括其他公开参数。整个系统中各个参与方共享所述公开密钥信息。在一个实施例中,所述公开密钥信息可以包括一组公开参数和配置,以及一组由5+m+n个公共值构成的集合。在一个实施例中,所述公开密钥信息为其中,G与GT为两个阶为p的循环群,p为质数;是满足双线性映射的映射算法,PP=(g,g1,g2,t1,…,tnv',v1,…,vm,A)为一组公共值集合,则是整个系统中各个参与方共享的一组公开参数和配置。公钥PK和主私钥(初始私有密钥)SK按照以下方法生成:
其中,用Gen[G]表示群G生成元的集合,g为随机选择的一个群G的生成元,用正整数n代表时间片段的数量,Zp表示模p的整数环。
此外,符号表示左边的元素是从右边的集合中随机选择的,←符号表示把右边的值赋给左边的变量/符号。后续对这两个符号的含义不再另行说明。
y和z'是Zp中的两个随机数;g1=gy,v'=gz'均为群G的一个元素,g2则是群G中的一个随机元素。将用以生成G的一个子群GM,其中z1,…,zm是Zp中的m个随机数。对一个给定的消息,假设其二进制表示为μ1,…,μm,则通过计算将该消息编码为GM中的一个元素。t1,…,tn是群G中的n个随机元素,依次与n个时间片段相对应,用于在下面介绍的密钥更新算法生成当前时间段的私有密钥以及对该时间段中的签名进行验证。是GT中的元素,对任一时间段的签名进行验证时,均需要将三个双线性运算的值的乘积与A进行比对以判定签名是否有效,具体可参见签名算法的介绍。
在一个实施例中,在安全装置中,可以用如下算法进行设备密钥更新,该算法可以为一个用户在任意时间片段i≤n直接产生私有密钥。每一个时间片段产生一个当前私有密钥。算法使用签名者公钥PK,主私钥SK,时间片段i作为输入。输出与当前时间片段i相对应的当前私有密钥Ki'。
在该算法中,ri是从整数环Zp中随机选择的一个元素,分别是群G的一个元素。
步骤S2,针对根据所述公开密钥信息、当前私有密钥以及数字签名算法对明文信息进行数字签名,并对所述数字签名得到的签名信息采用所述加密密钥进行同态加密得到一个加密数字签名的全过程进行混淆变换得到一个加密签名算法;所述同态加密包括一个加密算法、一个解密算法、一个加解密密钥生成算法,所述加密密钥由所述加解密密钥生成算法生成。所述同态加密中的加解密密钥生成算法生成的加密密钥与对应的解密密钥的长度相同。所述混淆变换可以通过相应的混淆器实现。同态加密是基于数学难题的计算复杂性理论的密码学技术。对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。
在一个实施例中,所述数字签名算法包括:使用公钥PK,一个时间片段i的私有密钥Ki,给一段信息M=(μ1,…,μm)∈{0,1}m做签名。使用信息作为输入,输出签名S。
如前所述是公开密钥PK,其中(g,g1,g2,t1,…,tn,v',v1,…,vm,A)是由算法Setup生成的一种公共值集合;(Di,di)即是当前时间片段i相对应的当前私有密钥Ki'。si是整数环Zp中随机选择的一个元素,(μ1,…,μm)一个给定消息M的二进制表示,S1,S2,S3为最终输出的签名S的三个组成部分。
使用群同态加密方案进行加解密,该同态加密方案包含了三种算法,即加解密密钥生成算法EKGen,加密算法Enc和解密算法Dec。参数l被用来表示密钥中元素的数量。对于给定的l,我们将其记作GHE[l]。目前l-线性问题在l≥2时,在恰当的给定条件下是难解的,本发明的安全性依赖于l-线性问题难解性。在本文的其余部分,如果没有必要,我们将省略下标l。加密密钥生成算法EKGen取PK作为输入,并生成一个加解密使用的公钥/私钥对(PKe,SKe)。加密算法Enc使用加密密钥PKe和一份(已编码)的明文M∈G作为输入,输出密文C。解密算法Dec则反之,将密文解密成明文。PK被用作默认系统设置。
加解密密钥生成算法EKGen的输入是签名者的公开密钥信息其中(g,g1,g2,t1,…,tn,v',v1,…,vm,A)是一组公共值集合,详见前文所述。算法EKGen的输出(PKe,SKe)对应于接收者的加密公钥PKe和解密私钥SKe。算法EKGen中k是循环计数器,是整数环Zp中随机选择的一个元素,构成接收者的解密私钥SKe的第k个分量,是群G的一个元素,构成接收者的加密公钥PKe的第k个分量。
加密算法的输入是信息M,接收者的加密公钥为PKe=(PKe,1,…,PKe,l)。算法中的x1,…,xl是Zp中的l个随机数。最终加密算法输出密文
解密算法的输入是密文C,形式化的可以记为C=(C1,…,Cl,Cl+1),而SKe=(SKe,1,…,SKe,l)为接收者的解密私钥。解密算法预期的输出是明文M。
对明文使用如下的方法获取加密的数字签名,即先根据所述公开密钥信息、当前私有密钥以及数字签名算法对明文信息M进行数字签名,然后对所述数字签名得到的签名信息采用同态加密中的加密算法得到一个加密数字签名。
其中PK是签名者公钥,Ki是签名者一个时间片段i的私有密钥,(S1,S2,S3)组合为对信息M的签名,PKe是接收者的加密公钥。
将上述根据所述公开密钥信息、当前私有密钥以及数字签名算法对明文信息进行数字签名,然后对所述数字签名得到的签名信息采用同态加密中的加密算法得到一个加密数字签名的整个过程采用混淆变换技术进行处理得到一个加密签名算法。所述加密签名算法能够实现根据所述公开密钥信息、当前私有密钥以及数字签名算法对明文信息进行数字签名,然后对所述数字签名得到的签名信息采用同态加密中的加密算法得到一个加密数字签名的功能,对于相同的输入明文M,两者具有相同的输出结果(加密数字签名信息)。并且由于采用了混淆技术,该加密签名算法难以被理解、分析,也难以对该加密签名算法进行针对性的破坏。因此,具有更高的安全性。在本实施例中,可以使用下述的混淆方法对加密密钥隔离数字签名算法(的实现)进行混淆,并输出一个加密签名算法,即混淆后的实现
输出一个程序实现该程序实现对输入消息M执行如下操作:
与前文一致,是签名者公钥,Ki是签名者时间片段i的私有签名密钥(在此将其形式化的记作Ki=(K1 (i),K2 (i))),PKe是接收者的加密公钥。该方法中k是循环计数器,si是整数环Zp中随机选择的一个元素,M=(μ1,…,μm)是一个给定的消息且等式的右边为该消息的二进制表示。si,xi,1,…,xi,l,yi,1,…,yi,l,u1 (i,1),…,u1 (i,l),u2 (i ,1),…,u2 (i,l),u3 (i,1),…,u3 (i,l)都是Zp中的随机数。是被保护后的签名私钥的替代品;是临时密文的部分分量,用于组成临时密文CXi=(CXi,1,…,CXi,l),CYi=(CYi,1,…,CYi,l)。则是混淆后的加密签名算法所使用的和签名者私钥相关的参数。 等均为用于最终生成加密数字签名的中间变量。当运行混淆后的加密签名程序时,最终输出三元组具体为即为对消息M的加密签名,其中:
U1 (i)=(U1 (i,1),…,U1 (i,l));U2 (i)=(U2 (i,1),…,U2 (i,l));U3 (i)=(U3 (i,1),…,U3 (i,l))
步骤S3,根据所述加密签名算法对明文信息进行处理得到针对所述明文信息的加密数字签名信息。在一个实施例中,根据上述加密签名算法,即混淆后的实现就可以直接的明文M进行处理,得到所述明文信息的加密数字签名信息。
在一个实施例中,如图2所示,所述可混淆的加密密钥隔离数字签名方法还包括:
步骤S4,根据所述解密算法以及与所述加密密钥对应的解密密钥对所述加密数字签名信息进行解密得到签名信息,根据签名验证算法针对所述当前时间段值、公开密钥信息、签名信息以及明文信息进行验证,确定所述签名信息的有效性。在一个实施例中,对输出的加密数字签名信息与采用输出的加密数字签名信息的处理方式相同,先使用解密算法进行解密,得到未加密的数字签名,再使用验证算法Verify进行验证。签名验证算法使用公钥PK,时间片段i',签名S,信息M作为输入,如果签名验证通过,输出1,否则输出0。该算法如下:
是签名者的公开密钥,其中PP=(g,g1,g2,t1,…,tn,v',v1,…,vm,A)是公共值集合,i表示时间段,S=(S1,S2,S3)是待验证签名信息,,M是与前面对应的消息,(μ1,…,μm)为该消息的二进制表示。如果Verify输出1,则表示验证通过,签名合法;反之,如果输入0,则表示验证未通过。
本发明还提供一种可混淆的加密密钥隔离数字签名系统,所述可混淆的加密密钥隔离数字签名系统能够采用如上所述的可混淆的加密密钥隔离数字签名方法。在一个实施例中,如图3所示,所述可混淆的加密密钥隔离数字签名系统1包括私用密钥生成模块11、加密签名算法生成模块12以及加密数字签名生成模块13。其中:
私有密钥生成模块11用于获得初始私有密钥并保存在一个安全装置中,所述安全装置的数据不能被所述终端更改;所述安全装置根据所述初始私有密钥、所述初始私有密钥对应的公开密钥信息以及私有密钥更新算法定期更新所述终端的当前时间段值对应的当前私有密钥。通常,所述初始私有密钥以及所述公开密钥信息由可信机构生成。在一个实施例中,所述公开密钥信息包括5+m+n个公共值,其中,m为所述加密算法一次处理的明文信息的比特位数,n为最大的时间段值。所述公开密钥信息还可以包括其他公开参数。整个系统中各个参与方共享所述公开密钥信息。在一个实施例中,所述公开密钥信息可以包括一组公开参数和配置,以及一组由5+m+n个公共值构成的集合。
加密签名算法生成模块12与私有密钥生成模块11相连,用于针对根据所述公开密钥信息、当前私有密钥以及数字签名算法对明文信息进行数字签名,并对所述数字签名得到的签名信息采用所述加密密钥进行同态加密得到一个加密数字签名的全过程进行混淆变换得到一个加密签名算法;所述同态加密包括一个加密算法、一个解密算法、一个加解密密钥生成算法,所述加密密钥由所述加解密密钥生成算法生成。所述混淆变换可以通过相应的混淆器实现。所述同态加密中的加解密密钥生成算法生成的加密密钥与对应的解密密钥的长度相同。同态加密是基于数学难题的计算复杂性理论的密码学技术。对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。
加密数字签名生成模块13与加密签名算法生成模块12相连,用于接收明文信息,根据所述加密签名算法生成一个针对所述明文信息的加密数字签名信息。在一个实施例中,加密数字签名生成模块13根据从加密签名算法生成模块12获得所述加密签名算法,即混淆后的实现就可以直接的明文信息M进行处理,得到所述明文信息的加密数字签名信息。
在一个实施例中,如图4所示,所述可混淆的加密密钥隔离数字签名系统1还包括加密数字签名验证模块14。所述加密数字签名验证模块14与加密数字签名生成模块13相连,用于根据所述解密算法以及与所述加密密钥对应的解密密钥对所述加密数字签名信息进行解密得到签名信息,根据签名验证算法针对所述当前时间段值、公开密钥信息、签名信息以及明文信息进行验证,确定所述签名信息的有效性。在一个实施例中,对输出的加密数字签名信息与采用输出的加密数字签名信息的处理方式相同,先使用解密算法进行解密,得到未加密的数字签名,再使用验证算法Verify进行验证。
在本发明提供的可混淆的加密密钥隔离数字签名方法或可混淆的加密密钥隔离数字签名系统的应用中,如图5所示,在签名的发送方(签名人)根据可混淆的加密密钥隔离数字签名方法中的步骤S1-S3或在可混淆的加密密钥隔离数字签名系统1的私用密钥生成模块11、加密签名算法生成模块12以及加密数字签名生成模块13的进行签名加密处理,得到一个加密的签名(加密数字签名信息);然后该加密的签名与明文M(也可以在进行加密)一起传送到接收方。接收方(验证人)收到信息后对加密的签名与明文M采用可混淆的加密密钥隔离数字签名方法中的步骤S4或在可混淆的加密密钥隔离数字签名系统1的加密数字签名验证模块14的进行签名的有效性验证,确定加密的签名的有效性。
综上所述,本发明的一种可混淆的加密密钥隔离数字签名方法及系统通过采用特定安全装置来存储初始密钥并定时更新当前密钥,使用具有时效性的当前密钥来完成数字签名,采用了混淆变换技术对数字签名算法进行处理,从而进一步控制了数字签名算法密钥泄露的风险,填补了安全领域中该项的空白。由于采用混淆技术提高了签名算法的安全性,大大加强了在某一时间片段中对于的签名密钥的保护,从而可以降低私有密钥更新的频率,即延长时间片段的长度。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (10)
1.一种可混淆的加密密钥隔离数字签名方法,其特征在于,所述可混淆的加密密钥隔离数字签名方法包括:
终端获得初始私有密钥并保存在一个安全装置中,所述安全装置的数据不能被所述终端更改;所述安全装置根据所述初始私有密钥、所述初始私有密钥对应的公开密钥信息以及私有密钥更新算法定期更新所述终端的当前时间段值对应的当前私有密钥;
针对根据所述公开密钥信息、当前私有密钥以及数字签名算法对明文信息进行数字签名,并对所述数字签名得到的签名信息采用所述加密密钥进行同态加密得到一个加密数字签名的全过程进行混淆变换得到一个加密签名算法;所述同态加密包括一个加密算法、一个解密算法、一个加解密密钥生成算法,所述加密密钥由所述加解密密钥生成算法生成;
根据所述加密签名算法对明文信息进行处理得到针对所述明文信息的加密数字签名信息。
2.根据权利要求1所述的可混淆的加密密钥隔离数字签名方法,其特征在于:所述可混淆的加密密钥隔离数字签名方法还包括:根据所述解密算法以及与所述加密密钥对应的解密密钥对所述加密数字签名信息进行解密得到签名信息,根据签名验证算法针对所述当前时间段值、公开密钥信息、签名信息以及明文信息进行验证,确定所述签名信息的有效性。
3.根据权利要求1或2所述的可混淆的加密密钥隔离数字签名方法,其特征在于:所述公开密钥信息包括5+m+n个公共值,其中,m为所述加密算法一次处理的明文信息的比特位数,n为最大的时间段值。
4.根据权利要求1或2所述的可混淆的加密密钥隔离数字签名方法,其特征在于:所述加解密密钥生成算法生成的加密密钥与对应的解密密钥的长度相同。
5.根据权利要求1或2所述的可混淆的加密密钥隔离数字签名方法,其特征在于:
对数字签名算法进行混淆变换得到所述加密签名算法的具体实现包括:
输出一个程序实现该程序实现对输入消息M执行如下操作:
符号表示左边的元素是从右边的集合中随机选择的,←符号表示把右边的值赋给左边的变量/符号;其中,是签名者公钥,n代表时间片段的数量,G与GT为两个阶为p的循环群,p为质数;是满足双线性映射的映射算法,PP=(g,g1,g2,t1,…,tn,v',v1,…,vm,A)为一组公共值集合;参数l被用来表示密钥中元素的数量;Ki是签名者时间片段i的私有签名密钥(在此将其形式化的记作Ki=(K1 (i),K2 (i))),PKe是接收者的加密公钥;k是循环计数器,si是整数环Zp中随机选择的一个元素,M=(μ1,…,μm)是一个给定的消息且等式的右边为该消息的二进制表示;si,xi,1,…,xi,l,yi,1,…,yi,l,u1 (i,1),…,u1 (i,l),u2 (i,1),…,u2 (i,l),u3 (i,1),…,u3 (i,l)都是Zp中的随机数;是被保护后的签名私钥的替代品;是临时密文的部分分量,用于组成临时密文CXi=(CXi,1,…,CXi,l),CYi=(CYi,1,…,CYi,l);则是混淆后的加密签名算法所使用的和签名者私钥相关的参数;g为随机选择的一个群G的生成元,v'=gz'为群G的一个元素,将用以生成G的一个子群GM,是群G的一个元素,构成接收者的加密公钥PKe的第k个分量; 均为用于最终生成加密数字签名的中间变量;当运行混淆后的加密签名算法时,最终输出三元组具体为即为对消息M的加密签名,其中:
U1 (i)=(U1 (i,1),…,U1 (i,l));U2 (i)=(U2 (i,1),…,U2 (i,l));U3 (i)=(U3 (i,1),…,U3 (i,l))。
6.一种可混淆的加密密钥隔离数字签名系统,其特征在于:所述可混淆的加密密钥隔离数字签名系统包括:
私有密钥生成模块,用于使终端获得初始私有密钥并保存在一个安全装置中,所述安全装置的数据不能被所述终端更改;所述安全装置根据所述初始私有密钥、所述初始私有密钥对应的公开密钥信息以及私有密钥更新算法定期更新所述终端的当前时间段值对应的当前私有密钥;
加密签名算法生成模块,用于针对根据所述公开密钥信息、当前私有密钥以及数字签名算法对明文信息进行数字签名,并对所述数字签名得到的签名信息采用所述加密密钥进行同态加密得到一个加密数字签名的全过程进行混淆变换得到一个加密签名算法;所述同态加密包括一个加密算法、一个解密算法、一个加解密密钥生成算法,所述加密密钥由所述加解密密钥生成算法生成;
加密数字签名生成模块,用于接收明文信息,根据所述加密签名算法生成一个针对所述明文信息的加密数字签名信息。
7.根据权利要求6所述的可混淆的加密密钥隔离数字签名系统,其特征在于:所述可混淆的加密密钥隔离数字签名系统还包括:加密数字签名验证模块,用于根据所述解密算法以及与所述加密密钥对应的解密密钥对所述加密数字签名信息进行解密得到签名信息,根据签名验证算法针对所述当前时间段值、公开密钥信息、签名信息以及明文信息进行验证,确定所述签名信息的有效性。
8.根据权利要求6或7所述的可混淆的加密密钥隔离数字签名系统,其特征在于所述公开密钥信息包括5+m+n个公共值,其中,m为所述加密算法一次处理的明文信息的比特位数,n为最大的时间段值。
9.根据权利要求6或7所述的可混淆的加密密钥隔离数字签名系统,其特征在于:所述加解密密钥生成算法生成的加密密钥与对应的解密密钥的长度相同。
10.根据权利要求6或7所述的可混淆的加密密钥隔离数字签名系统,其特征在于:
对数字签名算法进行混淆变换得到所述加密签名算法的具体实现包括:
输出一个程序实现该程序实现对输入消息M执行如下操作:
符号表示左边的元素是从右边的集合中随机选择的,←符号表示把右边的值赋给左边的变量/符号;其中,是签名者公钥,n代表时间片段的数量,G与GT为两个阶为p的循环群,p为质数;是满足双线性映射的映射算法,PP=(g,g1,g2,t1,…,tn,v',v1,…,vm,A)为一组公共值集合;参数l被用来表示密钥中元素的数量;Ki是签名者时间片段i的私有签名密钥(在此将其形式化的记作Ki=(K1 (i),K2 (i))),PKe是接收者的加密公钥;k是循环计数器,si是整数环Zp中随机选择的一个元素,M=(μ1,…,μm)是一个给定的消息且等式的右边为该消息的二进制表示;si,xi,1,…,xi,l,yi,1,…,yi,l,u1 (i,1),…,u1 (i,l),u2 (i,1),…,u2 (i,l),u3 (i,1),…,u3 (i,l)都是Zp中的随机数;是被保护后的签名私钥的替代品;是临时密文的部分分量,用于组成临时密文CXi=(CXi,1,...,CXi,l),CYi=(CYi,1,...,CYi,l);则是混淆后的加密签名算法所使用的和签名者私钥相关的参数;g为随机选择的一个群G的生成元,v'=gz'为群G的一个元素,将用以生成G的一个子群GM,是群G的一个元素,构成接收者的加密公钥PKe的第k个分量; 均为用于最终生成加密数字签名的中间变量;当运行混淆后的加密签名算法时,最终输出三元组具体为即为对消息M的加密签名,其中:
U1 (i)=(U1 (i,1),…,U1 (i,l));U2 (i)=(U2 (i,1),…,U2 (i,l));U3 (i)=(U3 (i,1),…,U3 (i,l))。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610227862.7A CN105763322B (zh) | 2016-04-13 | 2016-04-13 | 一种可混淆的加密密钥隔离数字签名方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610227862.7A CN105763322B (zh) | 2016-04-13 | 2016-04-13 | 一种可混淆的加密密钥隔离数字签名方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105763322A CN105763322A (zh) | 2016-07-13 |
CN105763322B true CN105763322B (zh) | 2019-01-25 |
Family
ID=56334864
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610227862.7A Expired - Fee Related CN105763322B (zh) | 2016-04-13 | 2016-04-13 | 一种可混淆的加密密钥隔离数字签名方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105763322B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107483212B (zh) * | 2017-08-15 | 2021-04-30 | 武汉信安珞珈科技有限公司 | 一种双方协作生成数字签名的方法 |
CN108632296B (zh) * | 2018-05-17 | 2021-08-13 | 中体彩科技发展有限公司 | 一种网络通信的动态加密与解密方法 |
CN112805704A (zh) * | 2018-08-07 | 2021-05-14 | 黑文技术私人有限公司 | 保护数据的方法和系统 |
CN111901123B (zh) * | 2020-07-15 | 2022-07-05 | 杭州安恒信息安全技术有限公司 | 一种sm2签名的生成方法、存储介质和终端 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103064931A (zh) * | 2012-12-21 | 2013-04-24 | 清华大学 | 可验证的隐私数据比较与排名查询方法 |
CN104394155A (zh) * | 2014-11-27 | 2015-03-04 | 暨南大学 | 可验证完整性和完备性的多用户云加密关键字搜索方法 |
CN104917617A (zh) * | 2015-05-26 | 2015-09-16 | 同济大学 | 一种加密群签名的混淆方法 |
CN105049453A (zh) * | 2015-08-26 | 2015-11-11 | 同济大学 | 一种签名验证方法 |
WO2015175365A1 (en) * | 2014-05-16 | 2015-11-19 | Thomson Licensing | Method and apparatus for generating shorter signatures almost tightly related to standard assumptions |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8553878B2 (en) * | 2010-04-14 | 2013-10-08 | Apple Inc. | Data transformation system using cyclic groups |
WO2014177581A1 (en) * | 2013-04-30 | 2014-11-06 | Thomson Licensing | Threshold encryption using homomorphic signatures |
-
2016
- 2016-04-13 CN CN201610227862.7A patent/CN105763322B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103064931A (zh) * | 2012-12-21 | 2013-04-24 | 清华大学 | 可验证的隐私数据比较与排名查询方法 |
WO2015175365A1 (en) * | 2014-05-16 | 2015-11-19 | Thomson Licensing | Method and apparatus for generating shorter signatures almost tightly related to standard assumptions |
CN104394155A (zh) * | 2014-11-27 | 2015-03-04 | 暨南大学 | 可验证完整性和完备性的多用户云加密关键字搜索方法 |
CN104917617A (zh) * | 2015-05-26 | 2015-09-16 | 同济大学 | 一种加密群签名的混淆方法 |
CN105049453A (zh) * | 2015-08-26 | 2015-11-11 | 同济大学 | 一种签名验证方法 |
Non-Patent Citations (4)
Title |
---|
Obfuscatable multi-recipient re-encryption for secure privacy-preserving personal health record services;Yang Shi etal;《Technology and Health Care》;20151231;第23卷(第1期);全文 |
Secure Obfuscation for Encrypted Group Signatures;Yang Shi etal;《PloS one》;20150713;全文 |
安全的程序混淆研究综述;成荣, 张方国;《信息网络安全》;20140810(第8期);全文 |
混淆在可证明安全中的理论与应用研究;魏星;《中国优秀硕士学位论文全文数据库 信息科技辑》;20150215(第2期);全文 |
Also Published As
Publication number | Publication date |
---|---|
CN105763322A (zh) | 2016-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9973334B2 (en) | Homomorphically-created symmetric key | |
CN113259329B (zh) | 一种数据不经意传输方法、装置、电子设备及存储介质 | |
EP2829010B1 (en) | Updating key information | |
GB2576289A (en) | Cryptographic key-generation with application to data deduplication | |
WO2018104412A1 (en) | Method of rsa signature or decryption protected using a homomorphic encryption | |
CN113206736A (zh) | 一种基于aes加密算法的加密方法 | |
WO2014136386A1 (ja) | タグ生成装置、タグ生成方法およびタグ生成プログラム | |
CN106059752B (zh) | 一种基于扩张密文的白盒密码加解密方法 | |
CN105763322B (zh) | 一种可混淆的加密密钥隔离数字签名方法及系统 | |
EP3198784A1 (en) | Public-key encryption system | |
JP6517436B2 (ja) | 暗号化デバイス及び符号化デバイス | |
WO2015004286A1 (en) | Key agreement device and method | |
CN105359450A (zh) | 防篡改密码算法实现 | |
CN109039596A (zh) | 利用加扰电路的白盒实施方案 | |
JP2020510879A (ja) | 楕円曲線点乗算デバイス及び方法 | |
CN111314050A (zh) | 一种加解密方法及装置 | |
CN109218251B (zh) | 一种防重放的认证方法及系统 | |
CN114448641A (zh) | 一种隐私加密方法、电子设备、存储介质以及芯片 | |
CN106941406B (zh) | 基于标识的加密签名方法、解密验签方法及其装置 | |
JP2000511755A (ja) | バイナリーコード情報を暗号化する方法 | |
US10075290B2 (en) | Operator lifting in cryptographic algorithm | |
CN110798313B (zh) | 基于秘密动态共享的包含秘密的数的协同生成方法及系统 | |
CN114362912A (zh) | 基于分布式密钥中心的标识密码生成方法、电子设备及介质 | |
Yadav et al. | Hybrid cryptography approach to secure the data in computing environment | |
CN109495478A (zh) | 一种基于区块链的分布式安全通信方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190125 |