APP下载

同态签名研究综述*

2021-11-20吴华麟陈文彬高崇志

密码学报 2021年5期
关键词:同态敌手线性

吴华麟,陈文彬,3,高崇志,刘 淼,李 进

1.广州大学 计算机科学与网络工程学院,广州 510006

2.广州大学 人工智能与区块链研究院,广州 510006

3.广西密码学与信息安全重点实验室,桂林 541004

1 引言

同态签名是指在没有签名私钥的情况下,允许任何实体对已认证的数据进行同态运算操作生成新数据,并得到新数据的有效签名.自被提出以来,同态签名越来越受到人们的关注.同态签名特殊的性质使其具有广泛的理论研究空间和极高的科研价值,并在许多实际应用中都有着重要的作用,比如可以为网络编码、云计算以及传感网络等领域提供有效的解决方案.

同态签名方案的概念最早在2000年由Rivest提出[1],紧接着Johnson等人在2002年引入了同态签名的形式化定义以及总体框架[2],随后相继产生了许多不同类型的同态签名方案.同态签名方案如果按同态运算函数进行分类,可以分为线性同态签名、多项式函数同态签名和全同态签名.最初提出的方案是线性同态签名方案,在2007年Zhao等人提出了一个线性同态签名方案[3],该方案允许对签名数据进行任意的线性组合计算,能够方便地检查接收消息的完整性,还能有效防止建立在网络编码上的应用程序受到污染攻击.在接下来的时间里,人们针对效率、安全性和隐私保护进行进一步改进,提出了大量高效实用的线性同态签名方案[4-6].线性同态签名方案允许任意的实体在没有签名私钥的情况下,对已签名的数据进行线性组合生成新数据,并且能够生成新数据的有效签名.而Lin等人受到了Rivest在2000年提出的开放问题的启发,于2017年提出了带有指定实体的线性同态签名方案[7].除了线性同态签名外,人们还构造了更加灵活的多项式函数同态签名方案和全同态签名方案.2011年Boneh等人提出了第一个多项式函数同态签名,该方案能够允许对签名数据进行多元多项式计算[8].而全同态签名与线性同态签名、多项式函数同态签名不同,全同态签名不再对函数进行限制,而是允许对签名数据进行任意电路运算,比较具有代表性的是2014年Gorbunov等人提出的基于格的层次型全同态签名方案[9].然而上述这些同态签名方案都假定每一个输入的签名数据是使用相同的私钥进行签名的,也就是说这些同态签名方案只适用于单用户或者单源网络编码系统的情况,对于多用户或者多源网络编码系统的应用程序却不能提供有效的解决方案.为了克服这一限制,Zhang等人将聚合属性引入到多用户情况下的同态签名方案中,即允许对使用不同的私钥产生的签名数据进行计算操作,从而构造出同态聚合签名方案[10].除了同态聚合签名方案之外,最近几年还提出了多钥同态签名方案,该类型的方案不仅能为多密钥的环境下提供解决方案,并且还使得密钥空间也具有同态性,而其他类型的同态签名方案中的同态性仅限于消息空间[11].

在设计与应用同态签名方案的时候,我们需要考虑方案的正确性和安全性是否能够达到一定的要求.同态签名方案的安全性包括不可伪造性(unforgeability)和隐私性(privacy).一般来说,同态签名方案能够达到的最强大的安全要求为在自适应选择消息攻击下具有不可伪造性(existential unforgeability under adaptive chosen message attack,EUF-CMA)[12],以及隐私性达到完全上下文隐藏[13].除了安全性之外,还需要考虑其他的特性,比如构造的方案基于哪些密码学基础、计算效率的高低、签名数据长短,以及安全性证明是基于随机预言机模型还是标准模型等.本文将描述可以使用同态签名方案的三个云计算应用场景(电子投票、智能电网和电子健康记录)的要求,然后根据各种类型的同态签名方案所具有的特性判断其是否能够适用于以上的应用场景.

本文主要描述了同态签名方案的基本概念、相关特性和密码学基础,概述了目前同态签名方案的研究现状,分别介绍了各种类型的同态签名方案,并给出了各种类型中具有代表性的同态签名方案,然后为具体应用场景提供合适的同态签名方案,最后总结同态签名方案未来的发展方向.

2 同态签名

同态签名是具有同态属性的一种数字签名.随着近几年来云计算的发展,同态签名成为了现代密码学的研究热点,并且拥有广泛的应用空间.同态签名最初被设计用于在网络编码中建立身份验证和解决污染攻击,它的一些特性可以适用于与云计算相关的应用,比如说电子投票、智能电网和电子健康记录等.

同态性(Homomorphism)[14]:设有两个同类型的代数系统〈G1,◦〉和〈G2,∗〉,集合G1和G2上所对应的代数运算是◦和∗,f是G1到G2的映射.如果有任意的a,b∈G1满足:

f(a◦b)=f(a)∗f(b)

则f是从〈G1,◦〉到〈G2,∗〉的一个同态映射,简称同态.

同态签名允许任意的第三方在没有签名私钥的情况下对已认证的数据进行同态运算操作生成新数据,并得到新数据的有效签名.也就是说,假设◦和∗是二元运算,签名者的私钥是sk,y和y′分别是x和x′的签名,第三方在不知道私钥sk的情况下,可以通过计算x∗=x◦x′,y∗=y∗y′,得出新数据x∗的同态签名y∗[15].

2002年Johnson等人在文献[2]中提出了同态签名的第一个形式化定义,同时作者还指出了文献中的同态签名方案存在的主要问题,并明确了未来工作的研究方向.目前已有的同态签名方案主要分为5种类型:线性同态签名方案、多项式函数同态签名方案、全同态签名方案、同态聚合签名方案以及多钥同态签名方案.本节首先详细描述同态签名方案的基本概念和安全性定义,然后分析同态签名具有的其他相关特性以及密码学基础.

2.1 同态签名方案的基本概念

一个完整的同态签名方案需要包含一个消息空间M,一个签名消息空间Y,一个包含所有私钥的集合K以及一个包含所有公钥的集合K′[16].同态签名方案和传统的数字签名方案定义一样,也包含三个概率多项式算法:密钥生成算法Setup,签名算法Sign和验证算法Verify.除此之外,同态签名方案还引入了一个核心算法Evaluate.

与一般的数字签名相比,同态签名引入了一些新的参数:(1)整数N:表示最大的数据集大小,即同态运算函数可以操作的最大消息数,对应于消息空间的维数.(2)同态运算函数集合F:定义了同态签名方案能够在签名数据上进行的所有可能的计算函数.其中函数f:M N→M是集合F中的一个元素.(3)索引i:能够对数据集(m1,m2,···,m N)∈M中的消息进行标记跟踪.(4)标签τ:在进行签名运算的时候,每一个数据集都会加上一个标签τ来标识区分不同的数据集,标签τ对于同态签名的安全性起到重要的作用.

