基于RSA算法的存储加密方案研究

2019-01-06 03:36王颖赵莎莎钱程陈华兴张四化陈丽
无线互联科技 2019年21期
关键词:明文加密算法密文

王颖 赵莎莎 钱程 陈华兴 张四化 陈丽

摘  要:为改进对称加密算法所导致的易破解问题,文章采用RSA非对称算法完成嵌入式存储算法的简化编码。同时在STC89C51平台上通过物理按键实现密钥输入操作,在实现存储内容明文与密文转化的基础上,运用TTL去抖算法,保证了按键响应的实时性以及识别按键准确性。这种基于RSA算法的嵌入式存储加密方案极大提高存储设备的安全性能,对其他存储加密系统设计具有重要的借鉴意义。

关键词:RSA算法;89C51;非对称加密;加密存储

1    加密算法简要介绍

1.1  加密算法的现状

人们对于信息安全需求日益增加,各种各样的加密算法孕育而出。密码作为目前最常用的安全机制,已经深入到日常生活的各个方面,从网上交易到发布微博,处处都会用到密码。早在20世纪80年代初,Grampp FT等[1]就提出密码暴力破解的方法,来验证Unix系统的安全性。尽管密码暴力破解的研究由来已久,但密钥的单一性使得暴力破解性能相比计算机科学的其他领域并没有取得飞跃性的进展[2]。明文具有冗余度的特点,因此攻击或破译密碼的方法主要有3种:穷举法[3]、统计分析攻击[4]、数学分析攻击[5]。

1.2  硬件安全机制的重要意义

在众多信息安全领域中,计算平台的安全成为影响信息安全、信息社会发展的关键性问题。作为计算平台运行机制能够正常工作的基础,硬件安全机制是保障计算平台硬件正常运行的核心机制,也是计算平台安全的源头。作为与通用计算机架构上相近的嵌入式系统,随着集成电路的发展,其使用数量以及应用范围正不断扩大。因此,对于嵌入式系统计算的安全性问题应该引起重视,这也是本文的立题所在。本文通过研究嵌入式系统计算的特点,以实现嵌入式系统安全计算为目标,从硬件安全机制的角度研究如何在嵌入式计算平台上实现可信计算的方法和实施机制[6]。

1.3  常见加密算法的优缺点

通过收集几种常见的加密算法,对其进行优缺点对比,得出如表1所示的3种算法优缺点对比。

2    方案介绍

鉴于对硬件存储安全机制的保证,对比了3种基本算法发现:虽然RSA算法利用非对称密钥加解密速度较慢,但相较其他算法,RSA加密算法安全性更高。本文选取安全性较高的RSA算法,并对其进行固定取值简化,提高效率,并增加物理按键,提高安全性。考虑到大多低级矩阵键盘实际运用中存在的机械误差,借助TTL去抖算法,增强信息输入准确性,进一步提高安全性。当RSA密钥强度较高时,性能受限尤为突出。按照RSA加密算法的理论,需要对每一个数据进行计算,包含加密后的数据、加密前数据公共密钥以及对应模数。为了提高安全性,公钥的取值不宜过小,这样在加密过程中就增加了整数求幂运算的时间复杂度。

本方案借助RSA算法存放信息,使用公钥对明文进行加密已得到所对应密文,而解密时则需要使用私钥对要解密的密文进行解码,才可得到所存储的明文内容,若密码错误则只能得到加密后的密文。在这一过程中,硬件平台提供输入和存储系统以承担算法运算的正常执行。

为方便实际测试,本方案所有测试均在51单片机平台实现。通过对RSA非对称算法添加延迟函数防止暴力解码,并引用多素数的方法,使之相乘得出相对较大的模数,从而提高运算效率与安全性。本方案现已完成RSA算法的优化,且已将算法编写为可执行程序,同时,将程序移植在单片机上,实现了借助单片机进行简单数组的存储,完成预期验证。

3    方案原理

3.1  RSA算法的原理

RSA算法主要是利用多素数的方法,首先,将明文分组并数字化,每个数字化分组明文的长度不大于logn;其次,对每个明文分组依次进行加解密运算,通过随机选择待生成的素数个数,生成多个较小的素数,并使之相乘,得出相对较大的模数。因为RSA算法所需为两互质数,故而该算法使用时需p和q互为质数;n为p与q的乘积,依据欧拉公式可知,不大于n且与n互质的整数个数为R=(p-1)×(q-1);选择出一个整数e与R互质且满足e

d×e=1(mod R)

其中,(n,e)是公钥,(n,d)是私钥。因为公钥和私钥值不同,可进行加密和解密编码,其具有非对称性,实现过程如图1所示。

3.2  矩阵键盘原理图

硬件部分采用STC89C51单片机,因为中矩阵键盘含有20(5×4)个按键,所以可以实现更多功能。本程序中就增加了除9个数字(1~9)可以加密之外,还添加了数字以外的5个字母(A~E)可以加密,还有两个按键分别控制退格及加密,功能的实现显示在显示屏上,如图2所示。

按键S1~S9为对应输入数字1~9,按键S10~S15(除s13)输入对应为16进制中A~E,S13为退格键,S16为开始键。

4    方案的实验

4.1  计划流程

本方案主要研究目标是在STC89C51单片机平台上借助RSA算法进行硬件加密,具体如下:

(1)将RSA算法进行优化编码。

(2)将所需模块驱动进行编码,实现硬件的可视化操作。

(3)将简化后的RSA算法函数应用在单片机程序中,借助单片机矩阵键盘实现密钥的输入,以实现明文和密文间的相互转化。

4.2  编码说明

4.2.1  函数定义与说明

(1)uchar password       //键盘输入的未加密密码

(2)uchar rsa_pw       //加密成数组的密码

猜你喜欢
明文加密算法密文
一种针对格基后量子密码的能量侧信道分析框架
一种支持动态更新的可排名密文搜索方案
基于模糊数学的通信网络密文信息差错恢复
奇怪的处罚
奇怪的处罚
基于小波变换和混沌映射的图像加密算法
四部委明文反对垃圾焚烧低价竞争
云存储中支持词频和用户喜好的密文模糊检索
Hill加密算法的改进