当前位置:文档之家› 关于加密和安全及常用加密算法

关于加密和安全及常用加密算法

关于加密和安全及常用加密算法
关于加密和安全及常用加密算法

关于加密和安全及常用加密算法

安全在计算机行业中可能会是个永久的话题。2004年到2005年间,山东大学王小云

教授攻破MD5,降低了SHA-1的安全强度,这更是引起了大家的关注。并且,随着网络技术的发展和普及,大家的网络安全意识也越来越强。因此,在这里对加密和安全的基础知识做一点入门性质的介绍,以便大家能对这方面有更准确的了解和把握,能更好地保护自己重要数据的安全。

本文侧重密码方面的基础知识的介绍。本文一直在逐步修改和完善。如果哪位朋友在安全方面存在疑惑和问题,欢迎提出来,我们将尽力帮忙寻求解答,并丰富本文的内容,以便

能帮助更多的人。如果本文存在问题和错误,也欢迎诸位给予批评指正。

1.请大家准备好,开工了

密码学的方法离我们并不遥远。它应用很广泛,在我们日常使用计算机的时候就会经常用到,只不过我们没有多加留意而已。比如我们启动Windows的时候,我们要输入口令,这个口令在系统中就是加密后保存的。在我们上网时,有些网站需要我们建立安全连接,这时也是在密码算法支持下进行的。在你的IE浏览器中,看一下工具->Internet选项->内容->证书,会发现密码技术其实早已在后台默默地为我们工作了。

密码算法有很多种。包括对称算法、非对称算法、消息摘要算法等。对称加密算法包括DES和AES等;非对称加密算法包括RSA、DSA、椭圆曲线算法等。

接下来将以逐条解释基本概念的形式对主要的密码安全技术做一个简单的介绍。

2.朴素的密码

“天王盖地虎,宝塔镇河妖……”大家一定在电影里看过土匪对暗号的场面。其实,土匪口中的“黑话”就是一种最朴素的密码。只不过这种密码过于简单,经不起密码学家的分析,

非常容易破译。

3.凯撒密码

这是一个古老的加密方法,当年凯撒大帝行军打仗时用这种方法进行通信,因此得名。它的原理很简单,其实就是单字母的替换。让我们看一个简单的例子:“ThisisCaesarCode”。用凯撒密码加密后字符串变为“vjkukuEcguctEqfg”。看起来似乎加密得很“安全”。可是你可以尝试一下,把这段很难懂的东西每一个字母换为字母表中前移2位的字母……哦,结果出来了。

凯撒密码的字母对应关系:

Abcdefghi…xyz

CdefghIjk…zab

4.ROT13

ROT13是网络上常见的一种简单的“加密”方式。它是用字母表里a-m的字符来代替n -z,用n-z的字符来代替a-m字符。它的原理和凯撒密码非常类似。凯撒密码移了2

位,而ROT13移了13位。ROT13通常作为简单的手段使得我们的电子信件不能被直接识

别和阅读,也不会被那些匹配程序用通常的方法直接找到。

如"VYbirlbh!"这个句子实际上是"ILoveyou!"。

ROT13字母对应关系:

AbcdefghI…xyz

Nopqrstuv…klm

明白了吗?“解密”一下下面的内容:

jrypbxrgbjjj.syntjner.arg

5.受限密码

上面讨论的“加密”是非常简单的,简单到不用计算机的帮助就能手工破译,简单到只能防止3岁的小妹妹偷看你的文件:-)。

我们可以把这些算法变得更复杂,引入更多的变换、更多的交叉和扩散……这样也许会更难破译些。但是,在这个基础上变得再复杂,也还跳不出“受限密码”的范畴。所谓“受限密码”,是指算法的安全性是建立在算法保密的基础上的。一旦算法泄漏,所加密的内容也就完全没有安全性可言了。我们前面讨论的算法就是有这个特点的。

算法泄漏的问题使得这类算法的应用范围受到很大的限制。基本上,现在已经没人用了。

6.现代密码技术的开始:密钥与算法分离

受限密码一旦泄漏了算法,那么所有加密的内容都会曝露在光天化日之下。使用这样的方法来保护重要信息是很危险的。因此,密码学家提出了算法和密钥分离的思想。这是密码学的一个里程碑。

它的思想是,密码的安全性取决于一个密钥,而不是取决于一个算法。每条消息用一个Key加密,只要Key不泄露,消息就是安全的。即使算法公开了,也威胁不到消息的安全性。现代的密码算法,如3DES,AES等,都是属于这一类。后面我们将会对这些算法做简

要的介绍。

7.澄清一个观念:通常没有绝对的信息安全

在介绍现代的密码和信息安全技术之前,有必要澄清一个观念:密码技术里所提到的信息安全性通常不是绝对的,它是一个相对的范畴。

一位密码学家曾经这样评论:如果你想让你的信息绝对安全的话,你得把你要保密的信息写下来装在保险柜里,把保险柜焊死,到太平洋海底某个不为人知的角落挖坑深埋,这样也许会接近绝对的安全。可是这样的安全是没有用的,因为这并不能让需要信息的人得到它。所以,这种“安全”是没有用的。实际上,这不能叫做“信息安全”,把它叫做“信息隐藏”也许更为合适。

我们所讨论的信息安全,是有使用价值的信息安全。这种安全是相对的安全。

不过“相对安全”并不意味着不安全。我们日常生活中用的锁其实也是相对的安全。事实上,密码算法的安全强度要比平常的锁的安全强度高出很多倍。

8.相对的安全

在数学家香农(ClaudeE.Shanon)创立的信息论中,用严格的数学方法证明了这么一

个结论:一切密码算法,除了一次一密以外,在理论上都是可以破解的。这些密码算法,包括现在的和过去的,已知的和未知的,不管它多么复杂、多么先进,只要有足够强大的计算机,有足够多的密文,一定可以破译。

那么就产生了这样一个问题:既然这样,那密码还有什么用呢?

这就是为什么我们要讨论相对安全的原因。

前面提到了,一切密码,理论上都是可以破译的。但是,只有在拥有足够强大的计算机的情况下才有可能破译。在实际上,也许并不存在这么强的计算机。如果破译一个算法需要现在最强的计算机运算几百年,那么这样的算法即使理论上可以破译,在实践中也还是有实用价值的。

因此,我们可以这样理解相对安全的观念:假如一条信息需要保密10年,如果要花20年的时间才能破解它,那么信息就是安全的。否则就不安全。

在现实中,能获得的计算能力在一定程度上与付出的经济代价成比例。因此,也可以从经济的角度来衡量安全程度。假如一条信息价值一百万元,如果需要要花1000万元的代价才能制造出足够强的计算机来破解它,那它就是安全的。但是,如果信息价值1000万,用

100万元就能获得足够的计算能力来破解它,那么它就是不安全的。

9.一次一密

前面提到除了一次一密以外,其它的密码理论上都是可以破解的。那么什么是一次一密呢?一次一密就是每一次加密都使用一个不同的密钥(废话,和没说一样 )。严格的说,满足以下条件的密码才是真正的一次一密:

a、密钥是随机产生的,并且必须是真随机数,而不是伪随机数;

b、密钥不能重复使用;

c、密钥的有效长度不小于密文的长度。

一次一密是最安全的加密算法,双方一旦安全交换了密钥,之后交换信息的过程就是安全的。这种算法一直在一些要求高度机密的场合使用,据说美国和前苏联之间的热线电话、前苏联的间谍都是使用一次一密的方式加密的。不管有多强的超级计算机,不管超级计算机工作多久,也不管多少人,用什么方法和技术,具有多大的计算能力,都不可能破解用一次一密方法加密的信息,除非回到那个时代拿到他用过的密码本(也就是密钥)。前苏联间谍

用一次一密方法加密过的信息将成为永久的谜。

10.对称算法的概念

所谓对称算法就是指加密和解密过程均采用同一把密钥。如DES,3DES,AES等算法都属于对称算法。下面会对这几种有代表性的算法一一做介绍。

11.DES算法

DES(DataEncryptionStandard)是一种经典的对称算法。其数据分组长度为64位,使用的密钥为64位,有效密钥长度为56位(有8位用于奇偶校验)。它由IBM公司在70年代开发,经过政府的加密标准筛选后,于1976年11月被美国政府采用,随后被美国国家标准局和美国国家标准协会(AmericanNationalStandardInstitute,ANSI)承认。

该技术算法公开,在各行业有着广泛的应用。DES算法从公布到现在已有20多年的历史,随着计算机能力的飞速发展,DES的56位密钥长度显得有些短了。现在,已经有可能通过穷举的方法来对其进行攻击。但是除此以外,还没有发现穷举以外的能有效破译DES 的方法。

DES算法的数据流程图如下图所示:

12.三重DES

DES算法现在已经不能提供足够的安全性,因为其有效密钥只有56位。因此,后来又提出了三重DES(或称3DES),该方法的强度大约和112比特的密钥强度相当。

这种方法用两个密钥对明文进行三次运算。设两个密钥是K1和K2,其算法的步骤如图所示:

1.用密钥K1进行DES加密。

2.用K2对步骤1的结果进行DES解密。

3.用步骤2的结果使用密钥K1进行DES加密。

13.AES算法

1997年1月美国国家标准和技术研究所(NIST)宣布征集新的加密算法。2000年10月2日,由比利时设计者JoanDaemen和VincentRijmen设计的Rijndael算法以其优秀的性能和抗攻击能力,最终赢得了胜利,成为新一代的加密标准

AES(AdvancedEncryptionStandard)。

Rijndael加密:

