android平台下文件加密技术的研究与实现
摘 要摘 要在信息时代,人们越来越关注信息安全问题。现实生活中,为了保护我们的数据不被泄露,采取数据加密和文件加密方式来保护我们的关键数据是非常必要的。信息安全的核心技术是密码学,其总体设计思路是通过某种加密算法,把想要发送的数据信息加密,之后进行保存和传输,接收方要查看数据需要按照事先约定好的密钥来解密,将其解密为原文,最终实现数据信息的保护目的。其中,加密算法主要使用经典加密算法DES和高级数据加密算法AES。本文的文件加密设计是在Android平台下,以Java语言为基础,按照MVC模式,通过Eclipse开发工具来设计与实现在Android平台下的文件加密与解密。文件加密算法采用了DES和AES两种算法。在深入分析和理解这两种算法的基础上,认真学习软件工程相关内容,对Android平台下的文件加密与解密的功能经过仔细的需求分析、总体设计、详细设计与实现,完成了软件的开发,最后经过软件测试,验证了本次毕业设计的文件加密解密软件的正确性和可靠性。为了实现文件加密的实际应用,本软件在Android手机上成功通过测试,完成了Android手机上文件加密与解密功能。关键词:Android平台,文件加密,AES算法,DES算法用于编译时JAVA类的路径,注意这里设置的是两个值,(.;)表示的是JVM先搜索当前目录。其值为:“.;%java_home%lib;%java_home%libdt.jar; %java_home%lib ools.jar”。如图210所示。
图210: CLASSPATH环境变量配置
(4)测试
配置完毕后,通过cmd运行以下命令:java、javac 如果出现返回信息,则设置成功。cmd界面如图211和图212所示。
图211: java命令测试
图212: javac命令测试
2.3.2 Android SDK 的下载和安装
登陆Android开发者官方网站下载Android SDK[],具体流程不在介绍。注意下载的SDK压缩包中包含已经安装ADT插件的Eclipse和sdk
图213:SDK解压后目录结构
点击eclipse
*好棒文|www.hbsrm.com +Q: ^3^5^1^9^1^6^0^7^2^*
图212: javac命令测试
2.3.2 Android SDK 的下载和安装
登陆Android开发者官方网站下载Android SDK[],具体流程不在介绍。注意下载的SDK压缩包中包含已经安装ADT插件的Eclipse和sdk
图213:SDK解压后目录结构
点击eclipse文件夹下eclipse.exe图标打开eclipse,启动后要选择工作空间,用于存放以后创建的项目,如图214所示。
图214:设置工作空间
设置完工作空间,进入eclipse还需设置sdk目录,步骤为:Window PreferencesAndroid—SDK Location 设置SDK解压后的目录,如图215所示来设置。
图215: 设置SDK目录
2.3.3环境运行与调试
在Android开发时有两种方式调试、运行程序,分别为Android手机调试和模拟器调试。
1.使用Android真机作为运行、调试环境
使用Android手机作为运行、调试环境速度会更快,也会更加真实,往往很多开发者都选用此种方式。方法很简单,只需几步。首先用数据线将手机连接到电脑,然后打开手机的USB调试开关,最后运行程序选择你的手机进行调试。
2.使用AVD作为运行、调试环境
Android SDK为开发者提供了可以在PC端运行的“虚拟手机”,即AVD(Android Virtual Device),开发者可以在eclipse中按“Window→Android Virtual Device Manager”打开创建一个新的AVD设备,如图216和图217所示。
图216 新建AVD设备
图217 设置AVD参数
创建完成后,启动AVD设备,如图218和图219所示。
图218:虚拟手机模拟器 图219:AVD应用程序
2.4 本章小结
本章主要包括Android平台、Java技术和Android应用开发环境三个部分。本章首先介绍了Android系统的系统架构和主要组件,之后,简要介绍了Java技术的应用和特点,第三部分介绍了本次课题使用的开发环境与搭建,为后续工作做好了相关准备。
第三章 加密算法分析
数据加密[],是对用户数据信息保护的最值得信赖的方式,它通过密码学来实现信息的安全保护功能。密码数据传递数据图如图31所示。
图31:密码数据传递数据图
加密算法的总体思想是当输入为明文时,用户遵循某种算法,输入密钥,将其转换为一段二进制代码,即使中途被截获,一般也查看不了里面的内容;接收方采取该过程的逆过程,输入事先设定好的密钥,来对密文进行解密,转为明文,最终实现数据加密。
3.1 DES
20世纪70年代初,数据加密标准(DES[])产生于美国,之后在国际上广泛流行起来,它被用来保护静止存储和传输过程中的信息。DES算法为对称密码体制,是在Lucifer 密码体制的基础之上研究出的新的“非密级”应用的密码体制。其原理图如图32所示。随后几年,DES算法先后被国际上承认公布并被采纳为一项联邦标准。
图32:DES原理图
DES算法是密码学历史上具有深远影响的算法,对于以后我们研究对称密码的总体思想和具体实现产生了重大的影响,推进了这一进程的发展。
3.1.1 DES简介
DES作为一种对称加密算法,使用一个56位的密钥以及附加的8位奇偶校验位,产生最大的64位分组大小。这是一个迭代的分组密码,使用称为Feistel 的技术,其中将加密的文本块分成两半。加密过程先对64位明文分组进行初始置换,使用子密钥对其中一半应用循环功能,然后将输出与另一半进行“异或”运算;接着交换这两半,这一过程会继续下去,但最后一个循环不交换。DES 使用 16 个循环,使用异或,置换,代换,移位操作四种基本运算。
3.1.2 DES原理
(1)如图33为DES的过程框图。结合此图我们有如下分析:
第一步是将其初步置换输入,具体做法为将64位明文串输入进行初始置换IP,被分为左,右各32比特两部分,分别标注为L0和R0。置换IP图如表31所示。
第二步是完成第一轮的迭代运算,具体做法为将密钥产生器生成的子密钥k1和第一步置换的R0结合,经过一系列计算后,产生了f (R0,k1);接着将其与L0进行异或运算,产生结果L0f (R0 , k1)。
第三步是完成两个数据的交换,将异或后产生的结果 L0f (R0 , k1)与R0分别放在迭代运算的右半部分和左半部分。因为DES是16轮型的结构密码,需要迭代执行以上步骤16次,但需要特别注意的是,最后一轮,也就是第16轮产生的数据不进行互换操作,即R15记为L16放在右
图210: CLASSPATH环境变量配置
(4)测试
配置完毕后,通过cmd运行以下命令:java、javac 如果出现返回信息,则设置成功。cmd界面如图211和图212所示。
图211: java命令测试
图212: javac命令测试
2.3.2 Android SDK 的下载和安装
登陆Android开发者官方网站下载Android SDK[],具体流程不在介绍。注意下载的SDK压缩包中包含已经安装ADT插件的Eclipse和sdk
图213:SDK解压后目录结构
点击eclipse
*好棒文|www.hbsrm.com +Q: ^3^5^1^9^1^6^0^7^2^*
图212: javac命令测试
2.3.2 Android SDK 的下载和安装
登陆Android开发者官方网站下载Android SDK[],具体流程不在介绍。注意下载的SDK压缩包中包含已经安装ADT插件的Eclipse和sdk
图213:SDK解压后目录结构
点击eclipse文件夹下eclipse.exe图标打开eclipse,启动后要选择工作空间,用于存放以后创建的项目,如图214所示。
图214:设置工作空间
设置完工作空间,进入eclipse还需设置sdk目录,步骤为:Window PreferencesAndroid—SDK Location 设置SDK解压后的目录,如图215所示来设置。
图215: 设置SDK目录
2.3.3环境运行与调试
在Android开发时有两种方式调试、运行程序,分别为Android手机调试和模拟器调试。
1.使用Android真机作为运行、调试环境
使用Android手机作为运行、调试环境速度会更快,也会更加真实,往往很多开发者都选用此种方式。方法很简单,只需几步。首先用数据线将手机连接到电脑,然后打开手机的USB调试开关,最后运行程序选择你的手机进行调试。
2.使用AVD作为运行、调试环境
Android SDK为开发者提供了可以在PC端运行的“虚拟手机”,即AVD(Android Virtual Device),开发者可以在eclipse中按“Window→Android Virtual Device Manager”打开创建一个新的AVD设备,如图216和图217所示。
图216 新建AVD设备
图217 设置AVD参数
创建完成后,启动AVD设备,如图218和图219所示。
图218:虚拟手机模拟器 图219:AVD应用程序
2.4 本章小结
本章主要包括Android平台、Java技术和Android应用开发环境三个部分。本章首先介绍了Android系统的系统架构和主要组件,之后,简要介绍了Java技术的应用和特点,第三部分介绍了本次课题使用的开发环境与搭建,为后续工作做好了相关准备。
第三章 加密算法分析
数据加密[],是对用户数据信息保护的最值得信赖的方式,它通过密码学来实现信息的安全保护功能。密码数据传递数据图如图31所示。
图31:密码数据传递数据图
加密算法的总体思想是当输入为明文时,用户遵循某种算法,输入密钥,将其转换为一段二进制代码,即使中途被截获,一般也查看不了里面的内容;接收方采取该过程的逆过程,输入事先设定好的密钥,来对密文进行解密,转为明文,最终实现数据加密。
3.1 DES
20世纪70年代初,数据加密标准(DES[])产生于美国,之后在国际上广泛流行起来,它被用来保护静止存储和传输过程中的信息。DES算法为对称密码体制,是在Lucifer 密码体制的基础之上研究出的新的“非密级”应用的密码体制。其原理图如图32所示。随后几年,DES算法先后被国际上承认公布并被采纳为一项联邦标准。
图32:DES原理图
DES算法是密码学历史上具有深远影响的算法,对于以后我们研究对称密码的总体思想和具体实现产生了重大的影响,推进了这一进程的发展。
3.1.1 DES简介
DES作为一种对称加密算法,使用一个56位的密钥以及附加的8位奇偶校验位,产生最大的64位分组大小。这是一个迭代的分组密码,使用称为Feistel 的技术,其中将加密的文本块分成两半。加密过程先对64位明文分组进行初始置换,使用子密钥对其中一半应用循环功能,然后将输出与另一半进行“异或”运算;接着交换这两半,这一过程会继续下去,但最后一个循环不交换。DES 使用 16 个循环,使用异或,置换,代换,移位操作四种基本运算。
3.1.2 DES原理
(1)如图33为DES的过程框图。结合此图我们有如下分析:
第一步是将其初步置换输入,具体做法为将64位明文串输入进行初始置换IP,被分为左,右各32比特两部分,分别标注为L0和R0。置换IP图如表31所示。
第二步是完成第一轮的迭代运算,具体做法为将密钥产生器生成的子密钥k1和第一步置换的R0结合,经过一系列计算后,产生了f (R0,k1);接着将其与L0进行异或运算,产生结果L0f (R0 , k1)。
第三步是完成两个数据的交换,将异或后产生的结果 L0f (R0 , k1)与R0分别放在迭代运算的右半部分和左半部分。因为DES是16轮型的结构密码,需要迭代执行以上步骤16次,但需要特别注意的是,最后一轮,也就是第16轮产生的数据不进行互换操作,即R15记为L16放在右
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/jsjkxyjs/2345.html