文档库 最新最全的文档下载
当前位置:文档库 › 全同态加密,函数加密综述

全同态加密,函数加密综述

全同态加密,函数加密综述
全同态加密,函数加密综述

杨晨,游林

(杭州电子科技大学密码与信息安全研究所,浙江杭州 310018)

摘 要:可计算密文加密体制是指对密文可以进行的一系列指定函数运算的加密体制,与传统加密体制最大的不同是加密后的密文不再是“混乱”的,而是具有某些隐含关系,其可成为某些特定函数的

有效输入并且经过函数计算后可成为用户的有效信息。由于可直接对密文进行操作,可计算密文加密体

制在保证信息机密性的前提下大大提高了信息的可用性效率,已经成为现代公钥密码学研究的热点方向。

文章对谓词加密、全同态加密、函数加密3类可计算密文加密技术做了具体概述,介绍了各类可计算密

文加密体制的关系,分析了可计算密文加密体制的计算隐私与应用要求,为以后研究可计算密文加密技

术提供了指导。

关键词:可计算密文加密;函数加密;全同态加密;谓词加密

中图分类号:TP309 文献标识码: A 文章编号:1671-1122(2014)05-0078-04

Research on the Cipher Computable Encryption System

YANG Chen, YOU Lin

(Institute of Cryptography and Information Security, Hangzhou Dianzi University, Hangzhou Zhejiang

310018,China)

Abstract: Cipher computable encryption system refers to a series of designated functional operation which can be performed on encrypted data. The biggest difference with the traditional encryption system is the ciphertext is no

longer "chaos", but has some hidden relations. The ciphertext can be the input of speci? c function and after function

calculates the encrypted input, the output can become the effective information of users. Due to the direct computation

on encrypted data, cipher computable encryption system greatly improves the efficiency of the availability of

information under the encrypted condition, it has become the hot direction of modern public key cryptography

research. This paper gives the detailed overview on three cipher computable encryption schemes of the predicate

encryption, fully homomorphic encryption and functional encryption, introducing relations among different cipher

computable encryption systems, analyzing the function privacy and application requirements about practical cipher

computable encryption system and providing guidance for future research.

Key words: cipher computable encryption; functional encryption; fully homomorphic encryption;

predicate encryption

可计算密文加密体制研究

0引言

越来越多的个人用户把自己的数据存放在第三方服务器上,如个人邮件、网络硬盘等,但第三方服务器并不总是可信的,为了保护隐私,用户不得不把自己的数据进行加密。用传统的加密体制加密后的数据在第三方服务器上无法进行数据查询等操作。谓词加密实现了在密文环境下的各种检索与查询功能,提供了一种新的访问控制方法[1]。谓词加密方案使密钥与特定的谓词对应,密文与特定的属性对应,这样属性满足特定谓词的用户才能解密相关密文。谓词加密将访问控制功能从服务器和用户之间转移到服务器内部,从而达到更高的安全性。

随着用户数据的越来越多,可能需要第三方服务器代替用户处理某些不泄露用户数据的操作,如信息级别的分类、垃圾邮件的过滤等,这就需要给第三方服务器一定的密文处理权限。函数加密可对密文信息的处理权限进行灵活分配并且实现了对密文细粒度的访问控制,使得不同密钥持有者具有不同的信息处理权限。

现代密码学一直致力于研究对信息提供安全保障和能快速实现信息保密的密码学算法,却忽视了对加密信息的直接

作者简介: 杨晨(1990-),男,陕西,硕士研究生,主要研究方向:密码学与信息安全;游林(1966-),男,江西,教授,博士,主要研究方向:密码学与信息安全。

doi:10.3969/j.issn.1671-1122.2014.05.016

79

可操作性,即在传统的加密条件下,利用信息时必须首先对全部已加密信息进行解密。随着近年来云计算与分布式计算的发展,被称为“密码学的圣杯”的全同态加密允许在不解密的情况下对密文进行任意函数计算,使得全同态加密在云计算和其他外包计算领域体现出了特有的优势。