同态签名在已有的传统数字签名方案的基础上引入了新的签名数据计算算法Evaluate:K′×{0,1}λ×F×Y N→Y,该算法是同态签名方案的核心部分[16].Evaluate算法允许任何人对签名数据进行同态运算操作,也就是将作用在消息上的函数转换为作用在签名上的函数.下面将基于文献[13]给出同态签名方案的形式化定义.

同态签名方案是包含以下概率多项式时间算法的元组(Setup,Sign,Verify,Evaluate)[16]:

•Setup(1λ,N):该算法输入一个安全参数λ和一个整数N,输出一个私钥k和相应的公钥k′.公

钥k′决定了消息空间M,签名空间Y,以及同态运算函数f:M N→M的集合F.

•Sign(k,τ,m,i):该算法输入一个私钥k,一个标签τ∈{0,1}λ,一个消息m∈M,以及一个索引i∈{1,2,···,N},输出一个签名σ∈Y,其中σ由私钥k计算得出,是标签τ标记的数据集中的第i个消息m的签名.

•Verify(k′,τ,m,σ,f):该算法输入一个公钥k′,一个标签τ∈{0,1}λ,一个消息m∈M,一个签名σ∈Y,以及一个函数f∈F.如果σ是消息m的一个有效的签名,则输出1,否则输出0.

关于同态签名方案的正确性,我们设一个投射函数πi:M N→M使得πi(m1,m2,···,m N)→m i,其中πi∈F,i∈{1,2,···,N}.

在给出同态签名方案的安全性定义之前,我们首先将敌手A的优势Adv定义为:敌手A查询了消息m1,m2,···,m N之后,对消息m′/∈span∗(m1,m2,···,m N)输出有效签名(m′,σ′)的概率,其中计算操作为“*”.

安全性[16]:如果每个敌手A最多进行q次选择消息查询,运行时间最多为t,并且优势AdvA≤ε,则计算操作为“*”的同态签名方案对于存在伪造是(t,q,ε)-安全的.

2.2 同态签名方案的一般特性

同态签名方案除了具有上述定义的正确性和不可伪造的安全性以外,还拥有其他的一些特性,例如隐私性和可证明安全性理论.除此之外,在某些情况下算法的效率以及签名的长度也是重要的特性.以上的这些特性都能够作为评估一个同态签名方案的标准,我们可以根据这些特性为具体的实际应用提供有效的同态签名方案.本节将对上述的特性进行详细的讨论和定义.

2.2.1 不可伪造性

不可伪造性是同态签名方案的基本安全要求之一,同态签名方案的不可伪造性安全模型主要包括两种,一种是Boneh等人的安全定义,其中定义了一个相对较弱的敌手;另外一种则是Freeman的安全定义,其中定义了一个较强的敌手.上述两种不可伪造性安全模型由敌手(adversary)、挑战者(challenger)和游戏(game)组成.首先由挑战者生成密钥对(k,k′),并发送公钥k′给敌手,挑战者保留私钥k用来生成签名.然后敌手可以自适应地选择任意数据集,每个数据集最多包含N个消息,挑战者为所选择的数据集随机选择标签τ,并根据敌手选择的数据集生成对应的签名,然后将标签和签名返回给敌手.最后,敌手返回一个消息签名对(m∗,σ∗),一个同态运算函数f和一个标签τ.下面描述关于不可伪造性的两个定义.

Boneh等人的安全定义[8]:从上述的同态签名方案的基本概念可知,标签τ对于同态签名方案的安全要求来说是一个非常重要的参数.这是因为在挑战者和敌手A之间的博弈中,每个数据集都添加了标识符τ用于区分不同的数据集,如果没有了标签τ来标识数据集,敌手就只能查询部分消息,而不能查询整个数据集[17].敌手A可以通过两种不同的伪造行为来获胜.第一种对应于普通数字签名伪造的一般概念,敌手生成一个未查询过的数据集m∗的伪造签名σ∗.而第二种类型是敌手A生成一个已被查询过的数据集m∗的伪造签名σ∗,但是数据集m∗不等于同态运算函数f的消息,即该数据集m∗能够验证其函数之一的不正确值.接下来将基于文献[8]简单描述Boneh等人的安全定义.

如果一个同态签名方案S=(Setup,Sign,Verify,Evaluate)对于安全参数λ以及所有的最大消息数N,任何的概率多项式时间敌手A赢得下列游戏的概率可以忽略不计,那么同态签名方案S是不可伪造的.

•Setup:挑战者通过运行Setup(1λ,N)生成密钥对(k,k′),并把公钥k′给敌手.公钥k′定义了一个消息空间M,签名空间Y以及一个同态运算函数f:M N→M的集合F.

•Output:敌手A输出τ∗∈{0,1}λ,一个消息m∗∈M,一个同态运算函数f∈F以及一个签名σ∗∈Y.

如果敌手伪造的签名满足以下两种类型中的一种,并且能够验证Verify(k′,τ∗,m∗,σ∗,f)=1,则敌手获胜.

(1)I型伪造:对于所有的i∈{1,2,···,N},τ∗̸=τi.

(2)II型伪造:对于某个i有τ∗=τi,但是m∗̸=f(→m i).

Freeman的安全定义[13]:在2012年由Freeman提出的较强的安全模型中[13],敌手A拥有了更强的能力,不再局限于一次查询给定数据集中的所有消息,而是可以一次查询一条消息,然后根据前一个查询的输出选择下一条消息.除此之外,敌手A还可以在每个数据集中自适应地执行此操作,并且还能在不同的数据集中分散查询.也就是说敌手能够根据查询过的数据集输出函数-消息对(f,m∗),以及(f,m∗)上的签名σ∗.这一类型的伪造被称为III型伪造.然而在这一类型中敌手A并不能在给定的数据集上查询足够的信息来准确地定义同态运算函数f.

2.2.2 隐私性

同态签名方案的另外一个基本安全要求是隐私性.隐私性是同态签名方案对生成的新签名的隐私保护.生成的签名除了被签名的消息之外,不应该泄露其他任何信息.根据一个方案所能够达到的隐私保护程度,同态签名方案的隐私性由弱到强可以分为以下三种不同程度的概念:

