同态加密算法适用范围和效率的改进及应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2017年2月计算机工程与设计 Feb. 2017第 38 卷第 2 期COMPUTER ENGINEERING AND DESIGN Vol. 38 No. 2同态加密算法适用范围和效率的改进及应用
杨溪玮,陈够喜,韩彤
(中北大学软件学院,山西太原030051)
摘要:同态加密技术的应用对象为整数,这对其使用范围是一个很大的限制。

运用孙子定理对其它类型的数据进行包 装,使其可用同态加密进行运算,扩大同态加密的应用范围,对算法计算部分的傅里叶变换进行改进。

该算法在代码混淆 实验中的应用结果表明,其应用范围得到了拓展,在不影响其安全性的前提下,计算效率有了很大提高。

改进算法可以在 隐私保护、云计算、电子商务等领域有更广阔的运用,具有一定的实际应用价值。

关键词:同态加密;孙子定理;傅里叶变换;代码混淆;隐私保护
中图法分类号:TP309. 7 文献标识号:A 文章编号:1000-7024 (2017) 02-0318-05
doi:10. 16208/j. issnl000-7024. 2017. 02. 008
Scope of application of homomorphic encryption algorithm and
improvement of efficiency and application
YANG Hao-wei, CHEN Gou-xi, HAN Tong
(Software School, North University of China, Taiyuan 030051,China)
Abstract:The application object of homomorphic encryption technology is integer number, setting plenty of restrictions on its use range. Grandson theorem was used to package other types of data, making it available to homomorphic encryption operation. The application range of homomorphic encryption was expanded At the same time, the Fourier transform algorithm was im­proved, too. The application of the algorithm of code mixed experiment shows? its application range is expanded, and without af­fecting its security, computational efficiency is enhanced. Improved homomorphic encryption algorithm can be applied to privacy protection, cloud computing, e-commerce and other fields? it has certain actual application value.
Keywords:homomorphism encryption;Grandson theorem;Fourier transformation;code confusion;privacy protection
〇引言
加密算法根据秘钥可分为对称和非对称两类。

常见的 加密算法有:DES (data encryption standard)国际加密标 准,这是一个对称算法,因为它具有较快的运算速度,故 多被运用在数据规模较大的场合;RSA是一种非对称算法,因为其秘钥长度可变,所以可以加密长度变化的文件 块;除此之外,还有Diffie-Hellman算法、椭圆曲线算法等等。

Rivst等提出了同态加密思想[1],后来Gentry提出了 一种基于理想格的加密方案,构造了 SomeWhat同态加密 方案[2a°],密文的重加密使得其可以进行多次同态运算, 这是同态加密的重大创新,更从本质上体现出了全同态的含义。

文献[3]对全同态加密方法做了研究。

之后也有很 多人对同态加密算法进行了改进。

同态加密技术的研究方
向主要集中在效率优化、安全性和应用扩展上。

同态加密
有广阔的应用前景,主要在信息安全领域:云计算、数据 完整性验证、移动互联网隐私保护和物联网安全等;当然 还有其它方向,如F H E,其中包含了 HR (private infor­mation retneval) 、数字版权保护和电子投票系统等方面。

同态加密是一种新型的加密算法。

传统加密最大的缺
陷就是不能对加密后的数据进行运算,这种局限造成了密
码学中的难题。

同态加密是基于数学难题的复杂性理论的
密码学技术,对经过同态加密的数据进行处理得到一个输
出,将这一输出进行解密,其结果与用同一方法处理未加
密的原始数据得到的输出结果是一样的。

这种加密机制的
收稿日期:2016-04-01;修订日期:2016-05-13
基金项目:山西省自然科学基金项目(2015011041);山西省回国留学人员科研基金项目(2014053)
作者简介:杨误玮(1994-),男,山西忻州人,硕士研究生,研究方向为信息安全;陈够喜(1966 -),男,山西晋中人,博士,副教授,研究方向为信息安全;韩彤(1990-),女,山西太原人,硕士研究生,研究方向为大数据、信息安全。

E-mail: 229397466@
第38卷第2期杨溪玮,陈够喜,韩彤:同态加密算法适用范围和效率的改进及应用•319 •
优点就是对加密后的数据可以直接进行计算,而不用等到 解密后再处理,而且同态加密得到的结果和传统加密得到 的是一致的。

同态加密方案[46]是基于整数实现的,这使同 态加密算法的使用有一定的局限性。

