- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目录
TOC \o 1-3 \h \z \u 基于openssl编程实现加解密及摘要系统 3
课程设计的性质和目的 3
课程设计选题 3
实现的基本原理 3
第1章 引言 6
1.1设计目的 6
1.2设计任务 6
1.3设计要求 6
1.4设计简介 7
第2章 程序设计 9
2.1实验环境 9
2.2理论依据 9
2.3编程原理 9
2.4 Openssl简介 9
2.4.1 Openssl之对称算法 9
2.4.2 Openssl之摘要算法 12
2.4.3 Openssl之公钥算法RSA 13
2.5程序设计说明 14
2.5.1 文件操作模块 14
2.5.2 对称算法实现模块 14
2.5.3 摘要算法实现模块 15
2.5.4 RSA算法实现模块 16
2.5.5 数字信封实现模块 17
第3章 结论 19
3.1程序运行结果 20
3.11 程序运行的主界面 20
3.12 对称加密解密模块 21
3.13 非对称算法RSA模块 24
3.14 摘要算法模块 26
3.15 数字信封模块 27
3.2结论 29
3.3建议 30
3.4尚未解决的问题 30
第4章 设计体会 30
参考文献 31
基于openssl编程实现加解密及摘要系统
课程设计的性质和目的
信息安全课程设计是课程教学中的一项重要内容,是完成教学计划达到教学目标的重要环节,是教学计划中综合性较强的实践教学环节,它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、提高学生全面素质具有很重要的意义。信息安全是一门理论性和实用性都很强的课程,也是信息安全课程设计环节应占有重要的地位,密码技术为现代电子商务、网络安全等必修之工具。
本课次程设计应达到以下目的:
1.了解如何快速实现加密与解密并运用于实际应用中。
2.提高应用C/C++ 等编程语言、数据结构编写大型算法的能力。
3.提高对于信息安全方面的软件包的应用能力。
课程设计选题
1. 利用Openssl实现常见对称算法(DES、AES、IDEA …….)的实现,并能应用于实际。
2. 利用Openssl实现常见公钥算法(RSA)的实现,并能应用于实际。
3. 利用Openssl实现常见摘要算法(md2、md4、md5、rmd160、sha、sha1)的实现,并 能应用于实际。
3. 利用Openssl实现数字信封的封装于拆封。有一定得实际应用价值。
实现的基本原理
1. 对称算法:
对称算法使用一个密钥。给定一个明文和一个密钥,加密产生密文,其长度和明文大致相同。解密时,使用读密钥与加密密钥相同。
对称算法主要有四种加密模式:
(1)?? 电子密码本模式??? Electronic Code Book(ECB)
这种模式是最早采用和最简单的模式,它将加密的数据分成若干组,每组的大小跟 加密密钥长度相同,然后每组都用相同的密钥进行加密。
其缺点是:电子编码薄模式用一个密钥加密消息的所有块,如果原消息中重复明文 块,则加密消息中的相应密文块也会重复,因此,电子编码薄模式适于加密小消息。
(2) 加密块链模式???? Cipher Block Chaining(CBC)
CBC模式的加密首先也是将明文分成固定长度的块,然后将前面一个加密块输出的密文与下一个要加密的明文块进行异或操作,将计算结果再用密钥进行加密得到密文。第一明文块加密的时候,因为前面没有加密的密文,所以需要一个初始化向量。跟ECB方式不一样,通过连接关系,使得密文跟明文不再是一一对应的关系,破解起来更困难,而且克服了只要简单调换密文块可能达到目的的攻击。
(3) 密反馈模式????????? Cipher Feedback Mode(CFB)
面向字符的应用程序的加密要使用流加密法,可以使用加密反馈模式。在此模式下,数据用更小的单元加密,如可以是8位,这个长度小于定义的块长(通常是64位)。其加密步骤是:
a)? 使用64位的初始化向量。初始化向量放在移位寄存器中,在第一步加密,产生相应的64位初始化密文; b)???始化向量最左边的8位与明文前8位进行异或运算,产生密文第一部分(假设为c),然后将c传输到接收方;
c)??? 向量的位(即初始化向量所在的移位寄存器内容)左移8位,使移位寄存器最右边的8位为不可预测的数据,在其中填入c的内容; d)??? 第1-3步,直到加密所有的明文单元。
解密过程相反
(4) 输出反馈模式????????? Output
原创力文档


文档评论(0)