•弱上下文隐藏(weakly context hiding)[18]:设消息m′的签名σ′是由原始签名集σ1,σ2,···,σN派生出来的,除了对应的消息m′之外,σ′不会泄露上述原始签名集σ1,σ2,···,σN各自的数据集m1,m2,···,m N的信息.

•强上下文隐藏(strong context hiding)[19]:要求即使在原始签名集σ1,σ2,···,σN公开的情况下也不可能将其与其派生的签名σ′联系起来.

•完全上下文隐藏(completely context hiding)[20]:要求公开私钥的敌手选择的签名能够隐藏上下文,也就是说一个同态签名方案即使在原始签名是由非法签名算法生成的情况下仍然具有不可链接性.

2.2.3 可证明安全性理论

对于所有的密码方案,不仅仅是同态签名方案,无论是签名体制还是加密体制都需要经过可证明安全性的流程.密码方案的可证明安全性是指一种归约的方法,首先需要确定密码体制的安全目标,比如加密体制的安全目标是信息的机密性,而签名体制的安全目标是签名的不可伪造性.然后根据敌手的能力构建一个形式化的安全模型.最后再通过归约的方法分析敌手能够成功破解密码体制的概率[21].密码方案的安全性证明通常在随机预言机模型和标准模型中进行,前一种是可证明安全性的理想框架,后一种是实际框架.

随机预言机模型(random oracle model,ROM)的概念起源于1986年Fiat等人把哈希函数看作是随机函数的思想[22],然后在1993年Bellare等人正式提出了随机预言机模型的思路框架[23].在随机预言机模型下,每个哈希函数都会被一个完全随机函数所替代;相反在方案的实际执行时,则会用具体的哈希函数来替换方案中的随机预言机.因此在随机预言机模型下证明安全的方案在实际具体实现中未必是安全的,这是因为在随机预言机模型中,假定敌手不会利用散列函数的弱点来攻击密码学方案,只是在理想的情况下进行安全性证明.

由于一些随机预言机模型下的密码方案已经被证明是不安全的,学者们提出了一个更加现实的框架来执行证明,称为标准模型(standard model).该模型不依赖于随机预言机,仅使用了现实中哈希函数可以实现的特性.由于标准模型可以将密码学方案归约到数论中的困难问题上,因此在标准模型下的安全证明更加令人信服.然而实际上在标准模型下建立安全性归约是比较复杂困难的,而且在标准模型下设计的密码算法的效率也没有在随机预言机模型下的密码算法高.由此可见,无论是随机预言机模型还是标准模型,都具有重大的意义以及广泛的应用.

2.2.4 长度效率

同态签名方案由于需要进行取幂、乘法以及模运算等复杂的计算操作,因此会增加处理开销并影响方案的效率,这是公钥密码体系共有的缺点[24].不仅如此,同态签名方案在实际应用中的效率还可能会受到移动终端计算和存储能力大小的限制.目前还没有一个能够衡量同态签名方案效率的标准,如何制定一个严格的效率标准仍需要进一步的研究.不过对于同态签名方案生成签名的长度,文献[8]提出了一个长度效率的概念:对于固定的安全参数λ,如果派生签名的长度仅对数地依赖于数据集的大小N,那么同态签名方案就是长度有效的.

2.3同态签名方案的密码学基础

本节将会简单地介绍同态签名方案的一些密码学基础知识.已有的同态签名方案基本上都是基于以下3种密码学基础:第一种是建立在双线性群的Diffie-Hellman问题上;第二种基于RSA问题;第三种基于格上困难问题.Diffie-Hellman问题和RSA问题分别建立在离散对数和整数分解问题之上,这两种问题都已被证明难以抵抗量子攻击,而格问题却可以提供抗量子攻击的特性.以下的密码学基础均为目前难以解决的数学困难问题,这里的难以解决是指在概率多项式时间内无法以不可忽略的概率求得解.

2.3.1 双线性群

如果存在一个双线性映射e:G1×G2→GT,则称元组(G1,G2,GT,p,e)为双线性群[25].一些同态签名方案都是基于双线性群的密码学基础之上[26-28],接下来介绍关于双线性群的一些常见的密码学基础.

•计算性Diffie-Hellman问题(CDH):如果在双线性群(G1,G2,GT,p,e)中G1=G2=G,则双线性映射e为:G×G→GT.设G是一个阶为素数p的循环群,g是G的生成元,给定元组(g,g a,g b)∈G,计算g ab∈G.

•决策性Diffie-Hellman问题(DDH):如果在双线性群(G1,G2,GT,p,e)中G1=G2=G,则双线性映射e为:G×G→GT.设G是一个阶为素数p的循环群,g是G的生成元,给定元组(g,g a,g b,g c)∈G,判断在Zp中c=ab是否为真.

2.3.2 RSA

RSA最早是在1976年由Rivest等人提出的,是目前使用最为广泛的公钥密码体制之一[29].现有的一部分同态签名方案是建立在RSA问题之上的[30],它的安全性是基于整数因式分解的困难性.如果一个整数N是两个不同素数p和q的乘积,那么称整数N为RSA模数.1997年Baric等人在RSA问题的基础上提出了强RSA问题[31].一般来说,给定一个公共的RSA模数N,以及一个随机值z∈Zp,任何概率多项式时间算法都不能计算出z的e次方根,其中e̸=1.RSA问题和强RSA问题的区别在于,后者的指数e可以根据z进行选择,而RSA问题中的e是独立选择的[30].以下是强RSA问题的定义.

定义1(强RSA问题)给定一个长度为k的整数N=pq以及一个随机元素z∈Zp,其中k∈N为安全参数,p和q为不同的素数.对于任何概率多项式时间算法E,概率

Pr[(y,e)←A(N,z):y e=zmodN∧e̸=1]

可以忽略不计.

2.3.3 格

近年来,基于格的密码系统由于其在量子计算机的上的安全性而成为了密码学的研究热点.格密码学基础能够提供双线性群和RSA问题都没有的抗量子攻击特性,因此学者们提出了许多基于格的同态签名方案[18,32].接下来介绍同态签名方案中的关于格的密码学基础.

3 同态签名方案的类型及研究现状

同态签名的概念自提出以来,就引起了密码学家的广泛关注,在经过了十多年的研究与发展之后,诞生了许多不同类型的同态签名方案,其中按照不同的同态运算操作可以分为线性同态签名、多项式函数同态签名和全同态签名.以往的同态签名方案都是假定每个输入的签名数据使用相同的私钥生成的,因此只适用于单用户的场景.为了能够在多用户的场景下提供有效的解决方案,密码学家们还提出了具有聚合属性的同态聚合签名方案,以及在密钥空间中也具有同态属性的多钥同态签名方案.本节将会介绍各种类型的同态签名方案的相关概念以及研究现状.