1各类可计算密文加密体制介绍

利用传统密码体制加密后的密文信息不支持任何函数计算,经过加密后的信息要被处理只能通过解密后才能进行,且解密过程中要么全部解密,要么解密失败什么也得不到。以下介绍的3类经典加密体制在不同的应用环境下可实现对密文的直接函数运算。

1.1 谓词加密

谓词加密的概念概括了公钥密码学自基于身份加密方案提出以来的基于身份加密、基于属性加密、可搜索公钥加密等一系列研究。2007年Boneh 和Waters 提出了隐藏向量加密(HVE )的谓词加密方案,该方案支持合取、子集和区间查询。2008年Katz、Sahai 和Waters 构造了支持限界析取、多项目等式和内积查询的谓词加密方案,内积查询被认为是目前查询中能够支持最多表达式的查询方式。2010年Okamoto 和Tal 提出自适应安全的谓词加密方案,同样支持内积查询,解决了Shitl 提出的一个开放性问题:构造支持复杂表达式的自适应安全谓词加密方案[1]。近年来Boneh 和Waters 提出了在密文上进行任意连接查询,相较于查询、子集查询的公钥加密系统,该系统可实现在密文环境下的对比查询、子集(元素)查询。以下给出了用于访问控制的谓词加密的具体形式化定义,其他谓词加密形式与之类似。

一个谓词加密由以下4个算法(初始化算法Setup 、密钥生成算法Keygen 、加密算法PE.Enc 、解密算法PE.Dec )构成。

Setup :

,即输入安全参数1λ和谓词

集合F ,输出公钥pk 和主私钥msk 。

Keygen :

,即输入主密钥msk 和谓词f

(f ∈F ),输出用于实现该谓词查询的密钥sk f 。

PE.Enc :

,即输入公钥pk ,明文m ,输出

密文CT 。

PE.Dec :

,即输入密钥sk f 和密文

CT ,输出明文m 或 (空字符)。具体的说,当f (I)=1时,(sk f ,CT )=m ;当f (I)=0时,

(sk f ,CT )=。其他用于查询的包括基于身份加密或基于属性加密的谓词加密的形式化定义与上述类似。从上述定义可以看出,密钥是和谓词紧密相关的,并且获得的属性集满足一定关系时就可以对相关信息进行查询或访问。

1.2 全同态加密

第一个具体的全同态加密方案由Gentry 在2009年提出[2]。直观的讲,全同态加密允许任意用户在密文上计算任意函数,即将给定信息x 的加密值作为函数输入,任何用户都可以计算出函数f(x)的加密值,并且在没有解密密钥的情况下,用户不会得到关于x 与f(x)的任何信息。在全同态加密体制下,任意函数可直接对密文进行计算,并且计算出的结果经过私钥解密后与函数对明文进行计算的结果是相同的。全同态加密有两个主要特点,保护用户信息的隐私和保持计算密文数据与计算明文数据的同态。以下我们给出全同态加密的相关概念。

一个同态加密(homomorphic encryption,HE )体制由以下4个多项式时间算法(密钥生成算法FHE.keygen 、加密算法FHE.Enc 、解密算法FHE.Dec 、同态计算算法 FHE.Eval )构成。

FHE.keygen(1k )是一个概率性算法,输入安全参数1k ,输出公钥pk 和私钥sk 。

是一个概率性算法,输入公钥

pk 和一个比特明文x ,输出密文ψ。

FHE.Dec(sk,ψ)是一个确定性算法,输入私钥sk 和密文ψ,输出x *∈{0,1}。

FHE.Eval(pk,C,ψ1,ψ2,…,ψn )是一个确定性算法,输入公钥pk ,任意计算电路C (输入为n 比特,输出为1比特)和n 个密文ψ1,ψ2,…,ψn ,输出1比特密文ψC 。

