(完整版)公开密钥加密算法RSA的Matlab实现毕业设计

合集下载

(完整版)公开密钥加密算法RSA的Matlab实现本科毕业设计

(完整版)公开密钥加密算法RSA的Matlab实现本科毕业设计

公开密钥加密算法RSA的Matlab实现[摘要]RSA算法是基于数论的公开密钥加密算法,它已经成为现在最流行的公钥加密算法和数字签名算法之一。

其算法的安全性基于数论中大素数分解的困难性,所以RSA公钥密码体制算法的关键是如何产生大素数和进行大指数模幂运算。

本文首先介绍了RSA 公开密钥加密算法的数学原理,并介绍了几种流行的产生大素数的算法。

然后用matlab具体实现公钥加密算法RSA的加密和解密,从而实现了数据的安全传输。

[关键词] RSA算法;加密;素数The Realization of RSA Algorithm for Public Key Encryption Based on Matlab(Grade 07,Class 3,Major electronics and information engineering ,Communicationengineering Dept.,Tutor:[abstract]:The algorithm is based on the theory of RSA public key encryption algorithm, it has become the most popular public key encryption algorithm and digital signature algorithm of one. The safety of the algorithm based on number theory cuhk the difficulty of prime decomposition, so the RSA public key cryptography algorithms is key to how to produce large prime Numbers DaZhi and transmit power operation. This paper first introduced the RSA public key encr -yption algorithm of mathematical theory, and introduces several popular produce large prime Numbers of the algorithm. Then use matlab RSA public key encryption algorithm re -alization of encryption and decryption is realized, and the safety of the data trans -mission.[Key words]:RSA algorithm; encryption; prime number毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

密码学实验(RSA完整算法)

密码学实验(RSA完整算法)
(RSAPrivateKey privateKey, byte[] raw)
A.入口参数:RSA私钥类privatekey和字节数组类raw
B.返回类型:字节数组类——明文形式
C.函数功能:利用加密库Cipher与Security指定PKCS1机制下的RSA解密算法对密文解密并且以字节数组的形式返回解密后得到的明文
——OAEP机制下RSA解密密函数ቤተ መጻሕፍቲ ባይዱ
7public static void main(String[] args)
——主函数(Main)
二.程序功能函数说明(含返回、参数)
《1》public KeyPair generateKey() throws NoSuchAlgorithmException
A.入口参数:无
java.security.SecureRandom;
java.security.interfaces.RSAPrivateKey;
java.security.interfaces.RSAPublicKey;
java.util.Scanner;
javax.crypto.Cipher;
确认了库类后,就可以根据eclipse提示正确找到JDK1.7提供的RSA加密函数了,接下来操作就是搞懂每个库函数的用法即可了!
A.入口参数:RSA公钥类publickey和字符串类data
B.返回类型:字节数组类——密文形式
C.函数功能:能将原明文首先转化成字节数组形式,并且利用加密库Cipher与Security指定PKCS1机制下的RSA加密算法对明文加密并且以字节数组的形式返回加密后得到的密文
《3》protected byte[]OAEPEcryption(RSAPublicKey publicKey, String Data)

密码学-RSA加密解密算法的实现课程设计报告

密码学-RSA加密解密算法的实现课程设计报告

密码学课程报告《RSA加密解密算法》专业:信息工程(信息安全)班级:1132102学号:************姓名:***指导老师:***时间:2014年1月10号一、课程设计的目的当前最著名、应用最广泛的公钥系统RSA是在1978年,由美国麻省理工学院(MIT)的Rivest、Shamir和Adleman在题为《获得数字签名和公开钥密码系统的方法》的论文中提出的。

RSA算法是第一个既能用于数据加密也能用于数字签名的算法,因此它为公用网络上信息的加密和鉴别提供了一种基本的方法。

它通常是先生成一对RSA 密钥,其中之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册,人们用公钥加密文件发送给个人,个人就可以用私钥解密接受。

为提高保密强度,RSA密钥至少为500位长,一般推荐使用1024位。

公钥加密算法中使用最广的是RSA。

RSA算法研制的最初理念与目标是努力使互联网安全可靠,旨在解决DES算法秘密密钥的利用公开信道传输分发的难题。

而实际结果不但很好地解决了这个难题;还可利用RSA来完成对电文的数字签名以抗对电文的否认与抵赖;同时还可以利用数字签名较容易地发现攻击者对电文的非法篡改,以保护数据信息的完整性。

此外,RSA加密系统还可应用于智能IC卡和网络安全产品。

二、RSA算法的编程思路1.确定密钥的宽度。

2.随机选择两个不同的素数p与q,它们的宽度是密钥宽度的1/2。

3.计算出p和q的乘积n 。

4.在2和Φ(n)之间随机选择一个数e , e 必须和Φ(n)互素,整数e用做加密密钥(其中Φ(n)=(p-1)*(q-1))。

5.从公式ed ≡ 1 mod Φ(n)中求出解密密钥d 。

6.得公钥(e ,n ), 私钥 (d , n) 。

7.公开公钥,但不公开私钥。

8.将明文P (假设P是一个小于n的整数)加密为密文C,计算方法为:C = Pe mod n9.将密文C解密为明文P,计算方法为:P = Cd mod n然而只根据n和e(不是p和q)要计算出d是不可能的。

基于rsa加密算法论文毕设论文

基于rsa加密算法论文毕设论文

桂林理工大学GUILIN UNIVERSITY OF TECHNOLOGY本科毕业设计(论文) 题目:数据通信中的RSA加密算法的设计与实现摘要数据通信是依照一定的通信协议,利用数据传输技术在两个终端之间传递数据信息的一种通信方式和通信业务。

随着数据通信的迅速发展而带来了数据失密问题。

信息被非法截取和数据库资料被窃的事例经常发生,在日常生活中信用卡密码被盗是常见的例子。

所以数据加密成为十分重要的问题,它能保证数据的安全性和不可篡改性。

RSA加密算法以它难以破译的优点,被广泛的使用在电子商务和VPN中。

本文针对非对称性加密RSA算法,采用软件Visual C++6.0进行程序编写。

根据模乘法运算和模指数运算的数学原理所编写的程序在进行测试后,能够通过输入两个素数进行运算从而实现明文与密文之间的转换,然后通过对公钥和私钥的管理,对所传输的数据进行保护,让数据只能由发送者和接收者阅读,以达到数据通信中数据无法被他人破译的目的。

关键词:RSA算法,数据通信,加密, 解密。

Data communication of the RSA encryption algorithm in the Designand ImplementationTeacher:Chen Fei student:Lu HuiAbstractData communications in accordance with certain communication protocols, the use of data transmission technology in the transmission of data between two terminals as a means of communication of information and communication business. With the rapid development of data communications and has brought the issue of data compromise. Unlawful interception of information and database information on frequent instances of theft, credit card in their daily lives stolen passwords is a common example. Therefore, data encryption has become a very important issue, it can ensure data security and can not be tamper with nature. RSA encryption algorithm to the merits of it difficult to decipher, was widely used in the e-commerce and VPN.In this paper, asymmetric RSA encryption algorithm, the use of software for Visual C + +6.0 programming. According to Die multiplication and modular exponentiation by the mathematical principles in the preparation of test procedures can be adopted for the importation of two prime numbers and computing in order to achieve explicit conversion between the ciphertext, and then through a public key and private key management, for the transmission of data protection, so that data can only be made by the sender and the recipient to read, in order to achieve data communications data can not be the purpose of deciphering the others.Keywords: RSA algorithms, data communication, encryption, decryption.目录摘要 (II)Abstract (III)第1章引言 (1)1.1题目背景 (1)1.2国内外现状 (1)1.3本课题的主要工作 (2)第2章数据通信中的加密技术 (3)2.1数据加密技术的起源和发展 (3)2.2数据加密的方法 (3)2.3密钥的管理 (5)2.4数据加密的标准 (6)2.5数据加密的应用 (6)2.6本章小结 (7)第3章数据加密中的RSA算法 (8)3.1 RSA公钥密码体制概述 (8)3.2 RSA公钥密码体制安全性分析 (9)3.3 RSA算法的缺点 (10)3.4 本章小结 (10)第4章 RSA数据加密中的实现 (11)4.1随机大素数的产生 (11)4.1.1素数的分布 (12)4.1.2大素数生成的方法 (12)4.1.3 Miller Rabin素性测试法 (13)4.1.4基于Miller Rabin素性测试法的新的素数生成方法 (13)4.2密钥的生成及加密和解密 (15)4.2.1最大公因子gcd运算 (15)4.2.2模n求逆元运算 (17)4.2.3模n的大数幂乘运算 (18)4.2.4模n的大数幂乘运算 (18)4.3 RSA算法分析 (19)4.3.1 RSA安全性分析 (19)4.3.2 RSA时间复杂度分析 (20)4.4本章小结 (20)第5章 RSA算法的实现 (21)5.1选定组合算法的准则 (22)5.2模幂组合算法的实现 (22)5.3试验与运行结果 (22)总结 (25)参考文献 (26)致谢 (27)附录.................................................. 错误!未定义书签。

RSA算法

RSA算法

• 解密过程
287 mod 33=19, 217 mod 33=21, 207 mod 33=19, 33=21, 33=26, 33=26, 17 mod 33=1, 57 mod 33=14。 33=1, 33=14。 即明文为19,21,26, 14对应的字母为 对应的字母为SUZAN。 即明文为19,21,26,1,14对应的字母为SUZAN。
C=Me (mod N)
(3)恢复明文:对C解密,即得到明文 解密, 恢复明文:
M=Cd (mod N)
RSA算法举例 RSA算法举例
(1)若Bob选择了p=11和q=13 Bob选择了 选择了p=11和 那么, =10×12=120; (2)那么,n=11 × 13=143, z=10×12=120; 再选取一个与z=120互质的数 例如e=7 互质的数, (3)再选取一个与z=120互质的数,例如e=7 找到一个值d=103满足 一个值d=103满足( (4)找到一个值d=103满足(e×d)mod z =1 103=721除以120余 除以120 (7×103=721除以120余1) (5)(n=143,e=7)为公钥,(n=143,d=103)为私钥。 )(n=143,e=7 为公钥,(n=143,d=103)为私钥。 n=143,e=7) ,(n=143 Bob在一个目录中公开公钥 n=143和 在一个目录中公开公钥: (6)Bob在一个目录中公开公钥:n=143和e=7 现假设Alice想发送明文 给Bob, 想发送明文85 (7)现假设Alice想发送明文85给Bob,她已经从公开媒 体得到了Bob的公开密钥(n,e)=(143,7),于是计算 Bob的公开密钥(n,e)=(143,7),于是计算: 体得到了Bob的公开密钥(n,e)=(143,7),于是计算: 857(mod 143)=123,且在一个信道上发送密文123。 143)=123,且在一个信道上发送密文123。 Bob接收到密文 接收到密文123时 用他的私钥d 103进行解 (8)当Bob接收到密文123时,用他的私钥d=103进行解 密:123103(mod 143)=85

【最新版】利用RSA算法实现数字签名毕业设计

【最新版】利用RSA算法实现数字签名毕业设计

摘要当今世界信息技术获得了前所未有的大发展,因而信息的安全性必将变得越来越受到人们的重视。

而数字签名技术是目前网络安全领域的研究热门方向。

RSA算法是第一个能同时用于加密和数字签名的算法,易于应用和理解。

RSA从提出一直到现在,它经历了各种考验。

它通过认证技术来分辨真与假。

RSA数字签名体制使用地是RSA公开密钥算法进行得数字签名。

本文主要是对RSA公开密钥密码体制的研究,并在此基础上实现了RSA的数字签名的体制。

本文的主要内容包括:关键词:加密解密RSA算法RSA数字签名AbstractNow the information of the world is developing fastly.So the security of the information is becoming more and more importantly. Digital signature filed will become hot spots in future.It is the first algorithm for both data encryption and digital signature.It can be understood easily by people.RSA has undergone various tests when it is put out.RSA as the public key cryptosystem representative approved data integrity is a kind of information technology. It is through the authentication techniques to distinguish true and false. RSA digital signature system using a RSA public key algorithm for digital signature.The text is about the study of RSA public key encryption,based on this generating RSA digital signature.including:,Firstly on the basis of previous research, a system based on elliptical curve proxy signature, The advantage of public key encryption and the security of RSA digital signature(attack )Secondly,it analyzes the principle of RSA,including how to generat a prime number,how to generat the secret keys and how to encryption as well as decrypt, Thirdly,it states the principle of MD5 in detail.Fourthly, it states design and realization of RSA digital signature in detail. The main modules includes producing RSA secret keys, implementation of RSA encryption algorithm and decryption algorithm, producing message digest and realizing digital signature and verification by RSA.Key words: RSA algorithm; encryption; decryption; RSA digital signature目录摘要 (I)Abstract (II)1绪论 (1)1.1 研究背景 (2)1.2 研究现状 (3)2密码学基本概念 (4)2.1 公钥密码基本概念 (4)2.1.1 公钥密码原理 (4)2.1.2公钥密码的理论基础 (5)2.2 对称加密体制 (5)3数字签名的基本概念和理论 (7)3.1数字签名概念 (7)3.2 数字签名理论 (7)3.3数字签名过程 (7)3.3.1.发送方签名过程 (8)3.3.2.接收方验证过程 (9)4数字签名常见的算法及其数字签名 (11)4.1 DSA数字签名算法 (11)4.1.1 DSA数字签名实现的三个步骤 (11)4.1.2 DSA的安全性 (12)4.2 椭圆曲线代理签名体制 (12)4.2.1椭圆曲线数字签名ECDSA (12)4.2.2椭圆曲线数字签名的安全性 (13)5 RSA算法及其数字签名 (14)5.1 RSA简述 (14)5.2 RSA加密的可行性 (15)5.3 RSA算法的介绍 (15)5.3.1 RSA中素数的选取 (16)5.3.2 RSA用到的公式和定理 (16)5.3.3 RSA安全性的分析 (16)5.3.4 RSA的攻击 (17)5.3.5 RSA的缺点 (18)5.3.6 RSA的优点 (19)5.4 RSA数字签名 (19)5.4.1 RSA数字签名的过程 (19)5.4.2 RSA数字签名算法实现步骤 (19)5.4.3 散列函数的原理 (20)5.4.4 MD5算法的简介 (21)6 RSA数字签名设计与实现 (23)6.1 开发环境的介绍 (23)6.1.1 C#语言概述 (23)6.1.2 C#语言特点 (23)类的介绍 (24)6.3 RSA数字签名所需实现的功能 (25)6.4 本软件的总体要求和设计 (25)6.5主要实现代码及软件运行结果 (26)结论 (30)致谢 (32)参考文献 (33)附录1 (34)1绪论1.1 研究背景当今社会是信息化社会,电子计算机和通信网络己经广泛的应用于社会的各个领域,以此为基础建立起来的各种信息系统,给人们的生活、工作带来了巨大变革。

RSA算法实验报告

RSA算法实验报告

RSA算法实验报告1.实验目的2.实验原理-选择两个大素数p和q,并计算其乘积n=p*q作为公钥的模数。

-计算n的欧拉函数值φ(n)=(p-1)*(q-1)。

-选择一个小于φ(n)且和φ(n)互质的数e作为公钥的指数。

- 生成一个满足条件d*e mod φ(n)=1的数d作为私钥的指数。

-公钥为(e,n),私钥为(d,n)。

- 加密过程中,将明文m用公式c=m^e mod n进行加密。

- 解密过程中,将密文c用公式m=c^d mod n进行解密。

3.实验步骤为了实现RSA算法,我们可以按照以下步骤进行操作:-选择两个大素数p和q,并计算乘积n=p*q。

-计算n的欧拉函数值φ(n)=(p-1)*(q-1)。

-选择一个小于φ(n)且和φ(n)互质的数e作为公钥的指数。

- 计算满足条件d*e mod φ(n)=1的数d作为私钥的指数。

- 对于待加密的明文m,计算密文c=m^e mod n。

- 对于待解密的密文c,计算明文m=c^d mod n。

4.实验结果与分析我们选取两个大素数p=17,q=23,并计算得到n=391,φ(n)=352、选择e=3作为公钥的指数,并计算满足条件的私钥指数d=235、现在我们分别测试加密和解密过程。

-加密过程:设明文m=65,根据公式c=m^e mod n,计算得到密文c=65^3 mod 391=279-解密过程:设密文c=279,根据公式m=c^d mod n,计算得到明文m=279^235 mod 391=65加密和解密结果都为65,验证了RSA算法的正确性。

5.实验总结通过本次实验,我们成功实现了RSA算法,并验证了其加密和解密的正确性。

RSA算法的核心是利用两个大素数的乘积作为公钥的模数,并通过选择合适的指数和满足条件的私钥指数来进行加密和解密。

RSA算法具有很强的安全性,因为破解RSA需要对大素数进行因数分解,这是一个非常复杂和耗时的过程。

然而,RSA算法的计算复杂度较高,当加密的数据量较大时,计算速度较慢。

使用MATLAB进行数据加密和解密

使用MATLAB进行数据加密和解密

使用MATLAB进行数据加密和解密数据加密和解密是当今信息安全领域中非常重要的问题。

加密算法的设计和实现是确保数据在传输和存储过程中不被未经授权的人访问的一种关键手段。

在本文中,我们将探讨如何使用MATLAB进行数据加密和解密,并介绍一些常用的加密算法和技术。

一、数据加密的基本原理数据加密是通过将原始数据转化为不易被理解的形式,从而防止未经授权的人获取敏感信息。

加密过程主要包括两部分:加密算法和密钥。

加密算法是对原始数据进行数学计算和转换的一种方法。

常见的加密算法有对称加密算法和非对称加密算法。

对称加密算法使用相同的密钥进行加密和解密,加密和解密过程非常高效。

其中,最常用的对称加密算法是AES(Advanced Encryption Standard)算法。

AES算法在MATLAB中有相应的函数可供使用。

非对称加密算法使用两个密钥:公钥和私钥。

公钥用于加密数据,私钥用于解密数据。

公钥可以公开,而私钥需要保密。

RSA算法是一种常见的非对称加密算法,也可以在MATLAB中使用相应的函数实现。

密钥是在加密和解密过程中起到关键作用的参数。

密钥的选择和管理直接影响到加密算法的安全性。

为了确保数据的安全性,密钥应该是足够长的随机数。

同时,密钥的保管也是一个重要的问题,只有授权的人能够访问密钥。

二、使用MATLAB进行数据加密在MATLAB中,我们可以利用现有的加密算法和函数来对数据进行加密。

接下来,我们将使用AES算法来进行示范。

首先,需要准备一个密钥。

在MATLAB中,我们可以通过randi函数生成一个随机的密钥。

例如:```MATLABkey = randi([0 255], 1, 16);```生成了一个16字节长的随机密钥。

然后,我们可以使用AES算法对数据进行加密。

在MATLAB中,通过函数aesencrypt可以实现AES加密。

例如,假设我们要加密一个文本文件:```MATLABplaintext = fileread('plaintext.txt');ciphertext = aesencrypt(plaintext, key);```上述代码将plaintext.txt文件中的内容进行AES加密,并将加密后的结果存储在变量ciphertext中。

公开密码技术RSA算法的实现及保密性分析

公开密码技术RSA算法的实现及保密性分析
白 静
( 太原 理 工大 学 太原
00 2 ) 30 4
【 要】为解决电子信 息交换过程 中的安全 问题, 摘 在对 R A S 公开密钥加 密算法的数学原理进行描述及分析的基 础上, 给出了密钥对的生成方法及 RA S 算法实例。讨论 了在密钥对的生成 中, 大素数选取应满足 的要求 , 还对 RA S 算法关于大数分解和素数选择的保 密性能进行 了详细分析并提 出相应的措施。
¨ n p-Pm dn = ) - ・ o
;1 dn mo
公开密钥密码体制 中加密采用公开密钥 ,解密采 用秘密密钥 , 加密解密双方拥有不相 同的密钥 , 而且加 密密钥和解密密钥很难相互计算出来。用户在接收端 进行解密所用的密钥不必通过信道传送 ,因此具有更
高的安 全性 和加 密强 度 。
维普资讯

