子安全领域的各方面已经形成了较为完备的国际规范。为私有密钥
加密解密
,
附录中给出了证明使用技术。
当今公钥加密更广泛应用于互联网身份认证,本课题将公钥加密算法
应用于小型文件加密。将任意文件加密成文本的解决方案,使其使用更加灵活。
整个工程的分层设计,给引用移植和后续开发带来便利。
算法介绍与应用现状
算法可以简单叙述如下
密钥生成
取素数令
取与互外,家喻户晓的浏览器,自然也实
现了协议,集成了使用技术的加密功能,结合和,主要用
于数字证书和数字签名,对于习惯于使用网上购物和网上银行的用户来说,几乎
天天都在使用技术。
应用于文件加密的分析
文件加密使用的可行性
通过节的论述,不难看出当今的应用多在于数字签名和证书等方
面。之所以只应用于这些短小数据的加密解密,是因为算法加密极慢,速
度是对称密钥加密速度的千分之左右。正是因应用实现签名和密钥交换,已经
在各种操作系统得到非常广泛的应用。另,令
取与互素的整数,
由方程,解出,
二元组,作为公开密钥,
二元组,作
本的解决方案,使其使用更加灵活。
整个工程的分层设计,给引用移植和后续开发带来便利。广泛应用于互联网身份认证,本课题将公钥加密算法
应用于小型文件加密。的数字证书智能移动电话和存储卡的验证功能芯片等,大
多数使用技术。
当今公钥加密更部分内容简介不在。部分内容简介不在。网上交易加密连接网上银行身份验
证各种信用卡使用的数字证书智能移动电话和存储卡的验证功能芯片等,大
多数使用技术。
当今公钥加密更广泛应用于互联网身份认证,本课题将公钥加密算法
应用于小型文件加密。将任意文件加密成文本的解决方案,使其使用更加灵活。
整个工程的分层设计,给引用移植和后续开发带来便利。
算法介绍与应用现状
算法可以简单叙述如下
密钥生成
取素数令
取与互素的整数,
由方程,解出,
二元组,作为公开密钥,
二元组,作为私有密钥
加密解密
,
附录中给出了证明
公开密钥加密算法自世纪年代提出以来,已经得到了广泛认可
和应用。发展至今,电子安全领域的各方面已经形成了较为完备的国际规范。
作为最重要的公开密钥算法,在各领域的应用数不胜数。在硬件方面,
以技术成熟的应用于各种消费类电子产品。
在软件方面的应用,主要集中在上。加密连接数字签名和数
字证书的核心算法广泛使用。日常应用中,有比较著名的工具包
是个安全传输协议,在上进行数据保
护和身份确认。是个开放源代码的实现了及相关加密技术的软
件包,由加拿大的等发起编写的。相关详细介绍见
。应用实现签名和密钥交换,已经
在各种操作系统得到非常广泛的应用。另外,家喻户晓的浏览器,自然也实
现了协议,集成了使用技术的加密功能,结合和,主要用
于数字证书和数字签名,对于习惯于使用网上购物和网上银行的用户来说,几乎
天天都在使用技术。
应用于文件加密的分析
文件加密使用的可行性
通过节的论述,不难看出当今的应用多在于数字签名和证书等方
面。之所以只应用于这些短小数据的加密解密,是因为算法加密极慢,速
度是对称密钥加密速度的千分之左右。正是因为这样,把应用于普
通文件加密的想法直被忽略。通常文件被想象成大数据块,但是实际上在日常
应用中,有些极其重要的文本资料是并不太大的,比如因担心遗忘而用普通文本
记录的银行帐号和密码不应被陌生人知道的重要电话号码几千字节大的重要
小图片等。
虽然加密运算的速度十分慢,但是在性能越来越好的今天,对于
几千字节的数据进行次几百位密钥的加密,所消耗的时间应该是可以接
受的。下面结合大数运算程序的调试,从理论上简单的分析消耗时间。在台普
通配置的机上对个整数进行幂模运算,因为公开密钥的通常取的较小,
所以指数取个小整数,比如,模个字节长的整数位十六进制,
大数单元以线性组方式实现,对应到算法中,这相当于约的,调
试个函数测试,按初等数论中的知识对程序进行算法优化,最终在台配置为
,外频,物理内存的上测试需要约毫
秒时间。如果按这种速度,逐字节对的数据进行同样的运算,所消耗的时
间理论上为毫秒的倍即约秒。这个时间并不是非常长。
其实从个简单的角度来说,既然用于数字签名可行,那就完全可以
用于同样大小的普通文件。对于较大的文件,如果分成与数字签名同样大小的段
这里假设数字签名较短,不分段次计算加密完成,分开的各段逐进行加密
运算,那所需要的时间也只是按文件大小线性的增长。通常数字签名为几十字节,
加密运算并不需要很长的等待,这就说明对于几百字节或两字节大小的文
件来说,如果进行加密,并不会是非常漫长的工作。当然,如果文件更大,
加密就显得十分漫长了。比如按前面叙述的毫秒大数运算程序推理,加密
字节大小的文件需要约天的时间。所以,要在普通用几百位以上的长密钥
加密文件,文件不能过大,般可以接受的上限是几。如果要在较短时
间内加密大文件,需要缩短密钥长度以减小运算量,这将带来安全性隐患。
本文的第章将根据实际调试好的软件,测试给出具体的时间消耗数据。例
如,在台配置为,外频,物理内存的
上测试实现的软件,以对软件的要求总结如下
可以按要求的位数生成非对称密钥。
可以用指定密钥以算法加密任意个文件,加密生成的数据为纯文
本。
可以装载加密过的文件,并用指定的密钥解密还原出原文件。
④提示信息完整操作舒适图形界面雅观
按上述描述,给出和如图。
图本项目的和
根据以上分析,般来说,需要进行编码的程序有
密钥生成加密解密任意文件的读取④各环节必要的数
据编码转换图形操作界面。
工程方案选择
综合考虑复用性可维护性和执行效率,较妥当的方法是分层设计。核心的
算法由类库实现,针对用户所在的操作系统封装成本地化组件。其他
各功能如文件操作数据编码转换和图形界面等,由托管代码借助虚拟机平台标
准库的功能快速开发实现本文针对选用上的论述,选用由或其
他方式调用本地组件,设计模式上是完全类似的。这种开发方式,核心功能集
中在最底层,在不断的封装中针对具体环境对组件功能不断扩充,任意个层面
的封装都可以被直接应用到其他项目,比如在使用以前为窗体程序写的
组件给嵌入式设备交叉编译算法库等。但是每层都需要依赖底层的所有组件。
图形象的说明了分层设计给复用带来的好处。
图综合考虑复用性可维护性和执行效率的分层设计
选用这种设计方案,上层使用,底层算法使用,可以由个
解决方案管理,给调试带来极大的方便。整个工程分四层,实现加
密算法的核心类库封装核心类库的组件引用的类实
现文件操作功能的窗体应用程序。节详细介绍各部分的设计与开发。
考虑到工作量,本软件加解密数据没有严格遵从标准,而是在
满足设计要求的前提下,以种尽可能简单的方式实现加密和解密。
各部分的设计与开发
实现加密算法的核心类库
大数存储和四则运算
根据算法的要求,为了实现大数的各种复杂运算,需要首先实现大数
存储和基本四则运算的功能。当今开源的大数运算类有很多,多用于数学分
析天文计算等,本文选用了个流行的大数类型,并针对算法和本项目
的具体需要对其进行了扩充和改进。下面简单介绍大数存储和四则运算的实现原
理。
最先完成的功能是大数的存储,存储功能由类提供。和普通的类型
样,每个大数对应个的实例。类中,用个无符号整
数指针指向块内存空间的首地址,这块内存空间用来存储个大
数,所以可以说,大数是被存储在个以为单元的线性组中。在方法
中通过的来给开辟空间,当的实例
中被存入比当前存储的数更大的数时,就会调用来增加存储空间,但是
当的实例中被存入比当前存储的数更小的数时,存储空间并不会自动紧
缩,这是为了在运算的时候提高执行效率。结合指针,有两个重要的无符号整
数来控制存储,和,是被分配空间的单元数,随数字变大
不断增大,不会自己紧缩,而是当前存储的大数所占的单元数,组成个大数
的各单元的存入和读出由方法完成,变量是只读的。类型
在位机是位的,所以对于这个大数类来说,每个大数最
大可以达到个字节长,这已经超过了位机通常的最大内存容量,所以
是足够进行所需要的各种运算的。图形象的说明了大数存储类
对大数的管理。
图对大数的管理
在的存储功能基础上,将其派生,得到,在
中实现四则运算函数,并实现强制转换运算符,以方便大
数类型和普通整数的互相赋值。当大数被强制转换为时,将取其最低
四字节的值。四则运算实现的原理十分简单,都是按最基本的算术原理实现的,
四则运算过程的本质就是按定数制对数字的计算,比如相加,就是低位单元对
齐,逐单元相加并进位,减法同理。而乘除法和取余也都是按照竖式运算的原理
实现,并进行了必要的优化。虽然实现了四则运算函数,但是若是程序里的运算
都要调用函数,显得烦琐而且看起来不美观,所以我们另写个类,关联
,即使用类型的对象或其指针作为成员,
在重载运算符。这样,当我们操作大数对象的时候,就可以像使用
个简单类型样使用各种运算符号了。之所以将的指针作为成员
而不是直接构造的对象,也是为了提高执行效率,因为大型对象的拷贝要消耗不
少机器时间。
大数幂模与乘模运算•幂模算法
在实现了类型后,大数的存储和四则运算的功能都完成了。考虑到
算法需要进行幂模运算,需要准备实现这些运算的方法。所以写个
类型的指针
大数占个单元
开辟了个单元大的内存
温馨提示:手指轻点页面,可唤醒全屏阅读模式,左右滑动可以翻页。
第 1 页 / 共 35 页
第 2 页 / 共 35 页
第 3 页 / 共 35 页
第 4 页 / 共 35 页
第 5 页 / 共 35 页
第 6 页 / 共 35 页
第 7 页 / 共 35 页
第 8 页 / 共 35 页
第 9 页 / 共 35 页
第 10 页 / 共 35 页
第 11 页 / 共 35 页
第 12 页 / 共 35 页
第 13 页 / 共 35 页
第 14 页 / 共 35 页
第 15 页 / 共 35 页
预览结束,还剩
20 页未读
阅读全文需用电脑访问
1、手机端页面文档仅支持阅读 15 页,超过 15 页的文档需使用电脑才能全文阅读。
2、下载的内容跟在线预览是一致的,下载后除PDF外均可任意编辑、修改。
3、所有文档均不包含其他附件,文中所提的附件、附录,在线看不到的下载也不会有。
1、该文档不包含其他附件(如表格、图纸),本站只保证下载后内容跟在线阅读一样,不确保内容完整性,请务必认真阅读。
2、有的文档阅读时显示本站(www.woc88.com)水印的,下载后是没有本站水印的(仅在线阅读显示),请放心下载。
3、除PDF格式下载后需转换成word才能编辑,其他下载后均可以随意编辑、修改、打印。
4、有的标题标有”最新”、多篇,实质内容并不相符,下载内容以在线阅读为准,请认真阅读全文再下载。
5、该文档为会员上传,下载所得收益全部归上传者所有,若您对文档版权有异议,可联系客服认领,既往收入全部归您。