首页> 中国专利> 一种适用于无源便携式设备的3DES加密算法电路

一种适用于无源便携式设备的3DES加密算法电路

摘要

本发明公开了一种适用于无源便携式设备的3DES加密算法电路,其包括:全局有限状态机,其用于控制该加密算法电路中各个模块的工作状态;数据初始置换模块,用于完成3DES加密算法中待加密数据的初始置换;密钥初始置换模块,用于完成3DES加密算法中密钥的初始置换;轮函数模块,用于根据所述数据初始置换模块和子密钥生成模块的输出数据完成3DES加密算法中轮函数的计算;子密钥生成模块,用于根据所述密钥初始置换模块的输出数据生成3DES算法中的子密钥;数据逆置换模块,用于根据轮函数模块的计算结果完成3DES加密算法中数据的逆置换,得到所述输入数据的最终加密/解密结果。

著录项

  • 公开/公告号CN103150522A

    专利类型发明专利

  • 公开/公告日2013-06-12

    原文格式PDF

  • 申请/专利权人 中国科学院半导体研究所;

    申请/专利号CN201310071854.4

  • 申请日2013-03-07

  • 分类号G06F21/72;G06F15/76;

  • 代理机构中科专利商标代理有限责任公司;

  • 代理人宋焰琴

  • 地址 100083 北京市海淀区清华东路甲35号

  • 入库时间 2024-02-19 19:15:47

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-09-09

    授权

    授权

  • 2013-07-17

    实质审查的生效 IPC(主分类):G06F21/72 申请日:20130307

    实质审查的生效

  • 2013-06-12

    公开

    公开

说明书

技术领域

本发明涉及SoC数字电路设计领域,特别涉及一种适用于CPU卡等 无源便携式设备的3DES加密算法电路。

背景技术

CPU卡也称智能卡,卡内的集成电路中嵌有微处理器,实现了软硬件 协同工作的方式,大大提高了其逻辑控制和数据处理的能力,这使得CPU 卡采用强力的加密算法对交易流程进行全程加密成为可能,安全性能远远 超过以前的逻辑加密卡。CPU卡还具有用户空间大、读取速度快、支持一 卡多用等特点,可广泛应用于金融、保险、交通、政府行业等多个领域。

3DES加密算法是DES加密算法的一种安全变形,通过使用不同的密 钥依次对数据实施DES加密、DES解密和DES加密,极大地扩展了加密 的密钥空间,消除了暴力破解的可能。目前,仍然没有一种有效的方法可 以破解3DES,在需要确保高级安全性能的应用中,3DES算法被广泛采用。

虽然CPU卡具有通过软件编程实现算法的能力,但软件实现3DES 并不可取,原因如下:

第一,3DES算法的特点是运算量大,并行度高,且运算多为置换、 移位、异或等逻辑运算,用微处理器串行执行指令的方式来实现效率低, 耗时长。

第二,CPU卡无源便携,通过和读卡器之间的电磁感应获取能量, 可供使用的电能有限,微处理器结构复杂,动作功耗大,实现3DES的长 时间高功耗是卡本身难以承受的。

第三,微处理器实现3DES需要频繁借助片内ROM和RAM,这一方 面会引入额外的功耗,另一方面也会给提供数据交互的片上总线造成巨大 负担。

另一方面,虽然将3DES算法设计成CPU卡的硬件协处理器可以避免 上述问题,但是硬件设计的自由度大,针对性强,不同的架构虽然能实现 相同的功能,但在性能参数上却各有偏重,不针对系统需求特点的硬件结 构反而会降低系统性能甚至造成设计失败。

CPU卡芯片的特点是工作频率不是很高(ISO-14443协议规定为13.56 MHz±7kHz),但对低功耗设计要求严格,此外,从降低成本和方便嵌 入的角度看,还要求芯片具有小面积、低资源消耗的优点,而通用的3DES 硬件电路结构一般都是旨在追求芯片的高速数据处理能力,针对性差,不 能很好地适用于CPU卡等无源便携式设备。

