多种算法规则混合的加解密芯片构架
技术领域
本发明涉及芯片及其加密领域,特别涉及多种算法规则混合的加解密芯片构架。
背景技术
随着芯片技术和物联网技术的不断发展,对于其引发的数据安全问题也引起了越来越多的关注。芯片能够对数据信息进行存储,但存储的内容往往比较容易被剽窃,所以对于芯片来说其保存的数据的安全性也尤为重要,现阶段对于芯片的安全存储的设计加密方法有很多,运用的技术方法也各有不同,但是他们往往都是针对单一的固定加密方法设计。对于芯片中数据信息的加密技术,目前来说主流的对称加密算法规则是AES加密算法,是当前所有算法中安全性最高,运行速度最快的迭代分组密码算法规则,每组长度为128bit,密钥的长度有三种,分别为128bit、192bit、256bit,与之对应的迭代轮数分别为10、12和14。但是AES加密算法在对数据信息进行加密时,加密的密钥通常是固定的,这样就对于数据的存储,传递带来安全上的隐患,一旦AES加密算法的密钥被破解之后,就有可能会导致AES算法被破解。不能绝对确保数据信息的安全。
RAS加密算法是一种非对称加密算法,也是目前应用最广泛的公钥加密算法,其是基于数论中大整数(两个为素数之积)因数分解的困难程度,就是素数选取越大,对于大整数做因数分解的困难程度也就越大,破解密钥的难度也就相应越大,对于算法来说也就越安全。他能够抵御当前已知的绝大多数的密码攻击,除此之外,RAS算法既可以对数据信息进行加密,又可以用来对于信息的发送方进行身份的验证,通常与其他加密算法结合使用。
现有的芯片加密方式都比较单一,大多数芯片的加解密都是通过单片机,或者数字信号处理器通过软件编程来实现,这种加解密方法运行速度较慢,而且安全性也不高。
发明内容
为了解决上述的技术问题,本发明主要提供一种基于多种算法规则混合的加解密芯片架构,来确保芯片中的数据信息的安全。
多种算法规则混合的加解密芯片构架,包括中央处理器CPU、存储模块、输入模块、输出模块、加解密模块以及访问验证模块,其特征在于:所述的中央处理器CPU用来协调芯片中其他模块,使整个芯片能够正常运行;存储模块、输入模块、输出模块、加解密模块以及访问验证模块均与中央处理器CPU相连;所述的存储模块中设置了两个Flash存储芯片,Flash存储芯片1用来存储不用加密的非加密信息,Flash存储芯片2用来存储加密后的加密数据信息。所述的输入模块与外围设备相连,需要写入的数据信息通过外围设备经由输入模块输入;所述输出模块与连接外围设备相连,将需要输出的数据信息通过输出接口传输到外围设备上;所述的加解密模块对于输入模块中输入的数据信息中需要加密的数据信息进行加解密。
进一步地,当外接设备向芯片中写入数据信息时,首先向中央处理器CPU发出数据信息写入的请求,中央处理器CPU根据访问验证模块中的账号和密码初步验证此次访问芯片的合法性,验证通过时,外围设备将需要写入的数据信息写入中央处理器CPU,然后通过加解密模块进行加密,并将加密后的数据信息存储Flash芯片2中;验证不通过,则拒绝此次访问。
进一步地,当需要读取芯片存储模块中存储的数据信息时,先向中央处理器CPU发出读写的访问请求,中央处理器CPU根据访问验证模块中的账号和密码初步验证此次访问操作的合法性,验证通过时,通过CPU的协调,使加解密模块将需要读取的数据进行解密,将解密后的结果通过输出模块传递到外围设备;验证不通过,拒绝此次访问。
进一步地,所述的加解密模块由AES加密单元,AES解密单元,RSA加密单元以及RSA解密单元构成,AES加密单元和AES解密单元构成AES加解密算法,RSA加密单元和RSA解密单元构成RSA加解密算法,AES加解密算法和RSA加解密算法构成多种算法混合加解密算法。
进一步地,,当外界数据信息写入时,通过以下的方法进行加密输入的操作:
当访问验证模块验证操作合法后,将需要输入的数据信息由外围设备经过输入模块最终传输到加密模块进行加密,加密时AES加密单元会生成AES密钥,输入AES密钥后在AES加密单元会对数据信息进行基于AES加密算法的加密过程,得到密文,然后RSA加密单元中的密钥生成单元会生成RSA的密钥对,分别是公钥和私钥,输入RSA的公钥之后,RAS加密单元会对AES密钥进行加密,最后交由中央处理器协调,将密文及加密后的AES密钥进行存储。
进一步地,当需要将芯片中存储的加密过的数据信息输出到外围设备,通过以下的方法进行解密输出的操作:当访问验证模块验证通过,认为此次输出访问合法时,中央处理器协调将需要输出的加密数据信息由存储模块传输到加解密模块进行解密,首先利用RSA私钥对AES密钥进行解密,然后再利用AES密钥在AES解密单元对密文进行解密,得到数据明文,通过输出模块传输到外围设备。
进一步地,所述的AES加密算法采用分组密码,将接收到的明文分为n组,每组的长度相等,每次加密一组数据,直到加密完整个明文;明文分组以字节为单位,每个分组为16个字节,构成4*4的矩阵。在加密函数中,会执行一个轮函数,每轮函数每一轮迭代中要经历字节代替运算、行位移变换、列混淆变换和轮密钥加变换4个步骤。
进一步地,RSA非对称加密算法通过如下的方法产生:
S1:独立随机选取两个大不同的素数p和q,计算p*q;
S2:根据欧拉定理求出
S3:选择一个整数e,(e与互为素数),计算
S4:取公钥:PU={e,n},私钥:PR={d,n}。
进一步地,RSA非对称加密算法对AES算法的密钥加密方式为:密文密钥=AES密钥e(mod n)。
进一步地,所述的RSA非对称加密算法对AES密钥的解密方式为:AES密钥=密文密钥d(mod n)。
本发明与现有的芯片的加解密的技术相比较,本发明通过混合AES加密算法和RSA加密算法的方法对于存储进芯片的数据信息进行加解密的操作,使得存储在芯片的数据信息有更高的安全性。
附图说明
:图1为本发明多种算法规则混合的加解密芯片构架示意图;
图2为混合加解密解算法的加密基本构架示意图;
图3为混合加解密解算法的解密基本构架示意图;
图4为AES加密算法具体流程图;
图5为RSA加密算法流程图;
具体实施方式
下面结合附图和实施例对本发明做出进一步的说明。
如图1所示,本发明所述的多种算法规则混合的加解密芯片架构示意图,所述的多种算法规则混合的加解密芯片架构包括中央处理器CPU和存储模块、输入模块、输出模块、加解密模块以及访问验证模块。中央处理器作为芯片的核心元件,协调整个芯片中的其他模块的运行,使整个芯片能够正常的工作。中央处理器通过内部总线与存储模块、输入模块、输出模块、加解密模块以及访问验证模块相连,存储模块用于存储数据信息;输入模块和输出模块与外围设备相连接,实现数据信息的输入和输出。
访问验证模块的作用是当外围设备需要向芯片中存储信息或者读取芯片中的数据信息是验证此次访问操作的合法性,当外接设备向芯片中输入数据信息时,首先向中央处理器CPU发出数据信息写入的请求,中央处理器会根据访问验证模块中的验证信息来判断此次访问芯片的合法性,如果此次访问操作合法,则进行写入操作,外文的设备将需要写入的数据信息写入中央处理器,然后通过加解密模块进行加密,然后将加密后的数据信息存储在芯片的存储Flash空间中;如果访问验证模块中认为此次访问不合法,则拒绝此次访问。当需要读取芯片存储模块中Flash中存储的数据信息时,同样是现象中央处理器发出读写的访问请求,中央处理器根据人中模块中的验证信息来判断此次访问操作的合法性,如果验证通过,认定此次访问合法,则将需要读取的数据进行解密,将解密后的结果输出到外部接口;如果验证不通过,认为此次访问不合法。拒绝此次访问。
加解密模块作用是对于来自输入模块的数据信息进行加密操作和向输出模块输出的数据信息进行解密操作,来保证数据的安全性,加解密模块中包含了AES加密单元,AES解密单元,RSA加密单元以及RSA解密单元,如图4所示为AES加密算法的加解密流程图,AES加密算法属于对称加密算法,分为三种,分别是AES-128、AES-192、AES-256,他们之间的区别在于密钥的长度和加密的次数不同,以AES-128为例,其加密算法主要有4种操作步骤组成,字节代替、行位移、列混淆、轮密钥加。在得到传输的明文数据信息之后,首先对其进行1次轮密钥加;然后循环10次操作步骤,在第10次循环时不进行列混淆变换。应为AES加密算法为对称加密算法,其解密过程与加密过程相反,首先对密文进行一次轮密钥加;然后执行10轮逆向行位移、逆向字节代替、轮密钥加、逆向列混淆;但在第10次循环时候没有逆向列混淆。最终完成AES解密过程。
具体的加密过程如图2混合加解密解算法的加密基本构架所示,解密过程如图3混合加解密解算法的解密基本构架所示,当需要向芯片中输入数据信息时或者读取芯片中的相关加密信息时通过下面的方法实现;数据信息由外围设备通过输入模块输入,然后发送到加密模块,加密模块中的AES加密单元会随机生成一个AES密钥,通过使用AES密钥在AES加密单元中对输入的数据信息进行加密,得到密文数据,在加解密模块中的RSA算法单元中的RSA密钥生成单元会生成RSA的公钥和私钥,通过使用RSA公钥可以时RSA加密单元对AES的密钥进行RSA算法加密,完成整个数据信息的加密过程。如果需要将芯片内加密的数据信息进行解密输出到外围设备,则进行的是解密的流程,通过利用RSA私钥首先对加密后的AES密钥加进行解密,得到AES密钥,然后通过使用AES密钥对加密后的数据信息进行解密,得到解密后的明文数据信息。最后将得到的数据信息通过输出模块传输到外围设备。完成数据的输出过程。采用AES和RSA两种加密规则的混合加密加解密,能够有效的提高加密的效率,同时还能够很大程度上提高AES在密钥管理上的安全性。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:终端设备识别系统及其方法