- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于C++的保密文件加密处理设计.doc
基于C++的保密文件加密处理设计
摘要:分析数据加密技术中的置换算法及其加密解密指导思想,给出加密解密置换算法的程序设计方法与具体实现步骤,并提供一个完整的加密解密算法的C++源程序。
关键词:C++语言;加密;置换算法;移位
中图分类号:TP391
虽然已有多种技术可应用到计算机系统和网络的安全性,然而近几年来,国内外针对数据安全方面的研究比较注重在两个方面,首先是以密码学为基础的各种应用性加密措施(如公开密钥算法和保密密钥算法);其次是以计算机网络(尤其对象是以Intranet以及Internet)通信安全研究。数据加密技术仍然是在保障网络通信安全方面所依赖的主要技术。最基本的加密方法只有两种,即置换法和易位法,其它实现方法主要都是基于以上两种方法所构成的。为配合信息安全或网络安全的应用和实践,使用户更好地理解和掌握信息加密原理,本设计主要通过分析部分应用的置换算法,给出了该算法的程序具体实现步骤和设计方法,并提供一个比较完整的加密解密的C++源程序例子。
文件加密的原理:以二进制的形式,对要加密的文件逐个字符进行读取;按照新的编码原则,对原有的字符进行编码,形成的新的字符便是加密后的文件的内容。
1系统的基本要求
本文通过程序,将已有文件进行加密。其中要求加密方式不止一种,也就是说,运行程序后,提供给使用者不同的选择。用户可以根据自己的需求,选择相应的功能,就可以得到不同的结果。同时,也要将加密或解密后的程序予以保存。原文件和需要保存的文件路径由使用着自己确定。
算法描述
本文总共介绍三种比较简单而具有代表性的算法:
(1)单表移位算法;
(2)多表移位算法;
(3)置换算法。
其功能是将某一已知文件的数据(仅于英文字母)以字符形式读出,根据密钥或密码(用户通过键盘输入)将对应字符数据进行相应加密并输出结果。
2算法
2.1算法设计思想
实现加密置换算法一般是使用计算机程序编程,第一要设计良好密码源文件,建立密码源文件的方法与建立一般结构性文件的方法相似,这里假定已经设计好密码字典文件(提供的源程序中也有建立密码源文件数据的功能),文件名为“dictionary.dat”,密码源文件为了便于用户保存,可保存在可移动磁盘(如移动硬盘),加密解密时可将其插入磁盘驱动器(如移动硬盘驱动器)中。
2.2单表移位算法
单表移位算法是明文的一个字符用相应代替另一个密文字符。加密过程就是从明文字母表一一映射到密文字母表的。
该方法是通过将英文字a到z循环右移三位后,形成d、e、f、…、a、b、e字符序列,然后把移位后的序列中的字母去分别替换未被移位序列中所对应位置的字母,即利用g置换e,用f置换c等等。
随后出现的凯撒算法是移动K位[2]。然而单一移动K位的置换算法还是相当容易被破译的,进行映像是较好的置换算法,如表1所示,将上行的源字符在无规则地映像到下行的密码字符,利用表1上行源码字符逐一对应下行密码字符,可将明文译为密文,如将明文information加密后变为密文ofygkdqzogf,将明文computer加密后变为密文egdhxztk。
表1
源码 … a b c v w x y z … 1 2 6 …
密码 … q w e c v b n m … 0 9 / …
单表代替密码比较简单,因此很容易破译的。因为它没有把明文的不同字母的出现频率掩盖起来。但可以用于统计攻击次数。
2.3多表移位算法
多表代替密码有多个单字母密钥,每一个密钥被用来加密一个明文字母。第一个密钥加密明文的第一个字符数据,第二个密钥加密明文的第二个字符数据等等。密码的周期就是在所有的密钥用完后,密钥又再循环使用,若有40个单个字符密钥,那么每隔40个字符的明文都被同一密钥加密。
人们在单一恺撒密码的基础上扩展出多表密码,称为“维吉尼亚”密码。
假如以上面第一行代表明文字母,左面第一列代表密钥字母,对如下明文加密:
TO BE OR NOT TO BE THAT IS THE QUESTION
当选定RELATIONS作为密钥时,加密过程是:明文一个字母为T,第一个密钥字母为R,因此可以找到在R行中代替T的为K,依此类推,得出对应关系如下:
密钥:RELAT IONSR ELATI ONSRE LATIO NSREL
明文:TOBEO RNOTT OBETH ATIST HEQUE STION
密文:KSMEH ZBBLK SMEMP OGAJX SEJCS FLZSY
历史上以维吉尼亚密表为基础又演变出很多种加密方法,其基本元素无非是密表与密钥
您可能关注的文档
- 培养学生英语兴趣的几点启示.doc
- 培养学生英语学习兴趣.doc
- 培养小学生质疑能力的技巧.doc
- 培养幼儿语言能力与幼儿智力的发展.doc
- 培养应用型人才为目标的C语言教学改革.doc
- 培养应用能力,优化英语教学.doc
- 培养新思维让语文课更有活力.doc
- 培养有创造力的人才.doc
- 培养有开拓精神的人才.doc
- 培养条件对紫丁香花粉离体萌发的影响.doc
- 2025年甘肃陇南市事业单位招聘工作人员笔试高频难、易错点备考题库及完整答案详解1套.docx
- 2025年甘肃陇南市事业单位招聘工作人员笔试高频难、易错点备考题库及答案详解一套.docx
- 2025年甘肃陇南市事业单位招聘工作人员笔试备考题库参考答案详解.docx
- 2025年甘肃陇南市事业单位招聘工作人员笔试备考题库含答案详解.docx
- 2025年甘肃陇南市事业单位招聘工作人员笔试备考题库及参考答案详解1套.docx
- 2025年甘肃陇南市事业单位招聘工作人员笔试备考题库附答案详解.docx
- 2025年甘肃陇南市事业单位招聘工作人员笔试高频难、易错点备考题库参考答案详解.docx
- 2025年甘肃陇南市事业单位招聘工作人员笔试备考题库及参考答案详解一套.docx
- 2025年甘肃金昌市金川区教育系统引进人才笔试高频难、易错点备考题库及答案详解1套.docx
- 2025年甘肃金昌市金川区教育系统引进人才笔试高频难、易错点备考题库及答案详解一套.docx
文档评论(0)