当前位置:文档之家› 加密解密论文

加密解密论文

加密解密论文
加密解密论文

目录

摘要...................................................................................................II Abstract................................................................................................ II 第一章概论.. (1)

1.1 课题背景 (1)

1.2 课题意义 (2)

第二章 DES算法设计简介及方案论述 (3)

2.1 设计简介 (3)

2.2 设计方案 (3)

2.2.1 DES的加密过程 (4)

2.2.1 DES的解密过程 (5)

第三章 DES算法详细设计 (6)

3.1 子密钥的产生 (6)

3.2 初始值换IP (7)

3.3 加密函数 (7)

3.4 逆初始值换1

IP (9)

第四章设计结果及分析 (10)

4.1 设计结果 (10)

4.2 设计结果分析 (12)

总结 (13)

致谢 (14)

参考文献 (15)

附录主要程序代码 (15)

摘要

DES(Data Encryption Standard)算法是美国国家标准局(NIST)于1977年公布由IBM公司研制的一种加密算法,并且批准它作为非机要部门使用的数据加密标准。自从公布以来,它一直超越国界,成为国际上商用保密通信和计算机通信的最常用的加密算法。DES也是曾被广泛使用的分组密码,遍及世界的政府,银行和标准化组织把DES 作为安全和论证通信的基础。DES算法公开是密码学史上里程碑式的事件。

DES算法是分组密钥,每次处理64位的明文数据,形成64位的密文。DES也是一个对称算法,加密解密使用相同的算法和密钥,密钥长度为56位,可以为任意的56位的数,且随时可更换。此次设计主要是对DES数据加密标准原理和流程的描述,D从初始变换、DES的迭代过程、密钥变换和逆置换等四个方面开始研究的,并且用Visual C ++语言实现了它的模拟应用。

关键词:加密;解密;DES算法;Visual C++

Abstract

DES (Data Encryption Standard) algorithm is that National institute of standards and technology (NIST) announced a kind of encryption algorithm developed by IBM in 1977,and approve for it as whether datum that confidential developments use encrypt standard. Since announcing, it has been surmounting the national boundaries all the time, and has been come the most frequently used of encryption algorithm in the communication of commercial secret and computer in the world .DES block ciphers that enjoys widespread use too, spread all over the government of the world, the bank and standardization tissue regarded DES as the foundation to prove safe and communication to organize. It is a milestone incident in the cryptography history that DES algorithm is disclosed.

The key that DES algorithm divides into groups, data are encrypted in 64-bit block each time, form the cipher texts of 64. DES is a symmetrical algorithm too. The same steps, with the same key, are used to reverse the encryption, the key length is 56-bit, and can be the numbers of 56 wanton, and can change at any time. This text is mainly description that encrypts the standard principle and process to the data of DES,and analyses the basic principle of DES encryption algorithm, separately from four parts etc to research that is initial permutation, the DES ‘s iteration course, key permutation and Inverse initial permu tation, and has realized its simulation application with Visual C++language.

Keywords:Encrypt;Decrypt;DES algorithm;VC++programming

第一章概论

本章主要介绍了课题《DES对称密码的算法的设计与实现》的设计背景和意义,提出在当今的信息化时代,信息安全是至关重要的,密码技术更是确保信息安全的关键。

1.1 课题背景

随着计算机和网络在军事、政治、金融、工业、商业等部门的广泛应用,社会对计算机和网络的依赖越来越大,科学技术的研究和发展及其在商业领域的应用等方面,无一不与信息息息相关。所以信息就是生命,信息就是时间,信息就是财富。由于信息是共享的,信息的扩散会产生社会影响,所以保护信息的安全是信息时代的迫切需要。如果计算机和网络系统的信息安全受到破坏将导致社会的混乱并造成巨大损失。因此,确保计算机和网络系统的信息安全已成为世人关注的社会问题和计算机科学与技术领域的研究热点。

当前,以Internet为代表的计算机网络的迅速发展和广泛应用,正引起社会和经济的深刻变革,极大地改变着人们的生活和工作方式。Internet已经成为我们生活和工作中一个不可缺少的组成部分。对此,发展我国的电子政务、电子商务和电子金融已成为建设具有中国特色社会主义强国的不可回避的选择。然而,目前影响电子政务、电子商务、电子金融应用的主要技术障碍是信息安全问题。由于Internet原来缺少安全设计,再加上Internet的开放性和无政府状态,使Internet成为一个不安全的网络。这就使得Internet不能适应电子政务、电子商务和电子金融等系统对信息安全的要求。确保信息的安全就必须加强加密技术,加密技术是基于密码学原理来实现计算机、网络乃至一切信息系统安全的理论与技术基础。

1977年美国颁布了数据加密标准DES(Data Encryption Stantard),这是密码史上的一个创举。DES算法最初由美国IBM公司设计,经美国国家安全局评测后,颁布为标准。DES开创了向世人公开加密算法的先例。自从公布以来,它一直超越国界,成为国际上商用保密通信和计算机通信的最常用的加密算法。DES也是曾被广泛使用的分组密码,遍及世界的政府,银行和标准化组织把DES作为安全和论证通信的基础。DES算法公开是密码学史上里程碑式的事件。

加密算法的原理:密码体制从原理上可分为2大类,即单钥密码体制和双钥密码体制。前者常被用于数字签名,后者常被用于保密通信。加密算法的应用误区:DES算法具有极高的安全性,到目前为止,除了用穷举搜索法对DES算法进行攻击外,还没有发现更有效的办法。加密算法的实际应用:利用汇编语言实现DES加密、DES算法的VLSI 实现、FPGA上的DES算法实现。通过自己对加密算法的学习研究提出了自己对于加密算法的改进思想:随着计算机技术的突飞猛进,即使利用穷举的方法也只需付出较小的代价就可以在几天内完成破解的要求。为了加强DES算法的加密强度,人们进行了一些改良以及一种基于DES和RSA的改良机密方案,RSA加密算法是根据寻求两个大素数比较简单,而将它们的乘积分解开则极其困难这一原理来设计的。它设计精巧、安全、方便,是近代密码的世界标准,为确保数据安全作出了重大贡献。DES的设计充分体现了Shannon信息保密理论所阐述的设计密码的思想,标志着密码的设计与分析达到了新的水平。

1.2 课题意义

世界主要工业国家中每年因计算机犯罪所造成的经济损失令人吃惊,据美国FBIde 调查报告。美国每年因利用计算机犯罪所造成的经济损失就高达1 700多亿美元,远远超过了普通经济犯罪所造成的经济损失。据美国的一项调查报告,由40%的被调查者承认在他们的机构中曾发生过利用计算机犯罪的事件。在我国,利用计算机犯罪的案例也在迅速上升。

社会的信息化导致第三次军事革命,信息战、网络战成为新的作战形式,数字化部队和数字化战场已经诞生。过去被认为是科学幻想的计算机病毒,线已活生生地出现在我们的面前,对于计算机系统的安全构成极大的威胁。面对如此严重危害计算机和网络信息安全的种种威胁,必须采取措施确保计算机和网络的信息安全。特别是中美“黑客”网络大战等事件,使我们清醒地认识到,为了确保国家的安全,必须建立我国自己的信息安全体系。

国际标准化组织ISO在其网络安全体系设计标准(ISO 7498—2)中定义了计算机网络系统的六大安全服务功能:身份认证服务、访问控制服务、数据加密服务、数据完整性服务、不可否认服务和安全审计,比较全面地描述了计算机网络系统安全的内涵,而且强调了信息安全的服务职能。

