JP2010501895A - 単一および多重aes動作をサポートする二重モードaesインプリメンテーション - Google Patents

単一および多重aes動作をサポートする二重モードaesインプリメンテーション Download PDF

Info

Publication number
JP2010501895A
JP2010501895A JP2009525568A JP2009525568A JP2010501895A JP 2010501895 A JP2010501895 A JP 2010501895A JP 2009525568 A JP2009525568 A JP 2009525568A JP 2009525568 A JP2009525568 A JP 2009525568A JP 2010501895 A JP2010501895 A JP 2010501895A
Authority
JP
Japan
Prior art keywords
mode
data
memory
aes
encryption
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
JP2009525568A
Other languages
English (en)
Other versions
JP4960456B2 (ja
JP2010501895A5 (ja
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.)
LSI Corp
Original Assignee
LSI Logic Corp
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 LSI Logic Corp filed Critical LSI Logic Corp
Publication of JP2010501895A publication Critical patent/JP2010501895A/ja
Publication of JP2010501895A5 publication Critical patent/JP2010501895A5/ja
Application granted granted Critical
Publication of JP4960456B2 publication Critical patent/JP4960456B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • 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
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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

Abstract

モード回路および暗号化回路を含む装置。モード回路は、第1のモードにある場合には、レジスタ入力データを出力信号によって選択的に提供し、第2のモードにある場合には、メモリデータを出力信号によって選択的に提供するように構成してもよい。暗号化回路は、レジスタ入力データとメモリデータとの間で交換可能に暗号化/復号化するように構成してもよい。

Description

本発明は、一般に暗号化方式に関し、詳細には単一および多重AES動作をサポートする二重モード高度暗号化標準(AES)インプリメンテーションに関する。
AESは、いくつかの暗号化方式で用いられている人気のある暗号化標準である。AESは、一度に128ビットで動作する。128ビットより大きなデータサイズで動作するいくつかのAESベース暗号化方式が開発された。AESベース暗号化方式は、コアAES動作を実行する一方で、128ビットに基づいて動作するAESコアユニットを効果的に使用できるインタフェースを提供することができない。
かかる問題に対する1つの解決法は、AESコアユニットの回りにダイレクトメモリアクセス(DMA)インタフェースを実装することである。かかるDMAインタフェースは、ホストプロセッサによってプログラムされる。DMAインタフェースは、(i)同期ダイナミックランダムアクセスメモリ(SDRAM)からデータを取り出し、(ii)このデータをAESコアユニットに提供し、(iii)暗号化/復号化されたデータをSDRAMに格納することができる。かかるインタフェースを用いれば、128ビットよりはるかに大きいデータブロックでAES動作を実行することができる。
DMAインタフェースの主な不都合は、DMAインタフェースの動作をセットアップすることに関連するオーバヘッドである。設計者は、(i)入力および出力データのアドレス、ならびに(ii)セクタ数をプログラムしなければならない。セクタサイズ/数が大きい場合には、オーバヘッドは最小である。しかしながら、128ビットまたは256ビットの暗号化/復号化が必要とされるAESアプリケーションの場合には、オーバヘッドは、実際の動作と比較して大きくなる可能性がある。
従来のアプローチに関する別の不都合は、新しいAESベース暗号化方式が、常に開発されていることである。これらの方式のいくつかは、DMAインタフェースが自動的に入力データを処理するので、DMAインタフェースモードによってサポートされ得ない癖を含む可能性がある。かかるアプローチに対する代替が、マイクロコントローラを用い、ソフトウェアで暗号化方式全体を実行することである。マイクロコントローラの使用によって、暗号化/復号化プロセスが遅くなる可能性がある。
単一および多重AES動作をサポートする二重モードAESインプリメンテーション用の方法および/または装置を提供することが望ましいであろう。
本発明は、モード回路および暗号化回路を含む装置に関する。モード回路は、第1のモードにある場合には、レジスタ入力データを出力信号によって選択的に提供し、第2のモードにある場合には、メモリデータを出力信号によって選択的に提供するように構成してもよい。暗号化回路は、レジスタ入力データとメモリデータとの間で交換可能に暗号化/復号化するように構成してもよい。
本発明の目的、特徴および利点には、単一および多重AES動作をサポートする二重モードAESインプリメンテーション用の方法および/または装置を提供することが含まれるが、この方法および/または装置は、(i)少量のデータを必要としてもよく、(ii)レジスタインタフェースを用いて、より小さなオーバヘッドで実行可能で、(iii)暗号化/復号化されたデータが漏洩されるのを防ぐことができ、(iv)一度に一ブロックが実行される、DMAモードによってサポートされないAESベース暗号化方式を可能にする。
本発明の、これらおよび他の目的、特徴および利点は、下記の詳細な説明ならびに添付の特許請求の範囲および図面から明らかになろう。
本発明の好適な実施形態の図である。 本発明の好適な実施形態の詳細図である。 AESコマンドを連鎖する例を示す図である。 本発明の代替実施例の図である。
図1を参照すると、本発明の好適な実施形態に従って、システム100のブロック図が示されている。システム100には、一般に、ブロック(または回路)102、ブロック(または回路)104、ブロック(または回路)106およびブロック(または回路)108が含まれる。回路102は、ホストプロセッサとして実装してもよい。回路104は、モード回路として実装してもよい。回路106は、AES回路として実装してもよい。回路108は、メモリとして実装してもよい。一例において、メモリ108は、SDRAMとして実装してもよい。ホストプロセッサ102は、信号(例えばAES_DATA)を供給可能な出力部110、および信号(例えばDMA_CONTROL)を供給可能な出力部114を有してもよい。モード回路104は、信号AES_DATAを受信可能な入力部112、信号DMA_CONTROLを受信可能な入力部116、信号(例えばAES_OUTPUT)を受信可能な入力部124、および信号(例えばDATA)を受信/供給可能な入力/出力部126を有してもよい。モード回路104は、信号(例えばOUTPUT)を供給可能な出力部118を有してもよい。AES回路106は、信号OUTPUTを受信可能な入力部120を有してもよい。AES回路106は、信号AES_OUTPUTを供給可能な出力部122を有してもよい。メモリ108は、信号DATAを供給/受信可能な入力/出力部128を有してもよい。
モード回路104は、システムが第1のモード(またはレジスタモード)にある場合には、レジスタ入力データを信号OUTPUTによって提供してもよい。モード回路104は、システムが第2のモード(またはDMAモード)にある場合には、メモリデータを信号OUTPUTによって提供してもよい。AES回路106は、AES暗号化/復号化方式に従って、レジスタ入力データとメモリデータとの間で交換可能に暗号化/復号化してもよい。レジスタモードにおいて入力レジスタデータを提供し、DMAモードにおいてメモリデータを提供することによって、AES回路122により実行されるデータ暗号化/復号化は、従来のシステムほどオーバヘッドを用いなくてもよい。ホストプロセッサ102は、AES暗号化/復号化動作を実行するために用いられるAES鍵を生成してもよい。ホストプロセッサ102は、信号AES_DATAを通じてAES鍵を提供してもよい。AES鍵は、一般に、システム100がレジスタモードかまたはDMAモードにある場合に、AES暗号化/復号化を実行するために必要とされる。AES鍵は、データストリームの一部として、非対称鍵の公開鍵−秘密鍵ペアの秘密鍵として擬似乱数発生器によって生成するか、または別の適切な機構を用いて生成してもよい。
図2を参照すると、システム100の一層詳細な図が示されている。モード回路104には、一般に、ブロック(または回路)140、ブロック(または回路)142、ブロック(または回路)144およびブロック(または回路)146が含まれる。回路140は、1つまたは複数のAES入力データレジスタとして実装してもよい。回路142は、DMAインタフェース回路として実装してもよい。回路144は、マルチプレクサとして実装してもよい。回路146は、DMAエンジン回路として実装してもよい。DMAエンジン146は、1つまたは複数のFIFO回路として実装してもよい。AES入力データレジスタ140は、信号(例えばRID)を供給可能な出力部162を有してもよい。DMAインタフェース回路142は、信号DMA controlを供給可能な出力部166を有してもよい。マルチプレクサ144は、信号RIDを受信可能な入力部164、および信号(例えばMD)を受信可能な入力部172を有してもよい。DMAエンジン146は、信号DMA_CONTROLを受信可能な入力部168、および信号MDを供給可能な出力部170を有してもよい。AES回路106には、一般に、ブロック(または回路)148およびブロック(または回路)150が含まれる。回路148は、AESコア回路として実装してもよい。回路150は、1つまたは複数のAES出力レジスタとして実装してもよい。
DMAモードにおいて、ホストプロセッサ102は、(i)(DMAインタフェース142を介して)DMAエンジン146を制御し、SDRAM108から信号DATAを通じてデータ(またはメモリデータ)を取り出し、(ii)信号MDを通じてマルチプレクサ144にメモリデータを提供してもよい。マルチプレクサ144は、メモリデータをAESコア148に提供してもよい。AESコア148は、(i)メモリデータを暗号化/復号化し、(ii)暗号化/復号化されたメモリデータを、信号AES_OUTを通じてDMAエンジン146に提供してもよい。DMAエンジン146は、暗号化/復号化されたデータを、信号DATAを通じてメモリ108に逆に提供してもよい。DMAインタフェース142回路は、ホストプロセッサ102と連携して、(i)DMAエンジン146とメモリ108との間でDMA転送動作を開始し、(ii)DMAエンジン146とメモリ108との間で、関連パラメータ(例えば、メモリアドレス、DMA転送のサイズ、およびDMA転送の方向(メモリ108から読み出されるかまたはそこに書き込まれるメモリデータの方向)を含む)を送信してもよい。DMAエンジン146は、メモリ108とインタフェースし、実際のメモリトランザクションを実行してもよい。
DMAモードにおいて、システム100は、メモリデータのパケット化および非パケット化ブロックの両方を扱ってもよい。メモリデータのパケット化ブロックには、ヘッダセクションおよびペイロードセクションが含まれる。データのパケット化入力ブロックに関して、ペイロードセクションは、AES暗号化/復号化動作を介して処理してもよい。ヘッダセクションは、AES暗号化/復号化動作中に変更のないままであってもよい。AES動作を実行している間に、システム100は、ヘッダおよびペイロードセクションをその場で識別し、ペイロードセクションだけを処理してもよい。
レジスタモードにおいて、ホストプロセッサ102は、レジスタ入力データを、信号AES_DATAを介してAES入力データレジスタ140にプログラムしてもよい。AES入力データレジスタ140は、レジスタ入力データを、信号RIDを通じてマルチプレクサ144に提供してもよい。マルチプレクサ144は、レジスタ入力データを、信号OUTPUTを通じてAESコアユニット148に提供してもよい。AES制御レジスタ(図示せず)は、マルチプレクサ144によって用いられ、DMAモードとレジスタモードとの間の切り替えを実行してもよい。AES暗号化/復号化用のデータが、AES入力データレジスタ140において利用可能な場合には、AES制御レジスタにおけるモードビットは、1に設定してもよい。AES制御レジスタにデータがない場合には、AES制御レジスタにおけるモードビットは、ゼロに設定してもよい(例えば、かかる場合には、データは、DMAエンジン146において利用可能であり得る)。モードビットの値に基づいて、マルチプレクサ144は、AES入力データレジスタ140から(例えば、モードビットは1に設定される)かまたはDMAエンジン170から(例えば、モードビットはゼロに設定される)データを選択してもよい。AESコアユニット148、(i)レジスタ入力データを暗号化/復号化し、(ii)暗号化/復号化されたレジスタ入力データをAES出力レジスタ150に格納してもよい。AESコアユニット148は、レジスタモードを用いて、暗号化および復号化動作間で、必要に応じて、任意の連鎖を実行してもよい。
一般に、連鎖は、AESブロックからの入力または出力を、次のAESブロックへの入力または鍵のいずれかとして用いてもよい。一例において、暗号ブロック連鎖(CBC)に関して、一AESブロックからの入力(例えばAES復号化)または出力(例えばAES暗号化)は、次のAESブロック(例えばAESハッシュ)への入力として用いてもよいが、この場合に、一AESブロックからの出力は、次のAESブロックへの鍵として用いてもよい。
連鎖は、レジスタモードおよびDMAモードの両方において実行してもよい。DMAモードおよびレジスタモードの両方に対して、同じAES動作を実行してもよい。AES暗号化/復号化は、1つの16バイトAESブロックから次の16バイトAESブロックへ実行してもよい。また、暗号モードは、ブロックからブロックへ同じままであってもよい。レジスタモードが、AESコマンドごとに16バイトデータブロックに対して動作するので、AES動作は、ある16バイトブロックから別のブロックに変わってもよい。したがって、異なるAES動作および暗号モードが、レジスタモードにおいて連鎖されてもよい。
図3を参照すると、多くのAESコマンドを連鎖する例を示す図が示されている。ペイロードに対して暗号化/復号化を実行する鍵を生成するために、3つのAES動作が必要とされる可能性がある。
第1のコマンド(またはAES cmd1)において、デバイス鍵および固有IDを用いてルート鍵を生成してもよい。AES鍵レジスタは、デバイス鍵に設定してもよい。AES入力レジスタデータは、固有IDに設定してもよい。AES動作は、暗号化を実行するように設定してもよい。AESモードは、AESハッシュに設定してもよい。
第2のコマンド(またはAES cmd2)では、ルート鍵(例えば、第1のコマンドによって生成されるような)を用いて、固有鍵を生成してもよい。AES入力レジスタデータは、暗号化された固有鍵に設定してもよい。使用内部鍵(Use Internal Key)は、1に設定してもよい。AES動作は、復号化を実行するように設定してもよい。AESモードは、電子コードブック(ECB)モードに設定してもよい。
第3のコマンド(またはAES cmd3)では、固有鍵(例えば、第2のコマンドによって生成されるような)を用いて、ペイロード鍵を生成してもよい。AES入力レジスタデータは、暗号化されたペイロード鍵に設定してもよい。使用内部鍵は、1に設定してもよい。入力モードは、レジスタモードに設定してもよい。AES動作は、復号化を実行するように設定してもよい。AESモードは、ECBモードに設定してもよい。
各コマンド(例えば、第1のコマンド、第2のコマンドおよび第3のコマンド)は、独立したAES動作を示してもよい。各コマンドは、暗号化および復号化の両方を実行する一方で、異なるデータブロックに対して動作してもよい。第1のコマンドのAES出力は、第2のAES動作用の鍵として用いてもよい。第2のコマンドのAES出力は、第3のAES動作用の鍵として用いてもよい。ひとたびペイロード鍵が生成されると、ペイロードデータに対するAES動作は、DMAモードで実行してもよい。かかる動作は、第4のコマンド(例えば、AES cmd4)に示してもよい。第4のコマンドにおいて、使用内部鍵は、1に設定してもよい。入力モードは、DMAモードに設定してもよい。AES動作は、復号化を実行するように設定してもよい。AESモードは、CBCモードに設定してもよい。図3に示す連鎖例において、前のコマンドにおいて生成された鍵は、ホストプロセッサによって鍵レジスタを明示的に設定することなく、続くコマンドで直接用いてもよい。DMAモードにおいて用いられる大きなAESブロックは、(i)多数の16バイトブロックに分割し、(ii)性能が低減されたレジスタモードにある間に、暗号化/復号化してもよい。
本発明により、DMAまたはレジスタモードは、AES暗号化/復号化方式によってサポートすることが可能になる。DMAモードおよびレジスタモードは、AESコアユニット148によってサポートしてもよい。DMAモードおよびレジスタモードをサポートすることにより、AESコアユニット148は、より少ないオーバヘッドを用いて、データを暗号化/復号化することが可能になる。128ビット(例えば、AESデータブロックサイズ)より小さいかまたは等しいブロックサイズに対してAES暗号化/復号化動作を実行する場合には、入力データレジスタ140においてデータを処理することは、メモリ108においてデータを処理するより高速になり得る。レジスタモード140においてAES暗号化/復号化を実行することがより高速なのは、DMA転送動作を実行する際の関連オーバヘッドが、単に、必要なデータでAES入力データレジスタ162を設定するオーバヘッドよりはるかに大きいからである。DMAモードでDMA転送を実行している間に、オーバヘッドは、DMA転送セットアップ(例えば、DMA要求を開始すること、および/またはDMA転送パラメータをメモリコントローラ(図示せず)に送信すること)ならびに実際のDMA転送待ち時間のために、増加する可能性がある。
次の例は、レジスタモードおよびDMAモードにおいて128ビットのデータブロックをロードすることに関連するオーバヘッドを示す。
レジスタモードにおいて、各AES入力データレジスタ140は、32ビット幅であり、32ビットレジスタを設定するために4つのホストプロセッサクロックサイクルを必要とする可能性がある。128ビットのデータをロードするために、レジスタモードは、合計4つのレジスタを必要とし、合計16のホストプロセッサクロックサイクルを用いる可能性がある。
DMAモードにおいて、DMA転送セットアップタイムは、入力ブロックのメモリアドレスおよびサイズを設定するために8つのホストプロセッサクロックサイクルを必要とする可能性がある。(i)DMA要求を開始し、(ii)DMA転送のためのアクノリッジメントをメモリコントローラから取得し、(iii)DMA転送パラメータをメモリコントローラに送信する間に、平均で16のホストプロセッサクロックサイクルが用いられる可能性がある。さらに、DMA転送待ち時間を実現するために、実際の転送は、2−4クロックサイクルの間を取る可能性がある。一般に、実際のDMA転送用にメモリを設定するためにメモリコントローラが必要とし得るサイクル数は、16クロックサイクルになる可能性がある。全体として、DMAモードは、128ビットまたは16バイトの入力メモリデータを転送するために、(最良の筋書きの下で)32から40サイクルまでのいずれかを必要とする可能性がある。
入力レジスタデータのサイズが増加するにつれて、レジスタモードは、それほど効率的ではなくなる可能性がある。新しい128ビットブロック用にAES入力データレジスタ140を設定することに加えて、システム100は、前のデータブロックに対するAES動作が完了したかどうかを判定する必要があり得る。かかる判定はまた、レジスタモード用のオーバヘッドを増加する可能性がある。例えば、4つの128ビットブロックに対して、DMAモードは、約32−40のホストプロセッサクロックサイクルを必要とする可能性がある。レジスタモードは、80サイクル(例えば、4*4*4+16(ポーリングオーバヘッド))(最良の場合)が必要となる可能性がある。システム100は、レジスタモードにある場合には、入力レジスタデータの最適なサイズを維持して、最小のオーバヘッドを保証してもよい。
一般に、システム100がレジスタモードにある場合には、暗号化/復号化されたデータは、メモリ108に格納しなくてもよい。暗号化/復号化されたデータはメモリ108に格納しなくてもよいので、暗号化/復号化されたデータは、メモリ108(例えばSDRAMピン)への問い合わせによって情報を漏洩される可能性がない。かかるアクセス方式において、アプリケーションは、AES出力レジスタ150に直接アクセスし、必要に応じて暗号化/復号化されたデータを用いてもよい。かかるアクセス方式によって、メモリ108とインタフェースするピンの問い合わせを防ぐことが可能になる。システム100は、必要に応じて、暗号化/復号化されたデータをメモリ108に格納できるように適合させてもよい。例えば、必要ならば、アプリケーションは、AES出力レジスタ150からの復号化されたデータをメモリ108に格納してもよい。
図4を参照すると、本発明の別の実施形態に従って、システム100'が示されている。システム100'は、レジスタモードのシステム100と同様に動作可能である。システム100'は、DMAモードに切り替わる必要がなく、レジスタモードだけで動作してもよい。ホストプロセッサ102'は、AES暗号化/復号化動作を実行するために用いられるAES鍵を生成してもよい。多くのAES入力データレジスタ140'が、レジスタ入力データをAESコアユニット148'に提供してもよい。AESコアユニット148'は、復号化されたデータを、信号AES_OUTPUTを通じて提供してもよい。多くのAES出力レジスタ150'が、復号化されたデータをAES出力レジスタ150'に格納してもよい。AES出力レジスタ150'に格納された、復号化されたデータは、ソフトウェアによって読み出してもよい。ソフトウェアは、出力(例えば、復号化されたデータ)をメモリ(図示せず)に格納してもよい。
レジスタモードによってのみサポートされるAESベース暗号化方式は、やはり、レジスタモードにある間に一度に一ブロック、実行してもよい。システム100'がレジスタモードで動作する場合には、レジスタモードとDMAモードとの間の二重モードでシステムを動作させることよりも多くのオーバヘッドが示される可能性がある。しかしながら、オーバヘッドは、ソフトウェアで、またはもっぱらDMAモードで全動作を実行するより少なくなり得る。
システム100で実行されようとシステム100'で実行されようと、レジスタモードは、ルート鍵からの、続くAES暗号化/復号化動作用の鍵生成または鍵抽出に適している可能性がある。ほとんどのマルチメディアコンテンツは、ペイロードを暗号化/復号化するための鍵を生成するために、いくつかの段階を用いる可能性がある。段階は、別個であってもよく、入力ブロックサイズは、128ビット未満であってもよい。システム100は、鍵をユーザに見えるようにすることなく、大きなデータに対して、続くAES暗号化/復号化のために鍵を生成することに備えてもよい。
本発明の好適な実施形態に関連して本発明を詳細に図示し説明してきたが、本発明の範囲から逸脱せずに、形態および詳細における様々な変更を行い得ることが、当業者には理解されよう。

Claims (20)

  1. 第1のモードにある場合には、レジスタ入力データを出力信号によって選択的に提供し、第2のモードにある場合には、メモリデータを前記出力信号によって選択的に提供するように構成されたモード回路と、
    前記レジスタ入力データと前記メモリデータとの間で交換可能に暗号化/復号化するように構成された暗号化回路と、
    を含む装置。
  2. (i)前記第1のモードにある場合には、前記レジスタ入力データを暗号化データ信号によって提供し、(ii)前記第2のモードにある場合にはメモリ制御信号を提供するように構成されたホストプロセッサをさらに含む、請求項1に記載の装置。
  3. 前記モード回路に結合され、前記第2のモードにある場合には、暗号化/復号化されたデータを記憶するように構成されたメモリをさらに含む、請求項1に記載の装置。
  4. 前記モード回路が、前記レジスタ入力データを記憶するように構成された1つまたは複数の入力データレジスタを含む、請求項1に記載の装置。
  5. 前記モード回路が、
    メモリ制御信号に応じて前記メモリデータを提供するように構成されたメモリエンジンをさらに含む、請求項4に記載の装置。
  6. 前記モード回路が、
    (i)前記第1のモードにある場合には、前記1つまたは複数の入力データレジスタから前記レジスタ入力データを提供し、(ii)前記第2のモードにある場合には、前記メモリエンジンから前記メモリデータを提供するように構成されたマルチプレクサをさらに含む、請求項5に記載の装置。
  7. 前記暗号化回路が、
    前記レジスタ入力データおよび前記メモリデータを暗号化/復号化するように構成された高度暗号化標準コアユニットをさらに含む、請求項6に記載の装置。
  8. 前記暗号化回路が、
    暗号化/復号化されたレジスタ入力データを記憶するように構成された1つまたは複数の出力レジスタをさらに含む、請求項7に記載の装置。
  9. 前記高度暗号化標準コアユニットが、暗号化/復号化されたメモリデータを前記メモリエンジンに提供する、請求項7に記載の装置。
  10. 前記メモリエンジンが、前記暗号化/復号化されたメモリデータをメモリに提供する、請求項9に記載の装置。
  11. 前記暗号化回路が、連鎖を実行している間に、前記レジスタ入力データと前記メモリデータとの間で交換可能に暗号化/復号化するように構成された、請求項1に記載の装置。
  12. 前記暗号化回路が、高度暗号化標準(AES)に従って、前記レジスタ入力データおよび前記メモリデータに対して暗号化/復号化を実行するように構成された、請求項1に記載の装置。
  13. 前記暗号化回路が、前記第2のモードにある場合には、パケット化および非パケット化データブロックを暗号化/復号化する、請求項1に記載の装置。
  14. 前記パケット化データブロックが、ペイロードセクションおよびヘッダセクションを含み、前記暗号化回路が、前記ペイロードセクションに対して暗号化/復号化動作を実行し、前記ヘッダセクションが、前記暗号化/復号化動作中に変更のないままである、請求項13に記載の装置。
  15. 1つまたは複数の入力レジスタを有し、前記1つまたは複数の入力レジスタからレジスタ入力データを提供するように構成された第1の回路と、
    高度暗号化標準(AES)に従って、前記レジスタ入力データを暗号化/復号化するように構成された第2の回路と、
    を含む装置。
  16. (a)第1のモードにある場合には、レジスタ入力データを出力信号によって選択的に提供し、第2のモードにある場合には、メモリデータを前記出力信号によって選択的に提供するステップと、
    (b)前記レジスタ入力データと前記メモリデータとの間で交換可能に暗号化/復号化するステップと、
    を含む二重モード暗号化/復号化動作を実行する方法。
  17. (i)前記第1のモードにある場合には、前記レジスタ入力データを暗号化データ信号によって提供し、(ii)前記第2のモードにある場合には、メモリ制御信号を提供するステップをさらに含む、請求項16に記載の方法。
  18. 前記第2のモードにある場合には、暗号化/復号化されたデータをメモリに格納するステップをさらに含む、請求項16に記載の方法。
  19. 前記レジスタ入力データを1つまたは複数の入力データレジスタに格納するステップをさらに含む、請求項16に記載の方法。
  20. 高度暗号化標準に従って、前記レジスタ入力データおよび前記メモリデータに対して暗号化/復号化動作を実行するステップをさらに含む、請求項16に記載の方法。
JP2009525568A 2006-08-24 2007-08-16 単一および多重aes動作をサポートする二重モードaesインプリメンテーション Expired - Fee Related JP4960456B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/509,361 2006-08-24
US11/509,361 US7769166B2 (en) 2006-08-24 2006-08-24 Dual mode AES implementation to support single and multiple AES operations
PCT/US2007/018223 WO2008024274A2 (en) 2006-08-24 2007-08-16 Dual mode aes implementation to support single and multiple aes operations

Publications (3)

Publication Number Publication Date
JP2010501895A true JP2010501895A (ja) 2010-01-21
JP2010501895A5 JP2010501895A5 (ja) 2012-01-19
JP4960456B2 JP4960456B2 (ja) 2012-06-27

Family

ID=39107311

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009525568A Expired - Fee Related JP4960456B2 (ja) 2006-08-24 2007-08-16 単一および多重aes動作をサポートする二重モードaesインプリメンテーション

Country Status (6)

Country Link
US (1) US7769166B2 (ja)
EP (1) EP2082484A4 (ja)
JP (1) JP4960456B2 (ja)
KR (1) KR101126596B1 (ja)
CN (1) CN101507116A (ja)
WO (1) WO2008024274A2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7949130B2 (en) 2006-12-28 2011-05-24 Intel Corporation Architecture and instruction set for implementing advanced encryption standard (AES)
KR100867130B1 (ko) * 2007-02-23 2008-11-06 (주)코리아센터닷컴 보안 데이터 송수신 시스템 및 방법
US8538012B2 (en) * 2007-03-14 2013-09-17 Intel Corporation Performing AES encryption or decryption in multiple modes with a single instruction
US20120079281A1 (en) * 2010-06-28 2012-03-29 Lionstone Capital Corporation Systems and methods for diversification of encryption algorithms and obfuscation symbols, symbol spaces and/or schemas
KR102376506B1 (ko) * 2014-10-20 2022-03-18 삼성전자주식회사 암복호화기, 암복호화기를 포함하는 전자 장치 및 암복호화기의 동작 방법

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04157837A (ja) * 1990-10-20 1992-05-29 Fujitsu Ltd 暗号処理用鍵供給方式
JPH0990870A (ja) * 1995-09-27 1997-04-04 Nec Corp 基本変換方法、暗号化方法、基本変換回路および暗号装置
US20020191790A1 (en) * 2001-06-13 2002-12-19 Anand Satish N. Single-pass cryptographic processor and method
JP2004045641A (ja) * 2002-07-10 2004-02-12 Sony Corp 暗号処理装置およびその方法
JP2004070499A (ja) * 2002-08-02 2004-03-04 Fujitsu Ltd メモリデバイスおよび暗号化/復号方法
WO2005084160A2 (en) * 2003-08-25 2005-09-15 Sony Electronics, Inc. An apparatus and method for an iterative cryptographic block
JP2006019872A (ja) * 2004-06-30 2006-01-19 Sony Corp 暗号処理装置
JP2006025366A (ja) * 2004-07-09 2006-01-26 Sony Corp 暗号化装置及び半導体集積回路
JP2006039000A (ja) * 2004-07-23 2006-02-09 Sony Corp 暗号処理装置および暗号処理方法
JP2007094377A (ja) * 2005-08-31 2007-04-12 Canon Inc 暗号処理装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6466048B1 (en) 2001-05-23 2002-10-15 Mosaid Technologies, Inc. Method and apparatus for switchably selecting an integrated circuit operating mode
JP2003281071A (ja) * 2002-03-20 2003-10-03 Seiko Epson Corp データ転送制御装置、電子機器及びデータ転送制御方法
US20030198345A1 (en) 2002-04-15 2003-10-23 Van Buer Darrel J. Method and apparatus for high speed implementation of data encryption and decryption utilizing, e.g. Rijndael or its subset AES, or other encryption/decryption algorithms having similar key expansion data flow
KR100583635B1 (ko) * 2003-01-24 2006-05-26 삼성전자주식회사 다수의 동작 모드들을 지원하는 암호화 장치
TWI244299B (en) * 2004-01-07 2005-11-21 Admtek Inc Method for implementing advanced encryption standards by a very long instruction word architecture processor
KR100574965B1 (ko) * 2004-01-19 2006-05-02 삼성전자주식회사 유한체 곱셈기
US20050276413A1 (en) * 2004-06-14 2005-12-15 Raja Neogi Method and apparatus to manage heterogeneous cryptographic operations

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04157837A (ja) * 1990-10-20 1992-05-29 Fujitsu Ltd 暗号処理用鍵供給方式
JPH0990870A (ja) * 1995-09-27 1997-04-04 Nec Corp 基本変換方法、暗号化方法、基本変換回路および暗号装置
US20020191790A1 (en) * 2001-06-13 2002-12-19 Anand Satish N. Single-pass cryptographic processor and method
JP2004045641A (ja) * 2002-07-10 2004-02-12 Sony Corp 暗号処理装置およびその方法
JP2004070499A (ja) * 2002-08-02 2004-03-04 Fujitsu Ltd メモリデバイスおよび暗号化/復号方法
WO2005084160A2 (en) * 2003-08-25 2005-09-15 Sony Electronics, Inc. An apparatus and method for an iterative cryptographic block
JP2007512721A (ja) * 2003-08-25 2007-05-17 ソニー エレクトロニクス インク 反復暗号化ブロックのための装置及び方法
JP2006019872A (ja) * 2004-06-30 2006-01-19 Sony Corp 暗号処理装置
JP2006025366A (ja) * 2004-07-09 2006-01-26 Sony Corp 暗号化装置及び半導体集積回路
JP2006039000A (ja) * 2004-07-23 2006-02-09 Sony Corp 暗号処理装置および暗号処理方法
JP2007094377A (ja) * 2005-08-31 2007-04-12 Canon Inc 暗号処理装置

Also Published As

Publication number Publication date
JP4960456B2 (ja) 2012-06-27
KR101126596B1 (ko) 2012-03-27
EP2082484A2 (en) 2009-07-29
WO2008024274A3 (en) 2008-08-21
WO2008024274A2 (en) 2008-02-28
CN101507116A (zh) 2009-08-12
EP2082484A4 (en) 2011-06-29
US7769166B2 (en) 2010-08-03
KR20090043592A (ko) 2009-05-06
US20080069339A1 (en) 2008-03-20

Similar Documents

Publication Publication Date Title
US10594474B2 (en) Architecture and instruction set for implementing advanced encryption standard (AES)
TWI715619B (zh) 用於硬體強制單向密碼學的處理器、方法及系統
US8666064B2 (en) Endecryptor capable of performing parallel processing and encryption/decryption method thereof
US8001374B2 (en) Memory encryption for digital video
US10896267B2 (en) Input/output data encryption
TWI286689B (en) Cryptographic apparatus for supporting multiple modes
US20130142326A1 (en) Parallel encryption/decryption
TW200830327A (en) System and method for encrypting data
JP5118494B2 (ja) イン−ストリームデータ暗号化/復号の機能を有するメモリシステム
JP4960456B2 (ja) 単一および多重aes動作をサポートする二重モードaesインプリメンテーション
US20120166683A1 (en) Memory Data Transfer Method and System
JP2005122745A (ja) 対称型マルチプロセッサを持つ電子機器におけるデータの暗号化
US20210006391A1 (en) Data processing method, circuit, terminal device and storage medium
JP2023542936A (ja) チャネル暗号化区別のためのメタデータ調整(metadata tweak)
JP2002297030A (ja) 暗号処理装置及び暗号処理方法並びにプログラム
KR20170001221A (ko) 화상형성장치, 그의 데이터 기록 방법 및 비일시적 컴퓨터 판독가능 기록매체
WO2022212243A1 (en) Hardware accelerator using direct memory access to execute a modular arithmetic operation
JP2009537026A (ja) 書き込み障害回復のためのシステムおよび方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100721

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111124

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20111124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111213

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20111205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120203

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120228

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120322

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150330

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees