説明

パケット暗号化アルゴリズムに基づく暗号化処理装置

パケット暗号化アルゴリズムに基づく暗号化処理装置は、鍵拡張部と、暗号化部とを備える。鍵拡張部は、鍵拡張部データ保持要素と、少なくとも1つの鍵拡張部データ変換要素とを備える。暗号化部は、暗号化部データ保持要素と、少なくとも1つの暗号化部データ変換要素とを備え、暗号化部データ変換要素の数は、鍵拡張部データ変換要素の数と同じであり、しかも、1対1である。各鍵拡張部データ変換要素の副鍵出力部が、各暗号化部データ変換要素の対応する副鍵入力部と接続することにより、従来のパケット暗号化アルゴリズムに基づく暗号化処理装置の暗号化効率が低く、コストが高いという技術的問題を解決する。本発明の利点は、従来技術の高効率を維持するという前提の下で資源消費量を低下させ、さらには装置の実現コストを低減させることである。

【発明の詳細な説明】
【技術分野】
【0001】
本出願は、参照により全体が本明細書に組み込まれ、2007年11月19日に中国特許庁に提出された「ブロック暗号化アルゴリズムに基づく暗号化処理装置」という名称の中国特許出願第200710019110.2号の優先権を主張する。
【0002】
本発明は、情報セキュリティの分野に関し、特に、ブロック暗号化アルゴリズムに基づく暗号化処理方法に関する。
【背景技術】
【0003】
ブロック暗号化アルゴリズムには、主に、データ暗号化規格(DES)アルゴリズム、トリプルDES(3DES)アルゴリズム、高度暗号化規格(AES)アルゴリズム、国際データ暗号化アルゴリズム(IDEA)、中国国家暗号管理委員会事務室によって公開されたSMS4アルゴリズムなどが含まれる。ブロック暗号化アルゴリズムを実現する主要な構成要素には、鍵拡張部、暗号化部および副鍵配列記憶部が含まれる。特に、鍵拡張部および暗号化部の内部構造は、一般にデータ保持要素とデータ変換要素とからなる点で類似している。
【0004】
データ保持要素は、一般に、データを保持する汎用フリップフロップで実現される。この要素に保持されたデータは、1クロック周期で不変である。汎用フリップフロップは、クロックの立ち上がり又は立ち下がり端で、データ入力部のデータがフリップフロップの出力部に送信され、他の時間では、フリップフロップの出力部のデータが不変であるデータ保持装置である。
【0005】
データ変換要素は、ブロック暗号化アルゴリズムで要求されるとおりにデータを処理する要素であり、例えば、国家のSMS4暗号化アルゴリズムで要求されるとおりにデータを処理する要素である。データ変換要素によって実行される演算には、暗号化アルゴリズムで指定された1つの統合(integration)と置換(permutation)しか含まれていない。
【0006】
副鍵配列記憶部は、副鍵配列を記憶するように適応されている。既存の技術における副鍵配列は、一般に、暗号化および復号の前に既に作成され、鍵拡張部によって生成されるデータ配列である。SMS4暗号化アルゴリズムでは、副鍵配列記憶部のデータは、アドレスの降順又は昇順に配列され、rk0、rk1、…、rk31のように名づけられる。
【0007】
SMS4暗号化アルゴリズムで要求されるデータ暗号化および復号の現在のプロセスは、鍵拡張とデータ暗号化の2つの独立した段階を含んでいる。図1に示すように、まず、鍵拡張部が、鍵を副鍵配列に拡張して、その配列を順次副鍵配列記憶部に記憶させ、その後、暗号化部が、鍵が拡張された副鍵配列を用いてデータを暗号化する。
【0008】
A.鍵拡張段階
1)外部鍵が、鍵拡張部のデータ保持要素に入力される。
【0009】
前処理にかけられた外部鍵が、保持のために鍵拡張部のデータ保持要素100に入力される。
【0010】
2)データ変換
鍵拡張部のデータ保持要素100に保持されたデータが、変換のために鍵拡張部のデータ変換要素101に入力され、副鍵が得られる。
【0011】
3)データ反復処理
先の変換から得られたデータが、鍵拡張部のデータ保持要素100に記憶されると同時に、得られた副鍵が、副鍵配列記憶部2の第1行に記憶され、その後、鍵拡張部のデータ保持要素100に保持されたデータが、変換のために鍵拡張部のデータ変換要素101に再び入力され、結果として得られた副鍵が、副鍵配列記憶部2の次の行に記憶される。このデータ変換処理が32回繰り返され、32×32ビット=1024ビットの副鍵配列が得られる。
【0012】
B.データ暗号化段階
1)外部データが、暗号化部のデータ保持要素に入力される。
【0013】
外部データが、保持のために暗号化部のデータ保持要素300に入力される。
【0014】
2)データ変換
暗号化部のデータ保持要素300に保持されたデータが、暗号化部のデータ変換要素301に入力され、副鍵配列記憶部2に記憶された副鍵配列の第1行に対応するデータが、変換のために暗号化部のデータ変換要素301に入力される。
【0015】
3)データ反復処理
先の変換から得られたデータが、暗号化部のデータ保持要素300に記憶され、その後、暗号化部のデータ保持要素300に保持されたデータが、変換のために暗号化部のデータ変換要素301に再び入力され、副鍵配列記憶部2の次の行の副鍵も、データ変換のために暗号化部のデータ変換要素301に入力される。この処理が32回繰り返されて、データが得られる。
【0016】
上記暗号化アルゴリズムでは、1つのデータセットを低効率で処理するのに32クロック周期が費やされる。この状況を改善するため、データ変換要素の数を増やすことによって、処理効率を向上させることができる。例えば、図2に示すように、128ビットの1データセットを16クロック周期で処理することができる。
【0017】
既存の技術では、副鍵配列記憶要素が不可欠の要素である。1024ビットの副鍵配列記憶要素が、集積回路のレジスタで実現された場合、全資源の約40%を占める約10000ゲートの論理資源が高コストに消費される(図1の解決策では、約25000ゲートの総資源量が消費される)。
【発明の概要】
【発明が解決しようとする課題】
【0018】
本発明の目的は、既存の技術におけるブロック暗号化アルゴリズムに基づく暗号化処理方法の高コストの技術的問題に対処するため、安価で効率のよいブロック暗号化アルゴリズムに基づく暗号化処理方法を提供することである。
【課題を解決するための手段】
【0019】
本発明の技術的解決策は、以下のとおりである。
【0020】
ブロック暗号化アルゴリズムに基づく暗号化処理装置は、鍵拡張部と、暗号化部とを備え、
上記鍵拡張部は、鍵拡張部のデータ保持要素と、鍵拡張部の少なくとも1つのデータ変換要素とを備えており、上記暗号化部は、暗号化部のデータ保持要素と、暗号化部の少なくとも1つのデータ変換要素とを備えており、上記暗号化部のデータ変換要素の数は、上記鍵拡張部のデータ変換要素の数と同一であり、上記暗号化部のデータ変換要素は、上記鍵拡張部のデータ変換要素と1対1の接続状態にあり、
上記鍵拡張部のデータ保持要素の出力部が、上記鍵拡張部のデータ変換要素のうちの第1のデータ変換要素の入力部に接続され、上記鍵拡張部のデータ変換要素のあらゆる隣接する2つのデータ変換要素が順番に接続され、上記鍵拡張部のデータ変換要素のうちの最後のデータ変換要素の出力部が、上記鍵拡張部のデータ保持要素の入力部に接続されており、
上記暗号化部のデータ保持要素の出力部が、上記暗号化部のデータ変換要素のうちの第1のデータ変換要素の入力部に接続され、上記暗号化部のデータ変換要素のあらゆる隣接する2つのデータ変換要素が順番に接続され、上記暗号化部のデータ変換要素のうちの最後のデータ変換要素の出力部が、上記暗号化部のデータ保持要素の入力部に接続されており、
上記鍵拡張部の各データ変換要素の副鍵出力部が、上記暗号化部のデータ変換要素のうちの対応するデータ変換要素の副鍵入力部に接続されており、
上記拡張部のデータ保持要素は、入力された外部鍵と、上記鍵拡張部のデータ変換要素のうちの最後のデータ変換要素から得られたデータとを保持するようになっており、
上記鍵拡張部のデータ変換要素は、上記鍵拡張部のデータ保持要素に保持された上記データを受け取って、上記鍵を上記暗号化部の対応するデータ変換要素に入力される副鍵に拡張するようになっており、
上記暗号化部のデータ保持要素は、入力された外部データと、上記暗号化部のデータ変換要素のうちの最後のデータ変換要素から得られたデータとを保持するようになっており、
上記暗号化部のデータ変換要素は、上記暗号化部のデータ保持要素に保持された上記データを受け取り、上記受け取ったデータを、上記鍵拡張部の対応するデータ変換要素から得られた上記副鍵を用いて暗号化および変換するようになっている。
【0021】
本発明は以下の利点を有する。
【0022】
1.本発明にかかる暗号化処理装置は、副鍵配列記憶部が不要になるので、既存の技術の効率を維持しながら、消費資源を効率的に低減させることができ、ひいては装置のコストを低減させることができる。
【0023】
2.本発明にかかる暗号化処理装置によれば、変換要素1個の場合は、消費資源が既存の技術の60%に過ぎず、変換要素2個の場合は、消費資源が既存の技術の70%に過ぎない。
【0024】
3.副鍵保持部が増設されるので、集積回路において重要なパスが短縮化されて、クロックの一次周波数を上昇させ、ひいては装置の処理能力を増大させることができる。
【図面の簡単な説明】
【0025】
【図1】図1は、既存の技術における暗号化および復号処理装置の第1の構造を示す概略図である。
【図2】図2は、既存の技術における暗号化および復号処理装置の第2の構造を示す概略図である。
【図3】図3は、本発明にかかる暗号化および復号処理装置の第1の構造を示す概略図である。
【図4】図4は、本発明にかかる暗号化および復号処理装置の第2の構造を示す概略図である。
【図5】図5は、本発明にかかる暗号化および復号処理装置の第3の構造を示す概略図である。
【図6】図6は、本発明にかかる暗号化および復号処理装置の第4の構造を示す概略図である。
【発明を実施するための形態】
【0026】
ここで、本発明にかかる装置を図面に基づいて以下に詳述する。
【0027】
第1の実施形態
図3に示すように、ブロック暗号化アルゴリズムに基づく第1の暗号化処理装置は、鍵拡張部1と、暗号化部3とを備えている。
【0028】
鍵拡張部1は、鍵拡張部のデータ保持要素100と、鍵拡張部のデータ変換要素101とを備えており、鍵拡張部のデータ保持要素100の出力部が、鍵拡張部のデータ変換要素101の入力部に接続され、鍵拡張部のデータ変換要素101の出力部が、鍵拡張部のデータ保持要素100の入力部に接続されている。
【0029】
暗号化部3は、暗号化部のデータ保持要素300と、暗号化部のデータ変換要素301とを備えており、暗号化部のデータ保持要素300の出力部が、暗号化部のデータ変換要素301の入力部に接続され、暗号化部のデータ変換要素301の出力部が、暗号化部のデータ保持要素300の入力部に接続されている。
【0030】
特に、鍵拡張部のデータ変換要素101の副鍵出力部が、暗号化部のデータ変換要素301の副鍵入力部に接続されている。
【0031】
図3を参照すると、ブロック暗号化アルゴリズムに基づく第1の暗号化処理装置は、本発明の一実施形態にかかる方法の以下の工程を実行する。
【0032】
1]外部鍵が保持される。すなわち、クロック周期のクロック端に来ると、被処理外部鍵が、保持のために鍵拡張部のデータ保持要素100に入力される。
【0033】
2]外部データが保持される。すなわち、上記クロック周期のクロック端に来ると、1個の外部データセットが、保持のために暗号化部のデータ保持要素300に入力される。
【0034】
3]鍵が拡張される。すなわち、上記クロック周期において、鍵拡張部のデータ保持要素100に保持されたデータが、鍵拡張部のデータ変換要素101に入力されて、その鍵が、暗号化部のデータ変換要素301に入力される副鍵に拡張される。
【0035】
4]データが暗号化および変換される。すなわち、上記クロック周期において、暗号化部のデータ保持要素300に保持されたデータが、暗号化部のデータ変換要素301に入力され、データ変換要素301が、次にデータを暗号化および変換する。
【0036】
5]内部データが保持される。すなわち、次のクロック周期のクロック端に来ると、鍵拡張部のデータ変換要素101から得られたデータが、保持のために鍵拡張部のデータ保持要素100に入力され、暗号化部のデータ変換要素301から得られたデータが、保持のために暗号化部のデータ保持要素300に入力される。
【0037】
6]データが反復して処理される。すなわち、データがブロック暗号化アルゴリズムで指定された回数だけ変換されるまで、鍵拡張工程と、データ暗号化および変換工程と、内部データ保持工程とが繰り返され、それにより、上記データセットの暗号化が完了する。
【0038】

