CN104837131B - 一种基于批处理指数运算乘积的批Cramer-Shoup密码方法 - Google Patents
一种基于批处理指数运算乘积的批Cramer-Shoup密码方法 Download PDFInfo
- Publication number
- CN104837131B CN104837131B CN201510158706.5A CN201510158706A CN104837131B CN 104837131 B CN104837131 B CN 104837131B CN 201510158706 A CN201510158706 A CN 201510158706A CN 104837131 B CN104837131 B CN 104837131B
- Authority
- CN
- China
- Prior art keywords
- batch
- ciphertext
- exponentiation
- processing multi
- shoup
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/02—Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种基于批处理指数运算乘积的批Cramer‑Shoup密码方法,可信权威:1、初始化,输出***参数;2、运行随机数生成算法;3、选择抗碰撞哈希函数,计算哈希值;4、计算公钥;数据批加密者:5、根据数据量决定批大小n;6、运用批处理指数运算乘积算法对数据进行批量加密;数据批解密者:7、批量验证密文;8、若验证通过,进行解密;9、若验证不通过,找到无效密文。本发明在移动终端环境下使用该方法对数据加、解密,能保护数据的安全性及个人隐私,通过批处理指数运算乘积技术,极大地降低了移动设备端加解密的计算开销。
Description
技术领域:
本发明是一种基于批处理指数运算乘积的批Cramer-Shoup密码方法,可实现运用批处理指数运算乘积进行批处理加密和解密,并能最大程度加快运算速度、降低移动设备加解密计算开销,属于信息安全中密码学领域。
技术背景:
伴随着无线通信技术和普适计算技术的发展,像无线传感器,智能手机,平板电脑这样的移动终端越来越多的用于处理敏感信息。当进行数据采集或者进行移动办公时,需要处理的数据量非常庞大。因此,为了保证数据的安全性和数据处理的高效性,密码方法的选择非常重要。由于公钥密码方法密钥交换的自由性,使其成为了一个很重要的工具来保证数据的安全。
公钥密码方法的典型用法就是使用接收者的公钥来加密会话密钥,利用会话密钥来加密数据内容。在需要细粒度访问控制的情况下,有大量的数据需要被保护,很多不同的会话密钥需要加密,因此导致了大量的公钥密码操作。
现在存在大量的公钥密码方法。在这些公钥密码方法当中,Cramer-Shoup密码方法在适用性选择密文攻击条件下可证明安全(CCA2),而且是在标准模型下的实用密码方法。由于其高度安全性和实用性,Cramer-Shoup密码方法已经成为国际加密标准而且在工业上有广泛的使用。
在Cramer-Shoup等公钥密码方法当中,加密和解密的过程中都需要进行模指数类型的运算,这种类型的运算非常耗时,很大程度上的影响了加密和解密过程的性能。对于资源受限的终端例如移动手机等,加密和解密过程进行的模幂类型运算消耗资源会很大,而且对于移动终端的电量也是一种考验。如果在短时间内有大量的信息需要处理的时候,这种情况会变得更加糟糕。
现在已经有大量的关于加速模指数类型运算的方法。这些方法大概分为两种类型。一种是批处理模指数运算,这种算法能够减少计算同一底数不同指数的多个结果的时间,但是只能加速一个共用底数的情况。另一个就是快速模指数运算乘积算法,这种类型的算法能够减少计算模指数运算乘积的时间。在计算多个模指数运算乘积的时候,上述算法都能一定程度上的加速,为了更快速的进行运算,我们首次提出了批处理模指数运算乘积算法,使得上述两种运算成为了我们算法的两种特殊情况。
在Cramer-Shoup密码方法当中,加密过程中包括模指数和模指数运算乘积的情况。当存在大量信息需要同时处理的时候,可以采用批处理模指数运算乘积的算法有效的加速,减少了资源消耗。
Cramer-Shoup密码方法是一种CCA2安全的,在解密的过程中首次加入了密文验证过程。当需要验证的密文比较多时,计算量非常庞大,耗费的时间和电量将会非常明显,移动设备难以承担这么大的消耗。因此有必要利用批验证的方式来减轻解密过程中的计算压力。
发明内容:
1、目的:本发明的目的是提供一种基于批处理指数运算乘积的批Cramer-Shoup密码方法,以实现同时对大量信息进行批加密和批解密的过程,有效的减少了计算时间。首先,结合现有的加速模指数类型运算的算法,提出了一种更适合于一般情况的批处理指数运算乘积算法;其次,在大量信息同时加密的过程中使用了批处理指数运算乘积算法,提高加密过程的运算速度,减少了运算资源的消耗。最后,在解密的过程中,结合批验证签名的技术,首次实现密文的批验证,使得解密过程变得更加高效。
2、技术方案:
本发明方案包括三个实体:1)可信任权威机构(Trusted Authority,TA):受各实体信任,在发生密钥泄露时及时更新公钥与私钥信息,负责***中所有用户的密钥生成与分发任务。2)加密者(Encryptor,E)选择随机参数,运用批处理指数运算乘积算法对大量信息进行批加密3)解密者(Decryptor,D)能够对大量密文进行批量验证,并依据自己的私钥对密文解密,得到原数据信息。
本发明中使用的哈希函数具备两个基本特性:单向性和抗碰撞性;单向性是指只能从哈希函数的输入推导出输出,而绝不能从哈希函数的输出计算出输入;抗碰撞性是指不能找到两个不同的哈希函数输入使其哈希后的结果相同。本发明中的哈希算法输入是任意长度的二进制字符串。
本发明为一种基于批处理指数运算乘积的批Cramer-Shoup密码方法,该方法由***初始化模块、数据批加密模块、数据批解密模块,三个模块共8个步骤实现其功能。其中,***初始化模块由可信任权威机构完成,数据批加密模块由加密者完成,数据批解密模块由解密者完成。
本发明是一种基于批处理指数运算乘积的批Cramer-Shoup密码方法,其运行步骤如下:
***初始化模块:可信任权威机构(TA)调用初始化算法,选择安全参数和抗碰撞哈希函数,生成公钥和私钥。
步骤1:TA输入***安全参数λ,运行初始化算法输出一个阶数为素数q的群G。
步骤2:TA接下来运行随机数生成算法,随机选择G群中的两个生成元g1,g2,Zp域中的五个随机元素x1,x2,y1,y2,z;
步骤3:TA选择一种抗碰撞哈希函数H(·),该函数满足抗碰撞哈希函数的所有特性,输入为任意长度的0、1字符串,输出为映射到G群中的某一元素。
步骤4:由步骤2选择的生成元与随机数,计算h=g1 z
最后,公钥表示为:PK=(g1,g2,c,d,h,H);私钥表示为:SK=(x1,x2,y1,y2,z)。
其中,在步骤1中所述的“算法”,其运行方法如下:TA输入***安全参数λ,***根据λ的大小,选择相应的群。一般,安全参数数值越大,所选择的群也越大。
其中,步骤2中所述的“随机数生成算法”,随机选择域中元素的随机数生成函数可以从Pairing-Based Cryptosystems函数包中调用库函数运行。下文中提到的随机数生成算法皆按上述方法运行。
其中,步骤3中所述的抗碰撞哈希函数H(·)同样可以从Pairing-BasedCryptosystems函数包中调用库函数运行。
数据批加密模块:
步骤5:不同时刻需要加密的信息量可能不同,因此加密者根据需要加密的信息数量,决定批的大小n。
步骤6:利用批处理指数运算乘积算法来计算 得到n个密文。
其中,步骤5当中批的大小n越大,那么节省的计算量越大,但是批的大小的选择应该根据某一时刻通信量的多少决定。
其中,步骤6当中采用的批处理指数运算乘积算法利用了n个密文计算过程当中底数相同,平方一次可以使用多次的特点,与普通计算相比,很大程度的减少了平方的运算次数,也因此节省了计算时间,提高了效率。
数据批解密模块:当某一解密者得到密文并且需要解密得到相应信息的时,首先对密文进行批量验证,然后进行解密。对密文进行验证的过程中采用批量验证,需要首先选择一个随机指数,使得错误概率得以限制。但是当批量验证存在错误密文的时候,还需要找到无效密文,因此可以根据无效密文比例求得最适合的批大小。
步骤7:解密者利用自己的私钥对接收到的密文进行批验证。在批验证的过程中,需要为n个密文随机的选择n个t比特的随机数,使得无效密文通过验证的概率为2-t。然后,对n个密文运行计算
步骤8:如果验证通过,解密者根据自己的私钥对密文进行解密,得到相应消息,计算mi=ei/u(i,1) z。
步骤9:如果验证不通过,则需要重新验证每个密文,找到无效密文。
其中,步骤7的计算可以利用快速的指数运算乘积算法,并且利用上式进行计算可以有效的提高效率。
3、优点及功效:
本发明提供一种基于批处理指数运算乘积的批加密码方法,在移动终端环境下使用该方法对数据加、解密,能保护数据的安全性及个人隐私。通过批处理指数运算乘积技术,极大地降低了移动设备端加解密的计算开销。该方法的优点和功效是:
1)本方案加密n个消息需要的加密时间有了很大程度上的改进,与普通加密相比,节省了大约40%的计算量,对于移动端设备进行信息处理有了很大程度上的帮助,有效的缓解了计算上的压力。
2)本发明方法将繁重的解密任务进行了批处理,解密的过程分为两部分:验证和解密。在验证的过程中采用批验证的方法对n个密文进行同时验证,有效的节省了计算时间,只需要花费普通方法的20%的时间。我们的批验证算法非常高效。
3)本发明方法考虑了当一批密文当中含有无效密文的情况,给出了无效密文的比例与批大小的关系。当知道关于无效密文的比例时,可以根据比例选择合适的批大小,为效率提高提供有力的支持。
因而本发明具有高效、易实现和首创性的优点。
附图说明:
图1为本发明所述方法的***架构图。
图2为本发明所述方法的流程框图。
具体实施方式
本发明为一种基于批处理指数运算乘积的批Cramer-Shoup密码方法,该方法由***初始化模块、数据批加密模块、数据批解密模块三个模块实现。图1为本发明所述方法的***架构图。该基于批处理指数运算乘积的批Cramer-Shoup密码方法运行的***流程见图2,结合流程框图,将该方法的具体实现步骤介绍如下:
***初始化模块:可信任权威机构(TA)调用初始化算法,选择安全参数和抗碰撞哈希函数,生成公钥和私钥。
步骤1:TA输入***安全参数λ,运行初始化算法输出一个阶数为素数q的群
步骤2:TA接下来运行随机数生成算法,随机选择G群中的两个生成元g1,g2,Zp域中的五个随机元素x1,x2,y1,y2,z。
步骤3:TA选择一种抗碰撞哈希函数H(·),该函数满足抗碰撞哈希函数的所有特性,输入为任意长度的0、1字符串,输出为映射到G群中的某一元素。
步骤4:由步骤2选择的生成元与随机数,计算
最后,公钥表示为:PK=(g1,g2,c,d,h,H);私钥表示为:SK=(x1,x2,y1,y2,z)。
其中,在步骤1中所述的“算法其运行方法如下:TA输入***安全参数λ,***根据λ的大小,选择相应的群。一般,安全参数数值越大,所选择的群也越大。
其中,步骤2中所述的“随机数生成算法”,随机选择域中元素的随机数生成函数可以从Pairing-Based Cryptosystems函数包中调用库函数运行。下文中提到的随机数生成算法皆按上述方法运行。
其中,步骤3中所述的抗碰撞哈希函数H(·)同样可以从Pairing-BasedCryptosystems函数包中调用库函数运行。
数据批加密模块:
步骤5:不同时刻需要加密的信息量可能不同,因此加密者根据需要加密的信息数量,决定批的大小n。
步骤6:利用批处理指数运算乘积算法来计算 得到n个密文。
其中,步骤5当中批的大小n越大,那么节省的计算量越大,但是批的大小的选择应该根据某一时刻通信量的多少决定。
其中,步骤6当中采用的批处理指数运算乘积算法利用了n个密文计算过程当中底数相同,平方一次可以使用多次的特点,与普通计算相比,很大程度的减少了平方的运算次数,也因此节省了计算时间,提高了效率。
数据批解密模块:当某一解密者得到密文并且需要解密得到相应信息的时,首先对密文进行批量验证,然后进行解密。对密文进行验证的过程中采用批量验证,需要首先选择一个随机指数,使得错误概率得以限制。但是当批量验证存在错误密文的时候,还需要找到无效密文,因此可以根据无效密文比例求得最适合的批大小。
步骤7:解密者利用自己的私钥对接收到的密文进行批验证。在批验证的过程中,需要为n个密文随机的选择n个t比特的随机数,使得无效密文通过验证的概率为2-t。然后,对n个密文运行计算
步骤8:如果验证通过,解密者根据自己的私钥对密文进行解密,得到相应消息,计算mi=ei/u(i,1) z。
步骤9:如果验证不通过,则需要重新验证每个密文,找到无效密文。
其中,步骤7的计算可以利用快速的指数运算乘积算法,并且利用上式进行计算可以有效的提高效率。
综上所述,本发明包含一种基于批处理指数运算乘积的批Cramer-Shoup密码方法,该方法由***初始化模块、数据批加密模块、数据批解密模块三个模块实现。很大程度上提高了对于批量信息处理的速度,加快的大量信息同时加密和解密的速度,节省了计算资源,提高了运算效率,因此本方案是一个高效实用的方案。
Claims (7)
1.一种基于批处理指数运算乘积的批Cramer-Shoup密码方法,其特征在于:该方法运行步骤如下:
步骤一:***初始化模块:可信任权威机构TA调用初始化算法,选择安全参数和抗碰撞哈希函数,生成公钥和私钥;
步骤1.1:TA输入***安全参数λ,运行初始化算法输出一个阶数为素数q的群G;
步骤1.2:TA接下来运行随机数生成算法,随机选择G群中的两个生成元g1,g2,Zp域中的五个随机元素x1,x2,y1,y2,z;
步骤1.3:TA选择一种抗碰撞哈希函数H(·),该函数满足抗碰撞哈希函数的所有特性,输入为任意长度的0、1字符串,输出为映射到G群中的某一元素;
步骤1.4:由步骤1.2选择的生成元与随机数,计算h=g1 z最后,公钥表示为:PK=(g1,g2,c,d,h,H);私钥表示为:SK=(x1,x2,y1,y2,z);
步骤二:数据批加密模块
步骤2.1:不同时刻需要加密的信息量可能不同,因此加密者根据需要加密的信息数量,决定批的大小n;
步骤2.2:利用批处理指数运算乘积算法来计算
得到n个密文;
步骤三:数据批解密模块:当某一解密者得到密文并且需要解密得到相应信息的时,首先对密文进行批量验证,然后进行解密;对密文进行验证的过程中采用批量验证,需要首先选择一个随机指数,使得错误概率得以限制;但是当批量验证存在错误密文的时候,还需要找到无效密文,因此根据无效密文比例求得最适合的批大小;
步骤3.1:解密者利用自己的私钥对接收到的密文进行批验证,在批验证的过程中,需要为n个密文随机的选择n个t比特的随机数,使得无效密文通过验证的概率为2-t;然后,对n个密文运行计算
步骤3.2:如果验证通过,解密者根据自己的私钥对密文进行解密,得到相应消息,计算mi=ei/u(i,1) z;
步骤3.3:如果验证不通过,则需要重新验证每个密文,找到无效密文。
2.根据权利要求1所述的一种基于批处理指数运算乘积的批Cramer-Shoup密码方法,其特征在于:在步骤1.1中所述的“算法其运行方法如下:TA输入***安全参数λ,***根据λ的大小,选择相应的群;安全参数数值越大,所选择的群也越大。
3.根据权利要求1所述的一种基于批处理指数运算乘积的批Cramer-Shoup密码方法,其特征在于:步骤1.2中所述的“随机数生成算法”,随机选择域中元素的随机数生成函数从Pairing-Based Cryptosystems函数包中调用库函数运行。
4.根据权利要求1所述的一种基于批处理指数运算乘积的批Cramer-Shoup密码方法,其特征在于:步骤1.3中所述的抗碰撞哈希函数H(·)同样从Pairing-BasedCryptosystems函数包中调用库函数运行。
5.根据权利要求1所述的一种基于批处理指数运算乘积的批Cramer-Shoup密码方法,其特征在于:步骤2.1当中批的大小n越大,那么节省的计算量越大,但是批的大小的选择应该根据某一时刻通信量的多少决定。
6.根据权利要求1所述的一种基于批处理指数运算乘积的批Cramer-Shoup密码方法,其特征在于:步骤2.2当中采用的批处理指数运算乘积算法利用了n个密文计算过程当中底数相同,平方一次能使用多次的特点,与普通计算相比,很大程度的减少了平方的运算次数,节省了计算时间,提高了效率。
7.根据权利要求1所述的一种基于批处理指数运算乘积的批Cramer-Shoup密码方法,其特征在于:步骤3.1的计算利用快速的指数运算乘积算法,并且利用上式进行计算能有效的提高效率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510158706.5A CN104837131B (zh) | 2015-04-03 | 2015-04-03 | 一种基于批处理指数运算乘积的批Cramer-Shoup密码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510158706.5A CN104837131B (zh) | 2015-04-03 | 2015-04-03 | 一种基于批处理指数运算乘积的批Cramer-Shoup密码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104837131A CN104837131A (zh) | 2015-08-12 |
CN104837131B true CN104837131B (zh) | 2018-05-01 |
Family
ID=53814709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510158706.5A Active CN104837131B (zh) | 2015-04-03 | 2015-04-03 | 一种基于批处理指数运算乘积的批Cramer-Shoup密码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104837131B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3345336A4 (en) * | 2015-09-04 | 2019-04-10 | Hewlett-Packard Enterprise Development LP | PASSWORD GENERATION WITH KEY AND BYPASS PARAMETER |
CN108306730B (zh) * | 2018-03-05 | 2020-10-13 | 飞天诚信科技股份有限公司 | 一种在嵌入式***中生成密钥对的实现方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9088491B2 (en) * | 2012-03-07 | 2015-07-21 | Citrix Systems, Inc. | Systems and methods for comparing configuration files and generating corrective commands |
-
2015
- 2015-04-03 CN CN201510158706.5A patent/CN104837131B/zh active Active
Non-Patent Citations (2)
Title |
---|
公共云存储服务数据安全及隐私保护技术综述;李晖等;《计算机研究与发展》;20140115;第1397-1409页 * |
基于Paillier同态的无线自组网组密钥管理方案;何文才等;《计算机科学》;20131031;第114-118页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104837131A (zh) | 2015-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10116443B1 (en) | Pairing verification in supersingular isogeny-based cryptographic protocols | |
CN110313146B (zh) | 模糊度增强 | |
CN105099672B (zh) | 混合加密方法及实现该方法的装置 | |
US10218504B1 (en) | Public key validation in supersingular isogeny-based cryptographic protocols | |
Thabit et al. | A Novel Effective Lightweight Homomorphic Cryptographic Algorithm for data security in cloud computing | |
CN106059752B (zh) | 一种基于扩张密文的白盒密码加解密方法 | |
EP2742644B1 (en) | Encryption and decryption method | |
US10630476B1 (en) | Obtaining keys from broadcasters in supersingular isogeny-based cryptosystems | |
CN105306194A (zh) | 供加密档案和/或通讯协定的多重加密方法与*** | |
Agrawal et al. | Elliptic curve cryptography with hill cipher generation for secure text cryptosystem | |
Toorani et al. | A secure cryptosystem based on affine transformation | |
WO2020018454A1 (en) | Cryptography operations for secure post-quantum communications | |
KR101095386B1 (ko) | 이산화된 카오스 함수를 이용한 암호 시스템 | |
CN104883580A (zh) | 一种基于同态加密的视频安全卷积计算***及方法 | |
CN108400862A (zh) | 一种智能用电终端可信数据融合加密方法 | |
CN101867471A (zh) | 基于无理数的des认证加密算法 | |
CN104837131B (zh) | 一种基于批处理指数运算乘积的批Cramer-Shoup密码方法 | |
Kapoor et al. | Analysis of symmetric and asymmetric key algorithms | |
Prihandoko et al. | Implementation of super H-antimagic total graph on establishing stream cipher | |
CN102246456A (zh) | 用于对抗对基于循环群的加密的侧通道攻击的***和方法 | |
CN107465508A (zh) | 一种软硬件结合构造真随机数的方法、***和设备 | |
CN107493287A (zh) | 工控网络数据安全*** | |
CN105763322A (zh) | 一种可混淆的加密密钥隔离数字签名方法及*** | |
US10880278B1 (en) | Broadcasting in supersingular isogeny-based cryptosystems | |
CN110474967B (zh) | 块链实验***及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |