CN107248973B - 一种基于双台云服务器针对两个双线性对的安全外包方法 - Google Patents

一种基于双台云服务器针对两个双线性对的安全外包方法 Download PDF

Info

Publication number
CN107248973B
CN107248973B CN201710176909.6A CN201710176909A CN107248973B CN 107248973 B CN107248973 B CN 107248973B CN 201710176909 A CN201710176909 A CN 201710176909A CN 107248973 B CN107248973 B CN 107248973B
Authority
CN
China
Prior art keywords
server
outsourcing
bilinear
result
user
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
CN201710176909.6A
Other languages
English (en)
Other versions
CN107248973A (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.)
University of Shanghai for Science and Technology
Original Assignee
University of Shanghai for Science and 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 University of Shanghai for Science and Technology filed Critical University of Shanghai for Science and Technology
Priority to CN201710176909.6A priority Critical patent/CN107248973B/zh
Publication of CN107248973A publication Critical patent/CN107248973A/zh
Application granted granted Critical
Publication of CN107248973B publication Critical patent/CN107248973B/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/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Multi Processors (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于双台云服务器针对两个双线性对的安全外包运算方法,首先,进行外包计算的用户T调用提高计算速度的子程序Rand生成一个六元组,利用六元组中一些元素将e(A,B)*e(C,D)逻辑拆分为四部分;然后调用Rand来生成两个新的六元组,紧接着对计算服务器
Figure DEST_PATH_IMAGE002
各进行4次询问,服务器计算出双线性对结果,其中的四部分作为中间的计算结果,另外四部分作为测试数据;最后检测
Figure 846035DEST_PATH_IMAGE002
的输出结果是否正确,根据服务器的响应计算出结果。本发明方法适用于资源受限的设备,其计算效率更高,运算次数少,外包商不需要再执行代价过高的计算SM和Exp运算,并且本发明方法适用于多个双线性对外包运算的场景,更具有实际应用价值。

Description

一种基于双台云服务器针对两个双线性对的安全外包方法
技术领域
本发明涉及一种外包计算方法,特别是涉及一种利用云服务器针对双线性对的安全外包的方法,应用于云计算技术领域。
背景技术
云计算在学术界与工业界已经越来越受关注,如何将代价过高的计算安全外包给不可信服务器的技术越来越受到科学界的高度关注。在外包计算模式中,一个计算能力有限的客户将任务外包给云中的一个或者多个服务器,这就是外包计算。对于资源受限的客户设备,它可以以按次付费方式享受无限的计算资源,这样就可以大量地节约在硬件/软件部署和维护方面的资本支出。
虽然外包计算会带来巨大的好处,但是它也不可避免地引入了一些新的安全问题和挑战。首先,计算任务通常包含一些敏感信息,这是不应该暴露给不可信的云服务器的。因此,第一个安全问题是外包计算的保密性:云服务器不应该了解它实际上是在计算什么(包括输入和输出的隐私性)。然而我们也认为加密只能提供对这个问题的部分解决方案,因为服务器在加密的数据上很难执行有意义的计算。其次,不完全可信的云服务器可能会作弊,可能会返回一个无效的结果。例如,服务器可能包含一个软件漏洞,可能根本无法完成一个常数次数的调用。此外,可能由于经济报酬上的激励不足,服务器会减少计算量,然后返回一个计算上不可区分的(无效)的结果。因此,第二个安全挑战是外包计算的可检查性:外包商应该有能力发现云服务器的作弊行为,如果云服务器作弊,外包商会立即发现错误。通常,检测程序应该不需要执行其它复杂的计算,因为很多计算能力有限的设备,如RFID标签或者智能卡等都无力执行这种检测。至少,检测过程必须比完成计算任务本身更为有效,否则外包就没什么意义了。
在过去的十年中,双线性对尤其是代数曲线上的Weil对和Tate对,已经形成了密码学的一些全新的领域,使得密码学可以在此基础上实现之前未知的或不切实际的加密原语。通常,基于对运算的密码协议的实现依赖于对运算的计算速度,为此也有大量的工作来研究如何有效地实现此工作。
在嵌入式设备如RFID标签或智能卡上双线性对的运算的代价一直被认为是过分高昂的(注意,我们甚至假设模指数运算在这样的设备上都太昂贵而无法进行)。Chevallier-Mames等人发布了第一个基于一个不可信的服务器模型的椭圆曲线上对运算的安全外包方法。如果服务器有作弊行为,外包商可以以100%的概率检测到该错误。然而,该方法的一个明显缺点是外包商需要执行其它的一些代价高昂的计算,如标量乘法和指数运算。更准确地说,一方面,我们认为这些代价高昂的计算因为太多的资源消耗是无法在计算能力有限的设备上完成的。另一方面,计算标量乘法在一些的场景下与计算对运算的代价是相当的,这与外包计算的动机和目的是矛盾的。因此,在这个意义下,该方法在真实世界的应用中是完全没有意义的。随后蒋铁金等人发布了一种基于单台服务器的云外包计算的方法,但是其预计复杂度太高,运算成本过高。陈晓峰等人与田海博等人发布了基于双台服务器的云外包计算方法,提高了运算效率,不过在实际外包场景中,很多情况下会涉及到多个双线性对的运算,然而上文所提及的方法都是为针对单个双线性对安全外包运算,计算效率不够理想,计算代价较高。
发明内容
为了解决现有技术问题,本发明的目的在于克服已有技术存在的不足,提供一种基于双台服务器针对两个双线性对的安全外包方法,是一种在云计算环境下,基于双台不可信服务器模型下的安全有效的针对两个双线性对外包方法,通过调用提高计算速度的子程序Rand,外包用户T将它的双线性对运算外包给计算服务器U1与U2,敌手无法知道外包算法M-Pair的输入和输出的任何有用信息。外包商不需要再执行代价过高的计算SM即群G1,或者G2上的标量乘法运算和Exp运算,即群GT上的指数运算,计算代价明显降低,计算效率显著提高。
为达到上述发明创造目的,本发明采用下述技术方案:
一种基于双台服务器针对两个双线性对的安全外包方法,包括以下步骤:
第一步:外包用户T调用程序Rand生成一个六元组,其中Rand是用于提高计算速度的子程序,输入G1、G2、一个双线性对以及其他的随机数;输出一个六元组{V1,V2,v1V1,v2V2,e(v1V1,v2V2)},其中v1
Figure BDA0001252630030000021
V1∈RG1、V2∈RG2
Figure BDA0001252630030000022
是去掉零元的模q的剩余类中的一个随机数,RG1是G1中的一个随机点,RG2是G2中的一个随机点,G1是P1生成的q阶的椭圆曲线加法循环群,P1是100-1000bit范围内的任意素数,G2是P2生成的q阶的椭圆曲线加法循环群,P2是100-1000bit范围内的任意素数,q是512bit的素数,e(v1V1,v2V2)为由G1、G2映射到GT上的输入为v1V1,v2V2的双线性对运算,GT:由G1、G2映射生成的q阶的椭圆曲线乘法循环群;
第二步:将e(A,B)*e(C,D)进行逻辑拆分,利用六元组中的部分元素将e(A,B)*e(C,D)变换为需要计算的四部分,e(A,B)*e(C,D)为两个双线性对相乘运算,A、B为G1上的一个随机点,C、D为G2中的一个随机点;
第三步:再次调用Rand来生成两个新的六元组{X1,X2,x1X1,x2X2,e(x1X1,x2X2)},
Figure BDA0001252630030000031
第四步:向外包服务器发出计算出双线性对的请求,外包用户T对计算服务器U1与U2的询问,服务器计算出双线性对结果,求出了其余的四部分,其余的作为测试数据,服务器U1与U2为计算能力强的外包服务器;
第五步:外包用户T再次向向外包服务器发出验证结果是否正确的请求,即外包用户T向U1与U2询问e(x1X1,x2X2)和e(y1Y1,y2Y2),检测服务器U1与U2的输出结果是否正确,并给出计算结果;如果错误,则输出“error”,如果正确,则得出计算e(A,B)*e(C,D)的计算结果。
作为本发明优选的技术方案,在所述第一步过程中,外包用户T调用程序Rand生成一个六元组,用于通过服务器U1与U2来实现双线性对的外包方法M-Pair,具体为:外包用户T首先要调用程序Rand来生成一个六元组
{V1,V2,v1V1,v2V2,e(v1V1,v2V2)},{V1,V2,v1V1,v2V2,e(v1V1,v2V2)}的结果能进行预计算处理,选一个可信的服务器计算出随机的,独立的六元组形成一张查询表,将其存放在内存之中,以后使用时,要生成的新六元组只需从这张查询表中进行检索,省去了现场计算的负担,在实施M-Pair双线性对外包计算方法时,输入四个随机的点A、B、C、D,输出A、B、C、D的双线性对运算e(A,B)*e(C,D),从而将A、B、C、D拆分成能被服务器U1与U2计算的数,而服务器U1与U2无法通过计算获取A、B、C、D,实现A、B、C、D的保密要求。A、B、C、D可能是秘密的或者(诚实/敌对的)受保护的,并且e(A,B),e(C,D)永远是秘密的或受保护的,此外,A、B、C、D对于服务器U1与U2来说在计算上是永远不可知的,M-Pair方法是将A、B、C、D拆分成看似随机的、可以被U1与U2计算的数且U1与U2无法计算出A、B、C、D,它们都是保密的。
作为上述方案的进一步优选的技术方案,在所述第二步过程中,在进行逻辑拆分时,利用六元组中的四个随机的点A、B、C、D,将计算e(A,B)*e(C,D)变换为计算其余的四部分,具体描述如下:
第一个逻辑拆分:α1=e(A+v1V1,B+v2V2);
第二个逻辑拆分:α2=e(C+v1V1,D-v2V2);
第三个逻辑拆分:α3=e(C-A,v2V2);
第四个逻辑拆分:α4=e(v1V1,-B-D);
另外,各逻辑拆分具有如下联系:
α1=e(A+v1V1,B+v2V2)=e(A,B)e(v1V1,B)e(A,v2V2)e(v1V1v2V2);
α2=e(C+v1V1,D-v2V2)=e(C,D)e(v1V1,D)e(C,-v2V2)e(v1V1,-v2V2);
α3=e(C-A,v2V2)=e(C,v2V2)e(-A,v2V2);
α4=e(v1V1,-B-D)=e(v1V1,-B)e(v1V1,-D);
从而得出e(A,B)*e(C,D)=α1α2α3α4
作为上述方案的进一步优选的技术方案,在所述第四步过程中,对计算服务器U1与U2进行询问,服务器计算出双线性对结果,求出了需要计算的四部分,其余的作为测试数据,具体为:
外包用户T以任意次序对服务器U1进行如下询问:
U1(A+v1V1,B+v2V2))→e((A+v1V1,B+v2V2)=α1
U1(C+v1V1,D-v2V2)→e(C+v1V1,D-v2V2)=α2
U1(x1X1,x2X2)→e(x1,X1,x2X2)=α5
U1(y1Y1,y2Y2)→e(y1Y1,y2Y2)=α6
外包用户T以任意次序对U2进行如下询问:
U2(C-A,v2V2)→e(C-A,v2V2)=α3
U2(v1V1,-B-D)→e(v1V1,-B-D)=α4
U2(x1X1,x2X2)→e(x1X1,x2X2)=α7
U2(y1Y1,y2Y2)→e(y1Y1,y2Y2)=α8
作为上述方案的进一步优选的技术方案,在所述第五步过程中,外包用户T在检测服务器U1与U2的输出结果是否正确时,外包用户T再次向服务器U1与U2询问e(x1X1,x2X2)和e(y1Y1,y2Y2),并根据服务器的响应结果给出如下计算结果:
如果其中有一个输出结果与之前对应输出结果不等,即出现错误,说明服务器存在作弊行为,T终止询问,输出“error";
如果输出结果与之前对应输出结果相等,外包用户T即得到计算e(A,B)*e(C,D)=α1α2α3α4的结果。
本发明与现有技术相比较,具有如下显而易见的突出实质性特点和显著优点:
1.本发明提供的双线性对的安全外包的方法,先调用Rand生成一个六元组,然后进行逻辑拆分,利用六元组中的一些元素将e(A,B)*e(C,D)变换为需要计算四部分,再调用Rand,生成两个新的六元组,紧接着对计算服务器询问,服务器计算出双线性对结果,求出了需要计算的四部分,其余的四部分作为测试数据,最后检测并计算出结果,如果其中有一个输出结果与之前对应输出结果不等,即出现错误,说明服务器存在作弊行为,T终止询问,输出“error",否则T计算e(A,B)*e(C,D)=α1α2α3α4
2.本发明在计算效率方面更高,它需要的运算的次数要少很多,外包商T不需要再执行代价过高的计算SM(群G1,或者G2上的标量乘法运算)和Exp(群GT上的指数运算)运算;
3.本发明方法适用于资源受限的设备,它的计算效率更高,运算的次数少,外包商T不需要再执行代价过高的计算SM和Exp运算;
4.本发明方法适合应用的安全模型特别为双台不可信且不勾结的的服务器模型,可以允许其中有一个恶意的服务器;
5.本发明方法适用于多个双线性对外包运算的场景,更具有实际应用价值。
附图说明
图1为本发明优选实施例基于双台服务器针对两个双线性对的安全外包方法的流程图。
具体实施方式
本发明的优选实施例详述如下:
在本实施例中,参见图1,一种基于双台服务器针对两个双线性对的安全外包方法,包括以下步骤:
第一步:外包用户T调用程序Rand生成一个六元组,其中Rand是用于提高计算速度的子程序,用于通过服务器U1与U2来实现双线性对的外包方法M-Pair,具体为:外包用户T首先要调用程序Rand,输入G1、G2、一个双线性对以及其他的随机数,生成并输出一个六元组{V1,V2,v1V1,v2V2,e(v1V1,v2V2)},{V1,V2,v1V1,v2V2,e(v1V1,v2V2)}的结果能进行预计算处理,其中v1
Figure BDA0001252630030000051
V1∈RG1、V2∈RG2
Figure BDA0001252630030000052
是去掉零元的模q的剩余类中的一个随机数,RG1是G1中的一个随机点,RG2是G2中的一个随机点,G1是P1生成的q阶的椭圆曲线加法循环群,P1是100-1000bit范围内的任意素数,G2是P2生成的q阶的椭圆曲线加法循环群,P2是100-1000bit范围内的任意素数,q是512bit的素数,e(v1V1,v2V2)为由G1、G2映射到GT上输入为v1V1,v2V2的双线性对运算,GT:由G1、G2映射生成的q阶的椭圆曲线乘法循环群,选一个可信的服务器计算出随机的,独立的六元组形成一张查询表,将其存放在内存之中,以后使用时,要生成的新六元组只需从这张查询表中进行检索,在实施M-Pair双线性对外包计算方法时,输入四个随机的点A、B、C、D,输出A、B、C、D的双线性对运算e(A,B)*e(C,D),从而将A、B、C、D拆分成能被服务器U1与U2计算的数,而服务器U1与U2无法通过计算获取A、B、C、D,实现A、B、C、D的保密要求;A、B、C、D可能是秘密的或者(诚实/敌对的)受保护的,并且e(A,B),e(C,D)永远是秘密的或受保护的,此外,A、B、C、D对于服务器U1与U2来说在计算上是永远不可知的,M-Pair方法是将A、B、C、D拆分成看似随机的、可以被U1与U2计算的数且U1与U2无法计算出A、B、C、D,它们都是保密的,参见图1中的s1步骤;
第二步:将e(A,B)*e(C,D)进行逻辑拆分,利用六元组中的部分元素将e(A,B)*e(C,D)变换为需要计算的四部分,e(A,B)*e(C,D)为两个双线性对相乘运算,A、B为G1上的一个随机点,C、D为G2中的一个随机点,具体为:在进行逻辑拆分时,将计算e(A,B)*e(C,D)变换为计算其余的四部分,具体描述如下:
第一个逻辑拆分:α1=e(A+v1V1,B+v2V2);
第二个逻辑拆分:α2=e(C+v1V1,D-v2V2);
第三个逻辑拆分:α3=e(C-A,v2V2);
第四个逻辑拆分:α4=e(v1V1,-B-D);
另外,各逻辑拆分具有如下联系:
α1=e(A+v1V1,B+v2V2)=e(A,B)e(v1V1,B)e(A,v2V2)e(v1V1v2V2);
α2=e(C+v1V1,D-v2V2)=e(C,D)e(v1V1,D)e(C,-v2V2)e(v1V1,-v2V2);
α3=e(C-A,v2V2)=e(C,v2V2)e(-A,v2V2);
α4=e(v1V1,-B-D)=e(v1V1,-B)e(v1V1,-D);
从而得出e(A,B)*e(C,D)=α1α2α3α4;参见图1中的s2步骤;
第三步:再次调用Rand来生成两个新的六元组{X1,X2,x1X1,x2X2,e(x1X1,x2X2)},{Y1,Y2,y1Y1,y2Y2,e(y1Y1,y2Y2)},x1、x2、y1
Figure BDA0001252630030000061
X1、Y1∈RG1、X2、Y2∈RG2;参见图1中的s3步骤;
第四步:向外包服务器发出计算出双线性对的请求,外包用户T对计算服务器U1与U2的询问,服务器计算出双线性对结果,求出了其余的四部分,其余的作为测试数据,服务器U1与U2为计算能力强的外包服务器,具体为:
外包用户T以任意次序对服务器U1进行如下询问:
U1(A+v1V1,B+v2V2)→e((A+v1V1,B+v2V2)=α1
U1(C+v1V1,D-v2V2)→e(C+v1V1,D-v2V2)=α2
U1(x1X1,x2X2)→e(x1X1,x2X2)=α5
U1(y1Y1,y2Y2)→e(y1Y1,y2Y2)=α6
外包用户T以任意次序对U2进行如下询问:
U2(C-A,v2V2)→e(C-A,v2V2)=α3
U2(v1V1,-B-D)→e(v1V1,-B-D)=α4
U2(x1X1,x2X2)→e(x1X1,x2X2)=α7
U2(y1Y1,y2Y2)→e(y1Y1,y2Y2)=α8;参见图1中的s4步骤;
第五步:外包用户T再次向向外包服务器发出验证结果是否正确的请求,即外包用户T向U1与U2询问e(x1X1,x2X2)和e(y1Y1,y2Y2),检测服务器U1与U2的输出结果是否正确,并根据服务器的响应结果给出如下计算结果,参见图1中的s5步骤;:
如果其中有一个输出结果与之前对应输出结果不等,即出现错误,说明服务器存在作弊行为,T终止询问,输出“error";参见图1中的s5.1步骤;
如果输出结果与之前对应输出结果相等,外包用户T即得到计算e(A,B)*e(C,D)=α1α2α3α4的结果,参见图1中的s5.2步骤。本实施例适合的安全模型为双台不可信且不勾结的的服务器模型,可以允许其中有一个恶意的服务器。
实验测试与性能对比分析:
下表给出了本发明优选实施例M-Pair方法与Chevallier-Mames等人提出的方法的效率比较,这里忽略模加运算的代价。
Figure BDA0001252630030000071
Figure BDA0001252630030000081
符号说明:
PA:G1或者G2上的一次点与点的加法运算;
SM:G1或者G2上的一次标量乘法运算;
M:GT上的乘法运算;
Inv:GT上的求逆运算;
Exp:GT上的指数运算;
s:对应方法中相关参数。
Checkability:可验证概率;
U:运算能力强的外包服务器。
上表给出了多个方法之间的效率的比较结果,很明显,上述实施例提出的方法M-Pair与B.Chevallier-Mames等和蒋铁金等提出的方法相比,虽然M-Pair是基于双台服务器的双线性对外包方法,但是,M-Pair在实现了用户设备输入输出参数的保密性的同时,大大减少了用户计算量,所做的模逆运算、模乘运算次数都要少,效率上有明显的提高。而与对比例中陈晓峰等、田海博等提出的方法相比,本文与前两者都是基于双台服务器的双线性对运算方法,可验证概率上与本文方法几乎相等,但是M-Pair在计算效率上相较于前两者是最高的,计算代价也是最低的,几乎是陈晓峰等提出的方法所需计算代价的一半。所以,上述实施例的技术方案对于普通用户效率更高,更实用。
更准确地说,在上述实施例的M-Pair方法中,外包商T不需要再执行代价过高的计算SM(群G1,或者G2上的标量乘法运算)和Exp(群GT上的指数运算)运算,这些运算在计算能力有限的设备如RFID等上是无力执行的。甚至可以这样说,计算SM(或Exp)的计算量在某些情况下是可以和双线性对运算可比拟的。外包计算是为了减少外包商的计算量,如果T还需要计算SM或Exp的话将违背外包计算的最根本目的。
另一方面,在上述实施例方法M-Pair中,它需要服务器U1与U2来各执行4次服务器计算。此外,计算Rand的代价可以直接查询表,因此Rand的计算代价是可以忽略不计的。上述实施例方法中服务器端需要承担更多的计算任务,然而,注意到服务器强大的计算能力,上述实施例方法的效率将不会受到影响。
在上述实施例基于双台云服务器针对两个双线性对的安全外包运算方法中,首先,需要进行外包计算的用户T调用提高计算速度的子程序Rand生成一个六元组,利用六元组中的一些元素将e(A,B)*e(C,D)逻辑拆分为四部分;其次,调用Rand来生成两个新的六元组,紧接着对计算服务器U1,U2各进行4次询问,服务器计算出双线性对结果,其中的四部分作为中间的计算结果,另外的四部分作为测试数据;最后,T检测U1,U2的输出结果是否正确,根据服务器的响应,T计算出结果。上述实施例方法可适用于资源受限的设备,它的计算效率更高,运算的次数少,外包商T不需要再执行代价过高的计算SM和Exp运算,上述实施例方法适用于多个双线性对外包运算的场景,更具有实际应用价值。
上面结合附图对本发明实施例进行了说明,但本发明不限于上述实施例,还可以根据本发明的发明创造的目的做出多种变化,凡依据本发明技术方案的精神实质和原理下做的改变、修饰、替代、组合或简化,均应为等效的置换方式,只要符合本发明的发明目的,只要不背离本发明基于双台服务器针对两个双线性对的安全外包方法的技术原理和发明构思,都属于本发明的保护范围。

Claims (3)

1.一种基于双台云服务器针对两个双线性对的安全外包方法,其特征在于,包括以下步骤:
第一步:外包用户T调用程序Rand生成一个五元组,其中Rand是用于提高计算速度的子程序,输入G1、G2、一个双线性对以及其他的随机数;输出一个五元组{V1,V2,v1V1,v2V2,e(v1V1,v2V2)},其中v1
Figure FDA0002671749620000011
V1∈RG1、V2∈RG2
Figure FDA0002671749620000012
是去掉零元的模q的剩余类中的一个随机数,RG1是G1中的一个随机点,RG2是G2中的一个随机点,G1是P1生成的q阶的椭圆曲线加法循环群,P1是100-1000bit范围内的任意素数,G2是P2生成的q阶的椭圆曲线加法循环群,P2是100-1000bit范围内的任意素数,q是512bit的素数,e(v1V1,v2V2)为由G1、G2映射到GT上输入为v1V1,v2V2的双线性对运算,GT:由G1、G2映射生成的q阶的椭圆曲线乘法循环群;
第二步:将e(A,B)*e(C,D)进行逻辑拆分,利用五元组中的部分元素将e(A,B)*e(C,D)变换为需要计算的四部分,e(A,B)*e(C,D)为两个双线性对相乘运算,A、B为G1上的一个随机点,C、D为G2中的一个随机点;
第三步:再次调用Rand来生成两个新的五元组{X1,X2,x1X1,x2X2,e(x1X1,x2X2)},
{Y1,Y2,y1Y1,y2Y2,e(y1Y1,y2Y2)},x1、x2、y1
Figure FDA0002671749620000013
X1、Y1∈RG1、X2、Y2∈RG2
第四步:向外包服务器发出计算出双线性对的请求,外包用户T对计算服务器U1与U2的询问,服务器计算出双线性对结果,求出了其余的四部分,其余的作为测试数据,服务器U1与U2为计算能力强的外包服务器;
第五步:外包用户T再次向向外包服务器发出验证结果是否正确的请求,即外包用户T向U1与U2询问e(x1X1,x2X2)和e(y1Y1,y2Y2),检测服务器U1与U2的输出结果是否正确,并给出计算结果;如果错误,则输出“error”,如果正确,则得出计算e(A,B)*e(C,D)的计算结果;
在所述第二步过程中,在进行逻辑拆分时,利用五元组中的四个随机的点A、B、C、D,将计算e(A,B)*e(C,D)变换为计算其余的四部分,具体描述如下:
第一个逻辑拆分:α1=e(A+v1V1,B+v2V2);
第二个逻辑拆分:α2=e(C+v1V1,D-v2V2);
第三个逻辑拆分:α3=e(C-A,v2V2);
第四个逻辑拆分:α4=e(v1V1,-B-D);
另外,各逻辑拆分具有如下联系:
α1=e(A+v1V1,B+v2V2)=e(A,B)e(v1V1,B)e(A,v2V2)e(v1V1v2V2);
α2=e(C+v1V1,D-v2V2)=e(C,D)e(v1V1,D)e(C,-v2V2)e(v1V1,-v2V2);
α3=e(C-A,v2V2)=e(C,v2V2)e(-A,v2V2);
α4=e(v1V1,-B-D)=e(v1V1,-B)e(v1V1,-D);
从而得出e(A,B)*e(C,D)=α1α2α3α4
在所述第四步过程中,对计算服务器U1与U2进行询问,服务器计算出双线性对结果,求出了需要计算的四部分,其余的作为测试数据,具体为:
外包用户T以任意次序对服务器U1进行如下询问:
U1(A+v1V1,B+v2V2)→e((A+v1V1,B+v2V2)=α1
U1(C+v1V1,D-v2V2)→e(C+v1V1,D-v2V2)=α2
U1(x1X1,x2X2)→e(x1X1,x2X2)=α5
U1(y1Y1,y2Y2)→e(y1Y1,y2Y2)=α6
外包用户T以任意次序对U2进行如下询问:
U2(C-A,v2V2)→e(C-A,v2V2)=α3
U2(v1V1,-B-D)→e(v1V1,-B-D)=α4
U2(x1X1,x2X2)→e(x1X1,x2X2)=α7
U2(y1Y1,y2Y2)→e(y1Y1,y2Y2)=α8
2.根据权利要求1所述基于双台云服务器针对两个双线性对的安全外包方法,其特征在于:在所述第一步过程中,外包用户T调用程序Rand生成一个五元组,用于通过服务器U1与U2来实现双线性对的外包方法M-Pair,具体为:外包用户T首先要调用程序Rand来生成一个五元组{V1,V2,v1V1,v2V2,e(v1V1,v2V2)},{V1,V2,v1V1,v2V2,e(v1V1,v2V2)}的结果能进行预计算处理,选一个可信的服务器计算出随机的,独立的五元组形成一张查询表,将其存放在内存之中,以后使用时,要生成的新五元组只需从这张查询表中进行检索,在实施M-Pair双线性对外包计算方法时,输入四个随机的点A、B、C、D,输出A、B、C、D的双线性对运算e(A,B)*e(C,D),从而将A、B、C、D拆分成能被服务器U1与U2计算的数,而服务器U1与U2无法通过计算获取A、B、C、D,实现A、B、C、D的保密要求。
3.根据权利要求1或2所述基于双台云服务器针对两个双线性对的安全外包方法,其特征在于:在所述第五步过程中,外包用户T在检测服务器U1与U2的输出结果是否正确时,外包用户T再次向服务器U1与U2询问e(x1X1,x2X2)和e(y1Y1,y2Y2),并根据服务器的响应结果给出如下计算结果:
如果其中有一个输出结果与之前对应输出结果不等,即出现错误,说明服务器存在作弊行为,T终止询问,输出“error″;
如果输出结果与之前对应输出结果相等,外包用户T即得到计算e(A,B)*e(C,D)=α1α2α3α4的结果。
CN201710176909.6A 2017-03-23 2017-03-23 一种基于双台云服务器针对两个双线性对的安全外包方法 Active CN107248973B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710176909.6A CN107248973B (zh) 2017-03-23 2017-03-23 一种基于双台云服务器针对两个双线性对的安全外包方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710176909.6A CN107248973B (zh) 2017-03-23 2017-03-23 一种基于双台云服务器针对两个双线性对的安全外包方法

Publications (2)

Publication Number Publication Date
CN107248973A CN107248973A (zh) 2017-10-13
CN107248973B true CN107248973B (zh) 2021-06-04

Family

ID=60017309

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710176909.6A Active CN107248973B (zh) 2017-03-23 2017-03-23 一种基于双台云服务器针对两个双线性对的安全外包方法

Country Status (1)

Country Link
CN (1) CN107248973B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109032792A (zh) * 2018-07-10 2018-12-18 矩阵元技术(深圳)有限公司 外包计算方法及系统
CN109064329B (zh) * 2018-07-10 2022-09-30 矩阵元技术(深圳)有限公司 一种算力交易方法及装置
CN110336822A (zh) * 2019-07-09 2019-10-15 青岛大学 一种基于双线性配对的信息加密方法、装置、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103024006A (zh) * 2012-11-23 2013-04-03 西安电子科技大学 一种云计算环境下双线性对的安全外包的方法
CN105306214A (zh) * 2015-09-24 2016-02-03 中山大学 一种双线性对安全外包方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9547720B2 (en) * 2014-12-24 2017-01-17 Sap Se Access control for encrypted query processing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103024006A (zh) * 2012-11-23 2013-04-03 西安电子科技大学 一种云计算环境下双线性对的安全外包的方法
CN105306214A (zh) * 2015-09-24 2016-02-03 中山大学 一种双线性对安全外包方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"单服务器模型下双线性运算外包协议设计";王少辉 等;《计算机技术与发展》;20161130;第26卷(第11期);全文 *
"可完全验证的双线性对运算外包算法";任艳丽 等;《中国科学》;20160731;第46卷(第7期);全文 *
"基于单个服务器的双线性对外包算法";蒋铁金 等;《计算机应用》;20160731;第36卷(第7期);全文 *

Also Published As

Publication number Publication date
CN107248973A (zh) 2017-10-13

Similar Documents

Publication Publication Date Title
Gai et al. Blend arithmetic operations on tensor-based fully homomorphic encryption over real numbers
Zhou et al. Security and privacy for the industrial internet of things: An overview of approaches to safeguarding endpoints
Suhail et al. On the role of hash-based signatures in quantum-safe internet of things: Current solutions and future directions
Chen et al. Privacy-preserving and verifiable protocols for scientific computation outsourcing to the cloud
Vahdati et al. Comparison of ECC and RSA algorithms in IoT devices
Ray et al. Universal and secure object ownership transfer protocol for the Internet of Things
US20210409188A1 (en) Countermeasures for side-channel attacks on protected sign and key exchange operations
CN107248973B (zh) 一种基于双台云服务器针对两个双线性对的安全外包方法
US11101981B2 (en) Generating a pseudorandom number based on a portion of shares used in a cryptographic operation
Xu et al. Proof-carrying cloud computation: The case of convex optimization
Yi et al. Side-channel security analysis of UOV signature for cloud-based Internet of Things
Ren et al. Verifiable outsourcing algorithms for modular exponentiations with improved checkability
Abdaoui et al. Fuzzy elliptic curve cryptography for authentication in Internet of Things
JP7155173B2 (ja) 外部監視攻撃からモジュラーインバージョン演算を保護すること
Hussam New lightweight hybrid encryption algorithm for cloud computing (LMGHA-128bit) by using new 5-D hyperchaos system
Kumar et al. Privacy preserving, verifiable and efficient outsourcing algorithm for matrix multiplication to a malicious cloud server
Duan et al. Secure and verifiable outsourcing of large-scale nonnegative matrix factorization (NMF)
Ernstberger et al. Do You Need a Zero Knowledge Proof?
Krishnamoorthy et al. Implementation and management of cloud security for industry 4. O-data using hybrid elliptical curve cryptography
Yi Machine learning method with applications in hardware security of post-quantum cryptography
Li et al. Dsos: a distributed secure outsourcing system for edge computing service in iot
Li et al. Secure outsourcing of large-scale convex optimization problem in internet of things
CN107104800B (zh) 基于单台云服务器的双线性对安全外包方法
Zakerolhosseini et al. Secure transmission of mobile agent in dynamic distributed environments
Cao et al. Generalized attack on ECDSA: known bits in arbitrary positions

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