发明内容

本发明的目的在于,提供一种适用于无源便携式设备的3DES加密算 法电路,具有低功耗、小面积和低资源消耗的优点。

本发明提供了一种适用于无源便携式设备的3DES加密算法电路,其 包括:

全局有限状态机,其用于控制该加密算法电路中各个模块的工作状态;

数据初始置换模块,用于完成3DES加密算法中待加密数据的初始置 换;

密钥初始置换模块,用于完成3DES加密算法中密钥的初始置换;

轮函数模块,用于根据所述数据初始置换模块和子密钥生成模块的输 出数据完成3DES加密算法中轮函数的计算;

子密钥生成模块,用于根据所述密钥初始置换模块的输出数据生成 3DES算法中的子密钥;

数据逆置换模块,用于根据轮函数模块的计算结果完成3DES加密算 法中数据的逆置换,得到所述输入数据的最终加密/解密结果。

本发明的有益效果是:

1、将3DES算法分解为五个基本功能模块并进行复用,有效减小了 面积和资源消耗。

2、在分析子密钥生成模块所有工作方式的基础上,将其分解为三种 基本工作模式并用三个子模块予以实现,有效简化了模块的复杂度。

3、模块设计成寄存器输出并引入门控时钟,有效降低了动态功耗。

4、合理安排算法流程,采用并行(包括模块之间的并行和模块内部 的并行)的架构实现3DES算法,工作速度快,计算时间少。

5、接口简单,易于转化成符合不同总线要求的接口以满足不同嵌入 式应用的要求。

附图说明

图1为本发明中适用于无源便携式设备的3DES加密算法电路结构图;

图2为本发明中子密钥生成模块的内部结构图;

图3为本发明优选实施案例中加密算法电路的部分输入及输出信号的 波形图;

图4为本发明优选实施案例的性能评估报告示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实 施例,并参照附图,对本发明进一步详细说明。

请参阅图1所示,本发明提供了一种适用于无源便携式设备的3DES 加密算法电路1,其包括:

全局状态机2,其负责该加密算法电路的全局工作状态跳转,并根据 当前状态输出其它各个模块的门控时钟使能信号和多路选择器选择信号, 以对其它模块的开启和数据流的走向进行控制,计算结束后状态机关闭所 有模块,置该加密算法电路进入全局休眠状态,并输出结束信号。

全局状态机2包括两组状态寄存器cnt_des和cnt,电路状态由数据对 (cnt_des,cnt)来标识,电路工作时状态机通过对输入时钟的计数来控制 状态跳转,具体跳转方式如下:(0,0)→(0,1)→(0,2)→…→ (0,19)→(1,1)→(1,2)→…→(1,19)→(2,1)→(2,2) →…→(2,19)→(3,1),其中(0,0)为闲置状态,(3,1)为运 算完成的结束状态,这两个状态下所有基本功能模块的门控时钟均被关闭。

数据初始置换模块3,其通过线连(即输入输出之间的直接对应连接, 不同的对应方式实现不同的置换)的硬件结构实现3DES算法中输入数据 的初始置换,模块设计为寄存器输出,寄存器由模块内置的门控时钟予以 驱动,门控时钟在cnt=2时开启,其余状态时关闭。其输入在状态(0,2) 时为初始输入数据,其余状态时为上一次DES运算的结果,即数据逆置 换模块7的输出,而输入数据的切换由内部多路选择器完成。其输出为轮 函数模块5的输入。

密钥初始置换模块4,其通过线连的硬件结构实现3DES算法中密钥 的初始置换,模块设计为寄存器输出,寄存器由模块内置的门控时钟予以 驱动,门控时钟在cnt=1时开启,其余状态时关闭。其输入在加密模式下 为:cnt_des=0时为key1、cnt_des=1时为key2、cnt_des=2时为key3,在 解密模式下为:cnt_des=0时为key3、cnt_des=1时为key2、cnt_des=2时 为key1,而输入数据的切换由内部多路选择器完成,其中key1、key2和 key3为原始的密钥输入。其输出为子密钥产生模块6的输入。