第2の実施形態
図4に示すように、ブロック暗号化アルゴリズムに基づく第2の暗号化処理装置は、鍵拡張部1と、暗号化部3とを備えている。
【0039】
鍵拡張部1は、鍵拡張部のデータ保持要素100と、鍵拡張部の2個のデータ変換要素101a、101bとを備えており、鍵拡張部のデータ保持要素100の出力部が、鍵拡張部の第1のデータ変換要素101aの入力部に接続され、鍵拡張部の2個のデータ変換要素101a、101bが順番に接続され、鍵拡張部の第2のデータ変換要素101bの出力部が、鍵拡張部のデータ保持要素100の入力部に接続されている。
【0040】
暗号化部3は、暗号化部のデータ保持要素300と、暗号化部の2個のデータ変換要素301a、301bとを備えており、暗号化部のデータ保持要素300の出力部が、暗号化部の第1のデータ変換要素301aの入力部に接続され、暗号化部の2個のデータ変換要素301a、301bが順番に接続され、暗号化部の第2のデータ変換要素301bの出力部が、暗号化部のデータ保持要素300の入力部に接続されている。
【0041】
特に、鍵拡張部の第1のデータ変換要素101aの副鍵出力部が、暗号化部の第1のデータ変換要素301aの副鍵入力部に接続されており、鍵拡張部の第2のデータ変換要素101bの副鍵出力部が、暗号化部の第2のデータ変換要素301bの副鍵入力部に接続されている。
【0042】
特に、鍵拡張部のデータ変換要素の数は、暗号化部のデータ変換要素の数と同一であり、3個の場合も、4個の場合も、32個又は48個までの場合もあり得るが、好ましくは、1個、2個又は4個である。
【0043】
図4を参照すると、ブロック暗号化アルゴリズムに基づく第2の暗号化処理装置は、本発明の一実施形態にかかる方法の以下の工程を実行する。
【0044】
1]外部鍵が保持される。すなわち、クロック周期のクロック端に来ると、被処理外部鍵が、保持のために鍵拡張部のデータ保持要素100に入力される。
【0045】
2]外部データが保持される。すなわち、上記クロック周期のクロック端に来ると、1個の外部データセットが、保持のために暗号化部のデータ保持要素300に入力される。
【0046】
3]鍵が拡張される。すなわち、上記クロック周期において、鍵拡張部のデータ保持要素100に保持されたデータが、鍵拡張部のデータ変換要素101aに入力されて、その鍵が、暗号化部のデータ変換要素301aに入力される副鍵に拡張され、鍵拡張部のデータ変換要素101aから出力されたデータが、鍵拡張部の次のデータ変換要素101bに入力され、その結果、鍵拡張部のデータ変換要素が、順番に鍵を拡張する。
【0047】
4]データが暗号化および変換される。すなわち、上記クロック周期において、暗号化部のデータ保持要素300に保持されたデータが、暗号化部のデータ変換要素301aに入力され、データ変換要素301aが、次にデータを暗号化および変換し、暗号化部のデータ変換要素301aから出力されたデータが、暗号化部の次のデータ変換要素301bに入力され、その結果、暗号化部のデータ変換要素が、順番にデータを暗号化する。
【0048】
5]内部データが保持される。すなわち、次のクロック周期のクロック端に来ると、鍵拡張部の最後のデータ変換要素(本実施形態では101b)から出力されたデータが、保持のために鍵拡張部のデータ保持要素100に入力され、暗号化部の最後のデータ変換要素(本実施形態では301b)から出力されたデータが、保持のために暗号化部のデータ保持要素300に入力される。
【0049】
6]データが反復して処理される。すなわち、データがブロック暗号化アルゴリズムで指定された回数だけ変換されるまで、鍵拡張工程と、データ暗号化および変換工程と、内部データ保持工程とが繰り返され、それにより、上記データセットの暗号化が完了する。
【0050】

