电路装置和用于该电路装置的运行方法

文档序号:6619582阅读:110来源:国知局
电路装置和用于该电路装置的运行方法
【专利摘要】电路装置和用于该电路装置的运行方法。本发明涉及一种电路装置(100),其具有用于输入第一数字输入数据(d_i1)的第一输入端(110a)、用于输出数字输出数据(d_o)的输出端(120)和用于接收控制信号(s)的控制输入端(130),其特征在于,设置至少两个寄存器单元(140a、140b),并且所述电路装置(100)被构造为根据控制信号(s)a)选择性地将第一输入数据(d_i1)或第二数字输入数据(d_i2)的至少一部分写入到第一寄存器单元(104a)中,并且b)选择性地将第一输入数据(d_i1)或第二输入数据(d_i2)的至少一部分写入到第二寄存器单元(104b)中。
【专利说明】电路装置和用于该电路装置的运行方法

【技术领域】
[0001]本发明涉及一种电路装置,其具有用于输入第一数字输入数据的第一输入端、用于输出数字输出数据的输出端和用于接收控制信号的控制输入端。前述类型的电路装置例如以移位寄存器的形式已知。
[0002]本发明还涉及一种用于前述类型的电路装置的运行方法。


【发明内容】

[0003]本发明的任务是如下地改善电路装置和用于电路装置的运行方法,即提供相对于密码攻击、尤其是对抗DPA (差分功率分析)攻击的提高的安全性。
[0004]该任务在前述类型的电路装置情况下根据本发明通过如下方式来解决:设置至少两个寄存器单元,并且所述电路装置被构造为根据控制信号a)选择性地将第一输入数据或第二数字输入数据的至少一部分写入到第一寄存器单元中,并且b)选择性地将第一输入数据或第二输入数据的至少一部分写入到第二寄存器单元中。
[0005]通过使用两个可选择性地以不同数据写入的寄存器单元,有利地引起电路装置的电磁波的复杂的能量和辐射签名,从而对电流消耗和/或电磁辐射的分析不允许直接推断出所处理的(也即所写的)数据。特别有利地,在一个实施方式中,寄存器单元基本上以相同方式构建并且在空间上直接并排地布置。
[0006]本发明电路装置可以一与常规的存储器寄存器或移位寄存器类似地一例如用于任意数据宽度的数字数据字等等的中间存储并且尤其是适于集成在密码系统中,对所述密码系统提出在DPA硬化方面的高要求。
[0007]在一个有利的实施方式中规定,电路装置具有用于输入第二数字输入数据的第二输入端。所述第二数字输入数据可以与第一数字数据类似地被存储,所述第一数字数据例如代表要存储的有用数据。但是与有用数据不同,第二输入数据仅仅被设置用于掩饰有用数据在电路装置中的处理。因此第二输入数据优选地与有用数据不相关。第二输入数据可以通过外部单元被输送给电路装置,例如(伪)随机数源等等。还可以设想,第二输入数据以难以预测的方式从有用数据中导出,尤其是通过确定性方法。
[0008]替代于经由第二输入端输送第二输入数据,在另一实施方式中也可以规定,用于形成第二数字输入数据的单元布置在电路装置本身中。在该情况下不需要第二输入端,而是第二输入数据可以本地地在电路装置中产生,例如由第一输入数据(有用数据)也或者借助于数据源(噪声源、(伪)随机发生器)产生。
[0009]在一个特别优选的实施方式中,所述电路装置被构造为同时实施到寄存器单元的写过程,尤其是与控制信号同步地实施,从而各个寄存器单元或其部件的逻辑状态过渡重叠,由此安全性被进一步提高。
[0010]在另一实施方式中,到寄存器单元的写过程不必一定同时被实施。更确切地,使用第二数字输入数据本身已经使得能够增加密码攻击的难度,因为由此使得能够例如用不寻常的数据内容、例如(伪)随机数等等来预先加载至少一个寄存器单元,然后在随后的步骤中将要保护的第一输入数据写入到该寄存器中。通过这种方式,尤其是增加了寄存器各个位位置的状态变化的可追溯性的难度。
[0011]在另一特别优选的实施方式中规定,所述电路装置具有第一多路复用器单元,所述第一多路复用器单元能用第一和第二输入数据来施加并且根据控制信号或者由控制信号导出的信号将第一或第二输入数据的至少部分输出给第一寄存器单元。
[0012]在另一特别优选的实施方式中规定,所述电路装置具有第二多路复用器单元,所述第二多路复用器单元能用第一和第二输入数据来施加并且根据控制信号或者由控制信号导出的信号将第一或第二输入数据的至少部分输出给第二寄存器单元。
[0013]在另一特别优选的实施方式中规定,所述电路装置具有第三多路复用器单元,所述第三多路复用器单元能用第一寄存器单元的输出信号和用第二寄存器单元的输出信号施加,并且被构造为根据控制信号或者由控制信号导出的信号将第一寄存器单元的输出信号或者第二寄存器单元的输出信号输出,尤其是输出给电路装置的输出端。
[0014]在另一特别优选的实施方式中规定,能向所述第一和第三多路复用器单元输送逆否的控制信号并且向第二多路复用器单元输送控制信号。
[0015]作为本发明的另一个方面说明一种数据寄存器,尤其是用于实现根据高级加密标准AES的行变换功能,其中所述数据寄存器具有至少一个根据本发明的电路装置。由此可以有利地给出一种以特别方式经DPA硬化的数据寄存器,该数据寄存器有利地适用于集成在密码装置、诸如加密单元中等等。
[0016]在另一实施方式中,本发明电路装置可以用作为传统数据寄存器的替代和/或补充,以便使其对于DPA攻击硬化。除了使用本发明电路装置来构建用于AES算法的寄存器或其部分以外,本发明电路装置可以一般地用于提供经DPA硬化的寄存器。
[0017]在另一实施方式中,本发明电路装置可以扩展控制输入端,例如“写使能”和/或“清除”和或“设置”,以便进一步提高使用利用和灵活性。
[0018]作为本发明任务的另一解决方案说明一种根据权利要求9的用于运行电路装置的方法。
[0019]本发明的另外的特征、应用可能性和优点从以下对本发明实施例的描述中得出,这些实施例在附图的图中示出。在此,所有所述的或者所示的特征单独地或者组合地构成本发明的主题,而与其在权利要求或其回引中的组成无关以及与其在说明书或附图中的表达或表示无关。

