论文部分内容阅读
自2007年9月Google推出Android智能手机系统以来,Android操作系统在移动终端设备中得到飞速发展,因此其暴露出的信息安全问题也越来越多。其内置的开源数据库SQLite为了满足移动设备访问速度及内存占用率等性能要求,不提供加密功能,但设计SQLite数据库的人员仍预留了加密接口。IDEA是International Data Encryption Algorithm的缩写,是1990年由瑞士联邦技术学院的来学嘉X.J.Lai和Massey提出的建议标准算法,称作PES(Proposed Encryption Standard)。来学嘉X.J.Lai和Massey在1992年对其进行了强化抗差分分析能力的改进,这时改名称为IDEA。IDEA其设计思想是使用128bit密钥对长度分组为64bit的数据进行基于“相异代数群上的混合运算”变换操作。因为其密钥空间大,而且运算速度快,且其安全性高,同时加解密过程便于硬件和软件的实现,使得其的应用范围也越来越广泛。本文主要研究内容是对标准IDEA密钥扩展算法的优化及应用。首先分析了IDEA密钥扩展算法的不足,导致弱密钥类的产生,大大缩小了密钥空间。在此基础上,利用ARX结构思想来优化IDEA的子密钥扩展,提出了AR密钥扩展算法,通过实验分析给出了其子密钥生成效果,并证明了其安全性和效率。其次,将AR密钥扩展算法应用到IDEA加解密过程中,即AR_IDEA加密算法,修改SQLite数据库源码,定义SQLite加密宏,实现其加密接口函数,封装AR_IDEA加密算法,实现对数据库的加密功能。最后,对Android平台的电信项目工期管理系统APP进行了功能需求和数据存储安全需求分析,以及数据安全分类分级设计,构建了电信工期管理系统APP的架构方案,并将上述研究成果应用到该系统APP中,通过了安全性测试。