CN105376052A - 对称迭代块编码方法和相应设备 - Google Patents
对称迭代块编码方法和相应设备 Download PDFInfo
- Publication number
- CN105376052A CN105376052A CN201510506925.8A CN201510506925A CN105376052A CN 105376052 A CN105376052 A CN 105376052A CN 201510506925 A CN201510506925 A CN 201510506925A CN 105376052 A CN105376052 A CN 105376052A
- Authority
- CN
- China
- Prior art keywords
- data word
- xor
- predetermined
- value
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0625—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
对称迭代块编码方法和相应设备,包括预先确定的块的预先确定的数据字与预先确定的轮密钥的预先确定的数据字的按位XOR关联,以及所述预先确定的数据字与至少一个其它预先确定的数据字的按位XOR关联。
Description
技术领域
本发明涉及对称迭代块编码方法和相应设备。
背景技术
诸如高级加密标准(AdvancedEncryptionStandard(AES))的现代的块编码方法被设计为迭代的块编码。这意味着,对输入的处理包括被等同构造的多轮(Runde)。在此,要加密的数据被细分成固定长度的各个块,这些块然后借助于通过密钥确定的变换被映射到加密的值上。由此形成的密文块同样具有固定的长度。
块编码在此是将明文映射到密钥文上的函数。该函数对每个可能的密钥来说是单射的,从而存在对每个密钥文重新计算明文的解密函数。
极大的兴趣在此在于选择块编码和密钥。对于确定的密码方法来说在此可行的是,通过在实施相应密码算法时观察密码设备来找到所观察的数据和所使用的密钥之间的相关性。由此可以推断出所使用的密钥,所述推断最终可以导致损害密码方法。
例如通过诸如所谓的差分功率分析(DifferentialPowerAnalysis)的侧通道攻击可能的是,通过测量微处理器在密码计算期间的能量消耗来推断出所实施的运算以及因此推断出所使用的密钥。
对抗这种侧通道攻击已经提出了对抗措施,这些对抗措施可以被划分成下面三组:
单元层上的对抗措施,即改变微处理器的逻辑门或模拟部件的实现,以便如此影响电子电路的物理特性,使得关于能量消耗的信息对侧通道攻击来说是不能测量的或仅能困难地测量。
将密码算法的逻辑实现改变到标准CMOS单元上,所述CMOS单元尝试隐藏或掩蔽为了物理分析所需的关于能量消耗的信息,以便由此阻止对算法的运行时间的分析。
发明内容
根据独立权利要求1的根据本发明的方法以及根据独立权利要求14的根据本发明的设备具有这样的优点:在以硬件——例如以专用集成电路(AplicationSpecificIntegratedCircuit(ASIC))或现场可编程门阵列(FieldProgrammableGateArray(FPGA)——实现的情况下需要比较少的处理器面积并且在作为软件实现在标准CMOS单元上的情况下关于计算时间和存储器消耗提出更低的要求。由此实现提供防止侧通道攻击的足够保护的有益的解决方案。
通过在从属权利要求中提出的措施,在独立的方法权利要求中说明的方法的有利扩展方案和改进方式是可能的。
特别有利的是,迭代块编码方法的仅第一轮和最后一轮包括所述块与至少一个其它字节的按位XOR关联。这在以微处理器实现的情况下节省面积以及在以软件实现的情况下节省计算时间和存储器空间。
特别有利的是,针对多个从所述按位XOR关联所获得的字节从替换盒中确定多个值。由此改进对抗侧通道攻击的对抗措施,其方式是加入尽可能多的或者甚至所有的密钥候选(即字节的所有可能值)用于计算。由此困难的是,将所测量的能耗与正确的密钥关联。所计算的值中的每个由此追溯到迭代块编码方法的可能密钥。由此,所有借助于侧通道攻击获得的密钥是可信的。因此基本上不可能从多个可信的密钥中识别正确的密钥。
优选针对所述字节中的至少两个相继进行按位XOR关联的确定和从替换盒中确定值。在以软件实现的情况下——在该实现中不能任意并行地计算,确定正确的密钥因此仍是基本上不可能的,因为对于每一轮相继计算所有识别为可信的密钥,其中可信密钥中的哪个是正确的密钥保持为不清楚的。
特别有利的是,针对至少两个值基本上同时进行对映射替换盒的表的存储器访问。因此,对于以软件实现的解决方案来说通过观察将处理器与存储器连接的数据总线的能耗也不能得到关于正确的密钥的可靠结论,因为从所有包含在存储器访问中的数据仅能推断出可信的密钥。
特别有利的是,针对所述字节中的至少两个基本上同时进行按位XOR关联的确定或从替换盒中确定值。因此,在以ASIC或FPGA实现的情况下从ASIC或FPGA的能耗中不能得到关于能耗分配给密钥的可靠的结论。
附图说明
本发明的实施例在附图中示出并且在下面的描述中进一步阐述。
其中:
图1示出了集成电路的一部分,
图2示出了流程图,
图3示意性示出了电路的一部分,以及
图4示出了流程图。
具体实施方式
下面描述该对称迭代编码的示例。这些示例包括预先确定的数据字与密钥的按位XOR关联以及该预先确定的数据字与至少一个另外的密钥的至少一个另外的按位XOR关联。
此外,这些示例包括根据替换盒(S-Box)进行的非线性的替换运算。该非线性替换运算例如是一个数据字到另一相同长度的数据字上的映射。例如该S-Box根据高级加密标准来构造。可替代地,也可以使用根据PRESENT的块编码方法的S-Box。同样可以使用诸如RijndaelS-Box的每个其它适用于对称迭代块编码方法的S-Box。
下面借助于AES来描述对称迭代编码的示例。在此修改AES流程以便根据S-Box实施另外的XOR关联和映射。
该实现要么借助于ASIC或FPGA形式的硬件、要么作为软件来进行。相应地,下面提到的块和表以及信号路径要么映射在硬件中、要么实现为软件。
AES允许例如128位、192位和256位的预先确定的密钥和块长度。在示例中使用具有256位长度的用户密钥的AES256。
在开始时,要加密的明文被写入到上面提到长度的块中,必要时更长的明文被细分成多个要相继处理的明文块。每个块与上面提到的预先确定的数据字相对应并且首先写入到具有四行的二维表中,该表的单元分别为一个字节大。对于256位长的块来说例如产生具有四行和八列的表。
每个块经历相继确定的变换。下面仅概述这些变换,因为这些细节从AES标准中已知。
借助于AES的加密在此通过实施密钥扩展、首轮(Vorrunde)、多个加密轮和结束轮来进行。在此使用四种变换:字节替换(SubBytes)、行移位(ShiftRows)、列混合(MixColumns)和轮密钥加(AddRoundKey)。
该流程和变换要么实现为软件代码、要么以硬件形式在ASIC和FPGA中实现。
AES在变换中将扩展的原始密钥的不同部分使用到块上。这些不同的部分在下面称为轮密钥。轮的数量变化并且在AES的情况下仅取决于密钥长度。对AES256来说在块长度为256的情况下例如执行14轮。
扩展的原始密钥在从用户密钥进行的密钥扩展中通过扩展到匹配的长度来确定。该扩展的原始密钥被如此确定,使得每个轮密钥在此具有与块一样的长度。因此,每个轮密钥在AES256的情况下是256位长。
在密钥扩展之后进行首轮,在该首轮中初次实施轮密钥加变换。该轮密钥加变换在首轮中包含块和第一轮密钥之间的按位XOR关联。这意味着,预先确定的数据字与密钥按位XOR关联。在此,也可以相继将块的每个字节与第一轮密钥的相应字节XOR关联。在这种情况下实施每个字节的按位XOR关联。
附加地,不同于通常的AES编码方法,实施块与另外的数据字的至少一次另外的按位XOR关联,其中所述另外的数据字的长度与第一轮密钥相同。所述另外的数据字的每个字节优选与第一轮密钥的相应字节不同。多个这种另外的数据字在另外的按位XOR关联中优选应用到预先确定的数据字上。使用越多的其它数据字,就提供越多的并行的或相继运行的变换。
例如可以如此选取另外的数据字的字节,使得所述字节表示第一轮密钥的相应字节之外的字节的所有其它可能值。于是从针对所有字节的按位XOR关联的整体中,攻击者通过侧通道攻击仅还可以发现关于针对正确密钥的假设的多个作为可信的可识别的部分。
每个这种按位XOR关联的结果在存储器中以分开的块的形式来存储,或者针对这些结果的每一个设置用于进一步处理的硬件路径。
正确的块或硬件路径在此根据实际的用户密钥标记。例如存放用于存储器中的正确的块或正确的硬件路径的基地址。
然后进行加密轮中的第一加密轮。
在每个加密轮的第一步骤中实施字节替换变换。在此,为所有块的每个字节寻找S-Box中的等价物。
字节替换变换应用到其上的每个块的每个字节通过上述S-Box——例如存储器中的表或以硬件实现的功能块——映射到输出端处的字节上。
该结果存储在相应的块中或通过相应的硬件路径被进一步使用。
随后针对所有块实施行移位变换。每个块以具有四行的二维表的形式存在。该表的行根据AES的预给定向左推移确定数目的列。溢出的单元从右侧继续。
该结果又存储在相应的块中或通过相应的硬件路径被进一步使用。
随后实施列混合变换。在此,根据AES的预给定,利用可逆线性变换对列内的数据进行混合。
该结果又存储在相应的块中或通过相应的硬件路径被进一步使用。
随后通过轮密钥加变换来实施通过基地址识别为正确的块的块与下一轮密钥之间的按位XOR关联。其它的块与另外的数据字XOR关联,所述另外的数据字的长度和下一轮密钥相同。所述另外的数据字优选区别于轮密钥的相应字节。例如使用当前轮密钥的相应字节之外的字节的所有其它可能值。可替代地,该步骤可以在迭代的加密轮中被取消并且仅在结束轮的轮密钥加变换中设置。这减少了存储器和计算耗费或微处理器上的面积消耗。
该结果又存储在相应的块中或通过相应的硬件路径被进一步使用以及接着进行下一加密轮。
所有加密轮结束之后——例如在14轮之后——执行结束轮。在该结束轮中仅如所述地执行变换:字节替换、行移位和轮密钥加。
该结果、即加密的文本于是又存储在相应的块中或通过相应的硬件路径来提供。正确的结果能够根据基地址来找寻并且相应地输出。
相应的情况适用于利用PRESENT编码方法的加密。也就是说XOR关联和借助于S-Box的映射在相应的位置根据PRESENT编码方法的预给定来进行。
图1示出了第一实施方式,在该实施方式中对称迭代块编码方法在ASIC中映射。在图1中示意性地示出了集成电路100的一部分。
集成电路100包括与多个XOR元件连接的输入端“in”。这些XOR元件在图1中用⊕表示。
XOR元件中的每个在输出侧与功能块101连接。功能块101在输出侧与多路复用器102连接,该多路复用器被构造为将这些功能块101之一的输出端连接到集成电路100的输出端“out”上。XOR元件中的每个具有第二输入端,在该第二输入端处施加密钥sk1、sk2、sk3、…、skn中的一个。这些密钥如上所述被如此选取,使得密钥sk1、sk2、sk3、…、skn中的至少一个是当前的轮密钥。其它密钥可以任意选取,优选地如上所述地选取。
输入端“in”、多路复用器102、XOR元件、输出端“out”和连接针对预先给定的长度的数据字来设计。
在具有256位块长度的示例AES256中,该预先给定的长度为256位。密钥长度视所使用的编码方法而定。在AES256的情况下使用256位的密钥长度。
每个功能块101的输入端借助于XOR元件通过输入端“in”处的预给定的数据字与相应的预先确定的密钥sk1、…、skn的按位XOR关联来确定。
随后每个功能块101将在其输入端处的数据字映射到其输出端侧的数据字上。在根据AES256的S-Box的情况下,数据字被按字节地映射到输出端上。
按位XOR关联也可以针对密钥的部分相继执行。例如将预先确定的数据字的各一个字节与所有密钥sk1、…、skn进行XOR关联。
XOR关联的输出然后按字节地输送给相应功能模块101。
对于轮密钥的单个字节来说,256种不同的值是可能的。在按字节地处理的情况下例如设置256个功能块101和256个按位XOR元件。
这意味着,电子电路100在该情况下针对轮密钥的字节的每个可能值同时地或至少几乎同时地执行按位XOR关联。同样,在该情况下通过功能块101针对256种可能的轮密钥同时地或几乎同时地在电子电路100中计算映射。
多路复用器102在每种提到的情况中被如此构造,以便在相应功能块101的输出端处的所有值中选取属于正确的轮密钥的值。多路复用器102例如将通过属于正确的轮密钥的基地址识别的数据字接通到输出端“out”上。
对此,电子电路100例如包含有限自动机(未在图1中示出),该有限自动机映射在电子电路100中并且如此连接该多路复用器102,使得在输出端输出利用正确的轮密钥实施了运算的功能块101的值。
如果使用根据PRESENT块编码方法的加密,则替代盒包括4位大小的输入端,使得对于该编码方法来说仅需16个替代盒。因此,在该情况下基本上同时计算16次XOR关联或相应功能块的输出端处的16个值。
由此,在攻击者收集了关于电子电路的能量消耗的足够信息之后,该攻击者不能借助于关于轮密钥字节的值的假设来获得单义的结果,因为轮密钥的每个字节关于该假设都显得可信。
用于对称迭代块编码的方法因此包括预先确定的块的预先确定的数据字与预先确定的轮密钥的预先确定的数据字的按位XOR关联和该预先确定的数据字与至少一个其它的预先确定的数据字的按位XOR关联。
相应地,该对称迭代块编码方法优选含有借助于替代盒的按位XOR关联的结果到功能块的输出端处的数据字上的映射。然后从这些数据字中借助于多路复用器来针对集成电路100的输出端选择追溯到轮密钥的一部分的数据字。
如果计算按字节进行,则该对称迭代块编码方法含有预先确定的块的预先确定的字节与预先确定的轮密钥的预先确定的字节的按位XOR关联和该预先确定的字节与至少一个其它预先确定的字节的按位XOR关联。
在PRESENT块编码的情况下含有输入端处的4位数据字与4位宽的轮密钥的按位XOR关联。
下面根据图2描述用于对称迭代块编码的方法,例如实现为可以在标准处理器201上运行的软件。根据图2,处理器201被构造为与存储器202通过数据总线通信。该数据总线未在图2中示出,但是给想要探询所使用的块编码方法的密钥的攻击者提供这样的可能性:从存储器访问引起的能量消耗可以推断出所使用的密钥。
在这种情况下,存储器202含有映射S-Box的表。通过该表将预给定字宽的数据字映射到预给定字宽的其它数据字上。根据所使用的块编码算法丢弃替换表。
在图2的示例中,处理器201被构造用于执行存储器访问。所述表的各个值在存储器中例如以与基地址固定的间隔地存储。该基地址能够自由地选取。与基地址的间隔例如通过到数据字的按位XOR运算的可能值来定义。
读取访问例如由处理器101借助于问询210、212、214、216通过数据总线发送到存储器202处。例如处理器201在问询中发送基地址和按位XOR关联的结果到存储器处。问询210例如含有针对利用密钥sk1来XOR关联的预先确定的数据字的映射的结果的问询。这例如通过字符串来表示。另外的问询212、214和216例如通过字符串、、…、来表示。通常进行与设置的另外的数据字一样多的读取访问。
存储器202在收到问询之后在相应回答211、213、215、217中发送回分别问询的数据。如图2中所示,时间上相继地进行问询210、212、214、216以及相应的回答211、213、215、217。也就是说,针对所提到的数据字中的至少两个数据字相继实现来自S-Box的值。
在示例AES256中例如进行256次问询,使得S-Box的所有可能的值被问询。在这种情况下,存储器202也发送包含S-Box的所有可能值的256个回答到处理器201处。
在这种情况下,处理器201被构造为仅借助于回答来继续块编码的进一步计算,所述计算根据具有轮密钥的正确部分的问询进行。对此例如规定,相应地标记属于轮密钥的正确部分的回答。这例如通过进一步使用所接收的属于所标记的基地址的值来进行,而不进一步使用所有其它的所接收的值。
根据PRESENT块编码的实现相应地进行。在此又使用4位字宽。由此减少存储器202中的存储需求。
图3示出了具有16个输入值的PRESENT块编码的实现方式,该实现方式用四个功能盒301、302、303、304就够了。如图3中示意性示出的那样,集成电路300含有与之前在图1中描述的输入端“in”和输出端“out”对应的输入端“in”和输出端“out”。此外,集成电路300包括与多路复用器102对应以及被相应操控的多路复用器305,以便选取正确的输出值。
与图1中的集成电路100不同,根据图3的集成电路300仅包括四个功能块301、302、303、304。这些功能块301、302、303、304包括如针对PRESENT块编码方法描述的S-Box。
与图1的描述类似,在PRESENT块编码方法的情况下将块的4位字宽的数据字与轮密钥的一部分通过图3中未示出的XOR元件如此关联,使得形成按位XOR关联。同样地,针对具有4位字宽的数据字的所有其它可能值形成与块的数据字的相应的XOR关联。与之前所描述的处理方式不同,现在在第一时钟脉冲t=1中针对前四个如此产生的数据字借助于功能块301、302、303和304实施映射函数。随后在第二时钟脉冲t=2中借助于相同的功能块301、302、303、304来形成用于下四个数据字的映射。随后在第三时钟脉冲t=3中借助于功能块301、302、303、304进行下四个数据字的映射。然后在第四时钟脉冲t=4中借助于功能块301、302、303和304进行最后四个数据字的映射。如此产生的输出值由多路复用器305根据有限自动机的状态如此连接到输出端out上,使得施加在输出端out处的值与数据字的映射的结果相对应,该结果通过输入端in处的块的数据字与轮密钥的正确部分的按位XOR关联来形成。
此外,由此在四个功能块301、302、303、304中并行地确定数据字的值并且也并行地实施输入端处的数据字与轮密钥的一部分的按位XOR关联。这在大多数情况下足够在不必消耗过大的处理器面积用于实现功能块301、302、303、304和XOR运算的情况下可以成功地防止侧路径攻击。通过在时间上推移分别四个数据字的计算,在时间上也保持不清楚的是:计算中的哪个追溯到轮密钥的正确部分。由此使得集成电路300的能量消耗与轮密钥的正确部分的值的相关变得困难。关于轮密钥的正确部分的每个假设因此被掩盖,因为利用4位量的其它数据字的计算同样导致关于轮密钥的可能部分的可信的结果。
图4相应地示出了这样的处理方式,在该处理方式中针对至少两个值基本上同时进行对映射S-Box的表的存储器访问。根据图4设置处理器401,该处理器借助于问询410、412、414和416调用映射函数的结果,这些结果通过S-Box在存储器402中例如作为表存放。问询410、412、414和416例如借助于如下字符串来进行:
。
相应地,存储器402在收到问询410、412、414、416之一以后将分别恰当的回答411、413、415和417的分别问询的数据发送到处理器401处。该通信同样通过未示出的数据总线来进行。图4示出了PRESENT块编码的情况,该PRESENT块编码如针对图3所描述的那样使用具有四位字宽的数据字。在这种情况下同时进行对四个值的存储器访问。这意味着,从基地址出发的问讯如针对图2描述的那样同时进行对通过块的在输入端施加的数据字与前四个分配给可能的轮密钥的数据字的按位XOR关联的结果的请求。相应地,每个回答包含4个可能的替换值。
如在图4中所示,如此借助于四个问询410、412、414和416来从存储器402中读出四个回答411、413、415和417。在此,在用于数据传输的总线上根据能耗不能识别问询中的哪个属于正确的轮密钥部分。该信息因此在时间上以及在问询和回答内不能够单义地分配给轮密钥的正确部分。
处理器401被相应地如针对图2和处理器201所描述的那样构造,以便根据上述处理方式从回答中确定正确的值。这导致轮密钥的一部分的每个可能值通过用于每个输入值的非线性映射函数映射。因此,关于轮密钥的每个可能假设在侧通道攻击的情况下显现为可信的。这意味着,攻击者不能找到针对轮密钥的正确的假设。
给轮密钥分配的数据字和另外的数据字的整体可以要么采纳相应字宽的数据字的所有可能值。另一方面,另外的数据字也可以借助于随机选择——例如通过设置在微处理器中的随机生成器——来产生。在使用随机地生成的数据字的情况下因此可以放弃使用所有可能的数据字。由此也减少存储需求或计算耗费或微处理器上的面积需求。如果不使用随机生成器,则该测试与之相反感到更容易。
Claims (16)
1.对称迭代块编码方法,其包括预先确定的块的预先确定的数据字与预先确定的轮密钥的预先确定的数据字的按位XOR关联,以及所述预先确定的数据字与至少一个其它预先确定的数据字的按位XOR关联。
2.根据权利要求1所述的方法,其中附加于数据字与预先确定的轮密钥的按位XOR关联,进行所述数据字与其它数据字的多个按位XOR关联。
3.根据权利要求2所述的方法,其中由预先确定的轮密钥的数据字和由其它数据字所采纳的值的整体至少一次包括该字宽的数据字的每个可能值。
4.根据前述权利要求之一所述的方法,其中该迭代块编码方法的仅仅第一轮和最后一轮包括所述块与至少一个其它数据字的按位XOR关联。
5.根据前述权利要求之一所述的方法,其中该块编码方法的每个轮包括所述块与至少一个其它数据字的按位XOR关联。
6.根据前述权利要求之一所述的方法,其中针对至少一个通过所述按位XOR关联之一所获得的数据字从替换盒中确定值。
7.根据权利要求6所述的方法,其中针对多个从所述按位XOR关联所获得的数据字从替换盒中确定多个值。
8.根据权利要求7所述的方法,其中从多个所确定的值中选择这样的值,该值针对预先确定的块的数据字与预先确定的轮密钥的数据字的按位XOR关联从替换盒中被确定。
9.根据权利要求8所述的方法,其中借助于所述替换盒通过对由预先确定的块与预先确定的轮密钥的按位XOR关联所确定的数据字映射的值被用于所述块编码方法。
10.根据权利要求1至9的方法,其中针对所述数据字中的至少两个相继进行按位XOR关联的确定和从替换盒中确定值。
11.根据权利要求1至10的方法,其中针对至少两个值基本上同时进行对映射替换盒的表的存储器访问。
12.根据权利要求8的方法,其中设置多个功能块用于将通过所述按位XOR关联之一所确定的相应功能块输入端处的数据字借助于所述替换盒映射到相应功能块输出端处的所述值之一,其中针对该块编码方法从功能块的输出中选择功能块输出端处的值,在该功能块的输入端处使用预先确定的块的数据字与预先确定的轮密钥的数据字的按位XOR关联。
13.根据权利要求1至9的方法,其中针对所述数据字中的至少两个基本上同时进行按位XOR关联的确定或从替换盒中确定值。
14.设备,其被构造为实施根据前述权利要求之一所述的方法。
15.计算机程序,其被构造为在该计算机程序在计算设备上实施时实施根据权利要求1至12之一所述的方法之一的所有步骤。
16.具有程序代码的计算机程序产品,所述程序代码存储在机器可读的载体上,所述计算机程序产品用于在程序在计算机上实施时执行根据权利要求1至12之一所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102014216392.7 | 2014-08-19 | ||
DE102014216392.7A DE102014216392A1 (de) | 2014-08-19 | 2014-08-19 | Symmetrisches Iteriertes Blockchiffrierverfahren und entsprechende Vorrichtung |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105376052A true CN105376052A (zh) | 2016-03-02 |
CN105376052B CN105376052B (zh) | 2021-04-16 |
Family
ID=55273773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510506925.8A Active CN105376052B (zh) | 2014-08-19 | 2015-08-18 | 对称迭代块编码方法和相应设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9832014B2 (zh) |
CN (1) | CN105376052B (zh) |
DE (1) | DE102014216392A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10020932B2 (en) * | 2015-11-13 | 2018-07-10 | Nxp B.V. | Split-and-merge approach to protect against DFA attacks |
US10243937B2 (en) * | 2016-07-08 | 2019-03-26 | Nxp B.V. | Equality check implemented with secret sharing |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101702709A (zh) * | 2009-11-05 | 2010-05-05 | 复旦大学 | 一种适用于mips处理器的aes加密单元 |
CN102204158A (zh) * | 2008-10-30 | 2011-09-28 | 高通股份有限公司 | 低等待时间的分块密码术 |
US20120321079A1 (en) * | 2011-06-14 | 2012-12-20 | Freescale Semiconductor, Inc | System and method for generating round keys |
CN103516512A (zh) * | 2013-10-21 | 2014-01-15 | 深圳市芯通信息科技有限公司 | 基于aes算法的加解密方法及加解密器 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7801301B2 (en) * | 2001-10-10 | 2010-09-21 | Stmicroelectronics S.R.L. | Method and circuit for data encryption/decryption |
GB0211812D0 (en) * | 2002-05-23 | 2002-07-03 | Koninkl Philips Electronics Nv | S-box encryption in block cipher implementations |
GB0214620D0 (en) * | 2002-06-25 | 2002-08-07 | Koninkl Philips Electronics Nv | Round key generation for AES rijndael block cipher |
US20040202317A1 (en) * | 2002-12-20 | 2004-10-14 | Victor Demjanenko | Advanced encryption standard (AES) implementation as an instruction set extension |
EP1471486A3 (en) * | 2003-01-31 | 2006-02-08 | Khalil Jiraki | Time based encryption algorithm |
US20070036353A1 (en) * | 2005-05-31 | 2007-02-15 | Interdigital Technology Corporation | Authentication and encryption methods using shared secret randomness in a joint channel |
WO2007121035A2 (en) * | 2006-03-23 | 2007-10-25 | Exegy Incorporated | Method and system for high throughput blockwise independent encryption/decryption |
JP4905000B2 (ja) * | 2006-09-01 | 2012-03-28 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
US8155308B1 (en) * | 2006-10-10 | 2012-04-10 | Marvell International Ltd. | Advanced encryption system hardware architecture |
US8300805B1 (en) * | 2007-01-04 | 2012-10-30 | Altera Corporation | AES core with independent inputs and outputs |
US8693681B2 (en) * | 2008-12-10 | 2014-04-08 | Texas Instruments Incorporated | Kasumi cipher executable instructions and circuitry |
US9143317B2 (en) * | 2013-05-24 | 2015-09-22 | Apple Inc. | Protecting against white box attacks using column rotation |
-
2014
- 2014-08-19 DE DE102014216392.7A patent/DE102014216392A1/de active Pending
-
2015
- 2015-08-12 US US14/824,424 patent/US9832014B2/en active Active
- 2015-08-18 CN CN201510506925.8A patent/CN105376052B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102204158A (zh) * | 2008-10-30 | 2011-09-28 | 高通股份有限公司 | 低等待时间的分块密码术 |
CN101702709A (zh) * | 2009-11-05 | 2010-05-05 | 复旦大学 | 一种适用于mips处理器的aes加密单元 |
US20120321079A1 (en) * | 2011-06-14 | 2012-12-20 | Freescale Semiconductor, Inc | System and method for generating round keys |
CN103516512A (zh) * | 2013-10-21 | 2014-01-15 | 深圳市芯通信息科技有限公司 | 基于aes算法的加解密方法及加解密器 |
Also Published As
Publication number | Publication date |
---|---|
US9832014B2 (en) | 2017-11-28 |
US20160056955A1 (en) | 2016-02-25 |
DE102014216392A1 (de) | 2016-02-25 |
CN105376052B (zh) | 2021-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106663387B (zh) | 加密函数和解密函数生成方法、加密和解密方法以及相关装置 | |
CN104468089B (zh) | 数据保护装置及其方法 | |
CN106850221B (zh) | 信息加密、解密方法及装置 | |
CN106921487B (zh) | 可重构s盒电路结构 | |
CN107070630B (zh) | 一种aes算法的快速安全硬件结构 | |
EP1876750B1 (en) | Encryption and decryption on a graphics processing unit | |
Banik et al. | Analysis of software countermeasures for whitebox encryption | |
SE1350203A1 (sv) | Anordning och förfarande för blockkrypteringsprocess för osäkra miljöer | |
CN102404108B (zh) | 一种针对aes-128算法的新型故障攻击方法 | |
Hu et al. | An effective differential power attack method for advanced encryption standard | |
Penchalaiah et al. | Effective Comparison and evaluation of DES and Rijndael Algorithm (AES) | |
CN109218008A (zh) | 一种针对sm4密钥扩展算法的模板攻击方法 | |
CN104301096A (zh) | Aes轮运算方法和电路 | |
CN105376052A (zh) | 对称迭代块编码方法和相应设备 | |
Ariffin et al. | An immune system-inspired byte permutation function to improve confusion performance of round transformation in symmetric encryption scheme | |
CN110417540B (zh) | 一种抗差分功耗分析的信息加密方法 | |
Wadi et al. | A low cost implementation of modified advanced encryption standard algorithm using 8085A microprocessor | |
CN111510296A (zh) | Sm4/aes双模加密电路 | |
CN103684748A (zh) | 对称式加解密方法、对称式加解密系统 | |
Shehab et al. | An Image Encryption Technique based on DNA Encoding and Round-reduced AES Block Cipher | |
CN212115336U (zh) | Sm4/aes双模加密电路 | |
Burns et al. | Efficient advanced encryption standard implementation using lookup and normal basis | |
JP4990843B2 (ja) | 暗号演算装置、その方法、及びプログラム | |
Kumar et al. | FPGA Implementation of High Performance Hybrid Encryption Standard | |
Rathnala et al. | A practical approach to differential power analysis using PIC micrcontroller based embedded system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |