CN111835766B - 一种可重随机的公钥加解密方法 - Google Patents

一种可重随机的公钥加解密方法 Download PDF

Info

Publication number
CN111835766B
CN111835766B CN202010672831.9A CN202010672831A CN111835766B CN 111835766 B CN111835766 B CN 111835766B CN 202010672831 A CN202010672831 A CN 202010672831A CN 111835766 B CN111835766 B CN 111835766B
Authority
CN
China
Prior art keywords
ciphertext
public key
new
elements
module
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
Application number
CN202010672831.9A
Other languages
English (en)
Other versions
CN111835766A (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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202010672831.9A priority Critical patent/CN111835766B/zh
Publication of CN111835766A publication Critical patent/CN111835766A/zh
Application granted granted Critical
Publication of CN111835766B publication Critical patent/CN111835766B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种可重随机的公钥加解密方法,目的是解决现有加解密方法中存在的密文长度不固定,运行效率较低,重随机模块需要公钥等缺点。技术方案是先构建由密钥生成模块、加密模块、解密模块和重随机模块组成的加解密系统。接收者运行密钥生成模块生成公钥和私钥,并将公钥通过安全信道发送给发送者。发送者采用接收者的公钥,运行加密模块生成密文,并将密文发送给公共服务器。公共服务器运行重随机模块,对密文C进行重随机,将得到的新密文C′发送给接收者。接收者运行解密模块,采用私钥对收到的密文C′进行解密。本发明密文长度固定,运行效率高,重随机模块不需要使用公钥,公共服务器不需提前进行配置即可对密文进行重随机处理。

Description

一种可重随机的公钥加解密方法
技术领域
本发明属于信息安全技术领域,涉及一种公钥加解密方法,具体涉及一种高效的具有可重随机性的公钥加解密方法。
背景技术
目前在密码领域具有可重随机性的公钥加解密方法主要有以下几种:
一、Gro04方法:由Groth在2004年TCC会议中提出。具体包括以下步骤:
第一步,接收者(即接收者所在的服务器)运行密钥生成模块生成公钥和私钥,并将其公钥通过安全信道发送给发送者(即发送者所在的服务器)。具体步骤如下:
1.1生成元素个数为n的乘法循环群
Figure GDA0003277960160000011
和加法整数群
Figure GDA0003277960160000012
根据国际通用的美国国家标准与技术研究院(NIST)标准,当n的大小为21024时,加解密方法的安全性等级为80比特,即攻击者至少需要进行280次运算才能破解该方法。
Figure GDA0003277960160000013
中的元素均为正整数;
Figure GDA0003277960160000014
中的元素为0到n-1之间的整数;
1.2构造抗碰撞哈希函数h(m),其中m为一个k维数组,k的大小等于需要加密的明文的维数,数组元素取值为-1或者1。哈希函数的输出是长度为t的01序列;
1.3从
Figure GDA0003277960160000015
中随机选取k个元素h1,h2,…,hk
1.4从
Figure GDA0003277960160000016
中随机选取2k个元素x1,x2,…,x2k-1,x2k
1.5计算公钥第一元素
Figure GDA0003277960160000017
公钥第二元素
Figure GDA0003277960160000018
......,公钥第2k-1元素
Figure GDA0003277960160000019
公钥第2k元素
Figure GDA00032779601600000110
1.6从
Figure GDA00032779601600000111
中随机选取4k个元素w1,w2,…,W2k-1,W2k,l1,l2,…,l2k-1,l2k
1.7计算公钥第2k+1元素
Figure GDA00032779601600000112
和公钥第2k+2元素
Figure GDA00032779601600000113
Figure GDA00032779601600000114
1.8将g1,g2,h1,…,g2k-1,g2k,hk,c,d,h(m)组成公钥pk,将x1,…,x2k,w1,…,W2k,l1,…,l2k组成私钥sk。
第二步,发送者运行加密模块生成密文,并将密文发送给公共服务器。令需要加密的明文为m,具体步骤如下:
2.1从
Figure GDA0003277960160000021
中随机选取元素r;
2.2构造密文C,
Figure GDA0003277960160000022
将密文C发送给公共服务器。
第三步,公共服务器运行重随机模块,对密文C进行重随机操作,将得到的新密文C′发送给接收者。具体步骤如下:
3.1重随机模块将收到的密文C解析成3k+1元组(u1,u2,v1,…,u2k-1,u2k,vk,α);
3.2从
Figure GDA0003277960160000023
中随机选取元素r′,其中r′≠0;
3.3构造新密文C′,
Figure GDA0003277960160000024
将新密文C′发送给接收者。
第四步,接收者运行解密模块,对收到的新密文C′进行解密。具体步骤如下:
4.1将收到的密文C′解析成3k+1元组(u′1,u′2,v′1,…,u′2k-1,u′2k,v′k,α′);
4.2对于所有i∈{1,…,k},计算满足等式
Figure GDA0003277960160000025
的mi,其中mi∈{-1,1};
4.3令明文m=(m1,…,mk);
4.4检查α′是否等于
Figure GDA0003277960160000026
若相等,明文m即为解密结果,否则密文不合法,解密结果为空。
Gro04方法的缺陷在于其密文C元素个数与明文m的维数成正比关系。这一点可以从上述过程第二步中的2.2看出,当明文的维数为k时,对应的密文C元素个数为3k+1。相应地,该加解密方法的各个模块的运行时间也会随明文的大小线性增长。
二、PR07方法:由Prabhakaran和Rosulek在2007年Crypto会议上提出。其具体包括以下步骤:
第一步,接收者运行密钥生成模块生成公钥和私钥,并将其公钥通过安全信道发送给发送者。具体步骤如下:
1.1生成元素个数为p的第一乘法循环群
Figure GDA0003277960160000031
和第一加法整数群
Figure GDA0003277960160000032
生成元素个数为q的第二乘法循环群
Figure GDA0003277960160000033
和第二加法整数群
Figure GDA0003277960160000034
其中p和q均为素数,且p=2q+1,p的大小与加解密方法的安全性等级相关。根据国际通用的美国国家标准与技术研究院(NIST)标准,当p的数量级为21024时,加解密方法的安全性等级为80比特。
Figure GDA0003277960160000035
Figure GDA0003277960160000036
中的元素均为正整数,
Figure GDA0003277960160000037
中的元素为0到p-1之间的整数,
Figure GDA0003277960160000038
中的元素为0到q-1之间的整数;
1.2构造抗碰撞哈希函数h(m),其中m为
Figure GDA0003277960160000039
中的元素。哈希函数的输出是
Figure GDA00032779601600000310
中的元素;
1.3从
Figure GDA00032779601600000311
中随机选取2个元素
Figure GDA00032779601600000312
Figure GDA00032779601600000313
中随机选取4个元素a1,a2,b1,b2
1.4计算公钥第一元素
Figure GDA00032779601600000314
计算公钥第二元素
Figure GDA00032779601600000315
1.5从
Figure GDA00032779601600000316
中随机选取4个元素g1,g2,g3,g4;从
Figure GDA00032779601600000317
中随机选取12个元素c1,c2,c3,c4,d1,d2,d3,d4,e1,e2,e3,e4
1.6计算公钥第三元素
Figure GDA00032779601600000318
公钥第四元素
Figure GDA00032779601600000319
和公钥第五元素
Figure GDA00032779601600000320
1.7从
Figure GDA00032779601600000321
中随机选取4个互不相等的元素z1,z2,z3,z4
1.8将
Figure GDA00032779601600000322
A,B,g1,g2,g3,g4,C,D,E,z1,z2,z3,z4,h组成公钥pk;将a1,a2,b1,b2,c1,c2,c3,c4,d1,d2,d3,d4,e1,e2,e3,e4组成私钥sk。
第二步,发送者运行加密模块,生成密文,并将密文发送给公共服务器。令需要加密的明文为m,具体步骤如下:
2.1从
Figure GDA00032779601600000323
中随机选取2个元素x,y;从
Figure GDA00032779601600000324
中随机选取元素u;
2.2计算密文第一元素
Figure GDA00032779601600000325
密文第二元素
Figure GDA00032779601600000326
密文第三元素
Figure GDA00032779601600000327
密文第四元素
Figure GDA00032779601600000328
密文第五元素
Figure GDA00032779601600000329
密文第六元素
Figure GDA00032779601600000330
密文第七元素
Figure GDA00032779601600000331
密文第八元素
Figure GDA00032779601600000332
密文第九元素GX=mCx,密文第十元素PX=(DEh(m))x,密文第十一元素GY=Cy,密文第十二元素PY=(DEh(m))y
2.3从
Figure GDA0003277960160000041
中随机选取2个元素v,w;
2.4计算密文第十三元素
Figure GDA0003277960160000042
密文第十四元素
Figure GDA0003277960160000043
密文第十五元素
Figure GDA0003277960160000044
密文第十六元素
Figure GDA0003277960160000045
密文第十七元素AV=uAv,密文第十八元素BV=Bv,密文第十九元素AW=Aw,密文第二十元素BW=Bw
2.5将X1,X2,X3,X4,GX,PX,Y1,Y2,Y3,Y4,GY,PY,V1,V2,AV,BV,W1,W2,AW,BW组成密文CT。将CT发送给公共服务器。
第三步,公共服务器运行重随机模块,对密文CT进行重随机,将得到的新密文CT′发送给接收者。具体步骤如下:
3.1将密文CT解析成二十元组(X1,X2,X3,X4,GX,PX,Y1,Y2,Y3,Y4,GY,PY,V1,V2,AV,BV,W1,W2,AW,BW);
3.2从
Figure GDA0003277960160000046
中随机选取2个元素s,t;从
Figure GDA0003277960160000047
中随机选取元素u′;
3.3计算新密文第十三元素
Figure GDA0003277960160000048
新密文第十四元素
Figure GDA0003277960160000049
新密文第十五元素
Figure GDA00032779601600000410
新密文第十六元素
Figure GDA00032779601600000411
新密文第十七元素
Figure GDA00032779601600000412
新密文第十八元素
Figure GDA00032779601600000413
新密文第十九元素
Figure GDA00032779601600000414
新密文第二十元素
Figure GDA00032779601600000415
3.4从
Figure GDA00032779601600000416
中随机选取2个元素s′,t′;
3.5计算新密文第一元素
Figure GDA00032779601600000417
新密文第二元素
Figure GDA00032779601600000418
新密文第三元素
Figure GDA00032779601600000419
新密文第四元素
Figure GDA00032779601600000420
新密文第五元素
Figure GDA00032779601600000421
新密文第六元素
Figure GDA00032779601600000422
新密文第七元素
Figure GDA00032779601600000423
新密文第八元素
Figure GDA00032779601600000424
新密文第九元素
Figure GDA00032779601600000425
新密文第十元素
Figure GDA00032779601600000426
Figure GDA00032779601600000427
新密文第十一元素
Figure GDA00032779601600000428
新密文第十二元素
Figure GDA00032779601600000429
3.6将X′1,X′2,X′3,X′4,G′X,P′X,Y′1,Y′2,Y′3,Y′4,G′Y,P′Y,V′1,V′2,A′V,B′V,W′1,W′2,A′W,B′W组成新密文CT′。将新密文CT′发送给接收者。
第四步,接收者运行解密模块,对收到的密文CT′进行解密。具体步骤如下:
4.1将密文CT′解析成二十元组(X′1,X′2,X′3,X′4,G′X,P′X,Y′1,Y′2,Y′3,Y′4,G′Y,P′Y,V′1,V′2,A′V,B′V,W′1,W′2,A′W,B′W);
4.2检查第一三元组(B′V,A′W,B′W)是否等于
Figure GDA0003277960160000051
若不相等,则密文不合法;
4.3计算临时第一元素
Figure GDA0003277960160000052
4.4计算临时第二元素
Figure GDA0003277960160000053
临时第三元素
Figure GDA0003277960160000054
临时第四元素
Figure GDA0003277960160000055
临时第五元素
Figure GDA0003277960160000056
临时第六元素
Figure GDA0003277960160000057
临时第七元素
Figure GDA0003277960160000058
临时第八元素
Figure GDA0003277960160000059
临时第九元素
Figure GDA00032779601600000510
4.5计算明文
Figure GDA00032779601600000511
4.6检查第二三元组(G′Y,P′X,P′Y)是否等于
Figure GDA00032779601600000512
若不相等,则密文CT′不合法;否则,得到明文m。
PR07方法克服了Gro04方法的缺陷,加密得到的密文CT′长度是固定的。但是,从上述对PR07方法的描述可以看到,该方法的加密、解密和重随机模块均有大量的指数运算,而指数运算相比于其他运算而言需要花费较长时间。因此,PR07方法的运行效率不高。
三、FFHR19方法:由Faonio,Fiore,Herranz和Rafols在2019年AsiaCrypt会议上提出。其具体包括以下步骤:
第一步,接收者运行密钥生成模块生成公钥和私钥,并将其公钥通过安全信道发送给发送者。具体步骤如下:
1.1密钥生成模块生成非对称双线性群五元组
Figure GDA00032779601600000513
其中q为素数。根据国际通用的美国国家标准与技术研究院(NIST)标准,当q的数量级为2160时,加解密方法的安全性等级为80比特。
Figure GDA00032779601600000514
中的元素个数均为q,
Figure GDA00032779601600000515
Figure GDA00032779601600000516
中的元素均为椭圆曲线上点的坐标,可表示为两个整数,
Figure GDA00032779601600000517
中的元素可表示为整数数组,e为一个可有效计算的非退化的双线性映射,即
Figure GDA00032779601600000518
生成元素个数为q的加法整数群
Figure GDA00032779601600000519
其元素为0到q-1的整数;
1.2从
Figure GDA0003277960160000061
中随机选取元素h1;从
Figure GDA0003277960160000062
中随机选取元素h2;为简洁起见,对于任意
Figure GDA0003277960160000063
将椭圆曲线坐标元素h1与标量元素a的乘法运算表示为[a]1,椭圆曲线坐标元素h2与标量元素b的乘法运算表示为[b]2
Figure GDA0003277960160000064
上的元素e(h1,h2)与标量元素a的指数运算表示为[a]T;对于任意k维向量
Figure GDA0003277960160000065
Figure GDA0003277960160000066
1.3从
Figure GDA0003277960160000067
中随机选取20个元素a1,a2,f1,f2,g1,g2,F1,…,F4,G1,…,G6,D1,D2,E1,E2;令第一列向量
Figure GDA0003277960160000068
第二列向量
Figure GDA0003277960160000069
第三列向量
Figure GDA00032779601600000610
第四列向量
Figure GDA00032779601600000611
第五列向量
Figure GDA00032779601600000612
第一矩阵
Figure GDA00032779601600000613
第二矩阵
Figure GDA00032779601600000614
第三矩阵
Figure GDA00032779601600000615
1.4将
Figure GDA00032779601600000616
组成公钥pk;将
Figure GDA00032779601600000617
F,G组成私钥sk。
第二步,发送者运行加密模块,采用接收者的公钥生成密文,并将密文发送给公共服务器。令需要加密的明文为m,具体步骤如下:
2.1从
Figure GDA00032779601600000618
中随机选取2个元素r,s;
2.2计算第六列向量
Figure GDA00032779601600000619
临时第一元素
Figure GDA00032779601600000620
第七列向量
Figure GDA00032779601600000621
2.3计算第八列向量
Figure GDA00032779601600000622
2.4计算临时第二元素
Figure GDA00032779601600000623
临时第三元素
Figure GDA00032779601600000624
密文元素[π]T=[π1]T+[π2]T
2.5将
Figure GDA00032779601600000625
组成密文C。将密文C发送给公共服务器。
第三步,公共服务器运行重随机模块,对密文C进行重随机,将得到的新密文C′发送给接收者。具体步骤如下:
3.1将密文C解析成三元组
Figure GDA00032779601600000626
Figure GDA00032779601600000627
解析成二元组
Figure GDA00032779601600000628
3.2从
Figure GDA0003277960160000071
中随机选取2个元素
Figure GDA0003277960160000072
3.3计算第九列向量
Figure GDA0003277960160000073
第十列向量
Figure GDA0003277960160000074
3.4计算临时第四元素
Figure GDA0003277960160000075
Figure GDA0003277960160000076
临时第五元素
Figure GDA0003277960160000077
Figure GDA0003277960160000078
新密文元素
Figure GDA0003277960160000079
3.5将
Figure GDA00032779601600000710
组成新密文C′。将新密文C′发送给接收者。
第四步,接收者运行解密模块,对收到的密文C′进行解密。具体步骤如下:
4.1将密文C′解析成三元组
Figure GDA00032779601600000711
Figure GDA00032779601600000712
解析成二元组
Figure GDA00032779601600000713
4.2计算明文
Figure GDA00032779601600000714
4.3计算临时第六元素
Figure GDA00032779601600000715
临时第七元素
Figure GDA00032779601600000716
Figure GDA00032779601600000717
4.4检查
Figure GDA00032779601600000718
是否等于
Figure GDA00032779601600000719
若不相等,则密文不合法,否则,得到明文m。
该方法的密文C的元素个数是现有方法中最少的,仅有6个元素(
Figure GDA00032779601600000720
包含3个元素,
Figure GDA00032779601600000721
包含2个元素,[π]T包含1个元素)。但是,其加密、解密和重随机模块中均涉及到双线性对运算。相比于循环群上的指数运算,双线性对运算耗时较长,故该方法的运算效率较低。该方法的另一点不足在于重随机模块部分需要公钥参与其中。在实际应用中,运行重随机模块的公共服务器需要提前知晓收到的密文所对应的公钥。如果采用将公钥附加在密文之后的做法,那么攻击者可以追踪密文在通信信道的传播路径,从而使接收者的隐私被泄漏。
综上所述,现有加解密方法存在各种不同的缺陷,包括密文长度不固定,运行效率较低,重随机模块需要公钥等。
发明内容
本发明要解决的技术问题是提供一种可重随机的公钥加解密方法,解决现有加解密方法中存在的密文长度不固定,运行效率较低,重随机模块需要公钥等缺点。
本发明技术方案是:
第一步:构建加解密系统。该系统中有三个角色,分别为发送者、接收者和公共服务器。加解密系统由四个模块组成,分别为密钥生成模块、加密模块、解密模块和重随机模块。其中密钥生成模块和解密模块部署在接收者,加密模块部署在发送者,重随机模块部署在公共服务器。
第二步:接收者运行密钥生成模块生成公钥和私钥,并将公钥通过安全信道发送给发送者。具体步骤如下:
2.1生成第一二次剩余群
Figure GDA0003277960160000081
第二二次剩余群
Figure GDA0003277960160000082
第一整数群
Figure GDA0003277960160000083
和第二整数群
Figure GDA0003277960160000084
其中p和q为素数,p=2q+1并且存在素数s使得q=2s+1,p的大小与加解密方法的安全性等级相关,根据国际通用的美国国家标准与技术研究院(NIST)标准,当p的数量级为21024时,加解密方法的安全性等级为80比特。因此,
Figure GDA0003277960160000085
Figure GDA0003277960160000086
中的元素均为正整数,
Figure GDA0003277960160000087
中的元素为从0到p-1的整数,
Figure GDA0003277960160000088
中的元素为从0到q-1的整数;且p的数量级为21024
2.2从
Figure GDA0003277960160000089
中随机选择2个元素g1,g2;从
Figure GDA00032779601600000810
中随机选择2个元素g3,g4
2.3构造哈希函数H(m*),其输入m*
Figure GDA00032779601600000811
中的元素,输出为
Figure GDA00032779601600000812
中的元素。H(m*)具体为:将m*划分成两个512比特的片段m0,m1,将m0与512比特长的全0序列进行拼接得到1024比特的片段m′0,将m1与512比特长的全1序列进行拼接得到1024比特的片段m′1,对m′0运算美国国家标准与技术研究院发布的SHA-512函数得到512比特长的输出
Figure GDA00032779601600000813
对m′1运算SHA-512函数得到512比特长的输出
Figure GDA00032779601600000814
Figure GDA00032779601600000815
Figure GDA00032779601600000816
进行拼接得到1024比特长的01序列,即
Figure GDA00032779601600000817
中的元素;
2.4从
Figure GDA00032779601600000818
中随机选取10个元素a1,a2,b1,b2,c1,c2,d1,d2,e1,e2
2.5计算公钥第一元素
Figure GDA00032779601600000819
公钥第二元素
Figure GDA00032779601600000820
公钥第三元素
Figure GDA0003277960160000091
公钥第四元素
Figure GDA0003277960160000092
公钥第五元素
Figure GDA0003277960160000093
2.6从
Figure GDA0003277960160000094
中随机选取2个元素f1,f2
2.7计算公钥第六元素
Figure GDA0003277960160000095
2.8从
Figure GDA0003277960160000096
中随机选取2个元素z0,z1,其中z0≠z1
2.9将a1,a2,b1,b2,c1,c2,d1,d2,e1,e2,f1,f2组成私钥sk,将g1,g2,g3,g4,A,B,C,D,E,F,z0,z1,H(m*)组成公钥pk;
2.10将公钥pk通过安全信道发送给发送者。
第三步:发送者采用接收者的公钥,运行加密模块生成密文,并将密文发送给公共服务器。具体步骤如下:
3.1将需加密的明文M(是转化为十进制数后不大于p的二进制数)按照二进制转十进制的方法,转化为整数M′。计算中间明文m=(M′)2mod(2p+1),m即为
Figure GDA0003277960160000097
中的元素;
3.2从
Figure GDA0003277960160000098
中随机选取2个元素w1,w2
3.3从
Figure GDA0003277960160000099
中随机选取2个元素w3,w4
3.4从
Figure GDA00032779601600000910
中随机选取元素u;
3.5计算明文的哈希值θ=H(m);
3.6计算密文第一元素
Figure GDA00032779601600000911
密文第二元素
Figure GDA00032779601600000912
密文第三元素
Figure GDA00032779601600000913
密文第四元素
Figure GDA00032779601600000914
密文第五元素
Figure GDA00032779601600000915
Figure GDA00032779601600000916
密文第六元素
Figure GDA00032779601600000917
密文第七元素
Figure GDA00032779601600000918
密文第八元素
Figure GDA00032779601600000919
密文第九元素
Figure GDA00032779601600000920
密文第十元素
Figure GDA00032779601600000921
密文第十一元素
Figure GDA00032779601600000922
密文第十二元素
Figure GDA00032779601600000923
密文第十三元素
Figure GDA00032779601600000924
Figure GDA00032779601600000925
密文第十四元素
Figure GDA00032779601600000926
密文第十五元素
Figure GDA00032779601600000927
密文第十六元素
Figure GDA00032779601600000928
3.7将x1,x2,x3,x4,x5组成第一五元组X,将y1,y2,y3,y4,y5组成第二五元组Y,将u1,u2,u3组成第一三元组U,将v1,v2,v3组成第二三元组V;
3.8将X,Y,U,V组成密文C,将密文C发送给公共服务器。
第四步:公共服务器运行重随机模块,对密文C进行重随机,将得到的新密文C′发送给接收者。具体步骤如下:
4.1将密文C解析成(X,Y,U,V),其中第一五元组X=(x1,x2,x3,x4,x5),第二五元组Y=(y1,y2,y3,y4,y5),第一三元组U=(u1,u2,u3)以及第二三元组V=(v1,v2,v3);
4.2从
Figure GDA0003277960160000101
中随机选取2个元素r1,r2,从
Figure GDA0003277960160000102
中随机选取2个元素r3,r4
4.3从
Figure GDA0003277960160000103
中随机选取元素r*
4.4计算新密文第一元素
Figure GDA0003277960160000104
新密文第二元素
Figure GDA0003277960160000105
新密文第三元素
Figure GDA0003277960160000106
新密文第四元素
Figure GDA0003277960160000107
新密文第五元素
Figure GDA0003277960160000108
Figure GDA0003277960160000109
新密文第六元素
Figure GDA00032779601600001010
新密文第七元素
Figure GDA00032779601600001011
新密文第八元素
Figure GDA00032779601600001012
新密文第九元素
Figure GDA00032779601600001013
新密文第十元素
Figure GDA00032779601600001014
新密文第十一元素
Figure GDA00032779601600001015
新密文第十二元素
Figure GDA00032779601600001016
新密文第十三元素
Figure GDA00032779601600001017
Figure GDA00032779601600001018
新密文第十四元素
Figure GDA00032779601600001019
新密文第十五元素
Figure GDA00032779601600001020
新密文第十六元素
Figure GDA00032779601600001021
4.5将x′1,x′2,x′3,x′4,x′5组成第三五元组X′,将y′1,y′2,y′3,y′4,y′5组成第四五元组Y′,将u′1,u′2,u′3组成第三三元组U′,将v′1,v′2,v′3组成第四三元组V′;
4.6将X′,Y′,U′,V′组成新密文C′,将新密文C′发送给接收者。
第五步,接收者运行解密模块,采用私钥对收到的密文C′进行解密。具体步骤如下:
5.1将密文C′解析成(X′,Y′,U′,V′),其中第三五元组X′=(x′1,x′2,x′3,x′4,x′5),第四五元组Y′=(y′1,y′2,y′3,y′4,y′5),第三三元组U′=(u′1,u′2,u′3)以及第四三元组V′=(v′1,v′2,v′3);
5.2还原中间明文
Figure GDA00032779601600001022
和元素
Figure GDA00032779601600001023
计算M′使得m=(M′)2mod(2q+1)。将M′按照十进制转二进制,计算得到明文M。此时还不能直接输出明文M,需要进一步确定密文C′是否合法;
5.3计算哈希值θ=H(m);
5.4计算临时第一元素
Figure GDA0003277960160000111
5.5判断
Figure GDA0003277960160000112
是否等于v′3,若不相等,则密文不合法,转第六步;若相等,转5.6;
5.6计算临时第二元素
Figure GDA0003277960160000113
临时第三元素
Figure GDA0003277960160000114
临时第四元素
Figure GDA0003277960160000115
临时第五元素
Figure GDA0003277960160000116
临时第六元素
Figure GDA0003277960160000117
Figure GDA0003277960160000118
5.7判断第五五元组
Figure GDA0003277960160000119
是否等于第六五元组(x′4,x′5,y′3,y′4,y′5),若不相等,则密文不合法,输出“密文不合法”消息,转第六步;若相等,则解密结果为M,转第六步。
第六步,加解密系统结束运行。
采用本发明可以得到如下效果:
在Ubuntu14.04 64位系统、英特尔酷睿i5-5257处理器,4G内存的环境下,使用基于charm-crypto库(v0.43版本)的本发明与现有方法分别处理大小为1Kb的明文时的对比如下表所示。
方法 Gro04 PR07 FFHR19 本发明
公钥大小(Kb) 3000 11 10.8 6
密文大小(Kb) 3000 20 3.8 16
加密时间(ms) 2003.19 14.69 40.22 8.01
解密时间(ms) 2672.92 21.37 32.76 10.68
重随机时间(ms) 2003.94 16.03 61.57 12.01
其中加密、解密和重随机时间均为分别重复运行1000次后取平均值得到的。
从上表中,可以看出本发明的加密、解密和重随机时间均小于现有方法。这是由于相比于Gro04方法,本发明中生成的密文大小不随明文大小线性增长;相比于PR07方法,本发明中的加密、解密和重随机模块需要执行的指数运算要少;相比于FFHR19方法,本发明中不涉及耗时较长的双线性对运算。
同时,本发明的密文大小小于PR07方法,但是大于FFHR19方法。本发明中使用的群元素与PR07方法相同,而与FFHR19方法截然不同。出于运行效率的考虑,本发明没有采用FFHR19方法中的密文结构,而是在PR07方法基础上成功进行了改进和优化。
最后,本发明第四步的重随机过程不需要使用公钥,而FFHR19方法不具有该特性。本发明的密文可以依靠自身中的元素相互进行运算,而不改变密文的有效性以及其底层中的明文。在实际应用中,该特性使得运行重随机模块的公共服务器不需要提前进行配置即可对收到的密文进行重随机处理。
附图说明
图1是本发明第一步构建的加解密系统的逻辑结构图;
图2是本发明的总体流程图。
具体实施方式:
以下结合说明书附图和具体实施例对本发明作进一步描述。
如图2所示,本发明包括以下步骤:
第一步:构建加解密系统。如图1所示,加解密系统中有三个角色,分别为发送者、接收者和公共服务器。加解密系统由四个模块组成,分别为密钥生成模块、加密模块、解密模块和重随机模块。其中密钥生成模块和解密模块部署在接收者,加密模块部署在发送者,重随机模块部署在公共服务器。
第二步:接收者运行密钥生成模块生成公钥和私钥,并将公钥通过安全信道发送给发送者。具体步骤如下:
2.1生成第一二次剩余群
Figure GDA0003277960160000121
第二二次剩余群
Figure GDA0003277960160000122
第一整数群
Figure GDA0003277960160000123
和第二整数群
Figure GDA0003277960160000124
其中p和q为素数,p=2q+1并且存在素数s使得q=2s+1,p的数量级为21024
Figure GDA0003277960160000125
Figure GDA0003277960160000126
中的元素均为正整数,
Figure GDA0003277960160000127
中的元素为从0到p-1的整数,
Figure GDA0003277960160000128
中的元素为从0到q-1的整数;
2.2从
Figure GDA0003277960160000129
中随机选择2个元素g1,g2;从
Figure GDA00032779601600001210
中随机选择2个元素g3,g4
2.3构造哈希函数H(m*),其输入m为
Figure GDA00032779601600001211
中的元素,输出为
Figure GDA00032779601600001212
中的元素。H(m*)具体为:将m*划分成两个512比特的片段m0,m1,将m0与512比特长的全0序列进行拼接得到1024比特的片段m′0,将m1与512比特长的全1序列进行拼接得到1024比特的片段m′1,对m′0运算美国国家标准与技术研究院发布的SHA-512函数得到512比特长的输出
Figure GDA0003277960160000131
对m′1运算SHA-512函数得到512比特长的输出
Figure GDA0003277960160000132
Figure GDA0003277960160000133
Figure GDA0003277960160000134
进行拼接得到1024比特长的01序列,即
Figure GDA0003277960160000135
中的元素;
2.4从
Figure GDA0003277960160000136
中随机选取10个元素a1,a2,b1,b2,c1,c2,d1,d2,e1,e2
2.5计算公钥第一元素
Figure GDA0003277960160000137
公钥第二元素
Figure GDA0003277960160000138
公钥第三元素
Figure GDA0003277960160000139
公钥第四元素
Figure GDA00032779601600001310
公钥第五元素
Figure GDA00032779601600001311
2.6从
Figure GDA00032779601600001312
中随机选取2个元素f1,f2
2.7计算公钥第六元素
Figure GDA00032779601600001313
2.8从
Figure GDA00032779601600001314
中随机选取2个元素z0,z1,其中z0≠z1
2.9将a1,a2,b1,b2,c1,c2,d1,d2,e1,e2,f1,f2组成私钥sk,将g1,g2,g3,g4,A,B,C,D,E,F,z0,z1,H(m*)组成公钥pk;
2.10将公钥pk通过安全信道发送给发送者。
第三步:发送者采用接收者的公钥,运行加密模块生成密文,并将密文发送给公共服务器。具体步骤如下:
3.1将需加密的明文M按照二进制转十进制的方法,转化为整数M′。计算中间明文m=(M′)2mod(2p+1),m即为
Figure GDA00032779601600001315
中的元素;
3.2从
Figure GDA00032779601600001316
中随机选取2个元素w1,w2
3.3从
Figure GDA00032779601600001317
中随机选取2个元素w3,w4
3.4从
Figure GDA00032779601600001318
中随机选取元素u;
3.5计算明文的哈希值θ=H(m);
3.6计算密文第一元素
Figure GDA00032779601600001319
密文第二元素
Figure GDA00032779601600001320
密文第三元素
Figure GDA00032779601600001321
密文第四元素
Figure GDA00032779601600001322
密文第五元素
Figure GDA00032779601600001323
Figure GDA00032779601600001324
密文第六元素
Figure GDA00032779601600001325
密文第七元素
Figure GDA00032779601600001326
密文第八元素
Figure GDA0003277960160000141
密文第九元素
Figure GDA0003277960160000142
密文第十元素
Figure GDA0003277960160000143
密文第十一元素
Figure GDA0003277960160000144
密文第十二元素
Figure GDA0003277960160000145
密文第十三元素
Figure GDA0003277960160000146
Figure GDA0003277960160000147
密文第十四元素
Figure GDA0003277960160000148
密文第十五元素
Figure GDA0003277960160000149
密文第十六元素
Figure GDA00032779601600001410
3.7将x1,x2,x3,x4,x5组成第一五元组X,将y1,y2,y3,y4,y5组成第二五元组Y,将u1,u2,u3组成第一三元组U,将v1,v2,v3组成第二三元组V;
3.8将X,Y,U,V组成密文C,将密文C发送给公共服务器。
第四步:公共服务器运行重随机模块,对密文C进行重随机,将得到的新密文C′发送给接收者。具体步骤如下:
4.1将密文C解析成(X,Y,U,V),其中第一五元组X=(x1,x2,x3,x4,x5),第二五元组Y=(y1,y2,y3,y4,y5),第一三元组U=(u1,u2,u3)以及第二三元组V=(v1,v2,v3);
4.2从
Figure GDA00032779601600001411
中随机选取2个元素r1,r2,从
Figure GDA00032779601600001412
中随机选取2个元素r3,r4
4.3从
Figure GDA00032779601600001413
中随机选取元素r*
4.4计算新密文第一元素
Figure GDA00032779601600001414
新密文第二元素
Figure GDA00032779601600001415
新密文第三元素
Figure GDA00032779601600001416
新密文第四元素
Figure GDA00032779601600001417
新密文第五元素
Figure GDA00032779601600001418
Figure GDA00032779601600001419
新密文第六元素
Figure GDA00032779601600001420
新密文第七元素
Figure GDA00032779601600001421
新密文第八元素
Figure GDA00032779601600001422
新密文第九元素
Figure GDA00032779601600001423
新密文第十元素
Figure GDA00032779601600001424
新密文第十一元素
Figure GDA00032779601600001425
新密文第十二元素
Figure GDA00032779601600001426
新密文第十三元素
Figure GDA00032779601600001427
Figure GDA00032779601600001428
新密文第十四元素
Figure GDA00032779601600001429
新密文第十五元素
Figure GDA00032779601600001430
新密文第十六元素
Figure GDA00032779601600001431
4.5将x′1,x′2,x′3,x′4,x′5组成第三五元组X′,将y′1,y′2,y′3,y′4,y′5组成第四五元组Y′,将u′1,u′2,u′3组成第三三元组U′,将v′1,v′2,v′3组成第四三元组V′;
4.6将X′,Y′,U′,V′组成新密文C′,将新密文C′发送给接收者。
第五步,接收者运行解密模块,采用私钥对收到的密文C′进行解密。具体步骤如下:
5.1将密文C′解析成(X′,Y′,U′,V′),其中第三五元组X′=(x′1,x′2,x′3,x′4,x′5),第四五元组Y′=(y′1,y′2,y′3,y′4,y′5),第三三元组U′=(u′1,u′2,u′3)以及第四三元组V′=(v′1,v′2,v′3);
5.2还原中间明文
Figure GDA0003277960160000151
和元素
Figure GDA0003277960160000152
计算M′使得m=(M′)2mod(2q+1)。将M′按照十进制转二进制,计算得到明文M。此时还不能直接输出明文M,需要进一步确定密文C′是否合法;
5.3计算哈希值θ=H(m);
5.4计算临时第一元素
Figure GDA0003277960160000153
5.5判断
Figure GDA0003277960160000154
是否等于v′3,若不相等,则密文不合法,转第六步;若相等,转5.6;
5.6计算临时第二元素
Figure GDA0003277960160000155
临时第三元素
Figure GDA0003277960160000156
临时第四元素
Figure GDA0003277960160000157
临时第五元素
Figure GDA0003277960160000158
临时第六元素
Figure GDA0003277960160000159
Figure GDA00032779601600001510
5.7判断第五五元组
Figure GDA00032779601600001511
是否等于第六五元组(x′4,x′5,y′3,y′4,y′5),若不相等,则密文不合法,输出“密文不合法”消息,转第六步;若相等,则解密结果为M,转第六步。
第六步,加解密系统结束运行。
最后说明的是,以上仅是本发明的优选实施例,并非对本发明作任何形式上的限制。虽然本发明已以优选实施例揭露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围的情况下,都可利用上述揭示的技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。

Claims (4)

1.一种可重随机的公钥加解密方法,其特征在于包括以下步骤:
第一步:构建加解密系统,加解密系统由密钥生成模块、加密模块、解密模块和重随机模块组成,其中密钥生成模块和解密模块部署在接收者,加密模块部署在发送者,重随机模块部署在公共服务器;所述接收者指接收者所在的服务器,所述发送者指发送者所在的服务器;
第二步:接收者运行密钥生成模块生成公钥和私钥,并将公钥通过安全信道发送给发送者,具体步骤如下:
2.1生成第一二次剩余群
Figure FDA0003277960150000011
第二二次剩余群
Figure FDA0003277960150000012
第一整数群
Figure FDA0003277960150000013
和第二整数群
Figure FDA0003277960150000014
其中p和q为素数,p=2q+1并且存在素数s使得q=2s+1,
Figure FDA0003277960150000015
Figure FDA0003277960150000016
中的元素均为正整数,
Figure FDA0003277960150000017
中的元素为从0到p-1的整数,
Figure FDA0003277960150000018
中的元素为从0到q-1的整数;
2.2从
Figure FDA0003277960150000019
中随机选择2个元素g1,g2;从
Figure FDA00032779601500000110
中随机选择2个元素g3,g4
2.3构造哈希函数H(m*),其输入m*
Figure FDA00032779601500000111
中的元素,输出为
Figure FDA00032779601500000112
中的元素;
2.4从
Figure FDA00032779601500000113
中随机选取10个元素a1,a2,b1,b2,c1,c2,d1,d2,e1,e2
2.5计算公钥第一元素
Figure FDA00032779601500000114
公钥第二元素
Figure FDA00032779601500000115
公钥第三元素
Figure FDA00032779601500000116
公钥第四元素
Figure FDA00032779601500000117
公钥第五元素
Figure FDA00032779601500000118
2.6从
Figure FDA00032779601500000119
中随机选取2个元素f1,f2
2.7计算公钥第六元素
Figure FDA00032779601500000120
2.8从
Figure FDA00032779601500000121
中随机选取2个元素z0,z1,其中z0≠z1
2.9将a1,a2,b1,b2,c1,c2,d1,d2,e1,e2,f1,f2组成私钥sk,将g1,g2,g3,g4,A,B,C,D,E,F,z0,z1,H(m*)组成公钥pk;
2.10将公钥pk通过安全信道发送给发送者;
第三步:发送者采用接收者的公钥,运行加密模块生成密文,并将密文发送给公共服务器,具体步骤如下:
3.1将需加密的明文M按照二进制转十进制的方法,转化为整数M′,计算中间明文m=(M′)2mod(2p+1),m即为
Figure FDA0003277960150000021
中的元素;
3.2从
Figure FDA0003277960150000022
中随机选取2个元素w1,w2
3.3从
Figure FDA0003277960150000023
中随机选取2个元素w3,w4
3.4从
Figure FDA0003277960150000024
中随机选取元素u;
3.5计算明文的哈希值θ=H(m);
3.6计算密文第一元素
Figure FDA0003277960150000025
密文第二元素
Figure FDA0003277960150000026
密文第三元素
Figure FDA0003277960150000027
密文第四元素
Figure FDA0003277960150000028
密文第五元素
Figure FDA0003277960150000029
Figure FDA00032779601500000210
密文第六元素
Figure FDA00032779601500000211
密文第七元素
Figure FDA00032779601500000212
密文第八元素
Figure FDA00032779601500000213
密文第九元素
Figure FDA00032779601500000214
密文第十元素
Figure FDA00032779601500000215
密文第十一元素
Figure FDA00032779601500000216
密文第十二元素
Figure FDA00032779601500000217
密文第十三元素
Figure FDA00032779601500000218
Figure FDA00032779601500000219
密文第十四元素
Figure FDA00032779601500000220
密文第十五元素
Figure FDA00032779601500000221
密文第十六元素
Figure FDA00032779601500000222
3.7将x1,x2,x3,x4,x5组成第一五元组X,将y1,y2,y3,y4,y5组成第二五元组Y,将u1,u2,u3组成第一三元组U,将v1,v2,v3组成第二三元组V;
3.8将X,Y,U,V组成密文C,将密文C发送给公共服务器;
第四步:公共服务器运行重随机模块,对密文C进行重随机,将得到的新密文C′发送给接收者,具体步骤如下:
4.1将密文C解析成(X,Y,U,V),其中第一五元组X=(x1,x2,x3,x4,x5),第二五元组Y=(y1,y2,y3,y4,y5),第一三元组U=(u1,u2,u3)以及第二三元组V=(v1,v2,v3);
4.2从
Figure FDA00032779601500000223
中随机选取2个元素r1,r2,从
Figure FDA00032779601500000224
中随机选取2个元素r3,r4
4.3从
Figure FDA00032779601500000225
中随机选取元素r*
4.4计算新密文第一元素
Figure FDA00032779601500000226
新密文第二元素
Figure FDA00032779601500000227
新密文第三元素
Figure FDA0003277960150000031
新密文第四元素
Figure FDA0003277960150000032
新密文第五元素
Figure FDA0003277960150000033
Figure FDA0003277960150000034
新密文第六元素
Figure FDA0003277960150000035
新密文第七元素
Figure FDA0003277960150000036
新密文第八元素
Figure FDA0003277960150000037
新密文第九元素
Figure FDA0003277960150000038
新密文第十元素
Figure FDA0003277960150000039
新密文第十一元素
Figure FDA00032779601500000310
新密文第十二元素
Figure FDA00032779601500000311
新密文第十三元素
Figure FDA00032779601500000312
Figure FDA00032779601500000313
新密文第十四元素
Figure FDA00032779601500000314
新密文第十五元素
Figure FDA00032779601500000315
新密文第十六元素
Figure FDA00032779601500000316
4.5将x′1,x′2,x′3,x′4,x′5组成第三五元组X′,将y′1,y′2,y′3,y′4,y′5组成第四五元组Y′,将u′1,u′2,u′3组成第三三元组U′,将v′1,v′2,v′3组成第四三元组V′;
4.6将X′,Y′,U′,V′组成新密文C′,将新密文C′发送给接收者;
第五步,接收者运行解密模块,采用私钥对收到的密文C′进行解密,具体步骤如下:
5.1将密文C′解析成(X′,Y′,U′,V′),其中第三五元组X′=(x′1,x′2,x′3,x′4,x′5),第四五元组Y′=(y′1,y′2,y′3,y′4,y′5),第三三元组U′=(u′1,u′2,u′3)以及第四三元组V′=(v′1,v′2,v′3);
5.2还原中间明文
Figure FDA00032779601500000317
和元素
Figure FDA00032779601500000318
计算M′使得m=(M′)2mod(2q+1);将M′按照十进制转二进制,计算得到明文M;
5.3计算哈希值θ=H(m);
5.4计算临时第一元素
Figure FDA00032779601500000319
5.5判断
Figure FDA00032779601500000320
是否等于v′3,若不相等,则密文不合法,转第六步;若相等,转5.6;
5.6计算临时第二元素
Figure FDA00032779601500000321
临时第三元素
Figure FDA00032779601500000322
临时第四元素
Figure FDA00032779601500000323
临时第五元素
Figure FDA00032779601500000324
临时第六元素
Figure FDA00032779601500000325
Figure FDA00032779601500000326
5.7判断第五五元组
Figure FDA00032779601500000327
是否等于第六五元组(x′4,x′5,y′3,y′4,y′5),若不相等,则密文不合法,输出“密文不合法”消息,转第六步;若相等,则解密结果为M,转第六步;
第六步,加解密系统结束运行。
2.如权利要求1所述的一种可重随机的公钥加解密方法,其特征在于2.3步所述构造哈希函数H(m*)的方法是:将m*划分成两个512比特的片段m0,m1,将m0与512比特长的全0序列进行拼接得到1024比特的片段m′0,将m1与512比特长的全1序列进行拼接得到1024比特的片段m′1,对m′0运算SHA-512函数得到512比特长的输出
Figure FDA0003277960150000041
对m′1运算SHA-512函数得到512比特长的输出
Figure FDA0003277960150000042
Figure FDA0003277960150000043
Figure FDA0003277960150000044
进行拼接得到1024比特长的01序列,即
Figure FDA0003277960150000045
中的元素。
3.如权利要求1所述的一种可重随机的公钥加解密方法,其特征在于2.3步所述p的数量级为21024
4.如权利要求1所述的一种可重随机的公钥加解密方法,其特征在于2.3步需加密的明文M为转化为十进制数后不大于p的二进制数。
CN202010672831.9A 2020-07-14 2020-07-14 一种可重随机的公钥加解密方法 Active CN111835766B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010672831.9A CN111835766B (zh) 2020-07-14 2020-07-14 一种可重随机的公钥加解密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010672831.9A CN111835766B (zh) 2020-07-14 2020-07-14 一种可重随机的公钥加解密方法

Publications (2)

Publication Number Publication Date
CN111835766A CN111835766A (zh) 2020-10-27
CN111835766B true CN111835766B (zh) 2021-11-05

Family

ID=72923914

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010672831.9A Active CN111835766B (zh) 2020-07-14 2020-07-14 一种可重随机的公钥加解密方法

Country Status (1)

Country Link
CN (1) CN111835766B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115412239B (zh) * 2022-08-29 2024-04-19 中国人民解放军国防科技大学 一种基于sm2的具有可重随机性的公钥加解密方法
CN117177237B (zh) * 2023-11-02 2024-01-19 中国铁道科学研究院集团有限公司通信信号研究所 一种铁路5g专网mcx文件业务加密传输的方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8050410B2 (en) * 2006-12-08 2011-11-01 Uti Limited Partnership Distributed encryption methods and systems
CN105743646B (zh) * 2016-02-03 2019-05-10 四川长虹电器股份有限公司 一种基于身份的加密方法及系统
CN107070662B (zh) * 2017-03-23 2019-10-25 西安电子科技大学 基于混淆技术的加密盲签名方法
CN111277413B (zh) * 2020-03-06 2021-08-06 电子科技大学 一种适用于代理重加密的密码逆向防火墙方法

Also Published As

Publication number Publication date
CN111835766A (zh) 2020-10-27

Similar Documents

Publication Publication Date Title
Song et al. Efficient attribute-based encryption with privacy-preserving key generation and its application in industrial cloud
Almaiah et al. A new hybrid text encryption approach over mobile ad hoc network
US8189775B2 (en) Method of performing cipher block chaining using elliptic polynomial cryptography
US7970141B2 (en) Method and apparatus for tracing the source of decryption keys used by a decoder
Ramaiah et al. Efficient public key homomorphic encryption over integer plaintexts
US8331558B2 (en) Method of cipher block chaining using elliptic curve cryptography
US11101980B2 (en) System and method for adding and comparing integers encrypted with quasigroup operations in AES counter mode encryption
CN111835766B (zh) 一种可重随机的公钥加解密方法
Ma et al. Lattice-based identity-based homomorphic conditional proxy re-encryption for secure big data computing in cloud environment
Patel et al. Comparative evaluation of elliptic curve cryptography based homomorphic encryption schemes for a novel secure multiparty computation
CN107147626B (zh) 一种AES算法与ElGamal算法相结合的加密文件传输方法
Srikantaswamy et al. Enhanced OneTime Pad Cipher with MoreArithmetic and Logical Operations with Flexible Key Generation Algorithm
Zhao DES-Co-RSA: a hybrid encryption algorithm based on DES and RSA
Liao et al. Cryptanalysis of an identity-based encryption scheme with equality test and improvement
US20130058483A1 (en) Public key cryptosystem and technique
CN108768923A (zh) 一种基于量子可逆逻辑线路的加密算法的聊天实时加密方法
CN115118416A (zh) 一种基于隐私保护的分布式数据库系统以及保密方法
KR102304831B1 (ko) 순열그룹 기반의 암호화 기술을 적용한 암호화시스템 및 방법
Ali et al. A medical image encryption scheme based on Mobius transformation and Galois field
JP2004246350A (ja) 暗号化装置および復号化装置、並びにこれらを備えた暗号システム、暗号化方法および復号化方法
CN111756539B (zh) 一种可重随机的标识加解密方法
CN111541669A (zh) 一种广播加密方法及系统
You et al. Secure two-party computation approach for ntruencrypt
CN113872757B (zh) 一种基于sm2公钥加密算法的广播加密方法
US11502818B2 (en) System to secure encoding and mapping on elliptic curve cryptography (ECC)

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