加密算法模块加速器及其数据高速加解密方法技术

技术编号:4203586 阅读:354 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种加密算法模块加速器及其数据高速加解密方法。该加密算法模块加速器包括加密算法模块控制器(101)、RAM(102)、加密算法模块组(103)以及控制/状态寄存器组(104)。加密算法模块控制器(101)分别与加密算法模块组(103)、RAM(102)和控制/状态寄存器组(104)双向连接,RAM(102)与系统总线或外围总线(13)双向连接;控制/状态寄存器组(104)与系统总线或外围总线(13)双向连接,信号在两个方向流动。所述加密算法模块加速器的工作可灵活配置多种加密算法模块,在加解密过程中不需CPU(12)的参与,也不会占用系统总线或外围总线(13),同时充分利用加密算法模块的数据流加解密速度,进而提高了系统的加解密数据速度。

【技术实现步骤摘要】

本专利技术涉及嵌入式芯片技术,尤其涉及嵌入式加密芯片的设计以及提高 加密芯片数据加密速度的方法。
技术介绍
加密芯片中多会采用多种加密算法模块来对数据进行加密,对于少量数据的加密可以通过CPU的参与来调用相应加密算法;漠块,产生所需加密数 据。如果需要加密的数据量很大,仍然采用CPU参与的方式来加密数据就会 占用系统的大量时间和资源,比如,由CPU来参与加解密过程,其读写命令 必然要占用几个时钟周期的时间,而且在连续加解密过程中,CPU和总线的 资源也会被全部占用。如何提高数据流的处理速度来达到实际使用时对数据 流加解密的要求,这一问题是本专利技术研究的课题。
技术实现思路
本专利技术提供一种,其目的 是要通过设计加密算法模块加速器的方案来提高系统的数据加密速度,尽量 少的占用系统CPU和总线资源,以克服现有技术的不足。为达到上述目的,本专利技术加速器采用的技术方案是 一种加密算法模块 加速器,包括RAM,用于存储原文数据以及经过加密运算的加密数据;加密算法模块组,由至少一种加密算法模块组成,各加密算法模块用于 对原文数据进行不同算法的加解密运算;控制/状态寄存器组,由控制寄存器和状态寄存器组成,状态寄存器用于 反映加密算法模块加速器的状态信息;控制寄存器用于定义以下内容1) 定义选择何种加密算法模块来进行加解密运算;2) 定义加解密数据量;3) 设置中断配置;4) 定义启动加密算法模块进行加密解运算的使能; 加密算法模块控制器,用于控制被选择加密算法模块的加解密过程以及控制RAM的地址和数据读写操作,在完成数据加解密之后,将中断信号传 送给中断控制器;所述加密算法模块控制器分别与加密算法模块組、RAM和控制/状态寄存 器组双向连接;RAM与系统总线或外围总线双向连接;控制/状态寄存器组与系统总线或外围总线双向连接。上述技术方案中的有关内容解释如下1、 上述方案中,所述双向连接,,是指电信号可以在两个方向流动的电 连接关系。RAM可以依据用户实际使用定义其空间。2、 上述方案中,加密算法模块组可以选用多种加密算法模块,对于不同 原文,通过对控制/状态寄存器组的配置,选择加密算法模块组中相应的加密 算法模块进行数据的加解密。3、 上述方案中,为了控制加解密的运算次数,所述加密算法^t块控制器 包含一个计数器,在对批量数据进行加解密运算时,通过判断控制寄存器中 定义的加解密数据量来控制加解密的运算次数。4、 上述方案中,所述加密算法模块控制器包含数据緩存器,在对数据进 行加解密运算时,使用数据緩存器来预读RAM中的数据以及存储加密模块 运算后的结果。为达到上述目的,本专利技术方法采用的技术方案是 一种加密算法模块加 速器的数据高速加解密方法,在上述加密算法模块加速器基础上,该方法包 括如下步骤第一步,配置控制/状态寄存器组中的控制寄存器,其中包括定义选择何 种加密算法模块来进行加解密运算、定义加解密数据量以及设置中断配置;第二步,将数据写入RAM,写入RAM的数据量是加密算法模块组中被 选定加密算法模块的 一 次加解密数据量的整数倍;第三步,根据控制寄存器中的使能位信息,通过加密算法模块控制器启 动被选择的加密算法模块,对存储在RAM中的数据进行加密或解密运算, 在数据进行加密或解密的同时,从加密算法模块组中返回的运算结果将会回 写到RAM中;第四步,当所有存储在RAM中的数据加密或解密完成后,如果控制寄存 器中配置有中断使能位,加密算法模块控制器将产生中断信号并传送给中断 控制器;如果控制寄存器中没有配置中断使能位,系统将查询状态寄存器的 运算完成位,判断加密或解密过程是否结束;第五步,当系统判断加密算法模块加速器完成一次加密或解密过程,将 加密或解密后的数据从RAM中读出。上述技术方案中的有关内容解释如下1、上述方案中,所述第二步,将数据写入RAM其中数据如果为原文数据,则通过加密获得密文数据;如果为密文数据则通过解密获得原文数据。2、 上述方案中,在第三步中,当翁:据加密或解密运算完成后,加密或解 密后的数据将会覆盖存储在RAM中原来对应的数据。3、 上述方案中,在第三步中,利用加密算法^^莫块组中的加密算法^t块加 密或解密一组数据所用的时钟周期总是大于加密算法模块控制器从RAM预 读数据与向RAM回写数据的周期之和,当加密算法模块完成一组数据的加 密或解密之后,加密算法模块控制器将加密算法模块的运算结果及时回写到 RAM中,同时将RAM中需要加密或解密的下一组数据及时输入到加密算法 模块中,并再次启动加密算法模块组进行下一组数据的加密或解密运算,以 此循环往复来保证加密算法;f莫块全速运算。总之,本专利技术提供了一种简而易行的加密算法模块加速器及其数据高速 加解密方法。所述加密算法模块加速器的工作可灵活配置多种加密算法模 块,在加解密过程中由加密算法模块控制器自动控制数据的交换,不需CPU 的参与,也不会占用系统总线或外围总线资源,同时充分利用加密算法^t块 的数据流加解密速度,进而提高了系统的加解密数据速度。 附图说明附图1为本专利技术加密算法模块加速器的系统原理框图; 附图2为本专利技术控制/状态寄存器组中的控制寄存器示意图; 附图3为本专利技术控制/状态寄存器组中的状态寄存器示意图; 附图4为本专利技术加密算法模块加速器的系统操作时序图。 以上附图中10、加密算法模块加速器;11、中断控制器;12、 CPU; 13、 系统总线;101、加密算法模块控制器;102、 RAM; 103、加密算法模块组; 104、控制/状态寄存器组;201、定义加解密数据量字段;202、定义选择何 种加密算法模块字段;203、定义启动加密算法模块使能字段;204、中断配 置字段;301、工作状态字段;302、完成一次加解密流程字段。 具体实施例方式下面结合附图及实施例对本专利技术作进一步描述 实施例 一种 如图1所示,本专利技术加密算法模块加速器10主要由RAM 102、加密算法 模块组103、控制/状态寄存器组104和加密算法模块控制器101组成。其中 RAM 102用于存储原文数据以及经过加密运算的加密数据,其空间大小可以依据用户实际使用需要来定义。加密算法模块组103由加密算法模块1、加密算法模块2........加密算法模块n组成,其中,至少有一种加密算法模块。各加密算法模块用于对原 文数据进行不同算法的加解密运算。控制/状态寄存器组104由控制寄存器和状态寄存器组成。控制寄存器如 图2所示,由定义选择何种加密算法模块字段202、定义加解密数据量字段 201、定义启动加密算法模块使能字段203和中断配置字段204组成。其中, 字段202用于定义选择何种加密算法模块来进行加解密运算,加密算法模块 组103冲艮据字段202来选择相应的加密算法模块。字段201用于定义加解密 数据量,假定被选中加密算法模块一次加密的数据量为N-Byte,那么写入 RAM的原文数据量需是N-Byte的整数倍,这样可以通过控制加解密的次数 来控制加解密数据量。字段203用于定义启动加密算法4莫块进行加密解运算 的使能。加密算法模块控制器101根据使能位启动相应加密算法模块进行加 密解运算。字段204设置中断配置,加密算法模块控制器101根据字段204 发出中断信本文档来自技高网...