3.1 线性同态签名方案

线性同态签名允许在签名数据上进行线性计算操作.最早的同态签名方案是线性的,当时是为了在网络编码中建立身份验证以及解决污染问题而提出了一些线性同态签名方案[3,6,34,35],利用网络编码中数据包的线性特性,方便有效地检查接收到数据包的完整性,但是这些线性同态签名方案都已经被证明是不安全和不实用的.直到2009年Boneh等人提出了一个线性同态签名方案[26],该方案可以看作是线性同态签名方案的里程碑.在这项工作中给出了第一个线性同态签名方案的形式化定义,并且定义了弱对手的概念.在他们的方案中,数据包被视为素数域上的线性向量空间,对接收到的向量进行修改可以看作是具有某些整数系数的向量的线性组合.也就是说,该方案实际上是对线性子空间进行签名,从向量子空间V上的签名σ可以精确验证V中的向量.此外,每个节点都可以验证数据包的真实性并为新的有效数据包创建有效签名.并且他们在随机预言模型中证明了基于co-CDH假设的方案是安全的.在随后的几年中,学者们提出了大量的线性同态签名方案,这些方案在效率、安全性和隐私性方面得到了进一步改进.

2010年Gennaro等人提出了一个基于RSA困难问题的线性同态签名方案[5],并证明了该方案在随机预言模型中的可证明安全性.该方案基于整数分解的困难问题,使得其效率比文献[26]中基于双线性群的线性同态签名方案更高.由于可以选择较小的整数系数来实现线性组合,因此大大减少了计算开销并提高了计算效率,能够在合理的时间内运行,并且该方案也是当时计算复杂度最低的方案.

除了基于双线性群和RSA假设的线性同态签名方案之外,为了能够提供抵抗量子攻击的特性,2011年Boneh等人提出了第一个基于格的线性同态签名方案[18],是在二进制域上对向量进行验证的方案.方案的安全性是基于k-SIS困难问题,这是他们首次提出的一个新的关于格的困难问题.由于方案是在格困难问题上建立的,因此可能没有文献[5]中基于RSA困难问题的方案那么高效.2013年Wang等人对第一个基于格的困难问题构造的线性同态签名方案进行了改进[32].该方案的线性同态是通过使用基于格的哈希函数的同态来实现的.与2011年提出的线性同态签名方案相比,该方案在公钥大小、签名长度和计算效率上具有一定的优势.

2018年Lin等人对线性同态签名进行了推广,引入了基于身份的签名技术,构造出了基于身份的线性同态签名方案[36].由于添加了基于身份的特性,因此避免了使用公钥证书的缺点.该方案的安全性基于双线性群的计算性Diffie-Hellman问题(CDH),在随机预言机模型下被证明可以防止自适应选择消息的存在伪造和ID攻击.基于身份的线性同态签名方案可以适用于电子商务和云计算,并且还能在区块链中实现身份验证.

上述线性同态签名方案都是基于随机预言模型的,2011年Attrapadung和Libert提出了第一个在标准模型之下具有可证明安全的线性同态签名方案[37].他们的方案是在复合阶数N的双线性群上建立的,其中线性组合系数和向量坐标都属于ZN,而不是素数域.并且该方案允许对单个向量进行动态签名,签名的长度是恒定不变的.然而与在随机预言模型中构造的方案相比,该方案效率相对较低.在2012年Attrapadung和Libert对他们提出的方案做出了进一步的改进[20],修改了方案的复杂性假设,所考虑的双线性群(G,GT)的复合阶数为p=p1p2p3.修改后的方案与之前的方案相比,签名的长度更短,效率更高.

自从2011年Attrapadung等人提出了标准模型下的线性同态签名方案之后,随后几年里逐渐出现了一些安全性基于RSA假设或者Diffie-Hellman假设的标准模型下的线性同态签名方案.然而当时还没有基于格困难问题的标准模型下的线性同态签名方案,在2016年Chen等人针对这一方向进行了深入研究,构造出了标准模型下的第一个基于格困难问题的线性同态签名方案[38].Chen等人在这项工作中利用了修剪树的技术[39]与文献[8]中提出的两个整数格的交集法相结合,在标准模型下构造了基于SIS问题的线性同态签名方案.该方案已被证明能够对抗弱敌手,并且能够提供弱上下文隐藏的隐私性.

Chen等人提出的线性同态签名方案的公钥是由O(l)个矩阵与O(k)个向量组成,其中l是文件标签的长度,k是最大数据集的大小.而在2020年由Lin等人提出的标准模型下基于格的线性同态签名方案具有相对较短的公钥[40],由O(1)个矩阵与O(k)个向量组成,方案的安全性依赖于SIS困难问题并且能够对抗弱敌手.在这项工作中Lin等人构造了两个能够在有限域上对向量进行验证的线性同态签名方案.他们首先在标准模型下构造了一个基于满秩差分散列函数且满足选择性安全的线性同态签名方案,接着修改了文献[39]中的变色龙散列函数得到一个线性同态变色龙散列函数(LHCHF),并将其应用于具有选择性安全的线性同态签名方案当中,转换为完全安全的线性同态签名方案.这两种方案都可以用来对多个文件进行签名,并且具有相对较短的公钥.

2017年Lin等人提出了第一个带有指定实体的线性同态签名方案[7],该方案是受到了2000年Rivest提出的指定实体的传递签名开放问题的启发.与其他线性同态签名方案不相同,在这个方案中只有一个实体(指定的操作者)可以执行同态运算,并且只有一个实体(指定的验证者)可以对同态签名进行验证.Lin等人在这项工作中给出了该方案的正式定义以及相关的安全要求,分别在双线性群上的co-Bilinear Diffie-Hellman假设和Gap Bilinear Diffie-Hellman假设实例化了指定实体的线性同态签名方案,并在随机预言模型下证明了方案的安全性.

3.2 多项式函数同态签名方案

多项式函数同态签名允许在签名数据上使用多项式函数,多项式函数是多变量和次数有界的,而线性函数是一次多项式,因此多项式同态签名可以看作是线性同态签名的推广.

