一种用于低功耗加密系统的可逆逻辑单元的实现方法

文档序号:7525360阅读:191来源:国知局
专利名称:一种用于低功耗加密系统的可逆逻辑单元的实现方法
技术领域
本发明涉及信息安全技术领域,更确切地说,涉及一种加密系统的低功 耗解决技术。
背景技术
加密系统功耗问题的研究成为近年来信息安全研究的关键问题之一。其 主要内容表现在两个方面 一方面是功耗与入侵攻击的关系。旁路攻击方法 根据密码模块进行密码运算时泄漏的信息来获取密钥,而经常使用的旁路信 息之一就是芯片的功耗行为,入侵者根据不同部分算法执行数据和指令设备 的改变,可以知道功耗消耗的数量,直接获得功耗信息,建立相关攻击模型, 对功耗信息进行分析。 一般来说,攻击者只需要建立一些相对简单的攻击模 型就可以得到密钥值。另一方面,加密系统受到应用环境、设备类型、供电 方式、使用寿命等的限制,在一些特定需求上,需要加密系统的功耗更低。
加密系统的能量消耗主要源于加密处理器中的运算器,目前,加密系统 中的运算器采用非可逆逻辑计算,每一位信息丢失产生kTln2焦耳的热量, 其中k是Boltzman常量,T是实现计算的绝对温度。

发明内容
本发明的目的是提供一种用于低功耗加密系统的可逆逻辑单元的实现 方法,适合加密系统中功耗要求比较高的数据加密问题,防止把芯片的功耗 行为作为旁路信息建立相关攻击模型,进行入侵攻击的低功耗加密系统。可 逆电路逻辑上不会丢失信息,逻辑意义上的热量也就不会散失,这就意味着
5减少了相应的能耗,可逆逻辑应用到硬件加密技术中去,由于可逆电路中逻
辑上将没有能量丢失,所以用来防范dpa的攻击也应该是理想的。本发明通
过以下的技术方案实现的-
一种用于低功耗加密系统的可逆全加器基本单元fau的实现方法,
1) 首先创建一个函数作为可逆网络,函数表达式如下
<formula>formula see original document page 6</formula>
2) 采用Toffoli门的级联,并以简单交换门作为辅助设计,构建
4输入/输出可逆逻辑网络;
4)通过分析上述函数的逻辑特点,将可逆网络输入端^的值保 持为0 ,得到 一 个可逆全加器的基本单元网络, <formula>formula see original document page 6</formula>,通过该可逆全加器的基 本单元网络,构造一个可逆全加器的基本单元fau,其中该基本单元的第三 位输入始终保持为o;输出的第一和第二位为无用输出信息位,第三位为加 法运算的值,第四位为加法运算的进位。
一种用于低功耗加密系统的可逆进位传送加法器的实现方法,采用权利 要求1所述方法构建的可逆全加器的基本单元fau进行级联,把"位fau串联 起来,将第一个fau的进位输入端A接地,4和5。分别为加数和被加数, 产生的进位输出c。连接到相邻的高位fau的进位输入端A,依次类推,将" 位fau串联起来,使低位fau的进位输出连接到相邻的高位fau 。
一种用于低功耗加密系统的可逆进位存储加法器cas的实现方法,采用 权利要求1所述方法构建的可逆全加器的基本单元fau进行级联,^和^。为 低位fau的输入操作数,输入端z)。接地,输出的和s。作为高位fau的第一比特输入,与输入端C^分别作为高位FAU的加数和被加数,输出和Sum、进位 Cany以及对应的无用输出位。
一种用于低功耗加密系统的可逆Montgomery模乘器的实现方法,利用可 逆移位寄存器,可逆寄存器以及基于权利要求3所述方法构建的进位存储加 法器CAS来实现可逆Montgomery模乘器,具体步骤如下,
(1)输入操作数Z , M, F,《为,第/位;
(2 )实现&C = S + C + Z, *y ,其中S和C分别对应于第一个可逆CSA 中的4)和S。,《叮为CSA中的输入端C,n,输出的和Sum以及进位Cany分别 送入可逆寄存器S和可逆寄存器C中;
(3) 寄存器S的LSB产生&,并和M实现运算510* M,运算结果作 为第二个CSA的输入端^。
(4) 实现S,C-S + C + SJM。第二个可逆CSA输出的和与进位送
入可逆移位寄存器中。
(5) 更新柳C, S = S/2, C = C/2;
(6) 输出2-S + C,若22M, M,否则输出Q。 本申请所述加密处理器中的运算器基于可逆逻辑设计,相对于现有技术
具有如下优点
1 、低能耗
加密系统的能量消耗主要源于加密处理器中的运算器,基于可逆逻辑进 行加密系统设计的思想,可以减少因逻辑信息位的丢失而产生的能量损耗。
2 、易于构造
基于可逆全加器基本单元网络FAN的全加器的设计,其使用的可逆逻辑门规整、简洁,易于构造,且由于其本身的可逆性,并不会因为可逆门数 的增加而增加全加器的能耗。
3、加密性能好
旁路攻击方法根据密码模块进行密码运算时泄漏的信息来获取密钥;一 般来说,攻击者只需要建立一些相对简单的攻击模型就可以得到密钥值。另 一方面,加密设备受到应用环境、设备类型、供电方式、使用寿命等的限制, 在一些特定需求上,需要加密设备的功耗更低。


