RSA算法原理以及PKI系统简介

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

研究生综合应用报告

课程名称《高级计算机网络》

学院计算机学院年级计算机科学与技术专业班6班

学生姓名唐洪奎学号20141402021

开课时间2014 至2015 学年第 1 学期

RSA原理学习与PKI简述

摘要

随着计算机网络的发展,计算机网络所能提供的服务也越来越丰富。特别是一些和银行、电子商务、军事通信相关的网络服务,对应计算机网络上信息通信安全提出了严苛的要求;密码学也在这种情况下得以发展;RSA作为重要的公钥加密算法,其应用和算法思想应信息安全都有很重要的意义,本文再述了RSA的证明、原理,并简单介绍了PKI系统,并在结尾处进行一定程度的反思。

关键字:RSA算法费马小定理PKI

Abstract

With the development of Internet, Internet provides more and more services to public. Some services referring to Bank Transient, E-Commercials needs a safer communication on the Internet. Cryptography was developed in this case. As an important public key encryption algorithm, RSA’s applications and algorithms thinking has a very important significance to Information Security. This paper describes the proof of RSA, principles, and briefly describes the PKI system, and a certain degree of rethinking about RSA and PKI at the end.

Keywords: RSA algorithm Fermat's little theorem PKI

一、RSA概述

RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。

RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准。

今天只有短的RSA钥匙才可能被强力方式解破。到2008年为止,世界上还没有任何可靠的攻击RSA算法的方式。只要其钥匙的长度足够长,用RSA加密的信息实际上是不能被解破的。但在分布式计算和量子计算机理论日趋成熟的今天,RSA加密安全性受到了挑战。

RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。

本文简单探头了RSA的证明原理,以及用类似RSA这样的算法构建的PKI系统的运作方式。

二、RSA数学基础

1.概述

RSA的数学基础来自离散数学的分支—数论。数论,也可以看成是高等代数中的一部分,

通过用多项式的方式,定义素数或者是互素关系、整除、辗转相除法、最大公约数、最小公倍数等等,并且在此基础上讨论数论的定理证明。一般的信息安全数学教材利用整数进行讨论。

RSA 算法基于“大数难分解”,理论基础是模数运算。在证明,过程用到了素数、互素、同余、同余方程的概念,这些可以再一般的信息安全书籍中找到。证明中比较重要的是费马小定理、RSA 定理,我们再述其证明过程。

2.费马小定理

费马小定理:设任意整数a 与素数p 互素,则 ()11mod p a n -≡

证明:由a 与素数p 互素,知p 不是a 的素因数,

又因为p 也不是1,2,3,...,1p - 的素因数,

所以a 乘以此数列各项所得新数列,2,3,...,(1)a a a p a - 各项都不能被整除

从而,2,3,...,(1)a a a p a -中的每一项只能和数列1,2,3,...,1p -中的一项模同余

又由于,2,3,...,(1)a a a p a -中的任意两项都不能模p 同余(事实上, 如果存在不同的

两ra 与sa (不妨设0r s p <<<)模p 同余, 即()mod sa ra p ≡ , 因a 与p 互素,

据同余式的消去律可得()mod s r p ≡ , 与假设r s <矛盾), 所以,2,3,...,(1)a a a p a -中恰有一项和1,2,3,...,1p -中的1 同余, ,2,3,...,(1)a a a p a -中恰有一项和1,2,3,...,1p -中的2 同余,,2,3,...,(1)a a a p a -中恰有一项和1,2,3,...,1p -中的1p - 同余,从而可以建立1p - 个同余式. 将这1p - 个同余式相乘得:

(),2,3,...,(1)123...(1)mod a a a p a p p -≡- .

因为,123...(1)p ⋅⋅⋅⋅- 与p 互素,有同余的消去律的

()11mod p a n -≡.

3.RAS 定理

定理 设p 、q 是不同的素数,n pq = ,记()(1)(1)n p q ϕ=-- ,如果e 、d 是与

()n ϕ 互素的两个正整数,并满足1(mod ())ed n ϕ≡ ,则对于每个整数x ,都有(mo d )

ed x x n ≡. 分析 由同余定义的等价表述, 只要证n 是ed x x - 的因数,但n pq = , 且p 、q

都是素数,所以,只要证p 、q 分别是ed x x -的因数, 即只要证对于每个, 都有:

(mod )ed x x p ≡ 公式一

(mod )ed x x q ≡ 公式二

证明:公式一只要证

0(mod )ed x x p -≡ . 如果p 是x 的因数,则上式显然成立;

如果p 不是x 的因数,即p 与x 互素,

由题设 1(mod ())ed n ϕ≡,知()n ϕ是1ed -的因素,

故存在整数k 使得1()(1)(1)ed n k p q k ϕ-==-- ,

从而1(1)(1)ed p q k =+-- ,

1(1)(1)1(1)()ed p q k p q k x x x x +----==⋅ ,

因 p 与x 互素,由费马小定律()11mod p a n -≡,

可得

(1)(1)(mod )ed q k x x x p -≡⋅≡ . 同理可证公式二也成立.

因此有:

(mod )ed x x p ≡ 三、 RSA 算法原理

以下公钥体制实施的步骤, 会帮我们理解它的基本原理

(1) 取两个大素数p 和q , 求出n pq = 和()(1)(1)n p q ϕ=-- 的值.

(2) 选一个与()n ϕ互素的正整数e ,解同余方程1(mod ())ed n ϕ≡,得到解d ,则{,}

e d 是可供一个用户使用的密钥对. 其中e 为公钥,d 为私钥.

相关文档
最新文档