2011年Boneh和Freeman构造了第一个多项式函数同态签名方案[8].他们提出的方案使用了Gentry、Peikert和Vaikuntanathan的原像采样算法[33],定义在理想格上,基于SIS困难问题构造,能够对已签名的数据进行多元有界多项式运算,安全性在随机预言模型中得到证明.只要给定公钥和签名数据集,该方案就可以在签名数据的平均值、标准偏差等其他统计数据上生成同态签名.并且对于次数为常数的多项式,同态签名的长度与数据集的大小成对数关系.然而该方案的隐私保护水平尚不清楚.2013年Hiromasa对文献[8]中的方案进行了改进,提出了签名长度更短的多项式函数同态签名方案[41],该方案使用Micciancio和Peikert的算法[42]替代了Gentry、Peikert和Vaikuntanathan的原像采样算法,Micciancio和Peikert的算法比Gentry等人的原像采样算法更加有效,采样的原像更小.这也使得改进后的多项式函数同态签名方案不仅签名长度更短,而且效率更高.

上述的两个多项式函数同态签名方案的安全性都是在随机预言模型中得到证明的.为了不再依赖于随机预言模型,2014年Catalano等人构造了第一个标准模型下的多项式同态签名方案[43].除此之外,该方案能够面对更强的敌手,并且签名验证的效率更高.方案的安全性依赖于k-augmented power multilinear Diffie-Hellman(k-APMDHP)假设,这是作者首次提出的困难问题.该方案还存在一定的缺点,为了达到比文献[8,41]中方案更好的安全级别,需要付出更大的计算开销,而且也没有实现任何程度的隐私性.

3.3 全同态签名方案

2009年,Gentry构造了第一个全同态加密方案[44],随后全同态加密体制吸引密码学家们的广泛关注,其中不少密码学者开始了对全同态签名的研究.层次型全同态签名不再对作用在签名数据上的函数进行限制,而是允许对签名数据进行任意电路运算,该电路具有一定的尺寸和深度d.

2014年Gorbunov等人提出了第一个层次型全同态签名方案[9].该方案可以对已签名的数据进行任意电路的运算,电路的最大深度d是一个先验值,同态签名的长度与d呈多项式关系,但与电路大小和数据大小无关.Gorbunov等人在这项工作中引入了同态陷门函数(HTDF)的新概念,该概念可由同态加密与签名结合在一起实现.方案的不可伪造性基于SIS困难问题,并且能够在标准模型下证明方案的安全性.除此之外该方案还能对抗弱敌手以及提供弱上下文隐藏的隐私特性.

在与文献[9]的一项并行工作中,Boyen等人提出了第二个层次型全同态签名方案[45],该方案也是基于格上困难问题构造的,并且对于两种不同的电路类型还具有不同的实例:令λ为安全参数,当电路深度d为λ的对数的多项式(polylog(λ))时,方案能够在SIS困难问题下实现了自适应安全性;而当电路深度d为λ的多项式(poly(λ))时,方案的自适应安全性则依赖于次指数SIS困难问题.相对于Gorbunov等人提出的层次型全同态签名方案,该方案不仅在效率方面得到了提高,而且能够对抗较强的敌手,但是该方案没能实现任何程度的隐私性安全.

Gorbunov等人提出了同态陷门函数(HTDF)的新概念以及构造了第一个层次型全同态签名方案之后,2015年Wang等人将同态陷门函数的概念与基于身份的特性相结合,提出了基于身份的同态陷门函数(IBHTDF),并利用其构造了第一个基于身份的层次型全同态签名方案(IBFHS)[46].基于身份的同态陷门函数(IBHTDF)具有无爪(claw-free)的函数对,可以提供抗碰撞的特性,使得基于SIS困难问题的IBFHS具有强不可伪造性,能够对抗较强的敌手.Wang等人还使用了巴林顿定理(Barrington’s Theorem)来减少参数的大小,与文献[9]中的层次型全同态签名方案相比,最大噪声水平大致从O(m dβ)降低到O(4d mβ),这也将会使得当电路的最大深度d=O(logλ)时,模数q=poly(λ),其中λ是安全参数.该方案的一个缺点是公共参数仍然比较大,如何构造非层次的IBFHS或者具有较小公共参数的IBFHS可以作为后期的研究方向.

而在2020年最新的一项工作中,Wang等人对上述的基于身份的同态陷门函数(IBHTDF)进行了改造,提出了新的同态运算算法,构造了新的基于身份的层次型全同态签名方案(IBFHS)[47].在该同态运算算法中乘法门电路的噪声水平与加法门电路的噪声水平相同,这意味着新的IBHTDF的最大噪声水平是最理想的,因此使得新的IBFHS的噪声水平进一步从O(4d mβ)降低到O(2dβ).

3.4 同态聚合签名方案

上述同态签名方案都是在单源网络或者单用户的场景下构造的,算法中所有输入的签名都是使用相同的私钥产生的.在现实生活中,有很多应用场景都是具有多源网络或者多用户的.在这些场景中,生成的新签名是由不同消息对应的签名聚合得到的,这些消息由不同的用户进行签名,每个用户有各自的私钥,对于这些场景则可以使用聚合签名方案.但是如果想要对已经聚合的签名数据进行计算操作,上述所有的签名方案都不能提供有效的解决方案,于是在聚合签名方案的基础上引入了同态属性,构造出同态聚合签名方案[10],满足了以上的要求.在3.4.1节中,首先提供聚合签名的基本概念,然后在3.4.2节中给出同态聚合签名的基本概念.

3.4.1 聚合签名

聚合签名最先是由Boneh等人提出的[48].聚合签名方案是一种具有聚合属性的数字签名方案,聚合签名方案可以将N个不同的签名聚合成一个新的签名,这N个不同的签名由N个不同的用户使用各自的私钥产生.新签名可以作为所有N个消息的一个签名,并且和单个的原始签名一样长.此外,聚合而成的新签名是具有增量特性的.也就是说,给定签名σ1,σ2聚合得到签名σ12,然后σ12可以进一步聚合σ3得到签名σ123,这样我们就避免了对签名σ1,σ2,σ3重新进行聚合.

3.4.2 同态聚合签名

同态签名方案使用同态运算函数对单个用户不同消息的签名进行计算操作,而聚合签名方案只能对不同用户的签名进行聚合却不能进行计算操作.实际上,为了保证多源网络编码的安全性和多用户网络数据的安全聚合,需要一个同时具有同态属性和聚合属性的签名方案[10],因此构造同态聚合签名方案是一件非常有价值的研究.

下面给出同态聚合签名的正式定义.

同态聚合签名方案是包含以下概率多项式时间算法的元组(Setup,Sign,Verify,Aggm,Aggσ):

当验证单个签名时,对于聚合签名方案的Verify算法,只需要输入一个公钥,而不是N个公钥.

