- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验2加密算法的实现及应用概要
加密算法的实现及应用实验 主要内容 实验目的 实验环境 准备知识 实验内容 实验报告 实验目的 学会如何在VC ++6.0编程环境下使用加密解密算法。 通过编写程序,在实际编写程序中,加深对加密算法的理解,达到理论与实践的结合。 能实际调试、使用和修改加解密程序,完成对数据进行加解密。 能够对加密解密算法结合自身工作需要,设计具备自身特色的加密解密程序。 实验环境 操作系统:Windows XP操作系统 需要的软件:VC ++ 6.0编程软件,Win32OpenSSL-1_0_0d.exe 准备知识 熟悉并掌握vc++ 6.0编程,学会添加密码头文件和库文件。 在VC中: tools-options-Directories下, show directories for中找到include files和library files, 分别在其中添加新的头文件路径和lib路径,并将其优先! 准备知识 准备知识 Openssl概述 Openssl实现了ssl/tls协议,采用c语言开发,支持windows/linux/unix等常见操作系统。 准备知识 Openssl 加密和解密 Openssl 加密和解密函数包含在密码算法库libeay32.lib中。提供的对称加密算法包括des,aes,rc2,rc4,分别声明在“C:\openssl\include\openssl”目录下的des.h,aes.h,rc2.h,rc4.h中.调用算法对应的头文件实现不同算法。Openssl为了调用方便,把这些算法都封装在evp.h文件中。接下来就直接利用evp.h加密和解密算法实现对数据的对称加密和解密,来保证数据必威体育官网网址性。 准备知识 VC使用Openssl 步骤 1)首先在主机上安装Win32OpenSSL-1_0_0d.exe 2)file——new 3)projects——win32console application——project name(evp_encrypt) 4)添加源文件,file——new-files(main.c) 5)在main.c中添加代码 6)添加链接库libeay32.lib,project—settings命令,link-object/library modules文本框添加libeay32.lib。 实验内容 1.安装VC ++6.0编程软件; 2.安装Openssl源代码库; 到网站上下载Openssl源代码库,下载下来的源代码库为OpenSSL-1_0_0d.exe,点击在指定目录下进行安装。 实验内容 3.在VC ++ 6.0中添加密码算法的头文件和库文件。 (1、在VC ++ 6.0中选择file——new (2、projects——win32console application——project name(evp_encrypt) (3、添加源文件,file——new-files(main.c) (4、在main.c中添加代码 (5、添加链接库libeay32.lib,project—settings命令,link-object/library modules文本框添加libeay32.lib。 实验内容 4、在VC ++6.0中,新建Win 32控制台程序,将提供的例子程序demo.c在VC ++6.0中进行编译。 实验内容 5、运用AES加密算法实现具体信息的加密及解密。 加密流程: 定义一些必需的变量,包括密钥、evp算法上下文、输出密文缓冲区 利用memset函数初始化key和iv 利用AES_set_encrypt_key函数设置key和iv 用AES_encrypt函数进行AES加密 实验内容 解密流程: 定义一些必需的变量,包括密钥、evp算法上下文、输出密文缓冲区 利用memset函数初始化key和iv 利用AES_set_decrypt_key函数设置key和iv 利用AES_decrypt函数进行AES解密 详细代码参加提供的例子程序demo.c 利用上面的Openssl源代码库,在VC ++ 6.0中编写win 32 console控制台程序实现上述AES加密和解密流程,并对自己的学号进行加密和解密。 实验报告 1.简述各种加密算法的原理和基本流程以及特点。 2.对给定的AES加密函数头文件和库文件,在VC++ 6.0下,对AES加密算法进行编译,同时提交对学号进行加密的加密数据,并对该加密数据进行解密,将结果显示在win 32 console中,并提交源程序和Release版本的exe文件。 实验报告 3、利用AES算法,对学号进行加密,将明文和密文都显示出来,并提交源程序和Releas
文档评论(0)