【技术保护点】
一种加密算法模块加速器,其特征在于包括: RAM(102),用于存储原文数据以及经过加密运算的加密数据; 加密算法模块组(103),由至少一种加密算法模块组成,各加密算法模块用于对原文数据进行不同算法的加解密运算; 控制/状态寄存器组(104),由控制寄存器和状态寄存器组成,状态寄存器用于反映加密算法模块加速器的状态信息;控制寄存器用于定义以下内容: 1)定义选择何种加密算法模块来进行加解密运算; 2)定义加解密数据量; 3)设置中断配置;4)定义启动加密算法模块进行加密解运算的使能; 加密算法模块控制器(101),用于控制被选择加密算法模块的加解密过程以及控制RAM(102)的地址和数据读写操作,在完成数据加解密之后,将中断信号传送给中断控制器(11);所述加密算法模块控制器(101)分别与加密算法模块组(103)、RAM(102)和控制/状态寄存器组(104)双向连接;RAM(102)与系统总线或外围总线(13)双向连接;控制/状态寄存器组(104)与系统总线或外围总线(13)双向连接。

【技术特征摘要】
1、一种加密算法模块加速器,其特征在于包括RAM(102),用于存储原文数据以及经过加密运算的加密数据;加密算法模块组(103),由至少一种加密算法模块组成,各加密算法模块用于对原文数据进行不同算法的加解密运算;控制/状态寄存器组(104),由控制寄存器和状态寄存器组成,状态寄存器用于反映加密算法模块加速器的状态信息;控制寄存器用于定义以下内容1)定义选择何种加密算法模块来进行加解密运算;2)定义加解密数据量;3)设置中断配置;4)定义启动加密算法模块进行加密解运算的使能;加密算法模块控制器(101),用于控制被选择加密算法模块的加解密过程以及控制RAM(102)的地址和数据读写操作,在完成数据加解密之后,将中断信号传送给中断控制器(11);所述加密算法模块控制器(101)分别与加密算法模块组(103)、RAM(102)和控制/状态寄存器组(104)双向连接;RAM(102)与系统总线或外围总线(13)双向连接;控制/状态寄存器组(104)与系统总线或外围总线(13)双向连接。2、 根据权利要求1所述的加密算法模块加速器,其特征在于所述加密算法模块控制器(101)包含一个计数器,在对批量数据进行加解密运算时,通过判断控制寄存器中定义的加解密数据量来控制加解密的运算次数。3、 根据权利要求1所述的加密算法模块加速器,其特征在于所述加密算法模块控制器(101)包含数据缓存器,在对数据进行加解密运算时,使用数据緩存器来预读RAM (102)中的数据以及存储加密模块运算后的结果。4、 根据权利要求1所述加密算法模块加速器的数据高速加解密方法,其特征在于该方法包括如下步骤第一步,配置控制/状态寄存器组(104)中的控制寄存器,其中包括定义选择何种加密算法模块来进行加解密运算、定义加解密数据量以及设置中断配置;第二...

【专利技术属性】
技术研发人员:王忠海林雄鑫肖佐楠郑茳
申请(专利权)人:天津国芯科技有限公司
类型:发明
国别省市:12[中国|天津]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1