第3の実施形態
図5に示すように、ブロック暗号化アルゴリズムに基づく第3の暗号化処理装置は、鍵拡張部1と、副鍵保持部4と、暗号化部3とを備えている。
【0051】
鍵拡張部1は、鍵拡張部のデータ保持要素100と、鍵拡張部のデータ変換要素101とを備えており、鍵拡張部のデータ保持要素100の出力部が、鍵拡張部のデータ変換要素101の入力部に接続されており、鍵拡張部のデータ変換要素101の出力部が、鍵拡張部のデータ保持要素100の入力部に接続されている。
【0052】
副鍵保持部4は、汎用フリップフロップでもレジスタでもよい副鍵保持要素401を備えている。
【0053】
暗号化部3は、暗号化部のデータ保持要素300と、暗号化部のデータ変換要素301とを備えており、暗号化部のデータ保持要素300の出力部が、暗号化部のデータ変換要素301の入力部に接続され、暗号化部のデータ変換要素301の出力部が、暗号化部のデータ保持要素300の入力部に接続されている。
【0054】
特に、鍵拡張部のデータ変換要素101の副鍵出力部が、副鍵保持要素401の入力部に接続されており、副鍵保持要素401の出力部が、暗号化部のデータ変換要素301の副鍵入力部に接続されている。
【0055】
図5を参照すると、ブロック暗号化アルゴリズムに基づく第3の暗号化処理装置は、本発明の一実施形態にかかる方法の以下の工程を実行する。
【0056】
1]外部鍵が保持される。すなわち、クロック周期のクロック端に来ると、被処理外部鍵が、保持のために鍵拡張部のデータ保持要素100に入力される。
【0057】
2]鍵が前拡張される。すなわち、外部鍵が保持されるクロック周期において、鍵拡張部のデータ保持要素100に保持されたデータが、鍵拡張部のデータ変換要素101に入力されて、その鍵が、接続されている副鍵保持要素401の入力部に入力される副鍵に拡張され、鍵拡張部のデータ変換要素101から得られたデータが、鍵拡張部のデータ保持要素100の入力部に入力される。
【0058】
3]鍵がバッファに入れられ保持される。すなわち、外部鍵保持工程後の次のクロック周期のクロック端に来ると、鍵拡張部のデータ変換要素101から得られたデータが、保持のために鍵拡張部のデータ保持要素100に入力され、鍵拡張部のデータ変換要素101の副鍵が、保持のために副鍵保持要素401に入力される。
【0059】
4]外部データが保持される。すなわち、外部鍵保持工程後の次のクロック周期のクロック端に来ると、1個の外部データセットが、保持のために暗号化部のデータ保持要素300に入力される。
【0060】
5]鍵が拡張される。すなわち、上記クロック周期において、鍵拡張部のデータ保持要素100に保持されたデータが、鍵拡張部のデータ変換要素101に入力されて、その鍵が、接続されている副鍵保持要素401の入力部に入力される副鍵に拡張され、鍵拡張部のデータ変換要素101から出力されたデータが、鍵拡張部のデータ保持要素100の入力部に入力され、副鍵保持要素401から出力された副鍵が、暗号化部のデータ変換要素301に入力される。
【0061】
6]データが暗号化および変換される。すなわち、上記クロック周期において、暗号化部のデータ保持要素300に保持されたデータが、暗号化部のデータ変換要素301に入力され、データ変換要素301が、次にデータを暗号化および変換し、暗号化部のデータ変換要素301から出力されたデータが、暗号化部のデータ保持要素300の入力部に入力される。
【0062】
7]内部データが保持される。すなわち、次のクロック周期のクロック端に来ると、鍵拡張部のデータ変換要素101から得られたデータが、保持のために鍵拡張部のデータ保持要素100に入力され、鍵拡張部のデータ変換要素101の副鍵が、保持のために副鍵保持要素401に入力され、暗号化部のデータ変換要素301から得られたデータが、保持のために暗号化部のデータ保持要素300に入力される。
【0063】
6]データが反復して処理される。すなわち、データがブロック暗号化アルゴリズムで指定された回数だけ変換されるまで、鍵拡張工程と、データ暗号化および変換工程と、内部データ保持工程とが繰り返され、それにより、上記データセットの暗号化が完了する。
【0064】

