当前位置:首页>> >>


vc实现文件简单的加密和解密.rar

收藏

资源目录
    文档预览:
    编号:20180913212648341    类型:共享资源    大小:32.59MB    格式:RAR    上传时间:2018-09-13
    尺寸:148x200像素    分辨率:72dpi   颜色:RGB    工具:   
    45
    金币
    关 键 词:
    vc 实现 文件 简单 加密 解密
    资源描述:
    实现文件简单的加密和解密摘要随着信息社会的到来,人们在享受信息资源所带来的巨大的利益的同时,也面临着信息安全的严峻考验。信息安全已经成为世界性的现实问题,信息安全问题已威胁到国家的政治、经济、军事、文化、意识形态等领域。同时,信息安全也是人们保护个人隐私的关键,是社会稳定安全的必要前提条件。 信息安全是一个综合性的交叉学科领域,广泛涉及数学、密码学、计算机、通信、控制、人工智能、安全工程、人文科学等诸多学科,是近几年迅速发展的一个热点学科领域。信息对抗和网络安全是信息安全的核心热点,它的研究和发展又将刺激、推动和促进相关学科的研究与发展。现今,加密是一种保护信息安全性最有效的方法。密码技术是信息安全的核心技术。 本文是一篇关于文件简单加密和解密软件——文件管家的毕业设计论文:用 AES算法实现文件的加密和解密,用 MD5 实现文件校验功能,用覆盖技术实现文件粉碎功能;并且设计了一套完整的注册码验证体系,防止软件被逆向,从而保护软件的安全。关键词:文件;加密;解密;粉碎;反逆向;AESiSimple implementation file encryption and decryptionAbstractWith the arrival of the information society, people not only enjoy the enormous benefits of information resources, but also face the severe challenges of information security. Information security has become a worldwide problem. The problem has become a threat to the political, economic, military, cultural, ideological and other aspects of a country. Meanwhile, the information security is the key of protecting individual privacy and the prerequisite for social stability and security.Information security is a comprehensive interdisciplinary field, involving a wide range of disciplines such as mathematics, cryptography, computer, communications, control, artificial intelligence, security, engineering, humanities and so on, It has been being a hot subject with rapid development. Information countermeasure and network security is a core focus, whose research and developments will stimulate and accelerate the study and progress of related disciplines. So far, the password to information security technology is the most effective method. Cryptography is the core technology of information security.This article is about a software named File Manager, which can simply encrypt and decrypt files. The software uses AES algorithm to encrypt and decrypt files, MD5 to check the files, and overlay technique to achieve the feature of file shredder. Meanwhile, there is a complete set of design registration code verification system, which is used to protect the software from reverse, thus to protect the security of the software.Key words:file; encrypt; decrypt; shredder; Anti-Reverse; AES目 录摘要 ..................................................................................................................................................................iAbstract ...........................................................................................................................................................ii1 绪论 ...........................................................................................................................................................11.1 论文背景 ..........................................................................................................................................11.2 主要工作 ..........................................................................................................................................11.3 本文结构 ..........................................................................................................................................12 AES 介绍 ...................................................................................................................................................22.1 AES 概述 ...........................................................................................................................................22.2 轮密钥加 (AddRoundKey) .............................................................................................................32.3 字节替代 (SubBytes) ......................................................................................................................32.4 行移位 (ShiftRows).........................................................................................................................52.5 列混淆 (MixColumns) ....................................................................................................................62.6 密钥调度 (Key Schedule) ...............................................................................................................73 系统设计 ...................................................................................................................................................83.1 设计概述 ..........................................................................................................................................83.1.1 界面设计 ...............................................................................................................................83.1.2 实现代码设计 .......................................................................................................................83.1.3 操作流程 ...............................................................................................................................83.2 界面设计 ..........................................................................................................................................93.2.1 LOGO 设计 ............................................................................................................................93.2.2 加密选项卡的设计 .............................................................................................................103.2.3 解密选项卡的设计 .............................................................................................................113.2.4 工具箱选项卡的设计 .........................................................................................................123.3 实现代码设计 ................................................................................................................................123.3.1 加密选项卡的设计 .............................................................................................................133.3.2 解密选项卡的设计 .............................................................................................................143.3.3 工具箱选项卡的设计 .........................................................................................................153.3.4 程序流程图 .........................................................................................................................164 设计结果及分析 .....................................................................................................................................204.1 设计结果展示 ................................................................................................................................204.1.1 软件初始化 .........................................................................................................................204.1.2 注册码验证 .........................................................................................................................224.1.3 文件加密 .............................................................................................................................244.1.4 文件解密 .............................................................................................................................274.1.5 文件校验 .............................................................................................................................294.1.6 文件粉碎 .............................................................................................................................294.2 设计结果分析及说明 ....................................................................................................................304.2.1 软件初始化 .........................................................................................................................304.2.2 注册码验证 .........................................................................................................................324.2.3 文件加密 .............................................................................................................................354.2.4 文件解密 .............................................................................................................................374.2.5 文件校验 .............................................................................................................................384.2.6 文件粉碎 .............................................................................................................................39结论 ...............................................................................................................................................................41参考文献 .......................................................................................................................................................42致谢 ...............................................................................................................................................................43外文原文 .......................................................................................................................................................44中文翻译 .......................................................................................................................................................5501 绪论1.1 论文背景信息安全是一个综合性的交叉学科领域,广泛涉及数学、密码学、计算机、通信控制、人工智能、安全工程、人文科学等诸多学科,是近几年迅速发展的一个热点学科领域。信息对抗和网络安全是信息安全的核心热点,它的研究和发展又将刺激、推动和促进相关学科的研究与发展。网络技术的快速发展,给我们的生活带来了方便,提高了我们的工作效率,丰富了我们的生活,但同时,安全问题也时刻困扰着我们。连接在网络上的计算机随时都有被黑客攻击的可能,在网络上收发的文件也有可能被黑客截获,而这种不安全的因素是 TCP/IP 协议所固有的,所以为了保护重要的文件安全,我们必须给重要的文件加密。本论文讲述了加密技术的实现。通过数据加密,人们可以有效地保证个人数据的安全,以及在通信线路上的内容不被泄露,而且还可以检验传送信息的完整性。1.2 主要工作实现文件简单的加密和解密,保护数据安全。实现文件校验功能,用于验证文件的完整性和正确性。通过覆盖技术使删除的文件不可恢复,实现文件粉碎功能。设计一套完整的加密体系,在核心代码运行前优先取得程序控制权做校验工作,保护软件的安全。1.3 本文结构本文第一部分主要以绪论为主,说明了文章的研究背景、主要工作,概要说明了所做的工作。第二部分主要是文件加密解密的相关知识的介绍,介绍了 AES 算法的原理。第三部分叙述了设计的思路、重点。第四部分为设计结果及分析,将劳动成果展现给大家。第五部分为结论、致谢和参考文献,列出了文章的参考文献和引用文献,反映本文研究工作的背景和依据。12 AES 介绍2.1 AES 概述AES 是一个迭代的、对称密钥分组的加密算法,即它的加密和解密过程都使用同一个密钥。AES 分组密码接受一个 128 位的明文,并且在一个 128、192、256 位秘密密钥的控制下产生一个 128 位的密文。它是一个替代 - 置换网络的设计,并且带有一个称为轮的步骤的集合,其中轮数可以为 9、11 或者 13(对应于 128、192 或者 256位的密钥) ,这样可以将明文映射为密文。一轮 AES 由下面的 4 步组成:(1)字节替代 (SubBytes):用一个 S 盒完成分组中的按字节的代换。(2)行移位 (ShiftRows):一个简单的置换。(3)列混淆 (MixColumns):一个利用在域 GF()上的算术特性的代换。(4)轮密钥加 (AddRoundKey):利用当前分组和扩展密钥的一部分进行按位XOR。每一轮分别使用它自己的 128 位轮密钥 (round key),它是由秘密密钥通过一个称为密钥调度 (key schedule) 的过程处理而产生的。不要低估一个设计合理的密钥调度方案的重要性。它把密钥的熵散发给每一个轮密钥。如果熵没有被很好地传播,就会产生各种麻烦,例如等价密钥、相关密钥以及其他类似的分别征服攻击 (distinguishing attack)。AES 把 128 位的输入看作是一个由 16 个字节组成的向量,并用一个 4 x4 的列矩阵(big-endian)的形式来组织,叫做状态 (state)。即第 1 个字节映射为 ,第 3 个字节0.A映射为 ,第 4 个字节为 ,第 16 个字节映射为 ,如图 2-1 所示。0.3A1.0A3.AA0.0 A0.1 A0.2 A0.3A1.0 A1.1 A1.2 A1.3A2.0 A2.1 A2.2 A2.3A3.0 A3.1 A3.2 A3.3图 2-1 AES 的状态示意图整个 AES 分组密码由下面的步骤组成:(1)AddRoundKey(round=0)(2)for round=1 到 Nr-1 (9、 11 或者 13,这取决于密钥的大小 )doSubBytesShiftRowsMixColumns2AddRoundKey(round)(3)SubBytes(4)ShiftRows(5)AddRoundKey(Nr)2.2 轮密钥加 (AddRoundKey)轮函数的这一步是把轮密钥加到状态中(在 GF(2)中)。它执行了 16 个并行的把密钥加到状态中的运算。GF(2)的加法是通过异或运算来完成的,如图 2-2 所示。图 2-2 AES AddRoundKey 函数其中的 K 炬阵是一个轮密钥并且对每一轮都有一个惟一的密钥。因为密钥的加法是一个简单的异或,所以它常实现为在 32 位软件中从列开始的一个 32 位的异或操作。2.3 字节替代 (SubBytes)轮函数的 SubBtes 步骤是用来执行 SPN 中的非线性混清步骤的。它把 16 个字节的每一个都并行地映射为一个新的字节,这是通过一个两步骤的替代操作来完成的,3如图 2-3 所示。图 2-3 AES SubBytes 函数该映射变化是一个简单的查表操作,AES 定义了一个 S 盒,如表 2.1 所示,它是由 16*16 个字节组成的矩阵,包含了 8 位值所能表达的 256 种可能的变换。State 中每个字节按照如下的方式映射为一个新的字节:把该字节的高 4 位作为行值,低 4 位作为列值,然后取出 S 盒中对应行列的元素作为输出。例如,十六进制值 95 所对应的S 盒的行值是 9,列值是 5,S 盒中在此位置的值是 2A。相应地,95 被映射为 2A。表 2.1 AES 的 S 盒y0 1 2 3 4 5 6 7 8 9 A B C D E F0 63 7C 77 7B F2 6B 6F C5 30 01 67 2B FE D7 AB 761 CA 82 C9 7D FA 59 47 F0 AD D4 A2 AF 9C A4 72 C02 B7 FD 93 26 36 3F F7 CC 34 A5 E5 F1 71 D8 31 153 04 C7 23 C3 18 96 05 9A 07 12 80 E2 EB 27 B2 754 09 83 2C 1A 1B 6E 5A A0 52 3B D6 B3 29 E3 2F 84x5 53 D1 00 ED 20 FC B1 5B 6A CB BE 39 4A 4C 58 CF46 D0 EF AA FB 43 4D 33 85 45 F9 02 7F 50 3C 9F A8续表 2.1 AES 的 S 盒7 51 A3 40 8F 92 9D 38 F5 BC B6 DA 21 10 FF F3 D28 CD 0C 13 EC 5F 97 44 17 C4 A7 7E 3D 64 5D 19 739 60 81 4F DC 22 2A 90 88 46 EE B8 14 DE 5E 0B DBA E0 32 3A 0A 49 06 24 5C C2 D3 AC 63 91 95 E4 79B E7 C8 37 6D 8D D5 4E A9 6C 56 F4 EA 65 7A AE 08C BA 78 25 2E 1C A6 B4 C6 E8 DD 74 1F 4B BD 8B 8AD 70 3E B5 66 48 03 F6 0E 61 35 57 B9 86 C1 1D 9EE E1 F8 98 11 69 D9 8E 94 9B 1E 87 E9 CE 55 28 DFF 8C A1 89 0D BF E6 43 68 41 99 2D 0F B0 54 BB 16S 盒被设计成能防止已有的各种密码分析攻击。AES 的开发者特别寻求在输入位和输出位之间几乎没有相关性的设计,且输出值不能通过利用一个简单的数学函数变换输入值所得到。当然,S 盒必须是可逆的,即逆 S 盒[S 盒(a)]=a。然而,因 S 盒(a)=逆 S 盒(a)不成立,在这个意义上 S 盒不是自逆的。例如, S 盒(95)=2A,但逆 S 盒(95)=AD。2.4 行移位 (ShiftRows)ShiftRows 这一步对状态中的每一行分别进行向左循环移动 0、1、2 和 3 个位置。它是完全线性的,如图 2-4 所示。5图 2-4 AES ShiftRows 函数在实际应用中,我们将会看到这是通过重命名 (renaming) 来实现的而不是一个实际的移动。也就是说,通过对字节移动的替代,我们只是简单地在得到它们的地方对它们进行修改就可以。在 32 位的软件中,我们可以很容易地把 ShiftRows 和 SubBytes以及 MixColumns 混合,而不用来回交换字节。2.5 列混淆 (MixColumns)MixColumns 这一步对状态中的每一列乘上一个 4*4 的变换,这个变换就是所谓的极大距离可分码 (Maximally Distance Separable, MDS)。这一步的目的是扩大差别并且让输出线性依赖于其他输人。即如果一个单一的输入字节在两个明文中发生了改变(输入中所有其他的字节没变),这个改变将尽可能快地传播到状态中的其他字节中去,如图 2-5 所示。图 2-5 AES MixColumns列混淆变换和行移位变换使得在经过几轮变换后,所有的输出位均与所有的输入位相关。
    展开阅读全文
    1
      金牌文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:vc实现文件简单的加密和解密.rar
    链接地址:http://www.gold-doc.com/p-139099.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们
    copyright@ 2014-2018 金牌文库网站版权所有
    经营许可证编号:浙ICP备15046084号-3
    收起
    展开