随着信息技术的发展和应用,人们对信息安全的认识越来越全面,越来越深刻。

众所周知,能源、材料、信息是支撑现代社会大厦的三根支柱。在这三根支柱中能源和材料是具体的、物质的,而信息是抽象的、逻辑的。信息不能脱离信息系统而孤立存在。因此,我们就不能脱离信息系统安全而孤立地谈信息安全。换句话说,当我们讨论信息安全问题时总是要讨论信息系统的安全。

信息系统的安全主要包括四个侧面:设备安全(Safety and Security of Equipment),数据安全(Data Security),内容安全(Contents Security)和行为安全(Behavior Security)。

信息安全的关键技术——密码技术是一门古老的技术,大概自人类社会出现战争便产生了密码(Cipher)。由于密码长期以来仅用于政治、军事、公安、外交等要害部门,其研究本身也只限于秘密进行,所以密码被蒙上神秘的面纱。在军事上,密码成为决定战争胜负的重要因素之一。有些军事评论家认为,盟军在破译密码方面的成功,使第二次世界大战提前几年结束。

然而随着据算机荷通信技术的迅速发展和普及应用,出现了电子商务、电子金融等重要的应用信息系统。在这些系统中必须确保数据的安全保密,因此密码技术有了更广泛的应用空间。

1977年发布的DES算法具有极高安全性,到目前为止,除了用穷举搜索法对DES 算法进行攻击外,还没有发现更有效的办法。而56位长的密钥的穷举空间为256,这意味着如果一台计算机的速度是每一秒种检测一百万个密钥,则它搜索完全部密钥就需要将近2285年的时间,可见,这是难以实现的。密码技术随时都在更新,1999年美国政府颁布的三重DE S为新的密码标准。因此,要确保信息的安全,具有很强的密码技术是很必须的。

第二章 设计简介及设计方案论述

本章主要是介绍运用C++编写出一个加密和解密的密钥对一段文字进行加密和解密来达到隐秘的传送信息的目的的程序实现的理论基础。主要介绍了DES 算法的加密和解密过程。

2.1 设计简介

用VC++6.0来实现数据加密标准(DES )算法的加密和解密。

DES 的设计目标是,用于加密保护静态存储和传输信道中的数据,安全使用10—15年。

DES 综合运用了置换、代替、代数等多种密码技术。它设计精巧、安全、方便,是近代密码的世界标准,为确保数据安全作出了重大贡献。DES 的设计充分体现了Shannon 信息保密理论所阐述的设计密码的思想,标志着密码的设计与分析达到了新的水平。

DES 是一种分组密码。明文、密文和密钥的分组长度都是64位。

DES 是面向二进制的密码算法,因而能够加解密任何形式的计算机数据。

DES 是对合运算,因而加密和解密共用同一算法,从而使工程实现的工作量减半。

2.2 设计方案

DES 全称为Data Encryption Standard 即数据加密算法,它是IBM 公司研究成功并公开发表的。

DES 算法的入口参数有三个:Key 、Data 、Mode 。其中Key 为8个字节共64位,是DES 算法的工作密钥;Data 也为8个字节64位,是要被加密或被解密的数据;Mode 为DES 的工作方式,有两种:加密或解密。

数据加密标准(DES )的算法是用于计算机数据加密保护的分组加密的数学算法,算法以64 bit 为一个分组对数据进行加密。使用64 bit 的密钥加密64 bit 分组的信息。首先将原始数据64 bit 明文进行初始置换IP ,然后与子密钥(由加密密钥产生)进行一系列迭代运算,最后再经过逆置换1-IP ,即可得到64 bit 密文(加密后数据)。在每一轮中,数列块的右边32 bit 数据和密钥(Key)一起传送给函数f ,函数f 运算的结果再与数列块左边32 bit 数据进行“异或”操作。其中S 盒(S 选择函数)是DES 算法的心脏,由它实现非线性变换。解密过程与此类似,只是在应用子密钥时,顺序颠倒为k16,k15,…k2,k1。

DES 算法实现时用到许多的数学知识,子密钥的产生,初始值换IP ,加密函数以及逆初始值换1-IP 。

DES 的整体结构如图2-1所示:

