全同态加密算法研究与实现
- 格式:docx
- 大小:15.72 KB
- 文档页数:1
同态BFV算法是基于RLWE难题的全同态加密方案。
BFV算法,全称Brakerski-Fan-Vercauteren算法,是一种实现全同态加密(FHE)的方法。
它允许在加密数据上直接进行计算,而无需先对数据进行解密。
这种算法对于保护数据隐私和安全具有重要的意义,因为它可以在不暴露原始信息的情况下,对加密数据进行处理和分析。
以下是关于BFV算法的一些关键信息:
1. 算法基础:BFV算法是基于环上的学习带错误问题(Ring-LWE或RLWE)构建的。
RLWE问题是LWE(学习带错误问题)的一个变种,它们都属于格密码学的范畴。
2. 优化重线性化:BFV算法引入了两种优化版本的重线性化技术,这些技术能够减少重线性化密钥的大小,并且加快计算速度。
重线性化是全同态加密中的一个重要步骤,它允许加密数据的多次运算而不会耗尽密文的“噪音”容量。
3. 实用性:BFV算法是第二代同态加密方案中的核心之一,它被广泛应用于各种需要隐私保护的计算场景。
微软的全同态加密软件库SEAL最初就是基于BFV算法实现的。
4. 全同态特性:BFV算法支持全同态操作,这意味着可以在加密数据上执行任意深度的电路计算。
通过使用bootstrapping程序,部分同态加密可以转换为全同态加密,从而允许更深的电路计算。
全同态加密技术的历史、发展和数学理论一、前言完全同态加密(Fully Homomorphic Encryption,FHE)技术是近年来迅猛发展的一项重要技术,是对外部数据和算法进行加密,保护数据隐私的一种技术。
它可以在加密的数据上进行全部的计算,而不会暴露其本质,为数据隐私保密提供了新的保障方法。
二、历史发展1. 1978年,G.R.Blakleyne在“计算机世界”杂志发表了“多轮密码”算法,这是完全同态加密技术的先声。
2. 2009年,A.Gentry提出了完全同态加密,设计出了完全同态加密系统,也是完全同态加密发展的重要标志。
3. 2016年,通过对完全同态加密技术的实验证明,完全同态加密技术取得了显著的研究成果,突破原来的局限。
4. 2018年至今,完全同态加密技术的应用及其发展逐渐受到誉和,已成为保护数据隐私的重要手段。
三、数学理论完全同态加密技术是基于困难猜测分离问题(Guessable Separation Problem,GSP)以及困难中间性质(Hard Middle Problem,HMP)的数学研究。
GSP问题指的是给定的钥匙只能用有限试探的方式猜出钥匙的明文内容。
HMP问题则是在一定范围内改变钥匙的内容,以及钥匙本身的数据进行破解,也就是给定的一组数据,需要找出中间的一个数字研究,当改变这个数字的大小即可破解钥匙,这就是HMP问题。
有了上述理论研究,完全同态加密就实现了在全加密的状态下,完成对加密数据的算法运算,而不必暴露原有的数据,从而保证了数据的隐私,使完全同态加密技术得以应用于人们的日常生活中。
四、结论完全同态加密技术在近几年发展迅猛,已成为数据隐私保护的有效手段。
它的基础理论是困难猜测分离问题(GSP)与中间性质问题(HMP),使我们能够对加密的数据进行猜测分离和中间计算,保护数据的隐私,更好的服务人们的日常生活。
同态学习的加密算法介绍同态学习是一种新兴的加密技术,它可以在加密的状态下对数据进行计算和分析。
这种技术的出现为数据安全和隐私保护提供了全新的解决方案。
本文将介绍同态学习的基本概念、原理以及应用领域,以及当前研究中的一些挑战和发展方向。
同态学习的基本概念同态学习是一种特殊的加密技术,它可以在不解密的情况下对加密数据进行计算和操作。
简单来说,就是在密文状态下进行加法和乘法等运算,然后将结果解密后与明文操作的结果相同。
这种特性使得同态加密成为了云计算和数据处理中的重要工具,因为它可以在不暴露数据的情况下进行计算和分析。
同态加密的原理同态加密的原理可以用数学方法来解释。
在传统的非同态加密算法中,加密后的结果是无法进行运算的,只有解密后才能得到明文数据。
而同态加密算法通过一些特殊的数学结构和运算规则,使得在密文状态下进行加法和乘法的运算成为可能。
这样一来,数据在加密状态下就可以进行计算,而不需要解密,大大提高了数据的安全性和隐私保护。
同态加密的应用领域同态加密技术在很多领域都有着广泛的应用。
其中,云计算是同态加密的一个重要应用场景。
在云计算中,用户可以将数据加密后上传到云端,然后在云端进行数据处理和计算,而不需要将数据解密。
这样一来,用户的数据就可以得到更好的保护,不会暴露在云端。
除此之外,同态加密还可以应用在密码学、金融、医疗健康等领域,为数据安全和隐私保护提供了新的解决方案。
当前研究中的挑战和发展方向尽管同态加密技术具有广阔的应用前景,但是在实际应用过程中还存在一些挑战。
其中,性能是同态加密面临的主要问题之一。
由于同态加密的复杂性,其计算速度往往比传统的加密算法要慢。
因此,如何提高同态加密算法的计算性能成为了当前研究的重点之一。
此外,对于不同的应用场景,需要设计不同的同态加密方案,以满足不同的安全性和效率要求。
因此,未来的研究重点将集中在设计更加高效和灵活的同态加密算法上。
综上所述,同态加密技术作为一种新兴的加密技术,为数据安全和隐私保护提供了全新的解决方案。
基于SEAL库的全同态加密应用与研究基于SEAL库的全同态加密应用与研究引言:全同态加密是一种重要的加密技术,它允许在加密状态下进行计算,并同时保持加密数据的隐私性。
近年来,随着云计算和大数据的快速发展,全同态加密技术得到了广泛关注和研究。
SEAL(Simple Encrypted Arithmetic Library)库作为全同态加密的实现库,具有高效、灵活和易用性等优点,已成为许多研究者和开发者偏爱的工具。
一、全同态加密的基本原理全同态加密是一种特殊的加密方式,它能够在保持数据隐私的同时进行计算。
在传统的加密技术中,只能对加密后的数据进行解密和计算,而无法在加密状态下进行计算操作。
全同态加密通过加密算法的设计,使得利用加密数据进行计算成为可能。
二、SEAL库的特点与优势SEAL库是一个开源的全同态加密实现库,具有以下特点和优势:1. 高效性:SEAL库采用了先进的加密算法,能够在加密和计算操作中保持高效执行。
2. 灵活性:SEAL库提供了多种加密方案和参数选择,可以根据具体需求进行灵活配置。
3. 易用性:SEAL库提供了简洁而友好的API,使得开发者能够快速上手并进行开发。
三、基于SEAL库的全同态加密应用1. 数据安全外包:SEAL库能够实现对数据进行加密并在加密状态下进行计算,可以应用于数据安全外包中。
将敏感数据加密后存储在云服务器上,云服务器可以对加密数据进行计算,而不需要解密数据,从而保证了数据的安全性。
2. 隐私保护计算:全同态加密技术可以用于隐私保护计算。
例如,在保护个人隐私的医学研究中,SEAL库可以实现对敏感医疗数据进行加密,并在不暴露原始数据的情况下进行计算和分析,保护个人隐私。
3. 密码协议设计:全同态加密技术可以应用于密码协议设计中。
使用SEAL库可以构建安全可靠的密码协议,实现安全通信和数据传输。
四、基于SEAL库的全同态加密研究1. 加速计算:目前全同态加密的计算速度较慢,通过对SEAL库进行优化和改进,可以提高全同态加密的计算效率,加速计算过程。
同态学习的加密算法介绍同态学习的加密算法是一种重要的数据加密技术,它具有许多非常有用的应用。
在本文中,我将介绍同态学习的基本概念和原理,以及一些常见的同态学习加密算法。
概念和原理同态学习是一种特殊的加密技术,它允许在加密状态下执行计算,并在解密后获得正确的结果。
换句话说,同态加密允许在加密状态下对数据进行操作,而无需解密它们。
这种特性对于安全地处理敏感数据非常有用,因为它可以避免在数据处理过程中暴露数据的明文。
同态学习的基本原理是利用数学上的同态性质,即在两个加密数据之间进行运算后,得到的结果与对应的明文数据进行运算后的结果是相同的。
这种性质使得同态加密能够在不暴露数据明文的情况下进行计算。
常见的同态学习加密算法目前,有许多不同的同态学习加密算法,每种算法都有其特定的优点和局限性。
以下是一些常见的同态学习加密算法:1. RSA同态加密算法RSA是一种非对称加密算法,它使用两个密钥对数据进行加密和解密。
RSA 同态加密算法利用RSA算法的数学性质来实现同态加密。
虽然RSA同态加密算法在理论上是可行的,但实际应用中面临着性能和安全性方面的挑战。
2. 阶梯同态加密算法阶梯同态加密算法是一种基于整数编码的同态加密方案,它利用离散对数问题和素数分解问题的困难性来实现同态性。
阶梯同态加密算法在实践中表现出良好的性能和安全性,因此被广泛应用于各种加密场景。
3. 基于椭圆曲线的同态加密算法基于椭圆曲线的同态加密算法利用椭圆曲线离散对数问题的困难性来实现同态性。
由于椭圆曲线算法在密钥长度较短的情况下提供了与RSA相当的安全性,因此基于椭圆曲线的同态加密算法被广泛应用于移动设备和物联网等资源受限的环境中。
应用场景同态学习的加密算法在许多领域都有着广泛的应用。
其中,医疗保健领域和金融领域是同态学习加密算法最为重要的应用场景之一。
在医疗保健领域,医疗数据的隐私和安全性是非常重要的。
同态学习的加密算法可以帮助医疗机构在不暴露患者敏感数据的情况下进行数据分析和共享,从而提高医疗数据的利用率和安全性。
引言全同态加密是一种先进的加密技术,可以将加密数据进行计算而无需解密,在计算结果上也能保持加密状态。
这种加密方案广泛应用于云计算、数据隐私保护等领域,具有重要的研究和实际价值。
本文将介绍全同态加密的基本概念、原理和应用,并探讨其在信息安全领域的前景。
全同态加密的基本概念全同态加密是指一种加密方案,允许对密文进行计算操作,得到的结果仍然是加密后的数据。
具体来说,对于两个密文C1和C2,全同态加密方案应具备以下性质:1.加法同态性: 对于明文m1和m2,通过加密算法加密得到的密文C1和C2,满足C1+C2 = Enc(m1) + Enc(m2) = Enc(m1+m2)。
即,对密文进行加法运算的结果与对应的明文之和的加密结果相同。
2.乘法同态性: 对于明文m1和m2,通过加密算法加密得到的密文C1和C2,满足C1 * C2 = Enc(m1) * Enc(m2) = Enc(m1 * m2)。
即,对密文进行乘法运算的结果与对应的明文乘积的加密结果相同。
3.解密性: 对于密文C,通过解密算法解密得到的结果D(C),满足D(C) = m。
即,密文经过解密操作能够还原为明文。
全同态加密的实现原理主要基于数学上的复杂运算和密码学技术。
其中,主要的数学基础涉及到离散对数问题、整数分解问题等难题。
具体实现全同态加密的算法有DGHV方案、BGV方案等。
下面简要介绍DGHV方案的原理:DGHV方案是一种基于整数分解问题的全同态加密方案。
其主要思想是通过整数分解问题构建一个同态系统,并利用置换和扩展技术来实现同态性。
具体实现步骤如下:1.参数生成:选择合适的安全参数n,并生成两个大素数p和q,使得p q >n^2。
此外,还需生成一些辅助参数,如模数N=p q、生成元g。
2.密钥生成:随机选择一个秘密密钥sk,并根据参数生成公钥pk。
3.加密算法:对于明文m,根据公钥pk和参数生成一个加密密钥ek,并将明文m和加密密钥ek进行加密,得到密文C。
全同态加密自举方案引言在现代密码学中,全同态加密(Fully Homomorphic Encryption,FHE)是一种特殊的加密方案,它允许在加密状态下进行计算,而不需要解密。
自举方案是指使用加密的密文对加密方案进行更新或修改。
全同态加密自举方案将全同态加密与自举技术相结合,允许对密文进行操作和计算,从而实现更强大的功能。
本文将介绍全同态加密自举方案的基本原理和应用场景,并分析其中的优缺点。
全同态加密概述全同态加密是一种特殊的加密技术,它允许对密文进行特定的计算操作,而不需要解密密文。
这意味着在不暴露明文内容的情况下,可以对密文进行数学运算,得到计算结果。
全同态加密可以实现加法和乘法操作,有些方案还支持更复杂的计算,如逻辑门操作。
全同态加密方案通常包括三个算法: - 密钥生成算法(Key Generation):生成公钥和私钥,用于加密和解密操作。
- 加密算法(Encryption):将明文转换为密文。
- 解密算法(Decryption):将密文转换回明文。
全同态加密的核心挑战是在保持加密状态下进行计算,并在解密时获得正确的结果。
全同态加密自举方案全同态加密自举方案是一种特殊的应用,它允许使用加密的密文对全同态加密方案进行更新或修改。
自举方案的关键思想是使用全同态加密的密文进行计算和加密操作,以实现更复杂的功能。
一种常见的全同态加密自举方案是基于评估电路(Circuit Evaluation)的方法。
该方法将计算任务表示为一个电路,然后使用全同态加密方案对电路进行计算。
通过将输入数据和电路表示为加密的密文,可以在不暴露明文的情况下进行计算,并获得加密的结果。
全同态加密自举方案的一个重要应用是安全外包计算(Secure Outsourced Computation)。
通过将计算任务外包给不可信的云服务器,使用全同态加密自举方案可以保护用户的隐私和数据安全。
全同态加密自举方案的优缺点优点1.隐私保护:使用全同态加密自举方案可以在不暴露明文的情况下进行计算,保护数据隐私和安全。
同态学习的加密算法介绍同态加密是一种特殊的加密技术,允许对加密数据进行计算,而无需先解密数据。
这种技术对于保护隐私和数据安全非常重要,因为它允许在加密的数据上进行计算,而不会泄露数据内容。
在本文中,我们将介绍同态学习的加密算法及其应用。
1. 同态加密的基本概念同态加密是一种特殊的加密技术,它允许在加密状态下对数据进行计算。
这意味着即使在加密状态下,也可以对数据进行加法、乘法等运算,并在解密后获得正确的结果。
这种特性使得同态加密在保护数据隐私和安全方面具有重要意义。
2. 同态加密的分类同态加密可以分为完全同态加密(Fully Homomorphic Encryption,FHE)和部分同态加密(Partially Homomorphic Encryption,PHE)两种类型。
完全同态加密允许对加密数据进行任意次数的加法和乘法运算,而部分同态加密只允许进行一种运算(通常是加法或乘法)。
3. 同态加密的应用同态加密在隐私保护和数据安全方面具有广泛的应用。
例如,在云计算中,用户可以使用同态加密将数据上传到云端,而无需担心数据被篡改或泄露。
在医疗保健领域,同态加密可以用于保护患者的隐私数据,同时允许医生对加密数据进行分析和计算。
此外,同态加密还可以应用于金融领域、物联网等各个领域。
4. 同态加密的算法目前,有许多同态加密算法被提出,其中最著名的是RSA同态加密算法、Paillier同态加密算法和Gentry同态加密算法。
这些算法各自有其特点和适用场景,可以根据具体的需求选择合适的算法。
RSA同态加密算法是一种非对称加密算法,基于大整数分解难题。
该算法具有较高的安全性,但在进行加法和乘法运算时性能较差。
Paillier同态加密算法是基于RSA算法的改进,具有更好的性能和安全性。
Gentry同态加密算法是第一个实现了完全同态加密的算法,但由于其性能较差,目前尚未在实际应用中得到广泛采用。
5. 同态加密的挑战和未来发展尽管同态加密具有重要的应用价值,但目前仍然面临着一些挑战。
全同态密码算法全同态密码算法是一种重要的密码学技术,可以对加密的数据进行完全保密的同时进行计算,并生成加密结果。
在云计算和数据隐私保护等领域,全同态密码算法被广泛应用。
全同态密码算法的特点是可以在不解密数据的情况下进行计算操作,这意味着用户可以将加密数据发送给云服务器进行计算,而不必担心数据的泄露。
这种算法的应用可以实现数据所有权的保护、数据共享和隐私保护等需求。
全同态密码算法的核心是同态加密技术。
同态加密是一种特殊的加密方式,可以在密文上进行运算,然后解密得到与明文运算结果相对应的结果。
具体而言,全同态密码算法可以分为完全同态加密和部分同态加密两种类型。
完全同态加密算法允许对加密的数据进行任意的加法和乘法运算,并可以通过解密操作得到运算结果,而不需要解密原始数据。
这种算法的实现相对复杂,但能够满足更多的数据处理需求。
部分同态加密算法则是对部分运算进行了加密保护。
一般情况下,部分同态加密算法可以支持一种基本的运算,如加法或乘法,但不能同时支持两种运算。
这种算法的实现相对简单,但在某些复杂计算场景下可能无法满足需求。
全同态密码算法的应用非常广泛。
在云计算中,用户可以将加密的数据上传至云服务器,云服务器使用全同态密码算法进行计算,然后将结果返回给用户解密。
这样一来,用户的数据得到了保护,同时享受到了云计算的高效便捷。
除了云计算,全同态密码算法还可以应用于数据隐私保护、安全多方计算等场景。
在数据隐私保护中,全同态密码算法可以对敏感数据进行保护,防止未授权访问和信息泄露。
在安全多方计算中,多个参与方可以在不暴露自己私密数据的情况下进行联合计算。
然而,全同态密码算法也存在一些挑战和限制。
首先,全同态密码算法的计算效率较低,对计算资源要求较高。
其次,完全同态加密算法的实现复杂度较高,需要很高的算法设计和数学基础。
此外,由于全同态密码算法的安全性较强,对攻击的容忍度也较高,因此可能会引发新的安全漏洞。
为了解决这些问题,研究人员一直在努力改进全同态密码算法。
同态加密是一种加密技术,可以让加密后的数据在保持加密状态的同时进行运算,这是传统加密技术所不能做到的。
同态加密技术可以用于数据隐私保护、云计算等领域。
基于RLWE(Ring Learning With Errors)的同态加密算法是当前比较流行的同态加密算法之一。
它利用了数论中多项式环的结构来构造同态加密方案,并通过对多项式系数引入噪声来增加安全性。
具体实现步骤如下:
1. 密钥生成:首先,选择一个大素数q和一个模数N,然后随机选取一个多项式f(x)∈Zq[x]/(x^N+1),并计算其逆多项式f^(-1)(x)。
然后从一个高斯分布中采样一个小的多项式e(x)∈Z_q[x],作为噪声项。
最后,计算g(x)=-f^(-1)(x)e(x) mod (x^N+1),将f(x)和g(x)作为私钥,将f(x)和h(x)=f^(-1)(x) mod (x^N+1)作为公钥。
2. 加密:将明文m转化为多项式m(x)∈Z_q[x]/(x^N+1),然后从高斯分布中采样一个小的多项式e(x)∈Z_q[x],作为噪声项。
最后,计算c(x)=m(x)h(x)+e(x),将c(x)作为密文发送。
3. 解密:使用私钥f(x)和g(x)解密密文c(x),计算s(x)=c(x)f(x)+g(x),然后使用CRT(中国剩余定理)将s(x)转化为明文m。
基于RLWE的同态加密算法具有较高的安全性和可扩展性,可以用于各种应用场景中保护数据隐私。
它还可以与其他密码学技术结合使用,如差分隐私、多方安全计算等,以增强数据隐私保护的能力。
同态加密的原理与应用同态加密是一种特殊的加密技术,它具有在密文域进行计算操作的能力,而无需解密密文。
这种加密方法在计算机安全领域具有重要的应用价值。
本文将介绍同态加密的原理及其在实际应用中的相关场景。
一、同态加密的原理同态加密的原理是基于离散对数和大素数等数学难题。
同态加密算法允许在不知道密文的情况下对密文进行某些计算,然后得到结果的加密形式。
具体而言,同态加密分为完全同态加密和部分同态加密两种类型。
完全同态加密(Fully Homomorphic Encryption,FHE)能够实现任意加法和乘法运算,并且保持计算的正确性。
部分同态加密(Partially Homomorphic Encryption,PHE)只能支持特定的计算操作,通常是加法或乘法运算。
这种区别对于应用场景的选择和实现方式的确定非常重要。
二、同态加密的应用1. 数据隐私保护同态加密在云计算和数据隐私保护中具有广泛应用。
当用户将数据存储在云服务器上时,传统的加密方法往往需要解密数据后才能进行计算操作,这会暴露数据隐私。
而同态加密可以通过在密文域进行计算,保护用户数据的机密性。
例如,医疗机构可以使用同态加密技术将患者数据上传至云服务器,而云服务器在不解密的情况下完成统计计算。
2. 数据共享与协作在有限的信任环境下,同态加密可以实现多方对密文数据进行计算,而无需将数据解密。
这在跨机构协作和数据共享场景中非常有用。
例如,金融行业的合规审计需要跨多家银行进行数据比对,使用同态加密技术可以确保数据隐私的保护同时实现数据验证。
3. 安全计算外包同态加密还可以用于实现安全计算外包。
将计算任务(如图像识别、机器学习等)交由云服务器处理时,同态加密可以保障数据隐私并确保计算结果的正确性。
这种方式可以有效减轻终端设备的计算负担,提高计算效率。
4. 电子投票系统同态加密在电子投票系统中具有重要的应用。
传统的投票系统需要将选票送往特定的地点进行计票,而同态加密可以在保护选民隐私的同时,实现对选票的加密计算和统计。
全同态加密方案的研究全同态加密方案的研究摘要:全同态加密是一种重要的密码学技术,能够对密文进行计算和操作,同时不需要解密。
本文对全同态加密的原理、实现方式以及应用进行了研究和探讨,介绍了几种常见的全同态加密方案,并分析了其优缺点和应用场景。
1. 引言全同态加密(Fully Homomorphic Encryption, FHE)是近年来密码学领域的突破性研究,是对传统加密算法的进一步扩展和发展。
在传统加密中,只能对密文进行传递和存储,对密文进行计算和操作的需求无法实现。
而全同态加密则能够满足对密文进行计算和操作的需求,实现对加密数据的高度保护和隐私安全。
2. 全同态加密的原理全同态加密的原理是通过混淆技术和特殊的加密算法,将明文加密为密文,并设计相应的解密算法。
与传统加密算法不同的是,全同态加密算法能够对密文进行计算和操作,而无需解密。
这是通过将计算操作转化为在密文上的操作实现的,使得加密数据在计算的过程中仍然保持加密状态。
3. 全同态加密的实现方式目前,全同态加密有多种实现方式,其中最为代表性的是基于整数和基于椭圆曲线的方案。
基于整数的方案利用整数的运算特性进行加密和计算,适用于简单的计算任务。
基于椭圆曲线的方案利用椭圆曲线的运算特性进行加密和计算,适用于复杂的计算任务。
此外,还有基于多线性映射和格的全同态加密方案,适用于不同场景和需求。
4. 几种常见的全同态加密方案4.1 基于整数的全同态加密方案基于整数的全同态加密方案主要有RSA全同态加密和Paillier全同态加密。
RSA全同态加密利用RSA算法的特性实现对密文的计算和操作。
而Paillier全同态加密则利用Paillier算法实现同样的功能。
这两种方案在实现方式和性能上有差异,可根据实际需求进行选择。
4.2 基于椭圆曲线的全同态加密方案基于椭圆曲线的全同态加密方案主要有ElGamal全同态加密和BGW全同态加密。
ElGamal全同态加密利用椭圆曲线的离散对数的困难性实现全同态加密。
摘要摘要云计算推动了互联网深入到我们的生活中,我们已经无法避免的需要将数据交给云进行处理。
但是,目前我们只能以明文的形式将数据提供给服务器进行处理,从而带来严重的安全隐患,也限制了云计算的进一步发展。
如果可以将明文上的运算映射到密文上,就解决了云计算中的数据安全问题。
其实,密码学家在三十年前就已经提出了这个概念,现被称为同态加密算法。
由于这种算法的构建十分困难,最初建立的是部分同态(Somewhat Fully Homomorphic)算法,例如RSA就是一种支持乘法运算的部分同态算法。
全同态(Fully Homomorphic)加密算法是这样一类算法:对明文的运算,与对密文的运算,在经过解密后是相同的,使得我们可以将加密后数据交给云进行处理。
但是在长达三十年的时间内都没有找到可以支持任意运算的全同态加密算法。
2009年Gentry第一次构造出了全同态加密方案,其通过重加密技术实现了部分同态加密方案到全同态加密的方案的转变,从而引起了研究人员的广泛关注。
此后,研究者又相继提出了基于LWE和RLWE的层次化的全同态方案。
但是,由于方案均是人为构造的,涉及了大量的基础理论,使其十分难以被理解,更加难以实现。
目前,研究工作仍然是停留在理论层面上,离实用化还存在较大的距离。
全同态加密技术实用化的关键问题是如何简化目标电路的设计过程,使得理论方案支持的运算更好的与现实场景中的运算匹配。
目前这一问题还没有得到充分的研究。
本文以全同态加密技术的实用化研究为目标,在基础理论研究上首先对基于格的全同态加密方案进行了实现和实验;对基于RLWE的全同态加密方案的关键部分进行了实现设计,解决了理论方案实现过程中的各种难题。
然后,本文以第三方数据处理为业务背景分析得出了全同态加密技术实用化的两个基本问题:参数和电路深度的匹配问题以及运算空间的匹配问题。
最后,本文以基于RLWE的方案为例,通过噪音分析的技术手段对两个基本问题进行了详细的分析,提出了相应的解决方法。
医疗大数据隐私保护中的同态加密算法研究随着医疗数据的快速积累和数字化发展,医疗大数据的应用正在成为现代医疗领域的一个重要趋势。
然而,医疗大数据的保护和隐私成为了一个重要的问题。
面对数据泄露和隐私侵犯的风险,同态加密算法出现在医疗大数据隐私保护中,并逐渐成为研究的热点之一。
同态加密算法可以在不暴露数据明文的情况下,实现对数据的加密和计算。
这使得医疗机构可以在保护医疗数据隐私的前提下,共享和共同分析数据,从而推动医疗科研和医疗服务的进步。
同态加密算法的研究主要分为完全同态加密和部分同态加密。
完全同态加密可以支持对加密数据进行任意计算,包括加法和乘法等。
部分同态加密虽然功能较完全同态加密有所限制,但在实际应用中更加实用和高效。
在医疗大数据隐私保护中,部分同态加密算法被广泛采用。
这种算法具有较低的计算复杂性和较高的性能效率,能够满足医疗数据处理的实时性要求。
同时,部分同态加密算法还可以实现数据的验证和审计,确保数据的完整性和可靠性。
同态加密算法的研究主要围绕以下几个方面展开:首先,同态加密算法的安全性是研究的核心问题。
同态加密算法需要保证数据的机密性和隐私性,防止数据泄露和隐私侵犯。
针对同态加密算法可能存在的安全漏洞,研究者们提出了各种攻击方法,并提供了相应的防护措施。
目前,同态加密算法的安全性已经得到了较好的保证,但仍然需要进一步的研究和改进。
其次,同态加密算法的效率和性能是研究的重点之一。
医疗大数据的处理过程中需要大量的计算和存储资源,因此,同态加密算法需要具备较高的计算效率和性能优势。
研究者们通过优化算法和使用硬件加速等方法,不断提高同态加密算法的效率,以应对大规模医疗数据的处理需求。
另外,同态加密算法的可扩展性也是研究的重要方向。
随着医疗大数据的不断增长,传统的同态加密算法可能面临计算和存储资源的瓶颈。
因此,研究者们通过分布式计算和云计算等方法,提高同态加密算法的可扩展性和适应性。
最后,同态加密算法在医疗实践中的应用也是研究的关注点之一。
基于格上LWE问题的全同态加密技术研究全同态加密技术是一种能够对密文进行多次加密、解密以及进行加法和乘法运算的加密技术。
它在云计算、数据隐私保护等领域具有广泛的应用前景。
然而,目前已知的全同态加密方案都存在一些限制,如计算复杂度高、密文扩张等问题,限制了其在实际应用中的广泛使用。
基于格上LWE(Learning With Errors)问题的全同态加密技术被提出,为解决上述问题提供了一种可能。
LWE问题是一种基于格论的数学难题,其核心思想是将密文表示为格上的向量,并利用LWE问题的困难性来保证密文的安全性。
在基于格上LWE问题的全同态加密技术中,首先需要选取一个合适的格结构,然后将明文映射到该格上的向量空间中。
接下来,通过引入一些特殊的矩阵运算,将向量空间中的向量进行加密。
在进行加法和乘法运算时,可以利用LWE问题的困难性来保证密文的安全性。
最后,通过解密算法将密文恢复为明文。
相比于传统的全同态加密方案,基于格上LWE问题的全同态加密技术具有一定的优势。
首先,它能够实现多次加密和解密操作,同时支持加法和乘法运算,具有更强的功能性。
其次,该技术在保证密文安全性的同时,能够降低计算复杂度和密文扩张的问题,提高了加密算法的效率和可用性。
然而,基于格上LWE问题的全同态加密技术也存在一些挑战和问题。
首先,选取合适的格结构和参数是一个复杂的问题,需要进行深入的研究和分析。
其次,该技术在实际应用中可能面临性能和安全性的权衡,需要在二者之间进行平衡。
总的来说,基于格上LWE问题的全同态加密技术是一种具有广泛应用前景的加密技术。
通过解决传统全同态加密方案中的限制和问题,它能够在云计算、数据隐私保护等领域发挥重要作用。
然而,该技术目前仍然处于研究阶段,还需要进一步的理论和实践工作来完善和改进。
全同态加密的原理
全同态加密是一种允许对加密的数据进行计算并得到加密结果,而不需要解密的加密方式。
其原理是使用公钥和私钥来加密和解密数据。
公钥用于加密数据,私钥用于解密数据。
在全同态加密中,即使知道了公钥和加密后的数据,也无法得到原始数据的明文,因此保证了数据的隐私性和安全性。
全同态加密的实现过程涉及到数学和计算机科学等多个领域的知识,包括代数、数论、概率论等。
其算法主要包括以下几个步骤:
1. 密钥生成:首先需要生成公钥和私钥,公钥用于加密数据,私钥用于解密数据。
2. 数据加密:使用公钥对数据进行加密,得到密文。
3. 数据处理:在密文状态下进行计算,得到加密结果。
4. 结果解密:使用私钥对加密结果进行解密,得到明文结果。
全同态加密具有以下优点:
1. 保证了数据的隐私性和安全性,即使知道了公钥和加密后的数据,也无法得到原始数据的明文。
2. 可以对加密的数据进行计算并得到加密结果,而不需要解密,因此可以方便地进行数据处理和分析。
3. 可以实现任意复杂的计算操作,包括加、减、乘、除等,因此可以广泛应用于各种数据处理和分析的场景。
需要注意的是,全同态加密也存在一些挑战和限制,例如算法复杂度高、计算成本高、可扩展性差等。
因此,目前的全同态加密算法还只是在实验阶段,距离实际应用还有一定距离。
全同态加密研究动态及其应用概述刘明洁;王安【摘要】随着互联网的发展,尤其是云计算概念的诞生,人们在加密数据搜索与处理等方面的需求日益增加,使得全同态加密变得愈加重要.全同态加密的思想是20世纪70年代Rivest等人首次提出的,如何构造满足全同态性质的体制一直是困扰密码学家的难题,直到2009年Gentry基于理想格提出了第1个全同态加密体制使得该方面的研究取得突破性进展.随后许多密码学家在全同态加密方案的研究上作出了有意义的工作,促进了全同态加密向实用化的发展.对全同态加密的研究动态进行了概要的介绍,包括Gentry提出的第1个全同态加密方案及其优化;基于整数的全同态加密方案;基于LWE问题的全同态加密方案等.随后探讨了全同态加密的一般性应用框架,并以云计算、电子投票、数字水印3个应用为例,介绍了全同态加密的重要应用价值.【期刊名称】《计算机研究与发展》【年(卷),期】2014(051)012【总页数】11页(P2593-2603)【关键词】密码学;公钥密码学;全同态加密;云计算;信息安全【作者】刘明洁;王安【作者单位】北京大学北京国际数学研究中心北京 100871;清华大学微电子学研究所北京 100084【正文语种】中文【中图分类】TP309.71 全同态加密的研究现状利用同态加密来保护数据的私密性,这个概念最早由Rivest等人[1]于1978年提出.该想法的来源是通过加密函数的同态性质,实现对加密后的数据作运算的同时保护数据的私密性.这个概念被提出之后,密码学家设计出了很多具有同态性质的加密方案,如实现电子投票的体制[2-4]、保密信息检索协议[5-6]等.近几年,云计算受到广泛关注,而它在实现中遇到的问题之一即是如何保证数据的私密性,全同态加密可以在一定程度上解决这个技术难题.具体地说同态加密指这样一种加密函数,对明文进行环上的加法和乘法运算再加密,与加密后对密文进行相应的运算,结果是等价的.由于这个良好的性质,人们可以委托不信任的第三方对数据进行处理,而不泄露信息.因此,同态加密在云计算、电子政务等方面有重要应用.具有同态性质的加密函数是指2个明文a,b满足Dec(En(a)⊗En(b))=a⊕b的加密函数,其中En是加密运算,Dec是解密运算,⊕,⊗分别对应明文和密文域上的运算.当⊕代表加法时,称该加密为加同态加密.密码学家设计出很多具有加同态性质的加密体制包括文献[3,7-10].当⊗代表乘法时,称该加密为乘同态加密[11].2005年在理论密码学会议(TCC)上,Boneh等人[12]给出了第1个可以同时实现加法和乘法同态的密码体制,该体制可以允许进行任意次的加法运算和一次乘法运算仍然保持同态.全同态加密指同时满足加同态和乘同态性质,可以进行任意多次加和乘运算的加密函数.用数学公式来表达,即或者写成:如果f是任意函数,称为全同态加密.直到2009年,IBM的研究人员Gentry [13]第1次设计出一个真正的全同态加密体制,即可以在不解密的条件下对加密数据进行任何可以在明文上进行的运算.使得对加密信息仍能进行深入和无限的分析,而不会影响其保密性.经过这一突破,存储他人机密电子数据的电脑销售商就能受用户委托来充分分析数据,不用频繁与用户交互,也不必看到任何隐私数据.同态加密技术将允许公司将敏感的信息储存在远程服务器里,既避免从当地的主机端发生泄密,又依然保证了信息的使用和搜索.用户也得以使用搜索引擎进行查询并获取结果,而不用担心搜索引擎会留下自己的查询记录.Gentry[13]的同态加密体制是基于理想格设计的,我们将在下面的章节中对该体制作详细的介绍.其主要思想是先构造了一个部分同态加密的体制,该体制仅能保证对明文进行较低次数的多项式运算时的同态性,然后利用Squash技术降低解密函数的多项式次数,实现Bootstrapping,通过在不知道密钥的情况下更新密文,从而减少扰动,实现全同态加密.但该体制在期望的安全强度上远达不到实用的程度.随后很多密码学家在全同态加密体制的研究方面取得进展.2010年Dijk等人[14]利用Gentry的技术提出了基于整数的全同态加密体制.该体制比Gentry 的体制更简洁,但仍不实用.2010年Smart等人[15]在PKC上简化了Gentry09体制的实现,但仍然无法实现Bootstrapping的步骤.2011年Gentry等人[16]利用一些技术对Gentry09体制的实现作进一步的简化,包括提出了部分同态加密方案的新的密钥生成算法,不需要对整个多项式求逆的优化实现方法、时间空间部分平衡等,减少密钥和密文长度,使得部分参数的实现成为可能.为了提高全同态加密的效率,2011年之后密码学家又先后提出了不用Squash和Bootstrapping的体制[17-18],使得全同态加密继续向实用化靠近.2 Gentry基于理想格的全同态加密体制2.1 Gentry全同态加密的基本思想2009年Gentry[13]给出了第1个全同态加密体制,该体制的构造分为如下3步:1)构造一个部分同态加密体制,对加密数据进行次数比较低的多项式的运算时可以保持同态性,即式(2)成立;2)降低解密多项式的次数;3)利用Bootstrapping实现全同态加密.该构造过程的核心是找到一个体制,使得式(2)成立的函数f的次数尽量高,而其加密函数的次数尽量低,一旦式(2)中的f对解密函数成立,该体制即被称为Bootstrapping的,即可以转化成一个全同态加密体制.Gentry构造的部分同态加密体制是一个类GGH[19]的基于理想格的体制,并且证明了在密钥生成算法恰当的情况下,这个体制的安全性可以归约到理想格上最坏情况的某些困难问题.但这个部分同态加密体制不是Bootstrapping的,Gentry经过在公钥中加一部分秘密密钥的暗示信息,降低解密函数的次数.在稀疏背包问题困难的假设下,这些信息不会影响体制的安全性.2.2 理想格基础n维格是Rn中的离散子集,具体地说是n个线性无关向量的整系数线性组合,这n个向量称为格的一组基.一个格有很多不同的格基,格基的性质对求解格中困难问题的难度有很大的影响.格的行列式定义为格基{b1,b2,…,bn}组成的基本体P(B)=的体积,记det(L)=vol(P(B)),行列式是对格基的不变量.f(x)是一个n次整系数不可约多项式,通常取f(x)=xn+1,n是2的方幂.R 是整系数多项式模多项式f(x)得到的环,R=Z[x]/(f(x)).每个环里的元素是次数不超过n-1的多项式,因此可以表示成Zn中的一个向量.I是R中的一个理想即对R中元素加法和乘法有封闭性.因此I中的元素构成一个格,称为理想格.R中的一个元素v生成的理想对应的格可以由这样一组向量生成:2.3 Gentry的部分同态加密体制Gentry的部分同态加密体制是一种GGH类基于理想格的体制.公钥是一个理想格J的随机的“坏”格基Bpk和一个小的理想I的格基BI(用来将明文转换成扰动变量).比如I=(2),即所有系数为偶数的向量集合.通过将明文处理成扰动变量,密文是一个距离理想格J很近的向量.具体地说,明文空间是{0,1},将0编码成0n,1编码成0n1,即将明文嵌入到R/I={0,1}n 中.对编码后的明文m∈{0,1}n,我们选择一个随机的短向量r,计算e =2r+m,输出密文c←e mod Bpk.体制中的私钥(J的好的格基)是一个短向量w∈J-1,解密过程就是计算w×c的分数部分.由于c=j+e,其中j∈J,所以有w×c=w×j+w×e.而w×j在环R 中,即是一个整向量,因此w×c与w×e有相同的分数部分.如果w和e足够小,特别是如果能保证w×e的所有系数都小于1/2,w×e与w×e的分数部分[w×e]相同.解密者只需对密文c乘上w-1,即可得到e,计算m←e mod 2恢复m.在Gentry的原文中实际解密过程稍有不同.通过计算m←c-[w×c]mod 2解密.这个体制是部分同态的,2个密文c1=j1+e1,c2=j2+e2,它们的和可以表示成j3+e3,其中,j3=j1+j2∈J,e3=e1+e2 是小的扰动向量.2个密文的乘积可以写成:j4+e4,其中j4=j1×(j2+e2)+e1×j2∈J,e4=e1×e2,仍然较小.经过若干次乘法和加法在扰动大小还没有超过解密半径之前,该算法是同态的,即这是一个部分同态算法,具体可以进行的运算次数与具体参数选择有关.2.4 Gentry的全同态加密体制Gentry的部分同态加密体制对式(2)只能对低次数的函数f成立,当f的次数过大时,扰动变量超过秘密密钥的解密范围,同态性质就无法保持.为了实现全同态加密Gentry引入了Bootstrapping的思想.他观察到如果f是解密函数时能保证式(2)成立,就可以在不知道密钥的情况下更新密文,把扰动一直控制在较小的范围内,从而实现全同态加密.具体地说,如果满足:即可以用公钥pk2加密的私钥sk1和用公钥pk1加密的明文m作为输入,输出用公钥pk2加密的明文.实现了不知道私钥情况下的明文更新.满足这一条件的体制称作Bootstrapping的.但遗憾的是对2.3节介绍的部分同态加密体制来说,解密函数表示成密钥比特的多项式次数仍然太高,不满足式(2).为了克服这个问题,Gentry进一步引入了降低解密函数的次数的技巧,在文中称作Squash.将原来的部分同态加密体制转化成一个新的体制,使得解密函数的次数降低,但对其他的性质没有影响.在原来的体制中秘密密钥是向量w,在新的体制中公钥包括一部分对w的提示信息,一个大的集合S={xi,i=1,2,…,S}存在一个稀疏的子集T,其中的元素相加是w.用一个0,1比特串σ=[σ1,σ2,…,σs]表示,即新的体制中秘密密钥是σ.这样在原算法中需要计算m←c-[w×c]mod 2解密,在新的算法中对密文c作一个处理,对所有的xi∈S,计算yi=xi×c,解密过程转化成计算:再利用一些加法的技巧,该式可以表示成次数大约是集合T的元素数量的σj的多项式.合理地选择参数可以使得这里T足够小,得到一个Bootstrapping的体制.2.5 Smart-Vercauteren对Gentry体制的优化2010年PKC上Smart等人提出了第1个Gentry体制的优化[15].该体制定义在环R=Z[x]/(f(x))上,其中fn(x)=xn+1,n是2的幂次.在一个n维方体里随机选择向量v,满足v生成的格行列式是一个素数,记J=(v),这样的J是一个主理想,这样的理想可以用2个参数(d,r)来表示:d=det(J),r是fn(x)mod d的根.注意到该理想格的 Hermite形式具有如下的特征:这里[r]d 指将r模到(-d/2,d/2]之间.容易看出对一个向量a进行模HNF (J)的运算相当于计算多项式a(x)在点r处模d的取值,得到的向量是([a (r)]d,0,0,…,0).因此加密一个向量(m,0,0,…,0),其中m∈{0,1},即选择一个随机小的多项式u(x),计算在点r处的取值,输出密文c←[2u(r)+m]d.Smart和Vercauteren的体制中,秘密密钥只是一个整数w,计算即可解密.该体制可以实现Gentry的部分同态加密方案,但是Gentry体制的Squash仍因为参数太大无法实现,从而实现不了Bootstrapping,即无法实现全同态加密.Smart-Vercauteren的体制很大的一个局限是生成部分同态体制的密钥非常复杂,由于找到一个行列式是素数的元素需要生成大约n1.5个随机元素.计算秘密密钥的复杂度大约是n2.5.所以生成n>2 048的密钥已不实际.而它们的解密函数的次数高达几百,需要n达到227才可以进行Squash步骤,而这么大的n对密钥生成又是不可能的.2.6 Gentry-Halevi对Gentry体制的实现Gentry-Halevi第1次完全实现了全同态加密[16],对维数2 048,8 192,32 768公钥的大小大约为70MB到2.3GB,运行Bootstrpping的时间大约是30s到30min.本文对Gentry体制的优化主要有以下7个方面:1)放松了Smart-Vercauteren体制的对格的行列式是素数的要求,只需要基的HNF形式具有式(3)的特征即可.并且给出了一个非常容易的判别条件,判别这样的格.2)与Smart-Vercauteren体制类似,该体制也是使用一个秘密的逆多项式的一个系数来解密,但是为了简便用模计算代替了有理数的除法.3)在计算解密密钥时需要计算一个给定多项式模x2 m ±1的逆,这在Smart-Vercauteren的体制中是非常费时间的操作.给出了一个优化的算法可以高效地计算结式和逆多项式的一个系数,而不必计算整个多项式.4)使用了批处理技术加速加密,通过一起计算一些小系数的多项式在同一个点的值来有效计算.计算k个多项式只是计算一个多项式复杂度的倍.5)秘密密钥是一个长度为S≈1 000的二元向量,其中只有15个1,其他是0.通过用s个长度为S的(每个向量只有一个1)向量来表示秘密密钥提高算法的效率.6)公钥包含一个稀疏背包问题的实例,将其利用几何级数来表示,从而大大节省存储空间.7)全同态加密体制的公钥包含对秘密密钥比特的加密,利用时间和空间的平衡策略来优化存储空间而不增加过多的时间复杂度.3 基于整数的全同态加密2010年的欧密会上,Dijk等人[14]提出了一种基于整数的全同态加密体制.该体制与Gentry09体制非常类似,首先构造一个部分同态的体制,再利用Squash 降低解密函数次数,实现Bootstrapping.该体制的优势是它不需要理想格上的运算,但是公钥的长度仍然很长.算法安全性基于近似最大公因子问题.随后,在2011年美密会上,Coron等人提出了该体制的一种降低密钥长度的版本[20],并且借鉴文献[16]的方法进一步作了优化.实现了安全强度分别为42B,52B,62B,72B的几个实例.对安全强度为72B的参数,加密和重加密分别需要3min和12min,解密时间很短,公钥大小是800MB.同时证明了经过这些优化之后算法仍然是语义安全的,安全性基于一个变种的近似最大公因子问题.3.1 DGHV体制利用[z]p 表示z 模p 到(-p/2,p/2]之间.生成一个η比特的奇数p,xi←Dγ,p(p),选其中最大的记为x0,并且保证x0是奇数,[x0]p 是偶数.公钥pk=(x0,x1,…,xτ),私钥是p.加密1B的明文m,选择一个随机子集S⊆{1,2,…,τ}和1个在区间(-2ρ′,2ρ′)中的随机整数r,输出密文.解密计算m←(c mod p)mod 2.由于c mod需计算m在文献[14]中,证明了这是一个部分同态的体制,在近似GCD问题的困难性假设下是语义安全的.近似最大公因子问题,表述如下:参数(ρ,η,γ)近似GCD问题指对一个随机的η比特的奇数p,给定多项式个Dγ,p(p)中的取样,输出p.这个问题目前还没有找到高效的算法解决,被认为是困难的.将这个体制转化成全同态的,使用了与Gentry09类似的办法,通过增加公钥中部分私钥的信息,降低解密函数的系数从而实现Bootstraping.具体地说,是素数,因此只其中,κ=γη/ρ′,选择一个随机的比特的0,1向量,只有θ比特为1,为了达到2λ的安全强度,对参数有如下要求:抵抗对扰动变量的穷举搜索攻击ρ=ω(lbλ);为了Squash技术的实现η≥ρΘ(λlbλ2);抵抗格攻击γ=ω(η2 lbλ);保证安全性证明τ≥γ+ω(lbλ),ρ′=ρ+ω(lbλ).在文献[14]中,建议参数:ρ=λ,ρ′=2λ,η=O~(λ2),γ=O~(λ5),τ=γ+λ,公钥的长度是O~(λ10).3.2 优化版本的DGHV体制2011年的美密会上Coron等人提出的减少密钥长度的方案[20],主要创新点是xi生成的方式为x′i,j=xi0xi1mod x0,1≤i,j≤β,这样只需要存储2β个整数就可以生成β2个整数x′i,j,公钥的大小从τ个γ比特的数降低到个.另外的不同还有x0是无扰动的变量x0=pq0,该要求使得体制的安全性基于一个变体的近似最大公因子问题.称为无扰动近似最大公因子问题,具体描述如下:参数(ρ,η,γ)无扰动近似GCD问题指对一个随机的η比特的素数p,给定x0=pq0,其中q0是一个属于[0,2γ/p]的随机无小于2λ 因子的无平方数,多项式个D′p(p,q0)中的取样输出p.这个问题目前也还没有找到高效的算法解决,被认为是困难的.这里:密钥生成一个η比特的随机素数p,q0是一个属于[0,2γ/p]的随机无小于2λ因子的无平方数,生成xi,b=pqi,b+ri,b,1≤i≤β,b∈{0,1},其中qi,b是[0,q)的随机整数,ri,b∈(-2ρ,2ρ).私钥是p,公钥是(x0,x1,0,x1,1,…,xβ,0,xβ,1).加密对一个比特的明文m过程如下:生成一个随机大小为τ=β2的向量b=(bi,j)元素均在[0,2α)之间,生成一个(-2ρ′,2ρ′)中的随机整数r,输出密文bi,jxi,0xj,1mod x0.解密过程与原算法相同.在Squash的过程中,与原算法的不同之处就是为了节省存储,生成ui∈Z∩[0,2κ+1],i=1,…,Θ时,不再是随机选取而是通过一个伪随机生成函数f和种子e来生成,这样将这部分存储从O~(λ8)降到仅保留0,1表示小数点后的为了达到2λ的安全强度,对参数有如下要求:抵抗对扰动变量的穷举搜索攻击仍有ρ=ω(lbλ);抵抗格攻击γ=ω(η2 lbλ);为了Squash技术的实现η≥(2ρ+α)Θ(λlbλ2);保证安全性证明αβ2≥γ+ω(lbλ),ρ′=2ρ+α+ω(lbλ).在文献[20]中,建议参数与原算法相同有),另外还有=4λ,与原体制需要个xi 不同,这里只需要2β=O~(λ2)个xi,公钥的长4 全同态加密体制的新进展虽然在全同态体制的实用化方面做了很多工作,但其实现效率还远达不到应用的要求.主要有下面2点原因:1)Bootstrapping的复杂性至少是解密的复杂度乘以用来加密密钥比特的密文的比特长度.这是因为Bootstrapping需要同态计算解密函数,而解密密钥需要经过加密处理.而解密复杂度和密钥长度均为Ω(λ),因此Bootstrapping的复杂度至少是二次的.2)可以计算次数为d的函数部分同态加密体制,需要2d近似最短向量问题在2λ时间内不可解.格的维数需要达到Ω(dλ),向量的系数需要达到Ω(d)(单位B),因此更新后的密文长度至少是Ω(dλ2).但是部分同态体制要达到Bootstrapping必须可以对自身的解密函数进行同态运算,即d必须大于解密函数的次数Ω(λ),因此更新后密文的长度为Ω~(λ2).这样即使假设这些更新的密文解密只需要Θ(λ)的时间,总的时间仍然需要Ω~(λ4).由于全同态加密体制在实际中的重要应用前景,对其研究和优化不断有新的进展,很多文章[21-22]发表在顶级密码学会议上,由于篇幅所限,这里不再做详细介绍.4.1 不带Squash的全同态加密体制最近 Gentry等人[18]和 Brakerski等人[23]分别独立提出了不用Squash步骤的同态加密体制.这样使得体制的安全性不再需要稀疏背包问题的困难性假设.这2个体制仍需要Bootstraping步骤,没有从根本上提高算法的效率.但这2种算法都提出了很有意义的思想.Gentry等人[18]通过将解密函数表示成不同的形式实现了Bootstrapping.他们观察到基于格的密码体制的解密函数可以表示成一种特殊类型的对称多项式,这种多项式可以利用大域上的深度为3的算术电路表示.尽管这个多项式的次数较高,他们证明了可以将其转化成乘同态的体制(如ElGamal)进行同态计算,再将结果转化回去.这里的乘同态体制可以用加同态体制来代替,比如通过加上离散对数.该体制的安全性依赖于最坏情况的理想格上的困难问题.Brakerski等人设计的体制[23]基于LWE问题,该体制的创新性主要有2点:1)基于LWE构造了一个部分同态加密体制,主要的技术是重线性化,突破了之前的体制都基于理想格上的困难问题的缺陷;2)利用维数约化和模约化的技术来减少密文的长度,降低解密复杂度.从而在不用Squash的情况下实现Bootstrapping.在基于LWE的体制中,解密通过计算密文和密钥的内积 m=(〈c,s〉mod q)mod 2.维数约化技术将明文m在密钥s下的密文c转化成在一个不同的密钥s′加密下的密文c′,m=(〈c′,s′〉mod q)mod 2.这里c′和s′的维数都比c,s小.为了实现这个步骤需要在公钥中包括s在s′下的加密,但是这里s不是按比特加密的.模约化步骤将m在密钥s下的密文c转化成一个在不同的模下的密钥s′下的密文c′,m=(〈c′,s′〉mod q)mod 2.在部分同态加密的更新密文过程中,扰动会变得很大,利用维数约化和模约化得到同一个明文的小得多的密文,对这个小的密文执行解密过程,最终实现了不需要Squash的Bootstrapping.4.2 不带Bootstrapping的全同态加密体制Gentry借鉴Brakerski等人的设计中模约化的技术控制扰动变量的大小,提出了不需要Bootstrapping的全同态加密体制[17].模约化的核心是如下的引理:p,q是2个奇数,c是一个整数向量,c′是一个与(p/q)c接近的向量且.对任意l1(s),有〈c′,s〉mod p=〈c,s〉mod p mod 2,且,其中,l1(s)是s的l1 范数.该引理表明在不知道密钥s的情况下,只需要知道s长度的界,即可把一个模q 下的密文转化为一个模p的密文仍可以正确解密,即〈c′,s〉mod p=〈c,s〉mod pmod 2,这个转化只涉及到一个数乘和取整.如果s比较短,p比q小,该转化达到了减小密文中扰动的目的,即〈c′,s〉modp <〈c,s〉modp.在不知道密钥的情况下减少扰动是Bootstrapping希望达到的目的,而模约化的步骤显然比Bootstrapping要简洁很多.模约化从表面来看并不是一个好的处理扰动的方法,因为对于比q小的p,模约化虽然降低了扰动变量的绝对值,但也相应减少了模的长度,即扰动和模的比值没有减少.对体制的同态能力来说,扰动的绝对值更重要.特别是对乘法.比如取q≈xk,2个模q的部分同态加密体制的密文如果扰动大小都是x,相乘之后扰动变成x2,经过4轮的乘法,扰动变成x16,即只能进行lb k层的乘法.如果选择一系列递减的模{qi≈q/xi},i<k.2个模q的密文相乘之后,把密文转化成在一个小的模q1≈q/x下,这样对应的扰动从x2降到x(这里假设l1(s)很小可以忽略).再在模q1的情况下做2个密文的乘法,扰动仍是x2,再利用模约化技术将模降到q2,扰动仍可保持在x.以此类推,利用这种技术可以进行k层的乘法,大大提高了之前的lbk.这样通过模约化得到了噪声的减少,利用逐渐减少模,可以保持噪声一直比较小.实现了对任意多项式保持同态性质而不需要Bootstrapping,从而提高了算法的效率.关于该体制具体的优化可参见文献[17],在这里不再详述.5 全同态加密的应用现实生活中的实际应用往往会大幅推动科学理论的发展.随着互联网的发展,尤其是云计算概念的诞生,人们在加密数据搜索与处理等方面的需求日益增加,大大推动了全同态加密方向的科学研究.与此同时,自Gentry的创新性工作发表以来,关于全同态加密的研究工作开始出现了新的高潮,被广泛应用于多种实际环境.本节将对全同态加密的一些典型应用作简要介绍.5.1 全同态加密一般性应用框架密码协议是大多数安全模块中必备的环节,从广义上讲,所有的密码协议都是安全多方计算的一个特例.它们广泛应用于金融交易、社交网络、实时监控、信息管理等多个领域.常见的密码协议中,通常包括多个参与者,他们可能是可信方(例如用户自己、经过认证的参与者)或不可信方(未经认证的参与者).理论上,凡是存在不可信方的协议都具备全同态加密应用的可能.因此,全同态加密的大部分应用都可视作安全多方计算的范畴.当不可信方需要对敏感数据进行搜索、分析、处理等操作时,协议的其他参与者不希望不可信方掌握明文数据,因此可以采用全同态加密方案,让不可信方直接对密文进行操作,实现等同于对原始数据直接进行处理的效果,从而完成用户的需求.我们给出全同态加密的一般性应用框架,如图1所示:Fig.1 General application framework of fully homomorphic scheme.图1 全同态加密的一般性应用框架加密数据处理方法简述如下:假设存在全同态加密函数Enck(x),首先用户用自己的私钥k对需要处理的数据m进行同态加密c=Enck(m),然后将加密数据c上传到云端服务器.服务器能够对加密数据c直接进行处理,得到c′=f(c)=f (Enck(m)),然后将处理后的密文c′返回给用户.用户收到c′=f(c)=f (Enck(m))=Enck(f(m))后,利用自己的私钥k对其进行同态解密,得到已经处理好的明文数据f(m).5.2 云计算中的全同态加密云存储安全是云计算领域的重要安全问题之一.为解决数据隐私保护的问题,常见的方法是由用户对数据进行加密,把加密后的密文信息存储在服务端.然而,当用户需要服务器提供数据搜索、分析、处理等功能时,传统加密方案难以实现,但全同态加密为之提供了实现的可能.5.2.1 云计算中的加密数据检索。
全同态加密算法研究与实现素质拓展报告
FHE 的应用价值早就被众人所熟知,但是直到目前为止,还没有真正实用的FHE 方案。
2009 年,Gentry 首次创造性地提出基于理想格的第一个 FHE 方案之后,FHE 的研究再一次成为了众多密码学家和公司关注的焦点。
因此,FHE方案的构造是当前密码学领域的主要研究的问题之一。
在以前的基于“译码难题(其中包括格上难题)”陷门的非对称同态密码方案的构造过程中,密码学家所考虑的是如何将有限的双同态的“限”做大,使得它能够接近无限的双同态。
其具体做法是将密文空间的“模”尽可能的做大而能够容纳大尺寸的误差。
但是,这样做的代价是密文空间的尺寸将大得难以承受。
2009 年 Gentry 创造性的提出了一个新的 FHE 方案的构造方法 [2] 。
由于明文比特之间的“异或”运算和“与”运算构成了操作完备集,Gentry 基于一个对“异或”操作(或者是 mod 2 加法运算)和“与”操作(或者是 mod 2 乘法运算)同态加密
方案来实现 FHE 方案的构造,其主要构造思想是:
构造一个支持有限次“异或”操作(或者是 mod 2 加法运算)和“与”操作(或者是 mod 2 乘法运算)同态的加密方案。
在构造一般的同态加密方案时,为了保证安全性,Gentry 引入了噪声。
但是随着同态操作的进行,噪声的值将迅速增长,当噪声的尺寸过大时,解密会出错。
为了降低噪声的尺寸,Gentry 考虑到可以对解密运算进行“密文端的同态运算”——重加密(recrypt),从而实现压缩噪声的尺寸进而继续进行加法同态和乘法同态运算。
为此,Gentry 引入了重加密和自举的概念。
Gentry 的构造方法完成了一个不可思议的功能:解密算法不但能够表示成简单的布尔运算,而且该运算竟然能够进行“密文端的同态运算”;通过递归式自嵌入的方式,一般地同态加密方案可以转化为 FHE 方案。
重加密技术是通过实施“密文端的同态运算”来实现的。
假设消息 m 在公钥1pk 作用下的密文为1c ,符号 D 表示解密电路。
如果使用加密公钥2pk 加密1sk 后的解密密钥为1sk ←Encrypt(2pk 1sk),通常情况下,对于一个加密方案实施二次加密的过程是:首先对外层加密进行解密,而后才能对内层加密进行解密。
但是, Recrypt 算法的奇妙之处正在于它能够突破这种常规,具有直接对”内层加密”实施解密的能力。
当然,在这个过程中,必须保证密文的噪声不会增大或者增长不能太大。