如果一个同态加密对GF(2)上的任意函数电路都能保持同态,那么这个同态加密就是全同态加密。

可以看出全同态加密的定义是同态加密定义的任意扩展。现有很多全同态加密方案也是按照先构造一个同态加密,再把该同态加密扩展为全同态加密这一思路来构造。

1.3 函数加密

与全同态加密不同的是,函数加密为特定的用户提供

密文上的函数计算,在具有相关函数密钥的情况下可直接

得到函数值(明文)。

定义(K,X)上的函数集F:,集合K,X分别

称为密钥空间和明文空间,密钥空间K中包含一个称为空

密钥的ε。函数加密允许k的密钥sk k的持有者在密文上计

算F(K,X),计算F(K,X)时所使用的密钥sk k称为解密密钥。

下面是函数加密的形式化定义[3,4]。

一个函数加密由以下4个概率多项式时间(PPT)算法

(初始化设置算法FE.Setup、密钥生成算法FE.Keygen、

函数加密算法FE.Enc、函数解密算法FE.Dec)构成。其中,

,是具有n比特输入的布尔电路函数集。

FE.Setup(1k):输入安全参数1k,输出主公钥fmpk和

主私钥fmpk。

FE.Keygen(fmpk,f):输入主私钥fmpk和函数f,输出

对应的密钥fsk f。

FE.Enc(fmpk,x):输入主公钥fmpk和消息序列,

输出密文c。

FE.Dec(fsk

f

,c):输入密钥fsk f和密文c,输出返回值y。

2各类可计算密文加密算法之间的关系

全同态加密和函数加密不仅都支持密文运算,二者在

方案设计上还有支持关系。

2.1 用全同态加密和基于属性加密构造函数加密方案

以下介绍Goldwasser等人构造的函数加密方案[3],我

们可以看出函数加密在功能上实现了谓词加密的扩展,利

用谓词加密和全同态加密也可以实现具体的函数加密方案。

FE.Setup :运行基于属性加密方案的ABE.Setup 算法λ 次。

其中,i∈[λ]。

产生的主公钥和主私钥分别为:

其中, i∈[λ]。

FE.Keygen:n为计算电路f的输入比特数,hpk是全

同态加密算法FHE的公钥,

文,指f在密文上同态计算后结果的

第i位。密钥生成过程由以下两步完成:

1)对运行基于属性加密方案的

密钥生成算法。即依次用每个主私钥对对应的每个比特的

值产生密钥:

其中,i∈[λ]。

2) 输出作为函数f的私钥。

FE.Enc:n为消息x的比特长度,即。加密

过程由以下4步完成。

1)用全同态的密钥生成算法重新产生一对密钥

,对x的每个比特进行全同态加密:

,作为对x的加密输出。

2)对全同态解密算法FHE.Dec(hsk,·)运行Yao的加密

电路生成算法Gb.Garble,生成加密电路T,共进行λ次,

每次产生标签L i0或L i1,即:

3)用基于属性加密方案的ABC.Enc算法生成密文

序列:

其中,i∈[λ]。

4)输出全部密文c=(c1,…,cλ,T)。

FE.Dec:解密过程由以下两步完成。

1)对密文c1,…,cλ使用基于属性加密方案的ABC.Dec

解密算法进行解密,得到对应计算电路的标签,即:

其中,, i∈[λ]。

2)用加密电路中Gb.Eval进行计算:

可以看出Goldwasser等人提出的函数加密是以基于属

性加密、全同态加密和Yao的加密电路为基础模块而构造

的,其主要思想是先利用基于属性加密[5]可以对函数计算

权限进行分配达到密钥权限分配的目的,再利用全同态加

密对密文进行计算,最后利用加密电路可以对密文计算值

进行解密从而完成整个方案的构造。

2.2 用函数加密算法构造全同态加密方案

在文献[6]中Alwen等人用随机化的并且支持重

加密的函数加密来构造全同态加密,其方案构造过