Rijndael是一个密钥迭代分组密码,包含了轮变换对状态的重复作用。轮数Nr的值取决于分组和密钥的长度。对于AES,当密钥长度为128比特时,Nr=10;当密钥长度为192比特时,Nr=12;当密钥长度为256比特时,Nr=14。

Rijndael算法的加密过程如图1所示。它包括一个初始密钥加法,记作AddRoundKey,接着进行Nr-1次轮变换(Round),最后再使用一个轮变换(FinalRound)。

轮变换由4个步骤组成:SubBytes,ShiftRows,MixColumns和AddRoundKey。最后一轮与前Nr-1次轮变换稍有不同,省掉了其中的MixColumns步骤。

步骤SubBytes是Rijndael算法中唯一的非线性变换。

步骤ShiftRows是一个字节换位,它将状态中的行按照不同的偏移量进行循环移位。使第i行第j位的字节移动到位置(j-Ci)modNb,移动偏移量Ci的值依赖于Nb的取值。其中Nb=分组长度/32,对于AES,Nb取固定长度4。

步骤MixColumns是作用在状态各列的置换算法。

密钥加法AddRoundKey将状态与一个轮密钥进行异或。轮密钥是由密码密钥通过密钥编排方案[1]导出。轮密钥的长度等于分组的长度。

Rijndael解密:

Rijndael解密算法有2种形式。一种是直接解密算法,即直接利用步骤InsubBytes,InvShiftRows,InvMixColumns和AddRoundKey的逆并倒置其次序对数据进行解密。

另一种是等价解密算法,其实现原理如图2所示。等价解密算法有利于有效实现良好的运算次序。

14.非对称算法的概念

所谓非对称算法就是指加密和解密用的不是同一个密钥。

非对称算法的密钥分为二部分,通常称为“公钥”和“私钥”(或者称为“公开密钥”和“秘密密钥”)。公钥和私钥存在数学上的关系,使得用公钥加密的数据只能用对应的私钥解密,用私钥加密的数据只能用对应的公钥解密。但是从公钥中推导出私钥是很难的(理论上是可以推导出来的,但是实际上找不到这么强的计算能力)。

RSA,DSA等算法属于非对称算法。

15.RSA算法

RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。RSA是被研究得最广泛的公钥算法,从1978年提出到现在已近三十年,经历了各种攻击的考验,逐

渐为人们接受,普遍认为是目前最优秀的公钥方案之一。通常认为破译RSA的难度与大数分解难度等价。算法以三个发明者的名字命名:RonRivest,AdiShamir和LeonardAdleman。

RSA算法的原理:

1、密钥对的产生:

选择两个大素数,p和q。计算:

n=p*q

然后随机选择加密密钥e,要求e和(p-1)*(q-1)互质。最后,利用

Euclid算法计算解密密钥d,使其满足

e*d=1(mod(p-1)*(q-1))

其中n和d要互质。数e和n是公钥,d是私钥。两个素数p和q不再需要,应该丢弃,不要让任何人知道。

2、加密

加密信息m(二进制表示)时,首先把m分成等长数据块m1,m2,...,mi,块长s,其中2^s<=n,s尽可能的大。加密的公式是:

ci=mi^e(modn)

3、解密

解密时作如下计算:

mi=ci^d(modn)

16.散列算法

散列算法,也称为单向散列函数、杂凑函数、哈希算法、HASH算法或消息摘要算法。它通过把一个单向数学函数应用于数据,将任意长度的一块数据转换为一个定长的、不可逆转的数据。这段数据通常叫做消息摘要(比如,对一个几兆字节的文件应用散列算法,得到一个128位的消息摘要)。消息摘要代表了原始数据的特征,当原始数据发生改变时,重新生成的消息摘要也会随之变化,即使原始数据的变化非常小,也可以引起消息摘要的很大变化。因此,消息摘要算法可以敏感地检测到数据是否被篡改。消息摘要算法再结合其它的算法就可以用来保护数据的完整性。

好的单向散列函数必须具有以下特性:

1)计算的单向性:给定M和H,求h=H(M)容易,但反过来给定h和H,求M=H-1(h)在计算上是不可行的。

2)弱碰撞自由:给定M,要寻找另一信息M′,满足H(M′)=H(M)在计算上不可行。

3)强碰撞自由:,要寻找不同的信息M和M′,满足H(M′)=H(M)在计算上不可行。

单向散列函数的使用方法为:用散列函数对数据生成散列值并保存,以后每次使用时都对数据使用相同的散列函数进行散列,如果得到的值与保存的散列值相等,则认为数据未被修改(数据完整性验证)或两次所散列的原始数据相同(口令验证)。

典型的散列函数有:MD5,SHA-1,HMAC,GOST等。单向散列函数主要用在一些

只需加密不需解密的场合:如验证数据的完整性、口令表的加密、数字签名、身份认证等。

17.关于MD5和SHA-1等

2004年,山东大学王小云教授攻破了MD5算法,引起密码学界的轩然大波。

MD5的全称是Message-DigestAlgorithm5(信息-摘要算法),在90年代初由MITLaboratoryforComputerScience和RSADataSecurityInc的RonaldL.Rivest开发出来,经MD2、MD3和MD4发展而来。

2004年8月17日的美国加州圣巴巴拉召开的国际密码学会议(Crypto’2004)安排了三场关于杂凑函数的特别报告。在国际著名密码学家EliBiham和AntoineJoux相继做了对SHA-1的分析与给出SHA-0的一个碰撞之后,来自山东大学的王小云教授做了破译MD5、HAVAL-128、MD4和RIPEMD算法的报告。王小云教授的报告轰动了全场,得到了与会专家的赞叹。

不久,密码学家Lenstra利用王小云提供的MD5碰撞,伪造了符合X.509标准的数字证书,这就说明了MD5的破译已经不仅仅是理论破译结果,而是可以导致实际的攻击,MD5的撤出迫在眉睫。

安全散列算法1(SHA-1)是由NSA设计的,并由NIST将其收录到FIPS中,作为散列数据的标准。它可产生一个160位的散列值。SHA-1是流行的用于创建数字签名的单向散列算法。

在MD5被王小云为代表的中国专家破译之后,世界密码学界仍然认为SHA-1是安全的。2005年2月7日,美国国家标准技术研究院发表申明,SHA-1没有被攻破,并且没有足够的理由怀疑它会很快被攻破。而仅仅在一周之后,王小云就发布了消息,说明了SHA-1算法寻找一对碰撞的复杂度是2^69,而不是密码学家以前认为的2^80。

如何理解这个结果呢?在很多报道中,包括山东大学的网站上,都说SHA1被攻破了,被破解了,云云。作者对这类说法持保留态度。引用王小云教授论文中的说法:“对于SHA0,这种攻击很有效,我们能够在不超过2^39次Hash操作中找到实际的碰撞。我们也对弱化到58步的SHA1进行了攻击,并在不超过2^33次Hash操作中找到了实际的碰撞。”

“SHA0和58步的SHA1是作为80步完整SHA1的简化版,用来验证我们的新方法的效率的。此外,我们的分析表明,减弱到70步的SHA1的碰撞复杂度是2^50次Hash操作。基于这个估计,我们期望在现在的超级计算机上能找到70步SHA1的真实碰撞。”

所以,严格说来应该这样理解:这个结果把攻破SHA1的计算量降低了2000倍。在某些情况下,SHA1似乎走到了不安全的边缘。

MD5被攻破了,SHA1也不那么安全了,怎么办呢?现在看来,还有SHA-256和

SHA-512等算法可用。密码学家也在研究新的散列算法。

18.数字鉴名

密码技术除了提供信息的加密解密外,还提供对信息来源的鉴别、保证信息的完整和不可否认等功能,而这三种功能都是结合数字签名技术来实现的。

简单地说,数字签名的原理可以这样理解:用非对称算法的私钥加密的内容只能用对应的公钥来解密。而私钥是不公开的。因此,如果一段信息能用某个人的公钥解密,那么它一定是用此人的私钥加密的。它和物理的签名一样,是很难伪造的。

在实际应用中,数字签名的过程通常是这样实现:

将要传送的明文通过一种函数运算(Hash)转换成报文摘要(不同的明文对应不同的报文摘要),报文摘要用私钥加密后与明文一起传送给接受方,接受方用发送方的公钥来解密报文摘要,再将接受的明文产生新的报文摘要与发送方的报文摘要比较,比较结果一致表示明文确实来自期望的发送方,并且未被改动。如果不一致表示明文已被篡改或不是来自期望的发送方。

19.数字证书

为了保证互联网上电子交易及支付的安全性,防范交易及支付过程中的欺诈行为,必须在网上建立一种信任机制。这就要求参加电子商务的买方和卖方都必须拥有合法的身份,并且在网上能够有效无误的被进行验证。数字证书是一种权威性的电子文档。它提供了一种在Internet上验证您身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证。它是由一个由权威机构----CA证书授权(CertificateAuthority)中心发行的,人们可以在互联网交往中用它来识别对方的身份。当然在数字证书认证的过程中,证书认证中心(CA)作为权威的、公正的、可信赖的第三方,其作用是至关重要的。

数字证书颁发过程一般为:用户首先产生自己的密钥对,并将公共密钥及部分个人身份信息传送给认证中心。认证中心在核实身份后,将执行一些必要的步骤,以确信请求确实由用户发送而来,然后,认证中心将发给用户一个数字证书,该证书内包含用户的个人信息和他的公钥信息,同时还附有认证中心的签名信息。用户就可以使用自己的数字证书进行相关的各种活动。数字证书由独立的证书发行机构发布。数字证书各不相同,每种证书可提供不同级别的可信度。可以从证书发行机构获得您自己的数字证书。