子密钥产生模块6,其通过移位和线连的硬件结构实现3DES算法中 子密钥的生成。其输入在cnt=2时为密钥初始置换模块4的输出,其余状 态时为其自身上一次的输出,而输入数据的切换由子密钥产生模块6包含 的三个子模块内部的多路选择器完成。其输出为轮函数模块5的输入。

经简化的子密钥产生模块6如图2所示,包含3个子模块:第一子模 块61,其在加密时将输入数据左移1位,解密时保持不变;第二子模块 62,其在加密时将输入数据左移1位,解密时右移1位;第三子模块63, 其在加密时将输入左移2位,解密时右移2位。子模块设计为寄存器输出, 寄存器由子模块内置的门控时钟予以驱动。子模块61的门控时钟在cnt=2 时开启,其余状态时关闭;子模块62的门控时钟在cnt=3、10、17时开启, 其余状态时关闭;子模块63的门控时钟在cnt=4~9、11~16时开启,其余 状态时关闭。子密钥产生模块6还包括一个多路选择器64,其在cnt=3时 选择子模块61的输出,在cnt=4、11、18时选择子模块62的输出,在 cnt=5~10、12~17时选择子模块63的输出。

轮函数模块5,其通过移位、线连和异或的硬件结构实现3DES算法 中轮函数的功能,模块设计为寄存器输出,寄存器由模块内置的门控时钟 予以驱动,门控时钟在cnt=318时开启,其余状态时关闭。其输入的一部 分始终为子密钥产生模块6的输出,另一部分在cnt=3时为数据初始置换 模块3的输出,其余状态时为模块5自身上一次的输出,数据切换由内部 多路选择器完成。其输出为数据逆置换模块7的输入。

数据逆置换模块7,通过线连的硬件结构实现3DES算法中数据的逆 置换,模块设计为寄存器输出,寄存器由模块内置的门控时钟予以驱动, 门控时钟在cnt=19时开启,其余状态时关闭。其输入始终为轮函数模块5 的输出。其输出一方面在下一轮DES运算开始时为数据初始置换模块3 的输入,另一方面在计算结束时即为最终的数据输出。

实施例1

为了验证本发明一种适用于CPU卡的3DES加密算法的电路结构的功 能,进行了如下的实验:

随机选取了一组明文和密钥输入:

din=0x9ba26cab5d715f65,

key1=0xb0004d01e1be37b5,

key2=0x98feb211c096fa8e,

key3=0x764f9365f02cee22。

经计算,经过3DES加密的密文输出应为:

dout=0x97078658210b6718。

利用本发明对以上明文和密文分别进行一次加密和解密,结果如图3 所示。图3示出了输入到所述3DES加密算法的部分输入及输出信号,所 述部分输入信号从上至下依次为:复位信号、时钟信号、加解密选择信号、 启动信号、结束信号、输出数据信号。由图3的输出数据信号的结果可以 看出电路结构功能完全正确,且可以计数出一次3DES运算仅需58个时 钟周期。

实施例2

为了验证本发明提出的上述适用于CPU卡的3DES加密算法的电路结 构的性能,进行了如下的实验:选用Charter 0.35μm CMOS工艺库和 Synopsys公司的软件工具Design Compiler在选取最差环境条件WCCOM 下(电压=3.0V,温度=125℃)进行综合评估,得到如图4所示的评估报 告,包括:时序评估报告(上),单位为ns;面积评估报告(中),单位为 门数;功耗评估报告(下)。报告显示本发明至少能满足20MHz的工作频 率要求,面积约为8500门,动态功耗在3V工作电压和20MHz工作频率 下仅为2.44mW,完全符合CPU卡的性能要求。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行 了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而 已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号