81

程中随机化的函数F 有两个特殊密钥kdec 和knenc。kdec 密钥用于恢复明文,即

knenc 的作用相当于对NAND 函数结果做重加密,即

。方案中的NAND

函数可替换为其他二元函数,并且指出由随机化函数加密构造出的全同态加密是Ind-CPA 安全。

3可计算密文加密体制的应用要求

可计算密文加密技术的特点决定了其可用于第三方非可信环境下的数据处理,特别是随着当前云计算的发展,各种实用化的可计算密文加密技术即将展开。但是,由非可信第三方代理计算时,在保证加密体制达到传统安全标准外,还必须达到:1)保证代理计算的正确性,即可以通过有效的方式来验证可信第三方计算的正确性。2)用户的各种隐私保护要求,即第三方计算服务提供商只提供计算服务,不能获得关于用户的任何信息。3)加密与在密文上进行计算的效率要求。

3.1 保证代理计算的正确性

随着全同态加密等可应用在外包计算中的加密技术的兴起,验证外包计算正确性已经成为用户和计算提供商必须思考的问题。由于在大数据环境下计算的复杂性,验证非可信代理计算服务商提供的计算结果相对比较困难[7]。文献[8]提出了利用基于属性加密的方法验证计算正确性,文献[9]提出了一种非交互的可验证计算。这些都是在理论上给出了可验证正确性方案,但是在现实中验证正确性必须在可接受的计算时间内进行。未来可验证计算正确性应着重在简化验证计算并且能方便验证多个计算函数方面进行研究。

3.2 对用户的数据以外的隐私保护

除了不能从密文中得到任何用户数据外,对用户的数据以外的隐私也应该进行保护,具体是指非可信第三方处理用户加密数据的同时,不能泄露用户的身份,搜索关键词、用户属性以及不能获知用户要求对密文进行计算的函数[10]。如何实现对用户的数据以外的隐私保护也成为可计算密文加密需要考虑的问题。例如,在Goldwasser 等人构造的函数加密方案中利用加密电路来实现密文上计算函数的隐私保护。

3.3 对加密与在密文上进行函数计算的效率要求

现实中应用的可计算密文的加密体制必须具有简洁性,

即密文的增长只与计算函数和电路深度有关,和电路的大小无关。这就要求实现外包同态计算前的加密算法的复杂度要在一定限度范围内[11]。简单的说,如果用户加密信息的计算量大于请求外包计算服务商对信息的计算量的话,显然这种加密方案是不划算的,这种全同态加密方案将不会在实际中被应用,所以实用性的全同态加密方案必须保证简洁性[3]。相对而言,在密文上计算的函数也应该在某个多项式时间内完成,从而保证用户支付外包计算的费用在较经济的范围内。

4 结束语

本文介绍了可计算密文加密技术的发展情况,介绍了3类可计算密文加密技术的特点与应用场景,对各类可计算密文加密体制之间的关系进行了分析。随着采用计算电路模拟对密文的计算,如何在图灵机上模拟对密文的计算成为可计算密文加密技术目前以至将来重点研究的问题[12]。 (责编 马珂)

参考文献

[1]廖定锋.谓词加密理论与应用研究[D]. 广州:中山大学,2009.[2] Craig Gentry. A fully homomorphic encryption scheme[D]. Stanford University,2009.

[3] Shafi Goldwasser, Yael Kalai, Raluca Ada Popa, etal. Reusable garbled circuits and succinct functional encryption[C]. In STOC,2013.

[4] Dan Boneh, Amit Sahai, Brent Waters. Functional encryption: definitions and challenges[C]. In Proceedings of the 8th conference on Theory of cryptography, TCC'11, Berlin, Heidelberg, Springer-Verlag.2011,pp.253-273.

[5] Sergey Gorbunov, Vinod Vaikuntanathan, Hoeteck Wee. Attribute-based encryption for circuits[C]. In STOC, 2013.

