(57)【要約】既に知られ、好ましくは、ＡＥＳコプロセッサおよびＡＥＳ計算の方法としてそれぞれ具現化されたものより必要記憶量が減少しラウンド鍵発生への攻撃に対する安全性が強化されたことを特徴とする、データを暗号化および／または復号化するプロセッサとこのようなプロセッサを使用してデータを暗号化および／または復号化する方法を提供するため、制御装置（１２）は少なくとも１台の通信手段（１６）を介して少なくとも１台の暗号化／復号化手段（１４）に接続され、制御装置（１２）は少なくとも１台のさらなる通信手段（２０）を介して少なくとも１台のラウンド鍵発生手段（１８）に接続され、制御装置（１２）は少なくとも１個の外部鍵入力（２２）を有し、少なくとも１台の暗号化／復号化手段（１４）は少なくとも１個の外部データ入力（２４）および少なくとも１個の外部データ出力（２６）を有し、少なくとも１台の暗号化／復号化手段（１４）および少なくとも１台のラウンド鍵発生手段（１８）は互いに分離される。本発明による方法は、少なくとも１個の初期鍵が制御装置に読み込まれ、外部データが少なくとも１台の暗号化／復号化手段に読み込まれ、少なくとも１個のラウンド鍵を計算するために必要な少なくとも１個のデータワードが制御装置の少なくとも１台の記憶手段から読み出され、少なくとも１台のラウンド鍵発生手段へ転送され、少なくとも１個のラウンド鍵が少なくとも１台のラウンド鍵発生手段によって少なくとも１個のデータワードに基づいて再帰的に計算され、制御装置へ転送され、少なくとも１台の記憶手段に格納され、少なくとも１個のラウンド鍵が少なくとも１台の暗号化／復号化手段に転送され、外部データが少なくとも１個のラウンド鍵を使用して少なくとも１台の暗号化／復号化手段によって暗号化または復号化され、暗号化または復号化されたデータが少なくとも１個のデータ出力で利用できるようにされ、これらのステップが外部データの組を暗号化または復号化するために必要とされるたびごとに繰り返される。
2006527412.tif 000002
【特許請求の範囲】
【請求項１】
制御装置が少なくとも１台の通信手段を介して少なくとも１台の暗号化／復号化手段に接続され、前記制御装置が少なくとも１台のさらなる通信手段を介して少なくとも１台のラウンド鍵発生手段に接続され、前記制御装置が少なくとも１個の外部鍵入力を有し、前記少なくとも１台の暗号化／復号化手段が少なくとも１個の外部データ入力および少なくとも１個の外部データ出力を有し、前記少なくとも１台の暗号化／復号化手段と前記少なくとも１台のラウンド鍵発生手段が互いに分離される、データを暗号化および／または復号化するプロセッサ。
【請求項２】
前記少なくとも１台の通信手段が少なくとも１本のリクエストラインと少なくとも１本のリリースラインと少なくとも１本のデータラインを含み、および／または、前記少なくとも１台のさらなる通信手段が少なくとも１本のさらなるリクエストラインと少なくとも１本のさらなるリリースラインと少なくとも１本のさらなるデータラインを含む、請求項１に記載のプロセッサ。
【請求項３】
前記少なくとも１本のリクエストラインと前記少なくとも１本のリリースラインと前記少なくとも１本のデータライン、および／または、前記少なくとも１本のさらなるリクエストラインと前記少なくとも１本のさらなるリリースラインと前記少なくとも１本のさらなるデータラインが、少なくとも部分的に同じ物理的ラインを使用する、請求項１または２に記載のプロセッサ。
【請求項４】
前記制御装置が、前記少なくとも１台のラウンド鍵発生手段によって発生された少なくとも１個のラウンド鍵が一時的に格納されることができる少なくとも１台の記憶手段を備える、請求項１から３のいずれか一項に記載のプロセッサ。
【請求項５】
少なくとも１個の循環ポインタが前記少なくとも１台の記憶手段へのアクセスのため設けられる、請求項４に記載のプロセッサ。
【請求項６】
少なくとも一つのハンドシェイクプロトコルが、前記少なくとも１台の暗号化／復号化手段、および／または、前記少なくとも１台のラウンド鍵発生手段との前記制御装置の通信のため設けられる、請求項１から５のいずれか一項に記載のプロセッサ。
【請求項７】
前記制御装置と、前記少なくとも１台の暗号化／復号化手段と、前記少なくとも１台のラウンド鍵発生手段の動作モードが互いに非同期である、請求項１から６のいずれか一項に記載のプロセッサ。
【請求項８】
少なくとも１回のダミー計算および／または少なくとも１回の前のラウンド鍵計算の少なくとも一部分が、少なくとも１回の休止フェーズ中に、前記少なくとも１台のラウンド鍵発生手段を用いて実行される、請求項１から７のいずれか一項に記載のプロセッサ。
【請求項９】
前記少なくとも１個のラウンド鍵の計算と使用との間の時間が可変である、請求項１から８のいずれか一項に記載のプロセッサ。
【請求項１０】
前記プロセッサがＡＥＳコプロセッサとして具体化される、請求項１から９のいずれか一項に記載のプロセッサ。
【請求項１１】
ａ）少なくとも１個の初期鍵が制御装置に読み込まれ、
ｂ）外部データが少なくとも１台の暗号化／復号化手段に読み込まれ、
ｃ）少なくとも１個のラウンド鍵を計算するために必要な少なくとも１個のデータワードが前記制御装置の少なくとも１台の記憶手段から読み出され、少なくとも１台のラウンド鍵発生手段へ転送され、
ｄ）少なくとも１個のラウンド鍵が、前記少なくとも１台のラウンド鍵発生手段によって前記少なくとも１個のデータワードに基づいて再帰的に計算され、前記制御装置へ転送され、前記少なくとも１台の記憶手段に格納され、
ｅ）前記少なくとも１個のラウンド鍵が前記少なくとも１台の暗号化／復号化手段に転送され、
ｆ）前記外部データが、前記少なくとも１個のラウンド鍵を使用して、前記少なくとも１台の暗号化／復号化手段によって暗号化または復号化され、前記暗号化または復号化されたデータが少なくとも１個のデータ出力で利用できるようにされ、
ｇ）ステップｂ）からｆ）が外部データの組を暗号化または復号化するために必要とされるたびごとに繰り返される、
請求項１から９の少なくとも一項に記載されたプロセッサを使用してデータを暗号化および／または復号化する方法。
【請求項１２】
前記少なくとも１台の暗号化／復号化手段および／または前記少なくとも１台のラウンド鍵発生手段との前記制御装置の通信が、少なくとも一つのハンドシェイクプロトコルを用いて行われる、請求項１１に記載の方法。
【請求項１３】
前記少なくとも１台の暗号化／復号化手段と前記少なくとも１台のラウンド鍵発生手段との前記制御装置の通信が非同期で行われる、請求項１１または１２に記載の方法。
【請求項１４】
前記少なくとも１台の記憶装置へのアクセスが、少なくとも１個の循環ポインタを用いて行われる、請求項１１から１３のいずれか一項に記載の方法。
【請求項１５】
少なくとも１回のダミー計算および／または少なくとも１回の前のラウンド鍵計算の少なくとも一部分が少なくとも１回の休止フェーズ中に前記少なくとも１台のラウンド鍵発生手段を用いて実行される、請求項１１から１４のいずれか一項に記載の方法。
【請求項１６】
前記少なくとも１個のラウンド鍵の計算と使用との間の時間が可変である、請求項１１から１５のいずれか一項に記載の方法。
【請求項１７】
請求項１０に記載されたＡＥＳコプロセッサを使用するＡＥＳ計算方法として具体化される、請求項１０から１６のいずれか一項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、請求項１と１１の前提部に記載された特色を有するデータを暗号化および／または復号化するプロセッサとこのようなプロセッサを使用してデータを暗号化および／または復号化する方法に関係する。
【背景技術】
【０００２】
米国国家標準技術局（ＮＩＳＴ）によって次世代暗号標準（ＡＥＳ）として選択されたラインダール（Ｒｉｊｎｄａｅｌ）アルゴリズムは、個別の暗号ラウンド（ｒｏｕｎｄｉｎｇ）操作のための鍵を計算する鍵スケジューリングブロックと、実際の暗号化および復号化ブロックの二つの主要なブロックにより構成される。現在までに、２タイプのＡＥＳプロセッサが存在している。どちらでもすべてのラウンド鍵が暗号化／復号化の前に計算され（事前計算）、そのために、大容量の記憶領域がラウンド鍵を格納するため要求され、或いは、さもなければ、ラウンド鍵は各暗号ラウンド操作の前に計算され、その結果として、ラウンド鍵が時間的にどの時点で計算されたかがわかり、それゆえに、鍵発生への攻撃がより容易になる。鍵発生には再帰的なアルゴリズムが使用されるので、比較的大容量の記憶領域がこの場合にも要求される。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明の目的は、既に知られたものより必要記憶量が減少しラウンド鍵発生への攻撃に対する安全性が強化されたことを特徴とする、データを暗号化および／または復号化するプロセッサと、このようなプロセッサを使用してデータを暗号化および／または復号化する方法を提供することである。特に、本発明の目的は、前記の特性を有するＡＥＳコプロセッサおよびＡＥＳ計算の方法を提供することである。
【課題を解決するための手段】
【０００４】
この目的は、請求項１に記載された特色を有するプロセッサと、請求項１１に記載された特色を有するデータを暗号化および／または復号化する方法を用いて本発明によって実現される。本発明によるプロセッサは、制御装置が少なくとも１台の通信手段を介して少なくとも１台の暗号化／復号化手段に接続され、制御装置が少なくとも１台のさらなる通信手段を介して少なくとも１台のラウンド鍵発生手段に接続され、制御装置が少なくとも１個の外部鍵入力を有し、少なくとも１台の暗号化／復号化手段が少なくとも１個の外部データ入力および少なくとも１個の外部データ出力を有し、少なくとも１台の暗号化／復号化手段および少なくとも１台のラウンド鍵発生手段が互いに分離されることを特徴とする。したがって、少なくとも１台の暗号化／復号化手段と少なくとも１台のラウンド鍵発生手段との間の直接的なデータパスも、少なくとも１台のラウンド鍵発生手段の外界への直接的なコネクションもない。少なくとも１台のラウンド鍵発生手段へのアクセスは、したがって、シーケンス制御または少なくとも１台の暗号化／復号化手段を用いない限り行われない。ラウンド鍵発生への攻撃に対する安全性の強化と、再帰的な鍵計算のため一時的に必要とされるデータを収容するためだけに使用される小規模の必要記憶量の組み合わせがそれによって実現される。
【０００５】
本発明の好適な一改良によれば、少なくとも１台の通信手段は、少なくとも１本のリクエストラインと少なくとも１本のリリースラインと少なくとも１本のデータラインを含み、および／または、少なくとも１台のさらなる通信手段は、少なくとも１本のさらなるリクエストラインと少なくとも１本のさらなるリリースラインと少なくとも１本のさらなるデータラインを含む。特に都合のよい特性がそれによって有利的に達成され、その結果として、本発明によるプロセッサは広範囲の制御アルゴリズムを簡単な方式で実施するのに適している。
【０００６】
さらに、本発明の好適な一改良によれば、少なくとも１本のリクエストラインと少なくとも１本のリリースラインと少なくとも１本のデータライン、および／または、少なくとも１本のさらなるリクエストラインと少なくとも１本のさらなるリリースラインと少なくとも１本のさらなるデータラインは、少なくとも部分的に同じ物理的実体を使用する。このようにして、必要な設置スペースの最小化と、それによる経済性の向上が有利的に達成される。
【０００７】
さらに、本発明の好適な一改良によれば、制御装置は、少なくとも１台のラウンド鍵発生手段によって発生された少なくとも１個のラウンド鍵が一時的に格納される少なくとも１台の記憶手段を含む。したがって、必要記憶領域は小規模であり、再帰の深さだけに依存する。このようにして、必要な設置スペースは最小化され、その結果として経済性が向上する。
【０００８】
さらに、本発明の好適な一改良によれば、少なくとも１個の循環ポインタが少なくとも１台の記憶手段へのアクセスのため設けられる。したがって、既に読み出された格納領域は新しいラウンド鍵で書き込むために簡単な方式で解放されるが、その理由は、ポインタによって、未だ読み出されていない領域に書き込まれることはなく、有効な鍵語で書き込まれた領域だけが読み出されるからである。その結果、必要な格納領域は小規模のまま保たれる。
【０００９】
さらに、本発明の好適な一改良によれば、少なくとも一つのハンドシェイクプロトコルが制御装置による少なくとも１台の暗号化／復号化手段、および／または、少なくとも１台のラウンド鍵発生手段との通信のため設けられる。暗号化／復号化手段、および／または、ラウンド鍵発生手段の一時的な休止がそれによって実現され、その結果として、鍵発生への攻撃がより困難になる。
【００１０】
さらに、本発明の好適な一改良によれば、制御装置と少なくとも１台の暗号化／復号化手段と少なくとも１台のラウンド鍵発生手段の動作モードは互いに非同期である。その結果、鍵発生への攻撃がより困難になる。
【００１１】
本発明の好適な一改良では、さらに、少なくとも１回のダミー計算および／または少なくとも１回の前のラウンド鍵計算の少なくとも一部分が少なくとも１回の休止フェーズ中に少なくとも１台のラウンド鍵発生手段を用いて実行される。これは鍵発生への攻撃に対しさらなる保護を与える。
【００１２】
その上、本発明の好適な一改良によれば、少なくとも１個のラウンド鍵の計算と使用との間の時間は可変である。ラウンド鍵の計算への攻撃はそれによってより困難になる利点が得られる。
【００１３】
好ましくは、本発明によるデータを暗号化および／または復号化するプロセッサは、ＡＥＳコプロセッサとして具体化され、そういうものとして使用される。
【００１４】
本発明によるプロセッサを使用してデータを暗号化および／または復号化する本発明による方法は、
ａ）少なくとも１個の初期鍵が制御装置に読み込まれ、
ｂ）外部データが少なくとも１台の暗号化／復号化手段に読み込まれ、
ｃ）少なくとも１個のラウンド鍵を計算するために必要な少なくとも１個のデータワードが、制御装置の少なくとも１台の記憶手段から読み出され、少なくとも１台のラウンド鍵発生手段へ転送され、
ｄ）少なくとも１個のラウンド鍵が、少なくとも１台のラウンド鍵発生手段によって少なくとも１個のデータワードに基づいて再帰的に計算され、制御装置へ転送され、少なくとも１台の記憶手段に格納され、
ｅ）少なくとも１個のラウンド鍵が少なくとも１台の暗号化／復号化手段に転送され、
ｆ）外部データが少なくとも１個のラウンド鍵を使用して少なくとも１台の暗号化／復号化手段によって暗号化または復号化され、暗号化または復号化されたデータが少なくとも１個の外部データ出力で利用できるようにされ、
ｇ）ステップｂ）からｆ）が外部データの組を暗号化または復号化するために必要とされるたびごとに繰り返されることを特徴とする。
【００１５】
したがって、少なくとも１台の暗号化／復号化手段と少なくとも１台のラウンド鍵発生手段との間の直接的なデータパスも、少なくとも１台のラウンド鍵発生手段の外界への直接的なコネクションもない。少なくとも１台のラウンド鍵発生手段へのアクセスは、したがって、シーケンス制御または少なくとも１台の暗号化／復号化手段を用いない限り行われない。ラウンド鍵発生への攻撃に対する安全性の強化と、再帰的な鍵計算のため一時的に必要とされるデータを収容するためだけに使用される小規模の必要記憶量との組み合わせがそれによって実現される。
【００１６】
本発明による方法のコンテキストの範囲内では、好ましくは、制御装置による少なくとも１台の暗号化／復号化手段および／または少なくとも１台のラウンド鍵発生手段との通信は少なくとも一つのハンドシェイクプロトコルを用いて行われる。暗号化および／または復号化手段および／またはラウンド鍵発生手段の一時的な休止がそれによって実現され、その結果として、鍵発生への攻撃がより困難になる。
【００１７】
さらに、本発明による方法のコンテキストの範囲内では、好ましくは、制御装置による少なくとも１台の暗号化／復号化手段と少なくとも１台のラウンド鍵発生手段との通信は非同期で行われる。その結果、鍵発生への攻撃がより困難になる。
【００１８】
さらに、本発明による方法のコンテキストの範囲内では、好ましくは、少なくとも１台の記憶装置へのアクセスは少なくとも１個の循環ポインタを用いて行われる。したがって、既に読み出された格納領域は、新しいラウンド鍵で書き込むために簡単な方式で解放されるが、その理由は、ポインタによって、未だ読み出されていない領域に書き込まれることはなく、有効な鍵語で書き込まれた領域だけが読み出されるからである。その結果、必要記憶領域は小規模のまま保たれる。
【００１９】
さらに、本発明による方法のコンテキストの範囲内では、好ましくは、少なくとも１回のダミー計算および／または少なくとも１回の前のラウンド鍵計算の少なくとも一部分が少なくとも１回の休止フェーズ中に少なくとも１台のラウンド鍵発生手段を用いて実行される。これは鍵発生への攻撃に対しさらなる保護を与える。
【００２０】
その上、本発明による方法のコンテキストの範囲内では、好ましくは、少なくとも１個のラウンド鍵の計算と使用との間の時間は可変である。ラウンド鍵の計算への攻撃はそれによってより困難になる利点が得られる。
【００２１】
最後に、本発明によるデータを暗号化および／または復号化する方法は、ＡＥＳコプロセッサとして具体化され、そういうものとして使用される本発明によるコプロセッサを使用するＡＥＳ計算の方法として具体化され使用される。
【００２２】
本発明のさらなる好適な改良は従属請求項に記載されたその他の特色から生まれる。
【００２３】
以下、本発明は図面に示された実施形態の一例を参照してさらに説明されるが、本発明はその実施形態の一例に限定されない。
【発明を実施するための最良の形態】
【００２４】
図は本発明によるＡＥＳコプロセッサ１０の一実施形態のブロック図を表す。ＡＥＳコプロセッサ１０は制御装置１２と暗号化／復号化手段１４とラウンド鍵発生手段１８とを含み、制御装置１２は通信手段１６を介して暗号化／復号化手段に接続され、さらなる通信手段２０を介してラウンド鍵発生手段１８に接続される。通信手段１６およびさらなる通信手段２０は、それぞれ、リクエストラインと、リリースラインと、さらにラウンド鍵を送るデータラインとを有し、ラウンド鍵発生手段１８は、ラウンド鍵の再帰的計算のための中間結果を送信する付加的なデータラインを介して制御装置１２に接続される。制御装置１２は、外部鍵入力２２を介して制御装置に導入された初期鍵と、ラウンド鍵と、さらに再帰の中間結果を一時的に収容する記憶手段２８を含む。ラウンド鍵は、暗号化／復号化手段１４またはラウンド鍵発生手段１８に格納されない。互いに非同期で動作する暗号化／復号化手段１４、制御装置１２およびラウンド鍵発生手段１８のブロックは、暗号化／復号化手段１４とラウンド鍵発生手段１８との間に直接的なデータコネクションがないので、ハンドシェイクプロトコルを用いて通信する。ＡＥＳ計算の開始時に、３ブロックのすべてが並列に始動される。外部データは外部データ入力２４を介して暗号化／復号化手段１４に読み込まれ、初期鍵は外部鍵入力２２を介して制御装置１２に読み込まれる。暗号化／復号化手段１４とラウンド鍵発生手段１８は共に入力データが必要であることを示す要求を制御装置１２へ送信し、この要求が満たされるまで待つ。１回目の暗号化／復号化ラウンド操作に関して、ラウンド鍵発生手段１８は優先し、すなわち、再帰的アルゴリズムに必要なデータワードが記憶手段２８から読み出される。優先順位はさらなるラウンド操作のため変更してもよい。鍵語が一旦計算されると、このデータワードを記憶手段２８へ書き込む要求が制御装置１２へ送られる。ラウンド鍵発生手段１８は、この要求が満たされるまで待つ。実際のラウンド鍵は、次に、暗号化／復号化手段１４へ送られ、外部データは暗号化／復号化手段１４において暗号化または復号化され、外部データ出力２６で利用可能にされる。必要記憶領域を小規模のまま保ち、シリコン面積の点で節約を行うため、この方法は、さらなるラウンド鍵が書き込まれるようにするため既に読み出された領域を解放する循環ポインタを用いて実行される。本発明による手段によって、既に知られたものより少ない必要記憶量と、ラウンド鍵発生への攻撃に対する高い安全性が実現される。
【図面の簡単な説明】
【００２５】
【図１】ＡＥＳコプロセッサを表す図である。
【符号の説明】
【００２６】
１０      ＡＥＳコプロセッサ
１２      制御装置
１４      暗号化／復号化手段
１６      通信手段
１８      ラウンド鍵発生手段
２０      さらなる通信手段
２２      外部鍵入力
２４      外部データ入力
２６      外部データ出力
２８      記憶手段
【図１】
2006527412.tif 000003
【国際調査報告】
2006527412.tif 000004
2006527412.tif 000005
2006527412.tif 000006