1-=i i R L

),(11i i i i K R f L R --⊕=

i=1,2,3,…,16

图2-1 DES 的整体结构

2.2.1 DES 算法的加密过程

(1)64位密钥经子密钥产生算法产生出16个子密钥:1621,,K K K , ,分别供第一次,第二次,……,第十六次加密迭代使用。

(2)64位明文首先经过初始置换IP (Initial Permutation ),将数据打乱重新排列并分成左右两半。左边32位构成0L ,右边32位构成0R 。

(3)由加密函数f 实现子密钥1K 对0R 的加密,结果为32位的数据组),(10K R f 。

),(10K R f 再与0L 模2相加,

又得到一个32位的数据组),(100K R f L ⊕。以),(100K R f L ⊕作为第二次加密迭代的1R ,以0R 作为第二次加密迭代的1L 。至此,第一次加密迭代结束。

(4)第二次加密迭代至第十六次加密迭代的分别用子密钥1632,,K K K ,?进行,其过程与第一次加密迭代相同。

(5)第十六次加密迭代结束后,产生一个64位的数据组。以其左边32位作为16R ,以其右边32位作为16L ,两者合并再经过逆初始置换1-IP ,将数据重新排列,便得到64位密文。至此加密过程全部结束。

综上可将DES 的加密过程用如下的数学公式描述:

1-=i i R L

),(11i i i i K R f L R --⊕=

16,3,2,1?=i

2.2.2 DES 算法的解密过程

由于DES 的运算是对和运算,所以解密和加密可共用同一个运算,只是子密钥使用的顺序不同。

把64位密文当做明文输入,而且第一次解密迭代使用子密钥16K ,第二次解密迭代使用子密钥15K ,…,第十六次解密迭代使用子密钥1K ,最后的输出便是64位明文。

解密过程可使用如下的数学公式描述:

i i L R =-1 ),(1i i i i K L f R L ⊕=- 1,14,15,16,

?=i 过程如图2-2所示:

图2-2 解密过程演示

第三章 DES 算法详细设计

本章主要介绍了DES 的算法细节,DES 算法的细节分为子密钥的产生、初始置换、加密函数还有逆置换四个过程。

3.1 子密钥的产生

64位密钥经过置换选择1、循环左移、置换选择2等变换,产生出16个48位长的子密钥。子密钥的产生过程如图3-1所示。

图3-1 子密钥产生

64位的密钥分为8个字节。每个字节的前7位是真正的密钥位,第8位是奇偶校验位。置换选择1的作用是:一是从64位密钥中去掉8个奇偶校验码;二是把其余56位密钥位打乱重排,且将前28位作为0C ,后28位作为0D 。对密钥实施置换选择1,使得变换以后的密钥的各个位与原密钥位对应关系如下图3-2所示:(表一为忽略校验位以后情况).

0C 0D

图3-2 置换选择1

把变换后的密钥等分成两部分,前28位记为C[0],后28位记为D[0]。计算子密钥(共16个), 从i=1开始。分别对

C[i-1],D[i-1]作循环左移来生成C[i],D[i].(共16次)。每次循环左移位数如下表3-1所示:

串联C[i],D[i],得到一个56位数,然后对此数作置换选择2如下图3-2产生48位子密钥K[i]。变换过程如图3-3,按以上方法计算出16个子密钥。

图3-3 置换选择2

3.2 初始置换IP

初始置换IP 是DES 的第一步密码变换。初始置换的作用在于将64位明文打乱重排,并分成左、右两半。左边32位构成0L ,右边32位构成0R ,供后面的加密迭代使用。对64位数据块的处理:把数据分成64位的数据块,不够64位的以适当的方式填补。对数据块作变换得到如图3-4。

图3-4 初始置换IP 图3-5 选择运算E

3.3 加密函数

加密函数是DES 的核心部分。它的作用是在第i 次加密迭代中用子密钥i K 对1-i R 进行加密。在第i 次迭代加密中选择运算E 对32位的1-i R 的各位进行选择和排列,产生一个48位的结果。此结果与子密钥i K 模2相加,然后送入代替函数组S 。代替函数组由8个代替函数(也称S 盒子)组成,每个S 盒子有6位输入,产生4位的输出。8个S 盒子的输出合并,结果得到一个32位的数据组。此数据组再经过置换运算P ,将其各位打乱重排。置换运算P 的输出便是加密函数的输出),(1i i K R f -。

1.选择运算E

选择运算E 对32位的数据组A 的各位进行选择和排列,产生一个48位的结果。 将变换后的数据块等分成前后两部分,前32位记为L[0],后32位记为R[0]。用16个子密钥对数据加密。选择运算E 的矩阵如图3-5。

2.代替函数组S

在f(Ri,Ki)算法描述图中,S1,S2...S8为选择函数,其功能是把6bit 数据变为4bit 数据。

下面给出选择函数Si (i=1,2......8)的功能表:

选择函数Si

S1:

14,4,13,1,2,15,11,8,3,10,6,12,5,9,0,7,

0,15,7,4,14,2,13,1,10,6,12,11,9,5,3,8,

4,1,14,8,13,6,2,11,15,12,9,7,3,10,5,0,

15,12,8,2,4,9,1,7,5,11,3,14,10,0,6,13,

S2:

15,1,8,14,6,11,3,4,9,7,2,13,12,0,5,10,

3,13,4,7,15,2,8,14,12,0,1,10,6,9,11,5,

0,14,7,11,10,4,13,1,5,8,12,6,9,3,2,15,

13,8,10,1,3,15,4,2,11,6,7,12,0,5,14,9,

S3:

10,0,9,14,6,3,15,5,1,13,12,7,11,4,2,8,

13,7,0,9,3,4,6,10,2,8,5,14,12,11,15,1,

13,6,4,9,8,15,3,0,11,1,2,12,5,10,14,7,

1,10,13,0,6,9,8,7,4,15,14,3,11,5,2,12,

S4:

7,13,14,3,0,6,9,10,1,2,8,5,11,12,4,15,

13,8,11,5,6,15,0,3,4,7,2,12,1,10,14,9,

10,6,9,0,12,11,7,13,15,1,3,14,5,2,8,4,

3,15,0,6,10,1,13,8,9,4,5,11,12,7,2,14,

S5:

2,12,4,1,7,10,11,6,8,5,3,15,13,0,14,9,

14,11,2,12,4,7,13,1,5,0,15,10,3,9,8,6,

4,2,1,11,10,13,7,8,15,9,12,5,6,3,0,14,

11,8,12,7,1,14,2,13,6,15,0,9,10,4,5,3,

S6:

12,1,10,15,9,2,6,8,0,13,3,4,14,7,5,11,

10,15,4,2,7,12,9,5,6,1,13,14,0,11,3,8,

9,14,15,5,2,8,12,3,7,0,4,10,1,13,11,6,

4,3,2,12,9,5,15,10,11,14,1,7,6,0,8,13,

S7:

4,11,2,14,15,0,8,13,3,12,9,7,5,10,6,1,

13,0,11,7,4,9,1,10,14,3,5,12,2,15,8,6,

1,4,11,13,12,3,7,14,10,15,6,8,0,5,9,2,

6,11,13,8,1,4,10,7,9,5,0,15,14,2,3,12,

S8:

13,2,8,4,6,15,11,1,10,9,3,14,5,0,12,7,

1,15,13,8,10,3,7,4,12,5,6,11,0,14,9,2,

7,11,4,1,9,12,14,2,0,6,10,13,15,3,5,8,

2,1,14,7,4,10,8,13,15,12,9,0,3,5,6,11,

现设输入为:D=D1D2D3D4D5D6

令:列=D2D3D4D5

行=D1D6

然后在S1表中查得对应的数,以4位二进制表示,此即为选择函数S1的输出。

3.置换运算P

置换运算P把S盒输出的32位数据打乱重排,得到32位的加密函数输出。用P 置换来提供扩散,把S盒的混淆作用扩散开来。正是置换P与S盒的互相配合提高了DES的安全性。置换矩阵P如图3-5所示。

3.4 逆初始置换1-IP

逆初始值换1-IP 是初始值换IP 的逆置换。它把第十六次加密迭代的结果打乱重排,形成64位密文。至此加密过程结束。逆初始值换的置换矩阵如图3-6所示。

图3-5 置换选择P

图3-6 逆初始值换1-IP

第四章设计结果及分析

4.1 设计结果

1.按照提示信息输入,明文是字母时,输入正确密钥得到以下结果:

2.输入明文是汉字时,密钥正确可得到如下结果:

3.输入明文中存在数字时,输入密码正确时结果如下图:

文件加密与解密—Java课程设计报告

JAVA课程设计题目:文件的加密与解密 姓名: 学号: 班级: 日期:

目录 一、设计思路 (3) 二、具体实现 (3) 三、运行调试与分析讨论 (8) 四、设计体会与小结 (11) 五、参考文献 (12) 六、附录 (12)

一、设计思路 自从Java技术出现以业,有关Java平台的安全性用由Java技术发展所引发的安全性问题,引起了越来越多的关注。目前,Java已经大量应用于各个领域,研究Java的安全性对于更好地利用Java具有深远的意义。使用Java的安全机制设计和实现安全系统更具有重要的应用价值。 本课程设计,主要实践Java安全中的JCE模块,包括密钥生成,Cipher对象初始化、加密模式、填充模式、底层算法参数传递,也涉及文件读写与对象输入输出流。 二、具体实现 本系统通过用户界面接收三个参数:明文文件、密文文件、口令。采用DES加密算法,密码分组链(Cipher Block Chaining,CBC)加密模式,PKCS#5-Padding的分组填充算法。因为CBC涉及到底层算法参数的解密密钥的传递,所以将明文文件中的字节块以密封对象(Sealed Object)的方式加密后,用对象流输出到密文文件,这样就将密文、算法参数、解密密钥三都密封到一个对象中了。口令的hash值作为产生密钥的参数。设计流程图如下所示: 文件加密与解密设计流程图

本系统中,包含Default,Shares,SecretKey,EncAndDec四个包共6个类组成。定义的几个参数:MAX_BUF_SIZE为每次从文件中读取的字节数,也是内存缓冲区的大小;加密算法为DES;加密模式是密码分组链(CBC)模式;分组填充方式是PKCS#5Padding。包和类结构图如下所示: 本课程设计,包和类结构图: 以下为包中的类的方法实现说明 Package Shares类结构图

简单讲解加密技术

简单讲解加密技术 加密技术是最常用的安全保密手段,利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相同或不同的手段还原(解密)。 加密技术包括两个元素:算法和密钥。算法是将普通的信息或者可以理解的信息与一串数字(密钥)结合,产生不可理解的密文的步骤,密钥是用来对数据进行编码和解密的一种算法。在安全保密中,可通过适当的钥加密技术和管理机制来保证网络的信息通信安全。 什么是加密技术呢?加密技术是电子商务采取的主要安全保密措施,是最常用的安全保密手段,利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相同或不同的手段还原(解密)。加密技术包括两个元素:算法和密钥。算法是将普通的文本(或者可以理解的信息)与一窜数字(密钥)的结合,产生不可理解的密文的步骤,密钥是用来对数据进行编码和解码的一种算法。在安全保密中,可通过适当的密钥加密技术和管理机制来保证网络的信息通讯安全。密钥加密技术的密码体制分为对称密钥体制和非对称密钥体制两种。相应地,对数据加密的技术分为两类,即对称加密(私人密钥加密)和非对称加密(公开密钥加密)。对称加密以数据加密标准(DES,Data Enc ryption Standard)算法为典型代表,非对称加密通常以RSA(Rivest Shamir Ad 1eman)算法为代表。对称加密的加密密钥和解密密钥相同,而非对称加密的加密密钥和解密密钥不同,加密密钥可以公开而解密密钥需要保密。 加密技术的种类:对称加密(私人密钥加密),非对称加密(公开密钥加密),单项加密。 对称加密:对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥,这种方法在密码学中叫做对称加密算法,对称加密算法使用起来简单快捷,密钥较短,且破译困难,除了数据加密标准(DES),另一个对称密钥加密系统是国际数据加密算法(IDEA),它比DNS的加密性好,而且对计算机功能要求也没有那么高。IDEA加密标准由PGP(Pretty Good Privacy)系统使用。 对称加密的种类:DES(数据加密的标准)使用56位的密钥。AES:高级加密标准。3 DES:三圈加密标准它作为现在加密算法的标准。 非对称加密:即公钥加密,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对

加密解密课程设计

兰州商学院陇桥学院工学系课程设计报告 课程名称: Java 设计题目:加密与解密 系别:工学系 专业 (方向):信息管理与信息系统 年级、班:2012级(2)班 学生姓名:费亚芬 学生学号: 208

指导教师:张鑫 2014年7 月 1日 目录 一、系统开发的背景................................. 错误!未定义书签。 二、系统分析与设计................................. 错误!未定义书签。(一)............................................. 系统功能要求错误!未定义书签。(二)......................................... 系统模块结构设计错误!未定义书签。 三、系统的设计与实现............................... 错误!未定义书签。(一)图形用户界面模块 ........................... 错误!未定义书签。(二)加密操作模块 ............................... 错误!未定义书签。 (三)解密操作模块................................ 错误!未定义书签。(四)文件保存模块 ............................... 错误!未定义书签。

(五)文件选择模块 ............................... 错误!未定义书签。 四、系统测试....................................... 错误!未定义书签。(一)测试加密..................................... 错误!未定义书签。(二)测试选择加密文件............................. 错误!未定义书签。(三)测试生成加密文件............................. 错误!未定义书签。(四)测试浏览加密文件............................. 错误!未定义书签。(五)测试解密文件................................. 错误!未定义书签。 五、总结........................................... 错误!未定义书签。 六、附件(代码、部分图表) ......................... 错误!未定义书签。

RSA加密算法加密与解密过程解析

RSA加密算法加密与解密过程解析 1.加密算法概述 加密算法根据内容是否可以还原分为可逆加密和非可逆加密。 可逆加密根据其加密解密是否使用的同一个密钥而可以分为对称加密和非对称加密。 所谓对称加密即是指在加密和解密时使用的是同一个密钥:举个简单的例子,对一个字符串C做简单的加密处理,对于每个字符都和A做异或,形成密文S。 解密的时候再用密文S和密钥A做异或,还原为原来的字符串C。这种加密方式有一个很大的缺点就是不安全,因为一旦加密用的密钥泄露了之后,就可以用这个密钥破解其他所有的密文。 非对称加密在加密和解密过程中使用不同的密钥,即公钥和私钥。公钥用于加密,所有人都可见,私钥用于解密,只有解密者持有。就算在一次加密过程中原文和密文发生泄漏,破解者在知道原文、密文和公钥的情况下无法推理出私钥,很大程度上保证了数据的安全性。 此处,我们介绍一种非常具有代表性的非对称加密算法,RSA加密算法。RSA 算法是1977年发明的,全称是RSA Public Key System,这个Public Key 就是指的公共密钥。 2.密钥的计算获取过程 密钥的计算过程为:首先选择两个质数p和q,令n=p*q。 令k=?(n)=(p?1)(q?1),原理见4的分析 选择任意整数d,保证其与k互质 取整数e,使得[de]k=[1]k。也就是说de=kt+1,t为某一整数。

3.RSA加密算法的使用过程 同样以一个字符串来进行举例,例如要对字符串the art of programming 进行加密,RSA算法会提供两个公钥e和n,其值为两个正整数,解密方持有一个私钥d,然后开始加密解密过程过程。 1. 首先根据一定的规整将字符串转换为正整数z,例如对应为0到36,转化后形成了一个整数序列。 2. 对于每个字符对应的正整数映射值z,计算其加密值M=(N^e)%n. 其中N^e表示N的e次方。 3. 解密方收到密文后开始解密,计算解密后的值为(M^d)%n,可在此得到正整数z。 4. 根据开始设定的公共转化规则,即可将z转化为对应的字符,获得明文。 4.RSA加密算法原理解析 下面分析其内在的数学原理,说到RSA加密算法就不得不说到欧拉定理。 欧拉定理(Euler’s theorem)是欧拉在证明费马小定理的过程中,发现的一个适用性更广的定理。 首先定义一个函数,叫做欧拉Phi函数,即?(n),其中,n是一个正整数。?(n)=总数(从1到n?1,与n互质整数) 比如5,那么1,2,3,4,都与5互质。与5互质的数有4个。?(5)=4再比如6,与1,5互质,与2,3,4并不互质。因此,?(6)=2

密码学课程方案AES加密解密文档

个人资料整理仅限学习使用 成都信息工程学院课程设计报告 AES加密解密的实现 课程名称:应用密码算法程序设计 学生姓名: 学生学号: 专业班级: 任课教师: 年月日

个人资料整理仅限学习使用 附件:课程设计成绩评价表

个人资料整理仅限学习使用目录

1.背景 AES,密码学中的高级加密标准

DES加密算法与解密(带流程图)

一、DES加密及解密算法程序源代码: #include usingnamespacestd; conststaticcharIP_Table[]={//IP_Table置换 58,50,42,34,26,18,10,2, 60,52,44,36,28,20,12,4, 62,54,46,38,30,22,14,6, 64,56,48,40,32,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,31,23,15,7 }; conststaticcharFinal_Table[]={ //最终置换40,8,48,16,56,24,64,32, 39,7,47,15,55,23,63,31, 38,6,46,14,54,22,62,30, 37,5,45,13,53,21,61,29, 36,4,44,12,52,20,60,28, 35,3,43,11,51,19,59,27, 34,2,42,10,50,18,58,26, 33,1,41,9,49,17,57,25 }; conststaticcharS_Box[8][64]={ //s_box /*S1*/

0,15,7,4,14,2,13,1,10,6,12,11,9,5,3,8, 4,1,14,8,13,6,2,11,15,12,9,7,3,10,5,0, 15,12,8,2,4,9,1,7,5,11,3,14,10,0,6,13}, /*S2*/ {15,1,8,14,6,11,3,4,9,7,2,13,12,0,5,10, 3,13,4,7,15,2,8,14,12,0,1,10,6,9,11,5, 0,14,7,11,10,4,13,1,5,8,12,6,9,3,2,15, 13,8,10,1,3,15,4,2,11,6,7,12,0,5,14,9}, /*S3*/ {10,0,9,14,6,3,15,5,1,13,12,7,11,4,2,8, 13,7,0,9,3,4,6,10,2,8,5,14,12,11,15,1, 13,6,4,9,8,15,3,0,11,1,2,12,5,10,14,7, 1,10,13,0,6,9,8,7,4,15,14,3,11,5,2,12}, /*S4*/ {7,13,14,3,0,6,9,10,1,2,8,5,11,12,4,15, 13,8,11,5,6,15,0,3,4,7,2,12,1,10,14,9, 10,6,9,0,12,11,7,13,15,1,3,14,5,2,8,4, 3,15,0,6,10,1,13,8,9,4,5,11,12,7,2,14}, /*S5*/ {2,12,4,1,7,10,11,6,8,5,3,15,13,0,14,9, 14,11,2,12,4,7,13,1,5,0,15,10,3,9,8,6, 4,2,1,11,10,13,7,8,15,9,12,5,6,3,0,14, 11,8,12,7,1,14,2,13,6,15,0,9,10,4,5,3}, /*S6*/ {12,1,10,15,9,2,6,8,0,13,3,4,14,7,5,11,

java文件加密解密课程设计

软件学院 课程设计报告书 课程名称面向对象程序设计 设计题目文本文档的加密与解密 专业班级财升本12-1班 学号 1220970120 姓名王微微 指导教师徐娇月 2013年 1 月

1 设计时间 2013年1月14日-2013年1月18日 2 设计目的 面向对象程序设计是一门实践性很强的计算机专业基础课程。通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力。 3 设计任务 对文件进行加密解密 4 设计内容 4.1 需求分析 (1)给定任意一个文本文件,进行加密,生成另一个文件。 (2)对加密后的文件还原。 4.2 总体设计 4.2.1 包的描述 导入了java.awt; java.awt.event; java.io; javax.swing等包。 4.2.2 类的描述 Myframe类;E1类。其中Myframe类继承Frame类;可以扩展Frame的功能并且可以实例化的多种功能,这个类也实现了ActionListener这个接口,它是Java中关于事件处理的一个接口,ActionListener用于接收操作事件的侦听器接口。对处理操作事件感兴趣的类可以实现此接口,而使用该类创建的对象可使用组件的addActionListener 方法向该组件注册。在发生操作事件时,调用该对象的actionPerformed 方法。 4.3 页面设计

图4.3-1 显示页面 代码实现: addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } });

加密技术及密码破解实验报告

第九章、实验报告 实验一、设置Windows启动密码 一、实验目的:利用Windows启动密码保存重要文件。 二、实验步骤: 1、在Windows XP系统中选择开始——运行,在打开输入框中“syskey.exe”,点击确定,打开“保证Windows XP账户数据库的安全”对话框。 2、单击【更新】,打开【启动密码】对话框,然后输入密码,在【确认】文本框中再次输入密码,单击【确定】

实验二、为word文档加密解密 一、实验目的:保护数据的安全 二、实验步骤: 1、打开一个需要加密的文档,选择【工具】——【选项】——【安全性】然后输入想要设置打开文件时所需的密码 2、单击【高级(A)】打开加密类型对话框,选中【加密文档属性】复选框,单击【确定】。

3、打开文件的【确认密码】对话框,输入打开文件时需要的密码,单击【确定】,随即打开【确认密码】对话框,输入密码。 4、保存文件后,重新打开Word文档,打开【密码】,输入打开文件所需的密码,单击【确定】输入修改的密码,单击【确定】 破解word密码 (1)安装Advanced Office Password Recovery软件,安装完成后打开需要破解的word 文档,进行暴力破解,结果如图所示: 实验三、使用WinRAR加密解密文件

一.实验目的:加密文件,保证文件的安全性。 二.实验步骤: 1、在需要加密的文件夹上右击,选中【添加到压缩文件】打开【压缩文件名和参数】 2、选中【压缩文件格式】组合框中的【RAR】并在【压缩选项】中选中【压缩后删除源文件】然后切换到【高级】,输入密码,确认密码。 3、关闭对话框,单击确定,压缩完成后,双击压缩文件,系统打开【输入密码对话框】 破解WinRAR加密的文件 (1)安装Advanced RAR Password Recovery软件,打开WinRAR加密文件,进行暴力破解,获得密码。结果如图:

