System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及一种基于enpot的多用户非交互式可验证计算方法,其能够在保证了各个用户隐私性的前提下,将复杂计算外包到服务器,减轻了用户的计算负担,同时用户还可以对服务器返回的结果进行验证。属于多用户非交互式可验证计算领域。
技术介绍
1、随着移动互联网的高速发展,小型移动设备的应用越来越广泛,但是移动设备计算能力有限,无法处理复杂的计算。云计算可以使人们将复杂计算外包到云服务器,但是,云计算中的计算服务都是由第三方服务器提供的,用户对于第三方服务器的计算过程是不可控的,为了保证外包计算结果的正确性,产生了可验证计算的概念。但是目前大多数的可验证计算都只支持单用户,对多用户可验证计算方案的研究还不够成熟,不能在实际中广泛应用。目前随着分布式技术的发展,对多用户可验证计算的需求越来越强烈,多用户非交互式可验证计算已成为当今外包计算的一个热点,有着广泛的应用前景。
2、外包计算和可验证计算问题的研究非常广泛。早期的工作主要集中在将代价昂贵的密码学操作(如模幂运算,单项函数反转)外包到不可信的服务器。在对交互式证据,有效参数系统的一系列研究中,很多工作都是针对可验证计算的。目前针对可验证计算的研究中,有不足之处:大多数的方案实际上是解决单用户计算问题的,针对多用户的研究比较少;在多用户的研究中,有的只给出计算协议,没有给出完整的计算方案,有的虽然给出具体方案,但是只能针对某种计算,不能广泛应用。
3、电力物联网终端的应用越来越广泛,但电力物联网感知层终端的计算能力是有限的,无法处理诸如图像渲染、大文件解析等复杂
技术实现思路
1、针对上述技术不足,本专利技术的目的提供一种基于enpot的多用户非交互式可验证计算(multi-client non-interactive verifiable computation,mnvc)方法,首先给出了一个多用户非交互式可验证计算模型并给出实体构成和通信协议,然后构建了一个多用户非交互式可验证计算方法,将传感器网络中的复杂计算转移到云服务器上,以解决传感器网络中的多用户计算问题,促进电网的高效运行。
2、本专利技术为实现上述目的所采用的技术方案是:
3、一种基于enpot的多用户非交互式可验证计算方法,包括以下步骤:
4、构建基于enpot的mnvc模型;
5、基于mnvc模型,构建实体组成和实体间的通信协议;
6、基于mnvc模型和通信协议,对多用户进行非交互式可验证计算。
7、所述mnvc模型包括:可信第三方服务器,代理服务器,用户端c1,用户端cj,2≤j≤n,其中n表示用户总数,还包括代理服务器中的函数和各个用户端输入进行处理的八个算法,所述算法使用八元组表示为:{certgen,enfunc,eninput1,eninputj,compute,verify,updatecert,updatef},其中certgen表示可信第三方执行的加密算法,enfunc表示对计算函数进行编码,eninput1和eninputj表示对输入进行编码,compute表示计算编码函数,verify表示验证计算结果,updatecert表示更新加密随机数和解密密钥,updatef表示计算新的函数。
8、所述可信第三方服务器,用于产生共享随机数的加密信息和解密随机数的密钥;
9、所述代理服务器,用于当收到用户端c1的计算请求时,负责对函数进行计算并返回函数计算结果;
10、所述用户端c1,用于向代理服务器提交函数、发送函数计算请求并对代理服务器返回的结果进行验证,以及当用户端c1需要计算新的函数时,对代理服务器的函数进行更新操作;
11、所述用户端cj,用于向代理服务器发送函数计算时需要的输入信息。
12、所述构建实体组成和实体间的通信协议,包括以下步骤:
13、初始化阶段:可信第三方服务器执行certgen算法,依据属性集aj和访问控制策略ω,生成共享随机数的加密信息cω和解密需要的密钥dkj,并将cω、dk1和cω、dkj分别发送给用户端c1和用户端cj;
14、函数和输入准备阶段:当用户端c1发送函数计算请求时,首先运行enfunc算法对计算函数f进行编码,得到编码函数φ和解密密钥ξ,将编码函数φ发送给代理服务器,解密密钥ξ自己保留;然后在时间段i,依据从可信第三方服务器取得的解密密钥dk1、随机数的加密信息cω和解密密钥ξ,对自己的输入信息进行编码,生成编码的输入信息和解密密钥τ(i),用户端c1将编码的输入信息发送给代理服务器,τ(i)自己保留;同时,在时间段i,用户端cj依据从可信第三方服务器取得的解密密钥dkj、共享随机数的加密信息cω,对自己的输入信息进行编码处理,生成编码的输入信息并将发送给代理服务器;
15、计算阶段:当收到用户端c1发送过来的计算请求时,代理服务器根据用户c1和用户cj发送的编码输入信息对编码函数φ进行计算,产生计算结果ω(i),并将计算结果ω(i)发送给用户c1;
16、验证阶段:当代理服务器返回函数的计算结果时,用户端c1根据解密密钥ξ和解密密钥τ(i)对代理服务器返回的结果ω(i)进行解密并验证,如果验证通过,用户端c1得到正确的函数计算结果,否则用户拒绝接受计算结果;
17、更新阶段:当用户共享随机数和解密密钥需要更新时,可信第三方服务器执行updatecert算法,生成新的加密的本文档来自技高网...
【技术保护点】
1.一种基于ENPOT的多用户非交互式可验证计算方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于ENPOT的多用户非交互式可验证计算方法,其特征在于,所述MNVC模型包括:可信第三方服务器,代理服务器,用户端C1,用户端Cj,2≤j≤n,其中n表示用户总数,还包括代理服务器中的函数和各个用户端输入进行处理的八个算法,所述算法使用八元组表示为:{CertGen,EnFunc,EnInput1,EnInputj,Compute,Verify,UpdateCert,UpdateF},其中CertGen表示可信第三方执行的加密算法,EnFunc表示对计算函数进行编码,EnInput1和EnInputj表示对输入进行编码,Compute表示计算编码函数,Verify表示验证计算结果,UpdateCert表示更新加密随机数和解密密钥,UpdateF表示计算新的函数。
3.根据权利要求2所述的一种基于ENPOT的多用户非交互式可验证计算方法,其特征在于,所述可信第三方服务器,用于产生共享随机数的加密信息和解密随机数的密钥;
4.根据权利要求
5.根据权利要求1所述的一种基于ENPOT的多用户非交互式可验证计算方法,其特征在于,所述对多用户进行非交互式可验证计算,包括以下步骤:
...【技术特征摘要】
1.一种基于enpot的多用户非交互式可验证计算方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于enpot的多用户非交互式可验证计算方法,其特征在于,所述mnvc模型包括:可信第三方服务器,代理服务器,用户端c1,用户端cj,2≤j≤n,其中n表示用户总数,还包括代理服务器中的函数和各个用户端输入进行处理的八个算法,所述算法使用八元组表示为:{certgen,enfunc,eninput1,eninputj,compute,verify,updatecert,updatef},其中certgen表示可信第三方执行的加密算法,enfunc表示对计算函数进行编码,eninput1和eninputj表...
【专利技术属性】
技术研发人员:王天宇,赵剑明,刘贤达,张博文,盛川,
申请(专利权)人:中国科学院沈阳自动化研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。