随着Internet的普及、各种电子商务活动和电子政务活动的飞速发展,数字证书开始广泛地应用到各个领域之中,目前主要包括:发送安全电子邮件、访问安全站点、网上招标投

标、网上签约、网上订购、安全网上公文传送、网上缴费、网上缴税、网上炒股、网上购物

和网上报关等。

20.CA

CA是CertificationAuthority的缩写。CA中心,又称为数字证书认证中心。CA中心作为电子交易中受信任的第三方,负责为电子商务环境中各个实体颁发数字证书,以证明各实体身份的真实性,并负责在交易中检验和管理证书;数字证书的用户拥有自己的公钥/私钥对。证书中包含有证书主体的身份信息、其公钥数据、发证机构名称等,发证机构验证证书主体为合法注册实体后,就对上述信息进行数字签名,形成证书。在公钥证书体系中,如果某公钥用户需要任何其它已向CA注册的用户的公钥,可直接向该用户索取证书,而后用CA的公钥解密解密即可得到认证的公钥;由于证书中已有CA的签名来实现认证,攻击者不具有CA的签名密钥,很难伪造出合法的证书,从而实现了公钥的认证性。数字证书认证中心是整个网上电子交易安全的关键环节,是电子交易中信赖的基础。他必须是所有合法注册用户所信赖的具有权威性、信赖性及公正性的第三方机构。

CA的核心功能就是发放和管理数字证书。概括地说,CA认证中心的功能主要有:证书发放、证书更新、证书撤销和证书验证。具体描述如下:

(1)接收验证用户数字证书的申请。

(2)确定是否接受用户数字证书的申请,即证书的审批。

(3)向申请者颁发(或拒绝颁发)数字证书。

(4)接收、处理用户的数字证书更新请求。

(5)接收用户数字证书的查询、撤销。

(6)产生和发布证书的有效期。

(7)数字证书的归档。

(8)密钥归档。

(9)历史数据归档。

21.PGP

PGP是PrettyGoodPrivacy的缩写。PGP最初是PhilZimmermann在1991年写的一套程序的名字。这套程序后来由MIT,ViaCrypt,PGPInc.维护和发布。现在的PGP由NetworkAssociatesInc.(NAI)作为商业软件进行销售。同时,PGP也是一个网络标准的名字(RFC2440:OpenPGPMessageFormat)。在这里,我们主要讨论作为RFC标准的PGP。

PGP是一种以RSA等密码算法为基础,用来保护电子邮件等信息的安全性的系统。可以用它对你的邮件保密以防止非授权者阅读,它还能对你的邮件加上数字签名从而使收信人可以确信邮件是你发来的。它让你可以安全地和你从未见过的人们通讯,事先并不需要任何保密的渠道用来传递密匙。

它的加密方法用的是我们前面讨论过的算法。它与其它系统不同的地方在于它的密钥管理。

一个成熟的加密体系必然要有一个成熟的密钥管理机制配套。公钥体制的提出就是为了解决传统加密体系的密钥分配过程保密的缺点。比如网络黑客们常用的手段之一就是"监听",如果密钥是通过网络传送就太危险了。对PGP来说公钥本来就要公开,就没有防监听的问题。但公钥的发布中仍然存在安全性问题,例如公钥被篡改(publickeytampering),这可能是公钥密码体系中最大漏洞。用户必须确信用户的公钥属于需要收信的那个人。

下面举个例子来说明这个问题:以用户A和用户B通信为例,现假设用户A想给用户B发信,首先用户A就必需获取用户B的公钥,用户A从BBS上下载或其它途径得到了B 的公钥,并用它加密了信件发给了B。不幸的是,用户A和B都不知道,另一个用户C潜入BBS或网络中,侦听或截取到用户B的公钥,然后在自己的PGP系统中用用户B的名字生成密钥对中的公钥替换了用户B的公钥,并放在BBS上或直接以用户B的身份把更换后的用户B的“公钥”发给用户A。那用户A用来发信的公钥是已经是更改过的,实际上是用户C伪装用户B生成的另一个公钥。这样谁都不会起疑心,但这样一来用户B收到用户A 的来信后就不能用自己的私钥解密了,更可恶的是,用户C还可伪造用户B的签名给用户A或其他人发信,因为用户A手中的公钥是伪造,用户A会以为真是用户B的来信。

防止这种情况出现的最好办法是避免让任何其他人有机会篡改公钥,但能做到这一点的是非常困难的,一种方法是直接从用户B手中得到他的公钥,然而当他在远在他乡或在时间上根本不可达到时,这是不可办到的。

但PGP提出了一种公钥介绍机制来解决这个问题,其思路是这样的:如果用户A和用户B有一个共同的朋友D,而D知道他手中的B的公钥是正确的。这样D就成为用户A和B之间的公证人,用户B为了防止别人篡改自己的公钥,就把经过D签名的自己的公钥上载到BBS上让用户去拿,用户A想要取得用户B的公钥就必需先获取D的公钥来解密BBS 或网上经过D签名的B的公钥,这样就等于加了双重保险,一般没有可能去篡改它而不被用户发现,即使是BBS的管理员。这就是从公共渠道传递公钥的安全手段。

说到这里也许有人会想到,只通过一个签名公证力度是不是小了点。PGP当然考虑到了这一点,它的办法就是把由不同的人签名的自己的公钥收集在一起,发送到公共场合,这样可以希望大部分人至少认识其中一个,从而间接认证了用户的公钥。同样用户签了朋友的公钥后应该寄回给他,这样就可以让他通过该用户被该用户的其他朋友所认证。有点意思吧,和现实社会中人们的交往一样。PGP会自动根据用户拿到的公钥中有哪些是朋友介绍来的,把它们分为不同的信任级别,供用户参考决定对它们的信任程度。也可指定某人有几层转介公钥的能力,这种能力是随着认证的传递而递减的。

如何安全地得到D或其他签名朋友的公钥呢?确实有可能用户A拿到的D或其他签名的朋友的公钥也假的,但这就求这个用户C必须对你们三人甚至很多人都很熟悉,这样的可能性不大,而且必需经过长时间的策划。当然,如果一定要追究这一点的话,那就是由一个大家普遍信任的机构担当这个角色,他被称为认证权威机构,每个由他签过字的公钥都被

认为真的,这样大家只要有他的公钥就行了,认证这个人的公钥是方便的,因他广泛提供这

个服务,假冒他的公钥是极困难的,因为他的公钥流传广泛。这样的"权威机构"适合由非个

人控制组织或政府机构充当----这就是我们前面讨论过的CA。

22.数字信封

数字信封是一种综合运用对称算法、非对称算法、消息摘要算法和数字签名的消息加密机制。为什么要引入这种机制呢?这是因为:

1、对称算法速度比较快,与同等安全强度的非对称算法相比,一般要快三个数量级左右。但是对称算法需要通过一个安全的通道交换密钥(或协商密钥,或事先约定密钥)之后才能进行通信。

2、非对称算法较慢,但是它的优点是通信双方不必事先约定密钥就可以进行安全通信。

3、单纯的加密算法只能保证消息的机密性,但无法保证消息不被篡改。结合消息摘要和数字签名算法就可以保证数据的完整性,并能确认对方的身份。

具体操作如图所示。利用对称加密算法(比如3DES)对比较长的消息进行加密,再利用接收者的证书对密钥进行加密,加密消息和加密密钥一起发送给消息接收者。后者利用自己的私钥对加密密钥解密得到密钥,接着用密钥对加密消息进行解密得到消息原文。与数字签名一样,消息的发送者不会涉及任何保密内容,只要知道接收者证书的人都可以向他发送数据信封封装消息。

23.椭圆曲线算法

当今使用的非对称算法根据其基于的数学难题可大致分为三类:

1)整数分解(IF)体制,其安全性基于整数分解问题的难解性,典型例子是RSA体制

和Rabin体制。

2)离散对数(DL)体制,其安全性基于(一般)离散对数问题的难解性,典型例子是DSA体制、ElGamal体制和Schnorr体制。

3)椭圆曲线(EC)体制,其安全性基于椭圆曲线离散对数问题的难解性,典型例子是ECDSA体制。

椭圆曲线密码是在1985年由NealKoblitz和VictorMiller独立提出来的。近年来,椭圆曲线体制由于其具有的很多技术优势,而受到越来越多密码学者的关注,逐渐形成了一个研究热点。它已被诸如ANSI(AmericanNationalStandardsInstitute)、IEEE (InstituteofElectricalandElectronicsEngineers)、ISO (InternationalStandardsOrganization)和NIST (NationalInstituteofStandardsandTechnology)等标准化组织纳入为标准。它的技术优点包括:

1)安全性能更高:椭圆曲线离散对数问题的计算复杂度目前是完全指数级的,而RSA 是亚指数级的。

2)计算量小和处理速度快:在相同的计算资源条件下,椭圆曲线体制比RSA和DSA 有更快的处理速度。

3)存储空间占用小:椭圆曲线体制的密钥尺寸和系统参数与RSA及DSA相比要小得多。160比特EC与1024比特RSA、DSA具有相同的安全强度,210比特EC则与2048比特RSA、DSA具有相同的安全强度,这意味着它所占的存储空间要小得多。

4)带宽要求低。

椭圆曲线体制中最著名的是ECDSA,它是数字签名算法(DSA)移植到椭圆曲线上得到的。在所基于的群是一般群和所用的Hash函数是抗冲突的假设下,它已被证明是安全的。

它的系统参数中选择的椭圆曲线的阶是近乎素数的,且它的签名长度至少为320比特。

24.未来发展方向:量子力学与信息安全

物理学从经典物理学发展到相对论,又发展到量子物理学,每一步都使我们对世界有更深刻的理解,并带来新的技术进步。在信息安全方面,量子物理学以意想不到的方式带来了全新的思路和技术。