set加解密过程

3.4.5 SE丁协议的加解密过程 1。加密过程 首先,甲方要产生一个数字签名来向乙方证明信息确实是他发出的。他需要执行以 下步骤: ①将所发送信息通过哈希算法,形成信息摘要。 ②使用RSA算法,用私人签名密钥加密信息摘要,形成数字签名。 其次,甲方需要加密信息,使得它在网上传输时没有人能读懂它。 ③甲方通过软件,随机生成对称密钥,作大信息量加密之用,SET缺省的对称密钥 算法是DES o ④甲方用对称密钥加密所要发送的信息(即明文)、数字签名和证书。发送证书的目 的是为了乙方可从证书中得到公开签名密钥,以解开甲方的数字签名。 ⑥到目前为止,甲方可安全地发送信息了,同时也证明了他的身份。但为了使乙方 能读懂这些信息,甲方还需将对称密钥送给乙方。甲方用乙方的公开密钥加密该对称密钥,形成所谓的数字信封。最后甲方将数字信封和加密信息一同发给乙方。 2.解密过程 ①乙方用自己的私人密钥交换密钥将数字信封打开,取出对称密钥。 ②乙方用对称密钥解密信息,得到明文信息、数字签名和甲方的公开签名密钥(从 甲方的证书中获得)。 ③乙方用甲方的公开签名密钥解密数字签名,得到信息摘要。 3.验证过程 到目前为止,乙方还不知道收到的信息是否确实来自甲方,为了证实是甲方发送的信息,乙方还要完成以下步骤: ①将得到的明文信息进行哈希运算,得到新的信息摘要。 ②比较新的信息摘要和原信息摘要(上述解密过程中得到的),如果两者一致,说明 收到的信息确实来自拥有与证书中公开签名密钥成对的私人签名密钥一方,而且信息是完整的。一旦乙方将证书送到发证机构CA认证,就可确定甲方的真实身份和证书是否有效。 3.4.6 SE丁协议分析 SET是基于信用卡的安全支付协议,用于保证信息的机密性、交易方身份的认证和信息的完整性。 (1)信息的机密性 在SET协议中,传输的信息都进行了加密处理,以保证信息的机密性。DES中SET 协议中默认的对称加密算法,用于保护敏感的金融数据;商用数据隐蔽设备CDMF(Commercial Data Mashing Facility)是另一种对称加密算法,用于SET中收单行和持卡者的信息保护它以DES为底层加密算法,采用40位密钥代替DES的64位密钥。为了保证信用卡信息不被商家非法获取,SET采用双重数据签名技术,以提供订购信息和支付消息的机密性,使商家只能看到订购信息,不能看到用户的信用卡信息,而银行只能看到信用卡信息,不能看到订购信息。 (2)数据的完整性 SET使用数字签名来保证数据的完整性。SET使用安全Hash算法SHA-1( Secure Hash Algorithm -1)及RSA来实现数字签名。SHA-1对于任意长度的消息都生成一个160位的消息摘要。如果消息中有一位发生变化,则消息摘要中的数据也会发生变化,两个不同的消息的摘要完全相同的概率几乎是零。 SET协议中还应用双重签名来保证信息的完整性。双重签名的目的是连接两个不同

