文档库 最新最全的文档下载
当前位置:文档库 › 陈智罡_全同态加密释疑

陈智罡_全同态加密释疑

陈智罡_全同态加密释疑
陈智罡_全同态加密释疑

全同态加密释疑(一):四个算法(1)

陈智罡

2009年全同态加密(Fully Homomorphic Encryption)的诞生,不仅是密码学界的一个大的突破(Breakthrough),而且是计算机理论界的一个突破。自从2011年创建了全同态加密QQ群,从几十号人到现在的将近200人,来自各个大学,包括国外。可见人们对全同态加密研究的热情。

另外在网上有许多同学问我一些问题,有些问题很雷同,可能也是初学者必经之路。全同态加密的入门确实比较难。作为一个过来者,非常愿意分享我的一些心得,所以这里我会把一些共性的问题,用一种深入浅出的方法讲述,希望每个人都能看懂。

其实在全同态加密论文的背后,有许多可以说出来的秘密,只不过这个秘密在论文里没空间也不适合讲,那么这里就搞一个专题“全同态加密释疑”,细说从头每个让你困惑的秘密。如果有愿意加入的朋友,可以一起分享心得体会。

今天说说全同态加密的四个算法。可能有些人会说,这个谁不知道,但是知道并不意味着清楚,只有深刻理解了这四个算法的含义,尤其是第四个算法的含义,才能清楚什么是部分同态加密方案,什么是执行自己的解密电路等等概念。

通常一个公钥加密方案有三个算法:KeyGen算法(密钥生成),Enc算法(加密),Dec算法(解密)。但是在全同态加密中,除了上述三个算法之外,还包含第四个算法:Evaluate 算法(密文计算),这个算法的功能是对输入的密文进行计算。

首先说说KeyGen算法(密钥生成)。该算法用于生成公钥和密钥,公钥用于加密,私钥用于解密,这个地球人都知道。但是还可能生成另外一种公钥,即密文计算公钥,我们把它称之为Evk。

密文计算公钥Evk的作用是在执行Evaluate算法时用到,而且Evk的形式与使用的全同态方案直接相关。例如,如果是通过启动技术(Bootstrapple)获得全同态加密,即每次密文计算前要用同态解密约减密文的噪音,这时Evk就是对密钥的每一位加密后生成的密文,即密钥有多少位,Evk里包含的公钥就有多少个。Evk中每个公钥的大小就是使用Enc 加密后产生密文的大小。典型的代表就是Gentry的理想格方案以及后续的整数上的方案。

当然还有其他情况,例如,如果使用密钥交换与模交换技术获得全同态加密,典型代表就是BGV方案。这时Evk中包含的就是L–1个矩阵,L是方案中电路的深度,该矩阵用于密钥转换。每次密文计算后,都需要使用Evk中的公钥将维数扩张的密文向量转换成正常维数的密文向量。

当然还有一种情况就是不需要Evk,例如在Crypto13会议的论文GSW13中,Gentry 使用的密文是矩阵(方阵),所以密文乘积或相加不会产生密文维数改变的事情,所以在密文计算时没有用到公钥,这也是该论文可以产生基于身份或基于属性全同态加密方案的根本原因。

关于Evk就说了这么多,你觉得简单么?一个成功男人的背后,有多少……,那么一个概念的背后就有多少个概念在支撑。千万别小看了概念,只有善于抓概念,才能体会方案的脉络。

继续说全同态加密中的其他三个算法。

Enc算法(加密)和我们平常意义的加密是一样的,但是在全同态加密的语境里,使用Enc算法加密的密文,一般称之为新鲜密文,即该密文是一个初始密文,没有和其他密文计算过。所以新鲜密文的噪音称之为初始噪音。这个相当重要。

Dec算法(解密)也和我们平常理解的一样,就是对密文的解密,但是这里解密算法不仅能对初始密文解密,还能够对计算后的密文解密。但是由于部分同态加密方案中密文存在噪音,例如在整数上的全同态加密方案里,密文乘积的噪音是噪音之积,密文加法的噪音是噪音之和。所以当密文计算到一定程度,其噪音将超过上限,所以对这样的密文解密将可能失败。全同态加密的关键就是对噪音的控制,使之能对任何密文解密。

最后一个算法:Evaluate算法(密文计算),这个算法是整个全同态加密四个算法中的核心。可以做个这样的比喻:前面三个算法是大楼的地基,后面这个Evaluate算法就是大楼。这个比喻在后面会体会到它的用意。密文的计算是在电路里进行的,电路是分层的,电路深度越深,层数越多,密文就能够进行更多次的计算。随便提一句,密文计算的次数等于电路深度的对数。什么是计算次数?例如c1*c2,就是进行了一次计算,次数为2,c1*c2*c3就是进行了两次计算,次数为3。在全同态加密中,我们一般用乘法次数来衡量计算次数,这是因为乘法的噪音比加法噪音增长的快很多。

Evaluate算法有三个输入,第一个输入是计算公钥Evk,就是我们在上次博文里讲到的。Evk可以没有。第二个输入是函数f,就是Evaluate算法所要执行的函数,可以是任意函数,因为全同态加密的目标就是对密文能够进行任意计算。当然这个函数也可以是“解密函数”,Gentry通过观察发现了一个秘密,等会我们说。第三个输入是密文,理论上可以有无穷多个密文,但是这是不可能的。

所以Evaluate算法就是将密文输入到函数f里进行计算。我们知道在全同态加密的方案里,密文都是含有噪音的,密文的计算会导致噪音的增长,如果把函数f表示成电路,那么Evaluate算法实际上只能够对有限深度L的电路进行计算,超过这个深度L的电路就不行了。所以我们把这样的方案称之为部分同态加密方案。由此可见Evaluate算法的重要性,全同态加密就靠它了。还记得刚才的比喻么?Evaluate算法相当于大楼,这个大楼的层数是有限的,而全同态加密的目标是无限高!

所以噪音问题导致了Evaluate算法不能够对任意电路(函数)进行计算。

而全同态加密追求的就是Evaluate算法能够对任意电路进行计算,怎么办?那只有控制噪音问题了。如何控制噪音呢?下回分解。

全同态加密释疑(二):一个技术

陈智罡

在全同态加密(Fully Homomorphic Encryption)方案中,有一个非常重要技术:同态解密。

为什么要同态解密,前面说过噪音问题是实现全同态加密方案的最大障碍。Gentry在实现全同态加密方案时,注意到可以在Evaluate算法中执行自己的解密函数,那么输入的数据是什么呢?

解密函数当然输入的是密钥sk和密文c。但是不要忘了Evaluate算法是如何定义的。Evaluate算法是对输入的密文c1,c2,…执行函数 f 的操作,也就是对密文进行计算,其实隐含在其中的本质是对密文做同态计算,即计算后的密文解密后要等于对明文做同样的计算,如果这点做不到,那么Evaluate算法即使能对密文做很多次运算,也是没有意义的,这点一定要清楚。

这就是两种形态,明文态和密文态,两种形态对应的是同一个计算电路。在明文态,输入电路的是明文,而这些明文都是位(因为是布尔电路)。在密文态,输入电路的就是把每一个明文变成密文就可以了(算术电路)。这是我的独家比喻,版权所有。

而现在如果f 是解密函数,那么输入的密文是什么呢?