量子物理技术在密码学上的应用分为两类:一是利用量子计算机对传统密码体制的分析;二是利用单光子的测不准原理实现通讯过程中的信息保密,即量子密码学。

下面对这种新的方向作一个简要的介绍。

25.量子计算机

1996年,美国《科学》周刊科技新闻中报道,量子计算机引起了计算机理论领域的革命。同年,量子计算机的先驱之一,Bennett在英国《自然》杂志新闻与评论栏声称,量子计算机将进入工程时代。目前,有关量子计算机的理论和实验正迅猛发展。

与经典计算机相比,量子计算机最重要的优越性体现在量子并行计算上。因为量子并行

处理,一些利用经典计算机只存在指数时间算法的问题,利用量子计算机却存在多项式时间算法。这方面最著名的一个例子当推Shor在1994年给出的关于大数因子分解的量子多项式算法。

大数的因子分解是数学中的一个传统难题,现在人们普遍相信,对于经典计算机,大数因子分解不存在有效的多项式时间算法。这一结果在密码学中有重要应用,著名的RSA算法的安全性就基于大数因子分解。但Shor却证明,利用量子计算机,可以在多项式时间内将大数分解,这一结果向RSA公钥系统的安全性提出了严重挑战。

不过,量子计算机的实验方案还很初步。现在的实验只制备出单个的量子逻辑门,远未达到实现计算所需要的逻辑门网络。但是,总体来讲,实现量子计算,已经不存在原则性的困难。按照现在的发展速度,可以比较肯定地预计,在不远的将来,量子计算机一定会成为

现实,虽然这中间还会有一段艰难而曲折的道路。

26.量子密码

量子计算机对传统密码技术带来严重挑战的同时,也带来了全新的量子密码技术。

上世纪下半叶以来,科学家在“海森堡测不准原理”和“单量子不可复制定理”上,逐渐建立了量子密码术的概念。“海森堡测不准原理”是量子力学的基本原理,指在同一时刻以相同精度测定量子的位置与动量是不可能的,只能精确测定两者之一。“单量子不可复制定理”是“海森堡测不准原理”的推论,指在不知道量子状态的情况下复制单个量子是不可能的,因为要复制单个量子就只能先作测量,而测量必然改变量子的状态。

量子密码术突破了传统加密方法的束缚,以量子状态作为密钥,它具有不可复制性。任何截获或测试量子密钥的操作,都会改变量子状态。这样截获者得到的只是无意义的信息,而信息的合法接收者也可以从量子态的改变,知道密钥曾被截取过。与公开密钥算法不同,当量子计算机出现,量子密码术仍是安全的。这与以数学为基础的传统密码学不同,传统密码学的安全是一种相对的安全。而量子密码术是建立在物理定律基础上的,以人类现在所掌握的知识看来,似乎可以说是“绝对安全”了。

具体通信过程如下:

在发送者和接收者之间传送量子密钥的一种方式是,激光发射以两种模式中的一种极化的单光子。在第一种模式中,光子垂直或水平摆放(直线模式);在第二种模式中,光子与垂直线呈45度角摆放(斜线模式)。

发送者(密码学家通常称之为艾丽斯)发送一串比特序列(量子振动的方向,即它们的偏振态,代表0或1,形成一连串的量子位,或称量子比特)。随机选择光子直线或斜线的传送模式。接收者(在密码学语言中称为鲍勃)同样随机决定对接收比特的测量模式。海森伯的测不准原理表明,鲍勃只能用一种模式测量光子,而不能同时使用两种模式。只有鲍勃测量的模式和艾丽斯发送的模式相同,才能保证光子方向准确,从而保留准确数值。

传送完成后,鲍勃告诉艾丽斯,他使用哪种模式接收每一个光子,这一过程无须保密。

然而,他不会透露每个光子代表的0或1的数值。然后,艾丽斯告诉鲍勃哪些模式是正确的。双方都将接收模式不正确的光子视为无效。正确的测量模式组成一个密钥,作为用来加密或解密一条信息的算法的输入值。

如果有人试图拦截光子流(称她为伊芙),海森伯的原理使她无法用两种模式同时测量。如果她用错误的模式对某一光子进行测量,必然会发生误差。通过对所选光子的比较和对误

差的检查,艾丽斯和鲍勃就能够发现窃听者的存在。

27.作者原创软件“我的地盘”,请大家支持!

您有没有遇到过这样的情况:电脑中保存的客户资料、财务数据、私人日记、聊天记录、图片电影……等重要文件被人偷看,给您带来巨大的损失?

从今天开始您不用再担心,“我的地盘”为您排忧解难!

“我的地盘”是一款安全强度高并且又简单易用的磁盘加密软件。它会给你的电脑增加一个加密盘,存放在这个加密盘中的所有内容会自动加密。每次加密盘使用完毕以后,您可以让它从计算机中消失,只有拥有正确密码才能让它重新出现。

“我的地盘”不同于那些采用隐藏方法进行加密的软件。它由安全行业专业人士开发,采用AES、SHA256等高强度密码算法,达到了金融行业的安全强度。

有了“我的地盘”,您的电脑中就有了一个牢固的保险箱,就有了一片真正属于您自己的空间,任何人都无法再窥探您的隐私。

“我的地盘”让您高枕无忧!

ECC加密算法入门介绍

标题:ECC加密算法入门介绍 发信人:zmworm 时间:2003/05/04 08:32pm 详细信息: ECC加密算法入门介绍 作者:ZMWorm[CCG] E-Mail:zmworm@https://www.doczj.com/doc/6613728409.html, 主页:https://www.doczj.com/doc/6613728409.html,/ 前言 同RSA(Ron Rivest,Adi Shamir,Len Adleman三位天才的名字)一样,ECC(Elliptic Curves Cryptography,椭圆曲线密码编码学)也属于公开密钥算法。目前,国内详细介绍ECC的公开文献并不多(反正我没有找到)。有一些简介,也是泛泛而谈,看完后依然理解不了ECC的实质(可能我理解力太差)。前些天我从国外网站找到些材料,看完后对ECC似乎懵懂了。于是我想把我对ECC的认识整理一下,与大家分享。当然ECC博大精深,我的认识还很肤浅,文章中错误一定不少,欢迎各路高手批评指正,小弟我洗耳恭听,并及时改正。文章将采用连载的方式,我写好一点就贴出来一点。本文主要侧重理论,代码实现暂不涉及。这就要求你要有一点数学功底。最好你能理解RSA算法,对公开密钥算法有一个了解。《近世代数基础》《初等数论》之类的书,最好您先翻一下,这对您理解本文是有帮助的。别怕,我尽量会把语言通俗些,希望本文能成为学习ECC的敲门砖。 一、从平行线谈起。 平行线,永不相交。没有人怀疑把:)不过到了近代这个结论遭到了质疑。平行线会不会在很远很远的地方相交了?事实上没有人见到过。所以“平行线,永不相交”只是假设(大家想想初中学习的平行公理,是没有证明的)。既然可以假设平行线永不相交,也可以假设平行线在很远很远的地方相交了。即平行线相交于无穷远点P∞(请大家闭上眼睛,想象一下那个无穷远点P∞,P∞是不是很虚幻,其实与其说数学锻炼人的抽象能力,还不如说是锻炼人的想象力)。给个图帮助理解一下: 直线上出现P∞点,所带来的好处是所有的直线都相交了,且只有一个交点。这就把直线的平行与相交统一了。为与无穷远点相区别把原来平面上的点叫做平常点。 以下是无穷远点的几个性质。

常见公钥加密算法有哪些

常见公钥加密算法有哪些 什么是公钥加密公钥加密,也叫非对称(密钥)加密(public key encrypTIon),属于通信科技下的网络安全二级学科,指的是由对应的一对唯一性密钥(即公开密钥和私有密钥)组成的加密方法。它解决了密钥的发布和管理问题,是目前商业密码的核心。在公钥加密体制中,没有公开的是私钥,公开的是公钥。 常见算法RSA、ElGamal、背包算法、Rabin(Rabin的加密法可以说是RSA方法的特例)、Diffie-Hellman (D-H)密钥交换协议中的公钥加密算法、EllipTIc Curve Cryptography (ECC,椭圆曲线加密算法)。使用最广泛的是RSA算法(由发明者Rivest、Shmir和Adleman 姓氏首字母缩写而来)是著名的公开金钥加密算法,ElGamal是另一种常用的非对称加密算法。 非对称是指一对加密密钥与解密密钥,这两个密钥是数学相关,用某用户密钥加密后所得的信息,只能用该用户的解密密钥才能解密。如果知道了其中一个,并不能计算出另外一个。因此如果公开了一对密钥中的一个,并不会危害到另外一个的秘密性质。称公开的密钥为公钥;不公开的密钥为私钥。 如果加密密钥是公开的,这用于客户给私钥所有者上传加密的数据,这被称作为公开密钥加密(狭义)。例如,网络银行的客户发给银行网站的账户操作的加密数据。 如果解密密钥是公开的,用私钥加密的信息,可以用公钥对其解密,用于客户验证持有私钥一方发布的数据或文件是完整准确的,接收者由此可知这条信息确实来自于拥有私钥的某人,这被称作数字签名,公钥的形式就是数字证书。例如,从网上下载的安装程序,一般都带有程序制作者的数字签名,可以证明该程序的确是该作者(公司)发布的而不是第三方伪造的且未被篡改过(身份认证/验证)。 对称密钥密码体制 所谓对称密钥密码体制,即加密密钥与解密密钥是相同的密码体制。 数据加密标准DES属于对称密钥密码体制。它是由IBM公司研制出,于1977年被美国