1 ・( 5 0 4 总 6)
公开密钥 密码技术 R A算法 的实现及保密性分析0 20 )9 0 1- 3 0 3 5 5 (0 6 0 - 0 4 0
公 开 密 码 技 术 R A 算 法 的 实 现 及 保 密 性 分 析 S
由e?n求出dd1mod为了?好地防范分解在选择pq时一是注意p下转第18页p1和q1都应含有大的素数因子以增加?18?总564基于人工神经网络的工程招投标管?研究参考文献2006?在高度信息化的社会和internet环境中传统的招标模式变得越来越?能适应经济的发展国外一些学者对电子商务招标进?了一些研究取得了一定的研究成果同时国外将电子商务技术应用到招标过程方面已经作了很多尝试如ebay和amazan都已经把英式拍卖和双重拍卖的思想应用到商务平台中安波等11提出了基于bp神经网络的电子商务招标模型bmbp基本实现了招标投标评标定标全过程的电子化和自动化bmbp将bp神经网络用于评标保证了评标的客观性保证了评标的准确性和客观性避免了专家评标的诸多问题提高了评标效率同时保证了评标过程的公正

实验五RSA算法的实现

实验五RSA算法的实现

实验五RSA算法的实现RSA(Rivest-Shamir-Adleman)是一种非对称加密算法,被广泛应用于网络安全和数据加密领域。

RSA算法由三个数学问题组成:质数的生成、加密算法和解密算法。

它的安全性基于两个大质数之间的复杂性,因为分解大质数是困难的。

首先,RSA算法需要生成两个不同的大质数p和q。

这两个质数的大小越大,RSA算法越安全。

然后计算n=p*q,n是公共模数。

接下来,选取一个整数e,满足1<e<(p-1)*(q-1)并且e与(p-1)*(q-1)互质。

e是公钥,n和e构成公共密钥对。

再选择一个整数d,满足d*e≡1 mod((p-1)*(q-1))。

d是私钥,n和d构成私有密钥对。

加密过程中,明文m被转化为整数M,M满足0≤M <n。

加密算法为C≡M^e mod n,C是密文。

解密过程中,密文C被转化为整数,解密算法为M≡C^d mod n,M是明文。

RSA算法的实现可以分为密钥生成、加密和解密三个步骤。

密钥生成:1.选择两个大质数p和q,计算n=p*q。

2.计算(p-1)*(q-1)得到φ(n)。

3.选择一个满足条件的e,1<e<φ(n)且e与φ(n)互质。

4. 使用扩展欧几里得算法计算d,满足d*e≡1 mod φ(n)。

5.公共密钥对为(n,e),私有密钥对为(n,d)。

加密:1.将明文m转化为整数M,满足0≤M<n。

2. 计算C≡M^e mod n,C是密文。

解密:1.将密文C转化为整数。

2. 计算M≡C^d mod n,M是明文。

实现RSA算法的代码示例如下:```pythonimport randomimport mathdef is_prime(num):if num < 2:return Falsefor i in range(2, int(math.sqrt(num)) + 1):if num % i == 0:return Falsereturn Truedef generate_prime(:while True:num = random.randint(2**10, 2**11) # 生成11位的随机数if is_prime(num):return numdef gcd(a, b):while b != 0:a,b=b,a%breturn adef extended_euclidean(a, b):if b == 0:return a, 1, 0else:d, x, y = extended_euclidean(b, a % b) return d, y, x - (a // b) * ydef generate_keys(:p = generate_primeq = generate_primen=p*qphi_n = (p - 1) * (q - 1)e = random.randint(2, phi_n - 1)while gcd(e, phi_n) != 1:e = random.randint(2, phi_n - 1)_, d, _ = extended_euclidean(e, phi_n)d = d % phi_nreturn (n, e), (n, d)def encrypt(m, public_key):n, e = public_keyreturn pow(m, e, n)def decrypt(c, private_key):n, d = private_keyreturn pow(c, d, n)#密钥生成public_key, private_key = generate_keys#加密message = 'Hello, RSA!'encrypted_message = encrypt(int.from_bytes(message.encode(, 'big'), public_key)#解密decrypted_message = decrypt(encrypted_message, private_key)print(decrypted_message.to_bytes((decrypted_message.bit_leng th( + 7) // 8, 'big').decode()```通过实现以上代码,我们可以生成RSA算法所需的公钥和私钥,并使用公钥加密明文,使用私钥解密密文,还原出原始明文。

密码体制的设计及MATLAB语言下的实现

密码体制的设计及MATLAB语言下的实现

密码体制的设计及MATLAB语言下的实现毕业论文RSA密码体制的设计及MATLAB语言下的实现毕业论文任务书论文题目:RSA密码体制的设计及MATLAB语言下的实现1.毕业论文的主要内容及基本要求主要内容:从RSA的产生背景入手,熟悉RSA 在信息安全方面的应用,对其数学基础,数学原理,算法设计进行了详细的介绍,并给出其在MATLAB 应用软件上的实现,同时,对RSA的安全性,参数选择进行了分析。

基本要求:在明确了主要任务上做到(1)查阅文献资料,了解课题前沿,确定课题研究思路(2)理清论文思路,安排论文内容(3)撰写出思路清晰,逻辑合理的论文。

2.指定查阅的主要参考文献及说明[1]杨晓元,魏立线.计算机密码学[M].西安,西安交通大学出版社[2]朱文余,孙琦.计算机密码应用基础[M].北京,科学出版社[3]闵嗣鹤,严士健.初等数论[M].北京,高等教育出版社[4]李海涛,邓樱,MATLAB6.1基础及应用技巧[M].北京,国防工业出版社[5]李晓辉.公钥密码体制与RSA算法[J].福建电脑.2009[6]刘栋梁,陈艳萍.RSA密码体制在电子商务中的安全应用[J].大众科技.2005[7]段晓萍,李燕华.非对称密码体制RSA的原理与实现[J].内蒙古大学学报.2009摘要RSA算法是一个能同时用于加密和数字签名的算法,易于理解和操作,有较高的安全性,因此有着广泛的运用。

本文首先论述了RSA的基本运用途径,RSA的数学原理,其加密解密的具体算法,并给出了其在MATLAB应用软件上的实现,然后,对RSA的安全性进行了一定的分析,包括其可能存在的攻击和对参数的选择,以便对其有更深的了解。

关键词:RSA 公钥密码体制加密解密MATLAB 安全性ABSTRACTRSA is an algorithm which can be used for both encryption and digital signature. It is easy to understand as well as to operate, and has an upper security which makes it popular. This paper firstly delivers information on the basic purpose, the mathematic principle and the specific arithmetic of RSA. Then it presents an implementation of RSA on the application software MATLAB. After that, this article also analyzes the security of RSA, including its potential leaks, parameter options, which helps us to know further of RSA.Keywords : RSA public key cryptography encryption decrypt MATLABsecurity目录前言 (1)第1章RSA简介 (2)1.1密码体制简介 (2)1.2RSA的简介 (2)第2章相关数论知识 (4)2.1整除与互素 (4)2.2费马定理和欧拉定理 (4)2.3中国剩余定理 (5)第3章RSA的数学原理及其算法实现 (7)3.1RSA的数学原理 (7)3.2RSA的算法设计 (8)3.3RSA的MATLAB实现 (10)第4章RSA的安全性分析 (14)4.1对RSA常见的攻击方法 (14)4.2RSA的参数选择 (15)结束语 (16)参考文献 (17)致谢 (18)前言随着计算机通信技术的迅速发展,在计算机网络和通信的众多领域中,信息的安全性越来越受到人们的重视,于是,密码技术应运而生,目前计算机网络主要采用两种密码体制,即公钥密码体制和私钥密码体制,作为公钥密码体制的重要技术的RSA,主要用于数字加密和数字签名,由于其很好的安全性,可以保证网络中重要数据的安全性,因此有广泛的应用。

RSA算法的matlab实现.

RSA算法的matlab实现.

.RSA算法的matlab实现.RSA 具体算法:公私钥生随机选定两个大素数p, q.计算公钥和私钥的公共模数 n = pq .计算模数n的欧拉函数φ(n) .选定一个正整数e, 使1 < e < φ(n) , 且e与φ(n)互质. 计算d, 满足 de ≡ 1 (mod φ(n) ), (k为某个正整数). n与e决定公钥, n与d决定私钥.RSA编码的matlab实现的子程序源代码function RSA1=rsa(minwen)%minwen=input('明文序列:');m=1;for i=300:1:2000k=0;for j=2:1:(i-1)if rem(i,j)==0k=1;break;endendif k==0f(m)=i;m=m+1;endendn1=10;h=ceil(n1.*rand(1,2));%产生两个随机数p=f(h(1,1));q=f(h(1,1)+h(1,2)); %产生两个随机互异素数n=p*q; %计算公钥nQ=(p-1)*(q-1);for j=1:1:100000k=0;E=ceil(500*rand);for i=2:1:(Q-1)if rem(Q,i)==0&&rem(E,i)==0k=1;break;endendif k==0e=E;break;endend %计算公钥el1=length(minwen);b=dec2bin(e);l2=length(b);for j=1:1:l1c=0;d=1;for i=1:1:l2c=2*c;d=mod(d*d,n);if b(i)=='1'c=c+1;d=mod(d*minwen(j),n);endendif minwen(j)>=97&&minwen(j)<=122miwen(j)=char(mod(d,26)+97); %明文是小写字母elseif minwen(j)>=65&&minwen(j)<=90miwen(j)=char(mod(d,26)+65); %明文是大写字母else miwen(j)=d; %明文是数字endend'密钥是'disp(Q) %Q=(p-1)(q-1)disp(e)disp(n) %私钥n'密文是'disp(miwen)RSA1=miwen;。

毕业设计(论文)-rsa加密算法的分析与实现[管理资料]

毕业设计(论文)-rsa加密算法的分析与实现[管理资料]

河南科技大学毕业设计(论文)题目:__RSA加密算法的分析与实现__姓名:__考号:_院系:_信系工程系_专业:计算机及应用指导教师:__2011年04月24日摘要随着信息产业的迅速发展,人们对信息和信息技术的需要不断增加,信息安全也显得越来越重要。

基于对网络传输数据安全性的考虑,保障网络信息安全的加密产品具有广泛的应用前景,密码技术则是保障信息安全的一个重要手段。

密码学是信息安全技术的核心,现代密码体制分为公钥体制和私钥体制两大类:私钥体制又称单钥体制,其加密密钥和解密密钥相同;公钥体制又称为双钥体制,其加、解密密钥不同,可以公开加密密钥,而仅需保密解密密钥,从而具有数字签名、鉴别等新功能,被广泛应用于金融、商业等社会生活各领域。

RSA是目前公认的在理论和实际应用中最为成熟和完善的一种公钥密码体制,不仅可以进行加密,还可以用来进行数字签名和身份验证,是公钥密码体制的代表。

大数模幂乘运算是实现RSA等公钥密码的基本运算,该算法存在的问题是在实现时耗时太多,这也是制约其广泛应用的瓶颈。

本论文的第一章介绍了国内外密码学和RSA的有关动态以及本论文的意义,第二章介绍密码学的有关知识,第三章对RSA算法进行分析、介绍,第四章是RSA 加密与解密的实现的代码和测试,第五章对本课题的结论。

最后是致谢和参考文献。

关键词:密码学,RSA公钥密码体制,信息安全ABSTRACTWith the rapid development of IT technology, people depend on it increasingly, As a result, information security is getting more and more important. Meanwhile, Products that ensure network information show a great prospect due to the importance .Of transmitting data by network safely, and as an important means of information Security, cryptography must be is the core of the information security. Modern cryptograph is, Divided into the public key system and the private key system. The private key system, Is also called the single key system, in which the encryption process is the same as the. Decryption process. The public key system is also called the double key system, Where the encryption process is different with the decryption process. Since the Public key system can publish its public key and keep its private key secret, it has, Many new applications such as the digital signature and authentication, which is. ideally used in every field of the the various public key cryptosystem, RSA algorithm is the best choice in, Both theory and application, and it is open used in digital signature and identificationSystem. Modular exponentiation and modular multiplication are the basic algorithms. For implementing the public key algorithms such as RSA, etc. However the, Time-consuming modulo exponentiation computation, which has always been the, Bottle-neck of RSA restricts its wider application.The first chapter introduces the domestic and foreign progress of cryptograph; The RSA related tendency as well as the meaning of the research. The second chapter Explains cryptograph. The third chapter describes and analyzes the RSA algorithm. The fourth chapter discusses the improvement of the RSA algorithm including the big,Number restore and operation, and the improvement algorithm of the” Square multiply" algorithm. The fifth chapter reprints an improved algorithm and Comparisons.KEY WORDS: cryptography, RSA, public key cryptosystem, information security目录摘要 (1)ABSTRACT (2)第一章引言 (6)研究背景 (6)信息加密技术 (6)密码技术研究现状 (8)研究本课题的意义 (9)第二章密码学概论 (11)密码学的基本概念 (11)古典密码体制 (14)对称密码体制 (14)DES (Data Encryption Standard) (16)AES(Advanced Encryption Standard) (18)公钥密码体制 (19) (21)第三章 RSA公钥密码体制 (24) (24)因子的概念 (24)素数与合数 (25)公约数与最大公约数 (26).4 互质数 (27)RSA算法 (28)RSA体制描述 (28)RSA工作原理 (28)第四章 RAS的加密与解密技术的实现 (32)RSA加密与解密代码 (32)测试的环境与工具 (34)测试的结果 (35)第五章结论 (36)结论 (36)致谢 (37)参考文献 (38)第一章引言研究背景自20世纪90年代以来,计算机网络技术得到了空前飞速的发展和广泛的应用,但网络在带给我们方便快捷的同时,也存在着种种安全危机,随着计算机应用的日益广泛和深入,信息交流和资源共享的范围不断扩大,计算机应用环境日趋复杂,计算机的数据安全问题也越来越重要。

【毕业设计】基于非对称算法----rsa的数据文件加解密系统的设计与实现[管理资料]

【毕业设计】基于非对称算法----rsa的数据文件加解密系统的设计与实现[管理资料]

摘要自20世纪90年代以来,随着计算机网络和信息技术的发展,信息安全在各领域发挥着越来越重要的作用,其中密码学已成为信息安全技术的核心。

本文研究课题是基于非对称算法----RSA的数据文件加解密系统的设计与实现,其主要实现的功能有以下几个:(1)数据文件加密;(2)数据文件解密;(3)密钥管理;(4)用户管理。

此系统主要以java2EE作为开发基础,使用myeclipse作为开发工具,以MySQL作为数据库,使用JAVA语言开发,实现可以对文件进行RSA加密操作的窗体应用程序。

本论文给出关键类类图、整个应用程序的结构描述文档、关键模块流程图、较详细的接口文档、部分功能实现截图。

对应用程序进行测试,对测试结果进行分析研究,进而对应用程序进行改进,对关键算法进行尽可能的优化,最终得到一个在windows运行的可以用指定密钥对任意文件进行RSA加密并可解密的完整应用程序。

关键词:RSA算法加密解密 JavaAbstractSince the 1990s , with the development of computer networks and information technology in all areas of information security plays an increasingly important role , which has become the core cryptographic information security technology . This article is based on research ---- RSA asymmetric algorithms plus data file decryption system design and implementation , and its main function has the following : (1)data file encryption ; (2)a data file decryption ; (3)the key management ; (4)user management . RSA algorithm is now recognized in theory and practical application of the most mature and complete a public-key cryptosystem , which is the first not only for data encryption can be used for digital signature algorithm , public key cryptosystems representatives. This system is mainly to java2EE as a development base , using the myeclipse as a development tool for MySQL as a database, using the JA V A language development, implementation can file Forms application RSA encryption operations. The key classes chart shows , the entire application schema document , the key modules flowcharts , more detailed interface documentation , all of the source code. The application for testing, analysis and study of the test results , and thus to improve the application of key algorithms as optimization , finally get a run in the windows key can be used to specify any file RSA encryption and decryption the complete application . Keywords : RSA encryption decryption Java目录前言 (1)第1章绪论 (2)问题的提出 (2)国内外研究现状与水平 (2)研究本课题的意义 (3)第2章RSA算法介绍 (4)密码学中基本概念 (4)RSA公钥加密解密概述 (5)密钥的产生 (5)加密 (5)解密 (6)RSA算法应用现状 (6)RSA算法的攻击与安全性的讨论 (7)对RSA的分解模数n攻击 (7)对RSA的选择密文攻击 (7)对RSA的小指数攻击 (8)对RSA共模攻击 (8)RSA的安全性讨论 (8)RSA参数的选择 (9)模数N的确定 (10)e的选取原则 (11)d的选取原则 (11)文件加密使用RSA的可行性 (12)文件加密使用RSA的意义 (12)第3章RSA文件加解密软件的设计与实现 (15)需求分析与总体设计 (15)工程方案选择 (17)RSA算法的系统及实现 (17)大素数生成实现 (19)模逆运算 (21)模幂乘运算 (24)第4章数据文件加解密的实现过程 (27)用户信息管理 (27)RSA算法加解密管理 (28)密钥产生 (29)加密文件 (29)解密文件 (33)第5章软件的整体性能分析与改进 (35)加密解密测试 (35)性能分析与改进优化 (38)第6章结束语 (40)致谢 (39)参考文献 (42)前言密码技术是保护信息安全的主要手段之一。

密码学入门关于RSA算法的加密解密及代码实现

密码学入门关于RSA算法的加密解密及代码实现

密码学⼊门关于RSA算法的加密解密及代码实现RSA算法是⼀种公钥加密算法,RSA算法相⽐别的算法思路⾮常清晰,但是想要破解的难度⾮常⼤。

RSA算法基于⼀个⾮常简单的数论事实:两个素数相乘得到⼀个⼤数很容易,但是由⼀个⼤数分解为两个素数相乘却⾮常难。

这种算法是在1978年⾸次亮相,它是第⼀个既能⽤于数据加密也可以⽤于数字签名的算法,⽽且理解起来简单容易。

早在1973,就有密码学家发现了类似的算法,但是⼀直被列为绝密直到1998年才被正式公开出来。

RSA算法是⼀种⾮对称的算法,该算法需要⼀对密钥使⽤其中⼀个加密另⼀个就可以进⾏解密。

⾸先我们来认识⼀下欧拉函数:欧拉函数的通式形如:φ(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…..(1-1/pn),计算出来的值是⼩于x的⾃然数中素数的个数,关于正确性数论上有严格的证明。

在RSA算法中我们的初始的两个素数是p和q,⽽欧拉函数的参数x就是p*q,那么欧拉函数就可以变形为:φ(p*q)=(p-1)*(q-1)然后我们需要以下两个步骤来计算出⼀对可以⽤来进⾏加密和解密的密钥:(1)找到任意⼀个数d,使得d和p*q互质,即gcd(d,p*q)=1(最⼤公约数 of greatest common divisor)(2)计算出⼀个e,满⾜gcd(d*e,p*q)=1⽐如举p=3,q=7为例⼦,那么假设使d=5满⾜gcd(21,5)=1,那么对应的e就应该满⾜gcd(5*e,21)=1,得e=17,这样⼀来我们就得到了⼀对公钥和密钥d,e。

假设要加密数据3,那么就有(3)^d mod p*q=243mod21=12所以加密之后我们得到的数据就是12对于解密过程,我们对加密后的数据(12)^e mod p*q=12^17mod21=(12^5)mod21 * (12^5)mod 21 * (12^5)mod21 * (12)^2mod21=((7^3)mod21)*3mod21=3整个RSA加密解密算法的过程简单的有些令⼈担忧他的安全性,但是上图给了我们⼀个肯定的答复,随着RSA密钥长度的增加,保密的年限会加速增长,在当今现代如果不考虑量⼦计算机暴⼒破解的话,RSA算法的加密的安全是可以保证的,除⾮数学界会有发现新的⽅法可以快速算出⼀个⼤数(可以⾮常⼤)分为两个质数的乘积的算法。

RSA加密算法实验报告

RSA加密算法实验报告

四川大学计算机学院、软件学院实验报告学号: _姓名:专业:班级:第 13 周实验内容(算法、程序、步骤和方法)一、简介RSA公开密钥密码体制。

所谓的公开密钥密码体制就是使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。

RSA的安全性依赖于大数分解,但是否等同于大数分解一直未能得到理论上的证明,因为没有证明破解RSA就一定需要作大数分解。

假设存在一种无须分解大数的算法,那它肯定可以修改成为大数分解算法。

RSA 的一些变种算法已被证明等价于大数分解。

不管怎样,分解n是最显然的攻击方法。

人们已能分解多个十进制位的大素数。

因此,模数n必须选大一些,因具体适用情况而定。

二、加密算法流程密钥生成首先要使用概率算法来验证随机产生的大的整数是否质数,这样的算法比较快而且可以消除掉大多数非质数。

假如有一个数通过了这个测试的话,那么要使用一个精确的测试来保证它的确是一个质数。

除此之外这样找到的p和q还要满足一定的要求,首先它们不能太靠近,此外p-1或q-1的因子不能太小,否则的话N也可以被很快地分解。

此外寻找质数的算法不能给攻击者任何信息,这些质数是怎样找到的,尤其产生随机数的软件必须非常好。

要求是随机和不可预测。

这两个要求并不相同。

一个随机过程可能可以产生一个不相关的数的系列,但假如有人能够预测出(或部分地预测出)这个系列的话,那么它就已经不可靠了。

比如有一些非常好的随机数算法,但它们都已经被发表,因此它们不能被使用,因为假如一个攻击者可以猜出p和q一半的位的话,那么他们就已经可以轻而易举地推算出另一半。

此外密钥d必须足够大,1990年有人证明假如p大于q而小于2q(这是一个很经常的情况)而,那么从N和e可以很有效地推算出d。

此外e = 2永远不应该被使用。

运算速度由于进行的都是大数计算,使得RSA最快的情况也比DES慢上好几倍,无论是软件还是硬件实现。

速度一直是RSA的缺陷。

RSA文件加密软件的设计与实现毕业设计论文

RSA文件加密软件的设计与实现毕业设计论文
一种更实际的情况是,我们想通过Internet上的公众论坛或邮件发送重要保密信息给某人。例如发送一个银行帐号和密码给某人。这种情况要保证安全,在当今互联网络上是比较棘手的。①如果用公众论坛直接留言给指定用户,论坛管理员和服务器管理员通常有方法看到数据。②如果发送邮件,虽然传送过程是加密的,但是密码毕竟是由邮件服务器维护,所以系统管理员通常也有办法看到内容。问题的关键在于我们所有的数据包括密钥保存在服务器之上。在这种情况下,我们需要使用公开密钥方式,并自己维护私有密钥。RSA文件加密可以灵活的解决这些问题。例如,我们可以将任意一个文件用某人的公开密钥加密变换成一段可以复制粘贴的文本,然后粘贴在公众互联网上,对方只需把需要解密的文本复制保存成一个文本文件,在本地机用自己的私有密钥解密即可。我们可以将自己的私有密钥通过DES加密后保存在自己的移动磁盘上,使用的时候只要将其解密读取即可,用完后立即从当前操作环境清除。这样,我们自己维护自己的私有密钥,利用简单并且公开的方式,可以安全传送任意小型数据,包括一切二进制文件。

2.1
经过节的论述,我们可以将对软件的要求总结如下:
①可以按要求的位数生成非对称密钥。
所以,对于使用小型文件进行数据交换的情况,更好的方案是通过一个小型应用程序对这些文件进行非对称密钥加密。为了适合前面叙述的在公共BBS与特定的某人交流重要保密信息的情况,加密生成的数据应该是文本,这样可以方便复制粘贴。
综上所述,使用前面叙述的方式加密文件有两点重要意义:①应用非对称密钥加密任意文件,使非对称密钥的应用不仅仅局限于互联网络。②非对称加密后的数据变换成文本,使得我们可以通过几乎任何方式安全传递任意文件,比如在只有的环境使用xml方式。
关键词RSA RSA算法文件加密加密成文本

RSA公钥加密算法的设计与实现本科毕业论文

RSA公钥加密算法的设计与实现本科毕业论文

RSA公钥加密算法的设计与实现RSA公钥加密算法的设计与实现【论文摘要】RSA公钥加密算法是目前最有影响力的非对称加密算法,为ISO的推荐的加密标准。

而非对称加密因其安全性、开放性以及在数字签名技术中的重要性,在我们的生活中被使用得越加频繁。

RSA的安全性建立在大整数的分解困难上,其基本原理是初等数论中的欧拉定理。

在工业实现上,为了保证加密的安全性,通常要求密钥对大于1Kbits,然而计算机的整型变量为32bits,这构成一个矛盾。

此外,RSA密钥的生成需要产生随机的大素数,这也是本文需要解决的问题。

【关键词】RSA;非对称加密;素数The d esign and implementation of RSA public keyencryption algorithm【ABSTRACT】RSA public key encryption algorithms are the most influential dissymmetrical encryption algorithms, the recommended encryption standard to ISO. And dissymmetrical encryption is used more and more frequently in our lives because of its security, openness and the importance in digital signature technology.RSA's security is built on the difficulties of big integer factorization, whose basic principle is the Euler's theorem in elementary number theory. In order to ensure the security of encryption, when it comes to industry, we often require the key pair is greater than 1Kbits. However, the integer class of computers occupies 32bits, which constitutes a contradiction. In addition, RSA's key-generation needs a random large prime number, which is also a problem to be solved.【Keywords】RSA; dissymmetrical encryption; prime number目录RSA公钥加密算法的设计与实现 (II)The design and implementation of RSA public key encryption algorithm (II)目录 (III)一.前言 (1)(一)引论 (1)(二)背景知识 (2)1. 密码技术的发展 (2)2. 密码学的主要任务 (4)3. 密码系统的安全性 (5)4. 对称与非对称密码的区别 (5)5. 公钥:RSA密码体制 (6)二、实验部分 (8)(一)实验目的 (8)(二)实验环境 (8)(三)实验步骤 (8)1. 大整数类 (8)2. 快速模幂运算 (9)3. 快速产生随机素数 (9)4. 扩展的欧几里德算法 (10)(四)代码设计 (11)1. 大整数类 (11)2. Rsa类 (14)3. 关键代码 (16)三、结果与讨论 (17)(一)程序展示 (17)1. 程序主界面 (17)2. RSA密钥产生 (18)3. 加密解密展示 (20)(二)RSA分析 (21)1. RSA的安全性 (21)2. RSA效率 (22)(三)小结 (24)注释 (25)参考文献 (26)致谢 (27)一.前言(一)引论从公元前5世纪,古希腊斯巴达人用木棍和带子进行换位密码,到现在的网上购物、网上银行,密码学在我们生活中占着越来越重要的地位。

RSA算法和实现及实例

RSA算法和实现及实例

RSA算法和实现及实例一、RSA算法原理1.密钥生成首先,选择两个不相等的素数p和q,并计算它们的乘积n。

然后计算n的欧拉函数φ(n)=(p-1)(q-1)。

选择一个与φ(n)互质的数e,这个数即为公钥e。

然后选择一个数d,使得(d * e)mod φ(n) = 1,即d是e的模φ(n)的乘法逆元,d即为私钥。

2.加密解密加密时,将明文M进行加密,得到密文C = M^e mod n。

解密时,用私钥d对密文C进行解密,得到明文M = C^d mod n。

二、RSA算法实现实现RSA算法需要以下几个步骤:1.选择两个大素数p和q,计算乘积n=p*q。

2.计算n的欧拉函数φ(n)=(p-1)(q-1)。

3.选择一个与φ(n)互质的正整数e,计算其模φ(n)的乘法逆元d。

4.所得到的公钥为(e,n),私钥为(d,n)。

5. 加密时,将明文M通过公钥加密得到密文C = M^e mod n。

6. 解密时,用私钥对密文C进行解密得到明文M = C^d mod n。

三、RSA算法实例假设选择的两个素数p=13,q=17,计算乘积n=p*q=221计算n的欧拉函数φ(n)=(p-1)(q-1)=12*16=192选择一个与φ(n)互质的正整数e=5计算e的模φ(n)的乘法逆元d=77所以所得到的公钥为(e,n)=(5,221),私钥为(d,n)=(77,221)。

加密时,假设明文M = 8,利用公钥进行加密:C = M^e mod n =8^5 mod 221 = 40。

解密时,利用私钥进行解密:M = C^d mod n = 40^77 mod 221 = 8所以加密后的密文为40,解密后恢复得到原始明文为8总结:本文详细介绍了RSA算法的原理、实现方法以及一个实例。

RSA算法是一种非对称加密算法,通过选择两个大素数和计算乘积、欧拉函数、乘法逆元等步骤,实现了安全可靠的加密和解密过程。

通过加密后的密文可以通过相应的私钥解密得到原始明文,确保数据的安全性。

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

公开密钥加密算法RSA的Matlab实现[摘要]RSA算法是基于数论的公开密钥加密算法,它已经成为现在最流行的公钥加密算法和数字签名算法之一。

其算法的安全性基于数论中大素数分解的困难性,所以RSA公钥密码体制算法的关键是如何产生大素数和进行大指数模幂运算。

本文首先介绍了RSA 公开密钥加密算法的数学原理,并介绍了几种流行的产生大素数的算法。

然后用matlab具体实现公钥加密算法RSA的加密和解密,从而实现了数据的安全传输。

[关键词] RSA算法;加密;素数The Realization of RSA Algorithm for Public Key Encryption Based on Matlab(Grade 07,Class 3,Major electronics and information engineering ,Communicationengineering Dept.,Tutor:[abstract]:The algorithm is based on the theory of RSA public key encryption algorithm, it has become the most popular public key encryption algorithm and digital signature algorithm of one. The safety of the algorithm based on number theory cuhk the difficulty of prime decomposition, so the RSA public key cryptography algorithms is key to how to produce large prime Numbers DaZhi and transmit power operation. This paper first introduced the RSA public key encr -yption algorithm of mathematical theory, and introduces several popular produce large prime Numbers of the algorithm. Then use matlab RSA public key encryption algorithm re -alization of encryption and decryption is realized, and the safety of the data trans -mission.[Key words]:RSA algorithm; encryption; prime number目录引言........................................................................................................................................... 1数据加密概述................................................................................................................1.1基本概念..........................................1.2 数据加密分类......................................2 Matlab工具介绍 ....................................................................................................2.1 MATLAB语言的主要特点 .............................2.2 Matlab的程序设计................................. 2.2.1 脚本文件和函数文件 ........................... 2.2.2 函数调用和参数传递 ............................ 2.2.3 MATLAB的程序结构和控制流程...................3 RSA公钥密码体制 .................................................................................................3.1 算法简介 (1)3.2算法的数学基础 (1)3.3 RSA公钥密码算法 (1)3.3.1 算法步骤 (1)3.3.2 参数分析 (1)3.3.3 安全性分析 (1)3.4公钥密码体制中安全大素数的生成 ...........................................................3.4.1 素数筛选 (1)3.4.2 素数检测 (1)3.5 RSA的Matlab实现 (1)3.5.1算法原理 (1)3.5.2 运行过程 (2)3.5.3结论分析 (2)4 基于RSA的数字签名 ..........................................................................................4.1 数字签名概述 (2)4.2 基于RSA的数字签名 (2)4.3RSA数字签名方案的不足 (2)5 RSA算法的实际应用和发展 ..........................................................................5.1 算法的应用 (2)5.2算法的改进 (2)结论...........................................................................................................................................致谢...........................................................................................................................................参考文献 ...............................................................................................................................附录...........................................................................................................................................附录A:英文资料及翻译 . (3)附录B:源程序 (4)引言随着Internet用户的激增,世界正步入网络经济的新时代。

如网上购物、网上银行、网上证券等。

然而,有一些人利用利用他们所掌握的技术非法侵入他人的计算机系统,窃取、篡改、破坏一些重要的数据,给社会造成巨大的损失。

密码技术的发展与应用,对解决信息交换的安全问题,保障数据信息的安全,起着不可忽视的作用。

所谓密码技术,就是针对信息进行重新编码,从而达到隐藏信息的内容,使非法用户无法获取信息真实内容的一种手段。

目前在网络中,一般采用两种密码体制:对称密钥体制和非对称密钥体制。

对称密钥体制中的加密密钥和解秘密钥是相同的,所以又称密秘密钥密码体制。

对称密钥算法运算效率高、使用方便、加密效率高,在处理大量数据时被广泛使用,但其关键是要保证密钥的安全,为安全起见,密钥要定期改变,所以,对称密钥就存在一个如何安全管理密钥的问题。

与对称密钥体制相对应的非对称密钥体制又称为公开密钥密码体制,它是在1976 年由Diffe 和Hellman 发表的《密码学的新方向》一文中提出的,从此打破了长期使用单密钥体制的束缚。

自此提出公约密码思想以后,涌现出很多的公约密钥算法体系,经过20多年的实践检验,公约系统的应用技术日趋完善,应用领域日趋广泛。

公开密钥密码体制,加密密钥和解秘密钥是分开采用一对不同的密钥进行的,分别存在一个公钥和私钥,公钥公开,私钥保密,并且知道其中一个时并不能从中推出另一个。

其典型的算法有背包密码、RSA等。

其中RSA公约算法系统因为其可靠安全性,易于实现性,更是受大家的认可和欢迎。

RSA加密算法的最大优点就是不需要对密钥通信进行保密,所需传输的只有公开密钥,这样就省去了一条开销很大的密钥传输信道。

其保密性强,密钥管理方便,并且具有数字签名、认证和签别等多种功能,特别适合于现代保密通信的需要。

大多数使用公钥密码进行加密和数字签名的产品和标准使用的都是RSA算法。

RSA的安全性是基于大数因子分解的困难性。

目前一般认为RSA需要1024位以上的字长才有安全保障。

由于RSA所采用的模幂运算耗时太多,因此它通常只能用于加密少量数据或者加密密钥。

需要注意的是,RSA的安全性只是一种计算安全性,绝对不是无条件的安全性,这是由它的理论基础决定的。

所以,在实现RSA算法的过程中,每一步都应该尽量从安全性方面考虑。

本文就RSA算法以及如何用Matlab语言实现给于了详细的分析。

1 数据加密概述密码学是一门古老而深奥的学科,它对一般人来说是陌生的,因为长期以来,它只在很少的范围内,如军事、外交、情报等部门使用。

计算机密码学是研究计算机信息加密、解密及其变换的科学,是数学和计算机的交叉学科,也是一门新兴的学科。

随着计算机网络和计算机通讯技术的发展,计算机密码学得到前所未有的重视并迅速普及和发展起来。

在国外,它已成为计算机安全主要的研究方向,也是计算机安全课程教学中的主要内容。

密码是实现秘密通讯的主要手段,是隐蔽语言、文字、图象的特种符号。

凡是用特种符号按照通讯双方约定的方法把电文的原形隐蔽起来,不为第三者所识别的通讯方式称为密码通讯。

在计算机通讯中,采用密码技术将信息隐蔽起来,再将隐蔽后的信息传输出去,使信息在传输过程中即使被窃取或载获,窃取者也不能了解信息的内容,从而保证信息传输的安全。

相关文档
最新文档