图1是FAN-可逆全加器基本单元网络示意图。 图2是可逆全加器基本单元FAU示意图。 图3是可逆进位传送加法器示意图。 图4是进位存储加法器CSA的可逆设计示意图。 图5是基于Fredkin门和Feynman门的可逆D锁存器示意图。 图6是主从型D触发器示意图。 图7是模乘器的可逆电路示意图。 图8是可逆逻辑低功耗加密系统运算器结构示意图。
具体实施例方式
加密系统的能量消耗主要源于加密处理器中的运算器。加密处理器中的 运算器由进位传送加法器、进位存储器、乘法器、累乘器、寄存器和累加器 组成。因而,对加密处理器中的运算器采用可逆逻辑门设计(运算器本身构 成一个可逆的网络),可以避免因逻辑信息位的丢失产生的能量损耗,进而 减少能耗。为此,本发明提出了基于Toffoli门的4输入/输出可逆全加器基本 单元网络FAN,构造了可逆全加器基本单元FAU,并利用FAU设计了可逆进位传送加法器、进位存储加法器,使用Fredkin门禾BFeynman门构造了可逆D锁存器和主从型D触发器,使用主从型可逆D触发器构造了可逆移位寄存器和可逆寄存器,以此设计了可逆的Montgomery乘法器。通过这个可逆设计方案形成了一个基于可逆逻辑设计的信息安全加密系统。
下面,从两个方面介绍本发明涉及的这种加密系统的低功耗解决方法可逆全加器的基本单元网络的构建方案和可逆逻辑加密计算器的设计方案(设计了可逆进位传送加法器、进位存储加法器及可逆的Montgomery乘法器)
一、构建可逆全加器的基本单元网络
为了实现进位传递加法器、进位存储加法器和Montgomery乘法器的可逆
设计,首先需要利用可逆逻辑门实现一个全加器的基本可逆网络。利用不同的可逆逻辑门构造的可逆全加器单元中门的数量也不尽相同。本发明通过采用Toffoli门的级联,并以简单交换门作为辅助设计作为最优选的实施方式。首先创建一个函数-
F(;iq, a, a, x4)=(s,;x^ ;^,(:(^ ;^) ;x:4,(;c^ ;^);x:4 (;x^ 《)) (1)
然后分析上述函数的逻辑特点,设J, =(^^ ^>4 0^2 ;0 ,
y2=(^^@5)@x4, y3=^^ ^, ^-x、,表i是该函数的真tl:表。
表l函数(l)的真值表
x4'I力y3y4
000000000
100010100
200101110
300110010
401000110<formula>formula see original document page 10</formula>
由真值表l可以看出,当^=0时,
<formula>formula see original document page 10</formula>
并且
<formula>formula see original document page 10</formula>
由于^0:c2e;c4是Xp x2, x4 (这里的" "是模2加)相加的无进位值,
而(^^④^)X4④(x^十X3)是;x2, A相加的进位值。因此,满足全加器的条件。
附图l是函数表达式(1)采用Toffoli门级联的4输入/输出可逆逻辑网络。
通过表l真值表可以验证,每一个输入模式对应唯一一个确定的输出模式。
通过上面的分析可以看出,利用附图l的可逆网络,只要把可逆网络输入端X3的值保持为0,可以构造一个可逆全加器的基本单元。不妨称附图l网
络为可逆全加器基本单元网络。附图2给出了一种利用Toffoli门构造的可逆全加器基本单元FAU,它有四个输入端和四个输出端,其中第三位的输入始终保持为0,第一位和第二位输入分别为加数和被加数;输出的第一和第二位为无用输出信息位,第三位为加法运算的值,第四位为加法运算的进位。
本发明可逆全加器的基本单元FAU采用了可逆门数和无用附加输出信息位
数最优的可逆门构造。
二、设计可逆逻辑加密计算器
在加密计算器中,RSA算法是一个既能用于数据加密也能用于数字签名
的算法,它易于理解和操作,并被广泛使用。RSA的安全性依赖于大数分解,
公钥和私钥都是两个大素数(大于100个十进制位)的函数。公钥为{"乂},
私钥为{",4。从一个密钥和密文推断出明文的难度等同于分解两个大素数的
积。其算法如下
1. 选择两个大素数p和q;
2. 计算n = p * q;
3. 计算O(")-O-1)*^-1)随机选择加密密钥e,要求e比①(w)小且与①02)互质;
4. 最后,利用Euclid算法计算解密密钥d,满足e^-lmod①("),其中n和d也要互质。
RSA算法实现了1024位加法,这既需要进位传送,又需要进位存储加法器。以可逆全加器基本单元FAU为基础,利用进位传送加法器等可逆逻辑设计,可以实现可逆逻辑加密计算器的原型设计。
下面我们分别提出了可逆进位传送加法器,进位存储加法器和可逆的Montgomery乘法器。
1)可逆进位传送加法器
利用可逆全加器基本单元FAU,设计一个可逆进位传送加法器。其逻辑单元采用可逆的结构进行级联,把"位全加器串联起来,低位全加器的进位输出连接到相邻的高位全加器的进位输入。其特点是进位信号是由低位向高
位逐级传递的。图3给出了一个利用FAU设计的可逆进位传送加法器的方案,
将第一个可逆全加器FAU的进位输入端A接地,4和A分别为加数和被加数,产生的进位输出C。连接到相邻的高位全加器的进位输入端A ,依次类推,
将w位全加器串联起来,使低位全加器的进位输出连接到相邻的高位全加器
的进位输入。
2) 可逆进位存储加法器
利用可逆全加器基本单元FAU,设计一个可逆进位存储加法器。图4给出了一种利用FAN设计的可逆进位存储加法器的可逆设计方案,^和5。为低位全加器的输入操作数,输入端化接地,输出的和5"。作为高位全加器的第一比特输入,与输入端C,"分别作为高位全加器的加数和被加数,输出和Sum、进位Carry以及相应的无用输出位。
3) 可逆的Montgomery乘法器
在加密系统中,模乘运算可以使用Montgomery乘法算法,为了适应可逆设计的需要,这里对Montgomery乘法算法进行了改进,设计了可逆的Montgomery乘法器。
可逆的Montgomery乘法器通过可逆移位寄存器,可逆寄存器以及进位存储加法器CAS来实现。可逆寄存器是将输入输出各自独立的可逆D触发器通过同 一 时钟连接起来形成的并行输入并行输出的器件。可逆移位寄存器是由同一时钟控制下的可逆D触发器级联而成的。而可逆D触发器又是由两个可逆D锁存器和一个Feynman门级联起来的。
下面结合附图详述可逆D锁存器和主从型可逆D触发器的的构建。可逆D锁存器可以映射成Fredkin门,为了避免扇出的问题,可以用一个Feynman门复制到它的输出。
图5给出了一种可逆D锁存器的实现方法,由一个Frekin门和一个Feynman门组成,E为控制端,Frekin门的第三比特输出连接Feynman门的第二比特输入,Feynman门的输出Q反馈至Frekin门的第三位输入端。
图6给出了一个用图5的D锁存器设计的主从型D触发器,由两个D锁存器和一个Feynman门级联而成Feynman门的输入分别为CP和"1",其输出分别作为两个D锁存器的第一比特输入,左边锁存器的第二比特输出作为右边锁存器的第二比特输入。
将若干个图6给出的可逆D触发器进行级联,并用同一时钟控制,则构成可逆移位寄存器。将输入输出各自独立的可逆D触发器通过同一时钟连接起来,就可形成并行输入并行输出的可逆寄存器。
根据上面的相关部件,图7给出了使用可逆组合的Montgomery模乘器的可逆实现。第一个可逆进位存储加法器CSA实现S,C-S + C + A叮;S,C产生的有效输出是可逆寄存器S和C的存储部分。可逆寄存器S的LSB产生S。,并和肘实现运算&* M。然后实现第二个可逆进位存储加法器CSA,即S,C = S + C + S。*M。对附图7的详细描述如下
(1) 输入操作数X , M, r, Z,为,第f位。
(2) 实现s,c^+c+;^r,其中5"和C分别对应于第一个可逆cSA中的4
和5。,《叮为CSA中的输入端c;,输出的和Sum以及进位Cany分别送入可逆寄存器S和可逆寄存器C中;
(3) 寄存器S的LSB产生&,并和M实现运算So * AT,运算结果作为第二个CSA的输入端C,n。
(4) 实现S,C-S + C + SJM。第二个可逆CSA输出的和与进位送入可逆移位寄存器中。
(5) 更新柳C, S = <S/2, C = C/2。
(6) 输出2二S + C,若2^M, Q = 0-M,否则输出Q。上述实施例仅用于解释本发明,并不构成对本发明保护范围的限定。
权利要求
1、一种用于低功耗加密系统的可逆全加器基本单元FAU的实现方法,其特征在于1)首先创建一个函数作为可逆网络,函数表达式如下2)采用Toffoli门的级联,并以简单交换门作为辅助设计,构建4输入/输出可逆逻辑网络;3)通过分析上述函数的逻辑特点,将可逆网络输入端x3的值保持为0,得到一个可逆全加器的基本单元网络,通过该可逆全加器的基本单元网络,构造一个可逆全加器的基本单元FAU,其中该基本单元的第三位输入始终保持为0;输出的第一和第二位为无用输出信息位,第三位为加法运算的值,第四位为加法运算的进位。
2、 一种用于低功耗加密系统的可逆进位传送加法器的实现方法,其特征在于采用权利要求1所述方法构建的可逆全加器的基本单元FAU进行级联,把w位FAU串联起来,将第一个南通希尔顿博世流体设备有限公司FAU的进位输入端A接地,4和A分别为加数和被加数,产生的进位输出C。连接到相邻的高位FAU的进位输入端A,依次类推,将"位FAU串联起来,使低位FAU的进位输出连接到相邻的高位FAU 。
3、 一种用于低功耗加密系统的可逆进位存储加法器CAS的实现方法,其特征在于采用权利要求1所述方法构建的可逆全加器的基本单元FAU进行级联,4和A为低位FAU的输入操作数,输入端D。接地,输出的和S。作为 高位FAU的第一比特输入,与输入端C,.n分别作为高位FAU的加数和被加数, 输出和Sum、进位Carry以及对应的无用输出位。
4、 一种用于低功耗加密系统的可逆Montgomery模乘器的实现方法,其特 征在于利用可逆移位寄存器,可逆寄存器以及基于权利要求3所述方法构 建的进位存储加法器CAS来实现可逆Montgomery模乘器,具体步骤如下, (1)输入操作数I , M, r,《为她第/位; (2 )实现S,C = S + C + & * y ,其中5"和C分别对应于第一个可逆CSA 中的4)和A, X,"为CSA中的输入端C,.",输出的和Sum以及进位Cany分别 送入可逆寄存器S和可逆寄存器C中;(3) 寄存器S的LSB产生5"。,并和M实现运算S。* M,运算结果作 为第二个CSA的输入端q"。(4) 实现S,C-S + C + SJM。第二个可逆CSA输出的和与进位送 入可逆移位寄存器中。(5) 更新浏C, S = S/2, C = C/2;(6) 输出e:S + C,若2^M, 0 = 2-M,否则输出g。
5、 根据权利要求4所述的用于低功耗加密系统的可逆Montgomery模 乘器的实现方法,其特征在于将可逆D触发器进行级联,并用同一时钟控 制,构成所述可逆移位寄存器;将输入输出各自独立的可逆D触发器通过同 一时钟连接起来,形成并行输入并行输出的所述可逆寄存器。
6、 根据权利要求5所述的用于低功耗加密系统的可逆Montgomery模 乘器的实现方法,其特征在于所述可逆D触发器的实现方法为将可逆D锁存器和Feynman门进行级联,Feynman门的输入分别为CP和"1",其输出分别作为两个可逆D锁存器的第一比特输入,左边可逆D锁存器的第二比特输出作为右边可逆D锁存器的第二比特输入。
7、根据权利要求6所述的用于低功耗加密系统的可逆Montgomery模乘器的实现方法,其特征在于所述可逆D锁存器的实现方法为由一个Frekin门和一个Feynman门组成,E为控制端,Frekin门的第三比特输出连接Feynman门的第二比特输入,Feynman门的输出Q反馈至Frekin门的第三位输入端。
全文摘要
本发明涉及一种加密系统的低功耗解决方案,加密系统的能量消耗主要源于加密处理器中的运算器,对加密处理器中的运算器采用可逆逻辑门设计,可以避免因逻辑信息位的丢失产生的能量损耗,进而减少能耗。为此,本发明提出了基于Toffoli门的4输入/输出可逆全加器基本单元网络FAN,构造了可逆全加器基本单元FAU,并利用FAU设计了可逆进位传送加法器、进位存储加法器,使用Fredkin门和Feynman门构造了可逆D锁存器和主从型D触发器,使用主从型可逆D触发器构造了可逆移位寄存器和可逆寄存器,以此设计了可逆的Montgomery乘法器。本发明具有低能耗、易于构造及加密性能好的优点。
文档编号H03K19/00GK101521504SQ200910029408
公开日2009年9月2日 申请日期2009年4月13日 优先权日2009年4月13日
发明者倪丽惠, 朱文颖, 秦小麟, 管致锦 申请人:南通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1