实验五文件数据加密与解密
实验五 数据加密与解密实验
实验五数据加密与解密实验(3学时)一、实验目的1、了解OPENSSL开放源程序的应用;2、熟悉用对称加密的方法加密和解密。
3、熟悉利用RSA非对称密钥对文件进行加密与解密的整个过程方法。
二、实验设备及软件环境(一)实验设备服务器、交换机和PC机组成NT网络。
(二)软件环境1.服务器采用Microsoft Windows 2003 Server 操作系统;2.学生客户端采用Windows XP系统、IE6.0以上浏览器。
3.OPENSSL开放源程序三、实验内容与步骤(整个实验共分五个部分)(一)准备工作步骤一下载OPENSSL安装包到C盘根目录下。
(下载地址:/openssl.rar)步骤二在C盘中右击压缩包,使用“解压到openssl\”方式来解压软件包,在C盘根目录下,自动生成OPENSSL文件夹。
步骤三点击“开始”、“程序”、“附件”、“命令提示符”,打开“命令提示符”窗口。
如图8-1。
图8-1 命令提示符步骤四在“C:\Documents and Settingsowner>”键入cd c:\openssl\out32dll,输入后按回车键,进入到openssl\out32dll的目录下,如图8-2所示。
(命令的含义:打开C盘目录下,openssl文件夹下的out32dll文件夹)图8-2 openssl\out32dll的目录(二)对称加密实验步骤步骤一用记事本创建一个文本文件,文件名为学生的学号(如026h321f.txt),内容为学生的名字和学号,保存在c:\openssl\out32dll的文件夹下,如图9-1所示。
图9-1用记事本创建的文本文件步骤二输入命令“openssl enc -des3 -in 026h231f.txt -out out026h231f.des”(注意所有的-符号的前面都有一个空格),输入后按回车键,加密过程中会提示你输入保护密码,按回车键后会再输一次密码进行确认,(注:输入密码时屏幕无任何显示)执行结果如图9-2所示。
文件加密操作实验报告
文件加密操作实验报告文件加密操作实验报告一、引言文件加密是一种常见的数据安全保护手段,通过将文件内容转换为不可读的形式,以防止未经授权的访问和使用。
本实验旨在探究不同的文件加密操作方法,并评估其安全性和效果。
二、实验目的1. 了解常见的文件加密算法和技术;2. 掌握文件加密操作的基本步骤和流程;3. 比较不同加密算法对文件加密效果和性能的影响;4. 分析不同加密算法的优缺点,并提出改进方案。
三、实验方法1. 实验环境:使用计算机及相关软件工具进行实验;2. 实验材料:选择多个不同类型的文件作为实验对象;3. 实验步骤:3.1 选择合适的加密算法:对称加密算法(如DES、AES)、非对称加密算法(如RSA)或混合加密算法;3.2 生成并保存秘钥:根据选定的算法生成相应长度的秘钥,并保存在安全位置;3.3 加密文件:使用选定的算法和秘钥对待加密文件进行处理,生成相应的加密文本或二进制数据;3.4 解密文件:使用相同的算法和秘钥对加密文件进行解密,恢复原始文件;3.5 分析结果:比较加密前后文件的差异,评估加密算法的效果和性能。
四、实验结果1. 对称加密算法:4.1 DES加密:4.1.1 步骤:选择一个8字节的秘钥,使用DES算法对待加密文件进行处理;4.1.2 结果:生成一个与原始文件大小相同的加密文件;4.1.3 分析:DES算法具有较高的安全性和可靠性,但速度较慢; 4.2 AES加密:4.2.1 步骤:选择一个16字节、24字节或32字节的秘钥,使用AES算法对待加密文件进行处理;4.2.2 结果:生成一个与原始文件大小相同的加密文件;4.2.3 分析:AES算法在安全性和速度方面都表现优秀,是目前最常用的对称加密算法之一。
2. 非对称加密算法:4.3 RSA加密:4.3.1 步骤:生成公钥和私钥对,并使用公钥对待加密文件进行处理;4.3.2 结果:生成一个较大且与原始文件大小不同的加密文件;4.3.3 分析:RSA算法具有较高的安全性,但加密和解密速度较慢,适用于对小文件或敏感信息进行加密。
文件加密与解密实验报告
HUNAN UNIVERSITY程序设计训练——文件加密与解密报告学生姓名X X X学生学号20110102308专业班级建环308指导老师何英2012-07-01至 2012-07-13一、程序设计目的和要求 (3)二、程序设计内容 (4)1、总体设计 (4)1.1主控选择模块 (4)1.2加密模块 (4)1.3解密模块 (4)2、流程图 (5)三模块详细说明 (6)四、测试数据及其结果 (7)五、课程设计总结 (8)六、附录 (9)附录1:参考文献 (9)附录2:程序源代码 (9)一、程序设计目的和要求1、目的:为保证个人数据资料不被他人窃取使用,保护个人隐私及个人文件。
设计一个基于c语言的文本文件加密及解密软件,可以方便对文本文件的加密与解密。
本设计实现了文本文件的解密及解密,运行软件之后只需输入任意一个文本文件的文件名及后缀名即可对该文本文件进行加密或解密操作。
本设计的加密与解密系统,使用了面向各类文件的方法,运用Microsoft Visual C++ 6.0实现具有加密、解密、帮助信息、读取文本文件、显示结果、退出等功能的文件加密与解密系统。
2、要求:(1)从键盘输入要进行加密的一行字符串或者需要加密的文件名。
(2)显示菜单:(3)选择菜单,进行相应的操作。
加密方法是设置一加密字符串以及对文件的哪些部分进行加密;加密是将原始文件加密并保存到文件中;解密是将加了密的文件还原并保存到文件中,同时应比较与原始文件的一致性;3、其他要求(1)变量、函数命名符合规范。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
二、程序设计内容1、总体设计本程序主要是对已知文件通过修改文件内容以达到文件加密的目的。
整个系统由以下几大功能模块组成。
1.1主控选择模块此模块是主程序操作界面,供用户进行选择。
用户可选择执行加密或解密操作。
数据加密与解密
实验报告书实验名称:数据加密与解密摘要此次实验的主要任务是:基于对数据加密方法的理解,通过设计简单的加密程序,完成对简单字符串的加密和解密。
本次实验主要是通过对字符串每个字符加5加密。
针对数据加密、解密,本文主要利用DM5算法对数据进行加5加密,数据揭秘则是数据加密的逆过程。
关键词:数据加密数据解密目录一、问题重述 (1)二、实验目的及要求 (1)2.1 实验目的 (1)2.2 实验要求 (1)2.3实验环境 (1)三、实验相关知识 (2)四、总体设计及思路 (3)4.1 实验思路 (3)4.2总体流程图 (4)五、实验过程 (4)六、实验结果 (12)七、实验总结 (13)一、问题重述基于对各种加密算法的理解,结合各种加密、解密算法,选择合适的加密方法对数据进行加密和解密。
二、实验目的及要求2.1 实验目的1)根据不同的加密算法,在Linux环境下编写C语言程序,实现简单的数据加密与解密;2)通过此次实验了解通信过程中不同的加密方式;3)了解不同的加密算法及加密过程;4)从多种加密和解密方式出发,对加密和解密的知识进行扩展。
2.2 实验要求1)理解部分加密算法例如:DES对称加密算法、加5加密算法的原理及过程;2)根据不同的加密算法,设计加密程序,完成对文件的加密和解密。
2.3实验环境操作系统:Linux操作系统、window10操作系统;C语言环境: vim编辑器、DEV C++编辑器。
硬件环境:机房内电脑及个人笔记本电脑。
三、实验相关知识MD5算法原理:对MD5算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。
第一步、填充:如果输入信息的长度(bit)对512求余的结果不等于448,就需要填充使得对512求余的结果等于448。
填充的方法是填充一个1和n个0。
文件加密的实验报告
一、实验目的1. 理解文件加密的基本原理和重要性。
2. 掌握使用加密工具对文件进行加密和解密的方法。
3. 提高对数据安全性的认识和实际操作能力。
二、实验环境1. 操作系统:Windows 102. 加密工具:TrueCrypt3. 实验材料:待加密文件(如文档、图片等)三、实验内容1. 理论学习(1)文件加密的基本原理:文件加密是通过将原始文件内容进行转换,使得只有拥有正确密钥的人才能解密还原原始文件的过程。
(2)加密算法:常见的加密算法有AES、DES、RSA等,其中AES加密算法因其安全性高、速度快而被广泛应用。
2. 实验步骤(1)准备实验材料:选择一个待加密的文件,如Word文档、图片等。
(2)安装TrueCrypt软件:从官方网站下载TrueCrypt软件,安装并运行。
(3)创建加密文件容器:在TrueCrypt软件中,点击“创建容器”,选择“标准TrueCrypt容器”作为加密方式,设置容器大小和加密算法。
(4)将文件放入加密容器:将待加密的文件拖拽到加密容器中,此时文件将被自动加密。
(5)保存加密文件:将加密后的文件保存到安全位置。
(6)解密文件:在TrueCrypt软件中,选择加密文件容器,输入密码,点击“打开容器”,即可解密文件。
3. 实验结果(1)加密文件:实验成功将待加密文件加密,并生成了加密文件容器。
(2)解密文件:使用正确密码成功解密加密文件,验证了加密和解密过程的有效性。
四、实验分析1. 文件加密的重要性(1)保护隐私:加密文件可以有效防止他人未经授权访问和篡改文件内容,保护个人隐私。
(2)数据安全:在数据传输过程中,加密文件可以防止数据被截获和篡改,提高数据安全性。
(3)合规要求:某些行业或组织对数据安全有严格要求,加密文件可以帮助企业或个人满足合规要求。
2. TrueCrypt加密工具的特点(1)免费:TrueCrypt是一款免费的开源加密软件,用户可以免费下载和使用。
网络安全实训报告6--文件加密解密
文件加密解密一、实训要求1、普通文件加密解密1)office文档加密解密2)PDF文档加密解密3)RAR文档加密解密2、文件夹加密解密3、MD5加密解密4、一机一码加密解密(主要针对屏幕录像专家类EXE视频教程)5、EFS加密解密6、使用BitLocker对Windows驱动器数据进行加密解密。
二、实训步骤1、普通文件加密解密1)office文档加密解密加密office2010解密office2010,用advanced office 工具2)PDF文档加密解密加密PDF文档,用adobeacrobatxipro加密解密PDF文档,用passware工具解密第一步:打开passware,选中恢复文件密码第二步:选中一个文件,运行破解向导第三步:选择密码破解类型,选择高级第四步:基于字典破解让我们选择字典下面我们自己生成一个字典,用木头超级字典工具集破解完成3)RAR文档加密解密加密,用360压缩解密,用passware跟上面PDF文档的破解步骤一样‘2、文件夹加密解密文件夹加密工具有很多,文件夹加密高级版工具对文件夹加密后,文件夹就会消失,只有打开这个工具,里面含有这个文件夹,打开时要求密码3、MD5加密解密我们选择在线加密,在百度搜索md5加密,在线解密4、一机一码加密解密(主要针对屏幕录像专家类EXE视频教程)加密5、EFS加密解密在一个操作系统上,用EFS加密是基于用户的,当用户user1加密了自己的某个文件,会生成一个证书,其他用户是没有权限访问的,但是把user1的证书导出,登录其他用户在导入(必须是数据恢复代理的用户),其他用户也可用于访问user1加密文件步骤:第一步:以管理员账号登录,建立user1和user2用户第二步:1、以user1账号登录系统,在命令提示符处输入:cipher /R:filename ,当系统提示时,请输入加强密码,此过程会为创建数据恢复代理的用户在\Documents and Settings\username 文件夹中创建两个文件:数据恢复证书的私钥filename .pfx ,以及用来为本地计算机配置恢复策略的filename .cer2、为本地计算机注册数据恢复代理:单击开始和运行,然后输入mmc ,最后单击确定。
文件加密解密 程序语言设计 实验报告五
文件处理基础实验题目文件处理基础实验时间 2013.6.4 实验地点DS1404实验成绩实验性质□验证性□设计性√综合性教师评价:□算法/实验过程正确;□源程序/实验内容提交□程序结构/实验步骤合理;□实验结果正确;□语法、语义正确;□报告规范;其他:评价教师签名:一、实验目的1、理解并掌握C语言中文件概念与文件类型指针概念;2、学习并掌握C语言中文件的打开和关闭,文件内部读写位置指针以及文件尾的检测方法3、掌握文件中的字符串读写操作,文件中的格式化读写操作二、实验项目内容(实验题目)文件加密解密。
将文件file1中的每一字符与0x6a异或变成另一个字符送屏幕显示,同时存入文件file2中。
打开加密的file2输出解密内容。
三、源程序(实验过程或算法)#include<stdio.h>void main(int argc,char *argv[]){ FILE *in,*out;char c;if(argc!=3){printf("Using:command Soursefilename Targetfilename<CR>\n");return;}if((in=fopen(argv[1],"rb"))==NULL){ printf("不能打开源文件\n");return;}if((out=fopen(argv[2],"wb"))==NULL){ printf("不能打开或创建目标文件\n");return;}c=fgetc(in);while(!feof(in)){c=c^0x6a;putchar(c);fputc(c,out);c=fgetc(in);}fclose(in);fclose(out);if((in=fopen(argv[2],"rb"))==NULL){ printf("不能打开源文件\n");return;}printf("\n 输出加密文件\n");c=fgetc(in);while(!feof(in)){ putchar(c);c=fgetc(in);}fclose(in);}四、源程序调试过程和(或)实验分析实验运行结果:实验结果分析1、通过本次文件的加密,我学会了如何利用异或(^)对文本文件进行加密并解密的全过程。
文件加密文件解密课程设计
文件加密文件解密课程设计一、课程目标知识目标:1. 学生能理解文件加密与解密的基本概念,掌握相关的理论知识。
2. 学生能掌握至少两种文件加密与解密的方法,并了解其原理和适用场景。
3. 学生能了解加密技术在信息安全管理中的重要性。
技能目标:1. 学生能够运用所学知识,使用相关工具或编程语言实现文件的加密与解密。
2. 学生能够分析不同的加密场景,选择合适的加密方法进行操作。
3. 学生能够通过实际操作,提高解决问题的能力和动手实践能力。
情感态度价值观目标:1. 学生能够认识到信息安全的重要性,增强网络安全意识。
2. 学生能够培养团队协作精神,通过小组讨论和实践,共同解决问题。
3. 学生能够培养创新思维,积极探索加密技术在实际生活中的应用。
课程性质:本课程为信息技术课程,旨在让学生掌握文件加密与解密的基本知识,提高信息安全意识。
学生特点:学生为八年级学生,对信息技术有一定的基础,具备基本的计算机操作能力,对新鲜事物充满好奇。
教学要求:结合学生特点,采用理论讲解与实际操作相结合的方式进行教学,注重培养学生的动手实践能力和创新思维。
在教学过程中,关注学生的个体差异,鼓励学生积极参与,提高课堂互动性。
通过课程学习,使学生能够达到上述课程目标,并在实际生活中应用所学知识。
二、教学内容1. 文件加密与解密基本概念:讲解加密、解密的定义,介绍加密技术在信息安全中的作用。
- 教材章节:第三章第五节《加密与解密技术》- 内容列举:加密技术发展简史,加密算法分类,加密与解密的基本过程。
2. 常用加密算法介绍:讲解对称加密和非对称加密的原理,以AES和RSA算法为例,分析其优缺点及应用场景。
- 教材章节:第三章第六节《常见加密算法》- 内容列举:AES算法原理,RSA算法原理,加密算法在实际应用中的选择。
3. 文件加密与解密操作实践:指导学生使用相关工具或编程语言实现文件的加密与解密。
- 教材章节:第三章第七节《加密与解密工具的使用》- 内容列举:工具软件介绍,编程语言实现加密与解密,实际操作步骤。
实验五 数据加密与解密实验
实验五数据加密与解密实验(3学时)一、实验目的1、了解OPENSSL开放源程序的应用;2、熟悉用对称加密的方法加密和解密。
3、熟悉利用RSA非对称密钥对文件进行加密与解密的整个过程方法。
二、实验设备及软件环境(一)实验设备服务器、交换机和PC机组成NT网络。
(二)软件环境1.服务器采用Microsoft Windows 2003 Server 操作系统;2.学生客户端采用Windows XP系统、IE6.0以上浏览器。
3.OPENSSL开放源程序三、实验内容与步骤(整个实验共分五个部分)(一)准备工作步骤一下载OPENSSL安装包到C盘根目录下。
(下载地址:/openssl.rar)步骤二在C盘中右击压缩包,使用“解压到openssl\”方式来解压软件包,在C盘根目录下,自动生成OPENSSL文件夹。
步骤三点击“开始”、“程序”、“附件”、“命令提示符”,打开“命令提示符”窗口。
如图8-1。
图8-1 命令提示符步骤四在“C:\Documents and Settingsowner>”键入cd c:\openssl\out32dll,输入后按回车键,进入到openssl\out32dll的目录下,如图8-2所示。
(命令的含义:打开C盘目录下,openssl文件夹下的out32dll文件夹)图8-2 openssl\out32dll的目录(二)对称加密实验步骤步骤一用记事本创建一个文本文件,文件名为学生的学号(如026h321f.txt),内容为学生的名字和学号,保存在c:\openssl\out32dll的文件夹下,如图9-1所示。
图9-1用记事本创建的文本文件步骤二输入命令“openssl enc -des3 -in 026h231f.txt -out out026h231f.des”(注意所有的-符号的前面都有一个空格),输入后按回车键,加密过程中会提示你输入保护密码,按回车键后会再输一次密码进行确认,(注:输入密码时屏幕无任何显示)执行结果如图9-2所示。
MD5加密解密
实验五MD5加密解密一.MD5生成文件摘要(1)本机进入“密码工具”|“加密解密”|“MD5哈希函数”|“生成摘要”页签,在明文框中编辑文本内容: ghgfnd4eh56t78udfnhgfdghgfdhqa3mkjhagawfftefg 。
单击“生成摘要”按钮,生成文本摘要:单击“导出”按钮,将摘要导出到MD5共享文件夹(D:\Work\Encryption\MD5\)中,并通告同组主机获取摘要。
(2)单击“导入摘要”按钮,从同组主机的MD5共享文件夹中将摘要导入。
在文本框中输入同组主机编辑过的文本内容,单击“生成摘要”按钮,将新生成的摘要与导入的摘要进行比较,验证相同文本会产生相同的摘要。
(3)对同组主机编辑过的文本内容做很小的改动,再次生成摘要,与导入的摘要进行对比,验证MD5算法的抗修改性。
二.MD5算法本机进入“密码工具”|“加密解密”|“MD5哈希函数”|“演示”页签,在明文输入区输入文本(文本不能超过48个字符),单击“开始演示”,查看各模块数据及算法流程。
(1)明文:fhgfhgftyfhgftdfhgsdhj54654fghfghfghfgh(2)摘要演示过程:三.源码应用(选做)设计MD5文件校验工具,利用MD5算法计算文件摘要。
单击工具栏“VC6”按钮,启动VC++6.0。
选择“File”|“Open Workspace…”加载程文件“C:\ExpNIS\Encrypt-Lab\Projects\MD5\MD5.dsw”。
基于此工程进行程序设计。
程序代码如下:(只实现了加密的功能解密具体没有实现)#include <string.h>#include <stdlib.h>#include "md5.h"//! 文件最大2M#define MAX_FILE 1024*1024*2/*******************/// 名称:usage// 功能:帮助信息// 参数:应用程序名称// 返回:无/**********/void Usage( const char *appname )printf( "\n\tusage: md5 文件\n" );}/********/// 名称:CheckParse// 功能:校验应用程序入口参数// 参数:argc等于main主函数argc参数,argv指向main主函数argv参数// 返回:若参数合法返回true,否则返回false// 备注:简单的入口参数校验/*********/bool CheckParse( int argc, char** argv ){if( argc != 2 ){Usage( argv[0] );return false;}return true;}unsigned A,B,C,D,a,b,c,d,i,len,flen[2],x[16]; //i临时变量,len文件长,flen[2]为64位二进制表示的文件初始长度char filename[200]; //文件名FILE *fp;char MD5[32];//用于清除回车键缓存的影响void safe_flush(FILE *fp){int ch;while( (ch = fgetc(fp)) != EOF && ch != '\n' );}void dealy(){for(int time=0;time<=366666666;time++){if(time == 366666666){system("cls");}}void main(){printf("\n\n\n\n\n\t*****************题目:MD5加密工具****************\n\n");printf("\n\t*****************作者:徐刘根谢燕******************\n\n");printf("\n\t*****************指导老师:张恒汝********************\n\n");printf("\n\t*****************日期:2014-6-16********************\n\n");printf("\n\n\n\n\t\t\t3秒后自动跳转......");dealy();printf("\n\n\t******************************************************\n \n");printf("\t 加密请输入:1 退出请输入:2\n\n");printf("\t******************************************************\n");int temp;scanf("%d",&temp);safe_flush(stdin);if(temp == 2){printf("感谢使用加密解密程序!\n");}else if(temp == 1){printf("请输入你的文件名:");gets(filename);if(!(fp=fopen(filename,"rb"))){printf("无法打开你的文件!\n");}if(filename[0]==34)filename[strlen(filename)-1]=0,strcpy(filename,filename+1);fseek(fp, 0, SEEK_END);len=ftell(fp);rewind(fp);A=0x67452301,B=0xefcdab89,C=0x98badcfe,D=0x10325476;flen[1]=len/0x20000000;flen[0]=(len%0x20000000)*8;memset(x,0,64);fread(&x,4,16,fp);for(i=0;i<len/64;i++){md5();memset(x,0,64);fread(&x,4,16,fp);}((char*)x)[len%64]=128;if(len%64>55) md5(),memset(x,0,64);memcpy(x+14,flen,8); //文件末尾加入原文件的bit长度md5();fclose(fp);sprintf(MD5,"%08X%08X%08X%08X",PP(A),PP(B),PP(C),PP(D));printf("经过MD5加密后的内容为:");printf("MD5 Code:%s\n",MD5);}else{printf("请输入一个正确的选择!");}}运行结果:。
加密解码_实训报告
一、实训目的本次实训旨在通过实际操作,加深对加密和解码原理的理解,提高对加密算法的应用能力,并培养在实际工作中运用加密技术保护信息安全的能力。
通过实训,学生能够:1. 掌握常见的加密算法,如对称加密、非对称加密和哈希算法。
2. 理解加密和解码的过程,包括密钥管理、加密操作和验证过程。
3. 学会使用加密工具和库,如Python的cryptography库。
4. 能够根据实际需求选择合适的加密算法,并解决加密过程中遇到的问题。
二、实训环境1. 操作系统:Windows 102. 编程语言:Python3.83. 加密库:cryptography4. 实训工具:PyCharm三、实训原理1. 对称加密:使用相同的密钥进行加密和解密。
常见的对称加密算法有AES、DES 和3DES。
2. 非对称加密:使用一对密钥,公钥用于加密,私钥用于解密。
常见的非对称加密算法有RSA和ECC。
3. 哈希算法:将任意长度的数据映射为固定长度的哈希值,用于验证数据的完整性和一致性。
常见的哈希算法有SHA-256、MD5和SHA-1。
四、实训过程1. 对称加密实训:- 使用AES算法对一段文本进行加密和解密。
- 使用DES算法对一段文本进行加密和解密。
- 比较不同对称加密算法的效率和安全性。
2. 非对称加密实训:- 使用RSA算法生成密钥对,并使用公钥加密、私钥解密一段文本。
- 使用ECC算法生成密钥对,并使用公钥加密、私钥解密一段文本。
- 比较不同非对称加密算法的效率和安全性。
3. 哈希算法实训:- 使用SHA-256算法对一段文本进行哈希运算。
- 使用MD5算法对一段文本进行哈希运算。
- 比较不同哈希算法的效率和安全性。
4. 实际应用实训:- 使用加密工具和库对文件进行加密和解密。
- 使用加密算法保护通信过程中的数据传输安全。
- 分析加密过程中可能出现的安全问题,并提出解决方案。
五、实训结果1. 成功掌握了AES、DES、RSA、ECC和SHA-256等加密算法的原理和应用。
汇编课设实验报告—文件加密解密
《汇编语言》课程设计报告文件加密程序院系:计算机科学与技术专业:计算机科学与技术班级:计算机0907班学号:U***********:*******:**2011 年9月7 日************目录*************一、需求分析 (3)二、系统设计 (3)三、软件开发 (16)四、软件测试 (16)五、特点不足 (21)六、过程和体会 (25)七、源码和说明 (28)一、需求分析1、题目要求编写一个文件加密程序enc,对于任意的文件进行加密和解密,加密算法何以自选。
程序功能:1.程序带有3个命令行参数,依次为运行模式、密钥、文件名。
Enc e 密钥文件名对于文件进行加密Enc d 密钥文件名对于文件进行解密要求加密后的文件进行解密能够完全恢复成原文件。
2、需求分析重点考察1.基本的算术运算和逻辑位运算。
2.用汇编实现简单的数据结构。
3.INT21H系统功能调用中有关文件、目录的操作。
4.可执行程序的参数使用。
5.综合解决问题的能力。
二、系统设计1、概要设计(1)设计思路1、要对一个文件进行加密处理首先要将其打开,汇编中可用3DH功能调用按路径打开文件。
2、打开文件之后便是将其调入内存之中,因而用到3FH功能调用,从文件或设备中读入。
3、按写好的加密程序对其进行加密处理。
4、将加密后的内存中的文件重新写入覆盖掉原文件,可用40H功能调用,向文件或设备写入。
5、覆盖掉原文件后再关闭文件,可用3EH功能调用,关闭文件。
6、解密部分与加密部分相仿,先打开文件,读入内存,解密后重新写入覆盖原文件,最后关闭文件(2)加密原理利用汇编语言读文件功能调用,将文件数据每次读一个字节至内存之中,输入加密密匙,将其由字符转变成数字,与内存中的文件内容相加,改变文件内容,再写入覆盖文件,完成加密处理。
(3)解密原理解密原理与加密原理基本一致,将文件数据每次读一个字节至内存之中,输入加密密匙,将其由字符转变成数字,由内存中的待解密的文件内容减去密匙,改变文件内容,再写入覆盖文件,完成解密处理。
文件加密操作实验报告
文件加密操作实验报告概述文件加密是一种保护数据安全的重要手段,能够将敏感信息转化为无意义的字符序列,防止信息被非法获取和篡改。
本实验旨在探索文件加密的原理、方法和应用,并通过具体实例演示文件加密操作的实施过程。
原理介绍文件加密的基本原理是通过一定的算法将原始数据转化成难以理解的密文,只有经过相应的解密算法才能将密文恢复成可读的明文。
常见的加密算法如对称加密算法、非对称加密算法和哈希算法等。
1. 对称加密算法对称加密算法使用相同的密钥进行加密和解密操作。
常用的对称加密算法有DES、AES等。
其流程如下: 1. 选择一个密钥。
2. 将明文划分为固定长度的数据块。
3. 对每个数据块进行加密,生成对应的密文。
4. 将密文传输或保存。
5. 接收方使用相同的密钥对密文进行解密,恢复成明文。
2. 非对称加密算法非对称加密算法使用一对密钥,分别为公钥和私钥。
公钥负责加密,私钥负责解密。
常见的非对称加密算法有RSA、DSA等。
其流程如下: 1. 生成一对密钥,包括公钥和私钥。
2. 将公钥传输给加密方,私钥保密不公开。
3. 加密方使用公钥对明文进行加密,生成密文。
4. 密文传输给解密方。
5. 解密方使用私钥对密文进行解密,得到明文。
3. 哈希算法哈希算法将任意长度的数据转化为固定长度的哈希值,具有不可逆、唯一性和固定性的特点。
常用的哈希算法有MD5、SHA-1等。
其流程如下: 1. 将原始数据作为输入。
2. 哈希算法对输入数据进行计算,生成哈希值。
3. 可以通过哈希值验证数据的完整性,但无法从哈希值反推原始数据。
4. 哈希算法具有唯一性,不同的数据生成的哈希值一定是不同的。
方法与实验为了深入了解文件加密操作,我们进行了以下实验。
1. 对称加密实验1.选择一个对称加密算法,如AES。
2.准备一份明文文件,如.txt文件。
3.选择一个密钥,进行加密操作。
4.生成密文文件,并将其保存。
5.使用相同的密钥进行解密操作,将密文恢复成明文。
文件加解密课程设计
文件加解密课程设计一、课程目标知识目标:1. 让学生理解文件加密与解密的基本概念,掌握相关的理论知识。
2. 使学生掌握至少两种文件加密方法,并了解其适用场景和优缺点。
3. 让学生了解解密原理,学会运用相关工具进行文件解密。
技能目标:1. 培养学生运用所学知识,自主设计简单的文件加密与解密程序。
2. 提高学生分析问题、解决问题的能力,使学生能够针对不同场景选择合适的文件加密与解密方法。
3. 培养学生团队合作精神,学会在团队中分享观点、交流技巧。
情感态度价值观目标:1. 培养学生信息安全意识,认识到文件加密与解密的重要性,养成良好的信息安全素养。
2. 激发学生对计算机科学的兴趣,鼓励学生探索未知领域,培养创新精神。
3. 引导学生树立正确的价值观,遵循法律法规,不参与非法解密和破坏他人信息安全的行动。
课程性质:本课程为信息技术课程,旨在让学生掌握文件加密与解密的基本知识和技能,提高信息安全意识。
学生特点:学生处于初中年级,已具备一定的计算机操作能力,对新鲜事物充满好奇,但理论知识相对薄弱。
教学要求:结合学生特点,注重实践操作,以任务驱动法引导学生自主探究,培养学生的动手能力和解决问题的能力。
同时,注重理论知识讲解,让学生在实践过程中深入了解加密与解密原理。
在教学过程中,关注学生的情感态度价值观培养,引导他们树立正确的信息安全观念。
二、教学内容1. 文件加密与解密基本概念:介绍加密、解密的定义,阐述其作用和重要性,以课本第二章第一节内容为基础,让学生掌握信息安全的基本知识。
- 加密技术原理及分类- 解密技术原理及分类2. 常见文件加密方法:分析课本第二章第二节中提到的对称加密、非对称加密等加密方法,以实际案例讲解各自优缺点。
- 对称加密:如DES、AES等- 非对称加密:如RSA、ECC等3. 文件解密技术:结合课本第二章第三节内容,让学生了解解密原理,学习使用相关工具进行文件解密。
- 解密原理及步骤- 常用解密工具介绍4. 实践操作:根据课本第四章内容,设计以下实践项目:- 使用对称加密方法加密文件,并解密- 使用非对称加密方法加密文件,并解密- 分析不同场景下加密与解密的应用5. 文件加密与解密的安全问题:以课本第五章内容为基础,让学生了解文件加密与解密中可能遇到的安全问题,提高学生的信息安全意识。
文件加密操作实训报告
一、实训背景随着信息技术的飞速发展,网络安全问题日益凸显。
文件加密作为一种有效的安全措施,能够有效保护用户隐私和信息安全。
为了提高学生的信息安全意识和实践能力,我们开展了文件加密操作实训。
本次实训旨在让学生了解文件加密的基本原理,掌握常用的加密工具和操作方法,提高学生在实际工作中应对信息安全问题的能力。
二、实训目标1. 理解文件加密的基本原理,了解加密算法的类型和应用场景。
2. 掌握常用加密工具的使用方法,如WinRAR、福昕PDF编辑器等。
3. 学会使用加密工具对文件进行加密和解密操作。
4. 提高学生在实际工作中应对信息安全问题的能力。
三、实训内容1. 文件加密基本原理(1)加密算法类型:对称加密、非对称加密、哈希算法等。
(2)加密算法应用场景:保护用户隐私、数据传输安全、存储安全等。
2. 常用加密工具介绍(1)WinRAR:一款强大的压缩和解压缩工具,支持多种加密算法,如AES、3DES 等。
(2)福昕PDF编辑器:一款专业的PDF编辑软件,支持PDF文件加密、解密和权限管理等功能。
3. 文件加密操作(1)使用WinRAR加密文件步骤:1)打开WinRAR软件,点击“添加到档案”按钮。
2)选择需要加密的文件,点击“确定”。
3)在弹出的“档案名称和参数”对话框中,设置档案密码。
4)点击“确定”,完成加密操作。
(2)使用福昕PDF编辑器加密PDF文件步骤:1)打开福昕PDF编辑器,打开需要加密的PDF文件。
2)点击“文件”菜单,选择“权限”选项。
3)在弹出的“权限设置”对话框中,勾选“加密文档”选项。
4)设置用户密码和所有者密码,点击“确定”。
5)在弹出的“保存文档”对话框中,选择保存位置和文件名,点击“保存”。
四、实训过程1. 教师讲解文件加密基本原理和常用加密工具的使用方法。
2. 学生分组,每组一台电脑,进行文件加密操作实训。
3. 教师巡回指导,解答学生在实训过程中遇到的问题。
4. 学生总结实训心得,撰写实训报告。
文件加密实验的实训报告
一、实验目的1. 了解文件加密的基本原理和方法。
2. 掌握使用加密软件进行文件加密的操作流程。
3. 提高对数据安全保护的认识,增强实际操作能力。
二、实验环境1. 操作系统:Windows 102. 加密软件:TrueCrypt3. 实验设备:个人电脑三、实验原理文件加密是指通过特定的算法将原始文件转换成难以识别和解读的密文,只有拥有正确密钥的用户才能将密文恢复成原始文件。
本实验采用TrueCrypt加密软件,该软件使用AES-256位加密算法,具有较高的安全性。
四、实验过程1. 创建加密容器(1)启动TrueCrypt软件,选择“创建容器”选项。
(2)选择加密容器类型(如:标准容器、隐藏容器等)。
(3)设置加密容器的文件名和路径。
(4)选择加密算法(如:AES-256位)。
(5)设置加密容器的密码,并确认。
(6)选择加密容器的体积(可自定义)。
(7)开始创建加密容器。
2. 加密文件(1)将需要加密的文件复制到加密容器中。
(2)双击加密容器,输入密码进入。
(3)将需要加密的文件拖拽到加密容器内部。
(4)选择加密容器,点击“系统工具”下的“压缩文件”。
(5)选择压缩格式(如:7z)。
(6)设置压缩文件名和路径。
(7)开始压缩加密文件。
3. 解密文件(1)打开加密容器,输入密码进入。
(2)双击压缩文件,选择解压路径。
(3)设置解压格式(如:7z)。
(4)开始解压文件。
(5)解压完成后,在指定路径下找到解密后的文件。
五、实验结果通过本次实验,成功掌握了使用TrueCrypt软件进行文件加密和解密的方法。
实验过程中,加密文件和密钥均未丢失,加密效果良好。
六、实验总结1. 加密技术在现代信息安全中具有重要作用,能够有效保护用户数据安全。
2. TrueCrypt加密软件具有较高的安全性,使用方便,适合个人和企业使用。
3. 在实际操作中,应严格按照操作流程进行文件加密和解密,确保数据安全。
4. 针对重要数据,建议定期更换密码,以增强安全性。
加密解密实验报告
加密解密实验报告加密解密实验报告一、引言随着信息技术的飞速发展,数据安全性成为了一个重要的问题。
为了保护敏感数据的安全,加密解密技术应运而生。
本实验旨在探究加密解密的原理与方法,并通过实验验证其可行性和有效性。
二、加密方法1. 对称加密对称加密是一种加密方法,使用相同的密钥进行加密和解密。
在实验中,我们选择了最常用的对称加密算法——AES(Advanced Encryption Standard)。
通过实验我们发现,AES算法能够在保证数据安全的同时,加解密速度较快。
2. 非对称加密非对称加密是一种使用不同密钥进行加密和解密的方法。
在实验中,我们选择了RSA算法进行实验。
RSA算法基于数论的难题,具有较高的安全性。
实验结果表明,RSA算法在加密过程中较为耗时,但加密后的数据安全性较高。
三、实验步骤1. 对称加密实验(1)选择明文:在实验中,我们选择了一段文字作为明文进行加密。
明文内容为:“加密解密实验报告”。
(2)选择密钥:在AES算法中,密钥长度可以选择128位、192位或256位。
我们选择了128位密钥进行实验。
(3)加密过程:将明文和密钥输入AES算法中,得到密文。
(4)解密过程:将密文和密钥输入AES算法中,得到明文。
2. 非对称加密实验(1)选择明文:同样选择了一段文字作为明文,内容为:“加密解密实验报告”。
(2)生成密钥对:使用RSA算法生成一对密钥,包括公钥和私钥。
(3)加密过程:将明文和公钥输入RSA算法中,得到密文。
(4)解密过程:将密文和私钥输入RSA算法中,得到明文。
四、实验结果1. 对称加密实验结果经过AES算法加密和解密后,我们成功地将明文“加密解密实验报告”转化为了密文,并且通过解密过程将密文还原为了明文。
实验结果表明,对称加密算法能够有效地保护数据的安全性。
2. 非对称加密实验结果通过RSA算法的加密和解密过程,我们同样将明文“加密解密实验报告”转化为了密文,并通过解密过程将密文还原为了明文。
数据加密与解密实验报告
数据加密与解密实验报告计算机信息安全实验一数据的加密与解密集美大学计算机工程学院实验报告课程名称:计算机信息安全技术指导教师:付永钢实验项目名称:数据的加密与解密实验项目编号:实验一一、目的通过对DES和RSA的使用和开发,加深对数据加密算法的理解,掌握对称加密和非对称加密体制的框架,提高对加密和解密原理的认识,学会使用加密和解密软件。
二、实验内容与设计思想1. 从服务器下载DES实力程序并执行,输入明文、密钥进行加密盒解密,可以观察采用不同的密钥进行加密和解密后的结果情况。
2.从服务器下载RSA示例程序(2个),阅读其中基于MFC的RSA加密解密程序,并对该程序进行修改,完善其中的加密解密功能。
3.从服务器下载RC4的加密和解密文档,自己独立实现一个基于RC4的加密和解密系统,能够实现对给定的文档进行基于RC4的加密和解密软件。
4. 从服务器下载PGP软件相关文档,学习基于PGP加密和解密的应用。
要求能够实现基于PGP和公钥密码的outlook邮件加密和解密功能。
三、实验使用环境一台装有Windows 2000/XP的PC、Visiual C++四、实验结果1. 班级:计算12 姓名:学号:组号:实验成绩:上机实践日期:2014.4.17 上机实践时间:4 学时错误密钥:2.3.直接输入:生成明文zhyf2 生成密文zhyf1:打开密文:篇二:实现DES加解密算法实验报告实现DES加解密算法实验报告一、DES加解密算法问题简介DES算法全称为Data EncryptionStandard,即数据加密算法,它是IBM公司于1975年研究成功并公开发表的。
DES 算法的入口参数有三个:Key、Data、Mode。
其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据:Mode为DES的工作方式,有两种:加密或解密。
二、DES加解密算法设计方法简介DES算法把64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位,其功能是把输入的64位数据块按位重新组合,并把输出分为L0 、R0两部分,每部分各长32位,其置换规则见下表:58,50,12,34,26,18,10,2,60,52,44,36,2 8,20,12,4,62,54,46,38,30,22,14,6,64,56,48,40,3 2,24,16,8,57,49,41,33,25,17,9,1,59,51,43,35,27,19,11,3,61,53,45,37,29,21,13,5,63,55,47,39,3 1,23,15,7,即将输入的第58位换到第一位,第50位换到第2位,……,依此类推,最后一位是原来的第7位。
文件加密实验报告
一、实验目的1. 了解文件加密的基本原理和常用加密算法。
2. 掌握文件加密工具的使用方法,包括加密和解密操作。
3. 通过实验加深对数据安全重要性的认识,提高信息安全防护意识。
二、实验环境1. 操作系统:Windows 102. 文件加密工具:TrueCrypt3. 加密文件:一份包含个人敏感信息的Word文档三、实验内容1. TrueCrypt简介TrueCrypt是一款免费的PC数据加密软件,支持Vista和Linux系统。
它可以在硬盘或闪存上创建一个或多个虚拟磁盘,所有虚拟磁盘上的文件都被自动加密。
加密后,需要通过密码来访问加密数据,加入了AES-256加密算法,使得加密数据几乎不可能被破解。
2. 加密文件(1)下载并安装TrueCrypt软件。
(2)打开TrueCrypt软件,选择“创建加密容器”功能。
(3)选择加密算法,这里选择AES-256位加密。
(4)设置加密容器大小,确保足够存放需要加密的文件。
(5)选择存储位置,创建加密容器。
(6)将Word文档拖拽到加密容器内,等待加密完成。
3. 解密文件(1)打开TrueCrypt软件,选择“打开加密容器”功能。
(2)选择加密容器,输入密码。
(3)将加密容器内的文件拖拽到目标位置,等待解密完成。
4. 实验结果分析通过本次实验,成功地将Word文档加密并解密。
加密后的文件无法被未授权用户访问,保证了文件的安全性。
同时,实验过程中也加深了对数据安全重要性的认识,提高了信息安全防护意识。
四、实验总结1. 文件加密是保障信息安全的重要手段,可以有效防止数据泄露和篡改。
2. 常用的加密算法有AES、DES、RSA等,应根据实际需求选择合适的加密算法。
3. 使用文件加密工具时,要确保加密过程的安全性,避免密码泄露。
4. 定期备份加密文件,以防数据丢失。
5. 提高信息安全防护意识,加强个人信息保护。
五、实验建议1. 在实际应用中,根据数据敏感程度选择合适的加密强度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五文件数据加密与解密
1.实验目的
(1)练习数据加密与解密的实现方法。
(2)练习将加密数据保存到文件中的方法。
(3)练习从文件中读取加密后的数据的方法。
2.建议用时
建议用4小时完成本实验,或者根据自己的理解情况调整实际需要的时间。
3.实验内容
设计一个Windows应用程序,实现下面的功能。
(1)使用某种加密算法加密窗体上TextBox控件中显示的文字,然后将其保存到文本文件MyData.txt中。
(2)程序运行时,首先自动判断加密后的文件是否存在,如果文件存在,则根据加密密钥对加密内容进行解密,并将解密后的结果显示在窗体的TextBox控件中。
4.实验步骤提示
要顺利完成本实验,需要解决4个问题:一是采用哪种算法进行加密;二是如何将加密后的数据保存到文件中;三是如何保存加密密钥;四是如何将加密后的内容读取出来并进行解密处理。
由于只有知道加密密钥才能进行解密,而实验中要求程序开始运行时就判断是否有加密后的文件,并对文件进行解密。
因此如何在加密的同时将加密密钥也保存下来是完成本实验的关键。
这个实验的实现方法有多种,参考解答仅仅是其中比较简单的一种。
具体实现方法可以按照下面的步骤进行。
(1)创建一个名为DataEncrypt的Windows应用程序,在【解决方案资源管理器】中,将Form1.cs换名为FormMain.cs。
(2)从【工具箱】中向设计窗体拖放一个TextBox控件、一个【保存】按钮和一个【打开】按钮。
界面设计效果如图1-15所示。
图5-1 界面设计
(3)在【保存】按钮的Click事件代码中,创建MyData.txt文件,先将加密密钥写入文件中,然后再写入加密后的文本内容。
参考代码如下。
private void buttonSave_Click(object sender, EventArgs e)
{
TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();
try
{
FileStream fileStream = File.Open(fileName, FileMode.Create);
fileStream.WriteByte(Convert.ToByte(tdes.Key.Length));
fileStream.Write(tdes.Key, 0, tdes.Key.Length);
fileStream.WriteByte(Convert.ToByte(tdes.IV.Length));
fileStream.Write(tdes.IV, 0, tdes.IV.Length);
CryptoStream cryptoStream = new CryptoStream(fileStream,
tdes.CreateEncryptor(tdes.Key, tdes.IV),
CryptoStreamMode.Write);
StreamWriter streamWriter = new StreamWriter(cryptoStream);
streamWriter.Write(textBox1.Text);
streamWriter.Close();
cryptoStream.Close();
fileStream.Close();
textBox1.Text = "";
MessageBox.Show("保存成功");
}
catch (Exception err)
{
MessageBox.Show(err.Message, "出错");
}
}
(4)编写一个DecryptFromFile方法,先读出加密密钥,再读出加密后的文本,并根据读出的密钥进行解密,然后将解密结果显示出来。
参考代码如下。
/// <summary>
/// 解密文件内容
/// </summary>
private void DecryptFromFile()
{
if (File.Exists(fileName) == false)
{
textBox1.Text = "";
return;
}
try
{
FileStream fileStream = File.Open(fileName, FileMode.Open);
int len = fileStream.ReadByte();
byte[] tdesKey = new byte[len];
fileStream.Read(tdesKey, 0, tdesKey.Length);
len = fileStream.ReadByte();
byte[] tdesIV = new byte[len];
fileStream.Read(tdesIV, 0, tdesIV.Length);
CryptoStream cryptoStream = new CryptoStream(fileStream,
new TripleDESCryptoServiceProvider().CreateDecryptor(tdesKey, tdesIV),
CryptoStreamMode.Read);
StreamReader streamReader = new StreamReader(cryptoStream);
textBox1.Text = streamReader.ReadToEnd();
streamReader.Close();
cryptoStream.Close();
fileStream.Close();
}
catch(Exception err)
{
MessageBox.Show(err.Message, "解密被加密的文件出错");
textBox1.Text = "";
}
}
采用这种办法,既可以实现保存密钥的目的,也起到了加密的作用。
虽然该方法将加密密钥和实际数据保存在一起感觉不太安全,但是即使攻击者打开加密文件,也很难将加密密钥分离出来。
当然,如果希望让加密效果更复杂些,也可以先写入几个字节的随机数,然后再保存加密密钥,读出时只需要将这几个字节先读出来,然后再读密钥即可。
或者将加密密钥和被加密的数据交叉保存也会使破解的难度增大。
对于一般的应用来说,这些方法已经够了。
(5)在窗体的Load事件和【打开】按钮的Click事件中分别调用DecryptFromFile方法,完成解密的功能。
(6)运行设计的程序,输入一些文字信息,单击【保存】按钮,然后打开bin目录下的MyData.txt文件,观察加密后显示的结果。
5.实验报告中要求回答的问题
(1)写出你认为有必要解释的关键代码。
(2)写出实验中遇到的问题及解决方法。
(3)你从这个实验中得到了哪些启发?。