【专利附图】

【附图说明】
[0020]在附图中:
图1示意性示出根据实施方式的电路装置,
图2示意性示出根据实施方式的数据寄存器,和图3示出本发明方法的实施方式的简化流程图。

【具体实施方式】
[0021]图1示意性示出根据实施方式的本发明电路装置。电路装置100具有用于输入第一数字输入数据d_il的第一输入端110a。第一数字输入数据d_il可以具有任意的字宽度,当前例如从8位出发。一般可以设想I位至256位的字宽度或数据宽度。电路装置100还具有用于输入第二数字输入数据d_i2的第二输入端110b。对于数据宽度有前面关于第一数字输入数据d_il所述的内容适用。输入数据d_il、d_i2也可以具有不同的位宽度。
[0022]如从图1中可以看出的,电路装置100还具有第一多路复用器单元102a,其在输入侧与两个输入端IlOaUlOb连接。由此可以在用控制信号S,控制的情况下在多路复用器单兀102a处选择,输入信号中的哪一个在该多路复用器单兀102a的输出端处被输出:是对应于第一输入端的第一输入数据d_il的第一输入信号还是对应于第二输入端的第二输入数据d_i2的第二输入信号。根据控制信号S,的信号形式,因此将两个输入信号d_il、d_i2之一或其至少部分输出给排在第一多路复用器单元102a之后的寄存器单元104a。部件102a、104a之间的数据路径的数据宽度优选地对应于输入信号d_il、d_i2的数据宽度。
[0023]如同样可从图1中看出的,电路装置100具有第二多路复用器单元102b,该第二多路复用器单元在输入侧与两个输入端IlOaUlOb连接。由此可以在用控制信号s控制的情况下在多路复用器单元102b处选择,输入信号中的哪一个在多路复用器单元102b的输出端处被输出:是对应于第一输入端的第一输入数据d_il的第一输入信号还是对应于第二输入端的第二输入数据d_i2的第二输入信号。根据控制信号s的信号形式,因此将两个输入信号d_il、d_i2之一或其至少部分输出给排在第二多路复用器单元102b之后的寄存器单元104b。部件102b、104b之间的数据路径的数据宽度优选地对应于输入信号d_il、d_i2的数据宽度。
[0024]在一个优选的实施方式中,用于第一多路复用器单元102a的控制信号s’对应于用于第二多路复用器单元102b的逆否的或反转的控制信号S。因此有利地保证了,两个多路复用器单元102a、102b分别将不同的输入数据或信号输出给排在其后面的寄存器单元104a、104b。因此尤其是从不同时在两个寄存器单元104a、104b中写入相同的输入,由此得出相对于DPA攻击提高的安全性。
[0025]换句话说,根据一个实施方式,在一个写循环中将数据写入到两个寄存器单元104a、104b中,其中一个寄存器单元获得来自输入信号d_il的数据,并且其中另一个寄存器单元获得来自输入信号d_i2的数据。
[0026]第三多路复用器单元106在其两个未进一步表示出的输入端处分别与寄存器单元104a、104b的输出端连接(数据宽度例如又如在输入数据的情况下那样,例如为8位),从而在用施加给多路复用器单元106的控制信号s’控制该多路复用器单元106的情况下可选择性地在第三多路复用器单兀106的输出端处输出寄存器单兀104a、104b的输出信号ol、o2。如从图1可看出的,多路复用器单元106的输出端直接与电路装置100的输出端120连接,从而电路装置100的输出信号d_o对应于多路复用器单元106的输出信号。
[0027]特别优选地,在前述配置的情况下,用同一控制信号s’控制多路复用器单元102a、106,由此有利地保证了,在输出端120处输出对应于第一输入数据d_il的数据,而不是例如第二输入数据d_i2或者两个输入数据d_il、d_i2的未定义的组合。
[0028]同样地,输入数据d_il、d_i2在电路装置100中的内部处理有利地同步进行,从而表示第一输入数据d_il的逻辑状态或状态过渡有利地与和第二输入数据有关的逻辑状态或状态过渡重叠,由此——与用于具体实现的技术(例如CMOS)无关地——有利地掩饰输入数据d_il在电路装置中的数据处理。
[0029]优选地,第二输入数据d_i2与有用数据d_il不相关。第二输入数据d_i2可以通过外部单元(未示出)输送给电路装置100,例如通过(伪)随机数源等等。还可以设想,第二输入数据d_i2以难以预测的方式从有用数据中被导出。
[0030]替换于经由第二输入端IlOb输送第二输入数据d_i2,还可以在另一实施方式中规定,用于形成第二数字输入数据d_i2的单元140布置在电路装置100本身中,参见图1中的虚线矩形140。在该情况下不需要第二输入端110b,而是第二输入数据可以本地地在电路装置100中产生,例如从第一输入数据(有用数据)或者也借助于数据源(噪声源、(伪)随机发生器)产生。在该情况下,单元140为两个多路复用器单元102a、102b提供第二输入数据d_i2。
[0031]控制信号s可以经由单独的输入端130输送给电路装置100。有利地,控制信号s可以在电路装置100内部被反转,以便获得用于电路装置100或其部件102a、102b、106的运行的两个信号S、S’。
[0032]图3示出本发明方法的实施方式的简化流程图。在第一步骤200中,电路装置100(图1)获得两个数字输入数据d_il、d_i2。在跟随在其后的步骤210中,所获得的输入数据d_il、d_i2以通过多路复用器单元102a、102b或其操控借助于信号S、s’定义的方式写入到寄存器单元104a、104b中,并且通过多路复用器单元106被再次从中读出并且在电路装置100的输出端120处被读出。
[0033]图2示出数据寄存器1000,其尤其是被构造为根据高级加密标准(AdvancedEncrypt1n Standard, AES)来实现行变换(ShiftRow)功能。关于AES的信息可以从“Federal Informat1n; Processing Standards Publicat1n 197; 2001 年 11 月 26日 Announcing the ADVANCED ENCRYPT1N STANDARD (AES) ”看出并且例如可在因特网(World Wide Web (万维网))中的 “http://csrc.nist.gov/publicat1ns/fips/fipsl97/fips-197.pdf”下调用出。关于行变换功能的信息在那里包含在5.1.2章第17页中。
[0034]根据图2的数据寄存器1000具有用于输入数字数据的输入端1010,当前例如具有32位的数据宽度。数据寄存器1000还具有用于输出数字数据的输出端1020,该输出端具有32位的数据宽度。
[0035]如从图2可看出的,32位宽的输入数据被划分成4个8位字并且被输送给根据本发明构造的电路装置100a、100b、100c、100d,这些电路装置分别例如具有根据图1的结构100。
[0036]第一处理分支1100因此具有根据本发明构造的电路装置10a以及三个相互一致地构造的传统的存储器寄存器Reg。该第一处理分支1100因此实现了针对在前面所引用文献的图8中所描绘“状态”(“state”)的第一行的所述AES行变换功能。
[0037]第二处理分支1200具有根据本发明构造的电路装置10b以及三个相互一致地构造的传统的存储器寄存器Reg和自己的多路复用器M。该第二处理分支1200因此实现了针对在前面所引用文献的图8中所描绘“状态”(“state”)的第二行的所述AES行变换功能。
[0038]结构1000的另一未进一步在图2中表示出的分支与此对应地实现了针对AES状态(“state”)的第三和第四行的AES行变换功能。
[0039]将本发明电路装置100或10a至10d用于AES数据寄存器1000是特别有利的,因为AES数据寄存器1000相对于DPA攻击的安全性由此被显著提高。特别有利地,明显的DPA硬化已经通过采用4个本发明电路装置10a.....1OOd而实现,而另外的寄存器Reg以传统方式构造。
[0040]特别有利地,为了构建本发明电路装置可以使用常见的多路复用器和/或触发器类型(例如用于数据寄存器),如在针对逻辑门的标准库中所包含的那样。
[0041]本发明电路装置可以有利地直接作为传统寄存器的替代而被使用,以便任意的、迄今包含传统寄存器的目标系统经受DPA硬化。尤其是还可以由本发明电路装置代替计算单元的传统寄存器(例如CPU寄存器)。
[0042]在另一有利的实施方式中,还可以设置用于电路装置的“写使能”控制输入端。在一个优选的实施方式中,当控制输入端以“写使能”激活时,两个寄存器单元104a、104b可以被写入。在其他情况下,寄存器单元104a、104b的内容保持不变。
【权利要求】
1.电路装置(100),其具有用于输入第一数字输入数据(d_il)的第一输入端(110a)、用于输出数字输出数据(d_o)的输出端(120)和用于接收控制信号(s)的控制输入端(130),其特征在于,设置至少两个寄存器单元(140a、140b),并且所述电路装置(100)被构造为根据控制信号(s) a)选择性地将第一输入数据(d_i I)或第二数字输入数据(d_i2)的至少一部分写入到第一寄存器单元(104a)中,并且b)选择性地将第一输入数据(d_i I)或第二输入数据(d_i2)的至少一部分写入到第二寄存器单元(104b)中。
2.根据权利要求1所述的电路装置(100),其中所述电路装置(100)具有用于输入第二数字输入数据(d_i I)的第二输入端(I 1b )和/或用于形成第二数字输入数据(d_i2 )的单元(140)。
3.根据权利要求1或2所述的电路装置(100),其中所述电路装置(100)被构造为同时实施到寄存器单元(104a、104b)的写过程,尤其是与控制信号(s)同步地实施。
4.根据前述权利要求之一所述的电路装置(100),其中所述电路装置(100)具有第一多路复用器单元(102a),所述第一多路复用器单元能用第一和第二输入数据(d_il、d_i2)来施加并且被构造为根据控制信号(s)或者由该控制信号导出的信号(s’)将第一或第二输入数据的至少部分输出给第一寄存器单元(104a)。
5.根据前述权利要求之一所述的电路装置(100),其中所述电路装置(100)具有第二多路复用器单元(102b),所述第二多路复用器单元能用第一和第二输入数据(d_il、d_i2)来施加并且被构造为根据控制信号(s)或者由该控制信号导出的信号(s’)将第一或第二输入数据的至少部分输出给第二寄存器单元(104b)。
6.根据前述权利要求之一所述的电路装置(100),其中所述电路装置(100)具有第三多路复用器单元(106),所述第三多路复用器单元能用第一寄存器单元(104a)的输出信号(ol)和用第二寄存器单元(104b)的输出信号(o2)施加,并且被构造为根据控制信号(s)或者由该控制信号导出的信号(s’)将第一寄存器单元(104a)的输出信号(ol)或者第二寄存器单元(104a)的输出信号(o2)输出,尤其是输出给电路装置(100)的输出端(120)。
7.根据前述权利要求之一所述的电路装置(100),其中能向所述第一和第三多路复用器单元(102a、106)输送逆否的控制信号(s’)并且向第二多路复用器单元(102b)输送控制信号(S)。
8.数据寄存器(1000),尤其是用于实现根据高级加密标准AES的行变换功能,其中所述数据寄存器(1000)具有至少一个根据前述权利要求之一所述的电路装置(100)。
9.用于运行电路装置(100)的方法,所述电路装置(100)具有用于输入第一数字输入数据(d_il)的第一输入端(110a)、用于输出数字输出数据(d_o)的输出端(120)和用于接收控制信号(s)的控制输入端(130),其特征在于,设置至少两个寄存器单元(140a、140b),并且所述电路装置(100 )根据控制信号(s ) a)选择性地将第一输入数据(d_i I)或第二数字输入数据(d_i2)的至少一部分写入到第一寄存器单元(104a)中,并且b)选择性地将第一输入数据(d_il)或第二输入数据(d_i2)的至少一部分写入到第二寄存器单元(104b)中。
【文档编号】G06F13/38GK104281554SQ201410324322
【公开日】2015年1月14日 申请日期:2014年7月9日 优先权日:2013年7月10日
【发明者】M.刘易斯, P.杜普利斯 申请人:罗伯特·博世有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1