文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院网络技术防范措施安全知识 当前各种加密方案完全解析
精品推荐
特别推荐
·分布式拒绝服务攻击(DDoS)原理及防范
·通过防火墙来堵住VPN安全漏洞
·针对DDOS部署有效防御措施
·专家谈企业防火墙的安全防护配置
·防火墙的实际功能差异鉴别方法
·教你如何正确设置帐户锁定选项
·分析称主动防御安全技术尚存技术缺陷
·保护用户计算机远离黑客骚扰九大策略
·三层交换机安全策略预防病毒
·详解IP地址盗用常用方法及防范
热点TOP10
·无线攻防:破解WEP密钥过程全解
·防火墙再进一步设定就更好用了!
·Tpvo/3783 病毒的分析和防治
·网络安全专家支招防范黑客攻击九大方法
·防火墙技术详解及技术发展趋势
·如何运用包过滤技术实现个人防火墙
·不用防火墙手动对付SYN攻击的办法
·如何限制访问来防止内部黑客
·防止 QQ 密码被破解的方法
·防火墙的实际功能差异鉴别方法

安全知识 当前各种加密方案完全解析

日期:2007年10月15日 作者: 查看:[大字体 中字体 小字体]


  循环冗余校验是一种典型的校验数据的方法。对于每一个数据块,它使用位循环移位和XOR操作来产生一个16位或32位的校验和 ,这使得丢失一位或两个位的错误一定会导致校验和出错。这种方式很久以来就应用于文件的传输,例如 XMODEM-CRC。 这是方法已经成为标准,而且有详细的文档。但是,基于标准CRC算法的一种修改算法对于发现加密数据块中的错误和文件是否被病毒感染是很有效的。

  二、基于公钥的加密算法

  一个好的加密算法的重要特点之一是具有这种能力:可以指定一个密码或密钥,并用它来加密明文,不同的密码或密钥产生不同的密文。这又分为两种方式:对称密钥算法和非对称密钥算法。所谓对称密钥算法就是加密解密都使用相同的密钥,非对称密钥算法就是加密解密使用不同的密钥。非常著名的PGP公钥加密以及RSA加密方法都是非对称加密算法。加密密钥,即公钥,与解密密钥,即私钥,是非常的不同的。从数学理论上讲,几乎没有真正不可逆的算法存在。例如,对于一个输入‘a’执行一个操作得到结果‘b’,那么我们可以基于‘b’,做一个相对应的操作,导出输入‘a’。在一些情况下,对于每一种操作,我们可以得到一个确定的值,或者该操作没有定义(比如,除数为0)。对于一个没有定义的操作来讲,基于加密算法,可以成功地防止把一个公钥变换成为私钥。因此,要想破译非对称加密算法,找到那个唯一的密钥,唯一的方法只能是反复的试验,而这需要大量的处理时间。

  RSA加密算法使用了两个非常大的素数来产生公钥和私钥。即使从一个公钥中通过因数分解可以得到私钥,但这个运算所包含的计算量是非常巨大的,以至于在现实上是不可行的。加密算法本身也是很慢的,这使得使用RSA算法加密大量的数据变的有些不可行。这就使得一些现实中加密算法都基于RSA加密算法。PGP算法(以及大多数基于RSA算法的加密方法)使用公钥来加密一个对称加密算法的密钥,然后再利用一个快速的对称加密算法来加密数据。这个对称算法的密钥是随机产生的,是保密的,因此,得到这个密钥的唯一方法就是使用私钥来解密。

  我们举一个例子:假定现在要加密一些数据使用密钥‘12345’。利用RSA公钥,使用RSA算法加密这个密钥‘12345’,并把它放在要加密的数据的前面(可能后面跟着一个分割符或文件长度,以区分数据和密钥),然后,使用对称加密算法加密正文,使用的密钥就是‘12345’。当对方收到时,解密程序找到加密过的密钥,并利用RSA私钥解密出来,然后再确定出数据的开始位置,利用密钥‘12345’来解密数据。这样就使得一个可靠的经过高效加密的数据安全地传输和解密。

  一些简单的基于RSA算法的加密算法可在下面的站点找到:

  ftp://ftp.funet.fi/pub/crypt/cryptography/asymmetric/rsa

  三、一个崭新的多步加密算法

  现在又出现了一种新的加密算法,据说是几乎不可能被破译的。这个算法在1998年6月1日才正式公布的。下面详细的介绍这个算法:

  使用一系列的数字(比如说128位密钥),来产生一个可重复的但高度随机化的伪随机的数字的序列。一次使用256个表项,使用随机数序列来产生密码转表,如下所示:

  把256个随机数放在一个距阵中,然后对他们进行排序,使用这样一种方式(我们要记住最初的位置)使用最初的位置来产生一个表,随意排序的表,表中的数字在0到255之间。如果不是很明白如何来做,就可以不管它。但是,下面也提供了一些原码(在下面)是我们明白是如何来做的。现在,产生了一个具体的256字节的表。让这个随机数产生器接着来产生这个表中的其余的数,以至于每个表是不同的。下一步,使用"shotgun technique"技术来产生解码表。基本上说,如果 a映射到b,那么b一定可以映射到a,所以b[a[n]] = n.(n是一个在0到255之间的数)。在一个循环中赋值,使用一个256字节的解码表它对应于我们刚才在上一步产生的256字节的加密表。

  使用这个方法,已经可以产生这样的一个表,表的顺序是随机,所以产生这256个字节的随机数使用的是二次伪随机,使用了两个额外的16位的密码.现在,已经有了两张转换表,基本的加密解密是如下这样工作的。前一个字节密文是这个256字节的表的索引。或者,为了提高加密效果,可以使用多余8位的值,甚至使用校验和或者CRC算法来产生索引字节。假定这个表是256*256的数组,将会是下面的样子:

  crypto1 = a[crypto0][value]

  变量'crypto1'是加密后的数据,'crypto0'是前一个加密数据(或着是前面几个加密数据的一个函数值)。很自然的,第一个数据需要一个“种子”,这个“种子” 是我们必须记住的。如果使用256*256的表,这样做将会增加密文的长度。或者,可以使用你产生出随机数序列所用的密码,也可能是它的CRC校验和。顺便提及的是曾作过这样一个测试: 使用16个字节来产生表的索引,以128位的密钥作为这16个字节的初始的"种子"。然后,在产生出这些随机数的表之后,就可以用来加密数据,速度达到每秒钟100k个字节。一定要保证在加密与解密时都使用加密的值作为表的索引,而且这两次一定要匹配。

  加密时所产生的伪随机序列是很随意的,可以设计成想要的任何序列。没有关于这个随机序列的详细的信息,解密密文是不现实的。例如:一些ASCII码的序列,如“eeeeeeee"可能被转化成一些随机的没有任何意义的乱码,每一个字节都依赖于其前一个字节的密文,而不是实际的值。对于任一个单个的字符的这种变换来说,隐藏了加密数据的有效的真正的长度。


上一页 [1] [2] [3] [4] [5] 下一页 




上一篇:SSL VPN应用安全与网络安全的完美结合

下一篇:支付宝Payto接口的C#.net实现方法

相关文章:
·小型办公场合组网方案
·魔兽争霸3完全作弊码
·杀毒技巧系列:杀毒、防恶意代码、脚本病毒的不完全合集
·笔记本电脑无线上网解决方案大比拼
·基础知识 初级黑客安全技术命令详解
·Windows系统进程列表完全解析
·[宠物]问道宝宝,肉盾,法宠,攻宠全面解析
·日本动画制作幕后完全流程揭秘
·完全记录攻略--轻松刻录不求人
·如何以安全模式启动计算机
相关软件:
·完全精通局域网手册(PDF)
·启动光盘制作完全手册(菜鸟先飞 图文教材系列)
·创业完全手册
·成功少儿培养方案(上中下)高清晰PDF电子书
·最好的Photoshop6完全自学手册第二章
·2007网络安全黄皮书V1.0.0
·盟军敢死队II(Commandos 2)完全图文并茂攻略
·如何加固Windows XP 主机安全
·最强文件加密锁2007
·炒股赚钱一本通(完全版)

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot