单向陷门函数.docVIP

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

单向陷门函数   单向陷门函数(One-way Trapdoor Function)定义:  一“可逆”函数F若满足下列二条件,则F称为单向陷门函数:   1.对于所有属于F定义域的任一x,可以很容易算出F(x) = y;   2.对于几乎所有属于F值域的任一y,则在计算上除非获得陷门,否则不可能求出x,使得x = F^(-1)(y),F^(-1)为F的反函数。但若有一额外数据z(称为陷门),则可以很容易的求出 x = F^(-1)(y)。   单向函数与单向陷门函数的差异在于可逆与不可逆。若单向陷门函数存在,则任何单向陷门函数均可用来设计公开密钥密码系统。同时,若单向函数满足交换性,则单向函数也可能用来设计公开密钥密码系统。1 1976年,美国学者Diffie和Hellman为解决密钥的分发与管理问题发表了著名论文《密码学的新方向》New Direction in Cryptography,提出一种密钥交换协议,允许在不安全的媒体上通过通讯双方交换信息,安全地传送秘密密钥,并提出了建立“公开密钥密码体制”(Public Key)的新概念。这篇文章中提出的公钥密码的思想:若每一个用户A有一个加密密钥ka,不同于解秘密钥ka’,加密密钥ka公开,ka’保密,当然要求ka的公开不至于影响ka’的安全。若B要向A保密送去明文m,可查A的公开密钥ka,若用ka加密得密文c,A收到c后,用只有A自己才掌握的解密密钥ka’对x进行解密得到m。当时他们还没有实现这种体制的具体算法。公开密钥密码基于单向陷门函数。 所谓单向函数,人们认为有许多函数正向计算上是容易的,但其求逆计算在计算上是不可行的,也就是很难从输出推算出它的输入。即已知x,我们很容易计算f(x)。但已知f(x),却难于计算出x。 在物质世界中,这样的例子是很普遍的,如将挤出的牙膏弄回管子里要比把牙膏挤出来困难得多;燃烧一张纸要比使它从灰烬中再生容易得多;把盘子打碎成数千片碎片很容易,把所有这些碎片再拼成为一个完整的盘子则很难。类似地,将许多大素数相乘要比将其乘积因式分解容易得多。数学上有很多函数看起来和感觉像单向函数,我们能够有效地计算它们,但我们至今未找到有效的求逆算法。我们把离散对数函数、RSA函数作为单向函数来使用,但是,目前还没有严格的数学证明表明所谓这些单向函数真正难以求逆,即单向函数是否存在还是未知的。 在密码学中最常用的单向函数有两类,一是公开密钥密码中使用的单向陷门函数、二是消息摘要中使用的单向散列函数。单向散列函数在下一章介绍。 单向函数不能用作加密。因为用单向函数加密的信息是无人能解开它的。但我们可以利用具有陷门信息的单向函数构造公开密钥密码。 单向陷门函数是有一个陷门的一类特殊单向函数。它首先是一个单向函数,在一个方向上易于计算而反方向却难于计算。但是,如果知道那个秘密陷门,则也能很容易在另一个方向计算这个函数。即已知x,易于计算f(x),而已知f(x),却难于计算x。然而,一旦给出f(x)和一些秘密信息y,就很容易计算x。在公开密钥密码中,计算f(x)相当于加密,陷门y相当于私有密钥,而利用陷门y求f(x)中的x则相当于解密。 1978年,美国麻省理工学院(MIT)的研究小组成员Ronald L Rivest、Adi Shamir、Leonard Adleman提出了一种基于公开密钥密码体制的优秀加密算法棗RSA算法。RSA的取名就是来自于这三位发明者姓氏的第一个字母。该算法以其较高的保密强度逐渐成为一种广为接受的公钥密码体制算法。RSA算法是一种分组密码体制算法,它的保密强度是建立在具有大素数因子的合数,其因子分解是NP(Nondeterministic Polynomial)完全问题这一数学难题的基础上的,因此RSA算法具有很强的保密性。 RSA算法研制的最初目标是解决DES算法秘密密钥利用公开信道传输分发困难的难题,而实际结果不但很好地解决了这个难题;还可利用RSA来完成对消息的数字签名以防对消息的抵赖;同时还可以利用数字签名发现攻击者对消息的非法篡改,以保护数据信息的完整性。 RSA算法的保密强度随其密钥的长度增加而增强。但是,密钥越长,其加解密所耗的时间也越长。因此,要根据所保护信息的敏感程度与攻击者破解所要花的代价值不值得和系统所要求的反应时间来综合考虑决定。尤其对于商业信息领域更是如此。但是,RSA同其它数学问题一样,也是存在有条件、有特例的。即在不论其密钥长度如何增加,以及如何选取其加、脱密参数,它至少存在有9个不能被加密的明文消息。 RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。RSA是被研究得最广泛的公钥算法,普遍认为是目前最优秀的公钥方案之一。RSA得到了世界上的最广泛的应用,并于1992年ISO国际标准化组织

文档评论(0)

000 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档