v0149文件加密系统设计与研究文件加密系统设计与研究.pptVIP

v0149文件加密系统设计与研究文件加密系统设计与研究.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
v0149文件加密系统设计与研究文件加密系统设计与研究

文件加密系统设计与研究 目录 研究意义 研究的主要部分 实例 概述 结论 致谢 研究意义 随着计算机网络技术的发展,网络安全也就成为当今网络社会的焦点中的焦点,在这信息时代,信息可以帮助团体或个人,使我们受益,同样,信息也可以用来对我们构成威胁,造成破坏,因此,在客观上就需要一种强有力的安全措施来保护机密数据不被窃取或篡改,因此文件加密、数据加密很重要。 当今加密技术通常分为两大类:“对称式”和“非对称式”。对称式加密的意思用一句话说就是加密和解密使用同一个密钥。而非对称式加密就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为“公钥”和“私钥”。 我要研究的是非对称加密,因为通过上面的比较我们就能知道用对称加密加密时,每个合作者都需要使用不同的密钥,也就是说对一个文件加密后需要n*(n-1)/2 把密钥,由此也见这是很烦琐的事,而非对称加密就比较容易多了,使用非对称加密时,只需要两把密钥,即“公钥”和“私钥”,也就说对一文件用“公钥”进行加密时只需要一把“私钥”就可以解密,同理,用“私钥”进行加密时只需要知道“公钥”就可以解密了。 研究的主要部分 公开密码系统主要有三类。一是RSA,二是ELGanmal,最后一个是椭圆曲线密码系统。 RSA被证明很流行,因为底层算法非常简单(甚至可记住),并且能用软件和硬件实现。他能够流行的另外的原因包括商业等级的实现和合作支持。另外。RSA系统是自我包含的,密钥包含了使用该系统的所有信息,不需要附加的参数。RSA算法的强大力量得自因子分解的陷门函数。乘法很简单,但把一个数分解成它的原始组成可就是非常耗时的事情了。 算法步骤: 1 先设置一个密钥对及生成两个大的不同的素数p和q,长度大约相同(相同的位长度)。 2 计算n=pq以及Φ=(p-1)(q-1)。 3 这一步不是必须的。选择e,使GCD(e,Φ)=1;或选择一个素数。跳过对最大公分母的计算。 4 用扩展的Euclidean算法,计算唯一值d,使ed=1(用1dΦ来mod Φ )。这保证了给出e或d的一个,则另一个就是唯一的。 公开密钥是(n , e) ,私有密钥是(n , d )。 实例 举一个简单的算法来说使用一系列的数字(比如说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可能被转化成一些随机的没有任何意义的乱码,每一个字节都依赖于其前一个字节的密文,而不是实际的值。对于任一个单个的字符的这种变换来说,隐藏了加密数据的有效的真正

文档评论(0)

189****1013 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档