(57)【特許請求の範囲】
【請求項１】
同じ入力データを暗号処理して得た出力と復号処理して得た出力とが同じになるような特殊な暗号鍵を用いて入力データを検査対象の暗号回路と復号回路とでそれぞれ暗号処理及び復号処理し、該両処理結果の一致及び不一致を判断して前記暗号回路及び復号回路の動作を確認することを特徴とする暗号復号回路の動作確認方法。
【請求項２】
既知の特殊な暗号鍵と任意の暗号鍵とに基づいて予め生成された第１の鍵生成データを前記任意の暗号鍵を用いて前記暗号回路により暗号処理して前記特殊な暗号鍵を生成し、前記復号回路で前記特殊な暗号鍵を用いて任意の入力データを復号処理して第１の出力データを得る段階と、
既知の特殊な暗号鍵と前記任意の暗号鍵とに基づいて予め生成された第２の鍵生成データを前記任意の暗号鍵を用いて前記復号回路により復号処理して前記特殊な暗号鍵を生成し、前記暗号回路で前記特殊な暗号鍵を用いて前記入力データを暗号処理して第２の出力データを得る段階と、
前記第１及び第２の出力データを比較して一致及び不一致を判断する段階と、
を有することを特徴とする請求項１に記載の暗号復号回路の動作確認方法。
【請求項３】
前記暗号回路と復号回路は、暗号機能と復号機能の切換可能な一つの暗号復号回路であり、該暗号復号回路の暗号機能と復号機能とを切り換えて前記暗号処理及び復号処理することを特徴とする請求項２に記載の暗号復号回路の動作確認方法。
【請求項４】
前記二つの特殊な暗号鍵は、同一の暗号鍵であることを特徴とする請求項２又は３に記載の暗号復号回路の動作確認方法。
【請求項５】
前記二つの特殊な暗号鍵は、互いに相補の関係にある暗号鍵であることを特徴とする請求項２又は３に記載の暗号復号回路の動作確認方法。
【請求項６】
同じ入力データを暗号処理して得た出力と復号処理して得た出力とが同じになるような特殊な暗号鍵を用いて入力データを検査対象の暗号回路と復号回路とでそれぞれ暗号処理及び復号処理し、該両処理結果の一致及び不一致を判断して前記暗号回路及び復号回路の動作を確認する構成としたことを特徴とする暗号復号回路の動作確認装置。
【請求項７】
任意の暗号鍵と前記特殊な暗号鍵とを選択する鍵選択部と、
前記特殊な暗号鍵を記憶する記憶部と、
前記暗号回路及び復号回路の選択を制御し、前記鍵選択部の各暗号鍵の選択動作を制御し、前記暗号回路及び復号回路に入力する前記特殊な暗号鍵を生成するために該特殊な暗号鍵と前記任意の暗号鍵とに基づいて予め生成された第１及び第２の鍵生成データ、並びにテスト用の入力データの選択動作を制御することにより、前記暗号回路及び復号回路で前記特殊な暗号鍵を生成して前記記憶部に記憶させ、前記特殊な暗号鍵を用いて暗号処理及び復号処理して得た前記両処理結果の一致及び不一致を判定する制御部と、
を備えることを特徴とする請求項６に記載の暗号復号回路の動作確認装置。
【請求項８】
前記制御部は、前記暗号回路及び前記任意の暗号鍵並びに予め生成された前記第１の鍵生成データを選択して前記暗号回路で前記任意の暗号鍵を用いて前記特殊な暗号鍵を生成させると共に前記記憶部に記憶させ、前記暗号回路を復号回路に切り換えると共に前記記憶部に記憶した前記特殊な暗号鍵及びテスト用の入力データを選択して前記復号回路で前記特殊な暗号鍵を用いて復号処理して第１の出力データを生成させる一方、
前記復号回路及び前記任意の暗号鍵並びに予め生成された前記第２の鍵生成データを選択して前記復号回路で前記任意の暗号鍵を用いて前記特殊な暗号鍵を生成させると共に前記記憶部に記憶させ、前記復号回路を暗号回路に切り換えると共に前記記憶部に記憶した前記特殊な暗号鍵及びテスト用の入力データを選択して前記暗号回路で前記特殊な暗号鍵を用いて暗号処理して第２の出力データを生成させ、
前記第１及び第２の出力データの一致及び不一致を判定する、
構成としたことを特徴とする請求項７に記載の暗号復号回路の動作確認装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号回路及び復号回路の動作の正否を確認する動作確認方法及び動作確認装置に関し、特に、多様な動作条件に対して動作の正否の確認が可能で使い勝手の良い暗号復号回路の動作確認方法及び動作確認装置に関する。
【背景技術】
【０００２】
一般に、暗号回路及び復号回路の動作の正否を判定する方法は、例えば図６に示すように、判定回路１から暗号回路又は復号回路等の被検査回路２にテスト入力Ａを入力し、該テスト入力Ａに基づいて被検査回路２で所定の処理を行って出力した出力データと、上記判定回路１に予め記憶して備え、上記被検査回路２が正常に動作したときに得られる出力データＢとを比較して両出力データが一致したときに被検査回路２が正常であると判定回路１で判定するものである。
【０００３】
この方法においては、上記被検査回路２の設定条件が特定の場合にだけテスト入力Ａに対して出力データＢが得られるものであり、設定条件が異なると得られる出力データが変わるため被検査回路２の設定条件に応じて記憶する出力データＢを変えなければならないという不便があった。
【０００４】
このような問題に対しては、図７に示すように、テスト入力に対して被検査回路２の動作条件を変更する動作条件設定部３を設けてテスト入力Ａが入力されると被検査回路２の出力として出力データＢが得られるように動作条件設定部３で動作条件を設定して検査する方法が考えられる。しかし、この場合、被検査回路２の動作確認ができるのは、動作条件設定部３で設定可能な限られた条件の動作だけであり、被検査回路２の処理動作の一部しか確認することができない。
【０００５】
ここで、上述の事情を図８に示すようなＤＥＳ（Data Encryption Standard）暗号のアルゴリズム（例えば、特許文献１参照）を用いた暗号回路又は復号回路を例に説明する。
上記ＤＥＳの暗号回路は、64ビットの入力データを56ビットの鍵によって暗号処理して出力すると共に、同一の暗号鍵によって出力を復号処理して入力データを復元するものである。その具体的な動作において、先ず、暗号処理は、64ビットの入力データに対して初期転置ＩＰを行う。次に、その出力を上位と下位それぞれ32ビットずつに分けてＬ０，Ｒ０とする。次に、56ビットの暗号鍵Ｋによって生成された48ビットの鍵Ｋ１及び転置ｆ１によってＲ０のデータの並び替えをする。そして、その出力とＬ０との排他的論理和をＲ１とし、Ｒ０をＬ１として左右を入れ替える。以下、同様にして56ビットの暗号鍵Ｋによって生成された鍵Ｋ１〜Ｋ16及び転置ｆ１〜ｆ16によって合計１６回のデータの並び替えを行った後、Ｌ16とＲ16とを結合して最終転置ＩＰ−１を行って、暗号化された出力データを得る。次に、復号処理は、上記出力データを上述と同一の暗号鍵を用いて図８に示す処理フローを逆方向に遡る処理を行う。これにより、上記出力データは復号化されて元の入力データに復元する。この場合、上記暗号回路の動作の正否を確認する場合には、所定のテスト用暗号鍵Ｋ′を用いてテスト入力Ａを暗号処理し、所定の出力データＢが得られることを確認すればよい。
【特許文献１】特開２００２−３１１８２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、このような従来の暗号回路の動作確認方法においては、暗号回路に例えば上記転置ｆ16の並び替え動作が鍵Ｋ′16のときの並び替え動作に固定されたような異常があった場合にも、上記テスト用暗号鍵Ｋ′を用いて行う動作確認テスト時には正常と判定されてしまう。従って、このような場合、動作確認テストでは、回路の異常を検出することができない虞がある。
【０００７】
また、同一の回路を用いて暗号処理及び復号処理をするような被検査回路２に対しては、入力データを暗号処理して得た出力データを復号処理することにより入力データが復元されるか否かを確認する方法も考えられるが、この場合、例えば転置ｆ16に誤りがあっても入力データは復元されてしまい、転置ｆ16の誤りを検出することができず、回路の異常を見逃してしまう虞がある。
【０００８】
そこで、本発明は上記問題点に着目してなされたもので、多様な動作条件に対して動作の正否の確認が可能で使い勝手の良い暗号復号回路の動作確認方法及び動作確認装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
このために、請求項１の発明は、同じ入力データを暗号処理して得た出力と復号処理して得た出力とが同じになるような特殊な暗号鍵を用いて入力データを検査対象の暗号回路と復号回路とでそれぞれ暗号処理及び復号処理し、該両処理結果の一致及び不一致を判断して前記暗号回路及び復号回路の動作を確認する。
【００１０】
このような方法により、暗号及び復号回路において極めて稀にしか発生しない特徴的な現象が発生する状況を意図的に作り、該現象が発生したときに暗号回路及び復号回路が正常と判断する。
【００１１】
本発明の暗号復号回路の動作確認方法は、具体的には請求項２のように、既知の特殊な暗号鍵と任意の暗号鍵とに基づいて予め生成された第１の鍵生成データを前記任意の暗号鍵を用いて前記暗号回路により暗号処理して前記特殊な暗号鍵を生成し、前記復号回路で前記特殊な暗号鍵を用いて任意の入力データを復号処理して第１の出力データを得る段階と、既知の特殊な暗号鍵と前記任意の暗号鍵とに基づいて予め生成された第２の鍵生成データを前記任意の暗号鍵を用いて前記復号回路により復号処理して前記特殊な暗号鍵を生成し、前記暗号回路で前記特殊な暗号鍵を用いて前記入力データを暗号処理して第２の出力データを得る段階と、前記第１及び第２の出力データを比較して一致及び不一致を判断する段階と、を有する。この場合、請求項３のように、前記暗号回路と復号回路は、暗号機能と復号機能の切換可能な一つの暗号復号回路であり、該暗号復号回路の暗号機能と復号機能とを切り換えて前記暗号処理及び復号処理するとよい。また、前記二つの特殊な暗号鍵は、請求項４のように、同一の暗号鍵としてもよく、請求項５のように、互いに相補の関係にある暗号鍵としてもよい。
【００１２】
また、請求項６の発明は、同じ入力データを暗号処理して得た出力と復号処理して得た出力とが同じになるような特殊な暗号鍵を用いて入力データを検査対象の暗号回路と復号回路とでそれぞれ暗号処理及び復号処理し、該両処理結果の一致及び不一致を判断して前記暗号回路及び復号回路の動作を確認する構成とした。
【００１３】
このような構成により、特殊な暗号鍵を用いて同じ入力データを被検査対象の暗号回路で暗号処理する一方復号回路で復号処理し、両処理結果を比較して両者が一致したときに暗号回路及び復号回路が正常と判断する。
【００１４】
本発明の暗号復号回路の動作確認装置は、具体的には請求項７のように、任意の暗号鍵と前記特殊な暗号鍵とを選択する鍵選択部と、前記特殊な暗号鍵を記憶する記憶部と、前記暗号回路及び復号回路の選択を制御し、前記鍵選択部の各暗号鍵の選択動作を制御し、前記暗号回路及び復号回路に入力する前記特殊な暗号鍵を生成するために該特殊な暗号鍵と前記任意の暗号鍵とに基づいて予め生成された第１及び第２の鍵生成データ、並びにテスト用の入力データの選択動作を制御することにより、前記暗号回路及び復号回路で前記特殊な暗号鍵を生成して前記記憶部に記憶させ、前記特殊な暗号鍵を用いて暗号処理及び復号処理して得た前記両処理結果の一致及び不一致を判定する制御部と、を備える構成とするとよい。
【００１５】
請求項８の構成の場合においては、前記制御部は、前記暗号回路及び前記任意の暗号鍵並びに予め生成された前記第１の鍵生成データを選択して前記暗号回路で前記任意の暗号鍵を用いて前記特殊な暗号鍵を生成させると共に前記記憶部に記憶させ、前記暗号回路を復号回路に切り換えると共に前記記憶部に記憶した前記特殊な暗号鍵及びテスト用の入力データを選択して前記復号回路で前記特殊な暗号鍵を用いて復号処理して第１の出力データを生成させる一方、前記復号回路及び前記任意の暗号鍵並びに予め生成された前記第２の鍵生成データを選択して前記復号回路で前記任意の暗号鍵を用いて前記特殊な暗号鍵を生成させると共に前記記憶部に記憶させ、前記復号回路を暗号回路に切り換えると共に前記記憶部に記憶した前記特殊な暗号鍵及びテスト用の入力データを選択して前記暗号回路で前記特殊な暗号鍵を用いて暗号処理して第２の出力データを生成させ、前記第１及び第２の出力データの一致及び不一致を判定する構成とした。
【発明の効果】
【００１６】
本発明の暗号復号回路の動作確認方法及び動作確認装置によれば、特殊な暗号鍵を用いて同一の入力データを暗号処理及び復号処理すると同一の出力が得られるという暗号回路及び復号回路において極めて稀にしか発生しない特徴的な現象を利用し、該現象が発生する状況を意図的に作って暗号回路及び復号回路のテストを行い、該現象が発生した場合にだけ暗号回路及び復号回路が正常であると判断するようにしたことにより、逆に上記現象が発生しない場合には暗号回路及び復号回路に何らかの異常があると判断することができ、回路の異常検知が容易になる。従って、暗号回路及び復号回路の動作条件に関わらず回路の如何なる異常も見逃すこと無く検知することができる。これにより、テスト用として特定の入力データと出力データのペアを記憶したり、動作条件を設定する必要がないので使い勝手が良い。
【００１７】
また、暗号回路と復号回路とが暗号機能と復号機能の切換可能な一つの暗号復号回路である場合には、該暗号復号回路の暗号機能と復号機能とを相互に切り換えて特殊な暗号鍵の生成と該特殊な暗号鍵を用いた暗号処理及び復号処理とを行って上記動作確認をするならば、暗号復号回路の暗号機能と復号機能の切換動作を含めた動作確認を行うことができる。
【００１８】
この場合、暗号処理及び復号処理に用いる二つの特殊な暗号鍵を同一の暗号鍵又は互いに相補の関係にある暗号鍵とすれば、例えばＤＥＳアルゴリズムにおいて発生確率が5.5×10-17又は1×10-16である極めて稀にしか発生しない上記現象を利用することができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施の形態を添付図面に基づいて詳細に説明する。
図１に、本発明に係る暗号復号回路の動作確認装置の実施形態のブロック図を示す。
図１において、本実施形態の暗号復号回路の動作確認装置は、同じ入力データを暗号処理して得た出力と復号処理して得た出力とが同じとなるような特殊な暗号鍵（以下、特殊鍵ＫＸと記載）を用いて入力データを検査対象の暗号回路と復号回路とでそれぞれ暗号処理及び復号処理し、該両処理結果の一致及び不一致を判断して暗号回路及び復号回路の動作を確認する構成としたものであり、具体的には、鍵選択部４と、記憶部としてのメモリ５と、制御部６とを備えている。なお、上記特殊鍵ＫＸは、図２（ａ）に示すように入力データを二回暗号処理すると元の入力データに戻すような暗号鍵、または同図（ｂ）に示すように、同じ入力データを暗号処理及び復号処理した場合、同じ出力データを生じさせるような暗号鍵である。
【００２０】
上記鍵選択部４は、制御部６の鍵選択信号に基づいて切り換えて、任意に設定された暗号鍵（以下、固定鍵Ｋｏと記載）とメモリ５に一時的に記憶される上記特殊鍵ＫＸとを選択するものである。
【００２１】
また、上記メモリ５は、制御部６を介して検査対象の暗号復号回路７で生成された特殊鍵ＫＸのデータを入力して記憶し、鍵選択部４の切り換えにより上記特殊鍵ＫＸを暗号復号回路７に出力するものである。
【００２２】
そして、上記制御部６は、例えば暗号機能と復号機能の切換可能な一つの暗号復号回路７の暗号処理及び復号処理動作の選択を暗号又は復号選択信号に基づいて制御し、鍵選択部４の各暗号鍵の選択動作を鍵選択信号に基づいて制御し、特殊鍵ＫＸを生成するための鍵生成データ及びテスト用の入力データを暗号復号回路７に出力すると共に、生成された特殊鍵ＫＸのデータをメモリ５に出力し、特殊鍵ＫＸを用いて暗号復号回路７で上記入力データを暗号処理及び復号処理して得た二つの出力データの一致及び不一致を判定するものである。
【００２３】
次に、本発明に係る暗号復号回路の動作確認装置の動作及びその動作確認方法を、図３及び図４のフローチャートを参照して説明する。
先ず、ステップ１（図３中Ｓ１で示し、以下同様とする）において、制御部６から暗号選択信号を発生し、暗号復号回路７を暗号回路とする。
【００２４】
ステップ２においては、制御部６から鍵選択信号を発生し、鍵選択部４を切り換えて固定鍵Ｋｏを選択する。これにより、任意の固定鍵Ｋｏが暗号復号回路７に入力することになる。
【００２５】
ステップ３においては、図５（ａ）に示すように、既知の特殊鍵ＫＸａと任意の固定鍵Ｋｏとに基づいて予め生成され、制御部６から入力した第１の鍵生成データを上記固定鍵Ｋｏを用いて暗号復号回路７で暗号処理して特殊鍵ＫＸａを生成する。ここで、上記第１の鍵生成データは、固定鍵Ｋｏを用いて暗号処理すると特殊鍵ＫＸａが得られるようなデータであり、制御部６において既知の特殊鍵ＫＸａを任意の固定鍵Ｋｏで復号処理して自動的に生成されるようにしてもよい。
【００２６】
ステップ４においては、上記暗号復号回路７で暗号処理して生成された特殊鍵ＫＸａのデータを、制御部６を介してメモリ５に入力して記憶する。
ステップ５においては、制御部６から復号選択信号を発生し、暗号復号回路７を復号回路とする。
【００２７】
ステップ６においては、制御部６から鍵選択信号を発生し、鍵選択部４を切り換えてメモリ５から特殊鍵ＫＸａを読出し、暗号復号回路７に入力する。
ステップ７においては、図５（ａ）に示すように、制御部６から発生した入力データを暗号復号回路７で特殊鍵ＫＸａを用いて復号処理してデータの並び替えを行い、第１の出力データとしての出力データＡを得る。
【００２８】
次に、図４に示すステップ８において、制御部６から復号選択信号を発生し、暗号復号回路７を復号回路とする。
ステップ９においては、制御部６から鍵選択信号を発生し、鍵選択部４を切り換えて固定鍵Ｋｏを選択する。
【００２９】
ステップ１０においては、図５（ｂ）に示すように、既知の特殊鍵ＫＸｂと任意の固定鍵Ｋｏとに基づいて予め生成され、制御部６から入力した第２の鍵生成データを上記固定鍵Ｋｏを用いて暗号復号回路７で復号処理して特殊鍵ＫＸｂ（例えば、特殊鍵ＫＸａと同一の暗号鍵）を生成する。ここで、上記第２の鍵生成データは、固定鍵Ｋｏを用いて暗号処理すると特殊鍵ＫＸｂが得られるようなデータであり、制御部６において既知の特殊鍵ＫＸｂを任意の固定鍵Ｋｏで暗号処理して自動的に生成されるようにしてもよい。
【００３０】
ステップ１１においては、上記暗号復号回路７で復号処理して生成された特殊鍵ＫＸｂのデータを、制御部６を介してメモリ５に入力し、ステップ４において記憶した特殊鍵ＫＸａを特殊鍵ＫＸｂに書き換えて記憶する。
【００３１】
ステップ１２においては、制御部６から暗号選択信号を発生し、暗号復号回路７を暗号回路とする。
ステップ１３においては、制御部６から鍵選択信号を発生し、鍵選択部４を切り換えてメモリ５から特殊鍵ＫＸｂを読出し、暗号復号回路７に入力する。
【００３２】
ステップ１４においては、図５（ｂ）に示すように、入力データを暗号復号回路７で特殊鍵ＫＸｂを用いて暗号処理してデータの並び替えを行い、第２の出力データとしての出力データＢを得る。
【００３３】
ステップ１５においては、出力データＡと出力データＢとが同じか否かを制御部６で判定する。ここで、“ＹＥＳ”判定となるとステップ１６に進み、ステップ１６において暗号復号回路７の動作は正常と判断して図示省略の表示部にその旨を表示する。また、ステップ１５において、“ＮＯ”判定となるとステップ１７に進み、ステップ１７において暗号復号回路７の動作は異常と判断して表示部にその旨を表示する。
【００３４】
なお、上記特殊鍵ＫＸａ，ＫＸｂとしては、上述のように同一の暗号鍵を使用してもよいが、互いに相補の関係にある暗号鍵を生成して使用してもよい。例えばＤＥＳアルゴリズムの場合、同一の暗号鍵を用いて同じ入力データを暗号処理及び復号処理したときに同じ出力データを生じさせるような特殊鍵ＫＸは、鍵全体（２５６個）のうち４個だけ存在する。この場合、同じ入力データを暗号及び復号処理したときに同じ出力データの得られる現象の発生確率は、5.5×10-17である。また、互いに相補の関係にある暗号鍵を用いて同じ入力データを暗号処理及び復号処理したときに同じ出力データが得られるような特殊鍵ＫＸは、鍵全体（２５６個）のうち１２個だけ存在する。この場合、上記現象の発生確率は、1×10-16である。
【００３５】
このように本発明の暗号復号回路の動作確認装置によれば、特殊な暗号鍵ＫＸを用いて同じ入力データを暗号処理及び復号処理したときだけ同じ出力データが得られるという、暗号復号回路７において極めて稀にしか発生しない特徴的な現象を利用し、該現象が発生する状況を意図的に作って暗号復号回路７の検査を行い、該現象が発生した場合にだけ暗号復号回路７が正常であると判断するようにしたことにより、同じ出力データが得られないときには暗号復号回路７に何らかの異常があると判定することができ、回路の異常検知が容易になる。従って、暗号復号回路７の動作条件に関わらず回路の如何なる異常も見逃すこと無く検知することができる。これにより、テスト用として特定の入力データと出力データのペアを記憶したり、動作条件を設定する必要がないので使い勝手が良い。
【００３６】
また、暗号復号回路７の暗号機能と復号機能とを相互に切り換えながら、上記動作確認を行うようにしたので、暗号復号回路７の暗号機能と復号機能の切換動作を含めた動作確認を行うことができる。
【００３７】
なお、上記実施形態においては、暗号機能と復号機能の切換可能な一つの暗号復号回路７を例に説明したが、個別の暗号回路と復号回路とを切り換えて動作確認をするようにしてもよい。従って、本発明における検査対象の暗号復号回路は個別の暗号回路と復号回路も含む概念である。
【００３８】
また、上記特殊暗号鍵ＫＸは、図２（ａ）に示すように入力データを二回暗号処理すると元の入力データとなるような暗号鍵であることから、上記特殊鍵ＫＸを用いて入力データを暗号処理し、その出力データをさらに暗号処理することにより元の入力データに戻るか否かを確認するようにしてもよい。これによれば、暗号回路の動作の正否を確認することができる。
【図面の簡単な説明】
【００３９】
【図１】本発明による暗号復号回路の動作確認装置の実施の形態を示すブロック図である。
【図２】上記暗号復号回路の動作確認装置に使用する特殊な鍵の特徴を示す説明図である。
【図３】上記動作確認装置による暗号復号回路の動作確認方法の前半部を説明するフローチャートである。
【図４】上記動作確認装置による暗号復号回路の動作確認方法の後半部を説明するフローチャートである。
【図５】図３及び図４に示す動作確認時の暗号復号回路の設定状態を示す説明図である。
【図６】従来の暗号回路又は復号回路の動作確認方法を示す説明図である。
【図７】従来の暗号回路又は復号回路の別の動作確認方法を示す説明図である。
【図８】暗号回路の一例としてＤＥＳの処理フローを示す図である。
【符号の説明】
【００４０】
４…鍵選択部
５…メモリ（記憶部）
６…制御部
７…暗号復号回路
Ｋｏ…固定鍵（任意の鍵）
ＫＸ，ＫＸａ，ＫＸｂ…特殊鍵（特殊な鍵）
【図１】
0004647246.tif 000002
【図２】
0004647246.tif 000003
【図３】
0004647246.tif 000004
【図４】
0004647246.tif 000005
【図５】
0004647246.tif 000006
【図６】
0004647246.tif 000007
【図７】
0004647246.tif 000008
【図８】
0004647246.tif 000009