JP2004226969A - 暗号システム及び多様なモードを支援する方法 - Google Patents
暗号システム及び多様なモードを支援する方法 Download PDFInfo
- Publication number
- JP2004226969A JP2004226969A JP2004008782A JP2004008782A JP2004226969A JP 2004226969 A JP2004226969 A JP 2004226969A JP 2004008782 A JP2004008782 A JP 2004008782A JP 2004008782 A JP2004008782 A JP 2004008782A JP 2004226969 A JP2004226969 A JP 2004226969A
- Authority
- JP
- Japan
- Prior art keywords
- mode
- block
- data
- encryption
- ciphertext
- 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.)
- Pending
Links
Images
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/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/20—Manipulating the length of blocks of bits, e.g. padding or block truncation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
【課題】 CBC、CTRおよび/またはCCMモードのような複数の動作モードを支援する暗号化システム及び方法を提供する。
【解決手段】 データ暗号化方法は、メモリから平文データブロックを読み込む段階(S20)と、前記平文データブロックを入力バッファに貯蔵する段階(S20)と、前記入力バッファに貯蔵された前記平文データブロックを第1モードを利用して暗号化して第1暗号文を発生させる段階(S21)と、出力バッファに前記第1暗号文を貯蔵する段階(S22)と、前記入力バッファに貯蔵された前記平文データブロックを第2モードを利用して暗号化して第2暗号文を発生させる段階(S23)とを含む。例えば、第1モードがCTR(カウンター)モードであり、第2モードがCBC(cipher block chaining)モードであるCCM動作モードで、メモリから初期に読み込まれ、データ入力レジスターに貯蔵された平文ブロックはCTR及びCBCモードに適用される。その結果、メモリ読み込み動作の数が減少される。
【選択図】図2
【解決手段】 データ暗号化方法は、メモリから平文データブロックを読み込む段階(S20)と、前記平文データブロックを入力バッファに貯蔵する段階(S20)と、前記入力バッファに貯蔵された前記平文データブロックを第1モードを利用して暗号化して第1暗号文を発生させる段階(S21)と、出力バッファに前記第1暗号文を貯蔵する段階(S22)と、前記入力バッファに貯蔵された前記平文データブロックを第2モードを利用して暗号化して第2暗号文を発生させる段階(S23)とを含む。例えば、第1モードがCTR(カウンター)モードであり、第2モードがCBC(cipher block chaining)モードであるCCM動作モードで、メモリから初期に読み込まれ、データ入力レジスターに貯蔵された平文ブロックはCTR及びCBCモードに適用される。その結果、メモリ読み込み動作の数が減少される。
【選択図】図2
Description
本発明は、データ暗号化方法及びシステムに関するものであり、より詳細には、増加率でデータを暗号化して解読する効率的なCCM(counter with block Chaining−Message Authentication Code)モードを含む多様な動作モードを支援する暗号化方法及びシステムに関するものである。
典型的に、暗号はデータ貯蔵及び/または通信でデータの保安/信頼性を保障するために使用される。例えば、通信システムで、平文データ(plaintext data)は転送ノードで暗号化(コーディング)されて暗号文(ciphertext)が作成され、暗号文は受信機ノードに転送されることができる。暗号文が受信機で解読(デコーディング)されて、平文が得られる。データの暗号化は転送データの信頼性を保障する。あるアプリケーション(application)であれ、データの認証及びデータの信頼性を保障することができる暗号スキーム(scheme)を備えることが望ましい。
例えば、データの信頼性及び認証の保障性を提供する暗号化プロトコール(protocol)は、CCM(counter with block Chaining−Message Authentication Code)である。一般に、CCMは対称キーブロック暗号(symmetric key block cipher)の動作モードである。対称キーブロック暗号は、データ信頼性のためのCTR(Counter)の技術とデータ認証及び集積のためのCBC−MAC(cipher block chaining−message authentication code)モードの組合せである。
提案された新規標準案で、CCMは対称キーブロック暗号アルゴリズムを基礎とする。対称キーブロック暗号アルゴリズムのブロックサイズは、WLAN(wireless local area network)アプリケーションのために新しく提案されたIEEE802.11iでの利用のための128ビット、AES(Advanced Encryption Standard)プロトコル(protocol)と同様である。
一般に、CCMモードはCCM暗号化過程とCCM解読過程を含む。CCM暗号化及び解読は同一の暗号キーとブロック暗号化機能(例えば、順方向暗号化機能(forward cipher function))を利用する。詳細には、提供されたメッセージ(例えば、ヘッダーとペイロード(payload)を有するデータパケット)のために、CCM暗号化はヘッダーとペイロードとノンス(nonse、前記ヘッダー/ペイロード対に割当てられた唯一の値(bit string))にCBCモードを適用してMAC(Message authentication code、メッセージ認証コード)を作成する段階、MAC及びペイロードを暗号化するようにCTRモードを提供して暗号文を作成する段階を含む。
一方、CCM解読はCBCモードを適用して暗号文を解読する(MAC及びペイロード復元)段階、CBCモードを適用してMACを作成する段階、発生されたMACと受信されたMACを比較してメッセージを認証する段階を含む。
図1は従来のCCMモードの動作を図示した順序図である。詳細には、図1はデータの一ブロック(例えば、平文の一ブロック)を暗号化する動作の従来のCCMモードを図示した。以下、データブロックは前記ブロック暗号化(例えば、AES)のサイズである128ビット(16バイト)のようなブロックサイズを有する。
最初、データブロック(平文ブロック)はメモリ(例えば、ハードディスクメモリ)から読み込まれる(read)(S10)。理想的に、読み込み過程は少なくとも7クロックサイクルがかかって16バイト(128ビット)を読み込む。
続いて、平文ブロックはCTRモードを利用することにより暗号化される。理想的な場合でも、少なくとも10クロックサイクルが要求される(S11)。暗号化されたブロックはメモリに貯蔵され、この場合に理想的に少なくとも7クロックサイクルが要求される(S12)。
続けて、同一な平文ブロック(例えば、CTR暗号化のために利用されるものと同一である平文データブロック)は再びメモリから読み込む。理想的な場合に少なくとも7クロックサイクルが要求される(S13)。続いて、平文ブロックはCBC−MACモードを利用することにより暗号化され、理想的な場合に10クロックサイクルが要求される(S14)。暗号化されたブロックはメモリに貯蔵され(記録され)、理想的な場合に7クロックサイクルが要求される(S15)。
以上のように、図1に図示された従来の方法は理想的な場合、一つのデータブロック(一つの平文ブロック)をCCMモードを利用して暗号化するために、少なくとも48クロックサイクルが要求される。図1の従来の暗号化方法は非効率的な残余過程を含む。例えば、同一の平文ブロックがメモリから二度、CTR暗号化(S10)及びCBC暗号化(S13)、および読み込みされる。第2メモリ読み込み動作(S13)をリダンダント(redundant)する。その上に、CCMのために利用されるMAC値が最後に平文ブロック過程進行後に得られる集積MAC値であるので、記録過程(S15)が各ブロックのためのCBC暗号化過程のために必要ではない。
本発明の目的は、データ暗号化保安を提供する暗号化システム及び方法を提供することにある。
本発明の他の目的は、CBC、CTR及び/またはCCMモードのような複数の動作モードを支援する暗号化システム及び方法を提供することにある。
また、本発明の目的は、暗号/解読を実行させるクロックサイクルの数を減少させることにより、増加された暗号/解読比率を提供する効率的なCCMモードを提供する暗号化システム及び方法を提供することにある。
上述した目的を達成するための本発明によるデータ暗号化方法は、メモリから平文データブロックをリードする段階と、前記平文データブロックを入力バッファに貯蔵する段階と、前記入力バッファに貯蔵された前記平文データブロックを第1モードを利用して暗号化して第1暗号文を作成する段階と、出力バッファに前記第1暗号文を貯蔵する段階と、前記入力バッファに貯蔵された前記平文データブロックを第2モードを利用して暗号化して第2暗号文を作成する段階とを含む。第2暗号文は動作モードにより、出力バッファまたはある異なるバッファのようなバッファに貯蔵されることができる。前記方法はCCM動作モードを含み、第1モードはCTR(カウンター)モードであり、第2モードはCBC(cipher block chaining)モードである。CCMモードで、メモリから初期に解読され、データ入力レジスターに貯蔵された平文ブロックがCTR及びCBCモードに適用されてメモリ解読動作の数が減少される。
上述した他の目的を達成するための本発明による暗号化解読方法は、暗号文データブロックをメモリからリードする段階と、暗号文データブロックを入力バッファに貯蔵する段階と、入力バッファに貯蔵された前記暗号文データブロックを第1モードを利用して解読して平文ブロックを作成する段階と、前記平文を前記入力バッファ、出力バッファまたは両側バッファに貯蔵する段階と、入力バッファまたは前記出力バッファに貯蔵された前記平文を暗号化して暗号文を作成する段階とを含む。前記方法は、CCM動作モードを含み、第1モードはCTR(カウンター)モードであり、第2モードはCBC(cipher block chaining)モードである。CCMモードで、CTR(解読)モードの結果として発生された平文ブロックはMACを作成するCBCモードに適用されてメモリリード動作の数を減少させる。前記方法は、第2モードを利用して暗号化する以前に前記平文の一つ以上のビットをロジックレベル“0”に転換させる。
本発明の暗号化システム及び方法は暗号/解読を実行させるクロックサイクルの数を減少させて、暗号/解読比率を向上できる。
以下、図面を参照して本発明の望ましい一実施例をより詳細に説明する。
本発明の実施例はCBC、CTR及びCCMのような多様な動作モードを支援する暗号システム及び方法を含む。また、本発明の実施例は従来の暗号化方法に比べて暗号/解読を実行するに所要されるクロックサイクルを減少させることにより、増加された暗号/解読率を提供する効率的なCCM動作モードを提供する暗号システム及び方法をさらに含む。
図2は本発明の望ましい一実施例による暗号化方法を図示した順序図である。より詳細には、図2は本発明の望ましい一実施例によるデータブロックを暗号化する方法を図示した。
平文ブロックがメモリ(例えば、ハードディスクのような永続的な貯蔵物)から読み込まれ(read)、入力バッファに貯蔵される(S20)。
入力バッファに貯蔵された平文ブロックは第1モードを利用することにより暗号化されて第1暗号文ブロックが生成される(S21)。
第1暗号文ブロックが出力バッファに貯蔵される(S22)。
入力バッファに貯蔵された平文ブロックが第2モードを利用することにより、再び暗号化されて第2暗号文ブロックが発生される(S23)。
第2暗号文ブロックが前記動作モードにより、出力バッファまたは他のバッファに貯蔵されることができる(S24)。
本発明の一実施例により、CCM暗号動作モードは図2の方法により具現されることができる。ここで、第1モードはCTRモードであり、第2モードはCBCモードである。平文ブロックがメモリから読み込まれて、少なくとも二つのモード、例えば、CTR及びCBCが適用される(S20)。
これは同一である平文ブロックが二度メモリから読み込まれる図1の従来の方法と異なる。また、図2のCCMモードで、CBCモードの結果がメモリに記録される(図1のS15)図1の従来の方法と対照的にCBCモード(第2モード)の結果がバッファに貯蔵される(S24)。
本発明により、データブロックのためのCBCモードの前記結果がバッファに蓄積され(メモリに記録されることと反対に)、次データブロックを暗号化するように入力として利用される。平文ブロックに対して前記過程が実行された後、最後に蓄積された値がMACである。
したがって、図2に示す方法は従来の方法と比較して暗号率を増加できる。
図1及び図2は、128ビットのブロックサイズを有するブロック暗号化を実行する場合のCCMモードを示す。上述したように、図2の方法は図1の方法と異なり、少なくとも一度のメモリからの読み込み過程またはメモリへの記録過程を減少させた(例えば、S13及びS15)。その結果、少なくとも14クロックサイクルほどのクロックサイクルが減少された。
理想的な場合、これはCCMモードでデータブロックの処理に要求されるクロックサイクルの数を約30%減少させる。さらに、システムバス競争を考慮すると、図2の方法は図1の従来の方法に比べてCCMモードでデータブロックの処理のために要求されるクロックサイクルの数を50%減少させることができる。
図3は、本発明の望ましい他の実施例による暗号化方法を図示した順序図である。詳細には、図3は本発明のデータブロックの解読方法を図示した。
暗号文ブロックがメモリから読み込まれて、入力バッファに貯蔵される(S30)。
入力バッファに貯蔵された暗号文ブロックが第1モードを利用することにより解読されて、平文ブロックが作成される(S31)。
平文ブロックが入力バッファ(または出力バッファ、または入力バッファ/出力バッファ)に貯蔵される(S32)。入力バッファ(または出力バッファ)に貯蔵された平文ブロックが第2モードを利用することにより暗号化されて暗号文ブロックが生成される(S33)。暗号文ブロックは、動作モードに依存する出力バッファ、または他のバッファに貯蔵されることができる(S34)。
本発明の一実施例によるCCM解読動作モードは、図3の前記方法を利用することにより実行できる。ここで、第1モードはCTRモードであり、第2モードはCBCモードである。メモリ解読過程(S30)が実行されてCTR解読のための暗号文ブロックが得られ、平文ブロック(前記CTR解読の結果)にCBCモードが適用されてMACが決定される。即ち、CBCモードのための平文ブロックはメモリから読み込まれない。
さらに、図3の方法に基づくCCMモードでは、各データブロックのためのメモリに書かれる代わりに、CBCモード(第2モード)の結果がバッファに貯蔵(蓄積)される(S34)。だから、図2の暗号化方法と関連して、図3の解読方法はメモリ読み込み/記録過程の重複を除去して、解読率を向上できる。
図4は、本発明の望ましい一実施例による通信システムを図示したハイレベルダイヤグラムである。図4で、通信システム40は、CPU41、メモリ42、暗号化装置43、アービター(arbiter)44及びシステムバス45を含む。図4に図示された通信システム40はテスクトップ、ノードブック、PDA及び移動通信端末機のような多様な装置に具現されることができる。
メモリ42は、CPU41により実行される暗号アプリケーションを持続的に貯蔵して暗号化装置43を制御する。また、メモリ42は、平文、暗号文及び他のデータを貯蔵することができる。アービター(arbiter)44は、メモリ42のDMA(direct memory access)実行のためのシステムバス45の利用のための多様なマスタ(例えば、CPU41、暗号化装置43など)間を仲裁する。暗号化装置43は上述された暗号化システム及び方法を具現する。例えば、暗号化装置43は図2及び図3の方法を基礎とした暗号化動作モード及び解読動作モードを具現することができる。
図5は、本発明の望ましい一実施例による暗号化システムを図示したダイヤグラムである。詳細には、図5は、図4の暗号化装置43の構成を図示した。図5で、システムバス45に連結された暗号化システム50は、制御ユニット51、DMA制御機52、入力バッファ53、出力バッファ54、及びブロック暗号化モジュール55とを含む。制御ユニット51は複数の支援された動的モードのうちの一つのモードを実行させるCPU41による要求に応答して、暗号化システムの多様なモジュール52〜55を制御する制御信号を発生させる。
CPU41は、例えば、以下に説明される暗号化情報として、データがメモリ42からアクセスされるソース住所(SA)、データがメモリ42に書かれるようにする目的地住所(destination address、DA)、データサイズ、ブロックサイズ、暗号化キーK、キー(key)サイズ、方向(暗号化及び解読)、初期データ(IV:初期ベクトル)及び動作モードを提供する。
DMA制御機52は、メモリ42からデータブロック(例えば、平文ブロック及び暗号文ブロック)を読み込んだり、メモリ42にデータブロックを記録する。DMA制御機52は、メモリ42から読み込まれた一つ以上のデータブロックを入力バッファ53に貯蔵する。入力バッファ53に貯蔵されたデータブロックはブロック対ブロックに基づいて、ブロック暗号化モジュール55に転送される。例えば、ブロック暗号化モジュール55が128ビット暗号化ブロックアルゴリズム(例えば、AES)を支援すると、入力バッファ53からブロック暗号化モジュール55に転送された各ブロックのサイズは128ビットである。
さらに、DMA制御機52は、出力バッファ54に貯蔵された一つ以上のデータブロックをメモリ42に貯蔵する。例えば、出力バッファ54はブロック暗号化モジュール55から出力された暗号化結果(例えば、暗号文)を貯蔵し、結果を制御ユニット51により制御されるDMA制御機52に転送する。
入力バッファ53と出力バッファ54は各々FIFO(First−In First−Out)バッファを含み、バッファのサイズはブロック暗号化モジュール55により具現されるブロックサイズの少なくとも二倍である。例えば、ブロックサイズが128ビットである場合、入力バッファ53及び出力バッファ54は少なくとも256ビットを各々貯蔵する。
本発明の一実施例によるCBC、CTR及び/またはCCMモードのような一つまたは複数の動作モードを支援するブロック暗号化モジュール55については、図6から図10及び図11を参照して、さらに詳細に上述する。例えば、図6は本発明の一実施例による図5のブロック暗号化モジュール55を示す。詳細には、図6はCBCモードまたはCBC−MACモードを支援するように具現されることができるブロック暗号化モジュール60を示す。
図6に示すように、ブロック暗号化モジュール60はIV(初期ベクトル:initialization vector)レジスター61、データ入力レジスター62、データ出力レジスター63、XOR(排他的論理輪)演算機64及びブロック暗号化機(または、ブロック暗号化)65を含む。
XOR演算機64はデータ入力レジスター62に貯蔵された平文ブロック(例えば、図5の入力バッファ53から入力されたブロック)及びIVレジスター61に貯蔵されたデータ(例えば、IV)に対してXOR演算を実施する。CBCモードで、IVは例えば、図5の制御部51によりIVレジスター61に貯蔵される。XOR演算の結果はブロック暗号化機65に入力される。
ブロック暗号化機65は、制御ユニット51から提供された暗号キーKを利用してXOR結果を暗号化して暗号文ブロックを発生させる。暗号文ブロックは、ブロック暗号化機65から出力された後、モードによりデータ出力レジスター63及び/またはIVレジスター61に貯蔵される。例えば、CBCモードで、ブロック暗号化機65から出力された暗号文ブロックはデータ出力レジスター63に貯蔵されることができ、出力バッファ54に出力される。
一方、CBC−MACモード(CCMモードのための)で、ブロック暗号化機65から出力された暗号文ブロックはIVレジスター61に貯蔵されてデータ入力レジスター62に入力された後、次データブロックの暗号化に利用されることができる(暗号文が具現されるにつれてデータ出力レジスターに、また貯蔵されても)。CBC−MACモードで、(例えば、メモリ42に貯蔵された)全ての平文ブロックの暗号化結果は、IVレジスター61での最後の値がMAC値を示すことによって、IVレジスター61内で蓄積される。MAC値は出力バッファ54に出力するために、データ出力レジスター63に貯蔵される。
図7は、本発明の他の実施例による図5のブロック暗号化モジュール55を図示した図面である。詳細には、図7は、本発明の望ましい一実施例によるCTRモードを支援するブロック暗号化モジュールを図示する。
図7に示すように、ブロック暗号化モジュール70はPL(pre−load)レジスター71、データ入力レジスター72、データ出力レジスター73、加算機74、ブロック暗号化機75及びXOR演算機76を含む。CTRモードを始めるために、例えば、制御ユニット51から提供された初期データがPLレジスター71に貯蔵される。データ入力レジスター72は入力バッファ53から入力されたデータブロック(例えば、平文ブロックまたは暗号文ブロック)を貯蔵する。
加算機74はPLレジスター71のコンテンツに1を加える。加算機74の出力はPLレジスター71に貯蔵される。ブロック暗号化機75は、例えば、図5の制御ユニット51から提供された暗号化キーKを利用してPLレジスター71に貯蔵されたデータを暗号化する。XOR演算機76はブロック暗号化機75の出力とデータ入力レジスター72に貯蔵されたデータ(平文/暗号文)のブロックに対してXOR演算を実行する。XOR演算の結果は、データ出力レジスター73に貯蔵される。モードによりデータ出力レジスター73に貯蔵されたデータは暗号文ブロック(CTR暗号)または平文ブロック(CTR解読)である。データ出力レジスター73のコンテンツは、例えば、図5の出力バッファ54に出力される。
本発明の他の実施例によると、図5のブロック暗号化モジュール55は複数の暗号化モードを支援する構造を含む。例えば、図8は、本発明の一実施例によるCBC、CTR及びCCMを含む複数の暗号化モードを支援するブロック暗号化モジュール80を図示した概略図である。
ブロック暗号化モジュール80は、キーレジスター81、PL(preload)レジスター82、IVレジスター83、データ入力レジスター84、データ出力レジスター85、足し算機86、ミュート(mute、padding)モジュール87、複数のXOR演算機88、89、ブロック暗号90(例えば、128ビットAES)及び複数の多重化機(multiplexers、M1、M2、M3)を含む。
制御機(例えば、図5の制御ユニット51)は、ブロック暗号90の現在モードを示すモード信号(MD)を示す。ブロック暗号90が独立的にCBC、CTRおよびCCMモードを支援する本発明で、制御機はシステムモジュールを特定モードで動作させる制御信号として2ビットモード信号(MD)を発生させることができる。
例えば、多重化機(M1、M2、M3)は複数の入力経路(path)または出力経路のうちの一つの経路を選択することにより、モード信号(MD)に反応してデータを特定モードに依存して適切であるモジュールに転送する。本発明の一実施例によると、“01”のモード信号(MD)はCBCモードを意味し、“10”のモード信号(MD)はCTRモード、及び“11”のモード信号(MD)はCCMモードを意味する。さらに、制御機は、環境レジスターに制御情報を貯蔵することができる。制御情報は例えば、データブロックサイズ、キー、キーサイズ、方向(暗号または解読)、IV、モード及びPL値を含む。制御機は例えば、図4のCPU41から制御情報を受信する。
ブロック暗号化モジュール80は図2から図7を参照して上述された実施例で基礎とした構造、例えば、独立的にCBC、CTR及びCCMモードを支援する構造を含む。暗号化システムの各モジュール/要素は支援された全てモードのうちの一つ以上のモードのために利用される。例えば、ブロック暗号化モジュール80は図7を参照して説明したのと同様のCTRモードを支援する。本発明の他の実施例によるブロック暗号化モジュール80は、図6を参照して上述されたのと同様のCBCモードを支援する。さらに、本発明のまた他の実施例によるブロック暗号化モジュール80は、CCMモード具現のためのCTR及びCBC−MACモードを支援する。これについては図9を参照して後述する。
詳細には、図8で、本発明の一実施例によるCTRモードはキーレジスター81、PLレジスター82、データ入力レジスター84、データ出力レジスター85、加算機86、XOR演算機89及びブロック暗号化モジュール90を利用して実行される。
CTRモードは図5の制御ユニット51により発生されるCTRモード信号(MD)によりセットされる。キーレジスター81は暗号化キーKを貯蔵する。暗号化キーKは制御ユニット51から受信され、CTR暗号または解読モードのためのデータブロックを暗号化させるブロック暗号化モジュール90により利用される。PLレジスター82は制御機(例えば、制御ユニット51)から提供された初期データを貯蔵する。データ入力レジスター84は暗号化される平文ブロックまたは解読される暗号文ブロック、例えば、図5の入力バッファ53から受信されたものを貯蔵する。データブロックを処理するCTRモードで、PLレジスター82に貯蔵されたデータはキーレジスター81に貯蔵された暗号化キーを利用してブロック暗号化モジュール90により暗号化される。多重化機(M1)はCTRモード信号に反応してPLレジスター82の出力をブロック暗号化モジュール90に転送する。
続けて、ブロック暗号化モジュール90から出力された暗号化結果(暗号化されたデータ)は多重化機(M3)を通じてXOR演算機89に転送される。データ入力レジスター84に貯蔵されたデータブロック(平文/暗号文ブロック)のコピーは多重化機(M2)を通じてXOR演算機89に転送される。XOR演算機89はブロック暗号化モジュール90から出力された暗号化されたデータ及びデータ入力レジスター84から出力されたデータブロックに対してXOR演算を実行する。XOR演算の結果(CTRモードの結果)はデータ出力レジスター85に貯蔵される。PLレジスターは、加算機86によりPLレジスター82の前回の出力に1を加えることにより増加され、加算結果がPLレジスター82に貯蔵される。データ出力レジスター85に貯蔵されたCTRモードの結果は例えば、図5の出力バッファ54に出力される。
本発明の他の実施例によるブロック暗号化モジュール80は、キーレジスター81、IVレジスター83、データ入力レジスター84、データ出力レジスター85、XOR演算機88及びブロック暗号化モジュール90を利用してCBC動作モードを実行する。詳細には、モード信号(MD)が発生されてブロック暗号化モジュール80をCBCモードにセットする。XOR演算機88はデータ入力レジスター84に貯蔵された平文ブロック及びIVレジスター83に貯蔵されたデータ(例えば、IV)に対してXOR演算を実行する。
多重化機(M2)はCBCモード制御信号に反応して、データ入力レジスター84のコンテンツをXOR演算機88に転送する。IVは例えば、図5の制御ユニット51によりIVレジスター83にCBCモードのための初期データとして貯蔵される。XOR演算の結果はブロック暗号化モジュール90に入力される。ブロック暗号化モジュール90はキーレジスター81から提供された暗号化キーKを利用してXOR結果を暗号化して暗号文ブロックを発生させる。暗号文ブロックはブロック暗号化モジュール90から出力され、その後にIVレジスター83への貯蔵のために多重化機(M3)により転送される。IVレジスター83のデータコンテンツは例えば、図5の出力バッファ54への出力のためにデータ出力レジスター85にコピーされる。
本発明の他の実施例によるブロック暗号化モジュール80はCCMモードを具現する。例えば、図9は本発明の一実施例による図8の構成を利用して具現されることができるCCM動作モードを図示した順序図である。図9は一つのデータブロック、例えば平文ブロック(暗号化モード)または暗号文ブロック(暗号化モード)のためのCCM動作モードを図示した。
一般に、CCMモードはデータブロックのためのCBC−MACモードにより後続されるCTRモードを実行する過程を含む。図9の方法は図8をさらに参照して説明される。また、有効暗号化キーKは、キーレジスター81に貯蔵される。図9で説明するのは、該キーレジスター81は、PLレジスター82及びIVレジスター83が初期データまたは前回のブロック暗号/解読過程から入力されたデータと共にロードされ、データ入力レジスタ84が現在処理されているデータブロック(平文または暗号文)と共にロードされる場合である。
最初に、CTRモードはCTRモード信号(MD)を発生させることによりセットされる(S91)。CTRモードでは、PLレジスター82に貯蔵されたデータはキーレジスター81に貯蔵された暗号化キーを利用してブロック暗号化モジュール90により暗号化される(S92)。
多重化機(M1)はCTRモード信号に反応してPLレジスター82の出力をブロック暗号化モジュール90に転送する。ブロック暗号化モジュール90から出力された暗号化結果(暗号化されたデータ)は多重化機(M3)を通じてXOR演算機89に転送され、データ入力レジスター84に貯蔵されたデータブロック(平文ブロックまたは暗号文ブロック)のコピーは多重化機(M2)を通じてXOR演算機89に転送される。
XOR演算機89は、ブロック暗号化モジュール90から出力された暗号化データ及びデータ入力レジスター84から出力されたデータブロックに対してXOR演算を実行する(S93)。XOR演算の結果(CTRモードの結果)はデータ出力レジスター85に貯蔵される(S95)。
PLレジスターは、加算機86によりPLレジスター82の前回の出力に1を加えることにより増加され、結果値がPLレジスター82に貯蔵される。
続けて、CBCモードはCBCモード信号(MD)を発生させることによりセットされる(S96)。CBCモードのための過程はCCMモードが暗号モード(TX)または解読モード(RX)であるか否かにより変更される。
CCM暗号化モードの場合(過程S97:TX)、CBC動作モードはデータ入力レジスター84に貯蔵されたデータブロック(平文ブロック)を多重化機(M2)を通じてXOR演算機88に転送する過程を含む。この場合では、CBCモードのための平文データブロックは、前のCTRモードのためのデータ入力レジスター84に予め貯蔵され、図4に示すメモリ42から読み込まれないと認められる。XOR演算は、平文データブロック及びIVレジスター83に貯蔵されたデータに対して実行される(S100)。XOR演算の結果は多重化機(M1)を通じてブロック暗号化モジュール90に転送され、XOR演算の結果は暗号化される(S101)。暗号化結果(CBCモードの結果)は、IVレジスター83に貯蔵される(S102)。
一方、CCM解読モードの場合(過程S97:RX)、データ出力レジスター85に貯蔵されたデータブロックはデータ入力レジスター84にコピーされる(S98)。詳細には、図9の実施例で、データ出力レジスター85が入力暗号文ブロックのCTR解読により発生された平文ブロックを含むから、CTR解読により発生された平文ブロックは、前記CBCモードのために利用される。
本発明の一実施例による暗号文ブロックと、CTR解読からの結果は、直接データ入力レジスター84またはデータ入力及び出力レジスター84、85にコピーされることもできる。本発明の他の実施例によると、CBCモードで、多重化機(M2)はデータ出力レジスター85に貯蔵されたCTRモードの結果(平文データブロック)をCBCモードのためのXOR演算機88に選択的に転送する。
続いて、平文データブロックをブロック暗号と同一サイズにするために、ブロックの最後を“0”で埋める必要がある環境下では、CBCモードのための平文データブロックは、ミュート(mute)される(S99)。例えば、図10及び図11は図8のミュート過程87で具現されるデータブロックをパッド(padding)する過程を示す。
図10に示すように、平文ブロックのデータフレームはブロック暗号のブロックサイズと同一のビット長さL1を有する複数のデータブロック、ブロック暗号のブロックサイズより小さいビット長さL2を有する最後ブロック(n番目ブロック)を含む。
図11に示すように、ゼロパッド(zero padding)はブロックサイズがL2であるn番目ブロックの最後に“0”ビットを挿入することにより形成される。その結果、n番目ブロックのサイズはL1と同一になる。
図8の実施例で、ミュート(mute)過程87は必要であれば、CTR解読からの結果である平文ブロックの“0”パッドのために利用される。例えば、“0”パッドはオリジナル暗号化され、ゼロパッドされた平文データブロックを示す暗号文ブロックから発生された平文ブロックの“再パッディング(repadding)”のために要求される。過程S99で、平文データブロックは“0”パッドされ、そのような平文ブロックのブロックサイズをL1と同一にする。
平文ブロックは、上述のように処理される(S100、S101及びS102)。図9の方法で、CBC−MACモードのために、ブロック暗号化モジュール90から出力された暗号文ブロック(CBCモードの結果)はIVレジスター83に貯蔵され(S102)、メッセージブロックを暗号化するための入力として利用される。最後のデータブロックが処理された後、IVレジスター83に貯蔵された最後の値はMAC値を示す。続いて、最後値は出力バッファ54への出力のためのデータ出力レジスター85にコピーされる。
図8のブロック暗号化モジュールと関係する図1のCCM方法は、図2及び図3を参照して前述された方法の実施例と評価される。図8及び図9の方法に基づくCCM暗号化モードで、データ入力レジスター84(またはバッファ)に貯蔵された同一である平文ブロックがCTR暗号化及びCBC−MACのために使用される。その結果、平文ブロックにアクセスする複数のメモリ読み込み動作を実行する必要がなくなる。
さらに、CCM読み込みモードで、CTR読み込みの結果である平文ブロックは、後続のCBC−MACのために利用される。その結果、平文ブロックにアクセスするメモリ読み込みを実行する必要がなくなる。さらに、データブロックのためのCBCモードの結果は、バッファに蓄積され(メモリに書き込まれる過程と反対に)、次のデータブロックを暗号化するための入力として使用される。最後の平文ブロックが処理された後、最後に蓄積された値はMACを示す。したがって、図8及び図9の構成に基礎したCCM動作モードは従来の方法に反対されることとして、さらに効率的なCCM動作モードを提供することができる。
以上、本発明の実施例によって詳細に説明したが、本発明はこれに限定されず、本発明が属する技術分野において通常の知識を有するものであれば本発明の思想と精神を離れることなく、本発明を修正または変更できるであろう。
50…暗号化システム、
51…制御ユニット、
52…DMA制御機、
53…入力バッファ、
54…出力バッファ、
55、60、70、80…ブロック暗号化モジュール、
61…IVレジスター、
62…データ入力レジスター、
63…データ出力レジスター、
64…XOR演算機、
65…ブロック暗号化機。
51…制御ユニット、
52…DMA制御機、
53…入力バッファ、
54…出力バッファ、
55、60、70、80…ブロック暗号化モジュール、
61…IVレジスター、
62…データ入力レジスター、
63…データ出力レジスター、
64…XOR演算機、
65…ブロック暗号化機。
Claims (26)
- メモリから平文データブロックを読み込む段階と、
前記平文データブロックを入力バッファに貯蔵する段階と、
前記入力バッファに貯蔵された前記平文データブロックを第1モードを利用して暗号化して第1暗号文を発生させる段階と、
出力バッファに前記第1暗号文を貯蔵する段階と、
前記入力バッファに貯蔵された前記平文データブロックを第2モードを利用して暗号化して第2暗号文を作成する段階とを含むことを特徴とするデータ暗号化方法。 - 前記暗号化はCCMを利用して実行されることを特徴とする請求項1に記載のデータ暗号化方法。
- 前記第1モードはCTR(カウンター)モードを含むことを特徴とする請求項1に記載のデータ暗号化方法。
- 前記第2モードはCBC(cipher block chaining)モードを含むことを特徴とする請求項1に記載のデータ暗号化方法。
- 前記第2暗号文を初期ベクトル(IV)バッファに貯蔵する過程をさらに含むことを特徴とする請求項1に記載のデータ暗号化方法。
- 前記第2暗号文を前記出力バッファに貯蔵する段階をさらに含むことを特徴とする請求項1に記載のデータ暗号化方法。
- ブロック暗号化モジュールの外部にあるメモリから平文データブロックを読み込む段階と、
前記平文データブロックを前記ブロック暗号化モジュールの入力バッファに貯蔵する段階と、
前記入力バッファに貯蔵された前記平文データブロックを第1モードを利用して暗号化して第1暗号文を作成する段階と、
前記第1暗号文を前記ブロック暗号化モジュールの出力バッファに貯蔵する段階と、
前記入力バッファに貯蔵された前記平文データブロックを第2モードを利用して暗号化して第2暗号文ブロックを作成する段階とを含むことを特徴とする暗号化システムの前記ブロック暗号化モジュールでのデータ暗号化方法。 - 暗号化はCCMを利用して形成し、前記第1モードはCTR(カウンター)モードを含み、前記第2モードはCBC(cipher block chaining)モードを含むことを特徴とする請求項7記載のデータ暗号化方法。
- 前記第2暗号文を初期ベクトル(IV)バッファに貯蔵する過程をさらに含むことを特徴とする請求項8に記載のデータ暗号化方法。
- 前記第2暗号文を前記出力バッファに貯蔵する段階をさらに含むことを特徴とする請求項8に記載のデータ暗号化方法。
- 暗号文データブロックをメモリから読み込む段階と、
前記暗号文データブロックを入力バッファに貯蔵する段階と、
前記入力バッファに貯蔵された前記暗号文データブロックを第1モードを利用して解読して平文ブロックを作成する段階と、
前記平文を前記入力バッファ、出力バッファまたは両側バッファに貯蔵する段階と、
前記入力バッファまたは前記出力バッファに貯蔵された前記平文を暗号化して暗号文を作成する段階とを含むことを特徴とするデータ暗号化方法。 - 前記第2モードを利用して前記平文を暗号化する以前に、前記平文の1ビット以上をロジックレベル“0”に転換する段階をさらに含むことを特徴とする請求項11に記載のデータ暗号化方法。
- 平文データブロックをメモリから読み込む段階と、
前記平文データブロックを入力バッファに貯蔵する段階と、
前記入力バッファに貯蔵された前記平文データブロックを第1モードを利用して暗号化して第1暗号文を作成する段階と、
前記第1暗号文を出力バッファに貯蔵する段階と、
前記入力バッファに貯蔵された前記平文データブロックを第2モードを利用して暗号化して第2暗号文を作成する段階とを含むことを特徴とする暗号化システム。 - 暗号文データブロックを前記メモリから読み込む段階と、
前記暗号文データブロックを入力バッファに貯蔵する段階と、
前記入力バッファに貯蔵された前記暗号文データブロックを第1モードを利用して解読して平文ブロックを作成する段階と、
前記平文を前記入力バッファ、出力バッファまたは両側バッファに貯蔵する段階と、
前記入力バッファまたは前記出力バッファに貯蔵された前記平文を第2モードを利用して暗号化して暗号文を作成する段階とを含むことを特徴とする請求項13に記載の暗号化システム。 - 機械により読み込み可能であり、前記機械により実行可能な指示プログラムを実体的に具体化して、
平文データブロックをメモリから読み込む段階と、
前記平文データブロックを入力バッファに貯蔵する段階と、
前記入力バッファに貯蔵された前記平文データブロックを第1モードを利用して暗号化して第1暗号文を作成する段階と、
前記第1暗号文を出力バッファに貯蔵する段階と、
前記入力バッファに貯蔵された前記平文データブロックを第2モードを利用して暗号化して第2暗号文を作成する段階とを含むことを特徴とするデータ暗号化方法過程を実行させるプログラム貯蔵装置。 - メモリからデータブロックをリードするメモリ制御機と、
前記メモリからリードされたデータブロックを貯蔵する入力バッファと、
前記入力バッファに貯蔵された前記データブロックをCTRモード、CBCモード及びCCM(CTR及びCBC−MAC)モードを含む暗号化モジュールにより支援される複数の動作モードうちの一つモードを利用して暗号化する暗号化モジュールと、
前記暗号化モジュールにより暗号化された前記データを貯蔵する出力バッファと、
制御信号を発生させて前記メモリ制御機と、入力バッファ及び出力バッファと、前記ブロック暗号化モジュールを制御する制御ユニットとを含み、前記制御信号は前記暗号化モジュールの動作モードを特定化するモード制御信号を有することを特徴とする暗号化装置。 - 前記暗号化モジュールは、
CTRモードと関連されたデータを貯蔵するPLレジスターと、
前記PLレジスターから出力されたデータにロジック“1”を加える加算機モジュールと、
CBCモードと関連されたデータを貯蔵する初期ベクトルレジスターと、
前記入力バッファから入力されたデータブロックを貯蔵するデータ入力レジスターと、
前記データ出力バッファに出力されるデータブロックを貯蔵するデータ出力レジスターと、
前記初期ベクトルレジスター及び前記データ入力レジスターに貯蔵されたデータに対してXOR演算を実施する第1ロジック演算機と、
ブロック暗号化モジュールと、
前記ブロック暗号化モジュールから出力されたデータ及び前記入力レジスターに貯蔵されたデータに対してXOR演算を実施する第2ロジック演算機とを含むことを特徴とする請求項16に記載の暗号化装置。 - 前記暗号化モジュールのデータ経路を選択することにより、モード制御信号に反応して前記モード制御信号により特定化された動作モードを実行させる複数のスイッチング装置をさらに含むことを特徴とする請求項17に記載の暗号化装置。
- 前記スイッチング装置は前記PLレジスターの出力または前記第1ロジック演算機の出力をモード制御信号に反応して前記ブロック暗号化モジュールの入力に選択的に提供する第1多重化機を含むことを特徴とする請求項18に記載の暗号化装置。
- 前記スイッチング装置は前記ブロック暗号化モジュールの出力を前記初期ベクトルレジスターの入力または前記第2ロジック演算機の入力に選択的に転送する第2多重化機を含むことを特徴とする請求項18に記載の暗号化装置。
- 前記スイッチング装置は前記データ入力レジスターの出力をモード制御信号により特定化された動作モードにより、前記第1ロジック演算機の入力または前記第2ロジック演算機の入力に選択的に転送する第3多重化機を含むことを特徴とする請求項18に記載の暗号化装置。
- 前記スイッチング装置は前記データ入力レジスターまたはデータ出力レジスターの出力をモード制御信号により特定化された動作モードにより、前記第1ロジック演算機または前記第2ロジック演算機の入力に選択的に転送する第4多重化機を含むことを特徴とする請求項18に記載の暗号化装置。
- 前記第1ロジック演算機に入力される前記データ入力レジスターの平文ブロックを“0”パッドするミュートモジュールをさらに含むことを特徴とする請求項17に記載の暗号化装置。
- CCM動作モードで、前記データ入力バッファに貯蔵された平文データブロックがCCMモードのためのCTRモード及びCBC−MAC動作モードに適用されることを特徴とする請求項17に記載の暗号化装置。
- CCM動作モードで、前記データ入力レジスターに貯蔵された暗号文ブロックに対して、CTR動作モードを支援することにより発生された平文データブロックが前記CCMモードのためのCBC−MAC動作モードに適用されることを特徴とする請求項17に記載の暗号化装置。
- 請求項16に記載の暗号化装置を含むことを特徴とする通信装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030004806A KR100583635B1 (ko) | 2003-01-24 | 2003-01-24 | 다수의 동작 모드들을 지원하는 암호화 장치 |
KR1020030053262A KR100549867B1 (ko) | 2003-07-31 | 2003-07-31 | 씨씨엠 모드에 따른 암호화 방법 및 이를 수행하기 위한장치, 씨씨엠 모드에 따른 암호 해독 방법 및 이를수행하기 위한 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004226969A true JP2004226969A (ja) | 2004-08-12 |
Family
ID=32737762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004008782A Pending JP2004226969A (ja) | 2003-01-24 | 2004-01-16 | 暗号システム及び多様なモードを支援する方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US7336783B2 (ja) |
JP (1) | JP2004226969A (ja) |
TW (1) | TW200417219A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007034212A (ja) * | 2005-07-29 | 2007-02-08 | Nippon Telegr & Teleph Corp <Ntt> | ブロック暗号装置、ブロック復号装置、それらの方法及びプログラム |
JP2007274715A (ja) * | 2006-02-15 | 2007-10-18 | Samsung Electronics Co Ltd | コンテンツの使用方法及び使用装置 |
JP2008527899A (ja) * | 2005-01-11 | 2008-07-24 | サムスン エレクトロニクス カンパニー リミテッド | 通信システムにおける信号暗号化/解読装置及び方法 |
JP2015114434A (ja) * | 2013-12-10 | 2015-06-22 | Kddi株式会社 | ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラム |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4254201B2 (ja) * | 2002-10-31 | 2009-04-15 | ソニー株式会社 | スクランブラ、送信装置および受信装置 |
US8060743B2 (en) * | 2003-11-14 | 2011-11-15 | Certicom Corp. | Cryptographic method and apparatus |
TWI244299B (en) * | 2004-01-07 | 2005-11-21 | Admtek Inc | Method for implementing advanced encryption standards by a very long instruction word architecture processor |
DE102004004799B4 (de) * | 2004-01-30 | 2010-02-18 | Advanced Micro Devices, Inc., Sunnyvale | Hardware/Software-Partitionierung für verschlüsselte WLAN-Verbindungen |
US7457409B2 (en) * | 2004-06-09 | 2008-11-25 | Mediatek Inc. | System and method for performing secure communications in a wireless local area network |
US20060023875A1 (en) * | 2004-07-30 | 2006-02-02 | Graunke Gary L | Enhanced stream cipher combining function |
US8155306B2 (en) * | 2004-12-09 | 2012-04-10 | Intel Corporation | Method and apparatus for increasing the speed of cryptographic processing |
AU2006204197B9 (en) * | 2005-01-07 | 2010-02-04 | Samsung Electronics Co., Ltd. | Apparatus and method for transmitting/receiving multiuser packet in a mobile communication system |
KR100612255B1 (ko) * | 2005-01-11 | 2006-08-14 | 삼성전자주식회사 | 무선 네트워크 시스템에서의 데이터 보안장치 및 그 방법 |
US8094814B2 (en) * | 2005-04-05 | 2012-01-10 | Broadcom Corporation | Method and apparatus for using counter-mode encryption to protect image data in frame buffer of a video compression system |
US7725719B2 (en) | 2005-11-08 | 2010-05-25 | International Business Machines Corporation | Method and system for generating ciphertext and message authentication codes utilizing shared hardware |
US20070110225A1 (en) * | 2005-11-16 | 2007-05-17 | Sub-Crypto Systems, Llc | Method and apparatus for efficient encryption |
WO2007069236A2 (en) * | 2005-12-14 | 2007-06-21 | Nds Limited | Method and system for usage of block cipher encryption |
US7649992B2 (en) * | 2006-01-06 | 2010-01-19 | Fujitsu Limited | Apparatuses for encoding, decoding, and authenticating data in cipher block chaining messaging authentication code |
US8379841B2 (en) * | 2006-03-23 | 2013-02-19 | Exegy Incorporated | Method and system for high throughput blockwise independent encryption/decryption |
US7660793B2 (en) | 2006-11-13 | 2010-02-09 | Exegy Incorporated | Method and system for high performance integration, processing and searching of structured and unstructured data using coprocessors |
US8538012B2 (en) * | 2007-03-14 | 2013-09-17 | Intel Corporation | Performing AES encryption or decryption in multiple modes with a single instruction |
US7827408B1 (en) * | 2007-07-10 | 2010-11-02 | The United States Of America As Represented By The Director Of The National Security Agency | Device for and method of authenticated cryptography |
FR2918830B1 (fr) * | 2007-07-13 | 2009-10-30 | Viaccess Sa | Verification de code mac sans revelation. |
JP4395527B2 (ja) * | 2007-10-16 | 2010-01-13 | Okiセミコンダクタ株式会社 | 情報処理装置 |
JP5228803B2 (ja) * | 2008-10-30 | 2013-07-03 | 富士通セミコンダクター株式会社 | 共通鍵ブロック暗号におけるスワップ回路及び、それを有する暗号化・復号化回路 |
DE102009000869A1 (de) * | 2009-02-16 | 2010-08-19 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur manipulationssicheren Übertragung von Daten |
US20110099591A1 (en) * | 2009-10-28 | 2011-04-28 | Men Long | Secure wireless pairing of digital tv short-range transmitter and receiver |
US20110255689A1 (en) * | 2010-04-15 | 2011-10-20 | Lsi Corporation | Multiple-mode cryptographic module usable with memory controllers |
JP5225414B2 (ja) * | 2011-03-08 | 2013-07-03 | 株式会社東芝 | 暗号演算装置 |
US9727708B2 (en) * | 2012-02-21 | 2017-08-08 | Pulselocker, Inc. | Method and apparatus for limiting access to data by process or computer function with stateless encryption |
US20130315387A1 (en) * | 2012-05-25 | 2013-11-28 | Yi-Li Huang | Encryption method characterized by three dimensional computation, feedback control, and dynamic transition box |
KR101458479B1 (ko) * | 2012-10-12 | 2014-11-07 | 한국전자통신연구원 | 세션상태정보의 암호화 및 복호화 방법 |
EP2887574A1 (fr) * | 2013-12-17 | 2015-06-24 | Nagravision S.A. | Procédé de conversion d'un contenu à acces conditionnel |
WO2017027648A1 (en) * | 2015-08-11 | 2017-02-16 | Jeff Stollman | System and methods to ensure asset and supply chain integrity |
EP3552339A4 (en) | 2016-12-09 | 2020-04-22 | Cryptography Research, Inc. | PROGRAMMABLE BLOCK ENCRYPTION WITH MASKED INPUTS |
US10560269B2 (en) | 2017-04-05 | 2020-02-11 | Trellisware Technologies, Inc. | Methods and systems for improved authenticated encryption in counter-based cipher systems |
GB201808834D0 (en) | 2018-05-30 | 2018-07-11 | Nordic Semiconductor Asa | Memory-efficient hardware cryptographic engine |
CN110046482A (zh) * | 2018-12-25 | 2019-07-23 | 阿里巴巴集团控股有限公司 | 身份核实方法及其系统 |
US12008150B2 (en) | 2021-06-24 | 2024-06-11 | International Business Machines Corporation | Encrypted data processing design including cleartext register files |
US11868275B2 (en) | 2021-06-24 | 2024-01-09 | International Business Machines Corporation | Encrypted data processing design including local buffers |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62216447A (ja) * | 1986-03-17 | 1987-09-24 | Nippon Telegr & Teleph Corp <Ntt> | メツセ−ジ認証通信方式 |
JPS6350222A (ja) * | 1986-08-20 | 1988-03-03 | Matsushita Electric Ind Co Ltd | メツセ−ジ認証装置 |
JPH08307413A (ja) * | 1995-05-09 | 1996-11-22 | Nippon Telegr & Teleph Corp <Ntt> | 認証方式 |
JP2002358008A (ja) * | 2001-06-04 | 2002-12-13 | Mitsubishi Electric Corp | データ暗号化回路 |
JP2004226966A (ja) * | 2003-01-24 | 2004-08-12 | Samsung Electronics Co Ltd | 多数の動作モードを支援する暗号化装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63287882A (ja) * | 1987-05-20 | 1988-11-24 | 株式会社日立製作所 | 暗号装置 |
US5721777A (en) * | 1994-12-29 | 1998-02-24 | Lucent Technologies Inc. | Escrow key management system for accessing encrypted data with portable cryptographic modules |
US6028939A (en) * | 1997-01-03 | 2000-02-22 | Redcreek Communications, Inc. | Data security system and method |
US6394564B1 (en) * | 1997-06-03 | 2002-05-28 | Knoll, Inc. | Overhead storage unit |
US6704871B1 (en) * | 1997-09-16 | 2004-03-09 | Safenet, Inc. | Cryptographic co-processor |
JPH11109856A (ja) | 1997-09-30 | 1999-04-23 | Matsushita Electric Ind Co Ltd | 復号装置 |
US6378072B1 (en) | 1998-02-03 | 2002-04-23 | Compaq Computer Corporation | Cryptographic system |
EP1281254A4 (en) * | 2000-04-20 | 2003-06-04 | Noel D Matchett | CRYPTOGRAPHIC SYSTEM FOR DATA ENCRYPTION STANDARD |
US6862354B1 (en) * | 2000-09-29 | 2005-03-01 | Cisco Technology, Inc. | Stream cipher encryption method and apparatus that can efficiently seek to arbitrary locations in a key stream |
US7221756B2 (en) * | 2002-03-28 | 2007-05-22 | Lucent Technologies Inc. | Constructions of variable input length cryptographic primitives for high efficiency and high security |
US7284062B2 (en) * | 2002-12-06 | 2007-10-16 | Microsoft Corporation | Increasing the level of automation when provisioning a computer system to access a network |
-
2003
- 2003-11-25 US US10/721,398 patent/US7336783B2/en active Active
-
2004
- 2004-01-12 TW TW093100636A patent/TW200417219A/zh unknown
- 2004-01-16 JP JP2004008782A patent/JP2004226969A/ja active Pending
-
2008
- 2008-01-10 US US11/972,387 patent/US7885404B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62216447A (ja) * | 1986-03-17 | 1987-09-24 | Nippon Telegr & Teleph Corp <Ntt> | メツセ−ジ認証通信方式 |
JPS6350222A (ja) * | 1986-08-20 | 1988-03-03 | Matsushita Electric Ind Co Ltd | メツセ−ジ認証装置 |
JPH08307413A (ja) * | 1995-05-09 | 1996-11-22 | Nippon Telegr & Teleph Corp <Ntt> | 認証方式 |
JP2002358008A (ja) * | 2001-06-04 | 2002-12-13 | Mitsubishi Electric Corp | データ暗号化回路 |
JP2004226966A (ja) * | 2003-01-24 | 2004-08-12 | Samsung Electronics Co Ltd | 多数の動作モードを支援する暗号化装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008527899A (ja) * | 2005-01-11 | 2008-07-24 | サムスン エレクトロニクス カンパニー リミテッド | 通信システムにおける信号暗号化/解読装置及び方法 |
US7904714B2 (en) | 2005-01-11 | 2011-03-08 | Samsung Electronics Co., Ltd | Apparatus and method for ciphering/deciphering a signal in a communication system |
JP4659839B2 (ja) * | 2005-01-11 | 2011-03-30 | サムスン エレクトロニクス カンパニー リミテッド | 通信システムにおける信号暗号化/解読装置及び方法 |
JP2007034212A (ja) * | 2005-07-29 | 2007-02-08 | Nippon Telegr & Teleph Corp <Ntt> | ブロック暗号装置、ブロック復号装置、それらの方法及びプログラム |
JP4612501B2 (ja) * | 2005-07-29 | 2011-01-12 | 日本電信電話株式会社 | ブロック暗号装置、ブロック復号装置、それらの方法及びプログラム |
JP2007274715A (ja) * | 2006-02-15 | 2007-10-18 | Samsung Electronics Co Ltd | コンテンツの使用方法及び使用装置 |
US8510568B2 (en) | 2006-02-15 | 2013-08-13 | Samsung Electronics Co., Ltd. | Method and apparatus for importing a transport stream |
JP2015114434A (ja) * | 2013-12-10 | 2015-06-22 | Kddi株式会社 | ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20040146158A1 (en) | 2004-07-29 |
US20080240424A1 (en) | 2008-10-02 |
US7336783B2 (en) | 2008-02-26 |
TW200417219A (en) | 2004-09-01 |
US7885404B2 (en) | 2011-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7336783B2 (en) | Cryptographic systems and methods supporting multiple modes | |
US10594474B2 (en) | Architecture and instruction set for implementing advanced encryption standard (AES) | |
US9712319B2 (en) | Method and apparatus to encrypt plaintext data | |
TWI286689B (en) | Cryptographic apparatus for supporting multiple modes | |
KR101302799B1 (ko) | 단일 명령어를 이용한 다수 모드에서의 aes 암호화 또는 암호 해독 수행 | |
US11387980B2 (en) | Hardware multiple cipher engine | |
US20110255689A1 (en) | Multiple-mode cryptographic module usable with memory controllers | |
US20070180270A1 (en) | Encryption/decryption device, communication controller, and electronic instrument | |
US12010209B2 (en) | Memory-efficient hardware cryptographic engine | |
JP5118494B2 (ja) | イン−ストリームデータ暗号化/復号の機能を有するメモリシステム | |
JP2006330126A (ja) | 暗号化処理方法、および復号化処理方法 | |
JP4277833B2 (ja) | コンテンツ暗号化装置、コンテンツ暗号化方法 | |
US20090041245A1 (en) | Confidential information processing device,confidential information processing apparatus, and confidential information processing method | |
JP2007065963A (ja) | データ転送システム | |
JP2003169092A (ja) | 暗号化装置、及び復号化装置 | |
JP5100497B2 (ja) | 復号装置 | |
JPH07134548A (ja) | データ暗号化システム | |
JP2009075474A (ja) | 暗号処理装置 | |
JP2007102468A (ja) | Dma転送回路及びdmaコントローラ | |
JP2004241980A (ja) | 秘密鍵管理装置 | |
JP2004172855A (ja) | 暗号処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060821 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091222 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100525 |