现有文献在这方面的 改进较少,本文通过将字符串转变为整数的方法,打破了 同态加密的这种局限性。

目前也有很多提高同态加密效率 的算法,例如文献[7],提出了一种较快速的整数上的全 同态加密方案;文献[8]通过对傅里叶变换的改进提高了 同态加密的算法效率。

同态加密算法是代码混淆中的数据混淆算法[9]。

程序 中的数据是非常重要的,且不仅包含数字还有大部分的字 符,仅仅对数字使用同态加密是远远不够的。

而且代码混 淆后,程序的执行效率会变慢,傅里叶变换可以通过减小 计算量和密文长度,在保证安全性的前提下使程序的运行 效率提高。

代码混淆中的数据混淆包括多项式混淆、数据 变换混淆等,它们的缺点是在加解密的过程中很容易暴露 程序中的数据。

逆向工程和混淆算法之间的关系[1°&15]如 图1所示。

图1逆向工程与混淆算法之间的关系
同态加密算法在其内部运算,并且在无需解密的情况 下就能进行处理,所以说同态加密算法的安全性是毋庸置 疑的,而且经过不断的探索,其安全性还有一定的提升空 间[11’12]。

随着社会的不断发展和对信息安全要求的不断提 高,尤其是在云计算[m i7]、电子商务方面的应用,同态 加密算法的研究正在不断深入。

本文利用孙子定理和改进的傅里叶算法扩大了同态加 密算法的应用范围,提高了算法执行效率,提高了同态加 密的性能,具有一定的实际应用价值。

1算法介绍
1.1相关模块
1.1.1数据转换模块
数据转换模块能将字符串转换为整数。

原始的同态加 密算法是仅仅限于在整数上计算的,所以在代码混淆的过 程中,同态加密算法对字符串是起不到保护作用的。

但是 如果能将字符串转换为整数,就可以扩大同态加密算法的 应用范围,使其更具有实际应用价值。

数据转换模块使得 只要是能转换为字符串类型的数据都可以用此算法加密,让算法具有较强的推广性。

相关概念介绍:
孙子定理,又称中国剩余定理:假设別1,別2,
是两两互素的正整数,〜二/叩叱…,你,=N/V.,令 M,z是使得M,Z M三1(7鳳/叫)的正整数,同余方程组 如下
x=a\ {mod m\)
x=az {mod m2)
<
、工三ak bnod mk)
该同余方程组的解是:+…+ JVtk Mk a k(mod N)。

该模块是先取字符串中每一个字符的ASCII码,然后 取一些两两互素的数,最后运用中国剩余定理得到将要加 密的整数值,这样这些字符串就可以用同态算法进行加密了。

1.1.2 同态
同态加密的相关概念:
同态:如果有两个乘集(乘集是一个封闭且具有结合 律的代数系统)A和A’,/是A到A’的映射,并且任意 两个元的乘积的像是这两个元的像的乘积,即A中任意两 个元a,6满足
f(a^b)=f(a)^ f(b)
也就是说,/U),/(方)时,/U)*/ (W。

那么映射/就是A到A’上的同态。

同态加密方案主要包括密钥生成算法(Key-Gen)、加 密算法(Encryption)、解密算法(Decryption)和密文计算 算法(Evaluate),密文计算算法是同态加密算法的核心,同态加密是为了便于对密文进行运算,而其它组成部分是 基础,提供加密和解密的功能。

同态加密算法的加密流程 如图2所示。

图2同态加密流程
同态算法的特征是对密文进行操作得到的数据解密后,所得的结果等于直接用明文做相同计算的结果。

同态加密 是基于数学难题和计算理论的密码学技术,其最大的优势 就是可以对加密后的数据进行计算,这样不仅缩短了计算 的过程而且不易将加密后的数据暴露给攻击者。

文章在保 证其安全性的前提下提高了算法运算效率。

1.1.3改进傅里叶变换计算模块
快速傅里叶变换的相关概念:
相消定理:对任何整数7?> =〇,々> =〇,d>〇,=
w(W
为复数)。

•320 •计算机工程与设计
2017 年
折半定理:如果〃>〇为偶数,〃个〃次单位复根的平
方等于《/2个〃/2次单位的复根。

证明:因为对于任意非
负整数々,有(t4)2=t4/2 (w为复数),又因为
=(4)2,所以(4)2=(4十"/2)26
折半定理运用分治法对多项式的系数和点值的互换起到了
非常重要的作用,这是因为它能够保证递归的子问题的规
模缩小为递归调用前的一半。

设$=%,F F T方法的分治策略原理如图3所示&
T问题和原问题相同的前提K,何题的规模就缩小了一率
图3分治策略原理
该算法计算出一个由〃个元素所组成的向量《=(a。


沿,a2,为了确定该算法运行过程的时间,除了
递归调用以外,假设每条命令执行所需的时间为@(n)(n
为输入向量的长度),因此,关于运行时间有递归式:T(n)
=2T(n/2) +@(n)=@(nlgn)。

改进后的傅里叶变换提高了对加密后密文的运算速度,
并减少了方案中的密钥及密文的长度,能够更好的满足实
际运用的需求。

1.2算法描述
整个算法的操作步骤如下:
(1)数据类型转换阶段
字符串是无法应用在同态加密中的,因为只有整数能
够实现密态下的加、减、乘、除运算,所以字符串需要通
过孙子定理转换成整数,然后运用同态加密算法进行加密
处理。

具体算法的实现如下:
1)随机选取代码中的字符串A,将A中的每一个字符 取其ACSII码•分别表示为《丨,a2,…,办,其中々是字
符串的字符个数;
2)对应取两两互素的正整数,设为吻,7啦,…,吨 (?/?;>=121);
3)依照中国剩余定理的公式得到
4)同余式组的解工三’Mid i(mod?n)(令m =
?ni?n2.“mk,Mi = ?n/mi,M i’ =M f1mod= 1,2,…,k)
就是将要加密的整数值《
(2)同态加密实现阶段:1) 选取数据转换后的整数作为大素数g,并计算
出保密);
2) 根据需要选取大小适中的安全参数〃;
3) 假设明文空间T=厶,密文空间:T’=
随机选取两素数使它们分别满足办,rq^Zq;
4) 加密密钥为K=(,,g,rg);
5)设一明文Z,/?,随机将x分为w份:®,jt2,…,,并满足及G Z”?,f =(1,2,…,”),尤= mod ?n,Ek (x) =C[xi rp mod p j X\rq mod q],[^2^ mod p,X2mod g] ? **• ?[_xn r n p mod pj£,m r n q mod g]);
6)计算(D r rp rp1 mod p?xi rq r^1 mod q],[論厂,
mod p, x2rq rqM mod q], •••,^xn rp rpn mod p f rq
mod g]),其中,r7s 和 f 分别为〜m o d,,rQ mod g
相应次幕的逆元,mod p9X i mod q] = [^-=1 扣mod p,^L i篇 m〇d g] = [i mod 夕,:r mod g],然后利用孙 子定理得 =(zgg i+j c沖m o d,,?。

其中,gg 1
=1 m o d/>,/>/>1=1 mod g;
7) 进行傅里叶变换:已知
X(ji) =y^l^n^(k)eK n k/N
7?=0,1,2…N-l a)当N=2〃时,”和々可用二进制数来表示,”=1
77,-1+2' 2 ??厂2H-••


”0 =”r—i. w.r—'2: * • • ”0,k=2l^ kr \ ~\~W M
kr d—卜知=I2…々。

,又记W=f,则式(1)可改写为
麟…
广2 …々。

)^p (2)其中
P=n k=C^^1kr-i Jr2r^2kl—2 H------h々〇) X (2:r—1 ”r—
2 广2??r—2十f7?〇),
y^P — ^K2r—I t t t—l+Zr—2y?r—§H----\~n0)kr—l
^(2r— l k r— l+2r—2k r—m hfeO) 2 ^y々0(2r—l w—l+2r—2,一 2,4——hnO) (3)
因为[,M〕N =1,所以式(2)可写成
^^{2r^-l n r—\-{-Zr^-2nr—2十•••+??0)—l ^^{2r^-\k r—l-{-2r^-2kr—2~\------h^〇) kr—2
^^k O Q2r^-\n r—l-\~2r^2n r~2H h^〇) ( 4) G?。

々,一s…々〇) = 22=。

J C2(77。

U。

)W(2曲0H2
(5)
X(nt~int^2**m n〇) =x r(n〇ni;**-nr^i)
因为第L个数组中每个而(々)=々(7?r丨仏2…77。

l r“知)的计算只依赖于上I个数组的两个数据,这两个 数据的标号相差即纟=/|n,/2S所以用上 I*組数据计算所得的两个新数据仍可储存在原来位置。


第38卷第2期杨溪玮,陈够喜,韩彤:同态加密算法适用范围和效率的改进及应用•321 •
上式可得:々G+N/2,)=1卜“0+1卜A+N/2,]
式中:P l = 2广2叫—2H—^2?-177〇, P2=2>-1 + 2?-2 77Z-2 +••• +2『一、,于是对偶节点有如下关系:W P2=M1+N/2 =
矿、由此可得如下表达式:心⑴= Xz-iCO +xz-! [^- + N/2Z] Wp, xz(i + N/21) =XZ-!
(0 +々—i D+N/2Z] W p。