关于密码学的发展和一些常见的加密算法

关于密码学的发展和一些常见的加密算法 1.悠久迷人的密码史话——密码学和密码 前言: 密码学(Cryptology,来源于希腊语kryptos和graphein,即隐藏和书写的意思)这门科学,或者说这门艺术,通常被分为两个部分,密码学(Cryptography)的任务是构建更为隐秘而且有效的密码,或者说加密方式;而与之相对应,密码分析学(Crypanalysis)则是研究已有的加密法的弱点,在没有密钥的情况下将密文还原成为明文。这两种科学相互依靠而不能分割,密码学家(Cryptologist)需要研习密码学来掌握加密方式,以便更好地解密;同样需要了解密码分析学,以判定自己密码的安全性高低。有一句话说的很好:“密码是两个天才的较量,败者将耗尽智慧而死。” 密码学产生的根本原因在于人们想要传递一些只有我们允许的接受者才能接受并理解的信息。被隐藏的真实信息称为明文(Plaintext),明文通过加密法(Cipher)变为密文(Ciphertext),这个过程被称为加密(Encryption),通过一个密钥(Key)控制。密文在阅读时需要解密(Decryption),同样需要密钥,这个过程由密码员(Cryptographer)完成。但是密码的传递并非绝对安全,可能有未得到允许的人员得到密文,并且凭借他们的耐心和智慧(我们通常假定他们有足够的时间和智慧),在没有密钥的情况下得到明文,这种方法称为破解(Break)。通常使用的加密方法有编码法(Code)和加密法(Cipher),编码法是指用字,短语和数字来替代明文,生成的密文称为码文(Codetext),编码法不需要密钥或是算法,但是需要一个编码簿(Codebook),编码簿内是所有明文与密文的对照表;而加密法则是使用算法和密钥。另外一种较常用的方法是夹带加密法(Steganography),顾名思义,它是将密文以隐藏的方式传递的,比如图画或是其它消息中,或是使用隐形墨水,在计算机能够进行图象和其它信息的处理之后,这种方法更是有了极大的发展空间。 密码的历史十分悠久。大约在4000年以前,在古埃及的尼罗河畔,一位擅长书写者在贵族的基碑上书写铭文时有意用加以变形的象形文字而不是普通的象形文字来写铭文,从而揭开了有文字记载的密码史。 公元前5世纪,古斯巴达人使用了一种叫做“天书”的器械,这是人类历史上最早使用的密码器械。“天书”是一根用草纸条、皮条或羊皮纸条紧紧缠绕的木棍。密信自上而下写在羊皮纸条上。然后把羊皮纸条解开送出。这些不连接的文字毫无意义,除非把羊皮纸条重新缠在一根直径和原木棍相同的木棍上,这样字就一圈圈跳出来,形成那封信。 公元前4世纪前后,希腊著名作家艾奈阿斯在其著作《城市防卫论》中就曾提到一种被称为“艾奈阿斯绳结”的密码。它的作法是从绳子的一端开始,每隔一段距离打一个绳结,而绳结之间距离不等,不同的距离表达不同的字母。按此规定把绳子上所有绳结的距离按顺序记录下来,并换成字母,就可理解它所传递的信息。 古罗马时代曾使用过一种“代替式密码”,把信中每个文字的字母都用字母顺序表中相隔两位后的一个字母取代,这种代替式密码直到第二次大战时还被日本海军使用。 此外,在古代还出现过一种被称为“叠痕法”的密码,使用时先把信纸折叠几下(上下及左右),然后铺平信纸,将传递的信息按顺序一个个分开,写在折

国密算法(国家商用密码算法简介)

国家商用密码算法简介 密码学是研究编制密码和破译密码的技术科学,起源于隐秘消息传输,在编码和破译中逐渐发展起来。密码学是一个综合性的技术科学,与语言学、数学、电子学、声学、信息论、计算机科学等有着广泛而密切的联系。密码学的基本思想是对敏感消息的保护,主要包括机密性,鉴别,消息完整性和不可否认性,从而涉及加密,杂凑函数,数字签名,消息认证码等。 一.密码学简介 密码学中应用最为广泛的的三类算法包括对称算法、非对称算法、杂凑算法。 1.1 对称密码 对称密码学主要是分组密码和流密码及其应用。分组密码中将明文消息进行分块加密输出密文区块,而流密码中使用密钥生成密钥流对明文消息进行加密。世界上应用较为广泛的包括DES、3DES、AES,此外还有Serpent,Twofish,MARS和RC6等算法。对称加密的工作模式包括电码本模式(ECB 模式),密码反馈模式(CFB 模式),密码分组链接模式(CBC 模式),输入反馈模式(OFB 模式)等。1.2 非对称密码 公钥密码体制由Diffie和Hellman所提出。1978年Rivest,Shamir和Adleman提出RAS密码体制,基于大素数分解问题。基于有限域上的离散对数问题产生了ElGamal密码体制,而基于椭圆曲线上的离散对数问题产生了椭圆曲线密码密码体制。此外出现了其他公钥密码体制,这些密码体制同样基于困难问题。目前应用较多的包括RSA、DSA、DH、ECC等。 1.3杂凑算法 杂凑算法又称hash函数,就是把任意长的输入消息串变化成固定长的输出串的一种函数。这个输出串称为该消息的杂凑值。一个安全的杂凑函数应该至少满足以下几个条件。 1)输入长度是任意的; 2)输出长度是固定的,根据目前的计算技术应至少取128bits长,以便抵抗生日攻击; 3)对每一个给定的输入,计算输出即杂凑值是很容易的; 4)给定杂凑函数的描述,找到两个不同的输入消息杂凑到同一个值是计算上不可行的,或给定 杂凑函数的描述和一个随机选择的消息,找到另一个与该消息不同的消息使得它们杂凑到同一个值是计算上不可行的。 杂凑函数主要用于完整性校验和提高数字签名的有效性,目前已有很多方案。这些算法都是伪随机函数,任何杂凑值都是等可能的。输出并不以可辨别的方式依赖于输入;在任何输入串中单个比特

摩斯密码以及十种常用加密方法

摩斯密码以及十种常用加密方法 ——阿尔萨斯大官人整理,来源互联网摩斯密码的历史我就不再讲了,各位可以自行百度,下面从最简单的开始:时间控制和表示方法 有两种“符号”用来表示字元:划(—)和点(·),或分别叫嗒(Dah)和滴(Dit)或长和短。 用摩斯密码表示字母,这个也算作是一层密码的: 用摩斯密码表示数字:

用摩斯密码表示标点符号: 目前最常用的就是这些摩斯密码表示,其余的可以暂时忽略 最容易讲的栅栏密码: 手机键盘加密方式,是每个数字键上有3-4个字母,用两位数字来表示字母,例如:ru用手机键盘表示就是:7382, 那么这里就可以知道了,手机键盘加密方式不可能用1开头,第二位数字不可能超过4,解密的时候参考此

关于手机键盘加密还有另一种方式,就是拼音的方式,具体参照手机键盘来打,例如:“数字”表示出来就是:748 94。在手机键盘上面按下这几个数,就会出现:“数字”的拼音 手机键盘加密补充说明:利用重复的数字代表字母也是可以的,例如a可以用21代表,也可以用2代表,如果是数字9键上面的第四个字母Z也可以用9999来代表,就是94,这里也说明,重复的数字最小为1位,最大为4位。 电脑键盘棋盘加密,利用了电脑的棋盘方阵,但是个人不喜这种加密方式,因需要一个一个对照加密

当铺密码比较简单,用来表示只是数字的密码,利用汉字来表示数字: 电脑键盘坐标加密,如图,只是利用键盘上面的字母行和数字行来加密,下面有注释: 例:bye用电脑键盘XY表示就是: 351613

电脑键盘中也可参照手机键盘的补充加密法:Q用1代替,X可以用222来代替,详情见6楼手机键盘补充加密法。 ADFGX加密法,这种加密法事实上也是坐标加密法,只是是用字母来表示的坐标: 例如:bye用此加密法表示就是:aa xx xf 值得注意的是:其中I与J是同一坐标都是gd,类似于下面一层楼的方法:

几种常用的数据加密技术

《Network Security Technology》Experiment Guide Encryption Algorithm Lecture Code: 011184 Experiment Title:加密算法 KeyWords:MD5, PGP, RSA Lecturer:Dong Wang Time:Week 04 Location:Training Building 401 Teaching Audience:09Net1&2 October 10, 2011

实验目的: 1,通过对MD5加密和破解工具的使用,掌握MD5算法的作用并了解其安全性; 2,通过对PGP加密系统的使用,掌握PGP加密算法的作用并了解其安全性; 3,对比MD5和PGP两种加密算法,了解它们的优缺点,并总结对比方法。 实验环境: 2k3一台,XP一台,确保相互ping通; 实验工具:MD5V erify, MD5Crack, RSA-Tools,PGP8.1 MD5加密算法介绍 当前广泛存在有两种加密方式,单向加密和双向加密。双向加密是加密算法中最常用的,它将明文数据加密为密文数据,可以使用一定的算法将密文解密为明文。双向加密适合于隐秘通讯,比如,我们在网上购物的时候,需要向网站提交信用卡密码,我们当然不希望我们的数据直接在网上明文传送,因为这样很可能被别的用户“偷听”,我们希望我们的信用卡密码是通过加密以后,再在网络传送,这样,网站接受到我们的数据以后,通过解密算法就可以得到准确的信用卡账号。 单向加密刚好相反,只能对数据进行加密,也就是说,没有办法对加密以后的数据进行解密。这有什么用处?在实际中的一个应用就是数据库中的用户信息加密,当用户创建一个新的账号或者密码,他的信息不是直接保存到数据库,而是经过一次加密以后再保存,这样,即使这些信息被泄露,也不能立即理解这些信息的真正含义。 MD5就是采用单向加密的加密算法,对于MD5而言,有两个特性是很重要的,第一是任意两段明文数据,加密以后的密文不能是相同的;第二是任意一段明文数据,经过加密以后,其结果必须永远是不变的。前者的意思是不可能有任意两段明文加密以后得到相同的密文,后者的意思是如果我们加密特定的数据,得到的密文一定是相同的。不可恢复性是MD5算法的最大特点。 实验步骤- MD5加密与破解: 1,运行MD5Verify.exe,输入加密内容‘姓名(英字)’,生成MD5密文;

