整数上全同态加密方案分析
同态学习的加密算法介绍(七)
![同态学习的加密算法介绍(七)](https://img.taocdn.com/s3/m/79ab9927cbaedd3383c4bb4cf7ec4afe04a1b122.png)
同态学习的加密算法介绍同态学习的加密算法是一种重要的数据加密技术,它具有许多非常有用的应用。
在本文中,我将介绍同态学习的基本概念和原理,以及一些常见的同态学习加密算法。
概念和原理同态学习是一种特殊的加密技术,它允许在加密状态下执行计算,并在解密后获得正确的结果。
换句话说,同态加密允许在加密状态下对数据进行操作,而无需解密它们。
这种特性对于安全地处理敏感数据非常有用,因为它可以避免在数据处理过程中暴露数据的明文。
同态学习的基本原理是利用数学上的同态性质,即在两个加密数据之间进行运算后,得到的结果与对应的明文数据进行运算后的结果是相同的。
这种性质使得同态加密能够在不暴露数据明文的情况下进行计算。
常见的同态学习加密算法目前,有许多不同的同态学习加密算法,每种算法都有其特定的优点和局限性。
以下是一些常见的同态学习加密算法:1. RSA同态加密算法RSA是一种非对称加密算法,它使用两个密钥对数据进行加密和解密。
RSA 同态加密算法利用RSA算法的数学性质来实现同态加密。
虽然RSA同态加密算法在理论上是可行的,但实际应用中面临着性能和安全性方面的挑战。
2. 阶梯同态加密算法阶梯同态加密算法是一种基于整数编码的同态加密方案,它利用离散对数问题和素数分解问题的困难性来实现同态性。
阶梯同态加密算法在实践中表现出良好的性能和安全性,因此被广泛应用于各种加密场景。
3. 基于椭圆曲线的同态加密算法基于椭圆曲线的同态加密算法利用椭圆曲线离散对数问题的困难性来实现同态性。
由于椭圆曲线算法在密钥长度较短的情况下提供了与RSA相当的安全性,因此基于椭圆曲线的同态加密算法被广泛应用于移动设备和物联网等资源受限的环境中。
应用场景同态学习的加密算法在许多领域都有着广泛的应用。
其中,医疗保健领域和金融领域是同态学习加密算法最为重要的应用场景之一。
在医疗保健领域,医疗数据的隐私和安全性是非常重要的。
同态学习的加密算法可以帮助医疗机构在不暴露患者敏感数据的情况下进行数据分析和共享,从而提高医疗数据的利用率和安全性。
破解较快速的整数上的全同态加密方案
![破解较快速的整数上的全同态加密方案](https://img.taocdn.com/s3/m/d8006310c281e53a5802ff5a.png)
2 0 1 3 , 4 9 ( 2 1 )
1 0 1
破 解 较 快 速 的 整 数 上 的 全 同态 加 密 方 案
古春 生 , 景征骏 , 于 志敏
GU C h u n s h e n g , J I NG Zh e n g j n i l , YU Zh i mi n . B r e a k i n g f a s t e r f u l l y h o mo mo r p h i e e n c r y p t i o n s c h e me o v e r i n t e g e r . C o mp u t e r
E n g i n e e r i n g a n dAp p l i c a t i o n s , 2 0 1 3 , 4 9 ( 2 1 ) : 1 0 1 - 1 0 5 .
Ab s t r a c t :I t i s v e r y i mpo r t a n t t o a n a l y z e t h e s e c u r i t y o f o p t i mi z i n g f u l l y h o mo mo  ̄h i c e n c yp r t i o n s c h e me . F o r he t f u l l y h o mo — mo r p h i c e n c r y p t i o n s c h e me d e s i g n e d b y Ta n g e t a 1 . , t h i s p a pe r d i r e c t l y o b t a i n s t h e p l a i n t e x t b i t f r o m a c i p h e r t e x t b y a p p l y i n g l a t - t i c e r e d u c t i o n a t t a c k . Th u s , t h i s f a s t e r f u l l y h o mo mo  ̄h i c e n c yp r t i o n s c h e me i s b r o k e n .
全同态加密方案
![全同态加密方案](https://img.taocdn.com/s3/m/604c7cc2c9d376eeaeaad1f34693daef5ef713e9.png)
引言全同态加密是一种先进的加密技术,可以将加密数据进行计算而无需解密,在计算结果上也能保持加密状态。
这种加密方案广泛应用于云计算、数据隐私保护等领域,具有重要的研究和实际价值。
本文将介绍全同态加密的基本概念、原理和应用,并探讨其在信息安全领域的前景。
全同态加密的基本概念全同态加密是指一种加密方案,允许对密文进行计算操作,得到的结果仍然是加密后的数据。
具体来说,对于两个密文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。
全同态加密自举方案
![全同态加密自举方案](https://img.taocdn.com/s3/m/8e318e6a0166f5335a8102d276a20029bc64637f.png)
全同态加密自举方案引言在现代密码学中,全同态加密(Fully Homomorphic Encryption,FHE)是一种特殊的加密方案,它允许在加密状态下进行计算,而不需要解密。
自举方案是指使用加密的密文对加密方案进行更新或修改。
全同态加密自举方案将全同态加密与自举技术相结合,允许对密文进行操作和计算,从而实现更强大的功能。
本文将介绍全同态加密自举方案的基本原理和应用场景,并分析其中的优缺点。
全同态加密概述全同态加密是一种特殊的加密技术,它允许对密文进行特定的计算操作,而不需要解密密文。
这意味着在不暴露明文内容的情况下,可以对密文进行数学运算,得到计算结果。
全同态加密可以实现加法和乘法操作,有些方案还支持更复杂的计算,如逻辑门操作。
全同态加密方案通常包括三个算法: - 密钥生成算法(Key Generation):生成公钥和私钥,用于加密和解密操作。
- 加密算法(Encryption):将明文转换为密文。
- 解密算法(Decryption):将密文转换回明文。
全同态加密的核心挑战是在保持加密状态下进行计算,并在解密时获得正确的结果。
全同态加密自举方案全同态加密自举方案是一种特殊的应用,它允许使用加密的密文对全同态加密方案进行更新或修改。
自举方案的关键思想是使用全同态加密的密文进行计算和加密操作,以实现更复杂的功能。
一种常见的全同态加密自举方案是基于评估电路(Circuit Evaluation)的方法。
该方法将计算任务表示为一个电路,然后使用全同态加密方案对电路进行计算。
通过将输入数据和电路表示为加密的密文,可以在不暴露明文的情况下进行计算,并获得加密的结果。
全同态加密自举方案的一个重要应用是安全外包计算(Secure Outsourced Computation)。
通过将计算任务外包给不可信的云服务器,使用全同态加密自举方案可以保护用户的隐私和数据安全。
全同态加密自举方案的优缺点优点1.隐私保护:使用全同态加密自举方案可以在不暴露明文的情况下进行计算,保护数据隐私和安全。
具有较短公钥的批处理整数上的全同态加密
![具有较短公钥的批处理整数上的全同态加密](https://img.taocdn.com/s3/m/4847df07bb68a98271fefacc.png)
形式与密文压缩技术, 提出一种批处理整数上全同态加密算法的改进方案 , 改进后方案的公钥尺寸为O ( A ’ 。 ) ,
具有较 小的公 钥尺 寸 , 并证 明 了该 方案语 义安 全 。
关键 词 :全 同态加 密 ; 批 处理 ; 公 钥尺 寸 ;密文压缩 ; 二 次形 式
中图 分类号 : T N 9 1 8 . 4
p u b l i c — k e y s i z e w a s 0( A ) .I n o r d e r t o r e d u c e t h e p u b l i c — k e y s i z e , c o m b i n e d w i t h t h e q u a d r a t i c f o r ms o f p u b l i c k e y e l e m e n t s
文 献标志 码 :A
文章 编号 :1 0 0 1 — 3 6 9 5 ( 2 0 1 4 ) 0 4 - 1 1 8 0 - 0 ቤተ መጻሕፍቲ ባይዱ
d o i : 1 0 . 3 9 6 9 / j . i s s n . 1 0 0 1 . 3 6 9 5 . 2 0 1 4 . 4. 0 0 5 4
B a t c h f u l l y h o mo mo r p h i c e n c r y p t i o n o v e r i n t e g e r s wi t h s h o r t e r p u b l i c k e y s
一个较快速的整数上的全同态加密方案
![一个较快速的整数上的全同态加密方案](https://img.taocdn.com/s3/m/5561a317650e52ea5518982f.png)
TAN G a Di nhua ,Z H U Shi o ,C AO n ̄ i Fa t r f l m o o phi nc y i n s he e v r i e e . xi ng Yu . s e uly ho m r e e r pto c m o e nt g r
tec mpe i fted cy t n ag r h , h st egv n sh me i m oe e ce t Fn l , ti po e a h h o lxt o e rp i lo i m tu h i e c e s y h o t r f in . ial i s rv dt tte i y h
不 断增 大 的 , 声超 过 门 限值 时 , 噪 密文 就 不 能被 正 确
ห้องสมุดไป่ตู้
解 密 , 限制 了 同态加 密算 法 的处理 能力 。Get 考 这 nr y
虑在 电路 内部的每个 节点都进行更新密文 ( 采用重 加密技术 , 参见文献[ )使得密文 的噪声在允许范 3 , ] 围 内。如 此 , 电路每 一 层都 可 以保 证 噪声 可 控 , 意 任
prdwi e j lS ce ,hs c e a ee d a tg s f l r u l e i n s r o u ae t t ke a’ h me ti sh me sh s v na e s l bi kys ea df t mp — h h Di t s h t a o a ma e p c z a ec
s he ss ma tc ly s c r . c me i e n ia l e u e
Ke r s ul o mop i n r pin p b i e ie e ce c ; e u i ywo d :f l h mo r hce cy t ; u l k ysz ; f in y sc rt y o c i y
全同态密码算法
![全同态密码算法](https://img.taocdn.com/s3/m/34f5485d5e0e7cd184254b35eefdc8d377ee147f.png)
全同态密码算法全同态密码算法是一种重要的密码学技术,可以对加密的数据进行完全保密的同时进行计算,并生成加密结果。
在云计算和数据隐私保护等领域,全同态密码算法被广泛应用。
全同态密码算法的特点是可以在不解密数据的情况下进行计算操作,这意味着用户可以将加密数据发送给云服务器进行计算,而不必担心数据的泄露。
这种算法的应用可以实现数据所有权的保护、数据共享和隐私保护等需求。
全同态密码算法的核心是同态加密技术。
同态加密是一种特殊的加密方式,可以在密文上进行运算,然后解密得到与明文运算结果相对应的结果。
具体而言,全同态密码算法可以分为完全同态加密和部分同态加密两种类型。
完全同态加密算法允许对加密的数据进行任意的加法和乘法运算,并可以通过解密操作得到运算结果,而不需要解密原始数据。
这种算法的实现相对复杂,但能够满足更多的数据处理需求。
部分同态加密算法则是对部分运算进行了加密保护。
一般情况下,部分同态加密算法可以支持一种基本的运算,如加法或乘法,但不能同时支持两种运算。
这种算法的实现相对简单,但在某些复杂计算场景下可能无法满足需求。
全同态密码算法的应用非常广泛。
在云计算中,用户可以将加密的数据上传至云服务器,云服务器使用全同态密码算法进行计算,然后将结果返回给用户解密。
这样一来,用户的数据得到了保护,同时享受到了云计算的高效便捷。
除了云计算,全同态密码算法还可以应用于数据隐私保护、安全多方计算等场景。
在数据隐私保护中,全同态密码算法可以对敏感数据进行保护,防止未授权访问和信息泄露。
在安全多方计算中,多个参与方可以在不暴露自己私密数据的情况下进行联合计算。
然而,全同态密码算法也存在一些挑战和限制。
首先,全同态密码算法的计算效率较低,对计算资源要求较高。
其次,完全同态加密算法的实现复杂度较高,需要很高的算法设计和数学基础。
此外,由于全同态密码算法的安全性较强,对攻击的容忍度也较高,因此可能会引发新的安全漏洞。
为了解决这些问题,研究人员一直在努力改进全同态密码算法。
基于整数的全同态加密体制的研究
![基于整数的全同态加密体制的研究](https://img.taocdn.com/s3/m/aa06532f5901020207409cd7.png)
量 的研 究 , 但 所 提 出的方 案均不 能 满足对 于 密文
进 行 任 意 次 数 的 操 作 和 处 理 。直 到 2 0 0 9年 ,
示 向下 取 整 , ( r ) 表 示就 近取 整 ( 即取 与 r 最 接近
的整 数 ) 。 也即『 r ]∈[ r , r +1 ) , l r j∈( 卜- 1 , r ] ,
想 j , 希望 能够 在不 解 密 密 文 的条 件 下 , 对 密 文
执 行操 作 , 从 而 实现对 明文数 据 的相应处 理 。在 这之后 , 国 内外 密码 界学 者对 同态 加密 进行 了大
1预 备 知 识
1 . 1符号定义
对 任 意 的实数 r , 『 r ]表示 向上 取整 , l r J表
第2 l 卷 第 2 期
Vo 1 . 2 1 No . 2
北 京 电 子科 技 学 院 学 报 J o u r n a l o f B e i j i n g E l e c t r o n i c S c i e n c e a n d T e c h n o l o g y I n s t i t u t e
任 意 的运 算 , 运 算 的结果 解密后 与对 明文 做 同样 运算 的结果 相 同 。G e n t r y的全 同态 加 密 体 制 的 构 造分 几步进 行 : 首先 , 构 造 一个 s o me w h a t 同态 加 密体 制 , 由于 密 文 中噪 声 的存 在 , 随着 对密 文
基金项 目: 国家 自然科学 基金 : 后量子数字签名算法研究与设计 ( N O . 6 1 0 7 0 2 1 9 ) 。 作者简介 : 张爽 , ( 1 9 8 9一) , 男, 西安 电子科技大学在读硕士研究生 , 研究方向为密码学 , 同态密码体制学院学报
全同态加密方案的研究
![全同态加密方案的研究](https://img.taocdn.com/s3/m/e2bdcc2a571252d380eb6294dd88d0d233d43cc5.png)
全同态加密方案的研究全同态加密方案的研究摘要:全同态加密是一种重要的密码学技术,能够对密文进行计算和操作,同时不需要解密。
本文对全同态加密的原理、实现方式以及应用进行了研究和探讨,介绍了几种常见的全同态加密方案,并分析了其优缺点和应用场景。
1. 引言全同态加密(Fully Homomorphic Encryption, FHE)是近年来密码学领域的突破性研究,是对传统加密算法的进一步扩展和发展。
在传统加密中,只能对密文进行传递和存储,对密文进行计算和操作的需求无法实现。
而全同态加密则能够满足对密文进行计算和操作的需求,实现对加密数据的高度保护和隐私安全。
2. 全同态加密的原理全同态加密的原理是通过混淆技术和特殊的加密算法,将明文加密为密文,并设计相应的解密算法。
与传统加密算法不同的是,全同态加密算法能够对密文进行计算和操作,而无需解密。
这是通过将计算操作转化为在密文上的操作实现的,使得加密数据在计算的过程中仍然保持加密状态。
3. 全同态加密的实现方式目前,全同态加密有多种实现方式,其中最为代表性的是基于整数和基于椭圆曲线的方案。
基于整数的方案利用整数的运算特性进行加密和计算,适用于简单的计算任务。
基于椭圆曲线的方案利用椭圆曲线的运算特性进行加密和计算,适用于复杂的计算任务。
此外,还有基于多线性映射和格的全同态加密方案,适用于不同场景和需求。
4. 几种常见的全同态加密方案4.1 基于整数的全同态加密方案基于整数的全同态加密方案主要有RSA全同态加密和Paillier全同态加密。
RSA全同态加密利用RSA算法的特性实现对密文的计算和操作。
而Paillier全同态加密则利用Paillier算法实现同样的功能。
这两种方案在实现方式和性能上有差异,可根据实际需求进行选择。
4.2 基于椭圆曲线的全同态加密方案基于椭圆曲线的全同态加密方案主要有ElGamal全同态加密和BGW全同态加密。
ElGamal全同态加密利用椭圆曲线的离散对数的困难性实现全同态加密。
一种基于整数多项的全同态加密的数据加密方法[发明专利]
![一种基于整数多项的全同态加密的数据加密方法[发明专利]](https://img.taocdn.com/s3/m/6a1cdffe14791711cc7917f3.png)
专利名称:一种基于整数多项的全同态加密的数据加密方法专利类型:发明专利
发明人:刘静,杨正校
申请号:CN201610389082.2
申请日:20160602
公开号:CN106100818A
公开日:
20161109
专利内容由知识产权出版社提供
摘要:本发明涉及一种基于整数多项的全同态加密的数据加密方法,包括如下步骤:生成密钥过程中,选随机整数a,r∈Z,生成公钥pk、sk;加密过程中,选择随机整数子集S∈{1,2,L,n},输入值为公钥pk,输出值为密文c;同态求值过程中,输入值为密文数据c,输出值为同态运算结果;解密过程中,输入值为密文c,密钥sk,输出值为明文m。
本发明数据加密方法响应时间短,加解密效率高。
申请人:苏州健雄职业技术学院
地址:215411 江苏省苏州市太仓市科教新城健雄路1号
国籍:CN
代理机构:南京钟山专利代理有限公司
代理人:戴朝荣
更多信息请下载全文后查看。
全同态加密——精选推荐
![全同态加密——精选推荐](https://img.taocdn.com/s3/m/284aeae24793daef5ef7ba0d4a7302768e996fa0.png)
全同态加密
⼀个朋友问我的,我就学习了⼀下,在此做下笔记。
同态加密
如果我们有⼀个加密函数f,把明⽂A变成密⽂A′,把明⽂B变成密⽂B′,也就是说f(A)=A′, f(B)=B′。
另外我们还有⼀个加解密函数f−1,能够将f加密后的密⽂解密成加密前的明⽂。
对于⼀般的加密函数,如果我们将A′和B′相加,得到C′。
我们⽤f−1对C′进⾏解密得到的结果⼀般是毫⽆意义的乱码。
但是,如果f是个可以进⾏同态加密的加密函数,我们对C′使⽤f−1进⾏解密得到结果C,这时候的C=A+B。
(可见,这个同态与群论⾥的同态概念是相同的)
同态分类
a) 如果满⾜f(A)+f(B)=f(A+B),我们称这种加密函数为加法同态
b) 如果满⾜f(A)×f(B)=f(A×B),我们称这种加密函数为乘法同态
如果⼀个加密函数同时满⾜加法同态和乘法同态,称为全同态加密。
那么使⽤这个加密函数可完成各种加密后的运算(加减乘除、多项式求值、指数、对数、三⾓函数)。
全同态的应⽤
1. 安全代理计算
将数据全同态加密之后传输给云端,在云端计算(全都是密⽂),再将计算结果(也是密⽂)返回给⽤户,⽤户解密得到真正的结果。
参考资料
Processing math: 100%。
同态加密 整数计算方法
![同态加密 整数计算方法](https://img.taocdn.com/s3/m/eb60d92f26d3240c844769eae009581b6bd9bd31.png)
同态加密整数计算方法同态加密:整数计算方法探秘同态加密作为一种前沿的加密技术,近年来在密码学领域备受关注。
它允许用户在加密数据上进行计算,而计算结果在解密后仍然保持正确性。
在同态加密的众多研究方向中,整数计算方法尤为重要。
本文将为您详细介绍同态加密中整数计算的相关方法。
一、同态加密概述同态加密是一种特殊的加密形式,它允许用户在加密数据上进行计算,而计算结果在解密后仍然保持正确性。
这意味着,对于任意函数f,同态加密满足以下性质:f(Enc(m1), Enc(m2), ..., Enc(mn)) = Enc(f(m1, m2, ..., mn))。
其中,Enc表示加密函数,m表示明文数据。
同态加密可以分为三类:部分同态加密、适应性同态加密和完全同态加密。
部分同态加密只支持对加密数据进行部分计算,适应性同态加密支持对加密数据进行任意次数的计算,但每次计算前需要重新选择密钥。
而完全同态加密则支持对加密数据进行任意次数的计算,且无需重新选择密钥。
二、整数计算方法在同态加密中,整数计算方法主要包括加法、乘法和比较等运算。
以下分别介绍这些运算的实现方法。
1.加法运算加法运算是同态加密中最基本的运算。
对于两个加密整数Enc(m1)和Enc(m2),可以通过以下方法进行加法运算:Enc(m1) + Enc(m2) = Enc(m1 + m2)这意味着,加密后的整数可以直接进行加法运算,计算结果在解密后仍然保持正确性。
2.乘法运算乘法运算是同态加密中的关键运算。
对于两个加密整数Enc(m1)和Enc(m2),可以通过以下方法进行乘法运算:Enc(m1) * Enc(m2) = Enc(m1 * m2)然而,传统的同态加密方案往往只支持加法运算,乘法运算需要通过特殊技巧实现。
一种常见的乘法实现方法是通过模重复平方法(Modular Multiplication)。
3.比较运算比较运算是同态加密中较为复杂的运算。
对于两个加密整数Enc(m1)和Enc(m2),可以通过以下方法进行比较:- 判断m1是否小于m2:利用同态加密的加法和乘法运算,构造一个比较函数,使得当m1 < m2时,函数输出为1,否则为0。
整数上全同态加密方案分析
![整数上全同态加密方案分析](https://img.taocdn.com/s3/m/86559fc85fbfc77da269b1ce.png)
整数上全同态加密方案分析一篇论文看完了,如果都看懂了的话,很多人觉得案例都是小菜一碟,但是在我写这个案例的时候我发觉论文看懂了,更需要案例或者说实现来进一步深入或者夯实,因为只有通过具体的实现步骤,才能发现有些在论文中的一些细节问题,反过来更可以促进对论文的理解。
整数上全同态加密方案有两篇非常经典的论文,一篇是《Fully Homomorphic Encryption over the Integers》以下简称DGHV方案,还有一篇是Gentry写的《Computing Arbitrary Functions of Encrypted Data》简称 CAFED论文。
入门者适合先阅读CAFED论文,这并不是说这篇论文简单,只是因为这篇文章的写法很通俗(严格意义上这篇文章并不是一篇真正的论文,是给杂志写的文章,有点科普性质),有一个很好的比喻的例子“Glovebox”贯穿于整个论文中,Gentry的文笔很好写的也很生动,对有些地方进行了背景解释,而这些解释恰好是DGHV论文中没有说的,当然一开始要想把CAFED论文彻底读懂也不是那么容易的。
这个时候可以开始阅读DGHV这篇论文。
这篇论文对于我来说是百读不厌,因为有些地方就算读了一百篇也不见得可以理解,而且这篇文章很适合深挖,有些很有趣的地方,例如噪声参数的设置等等。
还有一篇论文就是全同态的经典论文《Fully homomorphic encryption using ideal lattices》,如果对格不熟悉的话,可以读这篇文章的前面三分之一,因为有详细的全同态的定义、层级全同态、允许电路、增强解密电路、bootstrable、重加密原理,以及如何通过递归实现全同态的,尤其是递归实现全同态的过程,在论文中还是值得反复理解的。
剩下的当然还有Gentry 的博士论文,也可以分阶段阅读。
这篇文章就算是一个阅读笔记吧,分为两个部分,一个是实现过程,另一个是方案的参数分析。
全同态加密算法
![全同态加密算法](https://img.taocdn.com/s3/m/8b5240344a35eefdc8d376eeaeaad1f3469311c4.png)
全同态加密算法
摘要
本⽂主要讲述完全同态加密算法。
1. 是什么?
同态加密是⼀种对称加密算法,由Craig Gentry发明提出。
其同态加密⽅案包括4个算法,即密钥⽣成算法、加密算法、解密算法和额外的评估算法。
全同态加密包括两种基本的同态类型,即乘法同态和加法同态,加密算法分别对乘法和加法具备同态特性。
2. 算法的原理
全同态加密的原理:
如果E为针对function_a的全同态函数,即
则存在可构造的函数操作function_b,使得
其中,加密操作为E,明⽂为m,加密得e,如果对于任意复杂的明⽂操作function_a,都能针对E构造出相应的function_b。
那么,E就是⼀个针对function_a的同态加密算法,则称E为针对function_a的全同态加密算法。
全同态加密的⽬的在于找到⼀种能在加密的数据上进⾏任意数量的加法和乘法运算的加密算法,使得对加密数据进⾏某种操作所得到的结果恰好等于对加密前的数据进⾏预期操作再加密后得到的密⽂。
3. 算法的应⽤
全同态加密保证了数据处理⽅⽆法知道所处理的数据的明⽂信息,可以直接对数据的密⽂进⾏相应的处理,这样以来,⽤户的信息资料可以得到相应的安全保障。
例如,银⾏有⼀些交易数据需要进⾏分析,银⾏可以把交易数据加密后交给数据处理中⼼来进⾏处理分析。
数据处理中⼼拿到加密后的数据进⾏分析,得出银⾏想要得到的分析结果,然后把结果返回。
在这个过程中,数据处理中⼼得到的仅仅是加密后的数据,所以他的处理也是在加密数据的基础上进⾏处理,⽽对于数据的明⽂,数据处理中⼼并不知晓。
另外,完全同台加密算法也在云计算领域有相当⼴泛的应⽤。
一种较快速的基于整数的全同态加密方案
![一种较快速的基于整数的全同态加密方案](https://img.taocdn.com/s3/m/db4143e35ebfc77da26925c52cc58bd631869385.png)
一种较快速的基于整数的全同态加密方案代洪艳;丁勇;吕海峰;高雯【期刊名称】《计算机应用研究》【年(卷),期】2015(32)11【摘要】为了提高目前全同态加密的效率,针对于志敏等人提出的基于整数 GCD 的全同态加密方案中,公钥尺寸过大的缺陷,利用 Coron 等人关于整数上的压缩公钥和换模运算的思想,提出一种较快速的全同态加密方案。
改进后的方案,公钥尺寸减小,攻击算法复杂度降低,无须 mod2运算以及 bootstrapping。
安全性可以规约到近似最大公因子问题。
%In view of research on FHE by Yu Zhimin et al.,to improve the efficiency,and reduce the size of public key,this paper proposed a faster scheme based on study on the public key compression and modulus switching over the integers by Coron et al.For the public key of new scheme is smaller,the complexity of attack algorithm is reduced,without mod2 arithmetic and bootstrapping.And the security depends on the approximate GCD problem.【总页数】5页(P3448-3451,3455)【作者】代洪艳;丁勇;吕海峰;高雯【作者单位】桂林电子科技大学数学与计算科学学院,桂林 541004;西安电子科技大学综合业务网理论与关键技术国家重点实验室,西安 710126;桂林电子科技大学数学与计算科学学院,桂林 541004;西安电子科技大学综合业务网理论与关键技术国家重点实验室,西安 710126【正文语种】中文【中图分类】TP309.7【相关文献】1.一种改进的基于整数的全同态加密方案 [J], 周津;王勇2.破解较快速的整数上的全同态加密方案 [J], 古春生;景征骏;于志敏3.一个较快速的整数上的全同态加密方案 [J], 汤殿华;祝世雄;曹云飞4.一种适用于n bit的整数上全同态加密方案 [J], 孙霓刚;朱浩然;汪伟昕5.一种基于整数多项式环上的非对称全同态加密方案 [J], 孙霓刚; 陈宣任; 朱浩然因版权原因,仅展示原文概要,查看原文内容请购买。
一个基于整数的全同态加密改进方案
![一个基于整数的全同态加密改进方案](https://img.taocdn.com/s3/m/c6d2c7260640be1e650e52ea551810a6f524c8a9.png)
一个基于整数的全同态加密改进方案熊婉君;韦永壮;王会勇【期刊名称】《密码学报》【年(卷),期】2016(0)1【摘要】目前基于整数的全同态加密方案的效率较低,与实际应用仍有一定的距离.如何提高方案的效率和安全性是全同态加密技术研究的难点.本文首先分析了全同态加密方案的构造思想,总结了基于整数的全同态加密的研究现状以及相关技术.为了进一步提高方案的效率,本文在Dijk等人DGHV方案的基础上,通过利用Gentry 的全同态加密构造基本思路,提出了一个具有较小公钥尺寸和更高效率的全同态加密新方案.新方案将明文空间由{0,1}扩展到{0,1}',并结合公钥元素的二次形式和密文压缩技术,有效地实现了DGHV方案的批量处理功能.再利用压缩解密电路的思路,引入SSSP假设,与加法或乘法门电路构造增强(扩展)解密电路,从而实现方案的全同态.本文对方案基于无错近似最大公约数问题(error-free GCD)的安全性规约做了较详细地分析,并从公、私钥尺寸等方面与DGHV、BDGHV方案进行了比较,新方案具有更短公钥尺寸等优点.【总页数】12页(P67-78)【作者】熊婉君;韦永壮;王会勇【作者单位】桂林电子科技大学认知无线电与信息处理省部共建教育部重点实验室,桂林541004;桂林电子科技大学认知无线电与信息处理省部共建教育部重点实验室,桂林541004;中国科学院信息工程研究所信息安全国家重点实验室,北京100190;桂林电子科技大学广西信息科学实验中心,桂林541004;中国科学院成都计算机应用研究所,成都610041【正文语种】中文【中图分类】TP309.7【相关文献】1.一个较快速的整数上的全同态加密方案 [J], 汤殿华;祝世雄;曹云飞2.基于整数的多对一全同态加密方案 [J], 王彩芬;成玉丹;刘超;赵冰;许钦百3.基于整数多项式环的多对一全同态加密算法 [J], 王彩芬;赵冰;刘超;成玉丹;许钦百4.一种基于整数多项式环上的非对称全同态加密方案 [J], 孙霓刚; 陈宣任; 朱浩然5.基于整数的全同态加密算法的研究与实践 [J], 黄敏;程允丽因版权原因,仅展示原文概要,查看原文内容请购买。
陈智罡_全同态加密释疑
![陈智罡_全同态加密释疑](https://img.taocdn.com/s3/m/0dd85857be1e650e52ea99f4.png)
全同态加密释疑(一):四个算法(1)陈智罡2009年全同态加密(Fully Homomorphic Encryption)的诞生,不仅是密码学界的一个大的突破(Breakthrough),而且是计算机理论界的一个突破。
自从2011年创建了全同态加密QQ群,从几十号人到现在的将近200人,来自各个大学,包括国外。
可见人们对全同态加密研究的热情。
另外在网上有许多同学问我一些问题,有些问题很雷同,可能也是初学者必经之路。
全同态加密的入门确实比较难。
作为一个过来者,非常愿意分享我的一些心得,所以这里我会把一些共性的问题,用一种深入浅出的方法讲述,希望每个人都能看懂。
其实在全同态加密论文的背后,有许多可以说出来的秘密,只不过这个秘密在论文里没空间也不适合讲,那么这里就搞一个专题“全同态加密释疑”,细说从头每个让你困惑的秘密。
如果有愿意加入的朋友,可以一起分享心得体会。
今天说说全同态加密的四个算法。
可能有些人会说,这个谁不知道,但是知道并不意味着清楚,只有深刻理解了这四个算法的含义,尤其是第四个算法的含义,才能清楚什么是部分同态加密方案,什么是执行自己的解密电路等等概念。
通常一个公钥加密方案有三个算法:KeyGen算法(密钥生成),Enc算法(加密),Dec算法(解密)。
但是在全同态加密中,除了上述三个算法之外,还包含第四个算法:Evaluate 算法(密文计算),这个算法的功能是对输入的密文进行计算。
首先说说KeyGen算法(密钥生成)。
该算法用于生成公钥和密钥,公钥用于加密,私钥用于解密,这个地球人都知道。
但是还可能生成另外一种公钥,即密文计算公钥,我们把它称之为Evk。
密文计算公钥Evk的作用是在执行Evaluate算法时用到,而且Evk的形式与使用的全同态方案直接相关。
例如,如果是通过启动技术(Bootstrapple)获得全同态加密,即每次密文计算前要用同态解密约减密文的噪音,这时Evk就是对密钥的每一位加密后生成的密文,即密钥有多少位,Evk里包含的公钥就有多少个。
整数上的同态加密报告1
![整数上的同态加密报告1](https://img.taocdn.com/s3/m/9da1039333687e21ae45a9c6.png)
整数上的同态加密报告1一、介绍与历史。
1、基本概念①全同态加密用一句话来说就是:可以对加密数据做任意功能和任意次数的运算,运算的结果解密后是对明文做同样运算的结果。
用处:云计算,安全多方计算,加密搜索,电子投票等。
例1:Caesar密码对链接操作具有同态性。
Caesar密码是一种循环移位替换加密体制。
设密钥为○(1到26之间的整数),明文为某个字母◎,则对应密文为字母表(循环使用)中○之后的第◎个字母。
例如,取密钥为13。
则有:c1=Encrypt(13,HELLO)=URYYB,c2=Encrypt(13,WORLD)=JBEYQ。
现记:c3=Concat(c1,c2)=URYYBJBEYQ,则Decrypt(13,c3)=HELLOWORLD= Concat(m1,m2)。
②一个比喻。
有一位首饰商人Alice为了防止工人在制作首饰的过程中盗窃材料,想出了一个办法。
她向一家公司定做了一种箱子。
该箱子是带有挂锁的,钥匙只有Alice本人持有。
箱子两侧有两个手套,工人可以在箱子外面使用手套来操作放在箱子里面的金银等材料来制作首饰。
制作完成后,Alice使用钥匙打开箱子,拿出制作好的首饰。
这样就实现了让工人在不直接接触材料的条件下对材料进行加工的目的。
③历史同态加密的思想其实很早就有了。
1976年,Diffie和Hellman提出公钥加密思想,1977年第一个实用的公钥加密方案,同时也是历史上最成功的,直到现在仍有广泛应用的公钥加密体制RSA体制由Rivest,Shamir和Adleman提出。
同年由Rivest,Adleman和Dertouzos提出了全同态加密的思想,最初被称为隐私同态。
这是因为他们发现RSA算法本身就具有乘法同态性。
此后,人们一直致力于寻找全同态加密算法。
但在2009年之前的很长时间里都没有获得满意结果。
只获得了一些半同态的或者仅能做有限步的全同态加密方案。
2009年,IBM实习研究员(斯坦福大学博士研究生)Gentry发明了一种基于理想格的全同态加密方案,发表在ACM STOC 2009国际会议上,获得了一致高度评价。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
整数上全同态加密方案分析一篇论文看完了,如果都看懂了的话,很多人觉得案例都是小菜一碟,但是在我写这个案例的时候我发觉论文看懂了,更需要案例或者说实现来进一步深入或者夯实,因为只有通过具体的实现步骤,才能发现有些在论文中的一些细节问题,反过来更可以促进对论文的理解。
整数上全同态加密方案有两篇非常经典的论文,一篇是《Fully Homomorphic Encryption over the Integers》以下简称DGHV方案,还有一篇是Gentry写的《Computing Arbitrary Functions of Encrypted Data》简称CAFED论文。
入门者适合先阅读CAFED论文,这并不是说这篇论文简单,只是因为这篇文章的写法很通俗(严格意义上这篇文章并不是一篇真正的论文,是给杂志写的文章,有点科普性质),有一个很好的比喻的例子“Glovebox”贯穿于整个论文中,Gentry的文笔很好写的也很生动,对有些地方进行了背景解释,而这些解释恰好是DGHV论文中没有说的,当然一开始要想把CAFED论文彻底读懂也不是那么容易的。
这个时候可以开始阅读DGHV这篇论文。
这篇论文对于我来说是百读不厌,因为有些地方就算读了一百篇也不见得可以理解,而且这篇文章很适合深挖,有些很有趣的地方,例如噪声参数的设置等等。
还有一篇论文就是全同态的经典论文《Fully homomorphic encryption using ideal lattices》,如果对格不熟悉的话,可以读这篇文章的前面三分之一,因为有详细的全同态的定义、层级全同态、允许电路、增强解密电路、bootstrable、重加密原理,以及如何通过递归实现全同态的,尤其是递归实现全同态的过程,在论文中还是值得反复理解的。
剩下的当然还有Gentry 的博士论文,也可以分阶段阅读。
这篇文章就算是一个阅读笔记吧,分为两个部分,一个是实现过程,另一个是方案的参数分析。
一、方案实现过程1、全同态加密方案至于什么是全同态等等形式化定义我就不说了,请参阅论文。
全同态加密用一句话来说就是:可以对加密数据做任意功能的运算,运算的结果解密后是相应于对明文做同样运算的结果。
有点穿越的意思,从密文空间穿越到明文空间,但是穿越的时候是要被蒙上眼睛的。
另外上面的那句话是不能说反的,例如:运算的结果加密后是相应于对明文做同样运算结果的加密,这样说是不对的,因为加密不是确定性的,每次加密由于引入了随机数,每次加密的结果都是不一样的,同一条明文对应的是好几条密文。
而解密是确定的。
全同态具有这么好的性质,什么样的加密方案可以符合要求呢?往下看:Enc(m):m+2r+pqDec(c):(c mod p)mod2=(c–p*「c/p」)mod2=Lsb(c)XOR Lsb(「c/p」)上面这个加密方案显然是正确的,模p运算把pq消去,模2运算把2r消去,最后剩下明文m。
这个公式看上去很简单,但是却很耐看,需要多看看。
公式中的p是一个正的奇数,q是一个大的正整数(没有要求是奇数,它比p要大的多),p和q在密钥生成阶段确定,p看成是密钥。
而r是加密时随机选择的一个小的整数(可以为负数)。
明文m ∈{0,1},是对“位”进行加密的,所得密文是整数。
上面方案的明文空间是{0,1},密文空间是整数集。
全同态加密方案中除了加密、解密还有一个非常重要的算法就是:Evaluate,它的作用就是对于给定的功能函数f以及密文c1,c2,…,ct等做运算f(c1,c2,…,ct)。
在这里就是对密文做相应的整数加、减、乘运算。
以上方案可以看成是对称加密方案。
下面来考虑公钥加密方案。
其实把pq看成公钥就OK。
由于q是公开的,所以如果把pq看成公钥,私钥p立刻就被知道了(p=pq/q)。
怎么办呢?看上面加密算法中,当对明文0进行加密时,密文为2r+pq,所以我们可以做一个集合{xi;xi=2ri+pqi},公钥pk就是这个集合{xi},加密时随机的从{xi}中选取一个子集S,按如下公式进行加密:Enc(m):m+2r+sum(S);其中sum(S)表示对S中的xi进行求和。
由于sum(S)是一些0的加密密文之和,所以对解密并不影响,整个解密过程不变。
这个方案是安全的,就是我们所说的DGHV方案。
其安全性依赖于一个困难问题“近似GCD问题”。
就是给你一些xi,你求不出p来(由于整数上全同态研究热了,近似GCD也成了研究的一个点)。
为了说明方便,我们还是采取pq为公钥的方案(尽管不安全,但是不影响说明过程)。
所以加密和解密还是按照一开始的公式,现在pq为公钥,p还是私钥,q是公开参数。
再重复一遍我们的加密解密算法:Enc(m):m+2r+pqDec(c):(c mod p)mod2=(c–p*「c/p」)mod2=Lsb(c)XOR Lsb(「c/p」)另外在这里约定:一个实数模p为:a mod p=a-「a/p」*p,「a」表示最近整数,即有唯一整数在(a-1/2,a+1/2]中。
所以a mod p 的范围也就变成了(-p/2,p/2](这个牢记)。
这个和我们平时说的模p范围是不一样的,平时模p范围是[0,p-1],那是因为模公式中取得是向下取整:a mod p=a–floor(a/p)*p。
Lsb是最低有效位,因为是模2运算,所以结果就是这个二进制数的最低位。
2、可怕的噪音由于公钥pq是公开的,所以知道密文c后可以减去公钥得到:c-pq=m+2r由于存在r的干扰,所以无法识别明文m。
我们就把m+2r称为噪音。
另外在解密时只有当c mod p=m+2r<p/2时,再对它进行模2运算才能正确解密:(m+2r)mod2=m。
如果噪音大于p/2时,c mod p就不再等于m+2r,解密就可能无法正确恢复出明文。
所以噪音是影响解密的关键。
而噪音会在密文计算中增长,下面来看看增长的势头:假设c1=m1+2r1+pq1;c2=m2+2r2+pq2;其中c1是对密文m1的加密,c2是对密文m2的加密。
密文加和乘运算:c1+c2=(m1+m2)+2(r1+r2)+p(q1+q2)c1*c2=(m1+2r1)(m2+2r2)+p(pq1q2+m1q2+m2q1+2r1q2+2r2q1)(c1+c2)mod p=(m1+m2)+2(r1+r2)c1*c2mod p=(m1+2r1)(m2+2r2)由上可见:密文之和的噪音是各自密文的噪音之和;而密文乘积的噪音是噪音之积。
因此噪音的主要来源还是乘法运算,在乘法运算中噪音被放大的很快。
例如:设p=11,q=5,m1=0,m2=1,然后分别随机选取r1=1和r2=-4,有:c1=Enc(m1)=m1+2r1+pq=0+2*(-1)+11*5=53;c1mod p=-2, Dec(c1)=0.c2=Enc(m2)=m2+2r2+pq=1+2*1+11*5=58;c2mod p=3,Dec(1)=1.因为c1mod p和c2mod p都是在(-p/2,p/2)范围内,所以解密正确。
c1和c2称之为新鲜密文,就是直接由明文生成的密文,在新鲜密文中噪音是在一定合理的范围内的。
我们再来看看c1*c2:c*=c1*c2=53*58=3074;c*mod p=5,Dec(c*)=1≠m1*m2=0,解密错误,错误的原因是噪音c*mod p=-6不在(-p/2,p/2)范围内。
看来对密文运算会造成噪音的增大,当噪音超出范围,解密就失败,这意味着对密文运算不可能是无限次的(也就是Evaluate运算功能函数的电路深度是有限的,这在后面我们说到电路时会看到)。
到这里我们只得到了一个运算时噪音范围不能超过p/2的同态方案(Somewhat同态方案),看来似乎用这个方案实现全同态是行不通的。
我们需要的是全同态方案即Evaluate可以运行任意功能函数,而不是某一类功能函数(这叫同态方案)。
估计多少英雄好汉到了这里就觉得没戏了,于是另寻他路,于是一个突破就擦肩而过。
那么下面让我们分析一下症结所在。
二、方案参数分析1、Bootstappable:一个生硬的思路噪音阻碍了我们的目标,那么如何消除噪音这个敌人呢?一个直观的方法就是对密文解密,密文解密后噪音就没有了,但是要解密必须要知道私钥,要想通过获得私钥来消除噪音是不现实的。
那么如果对密钥加密来做可以么?让我们先看看Evaluate算法。
在Evaluate算法中能够对密文执行函数功能f的运算,其中f是属于permitted founctions集合的任一founction(这里稍微解释一下,permitted founctions集合也称permitted circuit,例如有两个函数功能f1和f2,运行Evaluate(pk,f1,c1,c2,…,cn)和Evaluate(pk,f1,c1,c2,…,cn),就是分别对密文执行f1运算和f2运算,如果f1运算的结果解密后恰好是f1对相应明文运算的结果(同态成立),那么f1就属于permitted founctions。
而f2运算的结果解密后如果不等于f2对相应明文运算的结果,那么f2就不属于permitted founctions。
)。
试想如果Dec解密算法也在permitted founctions集合中,那么Evaluate算法就可以执行Dec解密功能了。
如果我们输入的是s*(是用pk2对私钥s加密得到的密文),以及对运算密文c*(是用pk2对c 再加密的密文,原密文c是用pk1进行加密的),那么执行Evaluate(pk2,Dec,s*,c*);所得结果为一个新的密文,该密文是明文在pk2下加密的密文,是不是有点像魔术,就像原来一个人穿的是西装,现在你没有看到这个人换衣服的情况下,魔术师只是施了一下魔法,这个人立刻就换了一身运动服,人还是原来那个人,只是包装变了。
这也是Gentry思想中一个最重要的特性:同态解密。
那么同态解密对于降低噪音又有什么关系呢?当密文运算后,噪音会被迅速放大,如果我们对运算后的密文做一次同态解密,是不是相当于得到了一个新鲜密文呢,而新鲜密文的噪音是最小的,所以达到了降噪的目的。
(事实上同态解密后得到的密文的噪音要比新鲜密文噪音稍微大一些。
)这一手法称之为:重加密技术,它为我们提供了降低噪音的一个方法。
接下来你肯定会想到:每次密文运算前只要对密文进行重加密来降低噪音,然后再进行密文运算,那么噪音永远都在可控的范围内,运算结果的解密也就不会失败了。
运算电路可以反复递归此过程,就可以达到无限次密文运算的目的了。
然而降低噪音并不是最终目的,降低噪音是为了能够进行下一次运算,所以解密电路加上一个门电路(这个门电路可以是加法门电路或者乘法门电路等等基本电路)称之为“增强电路”。