文件加密解密工具的设计与实现文献综述
2020-04-14 17:25:26
1.目的及意义
随着经济社会的发展,科学技术的日新月异的更新变化,人们逐步步入信息社会。随着信息社会的到来,人们在享受信息资源所带来的巨大的利益的同时,也面临着信息安全的严峻考验。信息安全已经成为世界性的现实问题,信息安全问题已威胁到国家的政治、经济、军事、文化、意识形态等领域。同时,信息安全问题也是人们能否护自己的个人隐私的关键。信息安全是社会稳定安全的必要前提条件。
在网络上传输数据文件进行交流成了我们的习惯,然而在传输过程中有可能遭受黑客等其他一些恶意迫害者的攻击,导致数据误传,错传,甚至内容被修改或者被截走,网络传输数据的不安全给我们的生活带来了巨大的隐患。因此研究一套可行的加密算法是非常必要的,而且有实现的可能性。正因为如此,诞生了网络密码学,网络密码学的诞生极大地保障了网路数据传输的安全性。对称加密与解密算法DES和非对称加密算法RSA的诞生极大地丰富了网络密码学的内容,保障了网路数据传输的安全性。本次任务就是使用C 编程语言设计并实现一个加密与解密工具。
数据加密标准DES
DES 使用一个 56 位的密钥以及附加的 8 位奇偶校验位,产生最大 64 位的分组大小。这是一个迭代的分组密码,使用称为 Feistel 的技术,其中将加密的文本块分成两半。使用子密钥对其中一半应用循环功能,然后将输出与另一半进行“异或”运算;接着交换这两半,这一过程会继续下去,但最后一个循环不交换。DES 使用 16 个循环,使用异或,置换,代换,移位操作四种基本运算DES算法的安全性比较高目前只有一种方法可以破解该算法,那就是穷举法。它采用64位密钥技术,实际只有56位有效,8位用来校验的.譬如,有这样的一台PC机器,它能每秒计算一百万次,那么256位空间它要穷举的时间为2285年.所以这种算法还是比较安全的一种算法. 三重DES,该算法被用来解决使用 DES 技术的 56 位时密钥日益减弱的强度,其方法是:使用两个独立密钥对明文运行 DES 算法三次,从而得到 112 位有效密钥强度。三重DES(TripleDES)有时称为DESede(表示加密、解密和加密这三个阶段)。
高级加密标准AES
密码学中的高级加密标准(Advanced Encryption Standard,AES),又称高级加密标准Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院 (NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。严格地说,AES和Rijndael加密法并不完全一样(虽然在实际应用中二者可以互换),因为Rijndael加密法可以支持更大范围的区块和密钥长度:AES的区块长度固定为128 比特,密钥长度则可以是128,192或256比特;而Rijndael使用的密钥和区块长度可以是32位的整数倍,以128位为下限,256比特为上限。加密过程中使用的密钥是由Rijndael密钥生成方案产生。大多数AES计算是在一个特别的有限域完成的。AES加密过程是在一个4×4的字节矩阵上运作,这个矩阵又称为“体(state)”,其初值就是一个明文区块(矩阵中一个元素大小就是明文区块中的一个Byte)。(Rijndael加密法因支持更大的区块,其矩阵行数可视情况增加)加密时,各轮AES加密循环(除最后一轮外)均包含4个步骤:
AddRoundKey — 矩阵中的每一个字节都与该次回合金钥(round key)做XOR运算;每个子密钥由密钥生成方案产生。
SubBytes — 通过一个非线性的替换函数,用查找表的方式把每个字节替换成对应的字节。
ShiftRows — 将矩阵中的每个横列进行循环式移位。
MixColumns — 为了充分混合矩阵中各个直行的操作。这个步骤使用线性转换来混合每内联的四个字节。
最后一个加密循环中省略MixColumns步骤,而以另一个AddRoundKey取代。
{title}
本次论文设计采用C 作为编程设计语言,按照软件工程的流程,结合实际情况考虑,并确定论文实施的总体方案,对数据加密与解密算法论文进行详细设计,明确各个模块要实现的功能,然后进行编程、测试完善各个功能模块,最后实现系统集成并确保其能成功运行。
2.2 研究内容
在Windows系统环境下,设计并实现一个文件加密解密工具,能实现文件的加密、解密,包括通过人机专用界面加密、解密文件,通过鼠标右键选择文件,然后加密文件,以及通过鼠标右键选择文件,然后解密文件,通过鼠标双击文件解密文件,并启动文件对应的处理程序(如被加密的文件是Word文档,则启动Word程序)。
2.3 拟采用的技术方案及措施
利用合适的编程工具及加密算法,设计并实现一个安全强度较高的文档加解密的软件。
1、学习密码学的基础理论和技术,钻研加密解密算法和技术,基于加解密强度较高的加解密算法(如DES或AES等),利用图形界面,实现对“文件”及“文件夹”的加密和解密功能。
2、通过图形界面,选择或输入要加密或解密的文件或文件夹。
3、选择熟悉而合适的图形界面编程技术。
项目实施阶段可分为5个阶段,分别是需求分析、系统设计、编码和单元测试、系统测试、验证,详细内容如图1所示。
(1)需求分析:采用面向对象的分析方法,完成系统用例图、用例描述、顺序图和分析时的类图。
(2)系统设计:采用面向对象的设计方法,完成设计时的顺序图和类图。
(3)编码和单元测试:单元测试借助集成软件开发环境提供的单元测试工具完成。
(4)系统测试:包括集成测试和案例验证,设计一个具体的应用来验证该系统。
3. 参考文献
[1] 刘树鹏, 戴舜, 许博臣. 基于Windows下的文件保密隐藏系统的设计与实现[J]. 电脑知识与技术, 2016, 12(27):30-33.
[2] 冯黎明. 文件自适应加密解密系统设计与实现[J]. 技术与市场, 2016, 23(1):90-90.
[3] 周文婷, 马凤伟, 孔庆. 基于DES算法的文件加密系统的设计与实现[J]. 计算机安全, 2012(7):13-16.
[4] Stanley B. Lippman.C Primer Plus中文版(第6版)人民邮电出版社.2012.
[5] Zhang Z . Design and implementation of dual-factor authentication file encryption system based on smart-phone[M]. 2012.
[6] 谭小展. 基于C 的保密文件加密处理设计[J]. 计算机光盘软件与应用, 2013(8):252-253.
[7]William Stallings,Lawrie Brown.计算机安全原理与实践 机械工业出版社.2016.
[8]张焕国,唐明.密码学引论 武汉大学出版社.2015.
[9]唐琳.数据加密标准研究之DES设计思想及体制分析[J].赤峰学报,2014,25(12):25-26.
[10]赵文敬,吴彦波.基于DES和RSA的混合加密算法设计[J].黑龙江省计算中心,2014,25(10):33-35.
[11]Sharma M , Garg R B . DES: The oldest symmetric block key encryption algorithm[C]// System Modeling amp; Advancement in Research Trends. IEEE, 2017.
[12]Khanezaei N, Hanapi Z M. A framework based on RSA and AES encryption algorithms for cloud computing services[C]// Systems, Process amp; Control. 2015.
[13]漆世钱.基于VC 的DES加密算法实现[J].公安海警学院电子技术系,2014,25(12):26-28.
[14]梁海英,李淑梅,谭晓东,胡世洋,罗琳. 基于案例的Visual C 程序设计[M]. 北京:清华大学出版社, 2016.08.
随着经济社会的发展,科学技术的日新月异的更新变化,人们逐步步入信息社会。随着信息社会的到来,人们在享受信息资源所带来的巨大的利益的同时,也面临着信息安全的严峻考验。信息安全已经成为世界性的现实问题,信息安全问题已威胁到国家的政治、经济、军事、文化、意识形态等领域。同时,信息安全问题也是人们能否护自己的个人隐私的关键。信息安全是社会稳定安全的必要前提条件。
在网络上传输数据文件进行交流成了我们的习惯,然而在传输过程中有可能遭受黑客等其他一些恶意迫害者的攻击,导致数据误传,错传,甚至内容被修改或者被截走,网络传输数据的不安全给我们的生活带来了巨大的隐患。因此研究一套可行的加密算法是非常必要的,而且有实现的可能性。正因为如此,诞生了网络密码学,网络密码学的诞生极大地保障了网路数据传输的安全性。对称加密与解密算法DES和非对称加密算法RSA的诞生极大地丰富了网络密码学的内容,保障了网路数据传输的安全性。本次任务就是使用C 编程语言设计并实现一个加密与解密工具。
数据加密标准DES
DES 使用一个 56 位的密钥以及附加的 8 位奇偶校验位,产生最大 64 位的分组大小。这是一个迭代的分组密码,使用称为 Feistel 的技术,其中将加密的文本块分成两半。使用子密钥对其中一半应用循环功能,然后将输出与另一半进行“异或”运算;接着交换这两半,这一过程会继续下去,但最后一个循环不交换。DES 使用 16 个循环,使用异或,置换,代换,移位操作四种基本运算DES算法的安全性比较高目前只有一种方法可以破解该算法,那就是穷举法。它采用64位密钥技术,实际只有56位有效,8位用来校验的.譬如,有这样的一台PC机器,它能每秒计算一百万次,那么256位空间它要穷举的时间为2285年.所以这种算法还是比较安全的一种算法. 三重DES,该算法被用来解决使用 DES 技术的 56 位时密钥日益减弱的强度,其方法是:使用两个独立密钥对明文运行 DES 算法三次,从而得到 112 位有效密钥强度。三重DES(TripleDES)有时称为DESede(表示加密、解密和加密这三个阶段)。
高级加密标准AES
密码学中的高级加密标准(Advanced Encryption Standard,AES),又称高级加密标准Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院 (NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。严格地说,AES和Rijndael加密法并不完全一样(虽然在实际应用中二者可以互换),因为Rijndael加密法可以支持更大范围的区块和密钥长度:AES的区块长度固定为128 比特,密钥长度则可以是128,192或256比特;而Rijndael使用的密钥和区块长度可以是32位的整数倍,以128位为下限,256比特为上限。加密过程中使用的密钥是由Rijndael密钥生成方案产生。大多数AES计算是在一个特别的有限域完成的。AES加密过程是在一个4×4的字节矩阵上运作,这个矩阵又称为“体(state)”,其初值就是一个明文区块(矩阵中一个元素大小就是明文区块中的一个Byte)。(Rijndael加密法因支持更大的区块,其矩阵行数可视情况增加)加密时,各轮AES加密循环(除最后一轮外)均包含4个步骤:
AddRoundKey — 矩阵中的每一个字节都与该次回合金钥(round key)做XOR运算;每个子密钥由密钥生成方案产生。
SubBytes — 通过一个非线性的替换函数,用查找表的方式把每个字节替换成对应的字节。
ShiftRows — 将矩阵中的每个横列进行循环式移位。
MixColumns — 为了充分混合矩阵中各个直行的操作。这个步骤使用线性转换来混合每内联的四个字节。
最后一个加密循环中省略MixColumns步骤,而以另一个AddRoundKey取代。
{title}
2. 研究的基本内容与方案
{title}2.1 研究目标本次论文设计采用C 作为编程设计语言,按照软件工程的流程,结合实际情况考虑,并确定论文实施的总体方案,对数据加密与解密算法论文进行详细设计,明确各个模块要实现的功能,然后进行编程、测试完善各个功能模块,最后实现系统集成并确保其能成功运行。
2.2 研究内容
在Windows系统环境下,设计并实现一个文件加密解密工具,能实现文件的加密、解密,包括通过人机专用界面加密、解密文件,通过鼠标右键选择文件,然后加密文件,以及通过鼠标右键选择文件,然后解密文件,通过鼠标双击文件解密文件,并启动文件对应的处理程序(如被加密的文件是Word文档,则启动Word程序)。
2.3 拟采用的技术方案及措施
利用合适的编程工具及加密算法,设计并实现一个安全强度较高的文档加解密的软件。
1、学习密码学的基础理论和技术,钻研加密解密算法和技术,基于加解密强度较高的加解密算法(如DES或AES等),利用图形界面,实现对“文件”及“文件夹”的加密和解密功能。
2、通过图形界面,选择或输入要加密或解密的文件或文件夹。
3、选择熟悉而合适的图形界面编程技术。
项目实施阶段可分为5个阶段,分别是需求分析、系统设计、编码和单元测试、系统测试、验证,详细内容如图1所示。
(1)需求分析:采用面向对象的分析方法,完成系统用例图、用例描述、顺序图和分析时的类图。
(2)系统设计:采用面向对象的设计方法,完成设计时的顺序图和类图。
(3)编码和单元测试:单元测试借助集成软件开发环境提供的单元测试工具完成。
(4)系统测试:包括集成测试和案例验证,设计一个具体的应用来验证该系统。
[1] 刘树鹏, 戴舜, 许博臣. 基于Windows下的文件保密隐藏系统的设计与实现[J]. 电脑知识与技术, 2016, 12(27):30-33.
[2] 冯黎明. 文件自适应加密解密系统设计与实现[J]. 技术与市场, 2016, 23(1):90-90.
[3] 周文婷, 马凤伟, 孔庆. 基于DES算法的文件加密系统的设计与实现[J]. 计算机安全, 2012(7):13-16.
[4] Stanley B. Lippman.C Primer Plus中文版(第6版)人民邮电出版社.2012.
[5] Zhang Z . Design and implementation of dual-factor authentication file encryption system based on smart-phone[M]. 2012.
[6] 谭小展. 基于C 的保密文件加密处理设计[J]. 计算机光盘软件与应用, 2013(8):252-253.
[7]William Stallings,Lawrie Brown.计算机安全原理与实践 机械工业出版社.2016.
[8]张焕国,唐明.密码学引论 武汉大学出版社.2015.
[9]唐琳.数据加密标准研究之DES设计思想及体制分析[J].赤峰学报,2014,25(12):25-26.
[10]赵文敬,吴彦波.基于DES和RSA的混合加密算法设计[J].黑龙江省计算中心,2014,25(10):33-35.
[11]Sharma M , Garg R B . DES: The oldest symmetric block key encryption algorithm[C]// System Modeling amp; Advancement in Research Trends. IEEE, 2017.
[12]Khanezaei N, Hanapi Z M. A framework based on RSA and AES encryption algorithms for cloud computing services[C]// Systems, Process amp; Control. 2015.
[13]漆世钱.基于VC 的DES加密算法实现[J].公安海警学院电子技术系,2014,25(12):26-28.
[14]梁海英,李淑梅,谭晓东,胡世洋,罗琳. 基于案例的Visual C 程序设计[M]. 北京:清华大学出版社, 2016.08.
[15]王庆宝. C 程序设计上机实践与学习辅导 第2版[M]. 北京:清华大学出版社, 2016.08.
[16]Lichao Z . Key encryption technology of GML based on AES[J]. Science of Surveying amp; Mapping, 2017.
[17]Adam N . Building Windows 10 Applications with Xaml and C# Unleashed[J]. 2016.
剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付