(57)【要約】  パケット暗号化アルゴリズムに基づく暗号化処理装置は、鍵拡張部と、暗号化部とを備える。鍵拡張部は、鍵拡張部データ保持要素と、少なくとも１つの鍵拡張部データ変換要素とを備える。暗号化部は、暗号化部データ保持要素と、少なくとも１つの暗号化部データ変換要素とを備え、暗号化部データ変換要素の数は、鍵拡張部データ変換要素の数と同じであり、しかも、１対１である。各鍵拡張部データ変換要素の副鍵出力部が、各暗号化部データ変換要素の対応する副鍵入力部と接続することにより、従来のパケット暗号化アルゴリズムに基づく暗号化処理装置の暗号化効率が低く、コストが高いという技術的問題を解決する。本発明の利点は、従来技術の高効率を維持するという前提の下で資源消費量を低下させ、さらには装置の実現コストを低減させることである。
2011503666.tif 000002
【特許請求の範囲】
【請求項１】
ブロック暗号化アルゴリズムに基づく暗号化処理装置であって、鍵拡張部と、暗号化部とを備え、
前記鍵拡張部は、鍵拡張部のデータ保持要素と、鍵拡張部の少なくとも１つのデータ変換要素とを備えており、前記暗号化部は、暗号化部のデータ保持要素と、暗号化部の少なくとも１つのデータ変換要素とを備えており、前記暗号化部のデータ変換要素の数は、前記鍵拡張部のデータ変換要素の数と同一であり、前記暗号化部のデータ変換要素は、前記鍵拡張部のデータ変換要素と１対１の接続状態にあり、
前記鍵拡張部のデータ保持要素の出力部が、前記鍵拡張部のデータ変換要素のうちの第１のデータ変換要素の入力部に接続され、前記鍵拡張部のデータ変換要素のあらゆる隣接する２つのデータ変換要素が順番に接続され、前記鍵拡張部のデータ変換要素のうちの最後のデータ変換要素の出力部が、前記鍵拡張部のデータ保持要素の入力部に接続されており、
前記暗号化部のデータ保持要素の出力部が、前記暗号化部のデータ変換要素のうちの第１のデータ変換要素の入力部に接続され、前記暗号化部のデータ変換要素のあらゆる隣接する２つのデータ変換要素が順番に接続され、前記暗号化部のデータ変換要素のうちの最後のデータ変換要素の出力部が、前記暗号化部のデータ保持要素の入力部に接続されており、
前記鍵拡張部の各データ変換要素の副鍵出力部が、前記暗号化部のデータ変換要素のうちの対応するデータ変換要素の副鍵入力部に接続されており、
前記拡張部のデータ保持要素は、入力された外部鍵と、前記鍵拡張部のデータ変換要素のうちの最後のデータ変換要素から得られたデータとを保持するようになっており、
前記鍵拡張部のデータ変換要素は、前記鍵拡張部のデータ保持要素に保持された前記データを受け取って、前記鍵を前記暗号化部の対応するデータ変換要素に入力される副鍵に拡張するようになっており、
前記暗号化部のデータ保持要素は、入力された外部データと、前記暗号化部のデータ変換要素のうちの最後のデータ変換要素から得られたデータとを保持するようになっており、
前記暗号化部のデータ変換要素は、前記暗号化部のデータ保持要素に保持された前記データを受け取り、前記受け取ったデータを、前記鍵拡張部の対応するデータ変換要素から得られた前記副鍵を用いて暗号化および変換するようになっている、
ブロック暗号化アルゴリズムに基づく暗号化処理装置。
【請求項２】
前記鍵拡張部のデータ変換要素の数は１から３２であり、その場合、前記暗号化部のデータ変換要素の数は、それに対応して１から３２である、請求項１に記載のブロック暗号化アルゴリズムに基づく暗号化処理装置。
【請求項３】
前記鍵拡張部のデータ変換要素の数は１、２又は４であり、その場合、前記暗号化部のデータ変換要素の数は、それに対応して１、２又は４である、請求項２に記載のブロック暗号化アルゴリズムに基づく暗号化処理装置。
【請求項４】
前記暗号化処理装置が、少なくとも１つの副鍵保持要素を備える副鍵保持部をさらに備えており、副鍵保持要素の数は、前記鍵拡張部のデータ変換要素の数と同一であり、前記副鍵保持要素は、前記鍵拡張部のデータ変換要素と１対１の接続状態にあり、
前記鍵拡張部の各データ変換要素の出力部が、前記副鍵保持要素のうちの対応する副鍵保持要素の入力部に接続され、前記各副鍵保持要素の出力部が、前記暗号化部のデータ変換要素のうちの対応するデータ変換要素の入力部に接続されており、
前記鍵拡張部のデータ変換要素は、前記鍵拡張部のデータ保持要素に保持された前記データを受け取って、前記鍵を前記副鍵保持要素の入力部に入力される副鍵に拡張するようになっており、
前記副鍵保持要素は、前記鍵拡張部のデータ変換要素から得られた前記副鍵を保持するようになっており、
前記暗号化部のデータ変換要素は、前記副鍵保持要素に保持された前記副鍵を受け取り、前記受け取ったデータを前記副鍵を用いて暗号化および変換するようになっている、
請求項１に記載のブロック暗号化アルゴリズムに基づく暗号化処理装置。
【請求項５】
前記鍵拡張部のデータ変換要素の数は１から３２であり、その場合、副鍵保持要素の数は、それに対応して１から３２であって、前記暗号化部のデータ変換要素の数は、それに対応して１から３２である、請求項４に記載のブロック暗号化アルゴリズムに基づく暗号化処理装置。
【請求項６】
前記鍵拡張部のデータ変換要素の数は１、２又は４であり、その場合、副鍵保持要素の数は、それに対応して１、２又は４であって、前記暗号化部のデータ変換要素の数は、それに対応して１、２又は４である、請求項５に記載のブロック暗号化アルゴリズムに基づく暗号化処理装置。
【請求項７】
前記副鍵保持要素は、汎用フリップフロップ又はレジスタである、請求項４、５又は６に記載のブロック暗号化アルゴリズムに基づく暗号化処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、参照により全体が本明細書に組み込まれ、２００７年１１月１９日に中国特許庁に提出された「ブロック暗号化アルゴリズムに基づく暗号化処理装置」という名称の中国特許出願第２００７１００１９１１０．２号の優先権を主張する。
【０００２】
本発明は、情報セキュリティの分野に関し、特に、ブロック暗号化アルゴリズムに基づく暗号化処理方法に関する。
【背景技術】
【０００３】
ブロック暗号化アルゴリズムには、主に、データ暗号化規格（ＤＥＳ）アルゴリズム、トリプルＤＥＳ（３ＤＥＳ）アルゴリズム、高度暗号化規格（ＡＥＳ）アルゴリズム、国際データ暗号化アルゴリズム（ＩＤＥＡ）、中国国家暗号管理委員会事務室によって公開されたＳＭＳ４アルゴリズムなどが含まれる。ブロック暗号化アルゴリズムを実現する主要な構成要素には、鍵拡張部、暗号化部および副鍵配列記憶部が含まれる。特に、鍵拡張部および暗号化部の内部構造は、一般にデータ保持要素とデータ変換要素とからなる点で類似している。
【０００４】
データ保持要素は、一般に、データを保持する汎用フリップフロップで実現される。この要素に保持されたデータは、１クロック周期で不変である。汎用フリップフロップは、クロックの立ち上がり又は立ち下がり端で、データ入力部のデータがフリップフロップの出力部に送信され、他の時間では、フリップフロップの出力部のデータが不変であるデータ保持装置である。
【０００５】
データ変換要素は、ブロック暗号化アルゴリズムで要求されるとおりにデータを処理する要素であり、例えば、国家のＳＭＳ４暗号化アルゴリズムで要求されるとおりにデータを処理する要素である。データ変換要素によって実行される演算には、暗号化アルゴリズムで指定された１つの統合（ｉｎｔｅｇｒａｔｉｏｎ）と置換（ｐｅｒｍｕｔａｔｉｏｎ）しか含まれていない。
【０００６】
副鍵配列記憶部は、副鍵配列を記憶するように適応されている。既存の技術における副鍵配列は、一般に、暗号化および復号の前に既に作成され、鍵拡張部によって生成されるデータ配列である。ＳＭＳ４暗号化アルゴリズムでは、副鍵配列記憶部のデータは、アドレスの降順又は昇順に配列され、ｒｋ０、ｒｋ１、…、ｒｋ３１のように名づけられる。
【０００７】
ＳＭＳ４暗号化アルゴリズムで要求されるデータ暗号化および復号の現在のプロセスは、鍵拡張とデータ暗号化の２つの独立した段階を含んでいる。図１に示すように、まず、鍵拡張部が、鍵を副鍵配列に拡張して、その配列を順次副鍵配列記憶部に記憶させ、その後、暗号化部が、鍵が拡張された副鍵配列を用いてデータを暗号化する。
【０００８】
Ａ．鍵拡張段階
１）外部鍵が、鍵拡張部のデータ保持要素に入力される。
【０００９】
前処理にかけられた外部鍵が、保持のために鍵拡張部のデータ保持要素１００に入力される。
【００１０】
２）データ変換
鍵拡張部のデータ保持要素１００に保持されたデータが、変換のために鍵拡張部のデータ変換要素１０１に入力され、副鍵が得られる。
【００１１】
３）データ反復処理
先の変換から得られたデータが、鍵拡張部のデータ保持要素１００に記憶されると同時に、得られた副鍵が、副鍵配列記憶部２の第１行に記憶され、その後、鍵拡張部のデータ保持要素１００に保持されたデータが、変換のために鍵拡張部のデータ変換要素１０１に再び入力され、結果として得られた副鍵が、副鍵配列記憶部２の次の行に記憶される。このデータ変換処理が３２回繰り返され、３２×３２ビット＝１０２４ビットの副鍵配列が得られる。
【００１２】
Ｂ．データ暗号化段階
１）外部データが、暗号化部のデータ保持要素に入力される。
【００１３】
外部データが、保持のために暗号化部のデータ保持要素３００に入力される。
【００１４】
２）データ変換
暗号化部のデータ保持要素３００に保持されたデータが、暗号化部のデータ変換要素３０１に入力され、副鍵配列記憶部２に記憶された副鍵配列の第１行に対応するデータが、変換のために暗号化部のデータ変換要素３０１に入力される。
【００１５】
３）データ反復処理
先の変換から得られたデータが、暗号化部のデータ保持要素３００に記憶され、その後、暗号化部のデータ保持要素３００に保持されたデータが、変換のために暗号化部のデータ変換要素３０１に再び入力され、副鍵配列記憶部２の次の行の副鍵も、データ変換のために暗号化部のデータ変換要素３０１に入力される。この処理が３２回繰り返されて、データが得られる。
【００１６】
上記暗号化アルゴリズムでは、１つのデータセットを低効率で処理するのに３２クロック周期が費やされる。この状況を改善するため、データ変換要素の数を増やすことによって、処理効率を向上させることができる。例えば、図２に示すように、１２８ビットの１データセットを１６クロック周期で処理することができる。
【００１７】
既存の技術では、副鍵配列記憶要素が不可欠の要素である。１０２４ビットの副鍵配列記憶要素が、集積回路のレジスタで実現された場合、全資源の約４０％を占める約１００００ゲートの論理資源が高コストに消費される（図１の解決策では、約２５０００ゲートの総資源量が消費される）。
【発明の概要】
【発明が解決しようとする課題】
【００１８】
本発明の目的は、既存の技術におけるブロック暗号化アルゴリズムに基づく暗号化処理方法の高コストの技術的問題に対処するため、安価で効率のよいブロック暗号化アルゴリズムに基づく暗号化処理方法を提供することである。
【課題を解決するための手段】
【００１９】
本発明の技術的解決策は、以下のとおりである。
【００２０】
ブロック暗号化アルゴリズムに基づく暗号化処理装置は、鍵拡張部と、暗号化部とを備え、
上記鍵拡張部は、鍵拡張部のデータ保持要素と、鍵拡張部の少なくとも１つのデータ変換要素とを備えており、上記暗号化部は、暗号化部のデータ保持要素と、暗号化部の少なくとも１つのデータ変換要素とを備えており、上記暗号化部のデータ変換要素の数は、上記鍵拡張部のデータ変換要素の数と同一であり、上記暗号化部のデータ変換要素は、上記鍵拡張部のデータ変換要素と１対１の接続状態にあり、
上記鍵拡張部のデータ保持要素の出力部が、上記鍵拡張部のデータ変換要素のうちの第１のデータ変換要素の入力部に接続され、上記鍵拡張部のデータ変換要素のあらゆる隣接する２つのデータ変換要素が順番に接続され、上記鍵拡張部のデータ変換要素のうちの最後のデータ変換要素の出力部が、上記鍵拡張部のデータ保持要素の入力部に接続されており、
上記暗号化部のデータ保持要素の出力部が、上記暗号化部のデータ変換要素のうちの第１のデータ変換要素の入力部に接続され、上記暗号化部のデータ変換要素のあらゆる隣接する２つのデータ変換要素が順番に接続され、上記暗号化部のデータ変換要素のうちの最後のデータ変換要素の出力部が、上記暗号化部のデータ保持要素の入力部に接続されており、
上記鍵拡張部の各データ変換要素の副鍵出力部が、上記暗号化部のデータ変換要素のうちの対応するデータ変換要素の副鍵入力部に接続されており、
上記拡張部のデータ保持要素は、入力された外部鍵と、上記鍵拡張部のデータ変換要素のうちの最後のデータ変換要素から得られたデータとを保持するようになっており、
上記鍵拡張部のデータ変換要素は、上記鍵拡張部のデータ保持要素に保持された上記データを受け取って、上記鍵を上記暗号化部の対応するデータ変換要素に入力される副鍵に拡張するようになっており、
上記暗号化部のデータ保持要素は、入力された外部データと、上記暗号化部のデータ変換要素のうちの最後のデータ変換要素から得られたデータとを保持するようになっており、
上記暗号化部のデータ変換要素は、上記暗号化部のデータ保持要素に保持された上記データを受け取り、上記受け取ったデータを、上記鍵拡張部の対応するデータ変換要素から得られた上記副鍵を用いて暗号化および変換するようになっている。
【００２１】
本発明は以下の利点を有する。
【００２２】
１．本発明にかかる暗号化処理装置は、副鍵配列記憶部が不要になるので、既存の技術の効率を維持しながら、消費資源を効率的に低減させることができ、ひいては装置のコストを低減させることができる。
【００２３】
２．本発明にかかる暗号化処理装置によれば、変換要素１個の場合は、消費資源が既存の技術の６０％に過ぎず、変換要素２個の場合は、消費資源が既存の技術の７０％に過ぎない。
【００２４】
３．副鍵保持部が増設されるので、集積回路において重要なパスが短縮化されて、クロックの一次周波数を上昇させ、ひいては装置の処理能力を増大させることができる。
【図面の簡単な説明】
【００２５】
【図１】図１は、既存の技術における暗号化および復号処理装置の第１の構造を示す概略図である。
【図２】図２は、既存の技術における暗号化および復号処理装置の第２の構造を示す概略図である。
【図３】図３は、本発明にかかる暗号化および復号処理装置の第１の構造を示す概略図である。
【図４】図４は、本発明にかかる暗号化および復号処理装置の第２の構造を示す概略図である。
【図５】図５は、本発明にかかる暗号化および復号処理装置の第３の構造を示す概略図である。
【図６】図６は、本発明にかかる暗号化および復号処理装置の第４の構造を示す概略図である。
【発明を実施するための形態】
【００２６】
ここで、本発明にかかる装置を図面に基づいて以下に詳述する。
【００２７】
第１の実施形態
図３に示すように、ブロック暗号化アルゴリズムに基づく第１の暗号化処理装置は、鍵拡張部１と、暗号化部３とを備えている。
【００２８】
鍵拡張部１は、鍵拡張部のデータ保持要素１００と、鍵拡張部のデータ変換要素１０１とを備えており、鍵拡張部のデータ保持要素１００の出力部が、鍵拡張部のデータ変換要素１０１の入力部に接続され、鍵拡張部のデータ変換要素１０１の出力部が、鍵拡張部のデータ保持要素１００の入力部に接続されている。
【００２９】
暗号化部３は、暗号化部のデータ保持要素３００と、暗号化部のデータ変換要素３０１とを備えており、暗号化部のデータ保持要素３００の出力部が、暗号化部のデータ変換要素３０１の入力部に接続され、暗号化部のデータ変換要素３０１の出力部が、暗号化部のデータ保持要素３００の入力部に接続されている。
【００３０】
特に、鍵拡張部のデータ変換要素１０１の副鍵出力部が、暗号化部のデータ変換要素３０１の副鍵入力部に接続されている。
【００３１】
図３を参照すると、ブロック暗号化アルゴリズムに基づく第１の暗号化処理装置は、本発明の一実施形態にかかる方法の以下の工程を実行する。
【００３２】
１］外部鍵が保持される。すなわち、クロック周期のクロック端に来ると、被処理外部鍵が、保持のために鍵拡張部のデータ保持要素１００に入力される。
【００３３】
２］外部データが保持される。すなわち、上記クロック周期のクロック端に来ると、１個の外部データセットが、保持のために暗号化部のデータ保持要素３００に入力される。
【００３４】
３］鍵が拡張される。すなわち、上記クロック周期において、鍵拡張部のデータ保持要素１００に保持されたデータが、鍵拡張部のデータ変換要素１０１に入力されて、その鍵が、暗号化部のデータ変換要素３０１に入力される副鍵に拡張される。
【００３５】
４］データが暗号化および変換される。すなわち、上記クロック周期において、暗号化部のデータ保持要素３００に保持されたデータが、暗号化部のデータ変換要素３０１に入力され、データ変換要素３０１が、次にデータを暗号化および変換する。
【００３６】
５］内部データが保持される。すなわち、次のクロック周期のクロック端に来ると、鍵拡張部のデータ変換要素１０１から得られたデータが、保持のために鍵拡張部のデータ保持要素１００に入力され、暗号化部のデータ変換要素３０１から得られたデータが、保持のために暗号化部のデータ保持要素３００に入力される。
【００３７】
６］データが反復して処理される。すなわち、データがブロック暗号化アルゴリズムで指定された回数だけ変換されるまで、鍵拡張工程と、データ暗号化および変換工程と、内部データ保持工程とが繰り返され、それにより、上記データセットの暗号化が完了する。
【００３８】
第２の実施形態
図４に示すように、ブロック暗号化アルゴリズムに基づく第２の暗号化処理装置は、鍵拡張部１と、暗号化部３とを備えている。
【００３９】
鍵拡張部１は、鍵拡張部のデータ保持要素１００と、鍵拡張部の２個のデータ変換要素１０１ａ、１０１ｂとを備えており、鍵拡張部のデータ保持要素１００の出力部が、鍵拡張部の第１のデータ変換要素１０１ａの入力部に接続され、鍵拡張部の２個のデータ変換要素１０１ａ、１０１ｂが順番に接続され、鍵拡張部の第２のデータ変換要素１０１ｂの出力部が、鍵拡張部のデータ保持要素１００の入力部に接続されている。
【００４０】
暗号化部３は、暗号化部のデータ保持要素３００と、暗号化部の２個のデータ変換要素３０１ａ、３０１ｂとを備えており、暗号化部のデータ保持要素３００の出力部が、暗号化部の第１のデータ変換要素３０１ａの入力部に接続され、暗号化部の２個のデータ変換要素３０１ａ、３０１ｂが順番に接続され、暗号化部の第２のデータ変換要素３０１ｂの出力部が、暗号化部のデータ保持要素３００の入力部に接続されている。
【００４１】
特に、鍵拡張部の第１のデータ変換要素１０１ａの副鍵出力部が、暗号化部の第１のデータ変換要素３０１ａの副鍵入力部に接続されており、鍵拡張部の第２のデータ変換要素１０１ｂの副鍵出力部が、暗号化部の第２のデータ変換要素３０１ｂの副鍵入力部に接続されている。
【００４２】
特に、鍵拡張部のデータ変換要素の数は、暗号化部のデータ変換要素の数と同一であり、３個の場合も、４個の場合も、３２個又は４８個までの場合もあり得るが、好ましくは、１個、２個又は４個である。
【００４３】
図４を参照すると、ブロック暗号化アルゴリズムに基づく第２の暗号化処理装置は、本発明の一実施形態にかかる方法の以下の工程を実行する。
【００４４】
１］外部鍵が保持される。すなわち、クロック周期のクロック端に来ると、被処理外部鍵が、保持のために鍵拡張部のデータ保持要素１００に入力される。
【００４５】
２］外部データが保持される。すなわち、上記クロック周期のクロック端に来ると、１個の外部データセットが、保持のために暗号化部のデータ保持要素３００に入力される。
【００４６】
３］鍵が拡張される。すなわち、上記クロック周期において、鍵拡張部のデータ保持要素１００に保持されたデータが、鍵拡張部のデータ変換要素１０１ａに入力されて、その鍵が、暗号化部のデータ変換要素３０１ａに入力される副鍵に拡張され、鍵拡張部のデータ変換要素１０１ａから出力されたデータが、鍵拡張部の次のデータ変換要素１０１ｂに入力され、その結果、鍵拡張部のデータ変換要素が、順番に鍵を拡張する。
【００４７】
４］データが暗号化および変換される。すなわち、上記クロック周期において、暗号化部のデータ保持要素３００に保持されたデータが、暗号化部のデータ変換要素３０１ａに入力され、データ変換要素３０１ａが、次にデータを暗号化および変換し、暗号化部のデータ変換要素３０１ａから出力されたデータが、暗号化部の次のデータ変換要素３０１ｂに入力され、その結果、暗号化部のデータ変換要素が、順番にデータを暗号化する。
【００４８】
５］内部データが保持される。すなわち、次のクロック周期のクロック端に来ると、鍵拡張部の最後のデータ変換要素（本実施形態では１０１ｂ）から出力されたデータが、保持のために鍵拡張部のデータ保持要素１００に入力され、暗号化部の最後のデータ変換要素（本実施形態では３０１ｂ）から出力されたデータが、保持のために暗号化部のデータ保持要素３００に入力される。
【００４９】
６］データが反復して処理される。すなわち、データがブロック暗号化アルゴリズムで指定された回数だけ変換されるまで、鍵拡張工程と、データ暗号化および変換工程と、内部データ保持工程とが繰り返され、それにより、上記データセットの暗号化が完了する。
【００５０】
第３の実施形態
図５に示すように、ブロック暗号化アルゴリズムに基づく第３の暗号化処理装置は、鍵拡張部１と、副鍵保持部４と、暗号化部３とを備えている。
【００５１】
鍵拡張部１は、鍵拡張部のデータ保持要素１００と、鍵拡張部のデータ変換要素１０１とを備えており、鍵拡張部のデータ保持要素１００の出力部が、鍵拡張部のデータ変換要素１０１の入力部に接続されており、鍵拡張部のデータ変換要素１０１の出力部が、鍵拡張部のデータ保持要素１００の入力部に接続されている。
【００５２】
副鍵保持部４は、汎用フリップフロップでもレジスタでもよい副鍵保持要素４０１を備えている。
【００５３】
暗号化部３は、暗号化部のデータ保持要素３００と、暗号化部のデータ変換要素３０１とを備えており、暗号化部のデータ保持要素３００の出力部が、暗号化部のデータ変換要素３０１の入力部に接続され、暗号化部のデータ変換要素３０１の出力部が、暗号化部のデータ保持要素３００の入力部に接続されている。
【００５４】
特に、鍵拡張部のデータ変換要素１０１の副鍵出力部が、副鍵保持要素４０１の入力部に接続されており、副鍵保持要素４０１の出力部が、暗号化部のデータ変換要素３０１の副鍵入力部に接続されている。
【００５５】
図５を参照すると、ブロック暗号化アルゴリズムに基づく第３の暗号化処理装置は、本発明の一実施形態にかかる方法の以下の工程を実行する。
【００５６】
１］外部鍵が保持される。すなわち、クロック周期のクロック端に来ると、被処理外部鍵が、保持のために鍵拡張部のデータ保持要素１００に入力される。
【００５７】
２］鍵が前拡張される。すなわち、外部鍵が保持されるクロック周期において、鍵拡張部のデータ保持要素１００に保持されたデータが、鍵拡張部のデータ変換要素１０１に入力されて、その鍵が、接続されている副鍵保持要素４０１の入力部に入力される副鍵に拡張され、鍵拡張部のデータ変換要素１０１から得られたデータが、鍵拡張部のデータ保持要素１００の入力部に入力される。
【００５８】
３］鍵がバッファに入れられ保持される。すなわち、外部鍵保持工程後の次のクロック周期のクロック端に来ると、鍵拡張部のデータ変換要素１０１から得られたデータが、保持のために鍵拡張部のデータ保持要素１００に入力され、鍵拡張部のデータ変換要素１０１の副鍵が、保持のために副鍵保持要素４０１に入力される。
【００５９】
４］外部データが保持される。すなわち、外部鍵保持工程後の次のクロック周期のクロック端に来ると、１個の外部データセットが、保持のために暗号化部のデータ保持要素３００に入力される。
【００６０】
５］鍵が拡張される。すなわち、上記クロック周期において、鍵拡張部のデータ保持要素１００に保持されたデータが、鍵拡張部のデータ変換要素１０１に入力されて、その鍵が、接続されている副鍵保持要素４０１の入力部に入力される副鍵に拡張され、鍵拡張部のデータ変換要素１０１から出力されたデータが、鍵拡張部のデータ保持要素１００の入力部に入力され、副鍵保持要素４０１から出力された副鍵が、暗号化部のデータ変換要素３０１に入力される。
【００６１】
６］データが暗号化および変換される。すなわち、上記クロック周期において、暗号化部のデータ保持要素３００に保持されたデータが、暗号化部のデータ変換要素３０１に入力され、データ変換要素３０１が、次にデータを暗号化および変換し、暗号化部のデータ変換要素３０１から出力されたデータが、暗号化部のデータ保持要素３００の入力部に入力される。
【００６２】
７］内部データが保持される。すなわち、次のクロック周期のクロック端に来ると、鍵拡張部のデータ変換要素１０１から得られたデータが、保持のために鍵拡張部のデータ保持要素１００に入力され、鍵拡張部のデータ変換要素１０１の副鍵が、保持のために副鍵保持要素４０１に入力され、暗号化部のデータ変換要素３０１から得られたデータが、保持のために暗号化部のデータ保持要素３００に入力される。
【００６３】
６］データが反復して処理される。すなわち、データがブロック暗号化アルゴリズムで指定された回数だけ変換されるまで、鍵拡張工程と、データ暗号化および変換工程と、内部データ保持工程とが繰り返され、それにより、上記データセットの暗号化が完了する。
【００６４】
第４の実施形態
図６に示すように、ブロック暗号化アルゴリズムに基づく第４の暗号化処理装置は、鍵拡張部１と、副鍵保持部４と、暗号化部３とを備えている。
【００６５】
鍵拡張部１は、鍵拡張部のデータ保持要素１００と、鍵拡張部の２個のデータ変換要素１０１ａ、１０１ｂとを備えており、鍵拡張部のデータ保持要素１００の出力部が、鍵拡張部の第１のデータ変換要素１０１ａの入力部に接続され、鍵拡張部の２個のデータ変換要素１０１ａ、１０１ｂが順番に接続され、鍵拡張部の第２のデータ変換要素１０１ｂの出力部が、鍵拡張部のデータ保持要素１００の入力部に接続されている。
【００６６】
副鍵保持部４は、汎用フリップフロップでもレジスタでもよい２個の副鍵保持要素４０１ａ、４０１ｂを備えている。
【００６７】
暗号化部３は、暗号化部のデータ保持要素３００と、暗号化部の２個のデータ変換要素３０１ａ、３０１ｂとを備えており、暗号化部のデータ保持要素３００の出力部が、暗号化部の第１のデータ変換要素３０１ａの入力部に接続され、暗号化部の２個のデータ変換要素３０１ａ、３０１ｂが順番に接続され、暗号化部の第２のデータ変換要素３０１ｂの出力部が、暗号化部のデータ保持要素３００の入力部に接続されている。
【００６８】
特に、鍵拡張部の第１のデータ変換要素１０１ａの副鍵出力部が、第１の副鍵保持要素４０１ａの入力部に接続され、第１の副鍵保持要素４０１ａの出力部が、暗号化部の第１のデータ変換要素３０１ａの副鍵入力部に接続されており、鍵拡張部の第２のデータ変換要素１０１ｂの副鍵出力部が、第２の副鍵保持要素４０１ｂの入力部に接続され、第２の副鍵保持要素４０１ｂの出力部が、暗号化部の第２のデータ変換要素３０１ｂの副鍵入力部に接続されている。
【００６９】
特に、鍵拡張部のデータ変換要素の数、副鍵保持要素の数、および暗号化部のデータ変換要素の数は、同一であり、３個の場合も、４個の場合も、３２個又は４８個までの場合もあるが、好ましくは、１個、２個又は４個である。
【００７０】
図６を参照すると、ブロック暗号化アルゴリズムに基づく第４の暗号化処理装置は、本発明の一実施形態にかかる方法の以下の工程を実行する。
【００７１】
１］外部鍵が保持される。すなわち、クロック周期のクロック端に来ると、被処理外部鍵が、保持のために鍵拡張部のデータ保持要素１００に入力される。
【００７２】
２］鍵が前拡張される。すなわち、外部鍵が保持されるクロック周期において、鍵拡張部のデータ保持要素１００に保持されたデータが、鍵拡張部の第１のデータ変換要素１０１ａに入力されて、その鍵が、接続されている第１の副鍵保持要素４０１ａの入力部に入力される副鍵に拡張され、鍵拡張部の第１のデータ変換要素１０１ａから出力されたデータが、鍵拡張部の次のデータ保持要素１０１ｂの入力部に入力されて、鍵が二度目の拡張を受け、その結果、鍵拡張部のデータ変換要素が、その鍵を、接続されているそれぞれの副鍵保持要素の入力部に入力される副鍵に順番に拡張し、鍵拡張部の最後のデータ変換要素（本実施形態では１０１ｂ）から出力されたデータが、鍵拡張部のデータ保持要素１００の入力部に入力される。
【００７３】
３］鍵がバッファに入れられ保持される。すなわち、外部鍵保持工程後の次のクロック周期のクロック端に来ると、鍵拡張部の最後のデータ変換要素（本実施形態では１０１ｂ）から得られたデータが、保持のために鍵拡張部のデータ保持要素１００に入力され、鍵拡張部のデータ変換要素の副鍵が、保持のために、対応する副鍵保持要素に入力される。
【００７４】
４］外部データが保持される。すなわち、外部鍵保持工程後の次のクロック周期のクロック端に来ると、１個の外部データセットが、保持のために暗号化部のデータ保持要素３００に入力される。
【００７５】
５］鍵が拡張される。すなわち、上記クロック周期において、鍵拡張部のデータ保持要素１００に保持されたデータが、鍵拡張部の第１のデータ変換要素１０１ａに入力されて、その鍵が、接続されている第１の副鍵保持要素４０１ａの入力部に入力される副鍵に拡張され、鍵拡張部の第１のデータ変換要素１０１ａから出力されたデータが、鍵拡張部の次のデータ保持要素１０１ｂの入力部に入力されて、鍵が二度目の拡張を受け、その結果、鍵拡張部のデータ変換要素が、その鍵を、接続されているそれぞれの副鍵保持要素の入力部に入力される副鍵に順番に拡張し、鍵拡張部の最後のデータ変換要素（本実施形態では１０１ｂ）から出力されたデータが、鍵拡張部のデータ保持要素１００のデータ入力部に入力される。
【００７６】
６］データが暗号化および変換される。すなわち、上記クロック周期において、暗号化部のデータ保持要素３００に保持されたデータが、暗号化部の第１のデータ変換要素３０１ａに入力され、第１の副鍵保持要素４０１ａの副鍵が、暗号化部の第１のデータ変換要素３０１ａに入力され、第１のデータ変換要素３０１ａが、次にデータを暗号化および変換し、暗号化部の第１のデータ変換要素３０１ａから暗号化され変換されたデータが、暗号化部の第２のデータ変換要素３０１ｂに入力され、第２の副鍵保持要素４０１ｂの副鍵が、暗号化部の第２のデータ変換要素３０１ｂに入力され、第２のデータ変換要素３０１ｂが、次にデータを暗号化および変換し、その結果、鍵拡張部のデータ変換要素に対応する暗号化部のデータ変換要素が、順番にデータを暗号化および変換し、暗号化部の最後のデータ変換要素（本実施形態では３０１ｂ）から出力されたデータが、暗号化部のデータ保持要素３００のデータ入力部に入力される。
【００７７】
７］内部データが保持される。すなわち、次のクロック周期のクロック端に来ると、鍵拡張部の最後のデータ変換要素（本実施形態では１０１ｂ）から得られたデータが、保持のために鍵拡張部のデータ保持要素１００に入力され、鍵拡張部のデータ変換要素の副鍵が、保持のために、対応する副鍵保持要素に入力され、暗号化部の最後のデータ変換要素（本実施形態では３０１ｂ）から得られたデータが、保持のために暗号化部のデータ保持要素３００に入力される。
【００７８】
８］データが反復して処理される。すなわち、データがブロック暗号化アルゴリズムで指定された回数だけ変換されるまで、鍵拡張工程と、データ暗号化および変換工程と、内部データ保持工程とが繰り返され、それにより、上記データセットの暗号化が完了する。
【００７９】
暗号化処理装置に、鍵拡張部の複数個のデータ変換要素と、複数個の副鍵保持要素と、暗号化部の複数個のデータ変換要素が設けられている場合、これらの要素は、接続されている順序で、順番に鍵を拡張し、データを暗号化する。
【００８０】
ＳＭＳ４アルゴリズムが、ブロック暗号化アルゴリズムとして特に採用される場合、上記４つの実施形態の暗号化方法は、特に３２回データを反復して変換する。
【符号の説明】
【００８１】
１  鍵拡張部
１００  鍵拡張部のデータ保持要素
１０１（１０１ａ、１０１ｂ）  鍵拡張部のデータ変換要素
２  副鍵配列記憶部
３  暗号化部
３００  暗号化部のデータ保持要素
３０１（３０１ａ、３０１ｂ）  暗号化部のデータ変換要素
４  副鍵保持部
４０１（４０１ａ、４０１ｂ）  副鍵保持要素
【図１】
2011503666.tif 000003
【図２】
2011503666.tif 000004
【図３】
2011503666.tif 000005
【図４】
2011503666.tif 000006
【図５】
2011503666.tif 000007
【図６】
2011503666.tif 000008
【国際調査報告】
2011503666.tif 000009
2011503666.tif 000010
2011503666.tif 000011
2011503666.tif 000012