公钥密码算法

  • 格式:doc
  • 大小:23.00 KB
  • 文档页数:3

下载文档原格式

  / 5
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

公钥密码算法

学号:0900250114 姓名:李荣亮

摘要:古往今来,通信中的安全保密问题一直受到广泛关注。历史上,交战双方在通信安全、保密和密码破译方面的优势均被认为是取得战争胜利的关键因素之一。今天,随着互联网的发展,人类进入信息化时代,现代通信涉及各个行业,信息安全已成为人人都关心的问题,敏感信息的安全传输越来越受到人们的关注,这就促使密码学揭去了神秘的面纱,为更广泛的领域和大众服务。

一、公钥密码学概述。

公开密钥密码算法的提出是整个密码学历史上最大的而且也许是最唯一真

正的变革。从最初一直到现代,几乎所有密码系统都建立在基本的替代和置换工具的基础上。在用了数千年的本质上可以手算完成的算法之后,常规的密码学随着转轮加密/解密机的发展才出现了一个重大进步。机电式变码旋转软件使得极其复杂的密码系统被研制出来。有了计算机后,更加复杂的系统被设计出来。但是不管是转轮机还是后来的DES(数据加密标准),虽然代表了重要的进展,却仍然依赖于替代和置换这样的基本工具。

公钥密码学则与以前的所有方法都截然不同。一方面公开密钥算法基于数学函数而不是替代和置换,更重要的是,公开密钥密码学是非对称的,它用到两个不同的密钥,而对称的常规加密则只使用一个密钥。使用两个密钥对于保密通信,密钥分配和鉴别等领域都有着深远的影响。

公钥密码算法中的密钥依性质划分,可分为公钥和私钥两种。 用户或系统产生一对密钥,将其中的一个公开,称为公钥;另一个自己保留,称为私钥。 任何获悉用户公钥的人都可用用户的公钥对信息进行加密与用户实现安全信息交互。

由于公钥与私钥之间存在的依存关系,只有用户本身才能解密该信息,任何未受授权用户甚至信息的发送者都无法将此信息解密。

在近代公钥密码系统的研究中, 其安全性都是基于难解的可计算问题的。 如:

(1)大数分解问题;

(2)计算有限域的离散对数问题;

(3)平方剩余问题;

(4)椭圆曲线的对数问题等。

基于这些问题, 于是就有了各种公钥密码体制。 关于公钥密码有众多的研究, 主要集中在以下的几个方面:

(1)RSA 公钥体制的研究;

(2)椭圆曲线密码体制的研究;

(3)各种公钥密码体制的研究;

(4)数字签名研究。

(5)

公钥加密体制具有以下优点:

(1)密钥分配简单;

(2)密钥的保存量少;

(3)可以满足互不相识的人之间进行私人谈话时的保密性要求;

(4)可以完成数字签名和数字鉴别。

二、什么是公钥密码算法

目前存在两种密钥体制:对称密钥体制和非对称密钥体制。对称密钥体制就是加密和解密用同一个密钥。这很好理解,相当于你用你家的钥匙既可以锁上你家的门,也可以打开你家的门。非对称密钥体制就是加密和解密不是同一个密钥。也就是说一个密钥所加密的数据用另一个密钥解密。举个生活中的例子,类似于在机场、火车站、超市以及很多其他公共场所看到的非对称的存物箱。为了安全存储你的财物,你把它们放入存物箱并且投入钱币锁上它。就如同你的住宅钥匙锁上大门一样,钱币锁上了存物箱---在某种意义上,你的钱币就是密钥。锁上门后,你得到另外一把钥匙---也许是一把真正的钥匙;也许只是一张写有号码的纸条。要开启存物箱,你就要使用该钥匙或在键盘上输入号码。而这个时候,你投入多少钱币也是打不开存物箱的。

类似地,我们可以产生一个密码算法,其中一个密钥用来加密数据,另一个用来解密。这个模型的另一说法就是公钥密码学。要加密和解密数据,两个密钥

都需要使用,所以其中一个可以公开而不会危害安全性。这个密钥就是公钥。另一个则称之为私钥。我们用公钥加密数据,用私钥解密数据。就好象例子中的任何人都知道用钱币(公钥)锁上存物箱,但仍然打不开存物箱。只有拥有钥匙或写有号码的纸条(私钥)的人才能打开存物箱。

1976年后,提出了多种公开密钥算法,其中许多是不安全的。而那些被视为安全的算法,有许多却不实用,要么密钥太大,要么密文远大于明文。只有少数几个算法既安全又实用。其中有三种算法可以很好的用于加密和数字签名:RSA、ElGamal和Rabin。不过它们都很慢。它们加密和解密速度比对称算法要慢的多,通常是太慢以致无法用于许多快速数据加密。基于这点考虑,很多时候使用混合密码系统。使用带随机会话密钥的对称算法来加密消息,使用公开密钥算法来加密随机会话密钥。

三、RSA公钥密码算法原理

RSA算法是第一个比较完善的公开密钥算法。它既能用于加密也能用于数字签名。在已提出的公开密钥算法中,RSA是最容易理解和实现的。RSA以它的三个发明者Ron Rivest、Adi Shamir和Leonard Adleman的名字命名。该算法已经经受住了多年深入的密码分析,虽然密码分析者既不能证明也不能否认RSA的安全性,但这恰恰说明了该算法有一定的可信度。

RSA的安全基于大数分解的难度。其公开密钥和私人密钥是一对大素数(100到200个十进制数或更大)的函数。从一个公开密钥和密文中恢复出明文的难度等价于分解两个大素数之积。

四、结束语

密码技术是信息安全的核心技术。当前,公钥密码在信息安全中担负起密钥协商、数字签名、消息认证等重要角色,已成为最核心的密码。密码学还有许许多多的问题,当前,密码学发展面临着挑战和机遇。计算机网络通信技术的发展和信息时代的到来,给密码学提供了前所未有的发展机遇。在密码理论、密码技术、密码保密、密码管理等方面都应该有所发展,其中,公钥密码体制在现代信息安全中扮演者重要的角色。