(57)【要約】【課題】  ＣＢＣ、ＣＴＲおよび／またはＣＣＭモードのような複数の動作モードを支援する暗号化システム及び方法を提供する。【解決手段】  データ暗号化方法は、メモリから平文データブロックを読み込む段階（Ｓ２０）と、前記平文データブロックを入力バッファに貯蔵する段階（Ｓ２０）と、前記入力バッファに貯蔵された前記平文データブロックを第１モードを利用して暗号化して第１暗号文を発生させる段階（Ｓ２１）と、出力バッファに前記第１暗号文を貯蔵する段階（Ｓ２２）と、前記入力バッファに貯蔵された前記平文データブロックを第２モードを利用して暗号化して第２暗号文を発生させる段階（Ｓ２３）とを含む。例えば、第１モードがＣＴＲ（カウンター）モードであり、第２モードがＣＢＣ（ｃｉｐｈｅｒ  ｂｌｏｃｋ  ｃｈａｉｎｉｎｇ）モードであるＣＣＭ動作モードで、メモリから初期に読み込まれ、データ入力レジスターに貯蔵された平文ブロックはＣＴＲ及びＣＢＣモードに適用される。その結果、メモリ読み込み動作の数が減少される。【選択図】図２
2004226969.tif 000002
【特許請求の範囲】
【請求項１】
メモリから平文データブロックを読み込む段階と、
前記平文データブロックを入力バッファに貯蔵する段階と、
前記入力バッファに貯蔵された前記平文データブロックを第１モードを利用して暗号化して第１暗号文を発生させる段階と、
出力バッファに前記第１暗号文を貯蔵する段階と、
前記入力バッファに貯蔵された前記平文データブロックを第２モードを利用して暗号化して第２暗号文を作成する段階とを含むことを特徴とするデータ暗号化方法。
【請求項２】
前記暗号化はＣＣＭを利用して実行されることを特徴とする請求項１に記載のデータ暗号化方法。
【請求項３】
前記第１モードはＣＴＲ（カウンター）モードを含むことを特徴とする請求項１に記載のデータ暗号化方法。
【請求項４】
前記第２モードはＣＢＣ（ｃｉｐｈｅｒ  ｂｌｏｃｋ  ｃｈａｉｎｉｎｇ）モードを含むことを特徴とする請求項１に記載のデータ暗号化方法。
【請求項５】
前記第２暗号文を初期ベクトル（ＩＶ）バッファに貯蔵する過程をさらに含むことを特徴とする請求項１に記載のデータ暗号化方法。
【請求項６】
前記第２暗号文を前記出力バッファに貯蔵する段階をさらに含むことを特徴とする請求項１に記載のデータ暗号化方法。
【請求項７】
ブロック暗号化モジュールの外部にあるメモリから平文データブロックを読み込む段階と、
前記平文データブロックを前記ブロック暗号化モジュールの入力バッファに貯蔵する段階と、
前記入力バッファに貯蔵された前記平文データブロックを第１モードを利用して暗号化して第１暗号文を作成する段階と、
前記第１暗号文を前記ブロック暗号化モジュールの出力バッファに貯蔵する段階と、
前記入力バッファに貯蔵された前記平文データブロックを第２モードを利用して暗号化して第２暗号文ブロックを作成する段階とを含むことを特徴とする暗号化システムの前記ブロック暗号化モジュールでのデータ暗号化方法。
【請求項８】
暗号化はＣＣＭを利用して形成し、前記第１モードはＣＴＲ（カウンター）モードを含み、前記第２モードはＣＢＣ（ｃｉｐｈｅｒ  ｂｌｏｃｋ  ｃｈａｉｎｉｎｇ）モードを含むことを特徴とする請求項７記載のデータ暗号化方法。
【請求項９】
前記第２暗号文を初期ベクトル（ＩＶ）バッファに貯蔵する過程をさらに含むことを特徴とする請求項８に記載のデータ暗号化方法。
【請求項１０】
前記第２暗号文を前記出力バッファに貯蔵する段階をさらに含むことを特徴とする請求項８に記載のデータ暗号化方法。
【請求項１１】
暗号文データブロックをメモリから読み込む段階と、
前記暗号文データブロックを入力バッファに貯蔵する段階と、
前記入力バッファに貯蔵された前記暗号文データブロックを第１モードを利用して解読して平文ブロックを作成する段階と、
前記平文を前記入力バッファ、出力バッファまたは両側バッファに貯蔵する段階と、
前記入力バッファまたは前記出力バッファに貯蔵された前記平文を暗号化して暗号文を作成する段階とを含むことを特徴とするデータ暗号化方法。
【請求項１２】
前記第２モードを利用して前記平文を暗号化する以前に、前記平文の１ビット以上をロジックレベル“０”に転換する段階をさらに含むことを特徴とする請求項１１に記載のデータ暗号化方法。
【請求項１３】
平文データブロックをメモリから読み込む段階と、
前記平文データブロックを入力バッファに貯蔵する段階と、
前記入力バッファに貯蔵された前記平文データブロックを第１モードを利用して暗号化して第１暗号文を作成する段階と、
前記第１暗号文を出力バッファに貯蔵する段階と、
前記入力バッファに貯蔵された前記平文データブロックを第２モードを利用して暗号化して第２暗号文を作成する段階とを含むことを特徴とする暗号化システム。
【請求項１４】
暗号文データブロックを前記メモリから読み込む段階と、
前記暗号文データブロックを入力バッファに貯蔵する段階と、
前記入力バッファに貯蔵された前記暗号文データブロックを第１モードを利用して解読して平文ブロックを作成する段階と、
前記平文を前記入力バッファ、出力バッファまたは両側バッファに貯蔵する段階と、
前記入力バッファまたは前記出力バッファに貯蔵された前記平文を第２モードを利用して暗号化して暗号文を作成する段階とを含むことを特徴とする請求項１３に記載の暗号化システム。
【請求項１５】
機械により読み込み可能であり、前記機械により実行可能な指示プログラムを実体的に具体化して、
平文データブロックをメモリから読み込む段階と、
前記平文データブロックを入力バッファに貯蔵する段階と、
前記入力バッファに貯蔵された前記平文データブロックを第１モードを利用して暗号化して第１暗号文を作成する段階と、
前記第１暗号文を出力バッファに貯蔵する段階と、
前記入力バッファに貯蔵された前記平文データブロックを第２モードを利用して暗号化して第２暗号文を作成する段階とを含むことを特徴とするデータ暗号化方法過程を実行させるプログラム貯蔵装置。
【請求項１６】
メモリからデータブロックをリードするメモリ制御機と、
前記メモリからリードされたデータブロックを貯蔵する入力バッファと、
前記入力バッファに貯蔵された前記データブロックをＣＴＲモード、ＣＢＣモード及びＣＣＭ（ＣＴＲ及びＣＢＣ−ＭＡＣ）モードを含む暗号化モジュールにより支援される複数の動作モードうちの一つモードを利用して暗号化する暗号化モジュールと、
前記暗号化モジュールにより暗号化された前記データを貯蔵する出力バッファと、
制御信号を発生させて前記メモリ制御機と、入力バッファ及び出力バッファと、前記ブロック暗号化モジュールを制御する制御ユニットとを含み、前記制御信号は前記暗号化モジュールの動作モードを特定化するモード制御信号を有することを特徴とする暗号化装置。
【請求項１７】
前記暗号化モジュールは、
ＣＴＲモードと関連されたデータを貯蔵するＰＬレジスターと、
前記ＰＬレジスターから出力されたデータにロジック“１”を加える加算機モジュールと、
ＣＢＣモードと関連されたデータを貯蔵する初期ベクトルレジスターと、
前記入力バッファから入力されたデータブロックを貯蔵するデータ入力レジスターと、
前記データ出力バッファに出力されるデータブロックを貯蔵するデータ出力レジスターと、
前記初期ベクトルレジスター及び前記データ入力レジスターに貯蔵されたデータに対してＸＯＲ演算を実施する第１ロジック演算機と、
ブロック暗号化モジュールと、
前記ブロック暗号化モジュールから出力されたデータ及び前記入力レジスターに貯蔵されたデータに対してＸＯＲ演算を実施する第２ロジック演算機とを含むことを特徴とする請求項１６に記載の暗号化装置。
【請求項１８】
前記暗号化モジュールのデータ経路を選択することにより、モード制御信号に反応して前記モード制御信号により特定化された動作モードを実行させる複数のスイッチング装置をさらに含むことを特徴とする請求項１７に記載の暗号化装置。
【請求項１９】
前記スイッチング装置は前記ＰＬレジスターの出力または前記第１ロジック演算機の出力をモード制御信号に反応して前記ブロック暗号化モジュールの入力に選択的に提供する第１多重化機を含むことを特徴とする請求項１８に記載の暗号化装置。
【請求項２０】
前記スイッチング装置は前記ブロック暗号化モジュールの出力を前記初期ベクトルレジスターの入力または前記第２ロジック演算機の入力に選択的に転送する第２多重化機を含むことを特徴とする請求項１８に記載の暗号化装置。
【請求項２１】
前記スイッチング装置は前記データ入力レジスターの出力をモード制御信号により特定化された動作モードにより、前記第１ロジック演算機の入力または前記第２ロジック演算機の入力に選択的に転送する第３多重化機を含むことを特徴とする請求項１８に記載の暗号化装置。
【請求項２２】
前記スイッチング装置は前記データ入力レジスターまたはデータ出力レジスターの出力をモード制御信号により特定化された動作モードにより、前記第１ロジック演算機または前記第２ロジック演算機の入力に選択的に転送する第４多重化機を含むことを特徴とする請求項１８に記載の暗号化装置。
【請求項２３】
前記第１ロジック演算機に入力される前記データ入力レジスターの平文ブロックを“０”パッドするミュートモジュールをさらに含むことを特徴とする請求項１７に記載の暗号化装置。
【請求項２４】
ＣＣＭ動作モードで、前記データ入力バッファに貯蔵された平文データブロックがＣＣＭモードのためのＣＴＲモード及びＣＢＣ−ＭＡＣ動作モードに適用されることを特徴とする請求項１７に記載の暗号化装置。
【請求項２５】
ＣＣＭ動作モードで、前記データ入力レジスターに貯蔵された暗号文ブロックに対して、ＣＴＲ動作モードを支援することにより発生された平文データブロックが前記ＣＣＭモードのためのＣＢＣ−ＭＡＣ動作モードに適用されることを特徴とする請求項１７に記載の暗号化装置。
【請求項２６】
請求項１６に記載の暗号化装置を含むことを特徴とする通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ暗号化方法及びシステムに関するものであり、より詳細には、増加率でデータを暗号化して解読する効率的なＣＣＭ（ｃｏｕｎｔｅｒ  ｗｉｔｈ  ｂｌｏｃｋ  Ｃｈａｉｎｉｎｇ−Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｏｄｅ）モードを含む多様な動作モードを支援する暗号化方法及びシステムに関するものである。
【背景技術】
【０００２】
典型的に、暗号はデータ貯蔵及び／または通信でデータの保安／信頼性を保障するために使用される。例えば、通信システムで、平文データ（ｐｌａｉｎｔｅｘｔ  ｄａｔａ）は転送ノードで暗号化（コーディング）されて暗号文（ｃｉｐｈｅｒｔｅｘｔ）が作成され、暗号文は受信機ノードに転送されることができる。暗号文が受信機で解読（デコーディング）されて、平文が得られる。データの暗号化は転送データの信頼性を保障する。あるアプリケーション（ａｐｐｌｉｃａｔｉｏｎ）であれ、データの認証及びデータの信頼性を保障することができる暗号スキーム（ｓｃｈｅｍｅ）を備えることが望ましい。
【０００３】
例えば、データの信頼性及び認証の保障性を提供する暗号化プロトコール（ｐｒｏｔｏｃｏｌ）は、ＣＣＭ（ｃｏｕｎｔｅｒ  ｗｉｔｈ  ｂｌｏｃｋ  Ｃｈａｉｎｉｎｇ−Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｏｄｅ）である。一般に、ＣＣＭは対称キーブロック暗号（ｓｙｍｍｅｔｒｉｃ  ｋｅｙ  ｂｌｏｃｋ  ｃｉｐｈｅｒ）の動作モードである。対称キーブロック暗号は、データ信頼性のためのＣＴＲ（Ｃｏｕｎｔｅｒ）の技術とデータ認証及び集積のためのＣＢＣ−ＭＡＣ（ｃｉｐｈｅｒ  ｂｌｏｃｋ  ｃｈａｉｎｉｎｇ−ｍｅｓｓａｇｅ  ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ｃｏｄｅ）モードの組合せである。
【０００４】
提案された新規標準案で、ＣＣＭは対称キーブロック暗号アルゴリズムを基礎とする。対称キーブロック暗号アルゴリズムのブロックサイズは、ＷＬＡＮ（ｗｉｒｅｌｅｓｓ  ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）アプリケーションのために新しく提案されたＩＥＥＥ８０２．１１ｉでの利用のための１２８ビット、ＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）プロトコル（ｐｒｏｔｏｃｏｌ）と同様である。
【０００５】
一般に、ＣＣＭモードはＣＣＭ暗号化過程とＣＣＭ解読過程を含む。ＣＣＭ暗号化及び解読は同一の暗号キーとブロック暗号化機能（例えば、順方向暗号化機能（ｆｏｒｗａｒｄ  ｃｉｐｈｅｒ  ｆｕｎｃｔｉｏｎ））を利用する。詳細には、提供されたメッセージ（例えば、ヘッダーとペイロード（ｐａｙｌｏａｄ）を有するデータパケット）のために、ＣＣＭ暗号化はヘッダーとペイロードとノンス（ｎｏｎｓｅ、前記ヘッダー／ペイロード対に割当てられた唯一の値（ｂｉｔ  ｓｔｒｉｎｇ））にＣＢＣモードを適用してＭＡＣ（Ｍｅｓｓａｇｅ  ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ｃｏｄｅ、メッセージ認証コード）を作成する段階、ＭＡＣ及びペイロードを暗号化するようにＣＴＲモードを提供して暗号文を作成する段階を含む。
【０００６】
一方、ＣＣＭ解読はＣＢＣモードを適用して暗号文を解読する（ＭＡＣ及びペイロード復元）段階、ＣＢＣモードを適用してＭＡＣを作成する段階、発生されたＭＡＣと受信されたＭＡＣを比較してメッセージを認証する段階を含む。
【０００７】
図１は従来のＣＣＭモードの動作を図示した順序図である。詳細には、図１はデータの一ブロック（例えば、平文の一ブロック）を暗号化する動作の従来のＣＣＭモードを図示した。以下、データブロックは前記ブロック暗号化（例えば、ＡＥＳ）のサイズである１２８ビット（１６バイト）のようなブロックサイズを有する。
【０００８】
最初、データブロック（平文ブロック）はメモリ（例えば、ハードディスクメモリ）から読み込まれる（ｒｅａｄ）（Ｓ１０）。理想的に、読み込み過程は少なくとも７クロックサイクルがかかって１６バイト（１２８ビット）を読み込む。
【０００９】
続いて、平文ブロックはＣＴＲモードを利用することにより暗号化される。理想的な場合でも、少なくとも１０クロックサイクルが要求される（Ｓ１１）。暗号化されたブロックはメモリに貯蔵され、この場合に理想的に少なくとも７クロックサイクルが要求される（Ｓ１２）。
【００１０】
続けて、同一な平文ブロック（例えば、ＣＴＲ暗号化のために利用されるものと同一である平文データブロック）は再びメモリから読み込む。理想的な場合に少なくとも７クロックサイクルが要求される（Ｓ１３）。続いて、平文ブロックはＣＢＣ−ＭＡＣモードを利用することにより暗号化され、理想的な場合に１０クロックサイクルが要求される（Ｓ１４）。暗号化されたブロックはメモリに貯蔵され（記録され）、理想的な場合に７クロックサイクルが要求される（Ｓ１５）。
【００１１】
以上のように、図１に図示された従来の方法は理想的な場合、一つのデータブロック（一つの平文ブロック）をＣＣＭモードを利用して暗号化するために、少なくとも４８クロックサイクルが要求される。図１の従来の暗号化方法は非効率的な残余過程を含む。例えば、同一の平文ブロックがメモリから二度、ＣＴＲ暗号化（Ｓ１０）及びＣＢＣ暗号化（Ｓ１３）、および読み込みされる。第２メモリ読み込み動作（Ｓ１３）をリダンダント（ｒｅｄｕｎｄａｎｔ）する。その上に、ＣＣＭのために利用されるＭＡＣ値が最後に平文ブロック過程進行後に得られる集積ＭＡＣ値であるので、記録過程（Ｓ１５）が各ブロックのためのＣＢＣ暗号化過程のために必要ではない。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明の目的は、データ暗号化保安を提供する暗号化システム及び方法を提供することにある。
【００１３】
本発明の他の目的は、ＣＢＣ、ＣＴＲ及び／またはＣＣＭモードのような複数の動作モードを支援する暗号化システム及び方法を提供することにある。
【００１４】
また、本発明の目的は、暗号／解読を実行させるクロックサイクルの数を減少させることにより、増加された暗号／解読比率を提供する効率的なＣＣＭモードを提供する暗号化システム及び方法を提供することにある。
【課題を解決するための手段】
【００１５】
上述した目的を達成するための本発明によるデータ暗号化方法は、メモリから平文データブロックをリードする段階と、前記平文データブロックを入力バッファに貯蔵する段階と、前記入力バッファに貯蔵された前記平文データブロックを第１モードを利用して暗号化して第１暗号文を作成する段階と、出力バッファに前記第１暗号文を貯蔵する段階と、前記入力バッファに貯蔵された前記平文データブロックを第２モードを利用して暗号化して第２暗号文を作成する段階とを含む。第２暗号文は動作モードにより、出力バッファまたはある異なるバッファのようなバッファに貯蔵されることができる。前記方法はＣＣＭ動作モードを含み、第１モードはＣＴＲ（カウンター）モードであり、第２モードはＣＢＣ（ｃｉｐｈｅｒ  ｂｌｏｃｋ  ｃｈａｉｎｉｎｇ）モードである。ＣＣＭモードで、メモリから初期に解読され、データ入力レジスターに貯蔵された平文ブロックがＣＴＲ及びＣＢＣモードに適用されてメモリ解読動作の数が減少される。
【００１６】
上述した他の目的を達成するための本発明による暗号化解読方法は、暗号文データブロックをメモリからリードする段階と、暗号文データブロックを入力バッファに貯蔵する段階と、入力バッファに貯蔵された前記暗号文データブロックを第１モードを利用して解読して平文ブロックを作成する段階と、前記平文を前記入力バッファ、出力バッファまたは両側バッファに貯蔵する段階と、入力バッファまたは前記出力バッファに貯蔵された前記平文を暗号化して暗号文を作成する段階とを含む。前記方法は、ＣＣＭ動作モードを含み、第１モードはＣＴＲ（カウンター）モードであり、第２モードはＣＢＣ（ｃｉｐｈｅｒ  ｂｌｏｃｋ  ｃｈａｉｎｉｎｇ）モードである。ＣＣＭモードで、ＣＴＲ（解読）モードの結果として発生された平文ブロックはＭＡＣを作成するＣＢＣモードに適用されてメモリリード動作の数を減少させる。前記方法は、第２モードを利用して暗号化する以前に前記平文の一つ以上のビットをロジックレベル“０”に転換させる。
【発明の効果】
【００１７】
本発明の暗号化システム及び方法は暗号／解読を実行させるクロックサイクルの数を減少させて、暗号／解読比率を向上できる。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照して本発明の望ましい一実施例をより詳細に説明する。
【００１９】
本発明の実施例はＣＢＣ、ＣＴＲ及びＣＣＭのような多様な動作モードを支援する暗号システム及び方法を含む。また、本発明の実施例は従来の暗号化方法に比べて暗号／解読を実行するに所要されるクロックサイクルを減少させることにより、増加された暗号／解読率を提供する効率的なＣＣＭ動作モードを提供する暗号システム及び方法をさらに含む。
【００２０】
図２は本発明の望ましい一実施例による暗号化方法を図示した順序図である。より詳細には、図２は本発明の望ましい一実施例によるデータブロックを暗号化する方法を図示した。
【００２１】
平文ブロックがメモリ（例えば、ハードディスクのような永続的な貯蔵物）から読み込まれ（ｒｅａｄ）、入力バッファに貯蔵される（Ｓ２０）。
【００２２】
入力バッファに貯蔵された平文ブロックは第１モードを利用することにより暗号化されて第１暗号文ブロックが生成される（Ｓ２１）。
【００２３】
第１暗号文ブロックが出力バッファに貯蔵される（Ｓ２２）。
【００２４】
入力バッファに貯蔵された平文ブロックが第２モードを利用することにより、再び暗号化されて第２暗号文ブロックが発生される（Ｓ２３）。
【００２５】
第２暗号文ブロックが前記動作モードにより、出力バッファまたは他のバッファに貯蔵されることができる（Ｓ２４）。
【００２６】
本発明の一実施例により、ＣＣＭ暗号動作モードは図２の方法により具現されることができる。ここで、第１モードはＣＴＲモードであり、第２モードはＣＢＣモードである。平文ブロックがメモリから読み込まれて、少なくとも二つのモード、例えば、ＣＴＲ及びＣＢＣが適用される（Ｓ２０）。
【００２７】
これは同一である平文ブロックが二度メモリから読み込まれる図１の従来の方法と異なる。また、図２のＣＣＭモードで、ＣＢＣモードの結果がメモリに記録される（図１のＳ１５）図１の従来の方法と対照的にＣＢＣモード（第２モード）の結果がバッファに貯蔵される（Ｓ２４）。
【００２８】
本発明により、データブロックのためのＣＢＣモードの前記結果がバッファに蓄積され（メモリに記録されることと反対に）、次データブロックを暗号化するように入力として利用される。平文ブロックに対して前記過程が実行された後、最後に蓄積された値がＭＡＣである。
【００２９】
したがって、図２に示す方法は従来の方法と比較して暗号率を増加できる。
【００３０】
図１及び図２は、１２８ビットのブロックサイズを有するブロック暗号化を実行する場合のＣＣＭモードを示す。上述したように、図２の方法は図１の方法と異なり、少なくとも一度のメモリからの読み込み過程またはメモリへの記録過程を減少させた（例えば、Ｓ１３及びＳ１５）。その結果、少なくとも１４クロックサイクルほどのクロックサイクルが減少された。
【００３１】
理想的な場合、これはＣＣＭモードでデータブロックの処理に要求されるクロックサイクルの数を約３０％減少させる。さらに、システムバス競争を考慮すると、図２の方法は図１の従来の方法に比べてＣＣＭモードでデータブロックの処理のために要求されるクロックサイクルの数を５０％減少させることができる。
【００３２】
図３は、本発明の望ましい他の実施例による暗号化方法を図示した順序図である。詳細には、図３は本発明のデータブロックの解読方法を図示した。
【００３３】
暗号文ブロックがメモリから読み込まれて、入力バッファに貯蔵される（Ｓ３０）。
【００３４】
入力バッファに貯蔵された暗号文ブロックが第１モードを利用することにより解読されて、平文ブロックが作成される（Ｓ３１）。
【００３５】
平文ブロックが入力バッファ（または出力バッファ、または入力バッファ／出力バッファ）に貯蔵される（Ｓ３２）。入力バッファ（または出力バッファ）に貯蔵された平文ブロックが第２モードを利用することにより暗号化されて暗号文ブロックが生成される（Ｓ３３）。暗号文ブロックは、動作モードに依存する出力バッファ、または他のバッファに貯蔵されることができる（Ｓ３４）。
【００３６】
本発明の一実施例によるＣＣＭ解読動作モードは、図３の前記方法を利用することにより実行できる。ここで、第１モードはＣＴＲモードであり、第２モードはＣＢＣモードである。メモリ解読過程（Ｓ３０）が実行されてＣＴＲ解読のための暗号文ブロックが得られ、平文ブロック（前記ＣＴＲ解読の結果）にＣＢＣモードが適用されてＭＡＣが決定される。即ち、ＣＢＣモードのための平文ブロックはメモリから読み込まれない。
【００３７】
さらに、図３の方法に基づくＣＣＭモードでは、各データブロックのためのメモリに書かれる代わりに、ＣＢＣモード（第２モード）の結果がバッファに貯蔵（蓄積）される（Ｓ３４）。だから、図２の暗号化方法と関連して、図３の解読方法はメモリ読み込み／記録過程の重複を除去して、解読率を向上できる。
【００３８】
図４は、本発明の望ましい一実施例による通信システムを図示したハイレベルダイヤグラムである。図４で、通信システム４０は、ＣＰＵ４１、メモリ４２、暗号化装置４３、アービター（ａｒｂｉｔｅｒ）４４及びシステムバス４５を含む。図４に図示された通信システム４０はテスクトップ、ノードブック、ＰＤＡ及び移動通信端末機のような多様な装置に具現されることができる。
【００３９】
メモリ４２は、ＣＰＵ４１により実行される暗号アプリケーションを持続的に貯蔵して暗号化装置４３を制御する。また、メモリ４２は、平文、暗号文及び他のデータを貯蔵することができる。アービター（ａｒｂｉｔｅｒ）４４は、メモリ４２のＤＭＡ（ｄｉｒｅｃｔ  ｍｅｍｏｒｙ  ａｃｃｅｓｓ）実行のためのシステムバス４５の利用のための多様なマスタ（例えば、ＣＰＵ４１、暗号化装置４３など）間を仲裁する。暗号化装置４３は上述された暗号化システム及び方法を具現する。例えば、暗号化装置４３は図２及び図３の方法を基礎とした暗号化動作モード及び解読動作モードを具現することができる。
【００４０】
図５は、本発明の望ましい一実施例による暗号化システムを図示したダイヤグラムである。詳細には、図５は、図４の暗号化装置４３の構成を図示した。図５で、システムバス４５に連結された暗号化システム５０は、制御ユニット５１、ＤＭＡ制御機５２、入力バッファ５３、出力バッファ５４、及びブロック暗号化モジュール５５とを含む。制御ユニット５１は複数の支援された動的モードのうちの一つのモードを実行させるＣＰＵ４１による要求に応答して、暗号化システムの多様なモジュール５２〜５５を制御する制御信号を発生させる。
【００４１】
ＣＰＵ４１は、例えば、以下に説明される暗号化情報として、データがメモリ４２からアクセスされるソース住所（ＳＡ）、データがメモリ４２に書かれるようにする目的地住所（ｄｅｓｔｉｎａｔｉｏｎ  ａｄｄｒｅｓｓ、ＤＡ）、データサイズ、ブロックサイズ、暗号化キーＫ、キー（ｋｅｙ）サイズ、方向（暗号化及び解読）、初期データ（ＩＶ：初期ベクトル）及び動作モードを提供する。
【００４２】
ＤＭＡ制御機５２は、メモリ４２からデータブロック（例えば、平文ブロック及び暗号文ブロック）を読み込んだり、メモリ４２にデータブロックを記録する。ＤＭＡ制御機５２は、メモリ４２から読み込まれた一つ以上のデータブロックを入力バッファ５３に貯蔵する。入力バッファ５３に貯蔵されたデータブロックはブロック対ブロックに基づいて、ブロック暗号化モジュール５５に転送される。例えば、ブロック暗号化モジュール５５が１２８ビット暗号化ブロックアルゴリズム（例えば、ＡＥＳ）を支援すると、入力バッファ５３からブロック暗号化モジュール５５に転送された各ブロックのサイズは１２８ビットである。
【００４３】
さらに、ＤＭＡ制御機５２は、出力バッファ５４に貯蔵された一つ以上のデータブロックをメモリ４２に貯蔵する。例えば、出力バッファ５４はブロック暗号化モジュール５５から出力された暗号化結果（例えば、暗号文）を貯蔵し、結果を制御ユニット５１により制御されるＤＭＡ制御機５２に転送する。
【００４４】
入力バッファ５３と出力バッファ５４は各々ＦＩＦＯ（Ｆｉｒｓｔ−Ｉｎ  Ｆｉｒｓｔ−Ｏｕｔ）バッファを含み、バッファのサイズはブロック暗号化モジュール５５により具現されるブロックサイズの少なくとも二倍である。例えば、ブロックサイズが１２８ビットである場合、入力バッファ５３及び出力バッファ５４は少なくとも２５６ビットを各々貯蔵する。
【００４５】
本発明の一実施例によるＣＢＣ、ＣＴＲ及び／またはＣＣＭモードのような一つまたは複数の動作モードを支援するブロック暗号化モジュール５５については、図６から図１０及び図１１を参照して、さらに詳細に上述する。例えば、図６は本発明の一実施例による図５のブロック暗号化モジュール５５を示す。詳細には、図６はＣＢＣモードまたはＣＢＣ−ＭＡＣモードを支援するように具現されることができるブロック暗号化モジュール６０を示す。
【００４６】
図６に示すように、ブロック暗号化モジュール６０はＩＶ（初期ベクトル：ｉｎｉｔｉａｌｉｚａｔｉｏｎ  ｖｅｃｔｏｒ）レジスター６１、データ入力レジスター６２、データ出力レジスター６３、ＸＯＲ（排他的論理輪）演算機６４及びブロック暗号化機（または、ブロック暗号化）６５を含む。
【００４７】
ＸＯＲ演算機６４はデータ入力レジスター６２に貯蔵された平文ブロック（例えば、図５の入力バッファ５３から入力されたブロック）及びＩＶレジスター６１に貯蔵されたデータ（例えば、ＩＶ）に対してＸＯＲ演算を実施する。ＣＢＣモードで、ＩＶは例えば、図５の制御部５１によりＩＶレジスター６１に貯蔵される。ＸＯＲ演算の結果はブロック暗号化機６５に入力される。
【００４８】
ブロック暗号化機６５は、制御ユニット５１から提供された暗号キーＫを利用してＸＯＲ結果を暗号化して暗号文ブロックを発生させる。暗号文ブロックは、ブロック暗号化機６５から出力された後、モードによりデータ出力レジスター６３及び／またはＩＶレジスター６１に貯蔵される。例えば、ＣＢＣモードで、ブロック暗号化機６５から出力された暗号文ブロックはデータ出力レジスター６３に貯蔵されることができ、出力バッファ５４に出力される。
【００４９】
一方、ＣＢＣ−ＭＡＣモード（ＣＣＭモードのための）で、ブロック暗号化機６５から出力された暗号文ブロックはＩＶレジスター６１に貯蔵されてデータ入力レジスター６２に入力された後、次データブロックの暗号化に利用されることができる（暗号文が具現されるにつれてデータ出力レジスターに、また貯蔵されても）。ＣＢＣ−ＭＡＣモードで、（例えば、メモリ４２に貯蔵された）全ての平文ブロックの暗号化結果は、ＩＶレジスター６１での最後の値がＭＡＣ値を示すことによって、ＩＶレジスター６１内で蓄積される。ＭＡＣ値は出力バッファ５４に出力するために、データ出力レジスター６３に貯蔵される。
【００５０】
図７は、本発明の他の実施例による図５のブロック暗号化モジュール５５を図示した図面である。詳細には、図７は、本発明の望ましい一実施例によるＣＴＲモードを支援するブロック暗号化モジュールを図示する。
【００５１】
図７に示すように、ブロック暗号化モジュール７０はＰＬ（ｐｒｅ−ｌｏａｄ）レジスター７１、データ入力レジスター７２、データ出力レジスター７３、加算機７４、ブロック暗号化機７５及びＸＯＲ演算機７６を含む。ＣＴＲモードを始めるために、例えば、制御ユニット５１から提供された初期データがＰＬレジスター７１に貯蔵される。データ入力レジスター７２は入力バッファ５３から入力されたデータブロック（例えば、平文ブロックまたは暗号文ブロック）を貯蔵する。
【００５２】
加算機７４はＰＬレジスター７１のコンテンツに１を加える。加算機７４の出力はＰＬレジスター７１に貯蔵される。ブロック暗号化機７５は、例えば、図５の制御ユニット５１から提供された暗号化キーＫを利用してＰＬレジスター７１に貯蔵されたデータを暗号化する。ＸＯＲ演算機７６はブロック暗号化機７５の出力とデータ入力レジスター７２に貯蔵されたデータ（平文／暗号文）のブロックに対してＸＯＲ演算を実行する。ＸＯＲ演算の結果は、データ出力レジスター７３に貯蔵される。モードによりデータ出力レジスター７３に貯蔵されたデータは暗号文ブロック（ＣＴＲ暗号）または平文ブロック（ＣＴＲ解読）である。データ出力レジスター７３のコンテンツは、例えば、図５の出力バッファ５４に出力される。
【００５３】
本発明の他の実施例によると、図５のブロック暗号化モジュール５５は複数の暗号化モードを支援する構造を含む。例えば、図８は、本発明の一実施例によるＣＢＣ、ＣＴＲ及びＣＣＭを含む複数の暗号化モードを支援するブロック暗号化モジュール８０を図示した概略図である。
【００５４】
ブロック暗号化モジュール８０は、キーレジスター８１、ＰＬ（ｐｒｅｌｏａｄ）レジスター８２、ＩＶレジスター８３、データ入力レジスター８４、データ出力レジスター８５、足し算機８６、ミュート（ｍｕｔｅ、ｐａｄｄｉｎｇ）モジュール８７、複数のＸＯＲ演算機８８、８９、ブロック暗号９０（例えば、１２８ビットＡＥＳ）及び複数の多重化機（ｍｕｌｔｉｐｌｅｘｅｒｓ、Ｍ１、Ｍ２、Ｍ３）を含む。
【００５５】
制御機（例えば、図５の制御ユニット５１）は、ブロック暗号９０の現在モードを示すモード信号（ＭＤ）を示す。ブロック暗号９０が独立的にＣＢＣ、ＣＴＲおよびＣＣＭモードを支援する本発明で、制御機はシステムモジュールを特定モードで動作させる制御信号として２ビットモード信号（ＭＤ）を発生させることができる。
【００５６】
例えば、多重化機（Ｍ１、Ｍ２、Ｍ３）は複数の入力経路（ｐａｔｈ）または出力経路のうちの一つの経路を選択することにより、モード信号（ＭＤ）に反応してデータを特定モードに依存して適切であるモジュールに転送する。本発明の一実施例によると、“０１”のモード信号（ＭＤ）はＣＢＣモードを意味し、“１０”のモード信号（ＭＤ）はＣＴＲモード、及び“１１”のモード信号（ＭＤ）はＣＣＭモードを意味する。さらに、制御機は、環境レジスターに制御情報を貯蔵することができる。制御情報は例えば、データブロックサイズ、キー、キーサイズ、方向（暗号または解読）、ＩＶ、モード及びＰＬ値を含む。制御機は例えば、図４のＣＰＵ４１から制御情報を受信する。
【００５７】
ブロック暗号化モジュール８０は図２から図７を参照して上述された実施例で基礎とした構造、例えば、独立的にＣＢＣ、ＣＴＲ及びＣＣＭモードを支援する構造を含む。暗号化システムの各モジュール／要素は支援された全てモードのうちの一つ以上のモードのために利用される。例えば、ブロック暗号化モジュール８０は図７を参照して説明したのと同様のＣＴＲモードを支援する。本発明の他の実施例によるブロック暗号化モジュール８０は、図６を参照して上述されたのと同様のＣＢＣモードを支援する。さらに、本発明のまた他の実施例によるブロック暗号化モジュール８０は、ＣＣＭモード具現のためのＣＴＲ及びＣＢＣ−ＭＡＣモードを支援する。これについては図９を参照して後述する。
【００５８】
詳細には、図８で、本発明の一実施例によるＣＴＲモードはキーレジスター８１、ＰＬレジスター８２、データ入力レジスター８４、データ出力レジスター８５、加算機８６、ＸＯＲ演算機８９及びブロック暗号化モジュール９０を利用して実行される。
【００５９】
ＣＴＲモードは図５の制御ユニット５１により発生されるＣＴＲモード信号（ＭＤ）によりセットされる。キーレジスター８１は暗号化キーＫを貯蔵する。暗号化キーＫは制御ユニット５１から受信され、ＣＴＲ暗号または解読モードのためのデータブロックを暗号化させるブロック暗号化モジュール９０により利用される。ＰＬレジスター８２は制御機（例えば、制御ユニット５１）から提供された初期データを貯蔵する。データ入力レジスター８４は暗号化される平文ブロックまたは解読される暗号文ブロック、例えば、図５の入力バッファ５３から受信されたものを貯蔵する。データブロックを処理するＣＴＲモードで、ＰＬレジスター８２に貯蔵されたデータはキーレジスター８１に貯蔵された暗号化キーを利用してブロック暗号化モジュール９０により暗号化される。多重化機（Ｍ１）はＣＴＲモード信号に反応してＰＬレジスター８２の出力をブロック暗号化モジュール９０に転送する。
【００６０】
続けて、ブロック暗号化モジュール９０から出力された暗号化結果（暗号化されたデータ）は多重化機（Ｍ３）を通じてＸＯＲ演算機８９に転送される。データ入力レジスター８４に貯蔵されたデータブロック（平文／暗号文ブロック）のコピーは多重化機（Ｍ２）を通じてＸＯＲ演算機８９に転送される。ＸＯＲ演算機８９はブロック暗号化モジュール９０から出力された暗号化されたデータ及びデータ入力レジスター８４から出力されたデータブロックに対してＸＯＲ演算を実行する。ＸＯＲ演算の結果（ＣＴＲモードの結果）はデータ出力レジスター８５に貯蔵される。ＰＬレジスターは、加算機８６によりＰＬレジスター８２の前回の出力に１を加えることにより増加され、加算結果がＰＬレジスター８２に貯蔵される。データ出力レジスター８５に貯蔵されたＣＴＲモードの結果は例えば、図５の出力バッファ５４に出力される。
【００６１】
本発明の他の実施例によるブロック暗号化モジュール８０は、キーレジスター８１、ＩＶレジスター８３、データ入力レジスター８４、データ出力レジスター８５、ＸＯＲ演算機８８及びブロック暗号化モジュール９０を利用してＣＢＣ動作モードを実行する。詳細には、モード信号（ＭＤ）が発生されてブロック暗号化モジュール８０をＣＢＣモードにセットする。ＸＯＲ演算機８８はデータ入力レジスター８４に貯蔵された平文ブロック及びＩＶレジスター８３に貯蔵されたデータ（例えば、ＩＶ）に対してＸＯＲ演算を実行する。
【００６２】
多重化機（Ｍ２）はＣＢＣモード制御信号に反応して、データ入力レジスター８４のコンテンツをＸＯＲ演算機８８に転送する。ＩＶは例えば、図５の制御ユニット５１によりＩＶレジスター８３にＣＢＣモードのための初期データとして貯蔵される。ＸＯＲ演算の結果はブロック暗号化モジュール９０に入力される。ブロック暗号化モジュール９０はキーレジスター８１から提供された暗号化キーＫを利用してＸＯＲ結果を暗号化して暗号文ブロックを発生させる。暗号文ブロックはブロック暗号化モジュール９０から出力され、その後にＩＶレジスター８３への貯蔵のために多重化機（Ｍ３）により転送される。ＩＶレジスター８３のデータコンテンツは例えば、図５の出力バッファ５４への出力のためにデータ出力レジスター８５にコピーされる。
【００６３】
本発明の他の実施例によるブロック暗号化モジュール８０はＣＣＭモードを具現する。例えば、図９は本発明の一実施例による図８の構成を利用して具現されることができるＣＣＭ動作モードを図示した順序図である。図９は一つのデータブロック、例えば平文ブロック（暗号化モード）または暗号文ブロック（暗号化モード）のためのＣＣＭ動作モードを図示した。
【００６４】
一般に、ＣＣＭモードはデータブロックのためのＣＢＣ−ＭＡＣモードにより後続されるＣＴＲモードを実行する過程を含む。図９の方法は図８をさらに参照して説明される。また、有効暗号化キーＫは、キーレジスター８１に貯蔵される。図９で説明するのは、該キーレジスター８１は、ＰＬレジスター８２及びＩＶレジスター８３が初期データまたは前回のブロック暗号／解読過程から入力されたデータと共にロードされ、データ入力レジスタ８４が現在処理されているデータブロック（平文または暗号文）と共にロードされる場合である。
【００６５】
最初に、ＣＴＲモードはＣＴＲモード信号（ＭＤ）を発生させることによりセットされる（Ｓ９１）。ＣＴＲモードでは、ＰＬレジスター８２に貯蔵されたデータはキーレジスター８１に貯蔵された暗号化キーを利用してブロック暗号化モジュール９０により暗号化される（Ｓ９２）。
【００６６】
多重化機（Ｍ１）はＣＴＲモード信号に反応してＰＬレジスター８２の出力をブロック暗号化モジュール９０に転送する。ブロック暗号化モジュール９０から出力された暗号化結果（暗号化されたデータ）は多重化機（Ｍ３）を通じてＸＯＲ演算機８９に転送され、データ入力レジスター８４に貯蔵されたデータブロック（平文ブロックまたは暗号文ブロック）のコピーは多重化機（Ｍ２）を通じてＸＯＲ演算機８９に転送される。
【００６７】
ＸＯＲ演算機８９は、ブロック暗号化モジュール９０から出力された暗号化データ及びデータ入力レジスター８４から出力されたデータブロックに対してＸＯＲ演算を実行する（Ｓ９３）。ＸＯＲ演算の結果（ＣＴＲモードの結果）はデータ出力レジスター８５に貯蔵される（Ｓ９５）。
【００６８】
ＰＬレジスターは、加算機８６によりＰＬレジスター８２の前回の出力に１を加えることにより増加され、結果値がＰＬレジスター８２に貯蔵される。
【００６９】
続けて、ＣＢＣモードはＣＢＣモード信号（ＭＤ）を発生させることによりセットされる（Ｓ９６）。ＣＢＣモードのための過程はＣＣＭモードが暗号モード（ＴＸ）または解読モード（ＲＸ）であるか否かにより変更される。
【００７０】
ＣＣＭ暗号化モードの場合（過程Ｓ９７：ＴＸ）、ＣＢＣ動作モードはデータ入力レジスター８４に貯蔵されたデータブロック（平文ブロック）を多重化機（Ｍ２）を通じてＸＯＲ演算機８８に転送する過程を含む。この場合では、ＣＢＣモードのための平文データブロックは、前のＣＴＲモードのためのデータ入力レジスター８４に予め貯蔵され、図４に示すメモリ４２から読み込まれないと認められる。ＸＯＲ演算は、平文データブロック及びＩＶレジスター８３に貯蔵されたデータに対して実行される（Ｓ１００）。ＸＯＲ演算の結果は多重化機（Ｍ１）を通じてブロック暗号化モジュール９０に転送され、ＸＯＲ演算の結果は暗号化される（Ｓ１０１）。暗号化結果（ＣＢＣモードの結果）は、ＩＶレジスター８３に貯蔵される（Ｓ１０２）。
【００７１】
一方、ＣＣＭ解読モードの場合（過程Ｓ９７：ＲＸ）、データ出力レジスター８５に貯蔵されたデータブロックはデータ入力レジスター８４にコピーされる（Ｓ９８）。詳細には、図９の実施例で、データ出力レジスター８５が入力暗号文ブロックのＣＴＲ解読により発生された平文ブロックを含むから、ＣＴＲ解読により発生された平文ブロックは、前記ＣＢＣモードのために利用される。
【００７２】
本発明の一実施例による暗号文ブロックと、ＣＴＲ解読からの結果は、直接データ入力レジスター８４またはデータ入力及び出力レジスター８４、８５にコピーされることもできる。本発明の他の実施例によると、ＣＢＣモードで、多重化機（Ｍ２）はデータ出力レジスター８５に貯蔵されたＣＴＲモードの結果（平文データブロック）をＣＢＣモードのためのＸＯＲ演算機８８に選択的に転送する。
【００７３】
続いて、平文データブロックをブロック暗号と同一サイズにするために、ブロックの最後を“０”で埋める必要がある環境下では、ＣＢＣモードのための平文データブロックは、ミュート（ｍｕｔｅ）される（Ｓ９９）。例えば、図１０及び図１１は図８のミュート過程８７で具現されるデータブロックをパッド（ｐａｄｄｉｎｇ）する過程を示す。
【００７４】
図１０に示すように、平文ブロックのデータフレームはブロック暗号のブロックサイズと同一のビット長さＬ１を有する複数のデータブロック、ブロック暗号のブロックサイズより小さいビット長さＬ２を有する最後ブロック（ｎ番目ブロック）を含む。
【００７５】
図１１に示すように、ゼロパッド（ｚｅｒｏ  ｐａｄｄｉｎｇ）はブロックサイズがＬ２であるｎ番目ブロックの最後に“０”ビットを挿入することにより形成される。その結果、ｎ番目ブロックのサイズはＬ１と同一になる。
【００７６】
図８の実施例で、ミュート（ｍｕｔｅ）過程８７は必要であれば、ＣＴＲ解読からの結果である平文ブロックの“０”パッドのために利用される。例えば、“０”パッドはオリジナル暗号化され、ゼロパッドされた平文データブロックを示す暗号文ブロックから発生された平文ブロックの“再パッディング（ｒｅｐａｄｄｉｎｇ）”のために要求される。過程Ｓ９９で、平文データブロックは“０”パッドされ、そのような平文ブロックのブロックサイズをＬ１と同一にする。
【００７７】
平文ブロックは、上述のように処理される（Ｓ１００、Ｓ１０１及びＳ１０２）。図９の方法で、ＣＢＣ−ＭＡＣモードのために、ブロック暗号化モジュール９０から出力された暗号文ブロック（ＣＢＣモードの結果）はＩＶレジスター８３に貯蔵され（Ｓ１０２）、メッセージブロックを暗号化するための入力として利用される。最後のデータブロックが処理された後、ＩＶレジスター８３に貯蔵された最後の値はＭＡＣ値を示す。続いて、最後値は出力バッファ５４への出力のためのデータ出力レジスター８５にコピーされる。
【００７８】
図８のブロック暗号化モジュールと関係する図１のＣＣＭ方法は、図２及び図３を参照して前述された方法の実施例と評価される。図８及び図９の方法に基づくＣＣＭ暗号化モードで、データ入力レジスター８４（またはバッファ）に貯蔵された同一である平文ブロックがＣＴＲ暗号化及びＣＢＣ−ＭＡＣのために使用される。その結果、平文ブロックにアクセスする複数のメモリ読み込み動作を実行する必要がなくなる。
【００７９】
さらに、ＣＣＭ読み込みモードで、ＣＴＲ読み込みの結果である平文ブロックは、後続のＣＢＣ−ＭＡＣのために利用される。その結果、平文ブロックにアクセスするメモリ読み込みを実行する必要がなくなる。さらに、データブロックのためのＣＢＣモードの結果は、バッファに蓄積され（メモリに書き込まれる過程と反対に）、次のデータブロックを暗号化するための入力として使用される。最後の平文ブロックが処理された後、最後に蓄積された値はＭＡＣを示す。したがって、図８及び図９の構成に基礎したＣＣＭ動作モードは従来の方法に反対されることとして、さらに効率的なＣＣＭ動作モードを提供することができる。
【００８０】
以上、本発明の実施例によって詳細に説明したが、本発明はこれに限定されず、本発明が属する技術分野において通常の知識を有するものであれば本発明の思想と精神を離れることなく、本発明を修正または変更できるであろう。
【図面の簡単な説明】
【００８１】
【図１】従来のＣＣＭ動作モードを図示した順序図である。
【図２】本発明の望ましい一実施例によるデータブロックを暗号化する過程を図示した順序図である。
【図３】本発明の望ましい一実施例によるデータブロックを解読する過程を図示した順序図である。
【図４】本発明の望ましい一実施例による暗号化システムを有する通信システムの概略的なブロック図である。
【図５】本発明の望ましい一実施例による図４のシステムで具現されることができる暗号化システムの概略的なブロック図である。
【図６】本発明の望ましい他の実施例によるブロック暗号化モジュールを図示した概略的なブロック図である。
【図７】本発明の望ましい一実施例によるブロック暗号化モジュールを図示した概略的なブロックである。
【図８】本発明のまた他の実施例によるブロック暗号化モジュールを図示した概略的なブロックである。
【図９】本発明の望ましい一実施例によるＣＣＭ動作モードを図示した順序図である。
【図１０】本発明の望ましい一実施例によるデータブロックをゼロパッドする過程を図示した概略図である。
【図１１】本発明の望ましい一実施例によるデータブロックをゼロパッドする過程を図示した概略図である。
【符号の説明】
【００８２】
５０…暗号化システム、
５１…制御ユニット、
５２…ＤＭＡ制御機、
５３…入力バッファ、
５４…出力バッファ、
５５、６０、７０、８０…ブロック暗号化モジュール、
６１…ＩＶレジスター、
６２…データ入力レジスター、
６３…データ出力レジスター、
６４…ＸＯＲ演算機、
６５…ブロック暗号化機。
【図１】
2004226969.tif 000003
【図２】
2004226969.tif 000004
【図３】
2004226969.tif 000005
【図４】
2004226969.tif 000006
【図５】
2004226969.tif 000007
【図６】
2004226969.tif 000008
【図７】
2004226969.tif 000009
【図８】
2004226969.tif 000010
【図９】
2004226969.tif 000011
【図１０】
2004226969.tif 000012
【図１１】
2004226969.tif 000013