目前现有的同态聚合签名方案都是线性同态聚合签名方案,即对来自不同用户的签名数据进行线性组合计算,文献[10]和文献[49]先后给出了不同的线性同态聚合签名方案.为了给多元网络编码和传感器数据聚合提供解决方案,2012年Zhang等人构造了第一个同态聚合签名方案[10],他们的方案支持对二进制域的线性运算,安全性依赖于格的ISIS问题.该方案与其他的基于格的同态签名方案相比,由于主要使用模的加法以及模的乘法运算,因此效率相对较高.2014年Jing对文献[18]中提出的线性同态签名方案进行了改进,添加了聚合属性,构造出了第二个同态聚合签名方案[49],该方案也是支持对二进制域的线性运算,不同的是其安全性是基于格的SIS问题,能够提供弱上下文隐藏的隐私特性,并且具有较短的签名长度和较高的效率.上述两个同态聚合签名方案都能够对抗强的敌手,而且都是在随机预言模型下证明了安全性.

3.5 多钥同态签名方案

以上提到的各种类型的同态签名方案都存在有一个局限:同态性只在消息空间中存在.而在密钥同态加密方案的研究背景之下[50],密码学者开始对多密钥场景下的同态签名方案进行研究,构造出了多钥同态签名方案.多钥同态签名方案允许对由不同密钥生成的签名进行同态运算,除了在消息空间具有同态性之外,还在签名方案中引入了密钥同态的特性,从而产生了多钥密钥同态签名(M-KHS)的概念.

以下是多钥同态签名方案与同态签名方案之间的一些差异:(1)Setup算法输出一个公共的参数pp,该参数隐式输入到所有算法中.(2)密钥生成算法KGen输入公共参数pp,输出公钥pk和秘钥sk.(3)签名算法Sign输出的是一组签名Σ.(4)同态运算算法Evaluate输出一个签名σ,σ是对在组合公钥pk=g(pk1,pk2,···,pkK)和组合标签τ=g(τ1,τ2,···,τK)下的消息数据m=g(M1,M2,···,M K)的签名.

下面给出多钥同态签名方案的正式定义:

•Setup(1λ):该算法输入一个安全参数λ,输出一个公共参数pp,该参数定义了消息空间M和包含标识函数id:M→M的函数族G.

•KGen(pp):该算法输入公共参数pp.输出公钥pk和秘钥sk.

•Sign(sk,τ,M):该算法输入一个私钥sk,一个标签τ∈{0,1}∗和一组消息M∈M∗.输出一组签名Σ.

Verify(pk,τ,m,σ,g):该算法输入一个公钥pk,一个标签τ,一个签名σ,一个消息m∈M和一

个同态运算函数g∈G.如果σ是消息m的一个有效的签名,则输出1,否则输出0.

2016年Fiore等人在受到单用户场景下的同态认证的启发下[51],定义了多钥同态认证的概念,构造了一种基于标准格的多钥同态签名方案,该方案支持多项式深度的布尔电路同态运算,安全性基于标准格上的SIS问题.此外这项工作还提出了基于伪随机函数和支持低阶算术电路的多密钥同态消息认证码(MAC)方案,尽管该方案只支持表达能力较弱的计算,并且只能进行秘密验证,但还是具有简单高效的特性.

Boneh等人在2014年使用了一种完全密钥同态加密的机制构造了基于属性的短密钥加密系统[50],受到该项工作的启发,2016年Lai等人从自适应零知识的简洁非交互式知识证明(ZK-SNARK)以及其他标准假设出发,引入了密钥同态的特性[11].他们以多密钥同态签名(M-HS)作为中心概念,研究了其他多密钥的扩展,比如多钥分层同态签名(M-HiHS)和多钥消息同态签名(M-KMHS),以及多钥密钥同态签名(M-KHS)的概念.该项工作还根据标准假设构造了第一个层次密钥全同态签名方案(leveled fully KHS)以及第一个分布式的基于属性的签名方案(D-ABS),并且在此项工作中提出的多钥同态签名方案可以与现有的多密钥同态加密方案一起使用,以实现可验证的安全多方计算.

文献[51]中提出的多钥同态签名方案存在着一种局限,该方案的不可伪造性是在假定所有签名者都是诚实的情况下证明的.2018年Lai等人针对这一局限,从零知识的简洁非交互式知识证明(ZK-SNARK)以及其他标准假设出发,提出了在内部腐败下不可伪造的多钥同态签名方案[52],并且证明了该方案的存在意味着零知识的简洁非交互式知识证明(ZK-SNARK)的存在.但是该方案如果在标准假设中存在腐败签名人的情况下,不能确定其真实性和实用性能够达到什么样的程度.

2019年Aranha等人将文献[26]中的线性同态签名方案推广至多密钥版本中,构造出了多钥线性同态签名方案(MKLHS)[53],方案的安全性依赖于双线性群的co-Computational Diffie-Hellman(co-CDH)问题,在随机预言模型下得到证明.他们的方案缩短了多钥同态签名方案中大多数操作的执行时间.与现有的多钥同态签名方案相比,该方案的构造更加直接简单,性能更高,并且生成的签名明显更短.

4 代表性方案以及具体应用场景

前几节中讨论了方案的隐私性、不可伪造性、安全证明模型以及签名的长度效率,给出了各种方案所依赖的密码学基础,详细描述了5种类型的同态签名方案的基本概念与研究现状.接下来本节将会为线性同态签名方案、多项式函数同态签名方案、全同态签名方案、同态聚合签名方案以及多钥同态签名方案分别选取一个具体的代表性方案介绍上述5类同态签名方案的设计思路,分析这些方案所提供的特性.最后描述了可以使用同态签名方案的具体应用场景以及同态签名方案需要满足的要求,并对各类同态签名方案的特性进行比较,提供合适的同态签名方案.

4.1 基于双线性群的线性同态签名方案

4.1.1 方案描述

Boneh等人在2009年提出了第一个线性同态签名的形式化定义[26],这项工作是线性同态签名的里程碑.该方案可以看作是在网络编码中对线性子空间的签名,即子空间V中的签名σ准确地验证了V中的某些向量,并且安全性依赖于双线性群中的计算性Diffie-Hellman问题(CDH).基于双线性群的线性同态签名方案描述如下:

4.1.2 特性分析

该方案首次定义了弱对手的概念,依赖于双线性群(G1,G2)中的co-CDH困难问题,可证明安全性基于随机预言模型.因为公钥和签名的大小独立于数据集的大小,所以具有较低的通信开销[17].除此之外,作者还证明了线性子空间中的签名长度的一个下界,表明了该方案在签名长度这方面本质上是最优的.但是,由于方案定义在双线性群上,因此在验证每个签名的时候需要付出比较大的代价[54],并且只能对抗相对较弱的敌手.尽管如此,方案在隐私性方面还是能够达到完全上下文隐藏的隐私性[55].