第4の実施形態
図6に示すように、ブロック暗号化アルゴリズムに基づく第4の暗号化処理装置は、鍵拡張部1と、副鍵保持部4と、暗号化部3とを備えている。
【0065】
鍵拡張部1は、鍵拡張部のデータ保持要素100と、鍵拡張部の2個のデータ変換要素101a、101bとを備えており、鍵拡張部のデータ保持要素100の出力部が、鍵拡張部の第1のデータ変換要素101aの入力部に接続され、鍵拡張部の2個のデータ変換要素101a、101bが順番に接続され、鍵拡張部の第2のデータ変換要素101bの出力部が、鍵拡張部のデータ保持要素100の入力部に接続されている。
【0066】
副鍵保持部4は、汎用フリップフロップでもレジスタでもよい2個の副鍵保持要素401a、401bを備えている。
【0067】
暗号化部3は、暗号化部のデータ保持要素300と、暗号化部の2個のデータ変換要素301a、301bとを備えており、暗号化部のデータ保持要素300の出力部が、暗号化部の第1のデータ変換要素301aの入力部に接続され、暗号化部の2個のデータ変換要素301a、301bが順番に接続され、暗号化部の第2のデータ変換要素301bの出力部が、暗号化部のデータ保持要素300の入力部に接続されている。
【0068】
特に、鍵拡張部の第1のデータ変換要素101aの副鍵出力部が、第1の副鍵保持要素401aの入力部に接続され、第1の副鍵保持要素401aの出力部が、暗号化部の第1のデータ変換要素301aの副鍵入力部に接続されており、鍵拡張部の第2のデータ変換要素101bの副鍵出力部が、第2の副鍵保持要素401bの入力部に接続され、第2の副鍵保持要素401bの出力部が、暗号化部の第2のデータ変換要素301bの副鍵入力部に接続されている。
【0069】
特に、鍵拡張部のデータ変換要素の数、副鍵保持要素の数、および暗号化部のデータ変換要素の数は、同一であり、3個の場合も、4個の場合も、32個又は48個までの場合もあるが、好ましくは、1個、2個又は4個である。
【0070】
図6を参照すると、ブロック暗号化アルゴリズムに基づく第4の暗号化処理装置は、本発明の一実施形態にかかる方法の以下の工程を実行する。
【0071】
1]外部鍵が保持される。すなわち、クロック周期のクロック端に来ると、被処理外部鍵が、保持のために鍵拡張部のデータ保持要素100に入力される。
【0072】
2]鍵が前拡張される。すなわち、外部鍵が保持されるクロック周期において、鍵拡張部のデータ保持要素100に保持されたデータが、鍵拡張部の第1のデータ変換要素101aに入力されて、その鍵が、接続されている第1の副鍵保持要素401aの入力部に入力される副鍵に拡張され、鍵拡張部の第1のデータ変換要素101aから出力されたデータが、鍵拡張部の次のデータ保持要素101bの入力部に入力されて、鍵が二度目の拡張を受け、その結果、鍵拡張部のデータ変換要素が、その鍵を、接続されているそれぞれの副鍵保持要素の入力部に入力される副鍵に順番に拡張し、鍵拡張部の最後のデータ変換要素(本実施形態では101b)から出力されたデータが、鍵拡張部のデータ保持要素100の入力部に入力される。
【0073】
3]鍵がバッファに入れられ保持される。すなわち、外部鍵保持工程後の次のクロック周期のクロック端に来ると、鍵拡張部の最後のデータ変換要素(本実施形態では101b)から得られたデータが、保持のために鍵拡張部のデータ保持要素100に入力され、鍵拡張部のデータ変換要素の副鍵が、保持のために、対応する副鍵保持要素に入力される。
【0074】
4]外部データが保持される。すなわち、外部鍵保持工程後の次のクロック周期のクロック端に来ると、1個の外部データセットが、保持のために暗号化部のデータ保持要素300に入力される。
【0075】
5]鍵が拡張される。すなわち、上記クロック周期において、鍵拡張部のデータ保持要素100に保持されたデータが、鍵拡張部の第1のデータ変換要素101aに入力されて、その鍵が、接続されている第1の副鍵保持要素401aの入力部に入力される副鍵に拡張され、鍵拡張部の第1のデータ変換要素101aから出力されたデータが、鍵拡張部の次のデータ保持要素101bの入力部に入力されて、鍵が二度目の拡張を受け、その結果、鍵拡張部のデータ変換要素が、その鍵を、接続されているそれぞれの副鍵保持要素の入力部に入力される副鍵に順番に拡張し、鍵拡張部の最後のデータ変換要素(本実施形態では101b)から出力されたデータが、鍵拡張部のデータ保持要素100のデータ入力部に入力される。
【0076】
6]データが暗号化および変換される。すなわち、上記クロック周期において、暗号化部のデータ保持要素300に保持されたデータが、暗号化部の第1のデータ変換要素301aに入力され、第1の副鍵保持要素401aの副鍵が、暗号化部の第1のデータ変換要素301aに入力され、第1のデータ変換要素301aが、次にデータを暗号化および変換し、暗号化部の第1のデータ変換要素301aから暗号化され変換されたデータが、暗号化部の第2のデータ変換要素301bに入力され、第2の副鍵保持要素401bの副鍵が、暗号化部の第2のデータ変換要素301bに入力され、第2のデータ変換要素301bが、次にデータを暗号化および変換し、その結果、鍵拡張部のデータ変換要素に対応する暗号化部のデータ変換要素が、順番にデータを暗号化および変換し、暗号化部の最後のデータ変換要素(本実施形態では301b)から出力されたデータが、暗号化部のデータ保持要素300のデータ入力部に入力される。
【0077】
7]内部データが保持される。すなわち、次のクロック周期のクロック端に来ると、鍵拡張部の最後のデータ変換要素(本実施形態では101b)から得られたデータが、保持のために鍵拡張部のデータ保持要素100に入力され、鍵拡張部のデータ変換要素の副鍵が、保持のために、対応する副鍵保持要素に入力され、暗号化部の最後のデータ変換要素(本実施形態では301b)から得られたデータが、保持のために暗号化部のデータ保持要素300に入力される。
【0078】
8]データが反復して処理される。すなわち、データがブロック暗号化アルゴリズムで指定された回数だけ変換されるまで、鍵拡張工程と、データ暗号化および変換工程と、内部データ保持工程とが繰り返され、それにより、上記データセットの暗号化が完了する。
【0079】
暗号化処理装置に、鍵拡張部の複数個のデータ変換要素と、複数個の副鍵保持要素と、暗号化部の複数個のデータ変換要素が設けられている場合、これらの要素は、接続されている順序で、順番に鍵を拡張し、データを暗号化する。
【0080】
SMS4アルゴリズムが、ブロック暗号化アルゴリズムとして特に採用される場合、上記4つの実施形態の暗号化方法は、特に32回データを反復して変換する。
【符号の説明】
【0081】
1 鍵拡張部
100 鍵拡張部のデータ保持要素
101(101a、101b) 鍵拡張部のデータ変換要素
2 副鍵配列記憶部
3 暗号化部
300 暗号化部のデータ保持要素
301(301a、301b) 暗号化部のデータ変換要素
4 副鍵保持部
401(401a、401b) 副鍵保持要素