[6] Joel Alwen,Manuel Barbosa, Pooya Farshim, et al.On the Relationship Between Functional Encryption,Obfuscation, and Fully Homomorphic Encryption[C].IMA Conference on Cryptography and Coding,2013.

[7]S. Benabbas, R. Gennaro, Y. Vahlis. Verifiable delegation of computation over large datasets[C]. In Proceedings of CRYPTO, 2011.[8] Bryan Parno, Mariana Raykova, Vinod Vaikuntanathan. How to delegate and verify in public: Verifiable computation from attribute-based encryption[C]. In TCC 2012: 9th Theory of Cryptography Conference, volume 7194 of Lecture Notes in Computer Science, pages 422-439. Springer, 2012.

[9] R. Gennaro, C. Gentry, B. Parno. Non-interactive verifiable computation: Outsourcing computa-tion to untrusted workers[C]. In Proceedings of CRYPTO, Aug. 2010.

[10] Dan Boneh,Ananth Raghunathan,Gil Segev. Function-Private Identity-Based Encryption:Hiding the Function in Functional Encryption[C]. Cryptology ePrint Archive, Report 2013/283, 2013.

[11] Craig https://www.wendangku.net/doc/3315446030.html,puting Arbitrary Functions of Encrypted Data[J]. Communications of The Acm,2010,53(03):97-105.

[12] Shafi Goldwasser, Yael Kalai, Raluca Ada Popa, etal. How to run Turing machines on encrypted data[C]. Cryptology ePrint Archive, Report 2013/229, 2013.

网络安全常见的四种加密解密算法