转 常用加密算法介绍

转常用加密算法介绍 5.3.1古典密码算法 古典密码大都比较简单,这些加密方法是根据字母的统计特性和语言学知识加密的,在可用计算机进行密码分析的今天,很容易被破译。虽然现在很少采用,但研究这些密码算法的原理,对于理解、构造和分析现代密码是十分有益的。表5-1给出了英文字母在书报中出现的频率统计。 表5-1英文字母在书报中出现的频率 字母 A B C D E F G H I J K L M 频率 13.05 9.02 8.21 7.81 7.28 6.77 6.64 6.64 5.58 4.11 3.60 2.93 2.88 字母 N O P Q

R S T U V W X Y Z 频率 2.77 2.62 2.15 1.51 1.49 1.39 1.28 1.00 0.42 0.30 0.23 0.14 0.09 古典密码算法主要有代码加密、替换加密、变位加密、一次性密码簿加密 等几种算法。 1.代码加密 代码加密是一种比较简单的加密方法,它使用通信双方预先设定的一组有 确切含义的如日常词汇、专有名词、特殊用语等的代码来发送消息,一般只能 用于传送一组预先约定的消息。 密文:飞机已烧熟。 明文:房子已经过安全检查。 代码加密的优点是简单好用,但多次使用后容易丧失安全性。 2.替换加密 将明文字母表M中的每个字母替换成密文字母表C中的字母。这一类密码 包括移位密码、替换密码、仿射密码、乘数密码、多项式代替密码、密钥短语 密码等。这种方法可以用来传送任何信息,但安全性不及代码加密。因为每一 种语言都有其特定的统计规律,如英文字母中各字母出现的频度相对基本固定,根据这些规律可以很容易地对替换加密进行破解。以下是几种常用的替换加密 算法。

关于数据加密的重要性及各种方法的区别

关于数据加密的重要性及各种方法的区别 文件加密的重要性: 有些同学以为,自己既不是影视明星,又不是恐怖分子,不需要采用文件加密之类的工具,那就大错特错啦。俺大致介绍一下,文件加密的用武之地。 1、防范失窃 这年头,笔记本电脑、平板电脑越来越流行,而这类便捷的移动设备,也增加了丢失的概率。一旦你的移动设备丢失,存储在上面的个人敏感信息就有暴露的风险。比如用浏览器保存的登录口令、邮件客户端存储的私人邮件、等等。如果你的敏感信息是加密的,失窃后的风险就大大降低。 2、保存个人隐私 很多人的家用电脑,都是几个家庭成员共用的。你可能会有一些个人隐私的信息,不希望被其他家庭成员看到。比如你上网下载的毛片、艳照、等,多半不希望被你父母或子女看到。这时候,文件加密就可以防止你的隐私外泄。 3、加密备份数据 很多同学把电脑中的数据备份到移动硬盘上。有些同学觉得放家里的移动硬盘还不保险。正好近2年,"云"的概念炒得很热。所以,那些忧患意识很强的同学,就开始考虑用"云存储"(俗称网盘)来做异地备份。 一旦你把数据备份到"云端",就得考虑加密问题了。假如你用的是国内公司提供的网盘,那你一定得小心。如果你把数据备份到国外的网盘,也未必安全。这不,连大名鼎鼎的Dropbox,最近都曝出数据安全的丑闻。 加密的方法:、 使用压缩软件 发现很多人(尤其是菜鸟用户),首先想到的加密方式,就是把敏感文件用压缩工具(比如WinRAR,7zip、等)压缩一下,并设置一个口令。 优点: 1)、不需要额外安装软件 压缩软件几乎是装机必备的软件。因此,使用这种方法,多半不需要额外安装其它软件。 2)、便于备份 可以把压缩文件copy到任何地方,只要知道口令就能打开。 缺点: 1)、加密强度没保证 压缩软件的强项是压缩,而不是加密。有些压缩软件,本身的加密强度不够,还有些压

加密算法介绍及加密算法的选择

加密算法介绍及如何选择加密算法 加密算法介绍 一.密码学简介 据记载,公元前400年,古希腊人发明了置换密码。1881年世界上的第一个电话保密专利出现。在第二次世界大战期间,德国军方启用“恩尼格玛”密码机,密码学在战争中起着非常重要的作用。 随着信息化和数字化社会的发展,人们对信息安全和保密的重要性认识不断提高,于是在1997年,美国国家标准局公布实施了“美国数据加密标准(DES)”,民间力量开始全面介入密码学的研究和应用中,采用的加密算法有DES、RSA、SHA等。随着对加密强度需求的不断提高,近期又出现了AES、ECC等。 使用密码学可以达到以下目的: 保密性:防止用户的标识或数据被读取。 数据完整性:防止数据被更改。 身份验证:确保数据发自特定的一方。 二.加密算法介绍 根据密钥类型不同将现代密码技术分为两类:对称加密算法(秘密钥匙加密)和非对称加密算法(公开密钥加密)。 对称钥匙加密系统是加密和解密均采用同一把秘密钥匙,而且通信双方都必须获得这把钥匙,并保持钥匙的秘密。 非对称密钥加密系统采用的加密钥匙(公钥)和解密钥匙(私钥)是不同的。 对称加密算法 对称加密算法用来对敏感数据等信息进行加密,常用的算法包括: DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。

3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。 AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高; AES 2000年10月,NIST(美国国家标准和技术协会)宣布通过从15种侯选算法中选出的一项新的密匙加密标准。Rijndael被选中成为将来的AES。 Rijndael是在 1999 年下半年,由研究员 Joan Daemen 和 Vincent Rijmen 创建的。AES 正日益成为加密各种形式的电子数据的实际标准。 美国标准与技术研究院 (NIST) 于 2002 年 5 月 26 日制定了新的高级加密标准(AES) 规范。 算法原理 AES 算法基于排列和置换运算。排列是对数据重新进行安排,置换是将一个数据单元替换为另一个。AES 使用几种不同的方法来执行排列和置换运算。 AES 是一个迭代的、对称密钥分组的密码,它可以使用128、192 和 256 位密钥,并且用 128 位(16字节)分组加密和解密数据。与公共密钥密码使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据。通过分组密码返回的加密数据的位数与输入数据相同。迭代加密使用一个循环结构,在该循环中重复置换和替换输入数据。 AES与3DES的比较 非对称算法

常见的几种加密算法

1、常见的几种加密算法: DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合; 3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高; RC2和RC4:用变长密钥对大量数据进行加密,比DES 快;IDEA(International Data Encryption Algorithm)国际数据加密算法,使用128 位密钥提供非常强的安全性; RSA:由RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的; DSA(Digital Signature Algorithm):数字签名算法,是一种标准的DSS(数字签名标准); AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高,目前AES 标准的一个实现是Rijndael 算法; BLOWFISH,它使用变长的密钥,长度可达448位,运行速度很快; 其它算法,如ElGamal钥、Deffie-Hellman、新型椭圆曲线算法ECC等。 2、公钥和私钥: 私钥加密又称为对称加密,因为同一密钥既用于加密又用于解密。私钥加密算法非常快(与公钥算法相比),特别适用于对较大的数据流执行加密转换。 公钥加密使用一个必须对未经授权的用户保密的私钥和一个可以对任何人公开的公钥。用公钥加密的数据只能用私钥解密,而用私钥签名的数据只能用公钥验证。公钥可以被任何人使用;该密钥用于加密要发送到私钥持有者的数据。两个密钥对于通信会话都是唯一的。公钥加密算法也称为不对称算法,原因是需要用一个密钥加密数据而需要用另一个密钥来解密数据。

电子商务加密解密方法比较分析