【特許請求の範囲】
【請求項1】
ブロック暗号化アルゴリズムに基づく暗号化処理装置であって、鍵拡張部と、暗号化部とを備え、
前記鍵拡張部は、鍵拡張部のデータ保持要素と、鍵拡張部の少なくとも1つのデータ変換要素とを備えており、前記暗号化部は、暗号化部のデータ保持要素と、暗号化部の少なくとも1つのデータ変換要素とを備えており、前記暗号化部のデータ変換要素の数は、前記鍵拡張部のデータ変換要素の数と同一であり、前記暗号化部のデータ変換要素は、前記鍵拡張部のデータ変換要素と1対1の接続状態にあり、
前記鍵拡張部のデータ保持要素の出力部が、前記鍵拡張部のデータ変換要素のうちの第1のデータ変換要素の入力部に接続され、前記鍵拡張部のデータ変換要素のあらゆる隣接する2つのデータ変換要素が順番に接続され、前記鍵拡張部のデータ変換要素のうちの最後のデータ変換要素の出力部が、前記鍵拡張部のデータ保持要素の入力部に接続されており、
前記暗号化部のデータ保持要素の出力部が、前記暗号化部のデータ変換要素のうちの第1のデータ変換要素の入力部に接続され、前記暗号化部のデータ変換要素のあらゆる隣接する2つのデータ変換要素が順番に接続され、前記暗号化部のデータ変換要素のうちの最後のデータ変換要素の出力部が、前記暗号化部のデータ保持要素の入力部に接続されており、
前記鍵拡張部の各データ変換要素の副鍵出力部が、前記暗号化部のデータ変換要素のうちの対応するデータ変換要素の副鍵入力部に接続されており、
前記拡張部のデータ保持要素は、入力された外部鍵と、前記鍵拡張部のデータ変換要素のうちの最後のデータ変換要素から得られたデータとを保持するようになっており、
前記鍵拡張部のデータ変換要素は、前記鍵拡張部のデータ保持要素に保持された前記データを受け取って、前記鍵を前記暗号化部の対応するデータ変換要素に入力される副鍵に拡張するようになっており、
前記暗号化部のデータ保持要素は、入力された外部データと、前記暗号化部のデータ変換要素のうちの最後のデータ変換要素から得られたデータとを保持するようになっており、
前記暗号化部のデータ変換要素は、前記暗号化部のデータ保持要素に保持された前記データを受け取り、前記受け取ったデータを、前記鍵拡張部の対応するデータ変換要素から得られた前記副鍵を用いて暗号化および変換するようになっている、
ブロック暗号化アルゴリズムに基づく暗号化処理装置。
【請求項2】
前記鍵拡張部のデータ変換要素の数は1から32であり、その場合、前記暗号化部のデータ変換要素の数は、それに対応して1から32である、請求項1に記載のブロック暗号化アルゴリズムに基づく暗号化処理装置。
【請求項3】
前記鍵拡張部のデータ変換要素の数は1、2又は4であり、その場合、前記暗号化部のデータ変換要素の数は、それに対応して1、2又は4である、請求項2に記載のブロック暗号化アルゴリズムに基づく暗号化処理装置。
【請求項4】
前記暗号化処理装置が、少なくとも1つの副鍵保持要素を備える副鍵保持部をさらに備えており、副鍵保持要素の数は、前記鍵拡張部のデータ変換要素の数と同一であり、前記副鍵保持要素は、前記鍵拡張部のデータ変換要素と1対1の接続状態にあり、
前記鍵拡張部の各データ変換要素の出力部が、前記副鍵保持要素のうちの対応する副鍵保持要素の入力部に接続され、前記各副鍵保持要素の出力部が、前記暗号化部のデータ変換要素のうちの対応するデータ変換要素の入力部に接続されており、
前記鍵拡張部のデータ変換要素は、前記鍵拡張部のデータ保持要素に保持された前記データを受け取って、前記鍵を前記副鍵保持要素の入力部に入力される副鍵に拡張するようになっており、
前記副鍵保持要素は、前記鍵拡張部のデータ変換要素から得られた前記副鍵を保持するようになっており、
前記暗号化部のデータ変換要素は、前記副鍵保持要素に保持された前記副鍵を受け取り、前記受け取ったデータを前記副鍵を用いて暗号化および変換するようになっている、
請求項1に記載のブロック暗号化アルゴリズムに基づく暗号化処理装置。
【請求項5】
前記鍵拡張部のデータ変換要素の数は1から32であり、その場合、副鍵保持要素の数は、それに対応して1から32であって、前記暗号化部のデータ変換要素の数は、それに対応して1から32である、請求項4に記載のブロック暗号化アルゴリズムに基づく暗号化処理装置。
【請求項6】
前記鍵拡張部のデータ変換要素の数は1、2又は4であり、その場合、副鍵保持要素の数は、それに対応して1、2又は4であって、前記暗号化部のデータ変換要素の数は、それに対応して1、2又は4である、請求項5に記載のブロック暗号化アルゴリズムに基づく暗号化処理装置。
【請求項7】
前記副鍵保持要素は、汎用フリップフロップ又はレジスタである、請求項4、5又は6に記載のブロック暗号化アルゴリズムに基づく暗号化処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公表番号】特表2011−503666(P2011−503666A)
【公表日】平成23年1月27日(2011.1.27)
【国際特許分類】
【出願番号】特願2010−534350(P2010−534350)
【出願日】平成20年11月13日(2008.11.13)
【国際出願番号】PCT/CN2008/073041
【国際公開番号】WO2009/067929
【国際公開日】平成21年6月4日(2009.6.4)
【出願人】(510138969)西安西電捷通無線網絡通信有限公司 (7)
【Fターム(参考)】