DES加密解密课程设计报告

D E S加密解密课程设计报 告 Prepared on 22 November 2020

成都信息工程学院课程设计报告 DES算法加密与解密的设计与实现课程名称:密码算法程序设计 学生姓名: 学生学号: 专业班级: 任课教师: XX年 XX 月 XX 日

目录

1背景 DES算法概述 DES(Data Encryption Standard)是由美国IBM公司于20世纪70年代中期的一个密码算(LUCIFER)发展而来,在1977年1月15日,美国国家标准局正式公布实施,并得到了ISO的认可,在过去的20多年时间里,DES被广泛应用于美国联邦和各种商业信息的保密工作中,经受住了各种密码分析和攻击,有很好的安全性。然而,目前DES算法已经被更为安全的Rijndael算法取代,但是DES加密算法还没有被彻底的破解掉,仍是目前使用最为普遍的对称密码算法。所以对DES的研究还有很大价值,在国内DES算法在POS、ATM、磁卡及智能卡(IC卡)、加油站、高速公路收费站等领域被广泛应用,以此来实现关键的数据保密,如信用卡持卡人的PIN 码加密传输,IC卡与POS机之间的双向认证、金融交易数据包的MAC校验等,均用到DES算法。 DES算法是一种采用传统的代替和置换操作加密的分组密码,明文以64比特为分组,密钥长度为64比特,有效密钥长度是56比特,其中加密密钥有8比特是奇偶校验,DES的加密和解密用的是同一算法,它的安全性依赖于所用的密钥。它首先把需要加密的明文划分为每64比特的二进制的数据块,用56比特有效密钥对64比特二进制数据块进行加密,每次加密可对64比特的明文输入进行16轮的替换和移位后,输出完全不同的64比特密文数据。由于DES算法仅使用最大为64比特的标准算法和逻辑运算,运算速

几种常用的数据加密技术

《Network Security Technology》Experiment Guide Encryption Algorithm Lecture Code: 011184 Experiment Title:加密算法 KeyWords:MD5, PGP, RSA Lecturer:Dong Wang Time:Week 04 Location:Training Building 401 Teaching Audience:09Net1&2 October 10, 2011

实验目的: 1,通过对MD5加密和破解工具的使用,掌握MD5算法的作用并了解其安全性; 2,通过对PGP加密系统的使用,掌握PGP加密算法的作用并了解其安全性; 3,对比MD5和PGP两种加密算法,了解它们的优缺点,并总结对比方法。 实验环境: 2k3一台,XP一台,确保相互ping通; 实验工具:MD5V erify, MD5Crack, RSA-Tools,PGP8.1 MD5加密算法介绍 当前广泛存在有两种加密方式,单向加密和双向加密。双向加密是加密算法中最常用的,它将明文数据加密为密文数据,可以使用一定的算法将密文解密为明文。双向加密适合于隐秘通讯,比如,我们在网上购物的时候,需要向网站提交信用卡密码,我们当然不希望我们的数据直接在网上明文传送,因为这样很可能被别的用户“偷听”,我们希望我们的信用卡密码是通过加密以后,再在网络传送,这样,网站接受到我们的数据以后,通过解密算法就可以得到准确的信用卡账号。 单向加密刚好相反,只能对数据进行加密,也就是说,没有办法对加密以后的数据进行解密。这有什么用处?在实际中的一个应用就是数据库中的用户信息加密,当用户创建一个新的账号或者密码,他的信息不是直接保存到数据库,而是经过一次加密以后再保存,这样,即使这些信息被泄露,也不能立即理解这些信息的真正含义。 MD5就是采用单向加密的加密算法,对于MD5而言,有两个特性是很重要的,第一是任意两段明文数据,加密以后的密文不能是相同的;第二是任意一段明文数据,经过加密以后,其结果必须永远是不变的。前者的意思是不可能有任意两段明文加密以后得到相同的密文,后者的意思是如果我们加密特定的数据,得到的密文一定是相同的。不可恢复性是MD5算法的最大特点。 实验步骤- MD5加密与破解: 1,运行MD5Verify.exe,输入加密内容‘姓名(英字)’,生成MD5密文;

AES算法加解密原理及安全性分析

AES算法加解密原理及安全性分析 刘帅卿 一、AES算法简介 AES算法是高级加密标准算法的简称,其英文名称为Advanced Encryption Standard。该加密标准的出现是因为随着对称密码的发展,以前使用的DES(Data Encryption Standard数据加密标准)算法由于密钥长度较小(56位),已经不适应当今数据加密安全性的要求,因此后来由Joan Daeman和Vincent Rijmen提交的Rijndael算法被提议为AES的最终算法。 AES是一个迭代的、对称密钥分组的密码,它可以使用128、192和256位密钥,并且用128位(16字节)分组加密和解密数据。与公共密钥密码使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据。通过分组密码返回的加密数据的位数与输入数据相同。迭代加密使用一个循环结构,在该循环中重复置换(permutations)和替换(substitutions)输入数据。加之算法本身复杂的加密过程使得该算法成为数据加密领域的主流。 二、AES算法的基本概念 1、有限域(GF) 由于AES算法中的所有运算都是在有限域当中进行的,所以在理解和实现该算法之前先得打好有限域这一基石才行。通常的数学运算都是在实数域中进行,而AES算法则是在有限域中进行,我们可以将有限域看成是有确定边界范围的正整数集合,在该集合当中,任意两个元素之间的运算结果都仍然落在该集合当中,也即满足运算封闭性。 那么如何才能保证这样的“有限性”(也即封闭性)呢? GF(2w)被称之为伽罗华域,是有限域的典型代表。随着w(=4,8,16,…)的取值不同所形成的有限域范围也不同。AES算法中引入了GF域当中对数学运算的基本定义:将两数的加减法定义为两者的异或运算;将两数的乘法定义为多

数据加密技术分析及应用_郭敏杰