电子商务加密解密方法比较分析 摘要:本文主要对私有密钥加密法和公开密钥加密法的概念阐述和算法原理进行分析,并对两种加密法的优缺点进行了比较。 关键词:电子商务;;算法;DES;RSA;网络银行;私有密钥加密法;公开密钥加密法 对数据进行有效加密与解密,其目的是为了隐蔽数据信息,将明文伪装成密文,使机密性数据在网络上安全地传递而不被非法用户截取和破译。伪装明文的操作称为加密,合法接收者将密文恢复出原明文的过程称为解密,非法接收者将密文恢复出原明文的过程称为破译。密码是明文和加密密钥相结合,然后经过加密算法运算的结果。加密包括两个元素,加密算法和密钥。加密时所使用的信息变换规则称为加密算法,是用来加密的数学函数,一个加密算法是将普通的文本与一串字符串即密钥结合运算,产生不可理解的密文的步骤。密钥是借助一种数学算法生成的,它通常是由数字、字母或特殊符号组成的一组随机字符串,是控制明文和密文变换的唯一关键参数。对于相同的加密算法,密钥的位数越多,破译的难度就越大,安全性就越好。目前,电子商务通信中常用的有私有(对称)密钥加密法和公开(非对称)密钥加密法。 一、私有密钥加密法 (一)定义 私有密钥加密,指在计算机网络上甲、乙两用户之间进行通信时,发送方甲为了保护要传输的明文信息不被第三方窃取,采用密钥A对信息进行加密而形成密文M并发送给接收方乙,接收方乙用同样的一把密钥A对收到的密文M进行解密,得到明文信息,从而完成密文通信目的的方法。这种信息加密传输方式,就称为私有密钥加密法。上述加密法的一个最大特点是,信息发送方与信息接收方均需采用同样的密钥,具有对称性,所以私有密钥加密又称为对称密钥加密。 (二)常用算法 世界上一些专业组织机构研发了许多种私有密钥加密算法,比较著名的有DES算法及其各种变形、国际数据加密算法IDEA等。DES算法由美国国家标准局提出, 1977年公布实施,是目前广泛采用的私有密钥加密算法之一,主要应用于银行业中的电子资金转账、军事定点通信等领域,比如电子支票的加密传送。经过20多年的使用,已经发现DES很多不足之处,随着计算机技术进步,对DES的破解方法也日趋有效,所以更安全的高级加密标准AES将会替代DES成为新一代加密标准。 (三)优缺点 私有密钥加密法的主要优点是运算量小,加解密速度快,由于加解密应用同一把密钥而应用简单。在专用网络中由于通信各方相对固定、所以应用效果较好。但是,私有密钥加密技术也存在着以下一些问题:一是分发不易。由于算法公开,其安全性完全依赖于对私有密钥的保护。因此,密钥使用一段时间后就要更换,而且必须使用与传递加密文件不同的途径来传递密钥,即需要一个传递私有密钥的安全秘密渠道,这样秘密渠道的安全性是相对的,通过电话通知、邮寄软盘、专门派人传送等方式均存在一些问题。二是管理复杂,代价高昂。私有密

常用加密算法概述

常用加密算法概述 常见的加密算法可以分成三类,对称加密算法,非对称加密算法和Hash算法。 对称加密 指加密和解密使用相同密钥的加密算法。对称加密算法的优点在于加解密的高速度和使用长密钥时的难破解性。假设两个用户需要使用对称加密方法加密然后交换数据,则用户最少需要2个密钥并交换使用,如果企业内用户有n个,则整个企业共需要n×(n-1) 个密钥,密钥的生成和分发将成为企业信息部门的恶梦。对称加密算法的安全性取决于加密密钥的保存情况,但要求企业中每一个持有密钥的人都保守秘密是不可能的,他们通常会有意无意的把密钥泄漏出去——如果一个用户使用的密钥被入侵者所获得,入侵者便可以读取该用户密钥加密的所有文档,如果整个企业共用一个加密密钥,那整个企业文档的保密性便无从谈起。 常见的对称加密算法:DES、3DES、DESX、Blowfish、IDEA、RC4、RC5、RC6和AES 非对称加密 指加密和解密使用不同密钥的加密算法,也称为公私钥加密。假设两个用户要加密交换数据,双方交换公钥,使用时一方用对方的公钥加密,另一方即可用自己的私钥解密。如果企业中有n个用户,企业需要生成n对密钥,并分发n个公钥。由于公钥是可以公开的,用户只要保管好自己的私钥即可,因此加密密钥的分发将变得十分简单。同时,由于每个用户的私钥是唯一的,其他用户除了可以可以通过信息发送者的公钥来验证信息的来源是否真实,还可以确保发送者无法否认曾发送过该信息。非对称加密的缺点是加解密速度要远远慢于对称加密,在某些极端情况下,甚至能比非对称加密慢上1000倍。 常见的非对称加密算法:RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用) Hash算法 Hash算法特别的地方在于它是一种单向算法,用户可以通过Hash算法对目标信息生成一段特定长度的唯一的Hash值,却不能通过这个Hash值重新获得目标信息。因此Hash算法常用在不可还原的密码存储、信息完整性校验等。 常见的Hash算法:MD2、MD4、MD5、HAVAL、SHA、SHA-1、HMAC、HMAC-MD5、HMAC-SHA1 加密算法的效能通常可以按照算法本身的复杂程度、密钥长度(密钥越长越安全)、加解密速度等来衡量。上述的算法中,除了DES密钥长度不够、MD2速度较慢已逐渐被淘汰外,其他算法仍在目前的加密系统产品中使用。 加密算法的选择 前面的章节已经介绍了对称解密算法和非对称加密算法,有很多人疑惑:那我们在实际使用的过程中究竟该使用哪一种比较好呢?

加密算法

加密算法介绍 褚庆东 一.密码学简介 据记载,公元前400年,古希腊人发明了置换密码。1881年世界上的第一个电话保密专利出现。在第二次世界大战期间,德国军方启用“恩尼格玛”密码机,密码学在战争中起着非常重要的作用。 随着信息化和数字化社会的发展,人们对信息安全和保密的重要性认识不断提高,于是在1997年,美国国家标准局公布实施了“美国数据加密标准(DES)”,民间力量开始全面介入密码学的研究和应用中,采用的加密算法有DES、RSA、SHA等。随着对加密强度需求的不断提高,近期又出现了AES、ECC等。 使用密码学可以达到以下目的: 保密性:防止用户的标识或数据被读取。 数据完整性:防止数据被更改。 身份验证:确保数据发自特定的一方。 二.加密算法介绍 根据密钥类型不同将现代密码技术分为两类:对称加密算法(秘密钥匙加密)和非对称加密算法(公开密钥加密)。 对称钥匙加密系统是加密和解密均采用同一把秘密钥匙,而且通信双方都必须获得这把钥匙,并保持钥匙的秘密。 非对称密钥加密系统采用的加密钥匙(公钥)和解密钥匙(私钥)是不同的。 对称加密算法 对称加密算法用来对敏感数据等信息进行加密,常用的算法包括: DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。 3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。 AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高;

AES 2000年10月,NIST(美国国家标准和技术协会)宣布通过从15种侯选算法中选出的 一项新的密匙加密标准。Rijndael被选中成为将来的AES。Rijndael是在 1999 年下半年,由研究员 Joan Daemen和 Vincent Rijmen 创建的。AES 正日益成为加密各种形式的电子 数据的实际标准。 美国标准与技术研究院 (NIST) 于 2002 年 5 月 26 日制定了新的高级加密标 准 (AES) 规范。 算法原理 AES 算法基于排列和置换运算。排列是对数据重新进行安排,置换是将一个数据单元替换为另一个。AES 使用几种不同的方法来执行排列和置换运算。 AES 是一个迭代的、对称密钥分组的密码,它可以使用128、192 和 256 位密钥,并 且用 128位(16字节)分组加密和解密数据。与公共密钥密码使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据。通过分组密码返回的加密数据的位数与输入数据相同。迭代加密使用一个循环结构,在该循环中重复置换和替换输入数据。 非对称算法 常见的非对称加密算法如下: RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的; DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准); ECC(Elliptic Curves Cryptography):椭圆曲线密码编码学。 ECC

加密算法

用C语言实现凯撒加密算法 一、凯撒加密算法的来源与简介 “凯撒密码”据传是古罗马凯撒大帝用来保护重要军情的加密系统。它是一种替代密码,通过将字母按顺序推后起3位起到加密作用,如将字母A换作字母D,将字母B 换作字母E。据说凯撒是率先使用加密函的古代将领之一,因此这种加密方法被称为凯撒密码。 假如有这样一条指令: RETURN TO ROME 用凯撒密码加密后就成为: UHWXUA WR URPH 如果这份指令被敌方截获,也将不会泄密,因为字面上看不出任何意义。 这种加密方法还可以依据移位的不同产生新的变化,如将每个字母左19位,就 产生这样一个明密对照表: 明:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 密:T U V W X Y Z A B C D E F G H I J K L M N O P Q R S 在这个加密表下,明文与密文的对照关系就变成: 明文:THE FAULT, DEAR BRUTUS, LIES NOT IN OUR STARS BU T IN OURSELVES. 密文:MAX YTNEM, WXTK UKNMNL, EBXL GHM BG HNK LMTKL UNM BG HNKLXEOXL. 很明显,这种密码的密度是很低的,只需简单地统计字频就可以破译。于是人们在单一凯撒密码的基础上扩展出多表密码,称为“维吉尼亚”密码。它是由16世纪 法国亨利三世王朝的布莱瑟·维吉尼亚发明的,其特点是将26个凯撒密表合成一个,见下表: 原: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A :A B C D E F G H I J K L M N O P Q R S T U V W X Y Z B :B C D E F G H I J K L M N O P Q R S T U V W X Y Z A C: C D E F G H I J K L M N O P Q R S T U V W X Y Z A B D: D E F G H I J K L M N O P Q R S T U V W X Y Z A B C E: E F G H I J K L M N O P Q R S T U V W X Y Z A B C D F: F G H I J K L M N O P Q R S T U V W X Y Z A B C D E G: G H I J K L M N O P Q R S T U V W X Y Z A B C D E F H: H I J K L M N O P Q R S T U V W X Y Z A B C D E F G I: I J K L M N O P Q R S T U V W X Y Z A B C D E F G H J: J K L M N O P Q R S T U V W X Y Z A B C D E F G H I K: K L M N O P Q R S T U V W X Y Z A B C D E F G H I J L: L M N O P Q R S T U V W X Y Z A B C D E F G H I J K M: M N O P Q R S T U V W X Y Z A B C D E F G H I J K L N: N O P Q R S T U V W X Y Z A B C D E F G H I J K L M

加密算法介绍及如何选择加密算法

