CN102334307A - 密码系统的密钥恢复机制 - Google Patents

密码系统的密钥恢复机制 Download PDF

Info

Publication number
CN102334307A
CN102334307A CN2010800094808A CN201080009480A CN102334307A CN 102334307 A CN102334307 A CN 102334307A CN 2010800094808 A CN2010800094808 A CN 2010800094808A CN 201080009480 A CN201080009480 A CN 201080009480A CN 102334307 A CN102334307 A CN 102334307A
Authority
CN
China
Prior art keywords
key
aes
data
block
cryptographic
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
Application number
CN2010800094808A
Other languages
English (en)
Other versions
CN102334307B (zh
Inventor
文森特·杜帕丘斯
米歇尔·杜盖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rumbas
Original Assignee
Atmel Rousset SAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Atmel Rousset SAS filed Critical Atmel Rousset SAS
Publication of CN102334307A publication Critical patent/CN102334307A/zh
Application granted granted Critical
Publication of CN102334307B publication Critical patent/CN102334307B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/122Hardware reduction or efficient architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种密码系统,其可包含含有密钥的寄存器及耦合到所述寄存器的处理器。所述处理器可为可操作的以用于执行第一加密运算,其中所述加密运算包含使用所述寄存器作为工作空间来计算密钥调度。在所述第一加密运算结束时,从所述寄存器恢复所述密钥以供在第二加密运算中使用。

Description

密码系统的密钥恢复机制
技术领域
一般来说,本申请案的标的物涉及密码系统。
背景技术
高级加密标准(AES)是针对密码算法的国家标准与技术研究院技术规范,其可保护对称密钥密码中所使用的电子数据。AES算法可加密(加密器)及解密(解密器)呈电子数据形式的信息。加密将电子数据转换为称作密文的难理解的形式;解密所述密文将电子数据转换回成其称作明文的原始形式。AES算法是能够使用128、192及256个位的密码密钥来加密及解密128位块中的电子数据的迭代对称密钥块密码编译器。
公钥密码编译器可使用一对密码密钥。然而,AES算法使用相同的密码密钥来加密及解密电子数据。AES算法是一种块密码编译器。由块密码编译器返回的经加密数据可具有与输入数据相同的位数目。AES算法对数据块执行其密码编译,从而使其成为迭代密码编译器。迭代密码编译器可使用重复执行输入数据的排列与置换的环路结构。
每一经密码编译的数据块均使用相同的密码密钥来加密或解密数据。AES算法加密或解密128位块中的数据。所述128位数据块通过AES算法的每一加密或解密可使用多个AES运算。128位数据块使用多个AES运算(其中迭代地执行连续运算群组)的加密或解密可称为一回合。AES算法还取得密码密钥且执行密钥扩展来产生供在AES加密算法中使用的密钥调度。或者,在128位数据块的解密中,AES算法以经调度的密钥开始且执行逆密钥调度运算来产生加密中所使用的密码密钥以便解密所述128位块中的数据。
128位数据块的每一加密需要密码密钥连同128位输入数据块一起作为输入。用于加密的大于128个位的输入电子数据可被划分成多个128位块。每一128位块均可使用AES算法进行加密。AES算法采用密码密钥且执行密钥扩展例程来产生密钥调度,从而变换原始密码密钥。
128位数据块的每一解密需要经调度的密钥连同128位输入数据块一起作为输入。用于解密的大于128个位的输入电子数据可被划分成多个128位块。每一128位块可使用AES算法进行解密。AES算法可逆转且以相反次序执行用于加密的AES运算。AES算法取得经调度的密钥且执行逆密钥调度运算来确定用于加密的原始密码密钥。
常规密码系统将加密所需的密钥或解密所需的密钥调度保存于缓冲器中,所述缓冲器与AES算法在加密或解密运算期间所使用的工作空间缓冲器分开。在每一128位块加密或解密之前,所述系统从单独的缓冲器分别还原所述密钥或经调度的密钥。或者,一些常规密码系统分别向针对经加密或经解密的每一128位数据块执行加密或解密的密码编译引擎提供所述密钥或经调度的密钥。此可导致对密码密钥或密钥调度的额外处置及操纵。此额外处置及操纵可损害对所述密钥及其调度的保密。
发明内容
在一些实施方案中,密码系统可执行密钥恢复运算。在加密情况下,在加密128位数据块结束时,所述系统可对用于加密的经调度密钥执行逆密钥调度运算以恢复原始密码密钥。此密钥可放置于密钥缓冲器中以供在下一加密过程中使用。在解密情况下,在解密128位数据块结束时,所述系统可对用于解密的密码密钥执行密钥调度运算以恢复密钥调度。
在密码编译运算期间执行密钥恢复运算可消除需要密码编译引擎维持分别用于加密或解密的密钥或密钥调度的副本。另外,其可消除对密钥及密钥调度的不必要的处置及操纵。在加密情况下,密码系统无需针对用于加密的每一128位数据块将密钥重新加载到密码编译引擎中。在解密情况下,密码系统无需针对用于解密的每一128位数据块将密钥调度重新加载到密码编译引擎中。
附图说明
图1是高级加密标准(AES)密码编译引擎的实例性实施方案的框图。
图2是高级加密标准(AES)块中所包含的AES系统的实例性实施方案的框图。
图3A是展示高级加密标准(AES)运算寄存器中的位及与位值相关联的运算的表。
图3B是展示使用AES运算寄存器选择的高级加密标准(AES)运算的执行次数的表。
图4是展示AES块中的实例性高级加密标准(AES)密钥状态的状态图。
图5是密码系统中的加密过程的实例性实施方案的流程图。
图6是密码系统中的解密过程的实例性实施方案的流程图。
图7是可包含密码系统的系统的实例性实施方案的框图。
具体实施方式
AES密码编译引擎的实施方案
图1是高级加密标准(AES)密码编译引擎100的实例性实施方案的框图。引擎100可执行AES计算,所述AES计算可包含对电子数据块进行的分别产生密文及明文的AES加密及解密运算。引擎100可包含于密码系统中。
如图1中所示,引擎100包含可向AES块102提供可启用并控制由AES块102执行的AES加密及解密运算的输入的寄存器。寄存器可为AES运算提供数据(例如,密文或明文)。寄存器可提供密码密钥数据以供在AES加密及解密运算中使用。另外,寄存器可提供与由AES块102执行的AES运算有关的结果及状态信息。寄存器可提供所述AES运算的所得数据(例如,密文或明文)。除非另有指示,否则所述寄存器含有八位(一字节)值。下文将更详细地描述特定寄存器、其值及功能。
密码系统中所包含的电力管理控制寄存器中的AES ON位可控制AES密码编译引擎100的启用。当AES ON位设定为等于0时,所述密码系统可关闭引擎100,从而使所述引擎的电流消耗最小化且将引擎100置于断电模式中。在断电模式期间,引擎100的寄存器中所含有的值不可用于读取或写入。此情况的例外情况是AES屏蔽寄存器116。所述密码系统可读取AES屏蔽寄存器116,屏蔽寄存器116可含有AES密码编译引擎100的版本号。另外,引擎100中所包含的大多数寄存器的内容可在断电模式期间得以维持。将AES ON位设定为等于1将引擎100通电并启用所述引擎,从而将其置成计算模式。将引擎100通电增加其电流消耗。引擎100可使用AES运算来执行AES计算。使用AES ON位可通过在AES密码编译引擎100未在使用中时将其断电来使包含引擎100的密码系统中的功率消耗最小化。
AES运算寄存器(AESOP)可包含可输入到AES块102的六个位104a到104f。六个位104a到104f可选择密码编译类型(加密或解密)、密钥调度及AES运算中所使用的密码密钥中所含有的位数目。当被设定为等于1时,AES开始位104b(AESOP.START)可在AES块102中开始所请求的密码编译运算(加密或解密)。当AES块102完成所请求的密码编译(加密或解密)时,清除AES开始位104b(将其设定为等于0)。AES密码编译位104a(AESOP.CIPHER)可为加密方向(或密码编译类型选择)位。将AES密码编译位104a设定为等于1通知AES块102其将执行AES加密。将AES密码编译位104a设定为等于0通知AES块102其将执行AES解密。
AES密钥选择位104e、104f(分别为AESOP.KEYSEL0及AESOP.KEYSEL1)可为输入密码密钥选择三个可能的输入大小中的一者:128、192或256个位。AES块102可将所述密码密钥用于AES运算。在将AES开始位104b设定为等于1(此开始AES运算)之前设定AES密钥选择位104e、104f。在AES开始位104b等于1时对AES密钥选择位104e、104f做出的改变致使在AES块102中发生故障状况。AES块102通过清除AES开始位104b(将其设定为等于0)及将AES状态寄存器故障检测位108a设定为等于1来指示发生了故障。AES输入数据寄存器106(AESDI[0F])、AES输出数据寄存器114(AESDO[0...F])及AES密钥寄存器112(AESK[0...31])保持不变。下文将更详细地描述这些寄存器。
AES运算位104c、104d(分别为AESOP.AESOP0及AESOP.AESOP1)可在AES开始位104b设定为等于1时选择起动可能的四个AES运算中的一者。清除AES运算位104c、104d两者(将其设定为等于0)为由密码编译位104a的值确定的选定密码编译运算选择不具有密钥恢复。将AES运算位104c、104d两者设定为等于1选择循环冗余校验(CRC)密钥计算来检验输入密码密钥的完整性。清除AES运算位104c(将其设定为等于0)且将AES运算位104d设定为等于1为由密码编译位104a的值确定的选定密码编译运算选择密钥恢复。将AES运算位104c设定为等于1且清除AES运算位104d(将其设定为等于0)选择AES密钥调度运算。下文将参考图3更详细地描述使用AES运算寄存器来设置且开始AES运算。
密码系统可设定或清除可包含四个位110a到110d的AES控制寄存器(AESCR)的位以控制AES块102中所执行的AES运算的方面。将XOR密钥数据输入位110a(AESCR.XKDI)设定为等于1允许对写入到选定输入数据寄存器(例如,AES输入数据寄存器106(AESDI[0...15]))的输入数据与所述寄存器中已含有的数据进行“异或”运算(XOR运算)。清除XOR密钥数据输入位110a(将其设定为等于0)允许AES密码编译引擎100直接将数据写入到选定输入数据寄存器(例如,AES输入数据寄存器106),从而盖写所述数据寄存器中所含有的任何先前数据。
将XOR密钥数据输入位110a设定为等于1还可允许对写入到选定密钥寄存器(例如,密钥寄存器112(AESK[0...31]))的输入数据与所述密钥寄存器中已含有的数据进行“异或”运算(XOR运算)。清除XOR密钥数据输入位110a(将其设定为等于0)允许AES密码编译引擎100直接将数据写入到选定密钥寄存器(例如,密钥寄存器112),从而盖写所述密钥寄存器中所含有的任何先前数据。
在一些实施方案中,密码系统可在实施基于AES的密码编译块链接消息验证代码(CBC-MAC)算法时将XOR密钥数据输入位110a设定为等于1。
对XOR密钥数据输入位110a的设定或清除可在将AES开始位104b设定为等于1(此起始密码编译运算)之前发生或与其同时发生。可不在AES计算期间(以将AES开始位104b设定为等于1之后开始到AES计算结束时)写入XOR密钥数据输入位110a。
密钥数据寄存器位110b及110c(分别为AESCR.RTKDR0及AESCR.RTKDR1)的结果可确定将AES块运算的结果存储于何处。在图1中所示的实施方案中,清除密钥数据寄存器位110b的结果(将其设定为等于0)。在清除密钥数据寄存器位110b的结果(将其设定为等于0)时将密钥数据寄存器位110c的结果设定为等于1将AES块102中所执行的AES块运算的结果存储于输出数据寄存器114(AESDO[0...15])及输入数据寄存器106中。在保持密钥数据寄存器位110b的结果被清除的同时清除密钥数据寄存器位110c的结果(将其设定为等于0)将AES块102中所执行的AES块运算的结果存储于输出数据寄存器114中。
对密钥数据寄存器位110b及110c的设定或清除可与将AES开始位104b设定为等于1同时发生。在已将AES开始位104b设定为等于1时设定或清除密钥数据寄存器位110b及110c的结果可致使在AES块102中发生故障状况。AES块102通过清除AES开始位104b(将其设定为等于0)及将AES状态寄存器故障检测位108a设定为等于1指示发生了故障。AES输入数据寄存器106(AESDI[0...F])、AES输出数据寄存器114(AESDO[0...F])及AES密钥寄存器112(AESK[0...31])保持不变。
AES数据屏蔽启用位110d(AESCR.DATAMSK)控制AES密码编译引擎100中的数据屏蔽特征。将AES数据屏蔽启用位110d设定为等于1启用所述数据屏蔽特征。清除AES数据屏蔽启用位110d(将其设定为等于0)停用所述数据屏蔽特征。当被启用时,所述数据屏蔽特征可用AES屏蔽寄存器116(AESMSK)的内容屏蔽AES输入数据寄存器106中所含有的用于加密或解密的输入数据。下文将更详细地对此进行描述。
AES密码编译引擎100可包含AES CRC寄存器118(AESCRC0及AESCRC1),当组合时,所述AES CRC寄存器含有对用于AES运算的输入密码密钥执行的循环冗余校验(CRC)的16位结果。引擎100可对128、192及256个位的输入密码密钥执行CRC校验。AES块102可使用对所述密钥执行的CRC的结果来在所述密钥用于任何AES运算之前检测所述密钥的任何数据损坏。
AES密码编译引擎100可包含可含有一字节(八位)屏蔽值的AES屏蔽寄存器116(AESMSK)。密码系统给屏蔽寄存器116加载一字节屏蔽值。在AES运算开始之前,引擎100可在逐字节基础上借助屏蔽寄存器116屏蔽输入密码密钥数据。与AES运算开始同时,引擎100还可在逐字节基础上借助所述屏蔽寄存器屏蔽用于加密或解密的输入数据。
AES密码编译引擎100可在逐字节基础上通过对屏蔽寄存器116中的值与输入密码密钥的每一字节进行“异或”运算(XOR运算)来用所述密钥的值屏蔽屏蔽寄存器116的内容。引擎100可将所得的经屏蔽密钥写入到密钥寄存器112中。密钥屏蔽可在任何AES运算开始之前发生。如果清除XOR密钥数据输入位110a(将其设定为等于0),那么可发生以刚刚描述的方式对输入密码密钥的屏蔽。将XOR密钥数据输入位110a设定为等于1允许对写入到密钥寄存器112的输入密钥数据与密钥寄存器112中已含有的数据进行“异或”运算(XOR运算)。
在一些实施方案中,AES密码编译引擎100可执行密码密钥CRC计算。可在逐字节基础上对输入密码密钥数据与屏蔽寄存器116的内容进行“异或”运算(XOR运算)。引擎100可将所得的经XOR运算的密钥字节写入到密钥寄存器112。密钥寄存器112可为AES CRC计算引擎的输入(例如,包含于AES块102中)。所述CRC计算引擎可使用AES CRC寄存器118中所含有的值作为供在CRC计算中使用的初始值来执行所述CRC计算。
如果在AES运算开始时将AES屏蔽寄存器116中的AES数据屏蔽启用位110d设定为等于1,那么AES密码编译引擎100可借助输入数据寄存器106中的每一者屏蔽屏蔽寄存器116。AES密码编译引擎100可通过对屏蔽寄存器116中的值与输入数据寄存器中的值进行“异或”运算(XOR运算)来执行所述屏蔽。AES块102可接收所得的经屏蔽输入数据寄存器。
当AES ON位设定为等于0时,可将AES密码编译引擎100置于关闭模式中。在此模式中,所述密码系统可读取可含有引擎100的版本号的AES屏蔽寄存器116。所述密码系统可读取屏蔽寄存器116且确定所述系统中所包含的引擎100的版本号。
AES输出数据寄存器114(AESDO[0...F])可为16个八位(一字节)寄存器,其含有由AES密码编译引擎100中的AES块102执行的AES计算的结果。AES输入数据寄存器114(AESDI[0...F])可为16个八位(一字节)寄存器,其含有由AES密码编译引擎100中的AES块102执行的AES计算中所使用的用于加密或解密的输入数据。在起始引擎100中的AES运算的开始之前,密码系统从数据总线120给输入数据寄存器114加载用于加密或解密的输入数据。如先前所描述,还可在起始AES运算的开始之前对输入数据寄存器114中所含有的输入数据有条件地执行屏蔽操作。
AES密钥寄存器112(AESK[0...31])可为32个八位(一字节)寄存器,其含有供在由AES密码编译引擎100中的AES块102执行的AES计算中使用的密码密钥值。所述密码系统针对数据总线120给密钥寄存器112加载可为128、192或256个位(分别为16个字节、24个字节或32个字节)的密码密钥。如先前所描述,还可对密钥寄存器112选择性地执行屏蔽操作。
所述密码系统可读取AES状态寄存器(AESSR)的位以确定与AES密码编译引擎100有关的状态信息及与由AES块102执行的AES运算有关的状态信息。当AES块102已完成AES计算时,可将AES中断旗标位108b(AESSR.AESIRQ)设定为等于1。如果所述密码系统中所包含的额外寄存器位经适当设定,那么设定中断旗标位108b可致使在所述密码系统中产生中断。
当被设定为等于1时,故障检测位108a(AESSR.FAULT)指示在AES块102正执行AES运算时发生了问题。在一些实施方案中,AES块102可通过将其内部状态与所请求的运算进行比较来检测所述问题。
举例来说,AES块102可在AES块102接收到无效请求时将故障检测位108a设定为等于1。在另一实例中,AES块102可在内部校验其运算一致性且可在发生不一致时将故障检测位108a设定为等于1。在替代实例中,AES块102可计数其对输入数据块执行的AES回合的数目。AES块102可确定所述AES块应对128位数据块执行的回合数目,因为所述回合数目是基于AES运算中所使用的密钥的大小(例如,使用128位密钥的AES密码编译器对128位数据块执行10个回合)。如果实际回合数目与所计算的回合数目不同,那么AES块102可将故障检测位108a设定为等于1。
如果在AES块102进行AES计算期间发生故障,那么在所述AES计算结束时由AES块102将故障检测位108a设定为等于1,同时将中断旗标位108b设定为等于1。在一些情况下,AES块102检测AES计算期间的故障可导致AES块102继续错误的AES计算。举例来说,AES块102可使用损坏的密钥或者AES块102的由所述AES计算产生的输出数据可被损坏。在一些情况下,AES块102可准备故障检测位108a的设定且在完成从而导致错误的输出数据之前停止所述AES计算。
基本AES算法
AES算法可对称作如下状态的4×4矩阵执行AES运算,在所述状态中所述矩阵中的每一元是一个数据字节(八个位)。所述状态含有总共16个数据字节或128个数据位。AES算法的用于加密或解密的输入字节阵列还为组织成4×4矩阵的128个数据位。对使用所述状态的输入数据执行AES运算以产生输出数据,所述输出数据也呈4×4矩阵的形式,其中所述矩阵中的每一元是一个字节(八个位)。AES算法对每一128位数据块执行多个AES运算回合。可基于密码密钥的大小来确定回合数目。密码系统可将大于128个位的输入数据划分成若干128个数据位。可将这些数据块连续地输入到如图1中所示的AES块102中。
一回合中的所有AES运算均为可逆的。AES块102可逆转且以相反次序执行用于执行输入数据的加密的运算以执行输入数据的解密。
在输入数据的加密中,AES块102可将密码密钥扩展为密钥调度。AES算法可取得所述密钥且执行密钥扩展例程来产生密钥调度。所述密钥调度可将密钥扩展成若干单独的密钥(子密钥),其中AES块102可将所述子密钥用于AES算法的每一回合。所述子密钥还可称作回合密钥。密钥扩展例程可使用AES运算来扩展密钥,其中经扩展密钥的长度可等于:块大小*回合数目+1(例如,128位密钥扩展为176字节密钥,192位密钥扩展为208字节密钥,且256位密钥扩展为240字节密钥)。AES块102可将所述经扩展密钥的不同部分用于AES算法的每一回合。在输入数据的解密中,AES块102可使用密钥调度来解密所述输入数据。AES块102可执行逆密钥调度运算来产生用于加密所述输入数据的密码密钥。
使用密钥恢复的AES块的实施方案
图2是图1的高级加密标准(AES)块102中所包含的AES系统200的实施方案的框图。系统200可使用密钥恢复来执行用于128位输入数据块的加密或解密的AES运算。一旦所述128位输入数据块的加密或解密完成,便将结果输出到AES密码编译引擎100且系统200可接收用于下一128位数据块加密或解密的输入数据。
如图2中所示,系统200包含输入/输出数据块202。输入/输出数据块202可将用于加密或解密的128位输入数据块提供到AES数据处理加密/解密块204。输入/输出数据块202还可从AES数据处理加密/解密块204接收所得的经加密或或经解密128位输出数据块。数据处理加密/解密块204可对由输入/输出数据块202接收的每一128位数据块执行AES运算。
在使用AES密码编译引擎100开始数据加密或解密之前,密码系统可将密码密钥加载到密钥寄存器112中,如图1中所示。在第一128位输入数据块的加密或解密开始之前,可将密钥寄存器112加载到密钥寄存器块208中。
当执行数据加密或解密时,AES密钥处理加密/解密块206可使用密码密钥执行密钥扩展例程以产生密钥调度。密钥寄存器块208可在任何AES加密运算开始之前最初存储所述密码密钥。密钥寄存器块208可足够大以缓冲整个密钥(例如,256个位或32个字节(例如,密钥寄存器112)),其中所述密钥可为128、192或最大256个位。
在对系统200中的第一128位输入数据块的加密或解密运算期间,可盖写从密钥寄存器112加载到密钥寄存器块208中的初始密码密钥。在执行密码编译运算时可使用含有密钥值的寄存器作为工作空间。在对下一128位输入数据块执行后续加密或解密运算之前,系统200可将所述密码密钥还原到密钥寄存器块208中。
不同密钥寄存器块及密钥调度运算的实施方案
在一些实施方案中,在每一128位输入数据块加密或解密运算之前,AES密码编译系统100可将密钥寄存器112加载到寄存器块208中。此实施方案可需要针对已处理的每一128位数据块处置密码密钥一次。对于大的数据块,此可导致对密码密钥的大数目次操纵。另外,在一些实施方案中,系统200可每次在将密码密钥从密钥寄存器112加载到寄存器块208中时校验所述密码密钥的完整性。此可增加AES密码编译引擎100的计算吞吐量。
在一些实施方案中,系统100可将所述密码密钥的两个副本存储于密钥寄存器块208中。在执行加密或解密运算时,可保存所述密钥的一个副本且将其用于还原可在工作空间计算期间被盖写的所述密钥的另一副本。此实施方案可需要密钥寄存器块208中的额外寄存器以用于存储所述密码密钥,从而增加密钥寄存器块208的门计数。此增加包含AES密码编译引擎100的集成处理器的门计数。增加的门计数可增加集成处理器的占用面积且增加其能量消耗。
在一些实施方案中,系统200可在系统200执行第一128位输入数据块的加密之后将密码密钥还原到密钥寄存器块208中。系统200可对用于加密第一128位输入数据块的密钥调度执行使用逆密钥调度的密钥恢复运算以恢复加密下一128位输入数据块所需的密码密钥。产生密钥调度并将其用于加密128位输入数据块导致更改密钥数据,使得初始密码密钥值不再可用于系统200。系统200可在第一128位输入数据块经加密之后且在加密下一128位输入数据块之前执行密钥恢复运算。系统200可将所恢复的密钥存储于保存从密钥寄存器112接收的初始密码密钥的相同寄存器中的密钥寄存器块208中。系统200可在第一128位输入数据块已经加密且输出到输出数据块202时盖写可能已用作用于加密运算的工作空间的这些寄存器中所含有的任何数据。
在一些实施方案中,系统200可在系统200执行第一128位输入数据块的解密之后将密钥调度还原到密钥寄存器块208中。解密可使用加密所使用的相同的AES运算。然而,将所述运算逆转且接着以相反次序实施。第一128位输入数据块的解密以初始密钥调度开始。逆密钥调度运算可确定用于加密原始数据的原始密码密钥。所述逆密钥调度运算及其在解密128位输入数据块中的使用可导致更改密钥调度数据,使得初始密钥调度数据不再可用于系统200。系统200可在第一128位输入数据块经解密之后且在解密下一128位输入数据块之前执行密钥恢复运算。所述密钥恢复运算通过对所得的密码密钥运行密钥扩展运算来执行密钥调度运算以产生并还原密钥调度。系统200可将所恢复的密钥调度存储于保存初始密钥调度的相同寄存器中的密钥寄存器块208中。系统200可在第一128位输入数据块已经解密且输出到输出数据块202时盖写可能已用作用于解密的工作空间的这些寄存器中所含有的任何数据。
密钥恢复运算可增加AES密码编译引擎100的计算吞吐量。然而,AES块102不需要引擎100将密钥寄存器112加载到密钥寄存器块208中以还原密码密钥,从而导致较少的密钥操纵及计算,因为系统200可每次在将密钥值加载到系统200中时校验所述密钥值的完整性。另外,由于因密码密钥也不保存于密钥寄存器块208中而使用较少的寄存器,因此密钥寄存器块208中可需要较少的门。
在一些实施方案中,图1中的AES密码编译引擎100可为密码系统中所包含的集成处理器,所述密码系统可包含用于在所述密码系统中执行特定运算的额外集成处理器。可期望使引擎100的占用面积最小化以帮助使所述密码系统的占用面积最小化。减少引擎100中的AES块102中所包含的系统200中的密钥存储所需的寄存器的数目可帮助减小集成处理器的大小及密码系统整体的大小。
AES运算寄存器
图3A是展示高级加密标准(AES)运算寄存器中的位及与位值相关联的运算的表300。参考图1,AES运算寄存器(AESOP)包含AES运算位104c、104d(分别为AESOP0及AESOP1)、AES密钥选择位104e、104f(分别为KEYSEL0及KEYSEL1)及AES密码编译位104a(CIPHER)。
当AES开始位104b设定为等于1时,AES运算位104c、104d可选择起动可能的四个AES运算中的一者:具有密钥恢复的密码编译运算、不具有密钥恢复的密码编译运算、密钥调度运算或CRC计算。AES密码编译位104a可在加密与解密运算之间进行选择。AES密钥选择位104e、104f可选择三个可能的输入大小中的一者用于输入密码密钥:128、192或256个位。
清除AES运算位104c、104d两者(将其设定为等于0)选择不具有密钥恢复的运算。另外,清除AES密钥选择位104e、104f两者(将其设定为等于0)选择使用128位密钥的不具有密钥恢复的AES运算。清除AES密码编译位104a(将其设定为等于0)或将其设定为等于1分别确定所述运算将是解密还是加密。
清除AES运算位104c、104d两者(将其设定为等于0)选择不具有密钥恢复的运算。另外,将AES密钥选择位104e设定为等于1且清除AES密钥选择位104f(将其设定为等于0)选择使用192位密钥的不具有密钥恢复的AES运算。清除AES密码编译位104a(将其设定为等于0)或将其设定为等于1分别确定所述运算将是解密还是加密。
清除AES运算位104c、104d两者(将其设定为等于0)选择不具有密钥恢复的运算。另外,清除AES密钥选择位104e(将其设定为等于0)且将AES密钥选择位104f设定为等于1选择使用256位密钥的不具有密钥恢复的AES运算。清除AES密码编译位104a(将其设定为等于0)或将其设定为等于1分别确定所述运算将是解密还是加密。
清除AES运算位104d(将其设定为等于0)且将AES运算位104c设定为等于1选择密钥调度运算。另外,清除AES密钥选择位104e、104f两者(将其设定为等于0)选择使用128位密钥的密钥调度运算。清除AES密码编译位104a(将其设定为等于0)或将其设定为等于1分别确定所述密钥调度运算将是密钥调度运算还是逆密钥调度运算。
清除AES运算位104d(将其设定为等于0)且将AES运算位104c设定为等于1选择密钥调度运算。另外,将AES密钥选择位104e设定为等于1且清除AES密钥选择位104f(将其设定为等于0)选择使用192位密钥的密钥调度运算。清除AES密码编译位104a(将其设定为等于0)或将其设定为等于1分别确定所述密钥调度运算将是密钥调度运算还是逆密钥调度运算。
清除AES运算位104d(将其设定为等于0)且将AES运算位104c设定为等于1选择密钥调度运算。另外,清除AES密钥选择位104e(将其设定为等于0)且将AES密钥选择位104f设定为等于1选择使用256位密钥的密钥调度运算。清除AES密码编译位104a(将其设定为等于0)或将其设定为等于1分别确定所述密钥调度运算将是密钥调度运算还是逆密钥调度运算。
清除AES运算位104c(将其设定为等于0)且将AES运算位104d设定为等于1选择具有密钥恢复的运算。另外,清除AES密钥选择位104e、104f两者(将其设定为等于0)选择使用128位密钥的具有密钥恢复的AES运算。清除AES密码编译位104a(将其设定为等于0)或将其设定为等于1分别确定所述运算将是解密还是加密。
清除AES运算位104c(将其设定为等于0)且将AES运算位104d设定为等于1选择具有密钥恢复的运算。另外,将AES密钥选择位104e设定为等于1且清除AES密钥选择位104f(将其设定为等于0)选择使用192位密钥的具有密钥恢复的AES运算。清除AES密码编译位104a(将其设定为等于0)或将其设定为等于1分别确定所述运算将是解密还是加密。
清除AES运算位104c(将其设定为等于0)且将AES运算位104d设定为等于1选择具有密钥恢复的运算。另外,清除AES密钥选择位104e(将其设定为等于0)且将AES密钥选择位104f设定为等于1选择使用256位密钥的具有密钥恢复的AES运算。清除AES密码编译位104a(将其设定为等于0)或将其设定为等于1分别确定所述运算将是解密还是加密。
将AES运算位104c、104d两者设定为等于1选择密钥CRC计算。另外,清除AES密钥选择位104e、104f两者(将其设定为等于0)且清除AES密码编译位104a(将其设定为等于0)选择AES-128密钥CRC运算。
将AES运算位104c、104d两者设定为等于1选择密钥CRC计算。另外,将AES密钥选择位104e设定为等于1、清除AES密钥选择位104f(将其设定为等于0)且清除AES密码编译位104a(将其设定为等于0)选择AES-192密钥CRC运算。
将AES运算位104c、104d两者皆设定为等于1选择一密钥CRC计算。另外,清除AES密钥选择位104e(将其设定为等于0)、将AES密钥选择位104f设定为等于1且清除AES密码编译位104a(将其设定为等于0)选择AES-256密钥CRC运算。
AES计算定时
图3B是展示使用AES运算寄存器选择的AES运算354的执行次数352(以中央处理单元(CPU)循环计)的表350。图3A中的表300展示用于选择AES运算354的AES运算寄存器的位的值。
一般来说,使用较大密码密钥的AES运算需要完成较多CPU循环。使用密钥恢复的AES运算还使用较多CPU循环。然而,CPU循环的增加可由存储密码密钥所需的密钥寄存器的数目的减少(从而减小集成处理器的大小)而抵消。另外,密钥恢复减少密码密钥的不必要操纵量,从而减少密码系统中的安全性问题。
AES密钥状态图
图4是展示AES块(例如,图1中的AES块102)中的实例性高级加密标准(AES)密钥状态的状态图400。图示400展示加密及解密中所使用的AES密码密钥的可能的密钥状态及密钥值。图示400展示所述密钥可演变的方式与AES块所执行的运算之间的联系。图4中所示的AES运算可为由图3中所示的高级加密标准(AES)运算寄存器中的位选择且由AES块102中所包含的图2中的AES系统200执行的AES运算。
互连线展示AES运算。实线展示符合FIPS-197 AES标准的运算。虚线展示不符合FIPS-197 AES标准的运算,所述FIPS-197 AES标准可涉及AES运算的不寻常使用。
当AES块处于密钥状态402中时,执行具有密钥恢复的AES加密运算404可使AES块返回到密钥状态402。当AES块处于密钥调度状态406中时,执行具有密钥恢复的AES解密运算408可使AES块返回到密钥调度状态404。
当AES块处于密钥状态402中时,执行不具有密钥恢复的AES加密运算410可将AES块置于密钥调度状态406中。当AES块处于密钥调度状态406中时,执行不具有密钥恢复的AES解密运算412可将AES块置成密钥调度状态402。
当AES块处于密钥状态402中时,执行密钥调度运算414可将AES块置于密钥调度状态402中。当AES块处于密钥调度状态406中时,执行逆密钥调度运算416可将AES块置于密钥调度状态406中。
不符合的运算可导致AES块转变成非预期状态。当AES块处于密钥状态402中时,执行不具有密钥恢复的AES解密运算418可将AES块置成非预期密钥状态420。当AES块处于密钥状态402中时,执行逆密钥调度运算420可将AES块置成非预期密钥状态422。当AES块处于密钥状态402中时,执行具有密钥恢复的AES解密运算432可将AES块置成密钥状态402。然而,AES解密运算使用密钥调度作为其输入密钥,因此所述AES块将不可能执行此运算。
当处于密钥调度状态406中时,执行不具有密钥恢复的AES加密运算424可将AES块置成非预期密钥状态426。当处于密钥调度状态406中时,执行密钥调度运算428可将AES块置成非预期密钥状态430。当AES块处于密钥调度状态406中时,执行具有密钥恢复的AES加密运算434可将AES块置成密钥调度状态402。然而,AES加密运算使用密钥作为其输入密钥,因此所述AES块将不可能执行此运算。
加密过程的实施方案
图5是密码系统中的加密过程500的实施方案的流程图。所述密码系统可包含图1中所示的AES密码编译引擎100。所述加密过程可使用如图1到图4中所描述的AES算法。
过程500以密码系统接收用于加密的数据块开始(步骤502)。所述密码系统确定数据子块中所包含的位数目,其中所述数据子块的大小小于所接收数据块的大小(步骤504)。举例来说,如参考图1所描述,供在AES算法中使用的数据子块可为128个位。可将输入数据块划分成若干数据子块,其中每一数据子块为128个位。所述密码系统确定所述输入数据块中所包含的128位数据块的数目n(步骤506)。接下来,所述密码系统获得密码密钥(步骤508)。所述密码系统使用AES算法及所述密码密钥来加密第n个128位数据子块(步骤510)。举例来说,所述密码系统中所包含的AES密码编译引擎100可加密第n个128位数据子块。
所述密码系统使用密钥恢复运算来恢复所述密码密钥(步骤512)。举例来说,所述密码系统中的AES密码编译引擎100中的AES块102可包含恢复所述密钥以供在下一子块加密中使用的密钥恢复运算。所述密码系统可使数据子块的数目递减(步骤514)。如果存在待加密的剩余数据子块(在步骤516中n不等于0),那么过程500继续到步骤510。接着,所述密码系统使用步骤512中恢复的密钥来加密另一数据子块。如果不存在待加密的剩余数据子块(在步骤516中n等于0),那么所述密码系统可输出经加密的所接收数据块(步骤518)。过程500结束。
在一些实施方案中,过程500可以第一子块开始且以第n个子块结束来加密所述数据子块,其中输入数据块包含n个子块。
解密过程的实施方案
图6是密码系统中的解密过程600的实施方案的流程图。所述密码系统可包含图1中所示的AES密码编译引擎100。所述解密过程可使用如图1到图4中所描述的AES算法。
过程600以密码系统接收用于解密的数据块开始(步骤602)。所述密码系统确定数据子块中所包含的位数目,其中所述数据子块的大小小于所接收数据块的大小(步骤604)。举例来说,如参考图1所描述,供在AES算法中使用的数据子块可为128个位。可将输入数据块划分成若干数据子块,其中每一数据子块为128个位。所述密码系统确定所述输入数据块中所包含的128位数据块的数目n(步骤606)。接下来,所述密码系统获得密钥调度(步骤608)。所述密码系统使用AES算法及所述密钥调度来解密第n个128位数据子块(步骤610)。举例来说,所述密码系统中所包含的AES密码编译引擎100可解密第n个128位数据子块。
所述密码系统使用逆密钥恢复运算来恢复所述密钥调度(步骤612)。举例来说,所述密码系统中的AES密码编译引擎100中的AES块102可包含恢复所述密钥调度以供在下一子块解密中使用的逆密钥恢复运算。所述密码系统可使数据子块的数目递减(步骤614)。如果存在待解密的剩余数据子块(在步骤616中n不等于0),那么过程600继续到步骤610。接着,所述密码系统使用步骤612中恢复的密钥来解密另一数据子块。如果不存在待解密的剩余数据子块(在步骤616中n等于0),那么所述密码系统可输出经解密的所接收数据块(步骤618)。过程600结束。
在一些实施方案中,过程600可以第一子块开始且以第n个子块结束来解密所述数据子块,其中输入数据块包含n个子块。
系统架构
图7是可包含密码系统的系统的实施方案的框图,所述密码系统可包含如图1中所示的高级加密标准(AES)密码编译引擎。系统700包含处理器710、存储器720、存储装置730及输入/输出装置740。组件710、720、730及740中的每一者是使用系统总线750互连的。处理器710能够处理用于在系统700内执行的指令。在一些实施方案中,处理器710为单线程处理器。在另一实施方案中,处理器710为多线程处理器。处理器710能够处理存储器720中或存储装置730上所存储的指令以在输入/输出装置740上显示用户接口的图形信息。
存储器720存储系统700内的信息。在一些实施方案中,存储器720为计算机可读媒体。在其它实施方案中,存储器720为易失性存储器单元。在又一些实施方案中,存储器720为非易失性存储器单元。
存储装置730能够为系统700提供大容量存储。在一些实施方案中,存储装置730为计算机可读媒体。在各种不同实施方案中,存储装置730可为软盘装置、硬盘装置、光盘装置或磁带装置。
输入/输出装置740为系统700提供输入/输出操作。在一些实施方案中,输入/输出装置740包含键盘及/或指向装置。在其它实施方案中,输入/输出装置740包含用于显示图形用户接口的显示单元。
所描述的特征可实施于数字电子电路中或计算机硬件、固件、软件中或其组合中。所述特征可实施于有形地体现于信息载体中(例如,机器可读存储装置中或所传播的信号中)以供可编程处理器执行的计算机程序产品中;且方法步骤可由可编程处理器执行,所述可编程处理器执行指令程序以通过对输入数据进行操作并产生输出来执行所描述实施方案的功能。所描述的特征可有利地实施于可在可编程系统上执行的一个或一个以上计算机程序中,所述可编程系统包含至少一个可编程处理器(其经耦合以从数据存储系统接收数据及指令且将数据及指令传输到所述数据存储系统)、至少一个输入装置及至少一个输出装置。计算机程序是计算机中可直接或间接用于执行某一活动或引起某一结果的指令集。可以任一形式的程序设计语言(包含编译语言或解释语言)写入计算机程序,且可以任一形式部署所述计算机程序,包含部署为独立程序或部署为模块、组件、子例程或适合在计算环境中使用的其它单元。
举例来说,用于执行指令程序的适合处理器包含通用及专用微处理器两者及任一种计算机的唯一处理器或多个处理器中的一者。一般来说,处理器将从只读存储器或随机存取存储器或两者接收指令及数据。计算机的基本元件为用于执行指令的处理器及用于存储指令及数据的一个或一个以上存储器。一般来说,计算机还将包含用于存储数据文件的一个或一个以上大容量存储装置或以操作方式耦合以与其通信;此些装置包含:磁盘(例如,内部硬盘及可装卸磁盘);磁光盘;及光盘。适合于有形地体现计算机程序指令及数据的存储装置包含所有形式的非易失性存储器,举例来说,包含:半导体存储器装置(例如,EPROM、EEPROM及快闪存储器装置);磁盘(例如,内部硬盘及可装卸磁盘);磁光盘;以及CD-ROM及DVD-ROM磁盘。所述处理器及所述存储器可由ASIC(专用集成电路)补充或并入于ASIC中。
为实现与用户的交互,所述特征可实施于具有用于向所述用户显示信息的显示装置(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)及所述用户可借以向计算机提供输入的键盘及指向装置(例如,鼠标或轨迹球)的计算机上。
所述特征可实施于包含后端组件(例如数据服务器)或包含中间软件组件(例如应用程序服务器或因特网服务器)或包含前端组件(例如具有图形用户接口或因特网浏览器的客户端计算机)或其任一组合的计算机系统中。所述系统的组件可通过任一数字数据通信形式或媒体(例如通信网络)来连接。通信网络的实例包含(例如)LAN、WAN以及形成因特网的计算机及网络。
所述计算机系统可包含客户端及服务器。客户端与服务器通常彼此远离且通常经由网络交互。客户端与服务器的关系借助运行于相应计算机上且彼此之间具有客户端-服务器关系的计算机程序而出现。
已描述若干实施方案。然而,将理解,可做出各种修改。举例来说,可组合、删除、修改或补充一个或一个以上实施方案的元件以形成其它实施方案。所述图中所描绘的逻辑流程未必需要所展示的特定次序或顺序次序来实现所要的结果。另外,可提供其它步骤,或可从所描述的流程消除若干步骤,且可向所描述的系统添加或从所描述的系统移除其它组件。因此,其它实施方案也在以上权利要求书的范围内。

Claims (16)

1.一种密码系统,其包括:
寄存器,其含有密钥;
处理器,其耦合到所述寄存器且可操作以用于:
执行第一加密运算,所述加密运算包含使用所述寄存器作为工作空间来计算密钥调度;及
在所述第一加密运算结束时,从所述寄存器恢复所述密钥以供在第二加密运算中使用。
2.根据权利要求1所述的系统,其中恢复所述密钥包括:
运行逆密钥调度运算。
3.一种密码系统,其包括:
寄存器,其含有密钥;
处理器,其耦合到所述寄存器且可操作以用于:
执行第一解密运算,所述解密运算包含使用所述寄存器作为工作空间来计算逆密钥调度;及
在所述第一解密运算结束时,从所述寄存器恢复所述密钥以供在第二解密运算中使用。
4.根据权利要求4所述的系统,其中恢复所述密钥包括:
运行密钥调度运算。
5.一种用于在密码系统中加密数据的方法,所述方法包括:
接收用于加密的数据块;
确定数据子块中的位数目,其中数据子块中的所述位数目小于或等于所述数据块中的位数目;
确定构成所述数据块的多个数据子块;
获得密钥;
对第一数据子块执行加密运算,其中所述加密运算包括:
使用所述密钥加密所述第一数据子块;及
恢复所述密钥;及
使用所述所恢复的密钥对第二数据子块执行所述加密运算。
6.根据权利要求5所述的方法,其中恢复所述密钥包括:
运行逆密钥调度运算。
7.根据权利要求5所述的方法,其中所述位数目为128。
8.一种用于在密码系统中解密数据的方法,所述方法包括:
接收用于解密的数据块;
确定数据子块中的位数目,其中数据子块中的所述位数目小于或等于所述数据块中的位数目;
确定构成所述数据块的多个数据子块;
获得密钥调度;
对第一数据子块执行解密运算,其中所述解密运算包括:
使用所述密钥调度解密所述第一数据子块;及
恢复所述密钥调度;及
使用所述所恢复的密钥调度对第二数据子块执行所述解密运算。
9.根据权利要求8所述的方法,其中恢复所述密钥包括:
运行密钥调度运算。
10.根据权利要求8所述的方法,其中所述位数目为128。
11.一种用于在密码系统中加密数据的系统,所述系统包括:
接口,其可操作以用于接收用于加密的数据块;及
处理器,其耦合到所述接口,所述处理器可操作以用于:
确定数据子块中的位数目,其中数据子块中的所述位数目小于或等于所述数据
块中的位数目;
确定构成所述数据块的多个数据子块;
获得密钥;
对第一数据子块执行加密运算,其中所述加密运算包括:
使用所述密钥加密所述第一数据子块;及
恢复所述密钥;及
使用所述所恢复的密钥对第二数据子块执行所述加密运算。
12.根据权利要求11所述的系统,其中恢复所述密钥包括:
运行逆密钥调度运算。
13.根据权利要求11所述的系统,其中所述位数目为128。
14.一种用于在密码系统中解密数据的系统,所述系统包括:
接口,其可操作以用于接收用于解密的数据块;及
处理器,其操作地耦合到所述接口,所述处理器可操作以用于:
确定数据子块中的位数目,其中数据子块中的所述位数目小于或等于所述数据块中的位数目;
确定构成所述数据块的多个数据子块;
获得密钥调度;
对第一数据子块执行解密运算,其中所述解密运算包括:
使用所述密钥调度解密所述第一数据子块;及
恢复所述密钥调度;及
使用所述所恢复的密钥调度对第二数据子块执行所述解密运算。
15.根据权利要求14所述的系统,其中恢复所述密钥包括:
运行密钥调度运算。
16.根据权利要求14所述的系统,其中所述位数目为128。
CN201080009480.8A 2009-02-27 2010-02-25 密码系统的密钥恢复机制 Active CN102334307B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/395,504 US8233620B2 (en) 2009-02-27 2009-02-27 Key recovery mechanism for cryptographic systems
US12/395,504 2009-02-27
PCT/US2010/025443 WO2010126647A2 (en) 2009-02-27 2010-02-25 Key recovery mechanism for cryptographic systems

Publications (2)

Publication Number Publication Date
CN102334307A true CN102334307A (zh) 2012-01-25
CN102334307B CN102334307B (zh) 2015-04-01

Family

ID=42667096

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080009480.8A Active CN102334307B (zh) 2009-02-27 2010-02-25 密码系统的密钥恢复机制

Country Status (7)

Country Link
US (1) US8233620B2 (zh)
EP (1) EP2401837A2 (zh)
KR (1) KR20110129932A (zh)
CN (1) CN102334307B (zh)
CA (1) CA2751623A1 (zh)
TW (1) TWI469609B (zh)
WO (1) WO2010126647A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106067871A (zh) * 2015-04-23 2016-11-02 恩智浦有限公司 用于确保在网络中传送的数据的安全的方法和系统

Families Citing this family (147)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8584239B2 (en) 2004-04-01 2013-11-12 Fireeye, Inc. Virtual machine with dynamic data flow analysis
US8793787B2 (en) 2004-04-01 2014-07-29 Fireeye, Inc. Detecting malicious network content using virtual environment components
US8881282B1 (en) 2004-04-01 2014-11-04 Fireeye, Inc. Systems and methods for malware attack detection and identification
US9106694B2 (en) 2004-04-01 2015-08-11 Fireeye, Inc. Electronic message analysis for malware detection
US8566946B1 (en) 2006-04-20 2013-10-22 Fireeye, Inc. Malware containment on connection
US8528086B1 (en) 2004-04-01 2013-09-03 Fireeye, Inc. System and method of detecting computer worms
US8898788B1 (en) 2004-04-01 2014-11-25 Fireeye, Inc. Systems and methods for malware attack prevention
US7587537B1 (en) 2007-11-30 2009-09-08 Altera Corporation Serializer-deserializer circuits formed from input-output circuit registers
US8549638B2 (en) 2004-06-14 2013-10-01 Fireeye, Inc. System and method of containing computer worms
US8171553B2 (en) 2004-04-01 2012-05-01 Fireeye, Inc. Heuristic based capture with replay to virtual machine
US8997219B2 (en) 2008-11-03 2015-03-31 Fireeye, Inc. Systems and methods for detecting malicious PDF network content
US8832829B2 (en) 2009-09-30 2014-09-09 Fireeye, Inc. Network-based binary file extraction and analysis for malware detection
WO2012167345A1 (en) 2011-06-06 2012-12-13 Certicom Corp. Squaring binary finite field elements
US20130067212A1 (en) * 2011-09-14 2013-03-14 Augustin J. Farrugia Securing implementation of cryptographic algorithms using additional rounds
IN2014CN04637A (zh) * 2011-12-15 2015-09-18 Inside Secure
CN104012030B (zh) 2011-12-21 2018-04-13 英特尔公司 用于保护对称加密密钥的系统及方法
KR101330664B1 (ko) * 2012-06-15 2013-11-15 한국전자통신연구원 저전력 암호화 장치 및 방법
US10572665B2 (en) 2012-12-28 2020-02-25 Fireeye, Inc. System and method to create a number of breakpoints in a virtual machine via virtual machine trapping events
US8990944B1 (en) 2013-02-23 2015-03-24 Fireeye, Inc. Systems and methods for automatically detecting backdoors
US9009823B1 (en) 2013-02-23 2015-04-14 Fireeye, Inc. Framework for efficient security coverage of mobile software applications installed on mobile devices
US9367681B1 (en) 2013-02-23 2016-06-14 Fireeye, Inc. Framework for efficient security coverage of mobile software applications using symbolic execution to reach regions of interest within an application
US9176843B1 (en) 2013-02-23 2015-11-03 Fireeye, Inc. Framework for efficient security coverage of mobile software applications
US9195829B1 (en) 2013-02-23 2015-11-24 Fireeye, Inc. User interface with real-time visual playback along with synchronous textual analysis log display and event/time index for anomalous behavior detection in applications
US9104867B1 (en) 2013-03-13 2015-08-11 Fireeye, Inc. Malicious content analysis using simulated user interaction without user involvement
US9626509B1 (en) 2013-03-13 2017-04-18 Fireeye, Inc. Malicious content analysis with multi-version application support within single operating environment
US9355247B1 (en) 2013-03-13 2016-05-31 Fireeye, Inc. File extraction from memory dump for malicious content analysis
US9311479B1 (en) 2013-03-14 2016-04-12 Fireeye, Inc. Correlation and consolidation of analytic data for holistic view of a malware attack
US9430646B1 (en) 2013-03-14 2016-08-30 Fireeye, Inc. Distributed systems and methods for automatically detecting unknown bots and botnets
US10713358B2 (en) 2013-03-15 2020-07-14 Fireeye, Inc. System and method to extract and utilize disassembly features to classify software intent
WO2014145805A1 (en) 2013-03-15 2014-09-18 Mandiant, Llc System and method employing structured intelligence to verify and contain threats at endpoints
US9495180B2 (en) 2013-05-10 2016-11-15 Fireeye, Inc. Optimized resource allocation for virtual machines within a malware content detection system
US9635039B1 (en) 2013-05-13 2017-04-25 Fireeye, Inc. Classifying sets of malicious indicators for detecting command and control communications associated with malware
US10133863B2 (en) 2013-06-24 2018-11-20 Fireeye, Inc. Zero-day discovery system
US9300686B2 (en) 2013-06-28 2016-03-29 Fireeye, Inc. System and method for detecting malicious links in electronic messages
US10515214B1 (en) 2013-09-30 2019-12-24 Fireeye, Inc. System and method for classifying malware within content created during analysis of a specimen
US9628507B2 (en) 2013-09-30 2017-04-18 Fireeye, Inc. Advanced persistent threat (APT) detection center
US9171160B2 (en) 2013-09-30 2015-10-27 Fireeye, Inc. Dynamically adaptive framework and method for classifying malware using intelligent static, emulation, and dynamic analyses
US9736179B2 (en) 2013-09-30 2017-08-15 Fireeye, Inc. System, apparatus and method for using malware analysis results to drive adaptive instrumentation of virtual machines to improve exploit detection
US9294501B2 (en) 2013-09-30 2016-03-22 Fireeye, Inc. Fuzzy hash of behavioral results
US9690936B1 (en) 2013-09-30 2017-06-27 Fireeye, Inc. Multistage system and method for analyzing obfuscated content for malware
US9921978B1 (en) 2013-11-08 2018-03-20 Fireeye, Inc. System and method for enhanced security of storage devices
US9189627B1 (en) 2013-11-21 2015-11-17 Fireeye, Inc. System, apparatus and method for conducting on-the-fly decryption of encrypted objects for malware detection
US9747446B1 (en) 2013-12-26 2017-08-29 Fireeye, Inc. System and method for run-time object classification
US9756074B2 (en) 2013-12-26 2017-09-05 Fireeye, Inc. System and method for IPS and VM-based detection of suspicious objects
US9507935B2 (en) 2014-01-16 2016-11-29 Fireeye, Inc. Exploit detection system with threat-aware microvisor
US9262635B2 (en) 2014-02-05 2016-02-16 Fireeye, Inc. Detection efficacy of virtual machine-based analysis with application specific events
US9241010B1 (en) 2014-03-20 2016-01-19 Fireeye, Inc. System and method for network behavior detection
US10242185B1 (en) 2014-03-21 2019-03-26 Fireeye, Inc. Dynamic guest image creation and rollback
US9591015B1 (en) 2014-03-28 2017-03-07 Fireeye, Inc. System and method for offloading packet processing and static analysis operations
US9223972B1 (en) 2014-03-31 2015-12-29 Fireeye, Inc. Dynamically remote tuning of a malware content detection system
US9432389B1 (en) 2014-03-31 2016-08-30 Fireeye, Inc. System, apparatus and method for detecting a malicious attack based on static analysis of a multi-flow object
US9594912B1 (en) 2014-06-06 2017-03-14 Fireeye, Inc. Return-oriented programming detection
US9438623B1 (en) 2014-06-06 2016-09-06 Fireeye, Inc. Computer exploit detection using heap spray pattern matching
US9973531B1 (en) 2014-06-06 2018-05-15 Fireeye, Inc. Shellcode detection
US10084813B2 (en) 2014-06-24 2018-09-25 Fireeye, Inc. Intrusion prevention and remedy system
US9398028B1 (en) 2014-06-26 2016-07-19 Fireeye, Inc. System, device and method for detecting a malicious attack based on communcations between remotely hosted virtual machines and malicious web servers
US10805340B1 (en) 2014-06-26 2020-10-13 Fireeye, Inc. Infection vector and malware tracking with an interactive user display
US10002252B2 (en) 2014-07-01 2018-06-19 Fireeye, Inc. Verification of trusted threat-aware microvisor
US9363280B1 (en) 2014-08-22 2016-06-07 Fireeye, Inc. System and method of detecting delivery of malware using cross-customer data
US10671726B1 (en) 2014-09-22 2020-06-02 Fireeye Inc. System and method for malware analysis using thread-level event monitoring
US10027689B1 (en) 2014-09-29 2018-07-17 Fireeye, Inc. Interactive infection visualization for improved exploit detection and signature generation for malware and malware families
US9773112B1 (en) 2014-09-29 2017-09-26 Fireeye, Inc. Exploit detection of malware and malware families
US9485088B2 (en) * 2014-10-31 2016-11-01 Combined Conditional Access Development And Support, Llc Systems and methods for dynamic data masking
US9690933B1 (en) 2014-12-22 2017-06-27 Fireeye, Inc. Framework for classifying an object as malicious with machine learning for deploying updated predictive models
US10075455B2 (en) 2014-12-26 2018-09-11 Fireeye, Inc. Zero-day rotating guest image profile
US9934376B1 (en) 2014-12-29 2018-04-03 Fireeye, Inc. Malware detection appliance architecture
US9838417B1 (en) 2014-12-30 2017-12-05 Fireeye, Inc. Intelligent context aware user interaction for malware detection
US9690606B1 (en) 2015-03-25 2017-06-27 Fireeye, Inc. Selective system call monitoring
US10148693B2 (en) 2015-03-25 2018-12-04 Fireeye, Inc. Exploit detection system
US9438613B1 (en) 2015-03-30 2016-09-06 Fireeye, Inc. Dynamic content activation for automated analysis of embedded objects
US10417031B2 (en) 2015-03-31 2019-09-17 Fireeye, Inc. Selective virtualization for security threat detection
US10474813B1 (en) 2015-03-31 2019-11-12 Fireeye, Inc. Code injection technique for remediation at an endpoint of a network
US9483644B1 (en) 2015-03-31 2016-11-01 Fireeye, Inc. Methods for detecting file altering malware in VM based analysis
US9654485B1 (en) 2015-04-13 2017-05-16 Fireeye, Inc. Analytics-based security monitoring system and method
US9594904B1 (en) 2015-04-23 2017-03-14 Fireeye, Inc. Detecting malware based on reflection
US11113086B1 (en) 2015-06-30 2021-09-07 Fireeye, Inc. Virtual system and method for securing external network connectivity
US10642753B1 (en) 2015-06-30 2020-05-05 Fireeye, Inc. System and method for protecting a software component running in virtual machine using a virtualization layer
US10454950B1 (en) 2015-06-30 2019-10-22 Fireeye, Inc. Centralized aggregation technique for detecting lateral movement of stealthy cyber-attacks
US10726127B1 (en) 2015-06-30 2020-07-28 Fireeye, Inc. System and method for protecting a software component running in a virtual machine through virtual interrupts by the virtualization layer
US10715542B1 (en) 2015-08-14 2020-07-14 Fireeye, Inc. Mobile application risk analysis
US10176321B2 (en) 2015-09-22 2019-01-08 Fireeye, Inc. Leveraging behavior-based rules for malware family classification
US10204532B2 (en) * 2015-09-25 2019-02-12 Intel Corporation Multiple input cryptographic engine
US10033747B1 (en) 2015-09-29 2018-07-24 Fireeye, Inc. System and method for detecting interpreter-based exploit attacks
US10601865B1 (en) 2015-09-30 2020-03-24 Fireeye, Inc. Detection of credential spearphishing attacks using email analysis
US9825976B1 (en) 2015-09-30 2017-11-21 Fireeye, Inc. Detection and classification of exploit kits
US10817606B1 (en) 2015-09-30 2020-10-27 Fireeye, Inc. Detecting delayed activation malware using a run-time monitoring agent and time-dilation logic
US10210329B1 (en) 2015-09-30 2019-02-19 Fireeye, Inc. Method to detect application execution hijacking using memory protection
US9825989B1 (en) 2015-09-30 2017-11-21 Fireeye, Inc. Cyber attack early warning system
US10706149B1 (en) 2015-09-30 2020-07-07 Fireeye, Inc. Detecting delayed activation malware using a primary controller and plural time controllers
US10284575B2 (en) 2015-11-10 2019-05-07 Fireeye, Inc. Launcher for setting analysis environment variations for malware detection
US10846117B1 (en) 2015-12-10 2020-11-24 Fireeye, Inc. Technique for establishing secure communication between host and guest processes of a virtualization architecture
US10447728B1 (en) 2015-12-10 2019-10-15 Fireeye, Inc. Technique for protecting guest processes using a layered virtualization architecture
US10108446B1 (en) 2015-12-11 2018-10-23 Fireeye, Inc. Late load technique for deploying a virtualization layer underneath a running operating system
US10133866B1 (en) 2015-12-30 2018-11-20 Fireeye, Inc. System and method for triggering analysis of an object for malware in response to modification of that object
US10050998B1 (en) 2015-12-30 2018-08-14 Fireeye, Inc. Malicious message analysis system
US10621338B1 (en) 2015-12-30 2020-04-14 Fireeye, Inc. Method to detect forgery and exploits using last branch recording registers
US10565378B1 (en) 2015-12-30 2020-02-18 Fireeye, Inc. Exploit of privilege detection framework
US9824216B1 (en) 2015-12-31 2017-11-21 Fireeye, Inc. Susceptible environment detection system
US10581874B1 (en) 2015-12-31 2020-03-03 Fireeye, Inc. Malware detection system with contextual analysis
US11552986B1 (en) 2015-12-31 2023-01-10 Fireeye Security Holdings Us Llc Cyber-security framework for application of virtual features
US10671721B1 (en) 2016-03-25 2020-06-02 Fireeye, Inc. Timeout management services
US10601863B1 (en) 2016-03-25 2020-03-24 Fireeye, Inc. System and method for managing sensor enrollment
US10616266B1 (en) 2016-03-25 2020-04-07 Fireeye, Inc. Distributed malware detection system and submission workflow thereof
US10785255B1 (en) 2016-03-25 2020-09-22 Fireeye, Inc. Cluster configuration within a scalable malware detection system
US10826933B1 (en) 2016-03-31 2020-11-03 Fireeye, Inc. Technique for verifying exploit/malware at malware detection appliance through correlation with endpoints
US10893059B1 (en) 2016-03-31 2021-01-12 Fireeye, Inc. Verification and enhancement using detection systems located at the network periphery and endpoint devices
US10169585B1 (en) 2016-06-22 2019-01-01 Fireeye, Inc. System and methods for advanced malware detection through placement of transition events
US10462173B1 (en) 2016-06-30 2019-10-29 Fireeye, Inc. Malware detection verification and enhancement by coordinating endpoint and malware detection systems
US10592678B1 (en) 2016-09-09 2020-03-17 Fireeye, Inc. Secure communications between peers using a verified virtual trusted platform module
US10491627B1 (en) 2016-09-29 2019-11-26 Fireeye, Inc. Advanced malware detection using similarity analysis
US10795991B1 (en) 2016-11-08 2020-10-06 Fireeye, Inc. Enterprise search
US10587647B1 (en) 2016-11-22 2020-03-10 Fireeye, Inc. Technique for malware detection capability comparison of network security devices
US10581879B1 (en) 2016-12-22 2020-03-03 Fireeye, Inc. Enhanced malware detection for generated objects
US10552610B1 (en) 2016-12-22 2020-02-04 Fireeye, Inc. Adaptive virtual machine snapshot update framework for malware behavioral analysis
US10523609B1 (en) 2016-12-27 2019-12-31 Fireeye, Inc. Multi-vector malware detection and analysis
US10904286B1 (en) 2017-03-24 2021-01-26 Fireeye, Inc. Detection of phishing attacks using similarity analysis
US10791138B1 (en) 2017-03-30 2020-09-29 Fireeye, Inc. Subscription-based malware detection
US10798112B2 (en) 2017-03-30 2020-10-06 Fireeye, Inc. Attribute-controlled malware detection
US10848397B1 (en) 2017-03-30 2020-11-24 Fireeye, Inc. System and method for enforcing compliance with subscription requirements for cyber-attack detection service
US10902119B1 (en) 2017-03-30 2021-01-26 Fireeye, Inc. Data extraction system for malware analysis
US10601848B1 (en) 2017-06-29 2020-03-24 Fireeye, Inc. Cyber-security system and method for weak indicator detection and correlation to generate strong indicators
US10503904B1 (en) 2017-06-29 2019-12-10 Fireeye, Inc. Ransomware detection and mitigation
US10855700B1 (en) 2017-06-29 2020-12-01 Fireeye, Inc. Post-intrusion detection of cyber-attacks during lateral movement within networks
US10893068B1 (en) 2017-06-30 2021-01-12 Fireeye, Inc. Ransomware file modification prevention technique
US10747872B1 (en) 2017-09-27 2020-08-18 Fireeye, Inc. System and method for preventing malware evasion
US10805346B2 (en) 2017-10-01 2020-10-13 Fireeye, Inc. Phishing attack detection
US11108809B2 (en) 2017-10-27 2021-08-31 Fireeye, Inc. System and method for analyzing binary code for malware classification using artificial neural network techniques
US11240275B1 (en) 2017-12-28 2022-02-01 Fireeye Security Holdings Us Llc Platform and method for performing cybersecurity analyses employing an intelligence hub with a modular architecture
US11271955B2 (en) 2017-12-28 2022-03-08 Fireeye Security Holdings Us Llc Platform and method for retroactive reclassification employing a cybersecurity-based global data store
US11005860B1 (en) 2017-12-28 2021-05-11 Fireeye, Inc. Method and system for efficient cybersecurity analysis of endpoint events
US10826931B1 (en) 2018-03-29 2020-11-03 Fireeye, Inc. System and method for predicting and mitigating cybersecurity system misconfigurations
US11558401B1 (en) 2018-03-30 2023-01-17 Fireeye Security Holdings Us Llc Multi-vector malware detection data sharing system for improved detection
US11003773B1 (en) 2018-03-30 2021-05-11 Fireeye, Inc. System and method for automatically generating malware detection rule recommendations
US10956477B1 (en) 2018-03-30 2021-03-23 Fireeye, Inc. System and method for detecting malicious scripts through natural language processing modeling
US11314859B1 (en) 2018-06-27 2022-04-26 FireEye Security Holdings, Inc. Cyber-security system and method for detecting escalation of privileges within an access token
US11075930B1 (en) 2018-06-27 2021-07-27 Fireeye, Inc. System and method for detecting repetitive cybersecurity attacks constituting an email campaign
US11228491B1 (en) 2018-06-28 2022-01-18 Fireeye Security Holdings Us Llc System and method for distributed cluster configuration monitoring and management
US11316900B1 (en) 2018-06-29 2022-04-26 FireEye Security Holdings Inc. System and method for automatically prioritizing rules for cyber-threat detection and mitigation
US11182473B1 (en) 2018-09-13 2021-11-23 Fireeye Security Holdings Us Llc System and method for mitigating cyberattacks against processor operability by a guest process
US11763004B1 (en) 2018-09-27 2023-09-19 Fireeye Security Holdings Us Llc System and method for bootkit detection
US11456891B2 (en) 2018-12-20 2022-09-27 Rolls-Royce North American Technologies Inc. Apparatus and methods for authenticating cyber secure control system configurations using distributed ledgers
US11368475B1 (en) 2018-12-21 2022-06-21 Fireeye Security Holdings Us Llc System and method for scanning remote services to locate stored objects with malware
US11258806B1 (en) 2019-06-24 2022-02-22 Mandiant, Inc. System and method for automatically associating cybersecurity intelligence to cyberthreat actors
US11556640B1 (en) 2019-06-27 2023-01-17 Mandiant, Inc. Systems and methods for automated cybersecurity analysis of extracted binary string sets
US11392700B1 (en) 2019-06-28 2022-07-19 Fireeye Security Holdings Us Llc System and method for supporting cross-platform data verification
US11886585B1 (en) 2019-09-27 2024-01-30 Musarubra Us Llc System and method for identifying and mitigating cyberattacks through malicious position-independent code execution
US11637862B1 (en) 2019-09-30 2023-04-25 Mandiant, Inc. System and method for surfacing cyber-security threats with a self-learning recommendation engine

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040208318A1 (en) * 2003-04-18 2004-10-21 Via Technologies Inc. Apparatus and method for providing user-generated key schedule in a microprocessor cryptographic engine
CN1685296A (zh) * 2002-10-09 2005-10-19 索尼株式会社 分组密码方法及分组加密/解密电路
US7257229B1 (en) * 2002-06-07 2007-08-14 Winbond Electronics Corporation Apparatus and method for key scheduling
CN101169814A (zh) * 2006-10-26 2008-04-30 国际商业机器公司 用于管理和自动生成加密密钥的系统和方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH088897A (ja) 1994-06-15 1996-01-12 Nippon Telegr & Teleph Corp <Ntt> データの暗号化・復号処理方法及び暗号装置
US20080192928A1 (en) 2000-01-06 2008-08-14 Super Talent Electronics, Inc. Portable Electronic Storage Devices with Hardware Security Based on Advanced Encryption Standard
KR100525389B1 (ko) 2001-01-17 2005-11-02 엘지전자 주식회사 실시간 입력 스트림의 암호화/복호화 장치
US7280657B2 (en) 2001-06-13 2007-10-09 Itt Manufacturing Enterprises, Inc. Data encryption and decryption system and method using merged ciphers
US7221763B2 (en) 2002-04-24 2007-05-22 Silicon Storage Technology, Inc. High throughput AES architecture
EP1510028A4 (en) * 2002-05-23 2008-01-23 Atmel Corp CRYPTOGRAPHIC MOTOR OF TECHNICAL EQUIPMENT BASED ON ADVANCED ENCRYPTION STANDARD (AES)
US20040047466A1 (en) 2002-09-06 2004-03-11 Joel Feldman Advanced encryption standard hardware accelerator and method
US20080019524A1 (en) 2006-06-29 2008-01-24 Kim Moo S Apparatus and method for low power aes cryptographic circuit for embedded system
JP4905000B2 (ja) 2006-09-01 2012-03-28 ソニー株式会社 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
JP5055993B2 (ja) * 2006-12-11 2012-10-24 ソニー株式会社 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
US7949130B2 (en) 2006-12-28 2011-05-24 Intel Corporation Architecture and instruction set for implementing advanced encryption standard (AES)
US8538015B2 (en) 2007-03-28 2013-09-17 Intel Corporation Flexible architecture and instruction for advanced encryption standard (AES)

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7257229B1 (en) * 2002-06-07 2007-08-14 Winbond Electronics Corporation Apparatus and method for key scheduling
CN1685296A (zh) * 2002-10-09 2005-10-19 索尼株式会社 分组密码方法及分组加密/解密电路
US20040208318A1 (en) * 2003-04-18 2004-10-21 Via Technologies Inc. Apparatus and method for providing user-generated key schedule in a microprocessor cryptographic engine
CN101169814A (zh) * 2006-10-26 2008-04-30 国际商业机器公司 用于管理和自动生成加密密钥的系统和方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106067871A (zh) * 2015-04-23 2016-11-02 恩智浦有限公司 用于确保在网络中传送的数据的安全的方法和系统
CN106067871B (zh) * 2015-04-23 2021-08-13 恩智浦有限公司 用于确保在网络中传送的数据的安全的方法和系统

Also Published As

Publication number Publication date
TW201121279A (en) 2011-06-16
WO2010126647A3 (en) 2010-12-29
CA2751623A1 (en) 2010-11-04
TWI469609B (zh) 2015-01-11
CN102334307B (zh) 2015-04-01
US8233620B2 (en) 2012-07-31
WO2010126647A2 (en) 2010-11-04
US20100220863A1 (en) 2010-09-02
KR20110129932A (ko) 2011-12-02
EP2401837A2 (en) 2012-01-04

Similar Documents

Publication Publication Date Title
CN102334307B (zh) 密码系统的密钥恢复机制
US11563556B2 (en) Architecture and instruction set for implementing advanced encryption standard (AES)
EP0002579B1 (en) A method of creating a secure data file
EP2096787B1 (en) Method and apparatus for optimizing advanced encryption standard (AES) encryption and decryption in parallel modes of operation
TWI411932B (zh) 用於加密/解密儲存裝置中之非揮發性記憶體中之資料之方法及處理資料之方法
EP2852088B1 (en) Flexible Architecture and Instruction for Advanced Encryption Standard (AES)
US4238853A (en) Cryptographic communication security for single domain networks
US20160261406A1 (en) Performing AES Encryption Or Decryption In Multiple Modes With A Single Instruction
CN103299315A (zh) 用于原位加密的系统和方法
JP2008292852A (ja) ディスクアレイ制御装置とディスクアレイ制御方法およびストレージシステム
JP5118494B2 (ja) イン−ストリームデータ暗号化/復号の機能を有するメモリシステム
JP2008524969A5 (zh)
KR20090043592A (ko) 단일 및 다중 aes 동작을 지원하기 위한 듀얼 모드 aes 장치 및 방법
CN110457924A (zh) 存储数据保护方法及装置
CN110034918A (zh) 一种sm4加速方法和装置
JP2023130311A (ja) サイドチャネル攻撃から電子コンピュータを保護する方法及び電子コンピュータ
JP2009537026A (ja) 書き込み障害回復のためのシステムおよび方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: INSIDE SECURE CORPORATION

Free format text: FORMER OWNER: ATMEL ROUSSET SAS

Effective date: 20130118

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20130118

Address after: Provence

Applicant after: Inside Secure

Address before: French ruse

Applicant before: Atmel Rousset S. A. S.

C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: Fa Guomeileyi

Patentee after: Weimei Anshi Co., Ltd

Address before: Fa Guopuluowangsi

Patentee before: Inside Secure

CP03 Change of name, title or address
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200306

Address after: California, USA

Patentee after: Rumbas

Address before: Fa Guomeileyi

Patentee before: Weimei Anshi Co., Ltd