赵君
摘 要:与PC机相比,在手机上实现同样的算法要求占用空间小、功耗低。高级加密标准(AES)的S盒设计采用查表方式,复杂度较高、消耗功率大,因此,将它用于手机中要对它进行优化。本文提出优化AES加密算法,将分组长度扩充至256位,增加分组长度能提高算法的安全性;在采用求逆运算的基础上添加仿射变换,以运算代替查表操作,能减少存储空间;将字替换、行移位、列混合合并在为成为一个运算步骤,其输入数据为16位、输出数据为64位,能提高运算效率。实验结果表明,该算法既能大幅提升加密强度又能保持高运算效率。
关键词:Android;AES;64位处理器;分组密码
DOI:10.15938/j.jhust.2017.03.002
中图分类号: TP305
文献标志码: A
文章编号: 1007-2683(2017)03-0008-05
Abstract:Algorithm implemented on the mobile phone is different from one on PC. It requires little storage space and low power consumption. Standard AES Sbox design uses look up table, and has high complexity and high power consumption, so it needs to be optimized when used in mobile phones. In our optimization AES encryption algorithm, the packet length is expanded to 256 bits, which would increase the security of our algorithm; look up table is replaced by adding the affine transformation based on inversion, which would reduce the storage space; operation is changed into 16bit input and 64bit output by merging the three steps, namely SubWords, ShiftRows, MixColumns and AddRoundKey, which would improve the operation efficiency of the algorithm. The experimental results show that our algorithm not only can greatly enhance the encryption strength, but also maintain high computing efficiency.
Keywords:android; AES; 64bit processor; block cipher
從表1中结果可以看出,如果采用查表方式将分组长度提升至256位,将消耗20MB存储空间,资源消耗过大,无法实现。GAES算法采用运算代替查表,有效减少了存储空间,但带来运算速度的减慢。优化AES算法通过对算法结构的优化,使运算速度提升3倍左右,虽然此速度还是要比标准AES慢25%左右,但换来的是存储空间的减少、加密强度的提升,此范围是可以接受的。如果将分组长度继续增大,则运算量太大,无法实现。
5 结 论
本文针对64位处理器的Android操作系统,对标准AES算法进行优化,提出分组长度为256位的优化AES加密算法。利用GAES算法存储空间小,低功耗的特点,使用其S盒的构造方法。并在此基础上对算法结构做出相应优化,使其在64位处理器上的运算速度得到提升。最后通过试验验证其执行速度比标准AES下降25%左右,这是因为分组长度增加必然带来运算数据量的增大。但是以此代价换来存储空间的减少,密码强度的大幅提升,是可以接受的。
参 考 文 献:
[1] 骆子玉, 洪璇. AES 算法在多核的安卓平台下的改进及应用[J]. 计算机应用与软件, 2017, 34(1): 209-213.
[2] 李晖, 李凤华, 曹进, 等. 移动互联服务与隐私保护的研究进展[J]. 通信学报, 2014, .35(11): 1-11.
[3] 伍均玺. 网络通信中的加密技术应用[J]. 网络安全技术与应用, 2015(1): 47-50.
[4] 钟卫东, 孟庆全, 张帅伟, 等. 基于秘密共享的AES的S盒实现与优化[J]. 工程科学与技术, 2017, 49(1): 191-196.
[5] 张伟, 高俊雄, 王耘波, 等. 一种优化的AES算法及其FPGA实现[J]. 计算机与数字工程, 2017, 45(3): 502-505.
[6] CHO J, SOEKAMTOPUTRA S, CHOI K, et al. Power Dissipation and Area Comparison of 512bit and 1024bit Key AES[J]. Computers & Mathematics with Applications, 2013, 65(9): 1378-1383.
[7] 张诗永, 陈恭亮, 范磊, 等. GAES算法[J]. 密码学报, 2014,1(2):187-199.
[8] CUI J, HUANG L, ZHONG H, et al. An Improved AES Sbox and Its Performance Analysis[J]. International Journal of Innovative Computing, Information and Control, 2011, 7(5): 2291-2302.
[9] 赵军, 基于Android平台加密算法的研究与实现[D]. 南京理工大学, 2012.
(编辑:王 萍)