只要看看明文态的时候输入的什么就知道了。

在明文态,对于解密电路,输入的肯定是密钥sk的每一位二进制位,以及密文c的每一位二进制位,因为是布尔电路,所以输入的数据都要化成二进制位的形式。

好了,现在在密文态,相应的把明文位变成密文就可以了,原来是一个位的地方现在变成了一个密文,那么将这些密文输入到解密电路中,结果是什么呢?是一个密文,这个密文解密后等于在明文态对明文做同样计算的结果。

现在我们关心的是这个从解密电路里出来的新密文和原来的密文c之间有什么关系?

这两个密文对应的是同样的明文。

而我们关心的是两个密文的噪音一样么?

肯定是不一样的,因为密文计算的噪音会随着计算次数不断增长。而从解密电路里出来的密文的噪音是一个固定值,是保持不变的。惊讶吧?

我们希望的是什么?是解密电路里出来的密文的噪音比原密文的噪音小么?

NO!我们要求没有这么高。我们只要求解密电路里出来的密文的噪音,还允许再进行一次乘法计算就可以了。

为什么?因为如果上面的要求成立的话,那么每次密文计算前,只要通过同态解密,出来的密文就可以保证再进行一次计算,不断循环下去,就可以做无限次计算了。当然要想做无限次计算还需要一个假设条件就是:循环安全。如果不做这个假设,我们只能做深度为L 的电路计算。总之能够保证对密文做我们想要的计算了。

所以同态解密这个技术,是实现全同态加密的一个关键技术,Gentry就通过它实现了全同态加密。

要想使用同态解密,必须在Evaluate算法中能够执行自己的解密函数才可以。很多人都纳闷,解密函数不就是计算一下么,例如在整数方案里解密函数就是:(c mod p) mod2,在LWE或环-LWE上解密函数是:( mod q) mod 2,难道不能够执行这些函数?

事情往往没有想象的那么简单,且听下回分解。

全同态加密释疑(三):为什么不能运行自己的解密电路

陈智罡

前面说过,要想降低密文计算带来的噪音,可以通过同态解密的方式得到一个新的密文,这个新密文的噪音是恒定的,所以使得我们可以进行下一次计算,每次计算后都通过同态解密约减噪音,就能够获得全同态加密了。然而同态解密是需要Evaluate算法能够运行自己的解密函数的,在早期的全同态加密方案中(Gentry09,DGHV),包括BV11方案如果最后一步不使用模维数约减的话,Evaluate都不能够运行自己的解密函数。

很多同学学到这里的时候,都很纳闷,解密函数不就是一些加法乘法模运算么,为什么计算不了,难道还有计算不了的函数?这个问题是问我的人最多的,今天给大家好好解释一下。

所谓的运行不了自己的解密函数,是有语境的,准确的说是“Evaluate算法不能够运行自己的解密函数”,而Evaluate算法的输入是什么?同态解密时,Evaluate算法输入的是解密电路,还有往解密电路里输入的一些密文,这些密文是由密钥和密文的每一位加密而成的,上次博文详细说过这事。那么Evaluate算法做的工作是什么呢?

Evaluate算法做的工作就是让这些密文在解密电路里计算,是密文的计算,记住了!由于密文计算过程会产生噪音,所以密文只能够进行有限次的计算,超过这个界就会产生解密的错误。所以如果解密电路的深度小于方案所允许计算的深度(这里方案所允许计算的深度指的是Somewhat同态方案的计算能力),那么就可以完成同态解密的工作。但是如果解密电路的深度大于方案所允许计算的深度,那么就悲催了,我们就不能够使用同态解密这个方法去降低密文的噪音。怎么办?

Gentry在他的论文里发明了一种方法叫“压缩解密电路”,就是把解密电路的深度降低,从而满足“解密电路的深度小于方案所允许计算的深度”,这样就可以使用同态解密技术了,方案就可以启动了!压缩解密电路是要付出代价的,同时需要一个假设“稀疏子集和问题”,该问题没有被很好的研究过,所以是假设。不过目前的方案已经不需要压缩解密电路了,例如BGV方案,Bra12方案,这些方案都能够运行自己的解密电路,所以不需要压缩的方法了。

同态解密的技术成就了全同态加密的诞生,然而其效率却非常低,所以后面诞生了模交换技术。至于什么是模交换技术,下回分解。

全同态加密释疑(四):转折点:LWE上全同态加密的诞生

陈智罡

Gentry构造全同态加密方案的思想是非常“规则”的,是按照数学的思维来考虑问题的,就是围绕理想这一概念,因为只有这样才能产生密文的加法和乘法算。Gentry第一个全同态加密方案是基于理想格构造的。方案所选择的代数结构是理想格,是因为在格里解密操作比较简单,绝大多数都是矩阵向量乘或是内积,它们都属于NC1,具有低的解密电路复杂度,此外理想格像格一样具有加法结构,同时它还具有乘法结构的特性,可以说两全其美。

所有后面沿着Gentry的构造思路都是按照这个思想来的。直到LWE上的全同态加密方案的出现。

Gentry构造全同态加密方案的思想可以抽象概述为:首先在环R上构造一个线性纠错码C,“线性”意味着保证加法同态性,“纠错”意味着码字中存在错误,如果该错误在一定范围内就可以纠错。而且C是环上的一个理想,其基有两种表示,一种是“好”的表示,用来做密钥,可以对大的错误进行纠错(相当于解密),当错误超过上限后将无法纠错(即无法解密)。另外一种表示是“坏”的表示,用来做公钥,可以产生随机的码字,用于加密。由于线性纠错码C的线性特性决定了其具有加法同态特性,另外C是环上的一个理想,所以其乘

法也具有同态特性,然而由于错误存在上限,因此仅对有限次的乘法计算保持其同态特性。该思想形成的方案就是部分(Somewhat)同态加密方案,由于密文计算中错误增长的原因,该方案只能对密文进行有限次的运算。最初的方案都可以用这种思想解释。

上述构造思想中的环结构保证了乘法计算,但是对于LWE(环LWE)上的加密方案由于没有环结构,所以无法提供密文向量的乘法,一度成为LWE(环LWE)上构造全同态加密的最大障碍。Brakerski在论文Bv11中引入了再线性化技术与维数模约减技术,成功的解决了在没有环结构的方案中进行密文乘积的问题。后来在BGV方案中经过改进形成了密钥交换技术和模交换技术。

在基于LWE(环LWE)的全同态加密方案中,密文乘积定义为两个密文c1和c2的张量c1c2,对应的密钥为ss。按照这种形式的乘法定义,一方面,密文乘积将导致密文维数的膨胀,只能进行常数次的密文乘法计算;另一方面,同样面临着噪音在乘法中急剧增长的问题。解决这些问题,一方面通过使用密钥交换技术,可以将密文的维数还原到原来的维数,因此可以进行下一次密文的乘积;另一方面使用模交换技术,可以将增长的噪音约减回原来的噪音大小上。因此,不需要启动就可以获得层次型全同态加密方案(可以执行任意多项式深度的电路),所以不再需要稀疏子集和问题假设和循环安全假设,这是全同态加密思想上的一次飞跃,打破了原有的Gentry构造框架,效率上也得到了极大地提升。目前效率最高的环-LWE上的BGV方案使用的就是这种构造方法

