(57)【要約】【課題】  ストリーム暗号の周期性検証の性能向上を図る。【解決手段】  ストリーム暗号アルゴリズムを入力するアルゴリズム入力部１と、入力されたストリーム暗号アルゴリズムのアルゴリズム構造を保存したまま規模を縮小した縮小アルゴリズムを作成する縮小アルゴリズム作成部２と、縮小アルゴリズムを動作させてストリーム暗号用の鍵となる乱数を発生し、この乱数列を出力する縮小アルゴリズム実行部３と、その乱数列の周期性を検証する周期性検証部４とを備える。【選択図】    図１
2005204127.tif 000002
【特許請求の範囲】
【請求項１】
ストリーム暗号アルゴリズムを入力するアルゴリズム入力手段と、
入力されたストリーム暗号アルゴリズムのアルゴリズム構造を保存したまま規模を縮小した縮小アルゴリズムを作成する縮小アルゴリズム作成手段と、
前記縮小アルゴリズムを動作させてストリーム暗号用の鍵となる乱数を発生し、この乱数列を出力する縮小アルゴリズム実行手段と、
前記乱数列の周期性を検証する周期性検証手段と、
を備えたことを特徴とするストリーム暗号評価装置。
【請求項２】
前記縮小アルゴリズム作成手段は、入力されたストリーム暗号アルゴリズムを非線形変換部分と非線形変換部分に対してデータ入力を行う部分とに分割し、該各部分についての縮小化を行うことを特徴とする請求項１に記載のストリーム暗号評価装置。
【請求項３】
ストリーム暗号アルゴリズムを入力する過程と、
該入力されたストリーム暗号アルゴリズムのアルゴリズム構造を保存したまま規模を縮小した縮小アルゴリズムを作成する過程と、
前記縮小アルゴリズムを動作させてストリーム暗号用の鍵となる乱数を発生する過程と、
この乱数列の周期性を検証する過程と、
を含むことを特徴とするストリーム暗号評価方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストリーム暗号評価装置及びストリーム暗号評価方法に関する。
【背景技術】
【０００２】
近年、コンピュータを利用した様々なサービスが提供されている。このサービス提供システムにおいては、通常、通信の秘匿を目的に暗号が利用される。その暗号方式の一つとして、暗号化及び復号の双方に１つの鍵を共通で使用する共通鍵暗号方式が知られている。共通鍵暗号方式は、最も一般的なブロック暗号方式と、ストリーム暗号方式とに大別されるが、ストリーム暗号方式の方がブロック暗号方式よりも処理速度が速いという利点があるために最近注目されはじめている。
【０００３】
暗号の評価方法には様々なものがあり、例えば、暗号を解くために要するコストを評価するものが知られている（例えば、特許文献１参照）。また、他の評価方法の一つに、暗号の周期性を検証することにより暗号の安全性を評価するものが知られている。従来、ストリーム暗号の多くが非常に長周期であり且つ非線形部分を含むという特徴を有することから、ストリーム暗号の周期性を検証する際には、評価対象のストリーム暗号アルゴリズムを動作させて得られた乱数列（ストリーム暗号用の鍵のデータ列）をサンプリングし、このサンプリングデータの周期性を調べている。
【特許文献１】特開平１１−２３１７７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上述した従来のストリーム暗号の周期性検証による安全性評価技術では、周期性検証の際にサンプリングデータを用いるので、その検証結果にはサンプリングによる誤りが生じる可能性があり、ストリーム暗号の安全性評価の信頼度が低下する虞がある。
【０００５】
本発明は、このような事情を考慮してなされたもので、その目的は、ストリーム暗号の周期性検証の性能向上を図ることができるストリーム暗号評価装置及びストリーム暗号評価方法を提供することにある。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、本発明に係るストリーム暗号評価装置は、ストリーム暗号アルゴリズムを入力するアルゴリズム入力手段と、入力されたストリーム暗号アルゴリズムのアルゴリズム構造を保存したまま規模を縮小した縮小アルゴリズムを作成する縮小アルゴリズム作成手段と、前記縮小アルゴリズムを動作させてストリーム暗号用の鍵となる乱数を発生し、この乱数列を出力する縮小アルゴリズム実行手段と、前記乱数列の周期性を検証する周期性検証手段とを備えたことを特徴としている。
【０００７】
本発明に係るストリーム暗号評価装置においては、前記縮小アルゴリズム作成手段は、入力されたストリーム暗号アルゴリズムを非線形変換部分と非線形変換部分に対してデータ入力を行う部分とに分割し、該各部分についての縮小化を行うことを特徴とする。
【０００８】
本発明に係るストリーム暗号評価方法は、ストリーム暗号アルゴリズムを入力する過程と、該入力されたストリーム暗号アルゴリズムのアルゴリズム構造を保存したまま規模を縮小した縮小アルゴリズムを作成する過程と、前記縮小アルゴリズムを動作させてストリーム暗号用の鍵となる乱数を発生する過程と、この乱数列の周期性を検証する過程とを含むことを特徴としている。
【発明の効果】
【０００９】
本発明によれば、オリジナルのストリーム暗号アルゴリズムのアルゴリズム構造自体は変えずにその規模を縮小して周期性を検証するので、その検証結果は、オリジナルのストリーム暗号アルゴリズムの周期性を検証したに等しいものとなる。これにより、ストリーム暗号の周期性検証の性能向上を図ることができる。この結果、ストリーム暗号の安全性評価の信頼度向上に寄与するという優れた効果が得られる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照し、本発明の一実施形態について説明する。
図１は、本発明の一実施形態に係るストリーム暗号評価装置の構成を示すブロック図である。図１において、アルゴリズム入力部１は、ＧＵＩ（Graphical User Interface）部５を介してストリーム暗号アルゴリズムを入力する。縮小アルゴリズム作成部２は、入力されたストリーム暗号アルゴリズムの縮小版を作成する。縮小アルゴリズム実行部３は、その縮小アルゴリズムを動作させてストリーム暗号用の鍵となる乱数を発生し、この乱数列を出力する。周期性検証部４は、その乱数列の周期性を検証し、この検証結果をＧＵＩ部５を介して出力する。
【００１１】
図２は、ストリーム暗号アルゴリズムの一例を示すブロック図である。このストリーム暗号アルゴリズムは、Ｓ−Ｂｏｘと呼ばれる非線形変換部１１と、このＳ−Ｂｏｘ１１に対してデータ入力を行う線形フィードバックシフトレジスタ（ＬＦＳＲ）１２とから構成されている。
ＬＦＳＲ１２は、６個のレジスタＲ１〜Ｒ６からなるシフトレジスタと、フィードバックデータを出力する１個の排他的論理和演算器（ＸＯＲ）１３とから構成される。各レジスタＲ１〜Ｒ６のレジスタ長は例えば１６ビットである。線形フィードバックシフトレジスタ（ＬＦＳＲ）は擬似乱数を発生するものとして知られており、ＬＦＳＲ１２からＳ−Ｂｏｘ１１へは擬似乱数が出力される。
Ｓ−Ｂｏｘ１１は、非線形変換を実現するためのテンプレート（置換表）を有する。そして、そのテンプレートを使用してＬＦＳＲ１２からの入力データを非線形変換し、この変換後のデータを鍵用の乱数として出力する。
【００１２】
次に、上記図２のストリーム暗号アルゴリズムを例に挙げて縮小アルゴリズム作成部２の動作を説明する。
先ず、縮小アルゴリズム作成部２は、入力された図２のストリーム暗号アルゴリズムを、非線形変換部分（Ｓ−Ｂｏｘ１１）と非線形変換部分に対してデータ入力を行う部分（ＬＦＳＲ１２）とに分割する。次いで、各部分についての縮小化を行う。
【００１３】
データ入力部分（ＬＦＳＲ１２）については、全体の構造を保存したまま、非線形変換部分（Ｓ−Ｂｏｘ１１）へ入力するデータのビット数を縮小する。例えば、ＬＦＳＲ１２の各レジスタＲ１〜Ｒ６のレジスタ長が１６ビットであった場合に、該レジスタ長を８ビットに変更する。
【００１４】
非線形変換部分（Ｓ−Ｂｏｘ１１）については、当該非線形変換に係る非線形性が似ている小規模の非線形変換を行うものに置き換える。例えば、オリジナルのテンプレートが１６ビットのデータを非線形変換するものであった場合に、８ビットのデータを非線形変換するものに変更する。このために、縮小アルゴリズム作成部２には各種のテンプレートを予め用意する。
【００１５】
次いで、縮小アルゴリズム作成部２は、縮小したアルゴリズムを縮小アルゴリズム実行部３へ出力する。
【００１６】
次に、縮小アルゴリズム実行部３の動作を説明する。
縮小アルゴリズム実行部３は、縮小アルゴリズム作成部２から入力された縮小アルゴリズムを動作させる。例えば、上記図２のストリーム暗号アルゴリズムの縮小アルゴリズムに対して動作クロックを供給し、これにより、縮小ＬＦＳＲを動作させて１クロック毎に縮小Ｓ−Ｂｏｘへデータ入力し、縮小Ｓ−Ｂｏｘの縮小テンプレートにより入力データを非線形変換して乱数を出力させる。次いで、縮小アルゴリズム実行部３は、縮小アルゴリズムの動作により出力された乱数を順次、乱数列として周期性検証部４へ出力する。
【００１７】
次に、図３を参照して、周期性検証部４の動作を説明する。
周期性検証部４は、縮小アルゴリズム実行部３から入力された有限個の乱数列に対して、周期性の有無を検証する。
図３において、縮小アルゴリズム実行部３からは、乱数列ａ１，ａ２，ａ３，ａ４，・・・，ａＮが入力される。周期性検証部４は、パターン開始オフセット（ｐｏｓ）、パターン長（ｌｅｎ）、比較先開始オフセット（ｔｇｐ）及び繰り返し数（ｒｅｐ）の４つの変数を使用する。
【００１８】
先ず、周期性検証部４は、最初の乱数ａ１と次の乱数ａ２との一致不一致を判定する（ステップＳ１）。この最初の時点での各変数の値は、ｐｏｓ＝０、ｌｅｎ＝１、ｔｇｐ＝１、ｒｅｐ＝０である。次いで、乱数ａ１とａ２が一致している場合は、ステップＳ２で乱数ａ１とさらに次の乱数ａ３との一致不一致を判定するとともに、ｔｇｐ及びｒｅｐに各々１加算し、ｔｇｐ＝２、ｒｅｐ＝１とする。次いで、乱数ａ１とａ３が一致している場合は、ステップＳ３で乱数ａ１とさらに次の乱数ａ４との一致不一致を判定するとともに、ｔｇｐ及びｒｅｐに各々１加算し、ｔｇｐ＝３、ｒｅｐ＝２とする。以降、乱数ａ１と異なる乱数が出現するまで、同様に繰り返す。そして、異なる乱数が出現したら、次に示すステップＳ４と同様の処理を行う。
【００１９】
上記ステップＳ２で、乱数ａ１とａ３が不一致の場合には、ステップＳ４で、等しい乱数ａ１及びａ２と、これらと異なる乱数ａ３とを出現順に連結し、この連結後の連結乱数ａ１｜ａ２｜ａ３（｜は連結を表す）と、次の同数の連結乱数ａ４｜ａ５｜ａ６との一致不一致を判定する。この時、ｌｅｎは３に、ｔｇｐは１加算して２とする。そして、一致した場合には、上記ステップＳ２、Ｓ３と同様に、同数の連結乱数であって異なるものが出現するまで、同様に繰り返す。一方、不一致の場合には、両者の連結乱数を連結し、本ステップＳ４と同様の処理を行う。
【００２０】
上記ステップＳ１で、乱数ａ１とａ２が不一致の場合には、ステップＳ５で、これら異なる乱数ａ１とａ２を出現順に連結し、この連結後の連結乱数ａ１｜ａ２と、次の同数の連結乱数ａ３｜ａ４との一致不一致を判定する。この時、ｌｅｎは２に、ｔｇｐは１加算して２とする。そして、一致した場合には、上記ステップＳ２、Ｓ３と同様に、同数の連結乱数であって異なるものが出現するまで、ステップＳ６、Ｓ７のように同様に繰り返す。一方、不一致の場合には、両者の連結乱数を連結し、上記ステップＳ４と同様の処理を行う。
【００２１】
そして、乱数列の最後まで到達したら、これまでに計測された繰り返し性の有る連結乱数とその繰り返し周期を検証結果として出力する。ここで、終了直前まで繰り返されていた連結乱数が存在した場合には、周期性有りと判断する。なお、乱数列の末尾部分に端数が発生した場合には、該端数部分の処理はなしとする。
【００２２】
次いで、上記ステップＳ１に戻りｐｏｓ＝１、ｌｅｎ＝１、ｔｇｐ＝２、ｒｅｐ＝０として、乱数ａ２から同様の処理を繰り返す。以降、乱数列の最後まで到達する度にステップＳ１に戻りｐｏｓ及びｔｇｐを一つずつずらして該当の処理開始乱数から同様の処理を繰り返す。
【００２３】
上述した実施形態によれば、オリジナルのストリーム暗号アルゴリズムのアルゴリズム構造自体は変えずにその規模を縮小して周期性を検証するので、その検証結果（繰り返し性の有る連結乱数とその繰り返し周期、周期性の有無の判断結果）は、オリジナルのストリーム暗号アルゴリズムの周期性を検証したに等しいものとなる。これにより、ストリーム暗号の周期性検証の性能向上を図ることができる。この結果、ストリーム暗号の安全性評価の信頼度向上に寄与するという優れた効果が得られる。
【００２４】
なお、本実施形態に係るストリーム暗号評価装置は、専用のハードウェアにより実現されるものであってもよく、あるいはパーソナルコンピュータ等のコンピュータシステムにより構成され、図１に示される装置の各機能を実現するためのプログラムを実行することによりその機能を実現させるものであってもよい。
【００２５】
また、そのストリーム暗号評価装置には、周辺機器として入力装置、表示装置等（いずれも図示せず）が接続されるものとする。ここで、入力装置とはキーボード、マウス等の入力デバイスのことをいう。表示装置とはＣＲＴ（Cathode Ray Tube）や液晶表示装置等のことをいう。
また、上記周辺機器については、ストリーム暗号評価装置に直接接続するものであってもよく、あるいは通信回線を介して接続するようにしてもよい。
【００２６】
以上、本発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【図面の簡単な説明】
【００２７】
【図１】本発明の一実施形態に係るストリーム暗号評価装置の構成を示すブロック図である。
【図２】ストリーム暗号アルゴリズムの一例を示すブロック図である。
【図３】図１に示す周期性検証部４の動作を説明するための図である。
【符号の説明】
【００２８】
１…アルゴリズム入力部、２…縮小アルゴリズム作成部、３…縮小アルゴリズム実行部、４…周期性検証部、５…ＧＵＩ部。
【図１】
2005204127.tif 000003
【図２】
2005204127.tif 000004
【図３】
2005204127.tif 000005