上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
3.5.1 定义
在给出同态加密的定义之前,我们先定义同态加密所需的4个接口[63]。
KeyGen(1λ)→{pk,sk}:参数生成函数,给定安全系数λ,输出公钥pk,私钥sk。
Enc(pk,m)→c:加密函数,给定公钥pk,明文m,输出密文c。
Dec(sk,c)→m:解密函数,给定私钥sk,密文c,输出明文m;
Eval(pk,{ci},T)→c:衡量函数,给定公钥pk,一串密文{ci),密文操作函数T,输出密文操作结果c。
一个同态加密方案是一个四元组(KeyGen, Enc, Dec, Eval),其满足:Dec(pp,c)=Tm({mi}),其中Tm是明文操作函数。
更加具体地讲,具有一个同态加密方案满足:对于明文a,b,满足Dec(Enc(a),·Enc(b))=a⊕b,其中⊕对应明文和密文域上的运算,当⊕为加法时,这个同态加密称为加法同态;当⊕为乘法时,这个同态加密称为乘法同态。
同态加密技术虽然还没有统一的分类标准,但是其发展历史仍是具有阶段性特征的。按照各同态加密方案允许密文计算的种类和次数,可以将其分为3类:部分同态加密(Partial Homomorphic Encryption,PHE)方案、类同态加密方案和全同态加密方案。PHE方案仅满足加法或乘法的密文同态运算;类同态加密方案可同时满足加法和乘法有限次的密文同态运算;全同态加密方案可同时满足加法和乘法无限次的密文同态运算[64]。目前高效的全同态加密方案仍是一个世界级的开放问题。