同态加密中经常用到准多项式时间、对数多项式时间、亚指数时间等等。下面这张表详细列出了这些概念的意义及范例。表中poly(x) = x O(1),表示关于x的一个多项式。

Name Complexity

class

Running time

(T(n))

Examples of

running times

Example algorithms

constant time O(1) 10 Determining if an integer (represented in binary) is even or odd

inverse Ackermann time O(α(n))

Amortized time per operation

using a disjoint set

iterated

logarithmic time

O(log*n) Distributed coloring of cycles

log-logarithmic O(log log n) Amortized time per operation using a bounded priority queue[2]

logarithmic time DLOGTIME O(log n) log n, log(n2) Binary search

polylogarithmic

time

poly(log n) (log n)2

fractional power O(n c) where

0 < c < 1

n1/2, n2/3Searching in a kd-tree

linear time O(n) n Finding the smallest item in an unsorted array

"n log star n" time O(n log*n) Seidel's polygon triangulation algorithm.

全同态加密释疑(五):为什么是电路观点

陈智罡

这个问题是许多刚接触全同态加密研究者困惑的一个问题。

也许初学者以为密码学都是基于数论观点的,其实真正的密码学的灵魂落脚点是计算复杂度。密码学中的所有方案必须要依赖于一个数学难题,这是其安全性所在的根本。问题有

多难?拿什么来衡量?答曰:计算复杂度。所以有一本很有名但是很枯涩难懂的一本著名密码学理论书:《Foundations of Cryptography》(OdedGoldreich著),里面深刻阐述了这一观点。

但是电路观点在密码学中的方案由来已久。例如,姚期智的论文“How to generate and exchange secrets”就是通过布尔电路观点构造安全函数计算,产生了著名的概念“garbled circuit”。

强调一下,电路观点是一种计算复杂度的计算模型,用途是衡量解决问题所需要的资源,例如时间、存储量等。在电路计算模型下,有使用的gate的数量,电路的深度等。

为什么要使用电路观点来构造密码学中的方案?

采用电路计算模型的原因是电路模型需要“接触“到所有的输入数据,因而不会泄露任何信息,所以传统的安全计算都是采用电路模型的。尽管电路模型非常强大(等价于图灵机),但在某些方面图灵机计算模型要比电路模型的计算效率要高(例如折半查找)。例如在存储有n个数据项的数据库中,若使用标准的安全计算协议,首先把函数表示成电路进行计算,该协议的复杂度是Ω(n)。但是若使用图灵机计算模型下的二分查找,时间复杂度为О(logn)。

电路模型下,算法的性能是用最坏情况下的性能来衡量的。其原因是图灵机算法转换成电路模型下的算法后,该算法工作在无循环的算法结构下,这使得电路模型要考虑所有出现的情况,也就是最坏情况下的运行时间。简单的说,如果一个算法在实践中绝大多数的实例都是运行在多项式时间下,但是对于极少数实例时运行在指数时间下,那么电路模型的计算时间就是指数时间。

所以任何东西,此消彼长,都要付出代价的。

对于所有的全同态加密、基于属性加密、通用函数的两方及多方安全计算协议、对于通用函数的函数加密,都是采用的电路观点。

能否对于电路模型下的密码学方案,让其享受图灵机模型下的时间而不是最坏情况下的时间呢?

好消息:ShafiGoldwasser等人在今年的美密会上“Howto Run Turing Machines on Encrypted Data “论文中,提出了将一个图灵机算法编译成一个工作在电路上的算法(该算法可以看成被加密了),该算法运行在密文下,该电路上的算法的计算时间是图灵机模型下的算法计算时间。针对全同态加密方案、基于属性的加密方案、函数加密方案都进行了这种形式的尝试。

坏消息:这个被加密的运行在电路上的算法,泄露了图灵机模型下的算法计算时间。而且这些方案都是概念上的证明,并不是真正的一个实在的方案。所以意义并不大。

全同态加密算法研究与实现

全同态加密算法研究与实现素质拓展报告 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 算法的奇妙之处正在于它能够突破这种常规,具有直接对”内层加密”实施解密的能力。当然,在这个过程中,必须保证密文的噪声不会增大或者增长不能太大。

整数上全同态加密方案分析

整数上全同态加密方案分析 一篇论文看完了,如果都看懂了的话,很多人觉得案例都是小菜一碟,但是在我写这个案例的时候我发觉论文看懂了,更需要案例或者说实现来进一步深入或者夯实,因为只有通过具体的实现步骤,才能发现有些在论文中的一些细节问题,反过来更可以促进对论文的理解。 整数上全同态加密方案有两篇非常经典的论文,一篇是《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+pq Dec(c):(c mod p)mod2=(c–p*「c/p」)mod2=Lsb(c)XOR Lsb(「c/p」)

wd文档加密方式

文档的安全是我们每个用户都非常关心的话题,尤其是在公共办公场所,如何更加有效地保护我们的文档,更是一个刻不容缓的问题。Word有着非常强大的文字编辑功能,是我们日常工作生活中十分常用的办公软件,同时Word本身也提供了许多安全和保护功能,下面就让我们来看看给Word文档加密的技巧。这几种方式,各有玄机,正所谓是“一山还比一山高”啊! 1、普通加密 首先打开需要加密的Word文档,选择“工具”菜单中的“选项”命令,在弹出的“选项”对话框中选择“保存”标签,分别在“打开权限密码”和“修改权限密码”框中输入密码,然后点击“确定”按钮退出,最后将该文档保存即可。注意:“打开权限密码”和“修改权限密码”可以相同也可以不同,设置“打开权限密码”是为了防止别人打开该文档,而设置“修改权限密码”是为了防止别人修改该文档,如果只设置“修改权限密码”,那么别人仍然可以打开该文档,但是如果不知道密码的话,并不能做任何修改。 2、模板加密 首先到C:\Windows\Application Data\Microsoft\Templetas文件夹中,找到要加密的通用模板(Normal.dot),然后选择“工具→选项”,按照与上述步骤相同的方法为该模板设置密码。要注意在保存的时候,选择保存类型为“文档模板(dot)”。这时由于Normal.dot已经打开,所以不能将加密模板保存为默认的通用模板,先将它保存为“Normal1.dot”,关闭Word后再将原来的“Normal.dot”删除,把“Normal1.dot”重命名为“Normal.dot”。这样以后每次启动Word时,都会提示输入密码(如图2),如果没有密码虽然可以进入,但是却没法使用默认模板。 3、宏自动加密 其实我们还可以利用宏来自动加密文档,选择“工具→宏→宏”命令,弹出“宏”对话框,在“宏名”中输入“AutoPassword”,在“宏的位置”中选择“所有的活动模板和文档”,然后点击“创建”按钮,出现“宏”编辑窗口,在源代码窗口中的Sub AutoPassword()和End Sub之间插入以下代码: With Options .AllowFastSave = True .BackgroundSave = True .CreateBackup = False .SavePropertiesPrompt = False .SaveInterval = 10 .SaveNormalPrompt = False End With With ActiveDocument .ReadOnlyRecommended = False

同态加密方案

