CN1795637B - 用于密钥扩展功能的低速存储器硬件实施的方法和设备 - Google Patents

用于密钥扩展功能的低速存储器硬件实施的方法和设备 Download PDF

Info

Publication number
CN1795637B
CN1795637B CN2004800140637A CN200480014063A CN1795637B CN 1795637 B CN1795637 B CN 1795637B CN 2004800140637 A CN2004800140637 A CN 2004800140637A CN 200480014063 A CN200480014063 A CN 200480014063A CN 1795637 B CN1795637 B CN 1795637B
Authority
CN
China
Prior art keywords
key
expanded keys
value
expanded
keys
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.)
Expired - Fee Related
Application number
CN2004800140637A
Other languages
English (en)
Other versions
CN1795637A (zh
Inventor
B·C·赛克斯顿
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1795637A publication Critical patent/CN1795637A/zh
Application granted granted Critical
Publication of CN1795637B publication Critical patent/CN1795637B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • 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
    • 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
    • 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/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Communication Control (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

本发明公开了用于在诸如AES的算法中的密钥扩展功能期间降低所需存储空间的设备、方法和计算机程序。块循环单元(212)用于把预定数量的字节单元加密/解密成密文/明文。密钥扩展模块(215)对正常(加密)和逆(解密)功能执行密钥扩展,以获得扩展的密钥值。存储扩展密钥值所需的存储器(202)中的存储空间的数量不大于扩展密钥值数量的一半,并且通常需要7个存储空间用于14个密钥,而且相对于密钥值和存储空间的数量相等时的情况,不增加存取时间。密钥扩展与圈密钥处理同步执行,以便对于每个密钥扩展,与相应的密钥扩展功能并行地处理圈密钥。

Description

用于密钥扩展功能的低速存储器硬件实施的方法和设备
技术领域
本发明涉及执行加密的方法和设备。更特别地,本发明涉及高级加密标准(AES)中由密钥扩展算法用于生成一组圈密钥的密码本(Cipher Key)。
背景技术
随着诸如经由互联网交易的智能卡和商务的项目使用的增加,加密和解密数据的需要从未比现在更加重要。事实上,美国政府特别地通过国家标准技术研究所(National Institute of Standards andTechnology,NIST)多年来已选择了加密标准,诸如于1976年选作美国标准的DES(Data Encryption Standards数据加密标准),并且Triple DES(三重DES)随后变成标准。近些年来,NIST一直在评估多种AES算法,以选择将成为美国官方加密标准的新标准(AES)。JoanDaemen和Vincent Rijmen提出了一种已被NIST认可的密码算法,并于2001年11月26日公开,题为Federal Information ProcessingStandards Publication No.197(联邦信息处理标准公布第197号)(以下称之为“FIPS’197”)。FIPS’197中的算法被称为Rijndael算法。
AES使用128、192和256比特的三个系统,以改善现有技术的56比特加密的性能、灵活性和效率,从而提供更容易的方式来实施。
用于AES算法中处理的基本单元是字节。在内部,对称为STATE的二维阵列字节执行AES算法的操作。STATE通常具有4行字节,其每行包含Nb个字节,其中Nb是被32除的块长。
加密把数据转换为称为密文的难以理解的形式。密文的解密把称之为“明文”的数据转换成其原始形式。本领域的通用术语把明文转换为密文的系列变换称为“加密(Cipher)”,而把密文转换到明文的系列变换称为“逆加密(Inverse Cipher)”。在加密和逆加密中,密码本(这是由扩展密钥例程使用的机密密钥)生成在加密和逆加密例程中应用于STATE的一系列值(称为圈密钥)。
AES算法的输入和输出均由128比特(具有0或1值的数字)序列构成。这些序列有时将被称为块,并且将它们含有的比特数量称之为其长度。
图1示出了STATE阵列输入和输出的一个实例。在加密和逆加密开始时,输入阵列的字节(in0-in15)被拷贝到如图1所示的STATE。然后,对这个STATE阵列进行加密或逆加密操作,此后把其最终值拷贝到输出字节out0-out15的阵列。
就图1而言,如NIST的“FIPS 197”所披露的,在加密和逆加解密开始时,输入(这是字节in0-in15的阵列)被拷贝到所示的STATE阵列。然后,对该STATE阵列进行加密或逆加密操作,此后把其最终值复制到输出,这表示为范围从out0-out15的字节阵列。通过在二个元素的多项式中“增加”用于相应幂的系数,实现有限域中二个元素的加法。利用布尔异或(XOR)运算执行加法(“FIPS’197”,NIST,p.10)。
以下示出的是用于相加两个字节的二进制记数法实例:
{01010111}⊕{1000011)={11010100}            式(1.0)
密码本是机密密钥,由密钥扩展算法用于生成一组圈密钥;它可以被描述为具有4行和Nk列的矩形字节阵列(“FIPS’197”,NIST,第6页)。
圈密钥是利用密钥表(key schedule)从密码本中导出的值。密钥表包括两种组分:密钥扩展和圈密钥选择(“Rijndael密码块”,Daemen和Rijmen,第14页)。AES使用利用密码本的算法,并通过执行密钥扩展例程来生成密钥表。
圈密钥在加密和逆加密变换中应用于STATE。圈密钥的长度等于STATE的尺寸,并且利用XOR运算把圈密钥加到STATE上。
这里我们所关心的是:减少支持密钥扩展所需的存储器的尺寸。当前教导提供了硬件实施,其中扩展密码本以支持三种密钥长度:128,192或256比特。计算的数量取决于密钥比特(KeyBit)和块比特。对于128长度密钥,需要10次计算。对于192长度密钥,需要12次计算。对于最大的当前密钥长度(256),需要14次计算。因而,所需要的密钥的最大数量是14。
原始AES软件实施对于最大数量的密钥(14)使用存储器。在硬件中,该存储器需要14×128比特存储单元。在CMOS 18中这个特性的实施使用大约10,000个门。
发明内容
因此,提供降低门尺寸并同时不将最大路径延迟增至任何大范围的方法将是有利的,从而得到比迄今为止公知的更具吸引力的用于高数据速率设计的更小型电路。
本发明提供用于降低处理扩展密钥功能所需的门的数量而又不影响最大路径延迟的方法。本发明的优点是:降低的电路数量减少了尺寸,从而使得用于高数据速率设计的电路更小型和更具吸引力。
根据本发明的一个方面,执行每个密钥扩展,以支持加密和解密。该新结构利用实现与圈密钥处理同步的正常的和逆密钥扩展的电路,并因而允许使用更小的存储区域。在特定的实施例中,对于14个扩展密钥,存储空间降低了一半,即从现有技术的14降低到迄今未知数量的7个存储空间,而存取时间不增加。
附图说明
本发明的上述和其它特征以及优点从下面的结合附图的详细说明中将变得更加清楚,其中:
图1示出了STATE阵列及其输入和输出字节;
图2示出了可以安排根据本发明的设备的一种方式;
图3是提供根据本发明的方法的概述的流程图。
具体实施方式
在以下说明中,为了解释而不是限制的目的,描述了诸如特定结构、接口、技术等的细节,以提供对本发明的彻底理解。然而,本领域熟练技术人员将会明白,离开这些具体细节,也可以在其它实施例中实现本发明。此外,为了清楚起见,公知装置、电路和方法的详细说明予以省略,以免不必要的细节模糊了本发明的描述。
图2示出了可以安排根据本发明设备的一种方法。本领域熟练技术人员将会明白,所示的物理布局用于解释目的,并且例如,密钥扩展模块和密钥表可以合并,并且存储器可以是任何模块的一部分或是一个分离区域。
密钥表单元201具有由密钥扩展模块215扩展的密钥值。这些值可以存储在存储器202中。转换单元208加密/解密用于某个预定数量圈的明文/密文之一,并且在密钥扩展单元提供密钥扩展的同时,块循环(block round)单元212执行圈密钥处理。最好,对于每个相应的密钥,同步密钥扩展功能和圈密钥处理,以便同时(大致并行)执行这些操作。
根据本发明,通过利用更少数量的存储空间实施密钥扩展算法,使用密钥时的定时变成为重要因素。例如,在加密模式期间,必须在处理开始之前计算一个密钥。在利用圈密钥算法正在处理数据的同时,可以并行计算第二密钥。如果仅需要单一加密模式,则单一存储空间将足够了。
由于首先使用密钥14,所以对于解密,任务多少变得更困难。必须根据其它13个密钥来计算密钥14。仍然能够使用与圈密钥处理并行计算密钥的同一想法。如果仔细计划把密钥写入存储器的顺序,则可以仅利用7个存储空间和非常小的附加控制逻辑来支持加密和解密。
还必须相对于圈密钥处理仔细地规划计算密钥的速率。通过同步并行进行密钥计算和圈密钥处理,实现本发明的优点。
256密钥长度需要最大存储器,所以该长度将用来说明新的机制。以下是根据Rijndael(Rijndael-alg-ref.c版本2.0,Barrato和Rijmen)的C代码记数法中给出的传统算法:
    Int rijndaelKeySched(word9k[4][MAXKC],intkeyBits,int blockBits,word8
    W[MAXROUNDS+1][4][MAXABC])}
    /*计算需要的圈密钥
     *计算次数依赖于密钥比特和块比特
     */
int KC,BC,ROUNDS;
int I,j,t,rconpointer=0;
word8tk[4][MAXKC]
switch(keyBits0{
case 128:KC=4;break;
case 192:KC=6;break;
case 256:KC=8;break;
default:return(-1);
 }
 switch(blockBits){
 case 128:BC=4;break;
 case 192:BC=6;break;
 case 256:BC=8;break;
 default:return(-2);
 }
  switch(keyBits>=blockBits?keyBits:blockbits){
  case 128:ROUNDS=10;break;
  case 192:ROUNDS=12;break;
  case 256:ROUNDS=14;break;
  default:return(-3);/*这不可能发生*/
 }
  for(j=0;j<KC;j++)
     for(i=0;i<4;i++)
         tk[i][j]=1[i][j];
     t=0;
     /*把值复制到圈密钥阵列中*/
  for(j=0;(j<KC)&&(t<(ROUNDS+1)*BC);j++,t++)
     for(I=0;i<4;i++)W[t/BC][i][t%BC]=tk[i][j];
  while(t<(ROUNDS+1)*BC){/*没有足够圈密钥材料
被计算*/
  /*计算新值*/
  for(I=0;I<4;i++)
         tk[i][0]^=S[tk[(i+1)%4][KC-1];
  tk[0][0]^=rcon[rconpointer++];
  if(KC!=8)
     for(j=1;j<KC;j++)
         for(i=0;i<4;i++)tk[i][j]^=tk[i][j-1];
  else{
     for(j=1;j<KC/2;j++)
         for(i=0;i<4;i++)tk[i][j]^=tk[i][j-1]
     for(i=0;i<4;i++)tk[i][KC/2]^=S[tk[i][KC/2-1]];
     for(j=KC/2+1;j<KC;j++)
            for(i=0;i<4;i++)tk[i][j]^=tk[i][j-1];
}
/*把值复制到圈密钥阵列中*/
for(j=0;(j<KC)&&(t<ROUNDS+1)*BC);j++,t++)
       for(i=0;I<4;i++)W[t/BC][i][t%BC]=tk[i][j];
}
 return 0;
}
注意,对于硬件实施,必须分配最大存储量用于14个密钥,以实现上述代码(case 256:ROUNDS=14;break;)。
也注意,在圈密钥的处理开始并且不允许并行激活之前,进行这个传统扩展算法。
与上述相反,本发明使用实现与圈密钥处理同步的正常的和逆密钥扩展的电路。
考虑加密(正常)扩展,给出的实例将是密钥长度256,因为它需要最大存储单元。这遵循:其它两种情况(128和192密钥长度)也起作用,因为需要较少的扩展密钥。这在逻辑上还遵循:如果曾使用大于256的密钥长度,则本发明在减少所需存储器方面仍然是有效的。
根据本发明的一个方面,用于并行扩展密钥和使密钥成圈的算法如下:
Expand-Key_Number=14
For k=1 to Expand_Key_Number
{
if(k<8)n=k elsen=k-7
扩展密钥k并存储到位置n
读出位置并进行圈密钥算法,扩展密钥k并存储到位置n+1
   }
为了解密(逆)扩展,必须首先计算所有14个密钥。以递减顺序执行用于第一7个密钥的计算,并且然后丢弃。其后的7个密钥以递升位置顺序进行扩展。在以递减顺序读出最后7个密钥时,以递减顺序再扩展第一7个密钥。一旦从位置1读出密钥8,则扩展密钥7并放在位置1中。然后,以递升位置顺序读出密钥7-1。该算法如下:
    Expand_Key_Number=14
    For k=1 to Expand_Key_Number
    {
     if(k<8)n=8-k else n=k-7
    扩展密钥k并存储到位置n
    }
    For k=Expand_Key_Number to 1
    {
     if(k<8)n=8-k else n=k-7
    读取位置n并进行圈密钥算法,扩展密钥8-n并存储到位置n
}.
最后,图3示出了解释可以执行本发明的一种方式的方法步骤。在步骤305,提供用于密码本的密钥表单元201,所述密钥表单元201提供预定数量的扩展密钥值,并且所述密钥表单元201具有存储器202。
步骤310包括提供与密钥表单元201通信的转换模块208,该转换模块将明文/密文的块转换成第一多个列中预定数量的字节单元。
步骤315包括提供用于处理圈密钥的块循环单元212,用于把预定数量的字节单元加密/解密成密文/明文;和
步骤320包括提供密钥扩展模块215,用于对正常(加密)和逆(解密)功能执行密钥扩展,以获得扩展的密钥值;
其中,在步骤320上扩展密钥值的速率与在步骤315利用块循环单元235的圈密钥处理同步,以便与正被处理的相应圈密钥并行地扩展每个相应密钥值。
因此,存储扩展密钥值所需的存储器202中的存储空间的数量不大于扩展密钥值的数量的一半。
通过检查以两种方式实施的AES提案(NIST,2001年11月26日)所建议的设计;具有14个存储空间的128、192和256密钥长度和具有存储空间一半的第二设计,并相对于圈密钥处理利用仔细的重新计算,本发明显示出:新算法将所需空间降低一半。
本领域熟练技术人员将会明白,具有可以进行的各种修改而不背离本发明的精神或所附权利要求的范围。例如,使用的公用逻辑的比特数量、设备的模块和子模块的布局、转换的数据块的数量、输入和输出模块全都可以根据需要进行修改。由于本发明能够供安全连网处理器、安全键盘装置、磁卡读取装置、智能卡读取装置和无线通信应用诸如802.11装置使用,因此数据的接收或输出都可以被包含在公共电路内,或者经由RF、光纤、微波等进行发射。在这种情况下,除了各种类型传输的协议转换之外,还包括传送和接收能力。此外,尽管实例显示8字节(128比特),但是可以根据需要增加或减少这个量,和/或在AES协议中进行改变。还应当注意,诸如“明文”和“密文”的术语是本技术领域的术语,并且加密/解密可以包含图画、照片、插图、简图,包括话音、视频和/或多媒体数据。
例如,密钥扩展模块为了说明目的而被显示为与密钥表分离的分离单元,并且密钥表中所示的存储器可以是公共存储器,或者被安排和/或把所有组成部件可以被安排在公共电路卡上。尽管128、192和256长度密钥块被用于示例,但是可以使用任何长度密钥块,较大或者较小的密钥块,而不背离本发明的精神和所附权利要求的范围。

Claims (16)

1.一种用于加密/解密的设备(200),包括:
用于密码本的密钥表单元(201),所述密钥表单元(201)提供预定数量的扩展密钥值,所述密钥表单元(201)具有存储器(202);
与密钥表单元(201)通信的转换模块(208),所述转换模块把明文/密文的块转换成第一多个列中预定数量的字节单元;
块循环单元(212),用于把预定数量的字节单元加密/解密成密文/明文;和
密钥扩展模块(215),用于对加密和解密功能执行密钥扩展,以获得扩展的密钥值;
其中扩展密钥值的速率与块循环单元(212)进行的圈密钥处理同步;
其中存储扩展密钥值所需的存储器(202)中的存储空间的数量不大于扩展密钥值数量的一半。
2.根据权利要求1所述的设备,其中扩展密钥值的预定数量等于14,并且存储空间的数量等于7,而且相对于相等数量的扩展密钥值和存储空间的数量,存取时间不增加。
3.根据权利要求1所述的设备,其中扩展密钥值的预定数量等于12,以及存储空间的数量等于6。
4.根据权利要求1所述的设备,其中扩展密钥值的预定数量等于10,并且存储空间的数量等于5。
5.根据权利要求2所述的设备,其中密码本的密钥长度是256比特。
6.根据权利要求3所述的设备,其中密码本的密钥长度是192比特。
7.根据权利要求4所述的设备,其中密码本的密钥长度是128比特。
8.根据权利要求1所述的设备,其中密码本的密钥长度大于256比特。
9.根据权利要求1所述的设备,其中密钥扩展模块包括用于扩展14个密钥的装置,以使得在加密期间顺序地扩展密钥1-7,在顺序扩展另一密钥 之前,每个扩展密钥值用于并行处理圈密钥算法。
10.根据权利要求1所述的设备,其中密钥扩展模块包括用于扩展14个密钥的装置,以使得在解密期间,在存储空间中以递减位置顺序扩展密钥14-8,随后以递升位置顺序扩展密钥1-7,接着以递减位置顺序再扩展密钥14-8。
11.根据权利要求10所述的设备,其中存储器(202)包括不多于7的存储空间用于存储密钥值,并且一旦从位置1读出密钥8,就扩展密钥7并将其放置在适当位置,其中以递升位置顺序读出密钥7-1,并与每个密钥扩展并行地执行圈密钥算法。
12.一种用于在密钥扩展功能期间降低存储器需求的方法,所述方法包括以下步骤:
(a)提供用于密码本的密钥表单元(201),所述密钥表单元(201)提供预定数量的扩展密钥值,并且所述密钥表单元(201)具有存储器(202);
(b)提供与密钥表单元(201)通信的转换模块(208),所述转换模块把明文/密文的块转换成第一多个列中预定数量的字节单元;
(c)提供块循环单元(212),用于处理圈密钥,以便把预定数量的字节单元,加密/解密成密文/明文;和
(d)提供密钥扩展模块(215),用于对加密和解密功能执行密钥扩展,以获得扩展的密钥值;
其中在步骤(d)中扩展密钥值的速率与在步骤(c)中由块循环单元(235)进行的圈密钥处理同步,以便与正被处理的相应圈密钥并行地扩展每个相应密钥值,和
其中存储扩展密钥值所需的存储器(202)中的存储空间的数量不大于扩展密钥值数量的一半。
13.根据权利要求12所述的方法,其中所述存储器(202)中的存储空间的数量等于7,并且扩展密钥值的预定数量等于14,而且相对于相等数量的扩展密钥值和存储空间的数量,存取时间不增加。 
14.根据权利要求12所述的方法,其中在步骤(d)中提供的密钥扩展模块扩展14个密钥,以使得在加密期间顺序扩展密钥1-7,在顺序扩展另一密钥之前,每个扩展密钥值用于并行处理圈密钥算法。
15.根据权利要求12所述的方法,其中在步骤(d)中提供的密钥扩展模块扩展14个密钥,以使得在解密期间,在存储空间中以递减位置顺序扩展密钥14-8,随后以递升位置顺序扩展密钥1-7,接着以递减位置顺序再扩展密钥14-8。
16.根据权利要求12所述的方法,其中在步骤(a)中提供的存储器(202)包括不多于7的存储空间用于存储密钥值,并且一旦从位置1读出密钥8,就扩展密钥7并将其放置在适当位置,其中以递升位置顺序读出密钥7-1,并与每个密钥扩展并行地执行圈密钥算法。 
CN2004800140637A 2003-05-23 2004-05-19 用于密钥扩展功能的低速存储器硬件实施的方法和设备 Expired - Fee Related CN1795637B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US47320903P 2003-05-23 2003-05-23
US60/473,209 2003-05-23
PCT/IB2004/001690 WO2004105306A1 (en) 2003-05-23 2004-05-19 Method and apparatus for a low memory hardware implementation of the key expansion function

Publications (2)

Publication Number Publication Date
CN1795637A CN1795637A (zh) 2006-06-28
CN1795637B true CN1795637B (zh) 2011-06-01

Family

ID=33476990

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2004800140637A Expired - Fee Related CN1795637B (zh) 2003-05-23 2004-05-19 用于密钥扩展功能的低速存储器硬件实施的方法和设备

Country Status (7)

Country Link
EP (1) EP1629626B1 (zh)
JP (1) JP2007500376A (zh)
KR (1) KR20060014420A (zh)
CN (1) CN1795637B (zh)
AT (1) ATE387773T1 (zh)
DE (1) DE602004012096T2 (zh)
WO (1) WO2004105306A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050087271A (ko) * 2004-02-26 2005-08-31 삼성전자주식회사 가변 키 길이를 가지는 초기 라운드 키에 대응하는 암호라운드 키와 복호 라운드 키를 선택적으로 발생하는 키스케쥴 장치
JP4939305B2 (ja) * 2007-05-25 2012-05-23 ルネサスエレクトロニクス株式会社 暗号/復号装置
KR100949538B1 (ko) 2008-09-09 2010-03-25 한국전자통신연구원 Aes 라인달 알고리즘을 이용하는 암호화 및 복호화 장치와 그 방법
CN101478392B (zh) * 2009-01-19 2010-12-08 山东大学 利用vlsi实现128位密钥长度aes算法的装置
KR101315683B1 (ko) * 2012-03-12 2013-12-13 이니텍(주) 데이터 사이즈 및 형태 변경이 없는 암호화 인코딩 및 복호화 인코딩 방법
US11838402B2 (en) 2019-03-13 2023-12-05 The Research Foundation For The State University Of New York Ultra low power core for lightweight encryption

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1348646A (zh) * 1999-04-26 2002-05-08 艾利森电话股份有限公司 用于有效密钥长度控制的方法和设备
EP1246389A1 (en) * 2001-03-27 2002-10-02 Amphion Semiconductor Limited Apparatus for selectably encrypting or decrypting data
EP1292066A1 (en) * 2001-09-08 2003-03-12 Amphion Semiconductor Limited An apparatus for generating encryption or decryption keys

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100525389B1 (ko) * 2001-01-17 2005-11-02 엘지전자 주식회사 실시간 입력 스트림의 암호화/복호화 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1348646A (zh) * 1999-04-26 2002-05-08 艾利森电话股份有限公司 用于有效密钥长度控制的方法和设备
EP1246389A1 (en) * 2001-03-27 2002-10-02 Amphion Semiconductor Limited Apparatus for selectably encrypting or decrypting data
EP1292066A1 (en) * 2001-09-08 2003-03-12 Amphion Semiconductor Limited An apparatus for generating encryption or decryption keys

Also Published As

Publication number Publication date
DE602004012096D1 (de) 2008-04-10
EP1629626B1 (en) 2008-02-27
JP2007500376A (ja) 2007-01-11
KR20060014420A (ko) 2006-02-15
DE602004012096T2 (de) 2009-03-26
EP1629626A1 (en) 2006-03-01
WO2004105306A1 (en) 2004-12-02
ATE387773T1 (de) 2008-03-15
CN1795637A (zh) 2006-06-28

Similar Documents

Publication Publication Date Title
CA2449672C (en) Block encryption device using auxiliary conversion
EP1271839B1 (en) AES Encryption circuit
USRE44594E1 (en) Method and circuit for data encryption/decryption
US8301905B2 (en) System and method for encrypting data
CN1795637B (zh) 用于密钥扩展功能的低速存储器硬件实施的方法和设备
KR20060012002A (ko) 암호화/암호 해독 방법, 데이터 암호화/암호 해독 장치,변환 모듈 및 컴퓨터 프로그램 제품
KR20050092698A (ko) 라인달 블록 암호의 서브바이트 함수를 실행하는 장치 및방법과 데이터 암호화 및 해독 장치
WO2023192772A2 (en) A reconfigurable architecture for improvement and optimization of advanced encryption standard
KR20040045517A (ko) Rijndael암호를 이용한 블록 데이터 실시간암호복호화 장치 및 방법
JP2005529365A (ja) Aesミックスカラム変換

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: NXP CO., LTD.

Free format text: FORMER OWNER: KONINKLIJKE PHILIPS ELECTRONICS N.V.

Effective date: 20070810

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

Effective date of registration: 20070810

Address after: Holland Ian Deho Finn

Applicant after: Koninkl Philips Electronics NV

Address before: Holland Ian Deho Finn

Applicant before: Koninklijke Philips Electronics N.V.

C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110601

Termination date: 20130519