其中次方数P的求法如图4所示。

图4 P的求法
这样每个等式均对应一组数据进行计算,每组数据都 有N/2对结点。

根据上图,每对结点只需做1次乘法和2 次加法,因此每组数据只需N/2次乘法和N次加法,所以 完成7组数据的计算共需N y/2次乘法和N y次加法。

至此,就用较快的速度完成了同态加密操作。

2实验
2.1实验条件
算法用C++语言在Visual C++ 6.0上实现,运行环 境为主频2.4 G H z,内存2 G B,操作系统Windows 7专业 版,数据存储在1T B的移动硬盘中。

实验内容为:算法改 进前后适用范围的对比;改进前后加密效率、密文运算效 率和解密效率的对比。

2.2实验结果及分析
2.2.1改进前后方案适用范围比较
改进前的加密方案对运算前数据的类型有严格限制。

用孙子定理将字符串转换成整数后,不但可以支持字符串 加法和乘法运算,也能支持多次减法和除法的运算。

改进 前和改进后方案对这些运算的适用情况见表1。

表1改进前方案和改进后方案字符串运算的适用情况运算+
X—/改进前X X X X
改进后V V>1V
注:V表示支持此操作,X表示不支持此操作。

2.2.2改进前后方案的加密时间效率的测试
取不同的安全参数〃值测试两种方案的加密时间效率。

由结果可知,两种方案的加密时间都随着安全参数〃的增 加而增加,但是方案改进前后的加密时间效率是相等的。

改进前后时间效率对比见表2。

表2改进前方案和改进后方案加密时间效率对比/ms
安全参数^8163264
改进前0. 0040. 0080. 0120. 024
改进后0. 0040. 0080. 0120. 024
2.2.3改进前后方案密文运算时间效率的测试
密文运算的算法主要有加法和乘法,分别用改进前后 的方案对密文进行加法和乘法运算,测试方案改进前后的 加法运算时间和乘法运算时间。

可知改进后的算法使密文 中的加法和乘法时间效率有了很大的提高。

结果数据见表3、 表 4。

表3加法运算时间效率对比/ms
安全参数^8163264
改进前 4. 0X10-4 4. 2X10-4 4. 4X10-4 5. 0X10-4改进后 5. 0X10-4 5. 2X10-4 5. 2X10-4 5. 9X10-4
表4乘法运算时间效率对比/ms
安全参数^8163264
改进前0. 0020. 0040. 0060. 01
改进后0. 010. 0250. 0480. 008
2.2.4改进前后方案的解密时间效率的测试
改进前后密文解密方法相同,改进前后解密时间效率 几乎相同。

随着安全参数〃的不断增加,解密时间效率的 增幅较小,见表5。

表5改进前方案和改进后方案时间效率对比/ms
安全参数^8163264
改进前0. 0010. 0020. 010. 045
改进后0. 0010. 0020. 0120. 049
3结束语
本文改进的同态加密算法,在安全性不受影响的前提 下,不仅扩大了同态加密的适用范围,而且还使同态加密 算法的效率有了很大的提高,使得同态加密在代码混淆和 隐私保护等领域具有更广阔的应用前景。

然而,同态加密算法的很多地方还有待研究。

今后的 工作主要有两部分:对算法进行不断的改进,使改进后的 同态加密算法能够进行更多轮的减法和除法运算;将同态 加密算法和其它加密算法进行有效结合,在保证算法效率
的前提下,进一步提高其安全性。