若一个加密方案对密文进行任意深度的操作后解密,结果与对明文做相应操作的结果相同,则该方案为完全同态加密方案。 通常一个公钥加密方案有三个算法:KeyGen算法(密钥生成),Enc算法(加密),Dec算法(解密)。但是在全同态加密中,除了上述三个算法之外,还包含第四个算法:Evaluate算法(密文计算),这个算法的功能是对输入的密文进行计算。 KeyGen算法(密钥生成)用于生成公钥和密钥,公钥用于加密,私钥用于解密。还可能生成另外一种公钥,即密文计算公钥,我们把它称之为Evk。 密文计算公钥Evk的作用是在执行Evaluate算法时用到,而且Evk 的形式与使用的全同态方案直接相关。例如,如果是通过启动技术(Bootstrapple)获得全同态加密,即每次密文计算前要用同态解密约减密文的噪音,这时Evk就是对密钥的每一位加密后生成的密文,即密钥有多少位,Evk里包含的公钥就有多少个。Evk中每个公钥的大小就是使用Enc加密后产生密文的大小。

当然还有其他情况,例如,如果使用密钥交换与模交换技术获得全同态加密,典型代表就是BGV方案。这时Evk中包含的就是L–1个矩阵,L是方案中电路的深度,该矩阵用于密钥转换。每次密文计算后,都需要使用Evk中的公钥将维数扩张的密文向量转换成正常维数的密文向量。 当然还有一种情况就是不需要Evk,例如在Crypto13会议的论文GSW13中,Gentry使用的密文是矩阵(方阵),所以密文乘积或相加不会产生密文维数改变的事情,所以在密文计算时没有用到公钥,这也是该论文可以产生基于身份或基于属性全同态加密方案的根本原因。 Enc算法(加密)和我们平常意义的加密是一样的,但是在全同态加密的语境里,使用Enc算法加密的密文,一般称之为新鲜密文,即该密文是一个初始密文,没有和其他密文计算过。所以新鲜密文的噪音称之为初始噪音。 Dec算法(解密)不仅能对初始密文解密,还能对计算后的密文解密。但由于部分同态加密方案中密文存在噪音,例如在整数上的全同态加密方案里,密文乘积的噪音是噪音之积,密文加法的噪音是噪音之和。所以当密文计算到一定程度,其噪音将超过上限,所以对这样的密文解密将可能失败。全同态加密的关键就是对噪音的控制,使之能对任何密文解密。 最后一个算法:Evaluate算法(密文计算),这个算法是整个全同态加密四个算法中的核心。可以做个这样的比喻:前面三个算法是大楼的地基,后面这个Evaluate算法就是大楼。这个比喻在后面会体会到它

全同态加密

全同态加密 丁津泰 一、引言 人们普遍认为全同态密码是密码学中的圣杯。Craig Gentry 在近期提出的解决方案虽然在实际应用中效率不高,但在该领域仍是一个重大突破。自那以后,人们又在提高全同态密码的效率问题上取得了很大的进步。 在一个加密体系中,Bob通过加密明文得到密文,Alice解密密文得到明文。 在全同态密码体系中,第三方可以在不知道明文内容的情况下,针对密文做一系列计算,解密的结果和对明文进行相同计算的所得相同。云计算是全同态密码的一个主要应用方向。Alice可以将她的数据存储在云端——例如,一个通过英特网连接的遥远的服务器。由于云端的存储和计算能力都要远远优于Alice的终端设备,因此她可以使用云端服务器来处理她的数据。不过,Alice还是无法信任云端,因为有些数据是很敏感的(例如,病人的医疗记录),所以她更希望云端在不知道数据本身的前提下处理数据、计算结果。因此,Alice将数据加密,传送给云端,云端在不知道原始数据的前提下对加密后的数据进行一系列数学运算。 使用全同态密码,云端可以在不知道“关键字”的前提下,使用搜索引擎搜索用户需要的内容。更精确的讲,全同态密码有如下特点:密文ci 解密得到明文mi ,其中ci , mi 是环上的元素,在这个环上,只有加法操作和乘法操作: Decrypt c i + c j=m i+ m j Decrypt c i×c j=m i× m j 这就表示解密是双重同态的(Doubly homomorphic)也就是说,解密在加法和乘法上同态。全同态意味着不论函数 f 是一个由多少(即便很多个)加法和乘法组成的环,都有如下的公式成立: Decrypt f c1,…,c n= f m1,…,m n 如果云端可以高效的计算出f c1,…,c n的结果,并且这种计算是在不知道明文m1,…,m n的前提下进行的,那么这个加密体系是安全且高效的。 全同态加密既适用于公钥加密体系,也可用于对称加密体系。 1978年,在RSA密码系统发明后不久,Rivest, Adleman, 以及Dertouzos 三人提出了全同态加密体系——所谓的“隐私同态”。在他们的论文中这样写到,

加密实施方案

加密实施方案 数据保密需求 传统信息安全领域主要关注由于外部入侵或外部破坏导致的数据破坏和泄漏以及对病毒的防范,对于企业网络内部的信息泄漏,却没有引起足够的重视。内部信息的泄漏包;如内部人员泄密、其他未授权人员直接接入内部网络导致的泄密。显然,对于企业内部的信息泄密,传统手段显然无法起到有效的预防和控制作用。 美新微纳收购美国Xbow WSN业务后,大量的核心源代码、设计图纸、电路原理图以及算法都是公司的重要信息资产,必须需要严格的管理和控制。同时新开发项目的核心信息的安全管理都是企业安全管理工作的重要内容。以下方案是通过数据加密的方法对公司的核心机密信息进行安全保护。 数据加密办法 一、信息加密系统数据管理办法 系统分为三层架构,服务器、管理机、客户机组成。 加密系统架构示意图 1.服务器

服务器主要功能: 管理根密钥。服务端管理加密狗中的根密钥信息,以此产生全球唯一的密钥,并分 发给各个管理端,客户端用以解密文件; 自动升级功能,通过服务端可以导入最新的升级包,通过自动下发策略可以实现自 动升级加密环境; 注册、管理管理端,企业中所有的管理机需要在服务端进行注册并分配权限;注册 管理机、加密管理机器; 监控管理机的工作状态,汇总管理机的工作日志,可以随时调用查看; 备份、恢复数据库功能,提供手动进行数据库备份,恢复功能,一旦服务器出现故 障可以随时恢复保证运行不影响工作; 配置管理机的脱机策略。服务器具有设置管理机的脱机时间功能,在设置了脱机时 间后,管理机和服务器未连接的状态下,管理机能正常运行的时间限制; 设置卸载码。设置客户端、管理机卸载时的授权码,如果授权码不能正确即使有安 装程序也无法卸载程序。 自定义密钥。客户可自行设置私有密钥,增加安全性。 备用服务器。提供主服务器无法正常工作的应急机制,可保证系统的正常工作 2.管理机 管理机主要功能 客户机注册管理。企业中所有客户机需要统一在管理机上进行注册,方能运行; 解密文件并记录日志,根据服务器的授权,管理机可以解密权限范围内的加密文件,与此同时记录下来解密文件的日志信息; 管理客户机策略。 系统内置约300类常用软件加密策略; 是否允许用户脱机使用及脱机使用时间; 是否允许用户进行打印操作,并可对使用的打印机类型进行控制(主要用于控 制各类虚拟打印机); 是否允许用户进行拷屏操作;