package mima; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Scanner; public class Mainer { StringBuffer MStr = new StringBuffer(""); // 加密字符串 StringBuffer CStr = new StringBuffer(""); // 解密字符串 public static void main(String[] args) { System.out.print("请输入密钥:"); Scanner s = new Scanner(System.in); int key = s.nextInt() % 26; // %26的意义是获取密钥的偏移值 Mainer ks = new Mainer(); ks.E(key); // 加密 ks.D(key); // 解密 } /** * 加密公式 */ void E(int k) { try { System.out.println("请输入一段明文:"); char b[]; BufferedReader br2 = new BufferedReader(new InputStreamReader(System.in)); String str2 = br2.readLine(); b = str2.toCharArray(); char ch = ' '; for (int i = 0; i < str2.length(); i++) { if (b[i] >= 'a' && b[i] <= 'z') { ch = (char) ((b[i] - 'a' + k) % 26 + 'a'); } if(b[i] >= 'A' && b[i] <= 'Z'){ ch = (char) ((b[i] - 'A' + k) % 26 + 'A'); } if(b[i]>='0'&&b[i]<='9')

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

全同态加密算法研究与实现素质拓展报告 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

matlab数字图像加密

MATLAB数字图像加密

一、实验名称 MATLAB数字图像加密 二、实验目的 熟悉MATLAB编译环境; 掌握基本的矩阵操作; 了解初级的加密算法。 三、实验环境 WindowsXP操作系统,MATLABR2010a编译环境 四、实验原理 将数字图像划分成块,对RGB矩阵进行转置、水平翻转、垂直翻转等变换,形成新的矩阵,实现对图像的加密。 五、实验过程 1.获取数字图像存入矩阵; 2.获取矩阵大小存入变量; 3.将矩阵划分成等大的4*4子矩阵; 4.分别对存储图像RGB信息的矩阵进行转置、水平翻转、垂直翻转等变换; 5.再次细化矩阵,将矩阵划分成等大的16*16子矩阵; 6.分别对存储图像RGB信息的矩阵进行转置、水平翻转、垂直翻转等变换; 7.加密完成,存储加密后的图像; 8.逆推过程,完成解密,存储解密后的图像。 六、源程序 a=imread('C:\Documents and Settings\Owner\×à??\jm\jmtp.jpg'); subplot(2,2,1); imshow(a); [l,m,n]=size(a); x=l/4; y=m/4; for i=0:3 for j=0:3 a((j*x+1):((j+1)*x),(i*y+1):((i+1)*y),1)=a((j*x+1):((j+1)*x),(i*y+1):

((i+1)*y),1)'; a((j*x+1):((j+1)*x),(i*y+1):((i+1)*y),2)=flipud(a((j*x+1):((j+1)*x),( i*y+1):((i+1)*y),2)); a((j*x+1):((j+1)*x),(i*y+1):((i+1)*y),3)=fliplr(a((j*x+1):((j+1)*x),( i*y+1):((i+1)*y),3)); end end subplot(2,2,3); imshow(a); x=l/16; y=m/16; a(:,:,1)=flipud(a(:,:,1)); a(:,:,2)=fliplr(a(:,:,2)); a(:,:,3)=a(:,:,3)'; for i=0:15 for j=0:15 a((j*x+1):((j+1)*x),(i*y+1):((i+1)*y),1)=a((j*x+1):((j+1)*x),(i*y+1): ((i+1)*y),1)'; a((j*x+1):((j+1)*x),(i*y+1):((i+1)*y),2)=flipud(a((j*x+1):((j+1)*x),( i*y+1):((i+1)*y),2)); a((j*x+1):((j+1)*x),(i*y+1):((i+1)*y),3)=fliplr(a((j*x+1):((j+1)*x),( i*y+1):((i+1)*y),3)); end end subplot(2,2,2); imshow(a); imwrite(a,'jiamihou.jpg'); for i=0:15 for j=0:15 a((j*x+1):((j+1)*x),(i*y+1):((i+1)*y),1)=a((j*x+1):((j+1)*x),(i*y+1): ((i+1)*y),1)'; a((j*x+1):((j+1)*x),(i*y+1):((i+1)*y),2)=flipud(a((j*x+1):((j+1)*x),( i*y+1):((i+1)*y),2)); a((j*x+1):((j+1)*x),(i*y+1):((i+1)*y),3)=fliplr(a((j*x+1):((j+1)*x),( i*y+1):((i+1)*y),3)); end end a(:,:,1)=flipud(a(:,:,1)); a(:,:,2)=fliplr(a(:,:,2)); a(:,:,3)=a(:,:,3)'; x=l/4; y=m/4; for i=0:3 for j=0:3

同态加密方案

若一个加密方案对密文进行任意深度的操作后解密,结果与对明文做相应操作的结果相同,则该方案为完全同态加密方案。 通常一个公钥加密方案有三个算法: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算法就是大楼。这个比喻在后面会体会到它

加密实施方案

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

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

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

文件加密解决方案底层库详细说明 目录 一、概要设计 (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;

全同态加密

全同态加密 丁津泰 一、引言 人们普遍认为全同态密码是密码学中的圣杯。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 三人提出了全同态加密体系——所谓的“隐私同态”。在他们的论文中这样写到,

加密解密程序实验报告

程序设计实践 加密解密程序实验报告 课题概述 1.1课题目标和主要内容: 利用MFC类或者win32编写windows程序,实现加密解密的功能。 1.2系统的主要功能: 1.实现用户界面友好的操作。 2.具有对称编码体制,可以实现: i.凯撒密码:能够自定义密钥,自由输入明文,进行加密、解密,在对话框中返回加密和 解密后的内容。

ii.置换密码:能够自定义密钥,自由输入明文,经矩阵变换进行加密、解密,在对话框中返回加密和解密后的内容 iii.对称加密DES:用MFC调用WIN32编写的程序,在用户友好界面操作的同时显示程序加密,解密结果。 3.具有非对称编码体制: i. RSA加密解密:随机产生p,q,经检验是否互质,若不互质接着产生两个随机数,直 到二者互质为止。自动生成p,q,N及加密解密的密钥,可以自由输入明文,返回加密、 解密的内容。 ii. MD5消息摘要计算:用MFC调用WIN32编写的程序,在用户友好界面操作的同时显示程序的加密结果。 4.信息隐藏技术: 用LSB在图片(bmp格式,任意位置的图片)中写入信息,读取信息并显示出来,可 以擦除信息。可以自定义密钥。 5. AES加密解密:用MFC调用WIN32编写的程序,在用户友好界面操作的同时显示程序 加密,解密结果。 6. 以上的所有对文字加密解密的方法(除LSB以外其余所有方法),都可以用于文件加 密,解密,并能够及时保存加密,解密的信息到一个TXT文档,可以存在用户想存放 的地方。 7.更多: 链接了一个可加密解密,功能更为齐全的网站,若是上述方法不能满足用户需求, 可以在程序运行的窗口中点击相应按钮,在联网的条件下进行在线加密解密。 一、系统设计 2.1系统总体框架: 2.2主要的层次逻辑为:

全同态加密技术

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

两个实用同态加密方案

两个“实用的”全同态加密方案 一、方案说明 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

python中加密解密函数文档

Python的base64模块中的加解密函数 以及加密算法 一.Base64模块简介 Base64是一种基于64个可打印字符来表示二进制数据的表示方法。Base64常用于在通常处理文本数据的场合,表示、传输、存储一些二进制数据(或不可打印的字符串)。包括MIME的email,email via MIME, 在XML中存储复杂数据。 在邮件中的用途: 在MIME格式的电子邮件中,base64可以用来将binary的字节序列数据编码成ASCII 字符序列构成的文本。使用时,在传输编码方式中指定base64。使用的字符包括大小写字母各26个,加上10个数字,和加号“+”,斜杠“/”,一共64个字符,等号“=”用来作为后缀用途。 在URL中的用途: 标准的Base64并不适合直接放在URL里传输,因为URL编码器会把标准Base64中的“/”和“+”字符变为形如“%XX”的形式,而这些“%”号在存入数据库时还需要再进行转换,因为ANSI SQL中已将“%”号用作通配符。 为解决此问题,可采用一种用于URL的改进Base64编码,它不在末尾填充'='号,并将标准Base64中的“+”和“/”分别改成了“*”和“-”,这样就免去了在URL编解码和数据库存储时所要作的转换,避免了编码信息长度在此过程中的增加,并统一了数据库、表单等处对象标识符的格式。简单的说:就是让字符串了可以安全的通过URL传输,那句就是把原先base64编码后的字符串中的+换成-,/换成_,=则保留。 另有一种用于正则表达式的改进Base64变种,它将“+”和“/”改成了“!”和“-”,因为“+”,“*”在正则表达式中都可能具有特殊含义。 加解密函数中替换符号字符的功能: 因为base64编码后的字符除了英文字母和数字外还有三个字符‘+’, ‘/’, ’ =’, 其中’=’只是为了补全编码后的字符数为4的整数,而’+’和’/’在一些情况下需要被替换的,b64encode和b64decode正是提供了这样的功能。至于什么情况下’+’和’/’需要被替换,最常见的就是对url进行base64编码的时候。urlsafe_b64encode和urlsafe_b64decode 一组,这个就是用来专门对url进行base64编解码的,实际上也是调用的前一组函数。 二.加解密函数

数字图像加密技术

数字图像加密技术 1、引言 随着计算机网络的开放、共享性以及互联程度的日益扩大,Internet 得到了飞速的发展和应用,网络的重要性及其对社会的影响也越来越大。与此同时,网络的安全保密问题也已成为日益严重的现实问题。近年来,无论官方还是民间机构,都对信息的安全存储、保密传输、真伪验证等问题高度重视。 2、数字图像加密技术的背景知识 一幅二维平面图像可用一个二元函数I= f (x, y) 来表示,(x, y) 表示二维空间坐标系中一个坐标点的位置, 则f (x, y) 代表图像在这一点的灰度值, 与图像在这一点的亮度相对应。并且图像的亮度值是有限的, 因而函数I= f (x, y) 也是有界的。在图像数字化之后, I= f (x, y) 则相应于一个矩阵, 矩阵元素所在的行与列就是图像显示在计算机屏幕上诸像素点的坐标, 元素的数值就是该像素的灰度(通常有256 等级, 用整数0 至255 表示)。 常见的加密算法,如DES 、AES 、RSA 等都是针对文本、数据加密而提出的。对于在数字图像方面的加密来说,常见的也是采用这些文本加密技术的思想。但是,文本和图像也存在很多区别,主要是: (1)图像信息量非常大. (2) 相邻像素具有相关性. 由于图像的可视性,一定区域内色彩是相似的,因此相邻像素间有很强的相关性. 文本加密技术并没有考虑这种相关性,而是依次加密每个像素. (3) 加密图像在解密时常允许一定失真. 这种图像失真只要控制在人的视觉内是完全可以接受的.显然在加密和解密时,需要考虑图像的这种特点. 文本加密技术没有考虑失真度的问题. (4) 需要预处理. 数字图像一般以二维数组的数据格式存储,而文本加密技术都要求先将待加密的数据转换为二进制的数据流,如果图像很大的话,需要一定的图像预处理时间,降低了加密效率. 3、数字图像加密方法 1)基于Arnold 变换的图像加密算法 (1)基于二维Arnold 变换的图像加密算法 Arnold 变换是Arnold 在研究环面上的自同态时提出的一种变换,俗称猫脸变换。利用Arnold 变换的周期性,即当迭代到某一步时将重新得到原始图像,这使得很容易进行图像的加密与解密。基于Arnold 变换,可以通过置乱图像的位置空间或相空间两种方式对图像进行加密。 设有单位正方形上的点(x ,y ),将点(x ,y )变到另一点(x ’,y ’)的变换为???? ??''y x =()l y x mod 2111???? ?????? ? ?,此变换称为二维Arnold 变换。 将二维Arnold 变换应用在图像f (x ,y )上,可以通过像素坐标的改变而改变原始图像灰度值的布局。原始图像可以看作一个矩阵,经过Arnold 变换后的图像会变的“混乱不堪”,由于Arnold 变换的周期性,继续使用Arnold 变换,可以重现图像。利用Arnold 变换的这种特性,可实现图像的加密与解密。 (2)基于n 维Arnold 变换的图像相空间置乱 对于给定的正整数N ,下列变换称为n 维Arnold 变换:

加密解密常用函数

本帖最后由小平于2013-6-22 10:05 编辑 #region DES加密解密 ///

/// DES加密 /// /// 待加密字串 /// 32位Key值 /// 加密后的字符串 public string DESEncrypt(string strSource) { return DESEncrypt(strSource, DESKey); } public string DESEncrypt(string strSource, byte[] key) { SymmetricAlgorithm sa = Rijndael.Create(); sa.Key = key; sa.Mode = CipherMode.ECB; sa.Padding = PaddingMode.Zeros; MemoryStream ms = new MemoryStream(); CryptoStream cs = new CryptoStream(ms, sa.CreateEncryptor(), CryptoStreamMode.Write); byte[] byt = Encoding.Unicode.GetBytes(strSource);

cs.Write(byt, 0, byt.Length); cs.FlushFinalBlock(); cs.Close(); return Convert.ToBase64String(ms.ToArray()); } ///

/// DES解密 /// /// 待解密的字串 /// 32位Key值 /// 解密后的字符串 public string DESDecrypt(string strSource) { return DESDecrypt(strSource, DESKey); } public string DESDecrypt(string strSource, byte[] key) { SymmetricAlgorithm sa = Rijndael.Create(); sa.Key = key; sa.Mode = CipherMode.ECB; sa.Padding = PaddingMode.Zeros; ICryptoTransform ct = sa.CreateDecryptor();

同态加密综述

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

相关文档