您的位置: 首页 > 计算机技术 > 网络安全 > 关于加密和安全v0.94
雷斯林的网络随想 回到列表 个人系统的安全保护入门
 关于加密和安全v0.94

作者:banner 时间: 2005-12-06 文档类型:原创 来自:蓝色理想

第 1 页 关于加密和安全v0.94 [1]
第 2 页 关于加密和安全v0.94 [2]
第 3 页 关于加密和安全v0.94 [3]

11.DES算法
DES(Data Encryption Standard)是一种经典的对称算法。其数据分组长度为64位,使用的密钥为64位,有效密钥长度为56位(有8位用于奇偶校验)。它由IBM公司在70年代开发,经过政府的加密标准筛选后,于1976年11月被美国政府采用,随后被美国国家标准局和美国国家标准协会(American National Standard Institute, 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日,由比利时设计者Joan Daemen和Vincent Rijmen设计的Rijndael算法以其优秀的性能和抗攻击能力,最终赢得了胜利,成为新一代的加密标准AES(Advanced Encryption Standard)。

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)mod Nb,移动偏移量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的难度与大数分解难度等价。算法以三个发明者的名字命名:Ron Rivest, Adi Shamir 和Leonard Adleman。

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 ( mod n )

3、解密
解密时作如下计算:
mi = ci^d ( mod n )

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-Digest Algorithm 5(信息-摘要算法),在90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc的Ronald L. Rivest开发出来,经MD2、MD3和MD4发展而来。

2004年8月17日的美国加州圣巴巴拉召开的国际密码学会议(Crypto’2004)安排了三场关于杂凑函数的特别报告。在国际著名密码学家Eli Biham和Antoine Joux相继做了对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证书授权(Certificate Authority)中心发行的,人们可以在互联网交往中用它来识别对方的身份。当然在数字证书认证的过程中,证书认证中心(CA)作为权威的、公正的、可信赖的第三方,其作用是至关重要的。

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

随着Internet的普及、各种电子商务活动和电子政务活动的飞速发展,数字证书开始广泛地应用到各个领域之中,目前主要包括:发送安全电子邮件、访问安全站点、网上招标投标、网上签约、网上订购、安全网上公文传送、网上缴费、网上缴税、网上炒股、网上购物和网上报关等。

出处:蓝色理想
责任编辑:moby

上一页 关于加密和安全v0.94 [1] 下一页 关于加密和安全v0.94 [3]

◎进入论坛计算机技术版块参加讨论

相关文章 更多相关链接
静态网页加密
安全登录系统的设计与实现方案
Windows XP 组策略之安全篇
高级Linux安全管理技巧
Windows Vista OS安全性能剖析
关键字搜索 常规搜索 推荐文档
热门搜索:CSS Fireworks 设计比赛 网页制作 web标准 用户体验 UE photoshop Dreamweaver Studio8 Flash 手绘 CG
站点最新 站点最新列表
周大福“敬•自然”设计大赛开启
国际体验设计大会7月将在京举行
中国国防科技信息中心标志征集
云计算如何让安全问题可控
云计算是多数企业唯一拥抱互联网的机会
阿里行云
云手机年终巨献,送礼标配299起
阿里巴巴CTO王坚的"云和互联网观"
1499元买真八核 云OS双蛋大促
首届COCO桌面手机主题设计大赛
栏目最新 栏目最新列表
Windows7优化调整实用小技巧十则
关于国内Windows 7下载的一些提醒
Windows 7安全模式下修复系统故障
如何防止电脑被黑客入侵
syssafe病毒抗争记
浅谈手工杀毒
L2TP预共享密钥解决内网VPN连接问题
浅谈移动硬盘的数据安全问题
Windows组策略之软件限制策略
特殊文件防止闪存为电脑带来病毒
>> 分页 首页 前页 后页 尾页 页次:2/31个记录/页 转到 页 共3个记录

蓝色理想版权申明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有。

转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。

特别注意:本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有,文章若有侵犯作者版权,请与我们联系,我们将立即删除修改。

您的评论
用户名:  口令:
说明:输入正确的用户名和密码才能参与评论。如果您不是本站会员,你可以注册 为本站会员。
注意:文章中的链接、内容等需要修改的错误,请用报告错误,以利文档及时修改。
不评分 1 2 3 4 5
注意:请不要在评论中含与内容无关的广告链接,违者封ID
请您注意:
·不良评论请用报告管理员,以利管理员及时删除。
·尊重网上道德,遵守中华人民共和国的各项有关法律法规
·承担一切因您的行为而直接或间接导致的民事或刑事法律责任
·本站评论管理人员有权保留或删除其管辖评论中的任意内容
·您在本站发表的作品,本站有权在网站内转载或引用
·参与本评论即表明您已经阅读并接受上述条款
推荐文档 | 打印文档 | 评论文档 | 报告错误  
专业书推荐 更多内容
网站可用性测试及优化指南
《写给大家看的色彩书1》
《跟我去香港》
众妙之门—网站UI 设计之道
《Flex 4.0 RIA开发宝典》
《赢在设计》
犀利开发—jQuery内核详解与实践
作品集 更多内容

杂⑦杂⑧ Gold NORMANA V2