全同态加密技术

全同态加密技术助力云计算 作者:汤姆?西蒙尼发稿时间:2010-06-21 14:20:26 点击:2442 利用加密算法,云端服务器不用解密就可以处理敏感数据。 利用一项全新的技术,未来的网络服务器无须读取敏感数据即可处理这些数据。去年,一项数学论证提出的几种可行性方案问世,这使得研究人员开始努力将方案变得更实际。 2009年,IBM公司的克雷格·金特里(Craig Gentry)发表了一篇文章,公布了一项关于密码学的全新发现——一项真正的突破。他发现,对加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。这听起来就像是不知道问题也能给出问题的答案一样。 这一名为“全同态加密”的技术被冠以“密码学的圣杯”的称号。对数据进行加密给计算带来了难度,但如能够在不解密的前提下进行计算则进一步提高了数据的安全性。例如,远程计算服务提供商收到客户发来的加密的医疗记录数据库,借助全同态加密技术,提供商可以像以往一样处理数据却不必破解密码。处理结果以加密的方式发回给客户,客户在自己的系统上进行解密读取。这一技术同样可以应用到网络邮件或在线办公软件套装中。 英国布里斯托尔大学密码学教授奈杰尔·斯玛特(Nigel Smart)与比利时鲁汶大学研究员弗雷德里克·韦尔科特朗(Frederik Vercauteren)正在协作,对最原始的技术方案加以修改并进行实施和测试。斯玛特说:“我们吸收了金特里的方案并对之作了简化。”在最初的方案中,金特里使用了矩阵和矢量进行加密,斯玛特与韦尔科特朗进行了改进,改用整数和多项式作为加密办法。“这使得数据更简单易懂,处理起来更容易。”斯玛特说,“从而可以真正计算这些数据。” 最初的方案依赖矩阵和矢量,每一步都要分别计算每个元,这已经足够复杂;计算完矩阵后还要处理数据本身,使得计算更加复杂。这使得矩阵和矢量加密方法实用性不强。斯玛特与韦尔科特朗改写了加密方法,免去了复杂的计算,使得金特里的理念得以在电脑上进行实施和测试。“我们确实实现了他的理念:对数据进行加密但计算过程更加简单。”斯玛特说,“我们可以处理30个顺序操作。” 但是这一方案也有其局限性。随着计算步骤的增加,连续加密的计算结果质量在下降,用斯玛特的话说就是数据“变脏了”。不能进行任意计算,意味着现有的算法版本还未能实现全同态。 针对这个问题,金特里开发了一种算法,能够定期对数据进行清理,实现系统的自我纠正,从而实现全同态。然而,金特里的算法要求系统实现一定量的计算,斯玛特目前还无法实施。金特里表示,他与IBM的同事Shai Helevi已经对斯玛特的方案进行了修改,正在进行测试,今夏晚些时候将宣布改进结果。

文件加密解决方案底层库详细说明

文件加密解决方案底层库详细说明 目录 一、概要设计 (1) 二、详细设计 (2) (一)文件读入模块 (2) (二)加密模块 (3) (三)解密模块 (3) (四)保存目标文件模块 (3) (五)主处理函数 (4) 三、文件格式 (4) (一)文件格式说明 (4) (二)文件格式详细定义 (5) 四、功能实现 (6) (一)命令行 (6) 1、Linux命令行 (7) 2、Windows命令行 (8) (二)库 (9) (三)接口 (9) 1、通用C接口 (9) 2、Android JNI接口 (10) 3、Lua接口 (11) 4、iOS接口 (11) 一、概要设计 加密方与解密方共享同一个密钥Key。因此加密方与解密方的角色是对等的。 基于对称加密体制,共支持两种算法可以选择,AES256与SM4。