第21卷第5期2005年10月 赤峰学院学报(自然科学版) Journal of Chifeng College(Natural Science Edition) Vol.21No.5 Oct.2005数据加密技术分析及应用 郭敏杰 (内蒙古伊泰丹龙药业有限责任公司,内蒙古 赤峰 024000) 摘 要:数据加密技术是实现网络安全的关键技术之一.本文系统地介绍了当前广泛使用的几种数据加密技术:对称密钥加密、公开密钥加密以及混合式加密,对它们进行了客观上的分析并介绍了在网络及其他方面的应用状况. 关键词:数据加密;密钥;网络安全 中图分类号:TP309.7文献标识码:A文章编号:1673-260X(2005)05-0041-01 伴随微机的发展与应用,数据的安全越来越受到高度的重视.数据加密技术就是用来保证信息安全的基本技术之一.数据加密实质是一种数据形式的变换,把数据和信息(称为明文)变换成难以识别和理解的密文并进行传输,同时在接收方进行相应的逆变换(称为解密),从密文中还原出明文,以供本地的信息处理系统使用.加密和解密过程组成为加密系统,明文和密文统称为报文. 1 对称密钥加密算法 对称式密钥加密技术是指加密和解密均采用同一把秘密钥匙,而且通信双方必须都要获得这把钥匙,并保持钥匙的秘密.当给对方发信息时,用自己的加密密钥进行加密,而在接收方收到数据后,用对方所给的密钥进行解密. 对称密钥加密有许多种算法,但所有这些算法都有一个共同的目的———以可还原的方式将明文(未加密的数据)转换为暗文.暗文使用加密密钥编码,对于没有解密密钥的任何人来说它都是没有意义的.由于对称密钥加密在加密和解密时使用相同的密钥,所以这种加密过程的安全性取决于是否有未经授权的人获得了对称密钥.这就是它为什么也叫做机密密钥加密的原因.希望使用对称密钥加密通信的双方,在交换加密数据之前必须先安全地交换密钥. 加密算法中最简单的一种就是“置换表”算法,这种算法也能很好达到加密的需要.每一个数据段(总是一个字节)对应着“置换表”中的一个偏移量,偏移量所对应的值就输出成为加密后的文件.加密程序和解密程序都需要一个这样的“置换表”.事实上,80×86cpu系列就有一个指令`xlat'在硬件级来完成这样的工作.这种加密算法比较简单,加密解密速度都很快,但是一旦这个“置换表”被对方获得,那这个加密方案就完全被识破了.更进一步讲,这种加密算法对于黑客破译来讲是相当直接的,只要找到一个“置换表”就可以了.这种方法在计算机出现之前就己经被广泛的使用. 对这种“置换表”方式的一个改进就是使用2个或者更多的“置换表”,这些表都是基于数据流中字节的位置的,或者基于数据流本身.这时,破译变的更加困难,因为黑客必须正确地做几次变换.通过使用更多的“置换表”,并且按伪随机的方式使用每个表,这种改进的加密方法已经变的很难破译. 2 基于公钥的加密算法 基于公钥的加密算法有两种方式:对称密钥算法和非对称密钥算法.所谓对称密钥加密方法中,对信息的加密和解密都使用相同的密钥,或者可以从一个密钥推导出另一个密钥,而且通信双方都要获得密钥并保持密钥的秘密.当需要对方发送信息时,用自己的加密密钥进行加密,而在接受方收到数据后,用对方所给的密钥进行解密. 非对称密钥算法就是加密解密使用不同的密钥.这种算法的基本原理是利用两个很大的质数相乘所产生的乘积来加密,这两个质数无论哪个先与原文件编码相乘、对文件加密,均可由另一个质数再相乘来解密,但要用一个质数来求出另一个质数则是十分困难的. 非常著名的pgp公钥加密以及rsa加密方法都是非对称加密算法. 3 对称密钥和公钥相结合的加密技术 根据对称密钥和公钥加密特点,在实际应用中将二者相结合,即使用DES/IDE A和RSA结合使用.首先发信者使用DES/IDEA算法用对称钥将明文原信息加密获得密文,然后使用接受的RSA公开钥将对称钥加密获得加密的DES或IDE A密钥,将密文和密钥一起通过网络传送给接收者.接受方接受到密文信息后,先用自己的密钥解密而获得DES或IDEA密钥,再用这个密钥将密文解密而后获得明文原信息.由此起到了对明文信息保密作用. 4 加密技术的应用及发展 随着网络互联技术的发展,信息安全必须系统地从体系结构上加以考虑.ORI(开放系统互联)参考模型的七 (下转第44页) · 41 · DOI:10.13398/https://www.doczj.com/doc/9612785040.html, ki.issn1673-260x.2005.05.024

常见格式文件的加密和解密

常用格式文件的加密解密方法 庆云县水务局项目办 二〇一二年五月二十三日

目录 0、引子 1 1、新建word文件的加密方法1 1.1任务1 1.2基本步骤1 1.3示范1 2、原有word文件的加密方法4 3、Excel文件的加密方法 4 3.1任务4 3.2基本步骤4 3.3示范4 4、CAD文件的加密方法 5 4.1任务5 4.2基本步骤6 4.3示范6 5、文件的解密方法8 5.1任务8 5.2基本步骤8 5.3示范8

0、引子 我们的日常工作,往往是处理一些文字、表格和图纸。最常用的文件格式有word、excel和CAD。怎样加密、解密这些格式的文件,是我们常遇到的问题。由于文件的加密、解密方法大致一样,所以,这里只介绍这三种文件的加密解密方法。其它格式的文件加密解密,可以参照进行。 加密解密文件需要知道文件格式的后缀名,后缀名又称文件扩展名,是操作系统用来标志文件格式的一种机制。通常来说,一个扩展名是跟在主文件名后面的,由一个分隔符分隔。如文件名“readme.txt”中,readme是主文件名,.txt为扩展名,表示这个文件被认为是一个纯文本文件。常见文档类型及其后缀名和打开方式详见下表。 常见文档类型及其后缀名和打开方式: 1、新建word文件的加密方法 1.1任务 对新建word文档1(未曾保存)进行加密 1.2基本步骤 ①打开菜单“文件”→②点击“另存为”选项→③点击“工具”按钮→④选定“安全措施选项(C)”→⑤输入密码→⑥确定→⑦再次输入密码→⑧确定→⑨保存。 1.3示范 ①打开菜单“文件”:点击菜单栏最左侧的“文件”按钮,弹出“文件”下拉列表; ②点击“另存为”选项:点击“文件”下拉列表的“另存为”选项,弹出“另存为”对话框,如图1所示。

文件加密系统课程设计

仲恺农业工程学院课程设计 文件加密 姓名孙浩斌 院(系)信息科学与技术学院 专业年级计算机132 学号 指导教师罗慧慧 职称学生 起止时间2015-6-15至2015-6-24 仲恺农业工程学院教务处制 目录

一.课程设计目的和要求 设计目的 有时我们有些资料不希望别人看到,最常用的方法就是加密。对给定的相关文件进行加密可以对文件进行保护,可以防止某些重要信息不被别人所知道甚至窃取。对文件起到保护作用,可以方便用户使用某些只有自己能知道的信息,能够安全保护文件的相关内容几信息不被外流。随着信息社会的到来,人们在享受信息资源所带来的巨大的利益的同时,也面临着信息安全的严峻考验。信息安全已经成为世界性的现实问题,信息安全问题已威胁到国家的政治、经济、军事、文化、意识形态等领域,同时,信息安全问题也是人们能否保护自己的个人隐私的关键。信息安全是社会稳定安全的必要前提条件。通过课程设计,使学生了解高级程序设计语言的结构,逐渐培养学生的编程能力、用计算机解决实际问题的能力,掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级语言程序设计能力。为后续各门计算机课程的学习和毕业设计打下坚实基础。 程序设计的主要任务是要求学生遵循软件开发过程的基本规范,运用结构化程序设计的方法,按照课程设计的题目要求,分析、设计、编写、调试和测试程序及编写设计报告。

本课程设计的目标: 1. 巩固《高级语言程序设计》课程学习的内容和加深学生对基本知识的理解和掌握。 2. 掌握编程和程序调试的基本技能。 3. 掌握软件设计的方法。 4. 提高运用程序设计解决实际问题的能力。 5. 培养独立思考、综合运用所学有关相应知识的能力。 6. 强化上机动手编程能力,闯过理论与实践相结合的难关! 设计要求 1. 分析课程设计题目的要求,根据所要求的程序功能,画出程序的流程图。 2.对系统功能模块进行分析,写出详细设计说明文档。 3.对程序源代码进行调试与测试,使其能正确运行。 4.设计完成的软件要便于操作和使用。 5.设计完成后提交课程设计报告。 设计意义 至今,密码技术是取得信息安全性最有效的一种方法, 密码技术是信息安全的核心技术。通过数据加密,人们可以有效地保证通信线路上的内容不被泄露,而且还可以检验传送信息的完整性。进一步,密码技术可以应用于数字签名、身份认证和信息鉴定,这些应用对于资源存取控制以及其它安全措施是必须而且有效的。相对于防病毒软件和防火墙软件来说,基于密码技术密码类产品、认证类产品份额相对较小,但随着金融、电信、政府等行业信息化建设对于网络安全整体解决方案需求的增加,将会有较大的增长。

文件加解密处理程序文件

程序设计报告 ( 2012 /2013 学年第一学期) 题目:文件加解密处理程序 专业 学生姓名 班级学号 指导教师燕俐 指导单位计算机系统结构与网络教学中心日期 2012.12.10~12.21

一、课题容及要求 1.功能要求 编写一个对文件(由数字或字母组成)进行加密解密的程序。可以将所需要的容(整个文件或者输入的一行字符)加密,也可以将存储的加密文件翻译回来。例如加密时可以将选取容的每个字符依次反复加上”49632873”中的数字,如果围超过ASCII码值的032(空格)—122(‘z’),则进行模运算(既N%122).解密与加密的顺序相反。 2.菜单要求: 从键盘输入要进行加密的一行字符串或者需要加密的文件名。显示菜单: 1.设置加密方法 2.加密 3.解密 4.显示原始文件和解密文件 选择菜单,进行相应的操作。加密方法是设置一加密字符串以及对文件的哪些部分进行加密;加密是将原始文件加密并保存到文件中;解密是将加了密的文件还原并保存到文件中,同时应比较与原始文件的一致性;显示是将文件在屏幕上显示出来,供人工校对。 3. 程序设计参考思路: (1)定义原始文件sourse.txt、加密文件result.txt和还原文件recall.txt (2) 程序模块及函数功能: (1)在屏幕上显示文件 void printtxt(); (2)加密void encode(); (3)解密void decode(); (4)文件比较void cmptxt(); 4.需要的知识: (1)文件读取写入操作语言 (2)字符串的处理,如何对字符进行加减操作,并保证加减后的数值处于某一围之(模运算) (3)了解加解密的基本原理 二、需求分析

十分钟读懂加密技术----对称加密技术

十分钟读懂加密技术(一)----对称加密技术 加密技术包括加密和解密两个运算过程。加密是指将特定可读的信息或数据(明文)转化为不可读的内容(密文)的过程,这个过程一般需要算法和密钥两个元素,具体过程对于不同的加密技术来说有所不同。解密是加密过程的逆运算,是将不可读的密文恢复为明文的过程,这个过程也需要密钥的参与。加密技术依据加密过程和解密过程使用的密钥是否一致可以分为两类:对称加密和非对称加密,也称私钥加密和公钥加密。本文主要介绍对称加密技术。 一、对称加密技术的原理 对称加密(私钥加密),顾名思义,即加密和解密两个过程使用的密钥相同。双方(或多方)使用相同的密钥来对需要传递的信息或数据进行加密或解密以构建一个信息通道从而达到交流传输的目的。 如下图所示,如果Alice想要通过互联网发送信息给Bob,但是又怀疑互联网不是一个安全的信息通道,很可能存在第三方恶意机构会拦截她发送的信息。利用对称加密技术,Alice可以用她事先和Bob商量好的密钥先对要发送的消息进行加密,把消息转化为不可读的密文,再将密文通过互联网发送给Bob。这样即使被第三方拦截,得到的也只是密文,难以解读Alice原本要发送的消息。在Bob接收到密文后,再使用与Alice一致的密钥对密文进行解密,将密文恢复到明文。而当Bob想发送消息给Alice时,他的做法也是一样。在这个消息传递中,只要恶意机构无法得到Alice和Bob使用的密钥,那么便无法轻松地对密文进行解密,这种加密技术就是安全的。

图1 对称加密技术 二、早期的对称加密技术 早期的加密技术都是对称加密技术,最早1可以追溯到古希腊时期斯巴达城使用的斯巴达密码棒(Scytale )2。到了古罗马时期,出现了非常著名的凯撒密码(CaesarCipher )。 斯巴达密码棒是古希腊时期斯巴达城邦主要运用的一种加密工具。其原理是利用木棍对信息字母进行简单地位移,只有将写有信息的长条皮革缠绕在特定直径的木棍上时,才能阅读出信件的真实信息,否则只是一堆无意义的字母组合。 凯撒密码与斯巴达密码棒的原理基本相同,也是对原信息进行简单的数位偏移,将明文转化为密文的加密方式。比如偏移数位是3,那么字母A 就被替换为字母D ,以此类推。这种加密方式据说最早是用于凯撒和将军之间的交流。 1有关于密码学的历史发展,参见Kahn D 在1996年出版的“The Codebreakers ”。该书全面介绍了从4000年前到20世纪有关密码学的重大发展事件。 2 Kelly T. The myth of the skytale[J]. Cryptologia, 1998, 22(3):244-260. 加密 解密 Key Alice Bob 737909666C0288596DBF116 A10DDF14ACE3078D70F7134 E325EFBC497272F6BA

加密文件解密方法

?分享 ?应用程序 ?公共主页 ?人人生活 ?人人小组 ?同名同姓 ?人人中学 ?大学百科 ?人人热点 注册 登录 帮助 给我们提建议 更多 入人人网,找回老朋友,结交新朋友。 加入人人网 分享 返回分享首页? 分享 破解普通加密软件教程(以下以哈尼司为例说明),忘记密码亦可用这个方法来源:王林的日志 废话不多说,例如,我有一首名为《念奴娇》的歌,放在D盘的一个名为“加密”的文件夹里,加密的时候,把哈尼司这款软件也放进这个文件夹里,如下图:

下面对这款软件输入密码进行加密,如下图: 输入密码后,点击加密,则文件《念奴娇》被隐藏,如下图所示:

如果这个时候忘记密码,那就用以下这款软件进行破解(其实,算不上破解,只能算是把隐藏的文件找回来)。这款软件名为:DiskGenius,即是一款普通的文件恢复类软件,如果嫌麻烦,直接去我班的群共享里下载,软件已上传。软件压缩包如下图: 下载到这款软件后,解压缩,出现一个文件夹,文件夹里有如下内容,如图:

看到我用红线圈出来的图标了吗?点击它,打开后界面如下,然后在左侧的目录树那里,找到加密的文件夹--"D:\加密\",一路点击,如图所示:

按123步,完成首先,点开目录树,如图所示:点开“加密”文件夹,再点开“Thumbs.dn”文件夹,再点开“com1.{d3e34b21-9d75-101a-8c3d-00aa001a1652}”文件夹,再点开“ ..”文件夹,最后点开“LastF”文件夹,好了,再看右边,隐藏的文件已经看到了,然后右键点击文件,可以把文件复制到桌面或者其他地方。就找回文件了,其中不需要密码。 个人说明:网上流传的各种加密软件,大部分不 算加密,只是把文件隐藏起来了。如果你发现,无论多大的文件,用加密软件都能瞬间完成加密,即:输入密码点击确认后,文件马上就看不到了,那肯定不

相关主题
文本预览
相关文档 最新文档