4.2 基于格的多项式函数同态签名方案

4.2.1 方案描述

由于不满足以往的方案只能在签名数据上进行线性计算,Boneh和Freeman在2011年利用Gentry、Peikert和Vaikuntanathan的原像采样算法构造了第一个能够在签名数据上支持多元多项式运算的同态签名方案[8].给定公钥和签名数据集,该方案就可以对签名数据的平均值、标准差和其他统计信息生成签名.并且该方案的安全性依赖于理想格上的困难问题,能够有效抵抗量子计算机的攻击.基于格的多项式函数同态签名方案描述如下:

(b)Sign(sk,τ,m,i):输入私钥sk,一个标签τ∈{0,1}λ,一个消息m∈Fp和一个索引i.计算αi:=H(τ‖i)∈Fq,计算h=h(x)∈R使得h(a)modp=m和h(b)modq=αi.通过原像采样算法SamplePre(p·q,T,h,v)输出一个签名σ∈(p·q)+h.

4.2.2 特性分析

该方案是第一个支持在签名数据上使用多项式函数的同态签名,方案的安全性依赖于理想格上的SIS困难问题,能够在随机预言机模型下证明安全性.此外,该方案还首次给出了签名长度效率的定义,即签名的长度对数地依赖于数据集的大小.但是该方案效率并不高,只能对抗相对较弱的敌手,而且方案的隐私性所达到的隐私保护程度还有待明确.

4.3 基于格的层次型全同态签名方案

4.3.1 方案描述

Boyen等人在2014年提出了基于格的层次型全同态签名方案[45],这是第二个全同态签名方案,第一个是同年由Gorbunov等人提出的基于格的层次型全同态签名方案[9].这两个方案都能够在签名数据上进行任意电路运算.文献[45]中的方案描述如下:

4.3.2 特性分析

该方案是基于格上困难问题构造的,即便在量子计算机攻击的情况下也保证其安全性,并且可以在签名数据上进行任意电路的运算.对于多重对数深度电路,该方案在标准短整数解(SIS)问题下实现了自适应安全性.对于多项式深度的电路,方案的安全性依赖于次指数SIS问题.虽然没有对签名的长度进行讨论,但相对于第一个提出的基于格的层次型全同态签名方案[9],效率得到了明显提高,可证明安全基于标准模型,并且最重要的一个改进是该方案可以应对相对较强的敌手.但是该方案目前还不能实现任何程度的隐私性,因此不适用于对隐私保护有要求的实际应用.

4.4 基于格的同态聚合签名方案

4.4.1 方案描述

在许多实际应用中,可能需要聚合由不同用户在不同消息上生成的签名,但是同态签名方案不能够提供有效的解决方案,而聚合签名方案[48]能够应对这种多用户的情况.然而又为了能够在聚合签名上进行运算操作,于是将同态属性添加到聚合签名方案中,从而构造出同态聚合签名方案.2014年Jing等人就提出了基于格的同态聚合签名方案[49],方案的描述如下:

4.4.2 特性分析

该方案是第二个同态聚合签名方案,第一个是由Zhang等人在2012年提出的[10].这两个方案都支持在二进制域上进行线性操作,并且都是基于格问题构造的,文献[10]依赖的是ISIS问题,而文献[49]则依赖于SIS问题,因此都可以抵抗量子计算机的攻击.两个签名方案都是在随机预言机模型中被证明能够应对相对较强的敌手.相对于第一个同态聚合签名方案,第二个在效率、签名长度以及隐私性方面都要更优.实际上,第二个同态聚合签名方案可以看作是文献[18]中提出的线性同态签名方案的一个适用于多用户的变体,它能够提供第一个同态聚合签名方案没有的弱上下文隐藏特性.

4.5 基于双线性群的多钥线性同态签名方案

4.5.1 方案描述

现有的多钥同态签名方案构造主要包括基于格问题的方案[51]、基于零知识的简洁非交互式知识证明(ZK-SNARK)的方案[52],或者是利用Matrioska编译器将单钥同态签名方案转化为多钥同态签名方案[56].而Aranha等人在多钥同态签名中引入了线性同态签名的概念,提出了多钥线性同态签名方案(MKLHS)[53].并且他们在128位的安全级别上,使用了两组参数在椭圆曲线上的配对来实现多钥线性同态签名方案.Aranha等人提出的多钥线性同态签名方案是目前性能最好、签名最短的多钥同态签名方案,方案的描述如下:

4.5.2 特性分析

该方案的安全性基于双线性群的co-Computational Diffie-Hellman(co-CDH)问题,很好地适应了非对称配对,安全性在随机预言模型下得到证明.与现有的多钥同态签名方案相比,该方案的结构更加简单,性能更高,生成的签名明显更短,并且能够对抗强敌手,然而缺点是不具有隐私性.

4.6 具体应用场景

上述5个不同类型的代表性同态签名方案都具有各自的优良特性,总结见表1.其中N表示数据集的最大值,d表示为电路函数的深度.本节描述同态签名方案适用的三个云计算应用场景:电子投票、智能电网和电子健康记录,并根据表1对各个方案进行比较,提供满足要求的同态签名方案.

表1 代表性方案的比较Table 1 Comparison of representative schemes

4.6.1 电子投票

电子投票是建立在网络投票系统上的选举活动,结果完全由程序输出,无需人工参与,具有高效率、便捷、成本较低和不易出错等优点,适用于投票人数较多的选举.一般来说,电子投票系统需要满足安全性和隐私性(在匿名投票的情况下)等要求,如果系统的安全性能不够强,则会遭到黑客的攻击,对投票结果进行篡改以及泄露投票人的隐私.因此安全性和隐私性是设计电子投票系统过程中优先考虑的重点.由此可得同态签名方案需要能够对抗相对较弱及以上级别的敌手.在隐私性方面,同态签名方案只需要不把选票签名对应的投票者的消息泄露出去,也就是说达到弱上下文隐藏的隐私特性就足够了.如果只是对加密的选票进行签名,那么就可以不考虑同态签名方案的隐私性.对于电子投票系统来说,只要能够保证验票计票的准确性,效率相对来说并不显得那么重要.在投票的结果公布之后,数据就没必要进行长期保存,投票的真实性也不需要长期进行保护,因此签名的长度效率也可以忽略,使用的签名方案只需要基于整数分解问题或者离散对数问题即可[16].在投票的过程中,一般投票者在投票之后不会收到任何的反馈,签名的选票也不会在投票结束之前公布,在这种情况下选票签名有可能会被伪造,投票者对选票进行签名过程中具有两种不同的情况,一种是所有的选票都用相同的私钥进行签名,另外一种则是利用不同投票者的私钥对一个或者一组选票进行签名.如果是第一种情况那么只需要具有同态属性的签名方案,而第二种则需要同态聚合签名方案或者多钥同态签名方案.