子功能设计 二、详细设计 (一)文件读入模块 读入明文模块与读入密文模块,合并成一个模块,即“读入源文件”模块。操作都是一样的,都是将用户指定的磁盘文件——不管是密文还是明文的,读入到内存中去。 读入源文件的函数定义如下: int openSrcFile(char **buffer) { FILE *myfile_src; /*源文件指针*/ char filename[20]; /*文件名数组*/ long file_size; /*记录文件的长度*/ printf("Please input the path and filename of the file you want to process\n"); scanf("%s",filename); if(!(myfile_src = fopen(filename,"rb"))) { printf("ERROR!"); } fseek(myfile_src,0,SEEK_END); file_size = ftell(myfile_src); fseek(myfile_src,0,SEEK_SET); *buffer = (char *)malloc(file_size); fread(*buffer,1,file_size,myfile_src); /*读入文件*/ fclose(myfile_src); return file_size;

同态加密综述

信息系统安全题目: 同态加密综述 姓名:### 学号:2013202110076 武汉大学 二○一三年十月

同态加密综述 概念 2009年,IBM公司的克雷格·金特里(Craig Gentry)发表了一篇文章,公布了一项关于密码学的全新发现:一项真正的突破。他发现,对加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。这听起来就像是不知道问题也能给出问题的答案一样。 记加密操作为E,解密为E';明文为m,加密得e,即 e = E(m),m = E'(e)。已知针对明文有操作f,针对 E 可构造F,使得F(e) = E(f(m)),这样 E 就是一个针对 f 的同态加密算法。 来源 2009年9月,Craig Gentry 的论文发表于STOC。一名IBM研究员解决了一项棘手的数学问题,该问题自从几十年前公钥加密发明以来一直困扰着科学家们。该项创新为“隐私同态(privacy homomorphism)”或“全同态加密(fully homomorphic encryption)”领域的重要技术突破,使得加密信息,即刻意被打乱的数据仍能够被深入和无限的分析,而不会影响其保密性。 IBM研究员Craig Gentry设计了这一解决方案。他使用被称为“理想格ideal lattice”的数学对象,使人们可以充分操作加密状态的数据,而这在过去根本无法设想。经过这一突破,存储他人机密电子数据的电脑销售商就能受用户委托来充分分析数据,不用频繁与用户交互,也不必看到任何隐私数据。利用Gentry的技术,对加密信息的分析能得到同样细致的分析结果,就好像原始数据完全可见一样。 加密机理 整数上全同态加密方案有两篇非常经典的论文,一篇是《Fully Homomorphic Encryption over the Integers》以下简称DGHV方案,还有一篇是Gentry写的《Computing Arbitrary Functions of Encrypted Data》简称CAFED论文。

两个实用同态加密方案

两个“实用的”全同态加密方案 一、方案说明 1、 该方案为对称方案。 2、 该方案仅仅需要线性代数知识。 3、 不需要噪音消除工作。 4、 明文为有限域上的实数。 5、 密文为向量,但同态操作不膨胀。 6、 安全性基于近似最大公约数问题(AGCD)。 二、方案简单描述 1、 参数选择(Setup):设2l n ≤-为已知,例如5n =,3l =。 2、 密钥生成(KeyGen):有如下几个工作。 - 随机选择向量()1 01,n n q k k k +=∈ ,,k Z ,()011l l q θθθ-=∈ ,, ,Z Θ。 - 对明文q m ∈Z ,令()1 01Enc(,),,,n n q c m c c c +==∈ k Z ,满足 m ?=k c ,称为低级加密。其具体方式为: 其中,121212,,,,,h m h r r r r s r s r s r v r v r v - 和rr 都是q Z 上的随机数。1 ()m ij j j S i s rs ==?∑。ij s 是什么不知道。 - 令011[Enc(,),Enc(,),Enc(,),Enc(,1)]l θθθ-Φ= k k k k 。 - 输出密钥:PK {,}=k Θ,评估公钥PEK {p Enc(,k k ),0,}ij i j i j n ==≤≤k 。 3、 加密(Encryption):对q m ∈Z ,选择01,,l q r r r ∈ Z ,使??? 01l m r r r =+++ ,计算: ()()()()()()()()() 001111Enc ,Enc ,Enc ,Enc ,1m l l l c r r r r θθθ--=?⊕?⊕⊕?⊕? k k k k 4、 解密(Decryption):对密文m c ,计算得到m m ?=k c 。 证明:首先根据()Enc ,i θk 的定义,有0 ,0,1,2,1n i i ij i k i l θθ===?=-∑ ,0 11n i i i k ==?=∑。 故:111 00110001,1,,1,l l l m i i l i i l i in l n i i i r r r r r r θθθ---===?? ?=??+??+??+? ??? ∑∑∑ k c k

基于Numpy实现同态加密神经网络

基于Numpy实现同态加密神经网络 在分布式AI环境下,同态加密神经网络有助于保护商业公司知识产权和消费者隐私。让我们和DeepMind数据科学家、Udacity深度学习导师Andrew Trask一起,来看看如何基于Numpy实现同态加密神经网络吧。 TLDR: 在这篇文章中,我们将训练一个在训练阶段完全加密的神经网络(在未加密的数据上训练)。得到的神经网络将具备两个有益的性质。首先,保护神经网络的智能免遭窃取,使有价值的AI可以在不安全的环境中加以训练而不用冒智能遭窃的风险。其次,网络只能进行加密预测(大概对外部世界毫无影响,因为在没有密钥的情况下,外部世界无法理解预测)。这在用户和超智能间构成了一个有价值的权力失衡。如果AI是同态加密的,那么在AI看来,整个外部世界也是同态加密的。一个控制密钥的人类可以选择解锁AI本身(将AI释放到世界中)或仅仅解密AI做出的单个预测(看起来更安全)。 超智能 很多人都担忧超智能有一天会选择伤害人类。史蒂芬·霍金曾呼吁建立新的世界政府来管理我们赋予人工智能的能力,以防人工智能最终摧毁人类。这些是相当大胆的主张,我认为它们反映了科学界和整个世界对这一问题的普遍担忧。本文将是一篇介绍解决这一问题的潜在技术方案的教程,我将通过一些玩具样例代码来演示这一方法。 目标很简单。我们想要创建未来会变得非常智能的AI技术(智能到可以解决治愈癌症、终结世界上的饥饿等问题),但是这样的智能受人类的控制(基于密钥),因而其智能的应用是受限的。不受限的学习是很棒的,但知识的不受限的应用可能具有潜在危险性。 为了介绍这一想法,让我先简要介绍两个非常激动人心的研究领域:深度学习和同态加密。 一、什么是深度学习? 深度学习是用于自动化智能的工具套件,主要基于神经网络。这一计算机科学的领域,是最近AI技术爆发的主要动力,因为深度学习在许多智能任务上超越了先前的表现记录。例如,他是DeepMind的AlphaGo系统的主要组成部分。 神经网络基于输入做出预测。它通过试错法学习做出有效的预测。刚开始,它做出一个预

关于公司重要文件加密方案

关于公司重要文件加密方案 一、使用加密软件 1、加密软件:服务器端、控制端、客服端。 服务器端:统一管理功能 客服端:要加密的电脑 控制端:文件加密、解密设置,人员控制权限设置 2、加密软件介绍 第一道防线:端口管控、管控USB端口拷贝、刻录、打印行为,控制所有的终端端口外泄。对于注册授权的移动U盘设备,可以允许在公司指定的计算机上使用,且同一个U盘可针对不同的电脑设定不同的读写权限,灵活方便,更贴合您的管控需求。还可将U盘设备设为加密盘,拷入U盘设备中的数据进行加密,防止因U盘设备丢失而导致数据泄密。 (对U盘加密后带出公司不能使用,U盘需要给客户需解密才可以带出使用,也可以限使用次数) 第二道防线:数据加密强制对计算机生成的文档图纸、源码、office文档等数据自动透明加密,加密后仅在安装客服端的电脑范围内进行数据交互;所有加密过程均为自动和透明,不影响原有工作习惯和管理流程;全生命周期、全流程保护,新建、修改、传递、存储、备份均加密;未经公司授权同意,无论您通过何种途径恶意外发出去,均无法打开。离线策略离线客户端可以工作多久,加密文件不可以使用,可以对出差电脑进行离线策略下发。 (文件加密后只能在安装客户端的电脑之间使用) 第三道防线:文件外发管控对外发的重要数据要申请外发管理无懈可击反拷贝防扩散防泄密严控收件人的使用权限,可对外发文件,设置指定的可查看次数、时间,设置是否允许修改、是否允许打印等;禁止拖拽、拷屏、另存为、剪贴板盗取和另存等手段盗取外发文档内容;超过打开时间或者打开次数外发文件自动销毁;支持所有的类型文件外发包括:CAD图纸文件、源代码、财务数据报表、office文件等;对信任的收件对象可设置邮件白名单,邮件发送至白名单中用户时自动解密,提高工作效率; (对要外传的文件进行权限设置设置指定的可查看次数、时间,设置是否允许修改、是否允许打印等;禁止拖拽、拷屏、另存为、剪贴板盗取和另存等手段盗取外发文档内容;超过打开时间或者打开次数外发文件自动销毁;)第四道防线:日志审计和文件备份事前主动防御,事中全程控制,事后有据可查提供完整的日志管理,可对所有加密文档的所有操作进行详尽的日志审计,并对审计日志提供查询、导出、备份及导出数据报表等支持。对日常办公中文档的复制、移动、重命名、删除等涉密操作过程做详尽记录,对便于监督检查和事后追溯。提供详细的加密文件备份功能,有效避免了文件因版本更新或者是意外破坏造成的风险,大大保护了企业机密数据的完整性和安全性。(对日常办公中文档的复制、移动、重命名、删除等涉密操作过程做详尽记录) 3、指定一个人员权限管理 4、费用:按电脑安装台数计算400元/台(10台起)+税点5%

同态加密

同态加密 1.背景 加密的目的是保护数据的机密性。加密分为对称加密和非对称加密。对称加密是指加密和解密用的同一个密钥;而非对称加密在加密时用的是公钥,解密时用的是私钥。非对称加密体制是基于数学难问题(比如大整数分解、离散对数),加密解密操作比对称加密要慢很多。 如果对加密数据(即密文)的操作是在不可信设备(untrusted device)上进行的,我们希望这些设备并不知道数据的真实值(即明文),只发回给我们对密文操作后的结果,并且我们可以解密这些操作后的结果。举一个简单的例子,n个学生和1个老师通信,每个学生都有1个数据要发给老师,老师需要知道这n个数据之和,而学生们不想让老师知道每个数据的真实值。为了解决这个问题,Rivest等在1978年提出了同态加密的思想。 2.定义 同态加密[1]的定义如下:

其中,M表示明文的集合,C表示密文的集合,←表示可以从右式计算得出左式。 特别地,有 分别为加法同态、乘法同态。 所谓同态加密,是指在密文空间对密文的操作等同于在明文空间对明文操作后加密(据我自己的理解)。同态加密在数据聚合(data aggregation)、隐私保护等方面有着重要的应用。 现在可以用同态加密解决前面提出的问题:每个学生可以用加法同态加密函数将各自数据加密,再将这密文发给老师;老师只需要把n个密文相加,再将相加后的结果(即密文之和)解密,即可得到n个数据之和(即明文之和)。这样就保护了n个数据不被老师所知道,而且老师也得到了n个数据之和。

3.几个概念 在[1]中,介绍了Semantics Security、polynomial security、nonmalleability几个概念。 (1)Semantics Security指对具有一定计算能力的敌手而言,密文没提供任何有关明文的有用信息。比如,对加密操作c=E(m),c表示密文、E表示加密操作、m表示明文,敌手有可能猜到c而并不知道m。(2)polynomial security定义:敌手选择两个明文,我们随机地选取其中的一个明文,并提供该明文相应的密文给敌手;敌手在多项式时间内,并不能得出我们所选取的明文是两个中的哪一个。 (3)Nonmalleability定义:敌手知道密文c’对应的明文m’与明文m的关系是困难的。 Goldwasser和Micali证明了Semantics Security与 polynomial security等价,Bellare和Sahai 证明了 polynomial security与nonmalleability等价。 同态加密不具有nonmalleability,加操作的deterministic同态加密方案是不安全的。满足同态加密的已有方案:RSA,ElGmal, Paillier cryptosystem。

改进的格上基于身份的全同态加密方法与制作流程

本技术公开了一种改进的格上基于身份的全同态加密方法。该方法按照以下步骤实施:首先利用一种新型陷门函数与对偶LWE算法相结合,构造一个改进的标准模型下格上基于身份的加密方案,然后利用特征向量的思想将该方案转化为一个改进的标准模型下格上基于身份的全同态加密方案。本技术所公开的方法消除了基于身份全同态加密运算密钥的问题,且所生成的格的维数更低,具有更高的实际应用可行性。 权利要求书 1.一种改进的格上基于身份的全同态加密方法,其特征在于采用两层结构设计:首先将新型陷门函数与对偶LWE算法相结合,构造一个改进的标准模型下格上基于身份的加密方案iIBE,然后利用特征向量方法将iIBE转化为标准模型下格上基于身份的全同态加密方案IBFHE;IBFHE方案包括私钥生成中心,云服务方,消息发送方和消息接收方,它们之间采用双向通信; 所述改进的格上基于身份的全同态加密方法具体实施步骤是: 首先构造标准模型下的格上基于身份的加密方案iIBE: iIBE方案需要以下基本参数:均匀随机矩阵和其陷门其中n是安全参数,m=O(n log q),w =nk,模数q=q(n);构造一个公开矩阵其中In是n×n单位矩阵,FRD编码函数H1: 系统建立算法iIBE-Setup(1n):选取均匀随机矩阵选取n维均匀随机向量运行陷门生成算法TrapGen(1n,1m,q,H),其中为随机的可逆矩阵;输出矩阵和格Λ⊥(A)的陷门矩阵输出MPK=(A,u),MSK=R; 用户密钥提取算法iIBE-Extract(MPK,MSK,id):利用FRD编码函数H1:将用户身份id映射为一个可逆矩阵运行原像采样算法SampleL(A,Hid·G,R,u,σ),输出用户密钥e,满足Aide=u,其中

如何解密文件夹

一、加密文件或文件夹 步骤一:打开Windows资源管理器。 步骤二:右键单击要加密的文件或文件夹,然后单击“属性”。 步骤三:在“常规”选项卡上,单击“高级”。选中“加密内容以便保护数据”复选框 在加密过程中还要注意以下五点: 1.要打开“Windows 资源管理器”,请单击“开始→程序→附件”,然后单击“Windows 资源管理器”。 2.只可以加密NTFS分区卷上的文件和文件夹,FAT分区卷上的文件和文件夹无效。 3.被压缩的文件或文件夹也可以加密。如果要加密一个压缩文件或文件夹,则该文件或文件夹将会被解压。 4.无法加密标记为“系统”属性的文件,并且位于systemroot目录结构中的文件也无法加密。 5.在加密文件夹时,系统将询问是否要同时加密它的子文件夹。如果选择是,那它的子文件夹也会被加密,以后所有添加进文件夹中的文件和子文件夹都将在添加时自动加密。 二、解密文件或文件夹 步骤一:打开Windows资源管理器。 步骤二:右键单击加密文件或文件夹,然后单击“属性”。 步骤三:在“常规”选项卡上,单击“高级”。 步骤四:清除“加密内容以便保护数据”复选框。 同样,我们在使用解密过程中要注意以下问题: 1.要打开“Windows资源管理器”,请单击“开始→程序→附件”,然后单击“Windows资源管理器”。 2.在对文件夹解密时,系统将询问是否要同时将文件夹内的所有文件和子文件夹解密。如果选择仅解密文件夹,则在要解密文件夹中的加密文件和子文件夹仍保持加密。但是,在已解密文件夹内创立的新文件和文件夹将不会被自动加密。 以上就是使用文件加、解密的方法!而在使用过程中我们也许会遇到以下一些问题,在此作以下说明: 1.高级按钮不能用 原因:加密文件系统(EFS)只能处理NTFS文件系统卷上的文件和文件夹。如果试图加密的文件或文件夹在FAT或FAT32卷上,则高级按钮不会出现在该文件或文件夹的属性中。 解决方案: 将卷转换成带转换实用程序的NTFS卷。 打开命令提示符。 键入:Convert [drive]/fs:ntfs (drive 是目标驱动器的驱动器号)

【CN110677234A】一种基于同态加密区块链的隐私保护方法与系统【专利】

(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 201910359650.8 (22)申请日 2019.04.30 (71)申请人 郑州大学 地址 450000 河南省郑州市高新技术开发 区科学大道100号 (72)发明人 佘维 刘炜 田钊 刘琦 杨晓宇  胡跃  (74)专利代理机构 郑州中原专利事务所有限公 司 41109 代理人 李想 (51)Int.Cl. H04L 9/00(2006.01) H04L 9/08(2006.01) H04L 9/32(2006.01) H04L 12/24(2006.01) (54)发明名称 一种基于同态加密区块链的隐私保护方法 与系统 (57)摘要 本发明提供一种基于同态加密区块链的隐 私保护方法和系统,包括:每个家庭智能网关为 一个节点,多个家庭智能网关形成区块链;为区 块链中每个家庭智能网关分配一对秘钥,同时设 置全网秘钥;将区块链中的全网节点分为特殊节 点和普通节点,所述特殊节点存放每个家庭智能 网关的公钥;每个家庭智能网关接收并保存感知 器采集的监控终端采集信息,并将信息分为可见 信息和不可见信息,通过全网公钥对不可见信息 进行同态加密后,将可见信息和不可见信息打包 为数据包后通过私钥进行签名,签名后的数据包 通过家庭智能网关发送至网络;对数据包做全网 验证;记账节点对一段时间内所有验证后的数据 写入一个新的区块, 连接在主区块链的尾部。权利要求书2页 说明书7页 附图1页CN 110677234 A 2020.01.10 C N 110677234 A

数据安全加密保护方案

数据安全加密保护方案 数据泄露事件而引起的浪潮,已经在不停的冲刷企业内部筑起的数据安全堤坝。在国内甚至全球,数据安全已经成为了急需解决的重点问题,数据防泄密也不 止一次两次被个人及企业提及关注。很多人在说,却也不是很懂。数据防泄密 系统到底是什么?数据防泄密技术真能有效保护数据安全吗?数据防泄密能防 哪些泄密? 数据防泄密是通过一定的技术手段,例如加密技术,防止企业的重要数据或信 息资产被内部内鬼窃取或者外部网络攻击而流出。工作中,文档数据的流通包 含括创建、存储、使用和传输等几个主要过程。数据防泄密系统就是保护企业 的机密信息不被非法存储、使用和传输。做到文档数据的全生命周期管控,全 程管控信息流通的各个环节,企业数据安全就受到严密的保护。 从这个意义上说,数据防泄密系统是一个全方位的体系。在这个体系中,数据 全程处于保护状态,一切对数据的操作都会被加密控制。形象的说,数据被加 上一个透明的外壳。数据在"壳"里自由流动。未经许可,里面的数据出不来, 外面的人拿不到。 数据防泄密系统的功能很多,能防范的泄密也很多。用红线防泄密系统以下一 些案例来详细说明。 1 防止窃取和泄密红线防泄密系统以数据加密为基础。日常所有类型的文件,都能被加密。加密过的文档,未经许可及对应权限即无法打开,即使被拷贝走 打开也是密文显示,无法查看真实内容。无论内部人员或外部入侵都无法造成 数据泄密。 2 防止越权访问管理员通过权限控制,能精确控制人员对文件的访问、编辑(包括复制、截屏、打印)权限,同时划分文件密级,有效防止越权访问。常 见的通过U盘拷贝、邮件发送等方式的泄露手段都将无用武之地。 3 防止二次扩散企业内部文档数据在创建后即被强制自动加密,采用透明加密技术,可自由设置所支持的自动透明加解密应用,在文档数据需要外发时,需 申请管理员审批解密。防止二次扩散。

如何学习全同态加密

如何学习全同态加密 学习全同态加密需要三部分知识:数学基础,格密码基础,全同态加密。 许多研究生在学习全同态加密时,以为只是学习全同态加密,所以看第一篇文章时,从入门直接到放弃。 这是因为任何知识都需要其它的知识作为基础,而全同态加密属于公钥密码学,所以首先它是一个加密算法,然后具有同态属性。 因此,必须熟悉格加密算法,以及相关的数学知识。下面我们分别说说这三部分。数学基础 因为目前全同态加密都是构建在格密码算法之上的,所以格密码需要哪些数学知识,以及全同态加密本身需要哪些数学知识就构成了整个学习所需的数学基础。格密码需要哪些数学基础呢? 主要需要线性代数和抽象代数的基础。线性代数一般理工科都学过,例如矩阵,行列式等计算,向量空间的基等。格加密算法里的计算都是矩阵行列式计算。抽象代数估计不是数学专业的,有可能没学过。抽象代数里的群、环、域等知识非常重要,尤其是环,是格加密的数学基础。抽象代数中一般还会涉及到数论一些知识,也在全同态加密中会使用,例如模计算等。 初学者可以看:An Introduction to Mathematical Cryptography 补充相关数学知识。

当然公认的最好的密码学教材当属Jonathan Katz的INTRODUCTION TO MODERN CRYPTOGRAPHY。如果你想全面而深入的学习密码学可以看这本书。里面都有相关的数学知识。 格密码 学习全同态加密必须熟悉格密码,这是绕不开的。因为本身全同态加密就是格密码算法上进行构造的。 那么如何学习格密码呢? 应该从LWE加密算法开始学习,然后过渡到环LWE加密算法上。一定要把LWE 加密算法的过程搞清楚,这样学习全同态加密会轻松许多。 如何学习LWE加密算法呢? 建议看Oded Regev的一篇综述文章:The Learning with Errors Problem 。这篇文章相对写的轻松一些。不过不要忘了,如果想一下看懂是不可能的。需要反复看。注意LWE加密中的各个参数的意义。 Oded Regev本身就是提出LWE归约问题的作者,也写过一个格密码讲义,但是非常理论,不适合初学者看。 全同态加密的学习

【解决方案】--关于政府加密解决方案

前言 2010年4月29日修订的《中华人民共和国保守国家保密法》, 要求保密与信息公开并重,政府部门急需加强数据防泄密保护措施,保护国家秘密的安全。 目前政府的网络分为接入Internet网络和政务专网两个部分,它们之间物理隔离。其中接入Internet网络部署多种应用系统,泄密途径无处不在;政务专网由于属于可信任网,一直以来对安全防护的重视程度较低。政府部门普遍在信息安全这块薄弱,泄密隐患严重。 政府电脑上存储着大量的政府重要机密信息,但是所有文件均是明文分散存储在办公人员电脑上,任何人可以随意拷贝和外发,安全性得不到保障;一些机密级别较高的公文,内部人员都有权限查看,越权访问时有发生;另外,政府单位与外界其他单位进行信息交互时,通常以U 盘作为媒介传递数据,移动存储介质的使用缺乏规范化管理,如果仅仅依靠单位的制度,而缺乏有效的技术手段,往往造成泄密事件频发。 需求分析 政府机构作为国家的职能机关从事的行业性质都是跟国家紧密联系的,所涉及信息都是机密性,现存在如下方面对政府机构信息安全造成威胁: ·内部文件明文存储,办公人员可以随意将文件拷贝泄密; ·公文无法限定访问人员、访问权限(如:打印)和期限; ·电脑存放公文成为保密管理死角,可以任意打印和拷贝; ·个别办公人员安全保密意识不强,造成无意识文件泄密; ·泄密事件的发生依靠单位的制度,缺乏有效的技术手段。 解决方案 依据2010年4月29日修订的《中华人民共和国保守国家秘密法》,通过驱动级加密技术,对数据源头进行控制,为政府机构信息安全提出针对性的安全解决方案,做到:

1.单位内文件透明加密 采用Windows内核的文件过滤驱动实现透明加密与解密,对用户完全透明,用户打开文件、编辑文件和平常一样,不影响用户操作习惯。同时由于在文件读写的时候动态加密与解密,不产生临时文件,因此基本不影响速度。 如果加密文件通过QQ、电子邮件、移动存储设备等手段流转到单位授权范围以外(政府外部),那么打开时会显示乱码,无法正常阅读或使用,通过加密软件保障数据安全。 2.控制内部公文二次扩散 为了防止内部公文的二次扩散,支持对内部公文的制作和使用做到指定人员、指定电脑、指定权限、指定期限。 ·公文制作:公文制作人设定水印警示、公文密级、具体访问人员、访问权限、访问期限; ·公文访问:被授权人员经身份认证后,在授予的权限(比如:禁止打印、禁止截屏、禁止复印、禁止编辑、阅读次数、过期自动销毁)和期限时间内访问; ·公文回收:经单位授权的人员才有权将内部公文回收为原公文。

相关文档