•322 •计算机工程与设计
2017 年
参考文献:
[1] Vika Brakerski, Vinod Vaikuntanathan. Efficient fully homo­
morphic encryption from (standard) LWE [C] //In Procee­dings of the IEEE 52nd Annual Symposium on Foundations of Computer Sciences, 2011.
[2] Nitesh Aggarwal, Dr CP Gupta, Iti Sharma, et al. Fully ho­
momorphic symmetric scheme without bootstrapping [C] //In­ternational Conference on Cloud Computing and Internet of Things, 2014.
[3] LIU Mingjie, WANG An. Full-dynamic application overview
homomorphic encryption [J], Computer Research and Deve­lopment,2014,51 (12): 2593-2603 (in Chinese). [刘明洁,
王安.全同态加密研究动态及其应用概述[J].计算机研究与 发展,2014,51 (12): 2593-2603.]
[4] XIE Xueshuo. Effective on a whole class of integers homomor­
phic encryption scheme [D]. Jinan:Shandong University, 2014 (in Chinese).[谢学说.一类整数上有效的全同态加密 方案[D].济南:山东大学,2014]
[5] TANG Dianhua, ZHU Shixiong, CAO Yunfei, et al. Ren-
cryption technology of a full homomorphic encryption over inte­gers [J]. Information Security and Confidentiality of Commu­nications, 2012 (1):76-79 (in Chinese). [M殿华,祝世雄,曹云飞,等.整数上全同态加密方案的重加密技术[J].信息 安全与通信保密,2012 (1): 76_79.]
[6] LIN Rulei, WANG Jian, DU He, et al. Improved full homo­
morphic encryption over integer [J], Computer Application and Research, 2013,30 (5) :1515-1519 (in Chinese). [林
如磊,王箭,杜贺,等.整数上的全同态加密方案的改进[J].计算机应用研究,2013,30 (5): 1515-1519.]
[7] TANG Dianhua, ZHU Shixiong, CAO Yunfei, et al. A faster
fully homomorphic encryption scheme over the integer [J].
Computer Engineering and Applications, 2012,48 (28) :117­122 (in Chinese).[汤殿华,祝世雄,曹云飞,等.一个较快
速的整数上的全同态加密方案[J].计算机工程与应用,2012,48 (28): 117-122.]
[8] YANG Pan, GUI Xiaolin, YAO Jing, et al. Research on the
algorithm of data encryption scheme for the support of the arith­
metic operations [J], Journal of Communication, 2015,36
(1):167-178 (in C h in ese).[杨攀,桂小林,姚婧,等.支
持同态算术运算的数据加密方案算法研究[J].通信学报,2015,36 (1): 167-178.]
[9] KANG Yan. Code obfuscated application of technology in soft­
ware protection [J], Chifeng University (Natural Science), 2014, 30 (3): 17-18 (in C hinese).[康彦.代码混淆技术在
软件保护中的应用研究[J].赤峰学院学报(自然科学版),2014,30 (3): 17-18.]
[10] Gentry C, Halevi S. Implementing gentry? s fully-homomor-
phic encryption scheme [C] //Proc of the Advances in Cryp­
tology, 2011:129-148.
[11] Brakerski Z, Gentry C, Vaikuntanathan V. Fully homomor­
phic encryption without bootstrapping [J], Computer and In­
formation Science, 2011,111 (111) :1-12.
[12] HUANG Ruwei, GUI Xiaolin, YU Si, et al. Privacy-pro­
tection computable encryption scheme of cloud computing [J].
Journal 〇£Computers, 2011,34 (12) :2391-2402 (in Chi- n e s e).[黄汝维,桂小林,余思,等.云环境中支持隐私保
护的可计算加密方法[J].计算机学报,2011,34 (12):
2391-2402.]
[13] FENG Dengguo. Mathematical methods in information securi­
ty and technology [M], Beijing:Tsinghua University Press,
2009 (in C hinese).[冯登国.信息安全中的数学方法与技术 [M].北京:清华大学出版社,2〇〇9.]
[14] Van DIJK M, GENTRY C, HALEVI S, et al. Fully homo­
morphic encryption over the integers [C] //Proc of the 29th International Conference on Theory and Application of Crypto­
graphic Techniques, 2010 :24-43.
[15] Lopez-Alt A, Tromer E, Vaikuntanathan V. On-the-£ly mul­
tiparty computation on the cloud via multikey fully homomor­
phic encryption [C] //Proc of the 44th Annual ACM Symp on Theory of Computing, 2012.
[16] Brakerski Z, Vaikuntanathan V. Lattice-based FHE as secure
as PKE [C] //Proc of the 5th Con£ on Innovations in Theo­
retical Computer Science, 2014 :1-12.
[17] Marten van Dijk, Craig Gentry, Shai Halevi, et al. Fully
homomorphic encryption over the integers [G], LNCS 6110:Advances in Cryptology-EUROCRYPT. Berlin :Springer Ber­
lin Heidelberg, 2010:24-43.。

相关文档
最新文档