基于Android的3杂凑算法与实现

点赞:4186 浏览:12627 近期更新时间:2024-04-16 作者:网友分享原创网站原创

摘 要:随着Android智能手机的普及,其安全性也日益为人们所关注.出于安全的目的,本文运用国家行业标准之一的3 杂凑算法,基于Android平台,实现了校验文件防篡改的应用,用于检查手机软件安装包的唯一性与完整性.同时,介绍与研究了3算法的处理思想与处理步骤.通过对文件检验测试,分析和比较了该算法的执行效率,验证了该算法在Android平台上能够用于检验下载安装软件的安全性.

【关 键 词 】3杂凑算法 Android 信息安全 摘 要 算法

杂凑算法(也称作摘 要 算法)是一种Hash函数.它能将一组任意有限长度的数据影射为一个被称作“数字指纹”(也称数字摘 要 )的固定长度的位串.当数据发生变化时,映射结果也随之改变.杂凑算法可以被用于数字签名、消息验证、文件唯一标识和数据完整性检验等.

目前,国际上主流的摘 要 算法有MD5,SHA-1和SHA-2.三种算法输出的位数逐次递增,但三者无一例外都使用了迭代压缩结构.其中,SHA-1在迭代压缩的基础上进行了消息扩展,提高了算法的安全性.SHA-2则加入了置换逻辑,使得算法的复杂性与不可逆性进一步增强.如今,MD5与SHA-1算法已被证明不安全,以SHA-2为代表的高强度算法正逐渐成为主流.此时,我国国家管理局发布了适用于商用应用的高强度摘 要 算法,即3杂凑(也称摘 要 )算法.该算法在迭代压缩的结构中加入了复杂的逻辑处理,使得扩散与扰乱更充分,安全性更高.

如今,由于智能手机被植入恶意软件而导致用户个人信息被窃取、自动发送扣费短信等一系列安全问题层出不穷.通过发布被篡改、被插入恶意软件的手机安装包是这类恶意软件传播的主要途径.使用摘 要 算法对智能手机的软件安装包文件进行完整性和唯一性检验以判别软件安装包是否已被篡改,对智能手机用户而言无疑是一种安全保障.

本文主要对3杂凑算法进行研究,并采用该算法实现Android平台的文件校验功能,以证明3杂凑算法用于Android平台的可行性与适用性.

1.3杂凑算法的处理思想与步骤

3杂凑算法使用了迭代压缩结构,将分组后的原数据,通过布尔运算与置换逻辑处理,在压缩过程中充分地进行扩散与扰乱.正是得益于这种设计,3杂凑算法有着相当高的复杂性与不可逆性.

2.3算法的Android实现

本文开发使用Android的ADT开发套件,开发目标平台Android 4.2(API 17),最低兼容Android 2.2(API 8).如图1所示,整个文件校验的过程通过用户交互层与逻辑处理层完成:

(1)用户交互层为一个Android的Blank Activity,实现文件名输入、文件读取以及最终计算结果显示等与用户交互的功能.由于Android系统限制程序可使用的内存大小,所以当文件大小大于内存可用量时,通过文件输入流方式无法将文件一次性读入.整个的文件是分段读入并分段处理的.

(2)逻辑处理层实现对数据的3杂凑计算处理.整个计算处理的开发就是将算法的数据填充、数据分组、数据扩展、数据压缩等各步骤通过Ja语言具体实现.值得注意的是,文件是以分段形式进行处理,需要每次将计算得的杂凑值累加,当读入的是最后一段数据时,须先进行数据填充处理,再计算杂凑值.最终,将杂凑值以Hex编码后输出.

3.结语

本文采用Ja编程语言在Android 4.2和OPhone2(兼容Android2.2)嵌入式操作系统,以及Windows XP系统分别编程实现了3杂凑算法,并对不同操作系统环境中3算法的执行效率进行了比较.本文作者在Android操作系统编程实现3算法的动机和最终目的是为智能手机下载的安装软件包提供一种有效的防篡改检验手段,防止带有木马或病毒的软件包被安装在智能手机上.对于3杂凑算法在Android平台上的其它应用(比如用于消息验证),以及该算法在其它嵌入式操作系统平台的实现具有指导和参考价值.由于各摘 要 算法处理思想和目的相似,本文的下一步工作是借鉴类似摘 要 算法的实现方法,将其中的优化步骤运用到3杂凑算法的实现中,以提升3算法在Android平台上的执行效率.

基于Android的3杂凑算法与实现参考属性评定
有关论文范文主题研究: 关于操作系统的论文范文数据库 大学生适用: 学院学士论文、高校大学论文
相关参考文献下载数量: 70 写作解决问题: 如何怎么撰写
毕业论文开题报告: 论文任务书、论文总结 职称论文适用: 期刊目录、职称评初级
所属大学生专业类别: 如何怎么撰写 论文题目推荐度: 优质选题