对于表1中的同态签名方案,文献[26]中的线性同态签名方案能够满足电子投票系统的要求.该方案不仅能够对抗弱敌手,并且还具有完全上下文隐藏的隐私性.而基于格的层次型全同态签名方案[45]和基于格的同态聚合签名方案[49]也满足要求,并且文献[49]的同态聚合签名方案还能够对抗较强的敌手.如果需要签名的数据是经过加密的,那么具有高效验证多项式函数的同态签名方案[8]和多钥线性同态签名方案[53]也是不错的选择.

4.6.2 智能电网

智能电网是电网的智能化,是建立在集成的、高速双向通信网络基础上的一种新技术,能够实现智能发电、负载均衡、资源分配和基于实时用电的动态定价等功能[16].但新技术目前还存在着许多问题,由于用户大量的用电数据会经智能电表传输并存储在云中,因此用电数据可能会被黑客篡改或者泄露,并且电力供应商的工作人员也有可能利用收集的信息分析出消费者的相关隐私信息.为了保护消费者的数据安全和隐私,学者们提出了一些网内数据聚合的安全隐私保护方案,首先对数据使用同态加密方案进行加密,然后使用同态属性进行聚合,因此同态签名方案起到了重要的作用.和上述电子投票系统对选票签名的过程类似,在智能电网中对加密数据签名的过程中也存在两种不同的情况.第一种是所有的智能电表对加密数据都使用同一个私钥进行签名,这种情况只需要考虑具有同态属性的签名方案.第二种是智能电表使用不同的私钥进行签名,那么则要考虑同态聚合签名方案或者多钥同态签名方案.对于智能电网来说,由于电力使用数据需要实时传输,签名必须在短时间内生成,因此要保证同态签名方案能够提供较高的效率.并且智能电网的存储能力有限,方案生成的签名长度不能太长.除此之外,发送的数据可能存在被拒绝需要重新发送的情况,敌手可以进行多次查询,因此同态签名方案需要对抗较强的敌手.由于只对加密的数据进行签名,签名方案没有关于隐私性方面的限制.

应用于智能电网的同态签名方案需要能够对抗强敌手,而表1中的同态聚合签名方案[49]和多钥线性同态签名方案[53]能够满足上述的要求.其中文献[49]的同态聚合签名方案是基于格困难问题的,可以提供对抗量子计算机攻击的特性.文献[53]的多钥线性同态签名方案的签名长度与数据集大小成对数关系,具有较小的签名.现有的线性同态签名方案都不能够满足智能电网的要求,这是因为受到了不可伪造性的限制.因此,设计一个适用于智能电网的线性同态签名方案可以作为未来的一个研究方向.

4.6.3 电子健康记录

电子健康记录是人们在医疗与健康相关的活动中直接形成的具有保存备查价值的电子化历史记录.电子健康记录中的个人健康信息通过计算机进行数字化存储和管理,不同的医疗机构都能够访问存储的数据,并且还能够对其进行计算操作[16].因此需要同态签名方案来实现上述的功能.电子健康记录系统在对健康数据进行签名的时候,也存在着两种情况,一种是由一个医生或者一个医疗机构使用一个私钥对健康数据进行签名,这种情况只需要具有同态属性的签名方案.另外一种是由多个医生或医疗机构使用多个不同的私钥进行签名,那么这种情况则需要同态聚合签名方案或者多钥同态签名方案.由于电子健康记录的数据涉及到用户的敏感信息,同态签名方案生成的签名不能泄露原始数据集的信息,因此同态签名方案需要能够实现至少为弱上下文隐藏的隐私特性.另外,方案需要较高的效率,因为电子健康记录系统要存储的数据量较大,并且在数据上的计算功能比较重要,而相对来说签名的大小并不是很重要.由于敌手可以进行多次数据查询,因此同态签名方案需要能够对抗相对较强的敌手.

由于受到了不可伪造性和隐私性的限制,目前存在的线性同态签名方案、多项式同态签名方案、全同态签名方案和多钥同态签名方案都不能够满足上述的要求,因此如何改进这4种类型的同态签名方案以适用于电子健康记录系统可以作为进一步的研究方向.表1中的基于格的同态聚合签名方案[49]则可以满足电子健康记录系统的要求.该方案不仅能够通过抗量子攻击特性,而且效率比较可观,关键是能够对抗较强的敌手和提供弱上下文隐藏的隐私特性.

5 结束语

同态签名是数字签名技术的一个重要的分支,在信息时代具有重要的作用,目前在该领域上的研究已经取得了不少的成果,本文对同态签名方案在最近十多年的进展做出了一个最新的、全面的综述.文章给出了同态签名方案的框架及相关定义,描述了同态签名方案所具有的特性,简单介绍了同态签名方案所依赖的不同类型的密码学基础,并且系统地论述了线性同态签名方案、多项式函数同态签名方案、全同态签名方案、同态聚合签名方案以及多钥同态签名方案的基本概念与研究现状,然后分别给出了5种不同类型的具有代表性的同态签名方案,最后为云计算应用场景提供了合适的同态签名方案.根据以上对同态签名方案研究现状的分析,提出未来研究工作可能的几个研究方向:

(a)由于没有对现有的同态签名方案的效率进行深入的比较与分析,也没有一个能够衡量同态签名方案的效率标准,因此为了能够更好地分析并提高一个方案的效率,以便适用于各种应用实例,如何制定一个严格的效率标准可以作为进一步的研究方向.

(b)目前常用的同态聚合签名方案和多钥同态签名方案只支持在签名数据上进行线性操作,这是远远不够的,并且在方案中添加指定实体的特性也是一个不错的考虑.在未来的工作中,构造类型更多的同态聚合签名方案和多钥同态签名方案将会是未来的研究热点.

(c)现有的多项式函数同态签名方案都不能够提供弱上下文隐藏的隐私特性,不能够适用于有隐私保密要求的具体应用,因此设计能够提供隐私特性的多项式函数同态签名方案具有较高研究价值.

猜你喜欢

同态敌手线性
三角矩阵环上FC-投射模的刻画
交换环上的绝对w-E-纯模
相对于模N的完全不变子模F的N-投射模
与“敌”共舞
二阶整线性递归数列的性质及应用
线性回归方程的求解与应用
一种基于CPU-GPU混合系统的并行同态加密算法∗
不带着怒气做任何事
非齐次线性微分方程的常数变易法
线性回归方程知识点剖析