加密算法介绍及如何选择加密算法 2008-1-23 选择字号:大 | 中 | 小 导读:随着信息化和数字化社会的发展,人们对信息安全和保密的重要性认识不断提高。民间力量开始全面介入密码学的研究和应用中,采用的加密算法有DES、RSA、SHA等。随着对加密强度需求的不断提高,近期又出现了AES、ECC等…… 关键词:密码学对称钥匙加密系统非对称密钥加密系统 一.密码学简介 据记载,公元前400年,古希腊人发明了置换密码。1881年世界上的第一个电话保密专利出现。在第二次世界大战期间,德国军方启用“恩尼格玛”密码机,密码学在战争中起着非常重要的作用。 随着信息化和数字化社会的发展,人们对信息安全和保密的重要性认识不断提高,于是在1997年,美国国家标准局公布实施了“美国数据加密标准(DES)”,民间力量开始全面介入密码学的研究和应用中,采用的加密算法有DES、RSA、SHA等。随着对加密强度需求的不断提高,近期又出现了 AES、ECC 等。 使用密码学可以达到以下目的: 保密性:防止用户的标识或数据被读取。 数据完整性:防止数据被更改。 身份验证:确保数据发自特定的一方。 二. 加密算法介绍 根据密钥类型不同将现代密码技术分为两类:对称加密算法(秘密钥匙加密)和非对称加密算法(公开密钥加密)。 对称钥匙加密系统是加密和解密均采用同一把秘密钥匙,而且通信双方都必须获得这把钥匙,并保持钥匙的秘密。 非对称密钥加密系统采用的加密钥匙(公钥)和解密钥匙(私钥)是不同的。

对称加密算法 对称加密算法用来对敏感数据等信息进行加密,常用的算法包括: DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。 3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。 AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高; AES 2000年10月,NIST(美国国家标准和技术协会)宣布通过从15种侯选算法中选出的一项新的密匙加密标准。Rijndael被选中成为将来的AES。 Rijndael 是在 1999 年下半年,由研究员 Joan Daemen 和 Vincent Rijmen 创建的。AES 正日益成为加密各种形式的电子数据的实际标准。 美国标准与技术研究院 (NIST) 于 2002 年 5 月 26 日制定了新的高级加密标准 (AES) 规范。 算法原理 AES 算法基于排列和置换运算。排列是对数据重新进行安排,置换是将一个数据单元替换为另一个。AES 使用几种不同的方法来执行排列和置换运算。 AES 是一个迭代的、对称密钥分组的密码,它可以使用128、192 和 256 位密钥,并且用 128 位(16字节)分组加密和解密数据。与公共密钥密码使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据。通过分组密码返回的加密数据的位数与输入数据相同。迭代加密使用一个循环结构,在该循环中重复置换和替换输入数据。 AES与3DES的比较

java实现几种加密算法

作业6: 有短句“Sun Yat-sen University is a vibrant community of scholarship”,请用下列方法加密: –简单代替密码(移位密码),k=5,q=26; –多表代替密码,其中m=6, K=cipher; –纵行置换密码,假定每行10个字节。 请写出加密后密文。 加密结果: 简单代替加密:Xzs Dfy-xjs Zsnajwxnyd nx f angwfsy htrrzsnyd tk xhmtqfwxmnu 多表代替加密:Ucc Crv-hlr Wvxciiuqif zu p zzdzpux ewbtyekbn sw aroscczhomg 纵向置换加密:Sntbucu yrnhnU aio nintlYistyaav rteacos-r ofhssvm ieiimsp 本作业是使用java编程求解的,以为是求解算法(java语言描述): /* * 简单代替加密 */ public class Ssc { private String name; private int k; private int q; public Ssc(){ this.k = 5; this.q = 26; https://www.doczj.com/doc/6613728409.html, = "简单代替加密"; } /** * k为位移量,q为字母表长度 * @param k * @param q */ public Ssc(int k, int q){ this.k = k; this.q = q; https://www.doczj.com/doc/6613728409.html, = "简单代替加密"; } /** * 加密 * @param str * @return */ public String encrypt(String str){

加密存储算法和模式研究

加密存储算法和模加密存储算法和模式研究式研究 梁 敏1,常朝稳1,樊雪竹2 (1. 解放军信息工程大学电子技术学院,郑州 450004;2. 解放军61655部队,重庆 402764) 摘 要:为提高全盘加密系统的性能,研究现有的磁盘加密算法和模式,测试不同加密算法和模式组合的性能。介绍加密存储的主要方式,对现有磁盘加密算法和模式进行分析,将不同加密算法和模式结合进行性能测试与分析,针对全盘加密系统给出相应的建议,为加密存储设计者提供参考和依据。 关键词关键词::存储安全;加密存储;全盘加密;加密算法;加密模式 Research of Encryption Storage Algorithms and Modes LIANG Min 1, CHANG Chao-wen 1, FAN Xue-zhu 2 (1. School of Electronic Technology, PLA Information Engineering University, Zhengzhou 450004, China; 2. PLA 61655 Army, Chongqing 402764, China) 【Abstract 】In order to improve the performance of the full disk encryption system, this paper studies and analyzes the existing disk encryption algorithms and modes, and tests the performance of different combinations of encryption algorithms and modes. The ways of encryption storage are introduced. The existing encryption algorithms and modes are analyzed. The performances of encryption algorithms and modes are tested and analyzed. A suggestion is proposed for full disk encryption. Result provides referential basis for designers of encryption storage. 【Key words 】storage security; encryption storage; full disk encryption; encryption algorithm; encryption mode DOI: 10.3969/j.issn.1000-3428.2011.13.032 计 算 机 工 程 Computer Engineering 第37卷 第13期 V ol.37 No.13 2011年7月 July 2011 ·安全技术安全技术·· 文章编号文章编号::1000—3428(2011)13—0101—03 文献标识码文献标识码::A 中图分类号中图分类号::TP309.2 1 概述 数据的安全存储已经成为计算机安全领域中的主要问题 之一。因磁盘被盗、丢失或者未授权的访问和使用而造成的信息大量泄漏已经给国家、企业和个人带来了巨大的损失。2009年,美国弗罗里达州的一家海军医院发现存有近千份军人个人信息的笔记本电脑丢失。同年,美国国民警卫队宣布存有13万个人信息的笔记本电脑被盗。全球几乎每个月都有政府、组织或者企业发生存有敏感信息的存储设备丢失或者被盗事件。最近的一个调查显示,2/3的IT 行业专家工作使用的移动存储设备没有经过加密保护。另外,内部人员的非法访问或者窃取信息也时有发生。除了防止存储设备的丢失或者被盗,使用加密方法保证存储设备的安全是一种常用并且有效的方式。按实现的层次不同,现有的基于软件的加密存储方法可以分为:应用层加密,操作系统内核层加密和全磁盘加密(FDE)。在广泛部署存储加密软件之前,必须解决一些关键的问题,如选择合适的加密模式、加密算法和密钥管理方式。为解决这些问题,美国电气及电子工程师学会(IEEE)已经提出了一个新的标准P1619TM /D16。 加密算法和加密模式对加密存储的安全和性能有着重要的影响。本文介绍了AES 、Twofish 和RC6 3种加密算法和LRW 、XTS 和CBC+Elephant diffuser 3种加密模式,并基于全盘加密系统对算法和模式的组合进行了性能分析。 2 加密存储 基于软件的加密存储方法大体上可以分为3类:应用层加密,操作系统内核层加密和全磁盘加密。应用层加密是一种最简单的文档加密形式,如PGP 公司的邮件加密软件。由用户指定需要加密的单个文档和指定加密后的目标文件名,程序全部在应用层实现。当一个文档需要加密存放时,选择 加密操作,存为密文文档。需要读取的时候,需要先解密成明文文档。这个方法的优点是实现起来比较容易,可以针对单个文档选择加密处理。缺点是需要用户干预较多,操作不便,不利于大量文件的加密处理,而且安全性较差。 为了解决应用层加密用户操作步骤繁琐、安全性差等问题,人们提出了内核层加密。所谓内核层加密,就是在操作系统内核中实现对数据的加/解密操作。根据实现方式的不同又分为:过滤驱动加密和虚拟磁盘加密。过滤驱动加密是在I/O 管理器与文件系统之间插入一个文件过滤加密驱动程序,这样就可以对指定的文件或文件夹进行加密和解密,从而达到安全存储的目的。虚拟磁盘文件加密系统的基本设计思想是:在原有系统的文件系统和磁盘驱动程序之间,加入一层虚拟磁盘驱动程序,虚拟磁盘驱动程序将本地磁盘上的一块存储区映射为虚拟磁盘分区,用户需要加密存储的数据文件都通过虚拟磁盘分区进行存储,在虚拟磁盘驱动程序中动态地对存储到磁盘上的文件进行加密。操作系统内核层加密可以有效地避免用户态加密存在的各种不足,方便控制文件的操作粒度,相对提高了安全性,同时加解密操作对用户透明。但它也有一些局限性,如不能对系统文件、页文件和临时文件加密,在诸如断电或出现应用故障的情况下,这些文件可能被漏掉,导致敏感数据文件以明文形式存储在硬盘上。 与前2种方法相比,全磁盘加密是最安全可靠的方法,几乎对写入磁盘的所有数据都进行加密处理,包括操作系统文件和页文件,提供了最全面的加密保护措施,给攻击者设 基金项目基金项目::国家“863”计划基金资助项目(2007AA01Z479) 作者简介作者简介::梁 敏(1986-),男,硕士研究生,主研方向:安全存储;常朝稳,教授;樊雪竹,助理工程师 收稿日期收稿日期::2011-01-06 E-mail :lm7186345@https://www.doczj.com/doc/6613728409.html,

相关主题
文本预览
相关文档 最新文档