(57)【要約】【課題】入力値に対して出力値を得る実行が可能な実行ファイルが、予め定められた所定ハッシュ関数であるか否かの評価を適正に行うことができ、この評価テストのための労務コストを抑える。【解決手段】ハッシュ評価サーバ３０は、入力キーに対して出力値を得る実行が可能な実行ファイルが、予め定められた所定ハッシュ関数か否かを評価するハッシュ評価を行う。評価サーバ３０は、実行ファイルの評価テストの評価手順と合格基準が各々異なる評価パターンを所定数だけ記憶する情報設定記憶部３０ｃと、評価パターン毎に適合した入力キーを生成する入力キー生成部３０ｄと、入力キーに対して、設定後の実行ファイルに従い出力値を生成するファイル実行部３０ｅと、出力値の評価テストを行い、この結果が合格基準を満たせば、実行ファイルは所定ハッシュ関数と評価するハッシュ評価部３０ｇとを備える。【選択図】図１
2016038469.tif 000002
【特許請求の範囲】
【請求項１】
入力値である入力キーに対して出力値を得る実行が可能な実行ファイルが、予め定められた所定ハッシュ関数を実現するものであるか否かを評価するハッシュ評価を行うハッシュ評価サーバであって、
前記ハッシュ評価を行うための前記実行ファイルの評価テストの評価手順及び合格基準が定められ、且つ当該評価手順及び合格基準が各々異なる評価パターンを予め定められた数だけ記憶する記憶部と、
前記記憶部に記憶された前記評価パターン毎に適合した入力キーを生成する入力キー生成部と、
前記実行ファイルが設定され、前記入力キー生成部で生成された入力キーに対して、当該設定された実行ファイルに従って出力値を生成するファイル実行部と、
前記ファイル実行部で生成された出力値に対して、当該出力値に対応する前記入力キーの生成に係わった評価パターンの評価手順に基づき評価テストを行い、当該テスト結果が同評価テストの前記合格基準を満たせば、前記実行ファイルは前記所定ハッシュ関数であると評価するハッシュ評価部と
を備えることを特徴とするハッシュ評価サーバ。
【請求項２】
前記所定ハッシュ関数は、コンシステントハッシュ法によるハッシュ関数であることを特徴とする請求項１に記載のハッシュ評価サーバ。
【請求項３】
前記情報設定記憶部に記憶される予め定められた数の評価パターンは、０／１等頻度性、連性、長周期連性、一様性、Ａｖａｌａｎｃｈｅ性、線形複雑度、自己相関、相互情報量の８項目の評価パターンであることを特徴とする請求項１又は２に記載のハッシュ評価サーバ。
【請求項４】
前記情報設定記憶部に記憶される予め定められた数の評価パターンは、前記８項目の評価パターンの内、ユーザが所定数の評価パターンを任意に定めて記憶可能であることを特徴とする請求項３に記載のハッシュ評価サーバ。
【請求項５】
前記実行ファイルが前記出力値を生成するための生成速度を測定すると共に、当該実行ファイルが単位時間当たりに出力できる情報量を測定する性能測定部を
更に備えることを特徴とする請求項１〜４の何れか１項に記載のハッシュ評価サーバ。
【請求項６】
前記ハッシュ評価部の評価結果を、ユーザが画面上で読み取り可能にテキスト表示するためのテキストデータ形式に加工処理、又は、ユーザが画面上で読み取り可能にグラフィック表示するためのグラフ画像データ形式に加工処理する評価結果加工部を
更に備えることを特徴とする請求項１〜５の何れか１項に記載のハッシュ評価サーバ。
【請求項７】
請求項１〜６の何れか１項に記載のハッシュ評価サーバを備えることを特徴とするハッシュ評価システム。
【請求項８】
入力値に対して出力値を得る実行が可能な実行ファイルが、予め定められた所定ハッシュ関数を実現するものであるか否かを評価するハッシュ評価を行うハッシュ評価サーバのハッシュ評価方法であって、
前記ハッシュ評価サーバは、
前記ハッシュ評価を行うための前記実行ファイルの評価テストの評価手順及び合格基準が定められ、且つ当該評価手順及び合格基準が各々異なる評価パターンを予め定められた数だけ記憶する記憶部を備えており、
前記記憶部に記憶された前記評価パターン毎に適合した入力キーを生成する第１ステップと、
前記実行ファイルが設定され、前記第１ステップで生成された入力キーに対して、当該設定された実行ファイルに従って出力値を生成する第２ステップと、
前記第２ステップで生成された出力値に対して、当該出力値に対応する前記第１ステップでの前記入力キーの生成に係わった評価パターンの評価手順に基づき評価テストを行い、当該テスト結果が同評価テストの前記合格基準を満たせば、前記実行ファイルは前記所定ハッシュ関数であると評価する第３ステップと
を実行することを特徴とするハッシュ評価方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力キー（入力値）に対して出力値を得る実行が可能な実行ファイルが、コンシステントハッシュ法によるハッシュ関数か否かを評価するハッシュ評価サーバ、ハッシュ評価システム及びハッシュ評価方法に関する。
【背景技術】
【０００２】
サーバ等においてデータ通信のセキュリティ等に適用される一般的なハッシュ関数は、キー入力による入力値に対して、そのハッシュ関数で定められた長さのハッシュ値を出力値として出力する。このハッシュ関数では、１つの入力値に対して１つの出力値が得られる。以降、このようなハッシュ関数を、一般的ハッシュ関数という。
【０００３】
コンシステントハッシュ法(Consistent hashing)に利用する一般的ハッシュ関数（以降、Ｃハッシュ関数という）がある。
【０００４】
Ｃハッシュ関数は、極端に類似した入力キー（入力値）に対しても出力値を分散させる必要がある。例えば、直交座標系における第１〜第４象限に、０〜９９の数値を次のように分散させてマッピングする。第１象限に０〜２４を、第２象限に２５〜４９を、第３象限に５０〜７４を、第４象限に７５〜９９をマッピングする。
【０００５】
Ｃハッシュ関数に求められる要件には、次の２つがある。１つ目は、上述したハッシュ値の分散例のように、どのようなキー区間（キーによる入力値の区間）に対しても、出力値が均一に分散されることである。２つ目は、計算速度が速いことである。従って、サーバ等に搭載される演算処理手段で用いられ、入力値に対して出力値を生成する関数が、その２つの要件を満たすＣハッシュ関数であるか否かを適正に評価（ハッシュ評価）できることが重要となっている。その評価は、試験者が、テストデータを生成すると共に、複数のテスト項目に対するテストプログラムを作成して行っている。
【０００６】
ここで、ハッシュ評価とは、入力キー（入力値）に対して出力値を得る実行が可能な形式の実行ファイル（又は関数）で、生成される出力値に対して行う評価テストを指し、この結果がハッシュ値であるか否かを判定することにより、当該実行ファイル（又は関数）がＣハッシュ関数であるか否かを判定する。
【０００７】
この種の評価を行う技術として、非特許文献１に記載の評価テストがある。この評価テストは、ＭＵＬＴＩ−Ｓ０１（改ざん検知機能付きストリーム暗号運用モード）で使用される疑似乱数生成モジュール（ＰＡＮＡＭＡ）の評価を行うものであり、テストデータを生成し、下記の６項目のテストに対するテストプログラムを作成後、疑似乱数が正常に生成されているか否かの評価を行う。この評価テストは、疑似乱数生成モジュール以外に、ハッシュ関数（一般的ハッシュ関数やＣハッシュ関数）等の評価にも適用可能となっている。
【０００８】
６項目のテストとは、０／１等頻度性テスト（入力値の「０」と「１」とが等しい頻度か否かの確認テスト）、連性テスト、長周期連性テスト、一様性テスト、Ａｖａｌａｎｃｈｅ（アバランチ）性テスト、線形複雑度テストであって、これらは、暗号モジュールに関するセキュリティ要件の仕様を規定する米国連邦標準規格のＦＩＰＳ(Federal Information Processing Standardization)１４０−２に規定されたものである。ＦＩＰＳ１４０−２には、その６項目以外のテスト項目も規定されている。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】「暗号アルゴリズム及び関連技術の評価報告書一覧（国内）、  ID No.137  暗号アルゴリズムの詳細評価報告書  疑似乱数生成  ＰＡＮＡＭＡ（ＭＵＬＴＩ−Ｓ０１内部）編」、［online］、平成１５年４月２４日、独立行政法人情報処理推進機構、［平成２６年８月４日検索］、インターネット〈URL:http://www.ipa.go.jp/security/enc/CRYPTREC/fy15/cryptrec20030424_outrep01.html〉
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上記の非特許文献１に記載の評価テストを、Ｃハッシュ関数の評価に適用したとする。この場合、試験者が例えば上記のように６項目のテストに対するテストプログラムを作成してＣハッシュ関数の評価を行う。しかし、それらのテスト項目は、試験者がＦＩＰＳ１４０−２に規定された各テスト項目の中から任意に選択して定めるものなので、Ｃハッシュ関数を適正に評価できるか否かが曖昧となる。このため、入力値に対して出力値を生成する関数が、Ｃハッシュ関数であるか否かの評価を適正に行うことができないという問題が生じる。
【００１１】
また、Ｃハッシュ関数の評価を行うためのテストプログラムは、複数のテスト項目毎に試験者が作成しなければならないので労力と時間が掛かる。言い換えれば、評価テストのための労務コストが高くなるという問題がある。
【００１２】
ところで、一般的ハッシュ関数の多くは、少ない母数やビット列が酷似したキー入力については、出力値に偏りがでる。例えば、一般的ハッシュ関数をｆ（ｎ）＝ｎとした場合に、入力値が「０，１，２」であれば、出力値は「０，１，２」となって分散しない。これは上述した直交座標系の例では第１象限に出力値が集まる状態である。つまり、少ない母数やビット列が酷似したキー入力の場合、この出力値に偏りが出るため、Ｃハッシュ関数を評価した場合、出力値の分散性が保持できるか否かを適正に評価することができないという問題がある。
【００１３】
本発明は、このような背景に鑑みてなされたものであり、入力値に対して出力値を得る実行が可能な実行ファイルが、予め定められた所定ハッシュ関数であるか否かの評価を適正に行うことができ、この評価テストのための労務コストを抑えることができるハッシュ評価サーバ、ハッシュ評価システム及びハッシュ評価方法を提供することを課題とする。
【課題を解決するための手段】
【００１４】
前記した課題を解決するため、請求項１に記載の発明は、入力値である入力キーに対して出力値を得る実行が可能な実行ファイルが、予め定められた所定ハッシュ関数を実現するものであるか否かを評価するハッシュ評価を行うハッシュ評価サーバであって、前記ハッシュ評価を行うための前記実行ファイルの評価テストの評価手順及び合格基準が定められ、且つ当該評価手順及び合格基準が各々異なる評価パターンを予め定められた数だけ記憶する記憶部と、前記記憶部に記憶された前記評価パターン毎に適合した入力キーを生成する入力キー生成部と、前記実行ファイルが設定され、前記入力キー生成部で生成された入力キーに対して、当該設定された実行ファイルに従って出力値を生成するファイル実行部と、前記ファイル実行部で生成された出力値に対して、当該出力値に対応する前記入力キーの生成に係わった評価パターンの評価手順に基づき評価テストを行い、当該テスト結果が同評価テストの前記合格基準を満たせば、前記実行ファイルは前記所定ハッシュ関数であると評価するハッシュ評価部とを備えることを特徴とするハッシュ評価サーバである。
【００１５】
この構成によれば、記憶部に、実行ファイルの評価テストの評価手順及び合格基準が定められ、且つ当該評価手順及び合格基準が各々異なる評価パターンが予め定められた数だけ記憶されている。この予め定められた数の評価パターンを用いて、実行ファイルが所定ハッシュ関数であるか否かを評価するハッシュ評価を行うので、一定の基準でハッシュ評価を行うことができる。従って、実行ファイルが所定ハッシュ関数であるか否かの評価を適正に行うことができる。また、従来のように、試験者が評価テスト毎にテストプログラムを作成する必要がないので、労力と時間が掛からない。このため、評価テストのための労務コストを抑えることができる。
【００１６】
請求項２に係る発明は、前記所定ハッシュ関数は、コンシステントハッシュ法によるハッシュ関数であることを特徴とする請求項１に記載のハッシュ評価サーバである。
【００１７】
この構成によれば、実行ファイルがコンシステントハッシュ法によるハッシュ関数であることを適正に評価することができる。
【００１８】
請求項３に係る発明は、前記情報設定記憶部に記憶される予め定められた数の評価パターンは、０／１等頻度性、連性、長周期連性、一様性、Ａｖａｌａｎｃｈｅ性、線形複雑度、自己相関、相互情報量の８項目の評価パターンであることを特徴とする請求項１又は２に記載のハッシュ評価サーバである。
【００１９】
この構成によれば、入力キーに対して実行ファイルに従って生成される出力値を、８項目の評価パターンに応じて評価テストする。この際、８項目の評価パターンの各々に適合した８パターンの入力キーが生成される。入力キーを生成する一例として、ビット列が酷似したキー生成を意図的に行う。従って、入力キーに偏りが生じてもなお、出力値に偏りが出ないことを確認することができ、本発明では、出力値の分散性が保持できるか否かを適正に評価することができる。
【００２０】
請求項４に係る発明は、前記情報設定記憶部に記憶される予め定められた数の評価パターンは、前記８項目の評価パターンの内、ユーザが所定数の評価パターンを任意に定めて記憶可能であることを特徴とする請求項３に記載のハッシュ評価サーバである。
【００２１】
この構成によれば、ユーザが実行する評価パターンを任意に変更することができる。このため、実行ファイルのハッシュ評価を行うための評価テストの内容を変更する場合に、容易に変更することができる。
【００２２】
請求項５に係る発明は、前記実行ファイルが前記出力値を生成するための生成速度を測定すると共に、当該実行ファイルが単位時間当たりに出力できる情報量を測定する性能測定部を更に備えることを特徴とする請求項１〜４の何れか１項に記載のハッシュ評価サーバである。
【００２３】
この構成によれば、実行ファイルの出力値の生成時間や、出力値の情報量を知ることができるので、ハッシュ評価時のサーバの処理速度等の性能を評価することができる。
【００２４】
請求項６に係る発明は、前記ハッシュ評価部の評価結果を、ユーザが画面上で読み取り可能にテキスト表示するためのテキストデータ形式に加工処理、又は、ユーザが画面上で読み取り可能にグラフィック表示するためのグラフ画像データ形式に加工処理する評価結果加工部を更に備えることを特徴とする請求項１〜５の何れか１項に記載のハッシュ評価サーバである。
【００２５】
この構成によれば、ユーザが、実行ファイルのハッシュ評価の評価結果を、画面上で確認することができる。
【００２６】
請求項７に係る発明は、請求項１〜６の何れか１項に記載のハッシュ評価サーバを備えることを特徴とするハッシュ評価システムである。
【００２７】
この構成によれば、ハッシュ評価システムにおいても、ハッシュ評価サーバと同様にハッシュ評価を行うことができる。
【００２８】
請求項８に係る発明は、入力値に対して出力値を得る実行が可能な実行ファイルが、予め定められた所定ハッシュ関数を実現するものであるか否かを評価するハッシュ評価を行うハッシュ評価サーバのハッシュ評価方法であって、前記ハッシュ評価サーバは、前記ハッシュ評価を行うための前記実行ファイルの評価テストの評価手順及び合格基準が定められ、且つ当該評価手順及び合格基準が各々異なる評価パターンを予め定められた数だけ記憶する記憶部を備えており、前記記憶部に記憶された前記評価パターン毎に適合した入力キーを生成する第１ステップと、前記実行ファイルが設定され、前記第１ステップで生成された入力キーに対して、当該設定された実行ファイルに従って出力値を生成する第２ステップと、前記第２ステップで生成された出力値に対して、当該出力値に対応する前記第１ステップでの前記入力キーの生成に係わった評価パターンの評価手順に基づき評価テストを行い、当該テスト結果が同評価テストの前記合格基準を満たせば、前記実行ファイルは前記所定ハッシュ関数であると評価する第３ステップとを実行することを特徴とするハッシュ評価方法。
【００２９】
この方法によれば、記憶部に、実行ファイルの評価テストの評価手順及び合格基準が定められ、且つ当該評価手順及び合格基準が各々異なる評価パターンを予め定められた数だけ記憶しておけば、実行ファイルが所定ハッシュ関数か否かのハッシュ評価を一定の基準で行うことができる。従って、実行ファイルが所定ハッシュ関数であるか否かの評価を適正に行うことができる。また、従来のように、試験者が評価テスト毎にテストプログラムを作成する必要がないので、評価テストのための労務コストを抑えることができる。
【発明の効果】
【００３０】
本発明によれば、入力値に対して出力値を得る実行が可能な実行ファイルが、予め定められた所定ハッシュ関数であるか否かの評価を適正に行うことができ、この評価テストのための労務コストを抑えることができるハッシュ評価サーバ、ハッシュ評価システム及びハッシュ評価方法を提供することができる。
【図面の簡単な説明】
【００３１】
【図１】本発明の実施形態に係るハッシュ評価システムの構成を示すブロック図である。
【図２】本実施形態に係るハッシュ評価システムにおけるアカウント登録及び認証処理、並びにハッシュ評価の処理を説明するためのシーケンス図である。
【図３】入力キー生成部及びファイル実行部の処理を説明するためのブロック図である。
【図４】連性テストの合格基準値を定める基準テーブルの図である。
【図５】相互情報量テストにおける実行ファイルに従った出力値の「０」又は「１」の各ビットの度数を示す図である。
【図６】相互情報量テストにおける実行ファイルに従った出力値の度数を変換した確率分布を示す図である。
【図７】端末機の図示せぬ画面にテキスト表示された８項目の評価結果を示し、（ａ）は全てＯＫの場合を示す図、（ｂ）は長周期連性の項目のみＮＧの場合を示す図である。
【図８】端末機の図示せぬ画面にグラフィック表示された０／１等頻度性テストによる「１」の出現頻度の度数分布を示す図である。
【図９】本実施形態に係るハッシュ評価システムによるハッシュ評価処理の動作を説明するための第１のフローチャートである。
【図１０】本実施形態に係るハッシュ評価システムによるハッシュ評価処理の動作を説明するための第２のフローチャートである。
【発明を実施するための形態】
【００３２】
以下、本発明の実施形態を、図面を参照して説明する。
＜実施形態の構成＞
図１は、本発明の実施形態に係るハッシュ評価システムの構成を示すブロック図である。
図１に示すハッシュ評価システム１０は、前述したハッシュ評価を行うものであり、ユーザ端末機２０と、ハッシュ評価サーバ（単に、評価サーバともいう）３０と、アカウント管理サーバ４０とを備えて構成されている。ユーザ端末機２０、評価サーバ３０及びアカウント管理サーバ４０は、有線や無線回線によるインターネット回線で接続されている。なお、アカウント管理サーバ４０を管理サーバ４０ともいい、ユーザ端末機２０を端末機２０ともいう。
【００３３】
端末機２０は、ユーザが、アカウント情報の登録や認証要求等の各種操作を行うコンピュータであり、送受信部２０ａと、アカウント要求応答部２０ｂと、実行ファイル送信制御部２０ｃと、評価結果表示制御部２０ｄとを備える。なお、アカウント情報は、ユーザが、インターネット上のサーバやコンピュータへのログインを行う権利を得るための情報であり、ユーザＩＤ(Identification)やパスワードを含むものである。
【００３４】
評価サーバ３０は、ハッシュ評価処理等を行うサーバであり、送受信部３０ａと、アカウント要求応答部３０ｂと、情報設定記憶部（記憶部）３０ｃと、ユーザ入力制御部３０ｄ１を有する入力キー生成部３０ｄと、ファイル実行部３０ｅと、出力値記憶部３０ｆを有するハッシュ評価部３０ｇと、性能測定結果記憶部３０ｈ１を有する性能測定部３０ｈと、評価結果加工部３０ｉとを備える。
【００３５】
管理サーバ４０は、ユーザのアカウント情報の登録や認証等を行ってアカウントの管理を行うサーバであり、送受信部４０ａと、アカウント管理処理部４０ｂと、評価項目実施管理部４０ｃとを備える。
【００３６】
端末機２０において、送受信部２０ａは、ユーザのアカウント登録や認証に係るアカウント情報並びに、その他、後述のように評価サーバ３０との間で遣り取りされる各種情報を送受信する。
アカウント要求応答部２０ｂは、ユーザのアカウント情報を評価サーバ３０を介して管理サーバ４０へ登録及び認証する要求の制御を行うと共に、管理サーバ４０から評価サーバ３０を介して返信されてきたアカウント登録の応答結果を表示する制御を行う。
【００３７】
これらの制御を、図２を参照して詳細に説明する。図２は本実施形態に係るハッシュ評価システムにおけるアカウント登録及び認証処理、並びにハッシュ評価の処理を説明するためのシーケンス図である。
【００３８】
図２において、端末機２０のアカウント要求応答部２０ｂ（図１）は、ステップＳ１，Ｓ２に示すように、ユーザのアカウント情報を評価サーバ３０を介して管理サーバ４０へ登録する要求制御（アカウント登録要求）を行う。これに応じて、ステップＳ３に示すように、管理サーバ４０がそのユーザのアカウント情報を登録する。管理サーバ４０は、そのアカウント登録の結果を、ステップＳ４，Ｓ５に示すように評価サーバ３０を介して端末機２０へ応答（アカウント登録応答）する。端末機２０のアカウント要求応答部２０ｂは、ステップＳ６に示すように、その返信されてきたアカウント登録結果を表示する。
【００３９】
また、端末機２０のアカウント要求応答部２０ｂは、ステップＳ７，Ｓ８に示すように、ユーザのアカウント情報を認証する要求制御（アカウント認証要求）を評価サーバ３０を介して管理サーバ４０へ行う。これに応じて、ステップＳ９に示すように、管理サーバ４０がそのユーザのアカウント情報の認証を行う。管理サーバ４０は、そのアカウント認証の結果を、ステップＳ１０，Ｓ１１に示すように評価サーバ３０を介して端末機２０へ応答（アカウント認証応答）する。端末機２０のアカウント要求応答部２０ｂは、ステップＳ１２に示すように、その返信されてきたアカウント認証結果を表示する。
【００４０】
なお、アカウント情報の登録要求を行う際の情報を、アカウント登録要求情報又は登録要求情報といい、アカウント情報の認証要求を行う際の情報を、アカウント認証要求情報又は認証要求情報という。また、端末機２０に返信されてきたアカウントの登録の応答結果の情報を、アカウント登録応答情報又は登録応答情報といい、返信されてきたアカウントの認証の応答結果の情報を、アカウント認証応答情報又は認証応答情報という。
【００４１】
図１に戻って、実行ファイル送信制御部２０ｃは、入力キーに応じた入力値に対して出力値を得る実行が可能な形式の実行ファイルの情報を、評価サーバ３０へ送信（図２のＳ１３参照）する制御を行う。実行ファイルは、具体的には、Ｃハッシュ関数（所定ハッシュ関数）、一般的ハッシュ関数、疑似乱数生成手段（疑似乱数生成モジュール）等を実現するプログラム情報である。
【００４２】
このような実行ファイルは、実行ファイル登録者によって、実行ファイルが入力を受け付け、ハッシュ値等の出力値を出力するように、実行ファイル送信制御部２０ｃに実装される。また、実行ファイル送信制御部２０ｃから評価サーバ３０へ送信される実行ファイルが、入力値に対して出力値を得る実行形式で無い場合、端末機２０へ、実行ファイルの登録不可能であることを示すメッセージ返信するようになっている。
【００４３】
評価結果表示制御部２０ｄは、評価サーバ３０から受信した評価結果の情報を図示せぬ画面に表示（図２のＳ１７参照）する制御を行う。
【００４４】
次に、一般的なアカウント管理機能を有する管理サーバ４０について説明する。
送受信部４０ａは、評価サーバ３０との間で、上述したような各種情報を送受信する。
アカウント管理処理部４０ｂは、アカウント情報に含まれるユーザＩＤやパスワードを事前登録する処理、ユーザＩＤに紐づきユーザ情報を更新する処理、ユーザＩＤに紐づきユーザ情報を削除する処理、ユーザＩＤ及びパスワードを用いてユーザの特定を行うアカウント認証の処理を行う。
【００４５】
評価項目実施管理部４０ｃは、ＦＩＰＳ１４０−２に規定された評価項目の内、ユーザＩＤ毎に、どの評価項目で実行ファイルの評価テストを実施するかを管理する処理を行う。
本発明では、ＦＩＰＳ１４０−２に規定された評価項目の内、原則として、統計的性質として下記の８項目で実行ファイルを評価し、また、実行ファイルの性能測定として下記の２項目で評価するようになっている。
【００４６】
８項目とは、「０／１等頻度性」、「連性」、「長周期連性」、「一様性」、「Ａｖａｌａｎｃｈｅ性」、「線形複雑度」、「自己相関」、「相互情報量」である。
【００４７】
実行ファイルの性能測定とは、後述の評価サーバ３０のファイル実行部３０ｅが実行する実行ファイルが出力値を出力するための出力時間と、実行ファイルが単位時間当たりに出力できる情報量とを測定することである。この性能測定のための２項目は、「出力値生成速度」と、「出力値生成情報量」である。これらの８項目及び２項目のテスト内容（以降、８項目＋２項目）については後述する。後述の各項目のテスト内容の説明において出現する数式は、ＦＩＰＳ１４０−２規格で規定されるか、一般的に定められているものである。
【００４８】
つまり、評価項目実施管理部４０ｃは、原則８項目＋２項目で評価テストすることを管理するが、８項目＋２項目の内、ユーザが任意のテスト実施項目を選択する指示を端末機２０から受信した場合、これを管理する処理も行う。例えば、評価項目実施管理部４０ｃが、ユーザＡがＡｖａｌａｎｃｈｅ性テストのみ実施、ユーザＢがＡｖａｌａｎｃｈｅ性テストを除く全てのテストを実施する指示を行った場合、その管理を行う。このように管理することにより、ユーザが任意の評価テストを選択でき、ハッシュ評価のテスト時間の短縮を図ることが可能となっている。
【００４９】
次に、評価サーバ３０について説明する。評価サーバ３０の構成要素は、大きく２つに分類でき、一般的な処理を行う送受信部３０ａ及びアカウント要求応答部３０ｂと、本発明の特徴であるハッシュ評価処理を行うための、情報設定記憶部３０ｃ、入力キー生成部３０ｄ、ファイル実行部３０ｅ、ハッシュ評価部３０ｇ、性能測定部３０ｈ及び評価結果加工部３０ｉとに分類できる。この内、入力キー生成部３０ｄ、ファイル実行部３０ｅ及びハッシュ評価部３０ｇは、上記８項目の評価パターン（評価項目）によるハッシュ評価のテストを行う。性能測定部３０ｈは、上記２項目の評価パターンによる実行ファイルの性能測定のテストを行う。
【００５０】
送受信部３０ａは、端末機２０又は管理サーバ４０との間で遣り取りされる各種情報を送受信する。
アカウント要求応答部３０ｂは、端末機２０から送信されてきた登録要求情報に応じて、管理サーバ４０にアカウント登録要求を行い、この登録要求に応じて管理サーバ４０から返信されてきた登録応答情報を、端末機２０へ送信する。また、アカウント要求応答部３０ｂは、端末機２０から送信されてきた認証要求情報に応じて、管理サーバ４０にアカウント認証要求を行い、この認証要求に応じて管理サーバ４０から返信されてきた認証応答情報を、端末機２０へ送信する。つまり、図２のステップＳ１，Ｓ２，Ｓ４，Ｓ５，Ｓ７，Ｓ８，Ｓ１０，Ｓ１１の仲介処理を行う。
【００５１】
図１に示す情報設定記憶部３０ｃは、実行ファイルをハッシュ評価するために予め定められた上記の８項目＋２項目の評価パターンと、評価パターンの各々に関しての各設定情報を、テーブル化して記憶するものである。各設定情報とは、各評価パターンに関しての、「キー生成数、キー生成方法、評価アルゴリズム（評価手順）、合格基準値、評価パターン実行（ＯＮ）又は未実行（ＯＦＦ）」の各情報である。ＯＮは、当該ＯＮが付されている評価パターンを実行し、ＯＦＦは、当該ＯＦＦが付されている評価パターンは実行しないことを示す。
【００５２】
入力キー生成部３０ｄは、実行ファイルのハッシュ評価を行うために、情報設定記憶部３０ｃに記憶された各評価パターンを参照して、評価パターン毎に適合した入力キー（単に、キーともいう）を、所定のキー生成数だけ生成する。入力キー生成部３０ｄは、生成した入力キーをコマンドライン等により自動でファイル実行部３０ｅへ入力する。
【００５３】
ユーザ入力制御部３０ｄ１は、入力キー生成部３０ｄが本来生成するキーの入力が、ユーザが端末機２０の操作により可能となるように制御する。つまり、ユーザが行う端末機２０の操作で、任意のキーを入力できるようにする。なお、入力キー生成部３０ｄは、ユーザ入力制御部３０ｄ１を備えない構成であってもよい。
【００５４】
ファイル実行部３０ｅは、端末機２０から送信されてきた実行ファイルをファイル記憶部３０ｅ１に記憶して設定する。また、ファイル実行部３０ｅは、実行ファイルのハッシュ評価を行うために、先に設定された実行ファイルが、入力キー生成部３０ｄで生成された入力キー（入力値）に対して、所定の出力値を生成する処理を実行する。
【００５５】
ここで、入力キー生成部３０ｄ及びファイル実行部３０ｅの処理を、図３を参照して具体的に説明する。まず、図３に示すファイル実行部３０ｅは、端末機２０（図１）から送信されてきた実行ファイル５３をファイル記憶部３０ｅ１に記憶して設定する。
【００５６】
次に、入力キー生成部３０ｄが、情報設定記憶部３０ｃ（図１）に記憶された各評価パターンの内、例えば「０／１等頻度性」テストを行うに適合した入力キー５１を生成する。「０／１等頻度性」テストについては後述するが、この際の入力キー５１が、例えば、「０，１」形式のデータ（以降、バイナリデータ）である入力値を、１ｂｉｔ（ビットともいう）ずつ変更した６４ｂｉｔのキーを１００，０００パターン（１０万パターンとも表現する）用意する。つまり、キーを６４ｂｉｔ×１０万パターン用意するものとする。この入力キー５１がファイル実行部３０ｅへ矢印Ｙ１で示すように入力される。
【００５７】
次に、ファイル実行部３０ｅは、入力キー生成部３０ｄから入力されたキー５１（入力値）に対して、先に設定された実行ファイル５３に従った出力値５５を生成し、これを、矢印Ｙ２で示すように出力値記憶部３０ｆへ出力する。出力値記憶部３０ｆは、その出力値５５を記憶する。この出力値５５は、バイナリデータで表される。
【００５８】
ハッシュ評価部３０ｇは、出力値記憶部３０ｆに記憶された出力値のハッシュ評価を行う。このハッシュ評価は、情報設定記憶部３０ｃ（図１）に記憶された評価パターンの内、上記の出力値を得るために入力キー生成部３０ｄが用いた評価パターンの評価アルゴリズムに基づき評価処理を行い、この評価処理結果が、同評価パターンの合格基準値を満たすか否かを判定することである。ハッシュ評価部３０ｇは、そのハッシュ評価のための評価テストを、上記８項目全てについて行い、８項目全ての評価が合格であれば、実行ファイルがＣハッシュ関数であると判定する。言い換えれば、ハッシュ評価は、８項目の統計的性質に関するテストを行って、コンシステントハッシュ法にふさわしい統計的性質があるハッシュ関数であるかどうかを確認することである。
【００５９】
ここで、８項目の評価パターン（評価項目）のテスト内容について説明する。
最初に、「０／１等頻度性」テストについて説明する。「０／１等頻度性」テストとは、実行ファイルで得られる出力値の「０」と「１」とが等しい頻度か否かを確認するテストであり、常に撹拌（分散）された出力値が得られることを確認する。このテストは次のように実施される。まず、図３に示す入力キー生成部３０ｄが、情報設定記憶部３０ｃ（図１）に記憶された各評価パターンの中から「０／１等頻度性」の評価パターンを選択し、この選択された「０／１等頻度性」テストを行うに必要な入力キー５１を生成する。
【００６０】
この入力キー５１は、例えば、入力値を１ｂｉｔずつ変更した６４ｂｉｔのキーを、１０万パターンを用意する。この１０万パターンが、キー生成数である。この入力キー５１がファイル実行部３０ｅへ矢印Ｙ１で示すように入力される。
【００６１】
次に、ファイル実行部３０ｅが、その入力されたキー５１（入力値）に対して、先に設定された実行ファイル５３に従った出力値５５を生成し、この出力値５５を、矢印Ｙ２で示すように出力値記憶部３０ｆへ出力する。出力値記憶部３０ｆは、その出力値５５を記憶する。この記憶される出力値５５は、「０，１」が連続する２００００ビット（２万ビットとも表現する）のデータとなる。この２万ビットは、出力値の６４ｂｉｔが約３１３パターン分（凡そ、６４×３１３）となる。
【００６２】
次に、ハッシュ評価部３０ｇが、記憶した出力値５５のハッシュ評価を行う。まず、ハッシュ評価部３０ｇは、情報設定記憶部３０ｃ（図１）から入力キー生成部３０ｄが用いた評価パターンの「０／１等頻度性」の評価アルゴリズムを選択する。次に、ハッシュ評価部３０ｇは、その選択した評価アルゴリズムに基づき、出力値５５が「０／１等頻度性」の条件を満たすか否かを判定するための評価処理を行う。
【００６３】
この評価処理は、出力値５５（６４ｂｉｔ）において、連続する２万ビットの中に「１」となるビットの個数Ｘが、次の（式１）を満たすことを判定する。この際、評価アルゴリズムは、２万ビットの中の「１」を数える処理を行うものとなる。
【００６４】
９７２５＜Ｘ＜１０２７５  …（式１）
但し、（式１）は、ＦＩＰＳ１４０−２規格で、２万ビットに対して必然的に定められるハッシュ評価の合格基準値である。なお、２万ビットの数値は、試験者がテスト条件に応じて変更することも可能である。この変更を行った場合は、変更したビット数に応じて上記（式１）のＸの範囲を定める数値も所定の数値に変わる。
【００６５】
このように、入力値を１ｂｉｔずつ変更した６４ｂｉｔのキー５１を１０万パターン、ファイル実行部３０ｅに入力し、この入力により実行ファイル５３に従って得られる出力値５５（６４ｂｉｔ）の連続２万ビットの中に「１」となるビットの個数Ｘが、上記（式１）を満たすことを判定する動作を、１回のテストとする。１回のテストにおいては、個数Ｘが、９７２５を超え、１０２７５未満であれば、合格と判定される。
【００６６】
ハッシュ評価部３０ｇは、上記１回のテストを予め定められた回数、例えば３２０回行い、この３２０回のテスト結果が、例えば９９％以上（３１９回以上）を満たせば、「０／１等頻度性」テストは合格と判定する。その９９％以上も、予め定められた合格基準値である。
【００６７】
なお、テストの回数、合格基準値は、人が任意に設定することも可能である。また、上述した「入力値を１ｂｉｔずつ変更した６４ｂｉｔのキーを１０００００パターン」の各数値において、入力値の変更ｂｉｔ数と、キーのｂｉｔ数、パターン数も、人が任意に設定可能である。例えば、「入力値を２ｂｉｔずつ変更した１２８ｂｉｔのキーを５００００パターン」としてもよい。
【００６８】
次に、「連性」テストについて説明する。「連性」テストとは、出力値のビット「０」とビット「１」との発生確率が等しいならば、後述の「連の長さ」は正規分布に従うので、連の長さをテストで調査することにより、ビットの偏りについて調べるテストである。
【００６９】
まず、上述した実行ファイルに従って得られる出力値の例えば連続２万ビット（任意に設定可能）において、「０」が連続するビット数と、「１」が連続するビット数とを各々数え、これを頻度とする。また、「０」又は「１」の同記号が連続する連の長さが１，２，３，４，５，６以上の場合に分ける。図４に示すように、「連の長さ」と「頻度」とを対応付け、これを「連性」テストの合格基準値（ＦＩＰＳ１４０−２規格で規定）を定める基準テーブル５７とする。
【００７０】
基準テーブル５７は、連の長さ「１」の頻度が２３１５〜２６８５の間に入っていれば合格、連の長さ「２」の頻度が１１１４〜１３８６の間に入っていれば合格、連の長さ「３」の頻度が５２７〜７２３の間に入っていれば合格、連の長さ「４」の頻度が２４０〜３８４の間に入っていれば合格、連の長さ「５」の頻度が１０３〜２０９の間に入っていれば合格、連の長さ「６以上」の頻度が１０３〜２０９の間に入っていれば合格と判定することを定める。
【００７１】
従って、ハッシュ評価部３０ｇは、上述した出力値の例えば連続２万ビットにおいて、「１」又は「０」の各々の連の長さ「１，２，３，４，５，６以上」の個数を数え、その頻度が基準テーブル５７の合格基準値としての頻度以内であれば合格、頻度以外であれば不合格と判定する。各連の長さが１つのみ（例えば連の長さ＝「３」のみ）でも、定められた頻度５２７〜７２３に入っていなければ、不合格と判定する。上記全ての連の長さが、各々に定められた頻度に入っていれば、合格と判定する。この出力値の連続２万ビットに基づく、合否の判定動作を、１回のテストとする。
【００７２】
ハッシュ評価部３０ｇは、上記１回のテストを予め定められた回数、例えば３２０回行い、この３２０回のテスト結果が、例えば９９％以上（３１９回以上）を満たせば、「連性」テストは合格と判定する。その９９％以上も、予め定められた合格基準値である。
【００７３】
次に、「長周期連性」テストについて説明する。「長周期連性」テストは、上述した「連性」テストのサブテストに該当し、２００００ビットのような短い系列内に、長い同一ビットの連があることは極めて珍しいので、ある長さ以上の同一ビット（例えば３４ビット以上）の連の発生を極度の偏りと判定するテストである。
【００７４】
「連性」テストでは、図４に示す基準テーブル５７において、連の長さが６以上の場合の頻度が規定されているが、この際に、ハッシュ評価部３０ｇは、３４以上（３４ビット以上）の連の長さが１つでもあれば、不合格と判定する。１つもなければ合格と判定する。
【００７５】
前記の合否の判定動作は、出力値の連続２万ビットに基づき行われる場合を、１回のテストとする。
従って、ハッシュ評価部３０ｇは、上記１回のテストを予め定められた回数、例えば３２０回行い、この３２０回のテスト結果が、例えば９９％以上（３１９回以上）を満たせば、「長周期連性」テストは合格と判定する。その９９％以上も、予め定められた合格基準値である。
【００７６】
次に、「一様性」テストについて説明する。「一様性」テストとは、出力値の一様性を確認するテストである。つまり、このテストでは、出力値を後述のように４ビット毎の多数のブロックに分けて測定するが、各ブロックの値（４ビットなので「０〜１５」）は等しく、１／１６となれば一様性があると言える。具体的には、各ブロック値が自由度１５のカイ（χ）２乗分布に従うことを確認する。
【００７７】
上述した実行ファイルに従って得られる出力値の複数ビットの系列を、例えば４ビットずつの複数個のブロックに区切る。この区切った各ブロックが整数とみなすと、１ブロックが４ビットなので「０〜１５」の１６パターンになる。この１６パターンの各々「０，１，２，…，１５」が等頻度で出れば、出力値に一様性があると判定するテストである。
【００７８】
具体的には、ハッシュ評価部３０ｇが、前記の出力値の系列２００００ビットを４ビットずつの５０００個のブロックに分ける。この５０００個の各ブロックは整数とみなすと、４ビットなので「０〜１５」を取る。「０〜１５」の各数値の度数を、ｆ（ｉ）で表す。ｉは、０≦ｉ≦１５となる。この時、ｆ（ｉ）が、次の（式２）を満たせば合格、満たさなければ不合格と判定する。
【００７９】
【数１】
2016038469.tif 000003
【００８０】
このように、「０〜１５」の各々の数値の度数の２乗の和を取って、（式２）に当て嵌め、合否を判定する。この合否の判定動作は、出力値の連続２万ビットに基づき行われる場合を、１回のテストとする。
従って、ハッシュ評価部３０ｇは、上記１回のテストを予め定められた回数、例えば３２０回行い、この３２０回のテスト結果が、例えば９９％以上（３１９回以上）を満たせば、「一様性」テストは合格と判定する。その９９％以上も、予め定められた合格基準値である。
【００８１】
次に、「Ａｖａｌａｎｃｈｅ性」テストについて説明する。「Ａｖａｌａｎｃｈｅ性」テストとは、入力キーと出力値を排他的論理和した系列において、どの程度のビット反転が発生するかを調べるテスト、換言すれば、入力キーに対し出力値がビット反転したかどうかを調べるテストである。
【００８２】
「Ａｖａｌａｎｃｈｅ性」テストは、まず、入力キー生成部３０ｄが、情報設定記憶部３０ｃ（図１）から評価パターンとして「Ａｖａｌａｎｃｈｅ性」を選択し、この「Ａｖａｌａｎｃｈｅ性」テストを行うに必要な入力キーを生成する。
入力キー生成部３０ｄは、１ビット違いの入力キー（例えば入力値ａｉ）を生成してファイル実行部３０ｅへ入力し、ファイル実行部３０ｅが、実行ファイルに従って例えば出力値ｂｉを得る。入力値ａｉと出力値ｂｉとの排他的論理和を取ってｂｉｔ分布を評価する。この際、排他的論理和の結果において、半分程度のビットが異なっていれば、合格と判定する。
【００８３】
具体的には、ハッシュ評価部３０ｇは、上記のように生成した２つのデータ、例えば、各８００００ｂｉｔｓの系列の入力値ａｉと出力値ｂｉであって、１＜ｉ＜８００００の関係を有する２つのデータに対して、下記の（式３）の計算を行い、度数分布を評価する。この結果、各８００００ｂｉｔｓの系列の半分のビットが異なっていれば、合格と判定する。なお、合格と判定するための「半分のビット」は、予め定められる。
【００８４】
【数２】
2016038469.tif 000004
【００８５】
この８００００ビットの系列の入力値ａｉと出力値ｂｉについて合否を判定するが、この際の合否の判定動作が、１回のテストとする。
従って、ハッシュ評価部３０ｇは、上記１回のテストを予め定められた回数、例えば１２８回行い、この１２８回のテスト結果が、例えば９９％以上（１２７回以上）を満たせば、「Ａｖａｌａｎｃｈｅ性」テストは合格と判定する。その９９％以上も、予め定められた合格基準値である。
【００８６】
次に、「線形複雑度」テストについて説明する。「線形複雑度」テストとは、出力値の乱数列（系列）の線形複雑度の最大値１に対し、線形複雑度が半分程度（０．５程度）であることを調べるテストである。これは、線形複雑度が高すぎると、それを逆手にとり出力値から入力値を推測することが可能になってしまう。そこで、線形複雑度は半分程度がよいといえる。
【００８７】
実行ファイルに従って得られる出力値の乱数列（系列）は、任意の部分列から他の部分列が予測不可能であることが安全上重要となる。一般に乱数列の予測は線形フィードバックシフトレジスタ（ＬＦＳＲ）を用いて行うので、非線形性が強いほど解読し難い。この非線形性の尺度として通常、ＬＦＳＲのレジスタ段数を用い、これを線形複雑度としている。この線形複雑度が最大値の半分ほどが解読し難く、好ましい。
【００８８】
ここで、線形複雑度を求めるための式を、下記の（式４）〜(式１１)に示す。
Ｃ−１（Ｄ）＝Ｃ０（Ｄ）＝１  …（式４）
Ｌ−１＝Ｌ０＝０              …（式５）
ｋ−１＝−１                 …（式６）
ｄ−１＝１                   …（式７）
【００８９】
【数３】
2016038469.tif 000005
【００９０】
（式４）〜(式１１)において、Ｃ（Ｄ）は結線多項式、Ｄは遅延演算子変数、ｓｉは前記の出力値の系列、ｋは暫定線形複雑度、ｄは系列の排他的論理和、Ｌｎは線形複雑度である。
ハッシュ評価部３０ｇは、線形複雑度をBerlekamp-Masseyのアルゴリズムで求めるが、この際、上述の（式４）〜(式７)で初期設定を行った後、（式８）〜(式１１)を実行することにより、（式１１）において線形複雑度Ｌｎが求められる。この求められた線形複雑度Ｌｎが、次の（式１２）を満たせば、合格と判定する。但し、（式１２）において、Ｎ＝１０００とする。
【００９１】
０．４５＜Ｌｎ／Ｎ＜０．５５  …（式１２）
【００９２】
上記の線形複雑度Ｌｎが（式１２）を満たした場合の合否の判定動作が、１回のテストとする。
従って、ハッシュ評価部３０ｇは、上記１回のテストを予め定められた回数、例えば１２８回行い、この１２８回のテスト結果が、例えば９９％以上（１２７回以上）を満たせば、「線形複雑度」テストは合格と判定する。その９９％以上も、予め定められた合格基準値である。
【００９３】
次に、「自己相関」テストについて説明する。「自己相関」とは、ある値がそれ自体をビットシフトした値とどれだけ良く整合するかを測る尺度であり、ビットシフトの大きさの関数として表される。つまり、自己相関テストとは、出力値のそれ自体との相互相関を測るものである。自己相関テストの結果は、半分程度がよいといえる。
【００９４】
入力キー生成部３０ｄ（図１）が「自己相関」テストを行うに必要な入力キーを生成する。この入力キーは、例えば、入力値を１ｂｉｔずつ変更した６４ｂｉｔのキーを、１０００００パターン（つまり、６４ｂｉｔ×１０万パターン）を用意する。この入力キーがファイル実行部３０ｅへ入力され、この入力キー（入力値）に対して、実行ファイルに従った出力値が生成され、出力値記憶部３０ｆに記憶される。
【００９５】
ハッシュ評価部３０ｇは、その記憶された出力値（６４ｂｉｔ）と、出力値をＴｂｉｔシフト（１≦Ｔ≦１０）した系列との排他的論理和を取る。この排他的論理和で得られる系列は、「０，１」が連続する２００００ビット（出力値の６４ｂｉｔが約３１３パターン分）となる。
【００９６】
次に、ハッシュ評価部３０ｇは、その２万ビットの中に「１」となるビットの個数Ｘが、前述した（式１）を満たすことを判定する。この結果、個数Ｘが、９７２５を超え、１０２７５未満であれば、合格と判定される。この判定動作が１回のテストである。
ハッシュ評価部３０ｇは、１回のテストを予め定められた回数、例えば３２０回行い、この３２０回のテスト結果が、例えば９９％以上（３１９回以上）を満たせば、「自己相関」テストは合格と判定する。
【００９７】
次に、「相互情報量」テストについて説明する。相互情報量とは、確率論及び情報理論において、２つの確率変数の相互依存の尺度を表す量である。最も典型的な相互情報量の物理単位はビットであり、２を底とする対数が使われることが多い。２つの確率変数の相互依存の尺度が少ない程、好ましい。そこで、「相互情報量」テストは、入力値と出力値との２つの確率変数の相互依存の尺度を確認するテストである。
【００９８】
入力キー生成部３０ｄが「相互情報量」テストを行うに必要な入力キーを生成する。この入力キーは、例えば、入力値を１ｂｉｔずつ変更した６４ｂｉｔのキーを、１６０００パターン（つまり、６４ｂｉｔ×１６０００パターン）を用意する。次に、入力キー生成部３０ｄは、１６０００パターンの入力キーを、１６パターンずつに分割する。換言すると、入力キーを、１６パターンを１セット（６４×１６＝１０２４ｂｉｔ）として、１６０００／１６＝１０００セット用意する。
【００９９】
この１０００セットの入力キー（Ｘ）を、ファイル実行部３０ｅに入力し、実行ファイルに従って出力値（Ｙ）を、１０００セットを得る。
次に、ハッシュ評価部３０ｇは、１０００セットの入力キー（Ｘ）及び１０００セットの出力値（Ｙ）に対して、「０」又は「１」の各ビットの度数を計数し、確率分布に変換する。これらの変換処理について図５及び図６を参照して説明する。
【０１００】
図５は前記の度数を示す行と列の表であり、行に入力キー（Ｘ）の「０」又は「１」が設定、列に出力値（Ｙ）の「０」又は「１」が設定されている。なお、入力キー（Ｘ）の「０」又は「１」を入力ビット、出力値（Ｙ）の「０」又は「１」を出力ビットともいう。図５では、度数(number)をＮで示している。
【０１０１】
Ｘ＝０，Ｙ＝０の行列位置に記載のＮｘ，ｙ（０，０）＝ａは、入力ビットが「０」で出力ビットが「０」であり、変化なしの場合の個数ａを示す。
Ｘ＝０，Ｙ＝１の行列位置に記載のＮｘ，ｙ（０，１）＝ｂは、入力ビット「０」が、出力ビット「１」に変化した場合の個数ｂを示す。
Ｘ＝０の行におけるＹ＝０とＹ＝１との合計は、Ｎｘ（０）＝ａ＋ｂである。この式は、入力キーの１０２４ビットの内、「０」ビットが何個ａ＋ｂ（例えば５１０個）あるかを示す。
【０１０２】
Ｘ＝１，Ｙ＝０の行列位置に記載のＮｘ，ｙ（１，０）＝ｃは、入力ビット「１」が、出力ビット「０」に変化した場合の個数ｃを示す。
Ｘ＝１，Ｙ＝１の行列位置に記載のＮｘ，ｙ（１，１）＝ｄは、入力ビットが「１」で出力ビットが「１」であり、変化なしの場合の個数ｄを示す。
Ｘ＝１の行におけるＹ＝０とＹ＝１との合計は、Ｎｘ（１）＝ｃ＋ｄである。この式は、入力キーの１０２４ビットの内、「１」ビットが何個ｃ＋ｄ（例えば５１４個）あるかを示す。
【０１０３】
Ｙ＝０の列におけるＸ＝０とＸ＝１との合計は、Ｎｙ（０）＝ａ＋ｃである。この式は、出力ビットが「０」だったものが、何個あるかを示す。
Ｙ＝１の列におけるＸ＝０とＸ＝１との合計は、Ｎｙ（１）＝ｂ＋ｄである。この式は出力ビットが「１」だったものが、何個あるかを示す。
Ｘ，Ｙ行列の合計度数Ｎは、Ｎ＝ａ＋ｂ＋ｃ＋ｄであり、５１０＋５１４＝１０２４となる。
このように、１０００セットの入力キー（Ｘ）及び１０００セットの出力値（Ｙ）に対して、「０」又は「１」の各ビットの度数が計数される。
【０１０４】
次に、確率分布に変換する処理を、図６を参照して説明する。図６に示す表も、図５の表と同様に、行に入力キー（Ｘ）の「０」又は「１」、列に出力値（Ｙ）の「０」又は「１」が設定されている。図６では、確率(probability)をＰで示している。
図６が図５と異なる点は、図５の各々の行列位置に記載の式の右辺の値（ａ，ｂ，ｃ，ｄを用いて表記）を、合計度数Ｎで割って確率分布Ｐｘ、ｙを求める式を記載していることである。
【０１０５】
即ち、図６のＸ＝０，Ｙ＝０の行列位置には、確率分布のＰｘ，ｙ（０，０）＝ａ／Ｎを記載し、Ｘ＝０，Ｙ＝１の行列位置には、Ｐｘ，ｙ（０，１）＝ｂ／Ｎを記載し、Ｘ＝０の行におけるＹ＝０とＹ＝１との合計には、Ｐｘ（０）＝（ａ＋ｂ）／Ｎを記載している。また、Ｘ＝１，Ｙ＝０の行列位置には、Ｐｘ，ｙ（１，０）＝ｃ／Ｎを記載し、Ｘ＝１，Ｙ＝１の行列位置には、Ｐｘ，ｙ（１，１）＝ｄ／Ｎを記載し、Ｘ＝１の行におけるＹ＝０とＹ＝１との合計には、Ｐｘ（１）＝（ｃ＋ｄ）／Ｎを記載している。
【０１０６】
Ｙ＝０の列におけるＸ＝０とＸ＝１との合計は、Ｐｙ（０）＝（ａ＋ｃ）／Ｎである。この式は、出力ビットが「０」だった場合の確率分布を示す。
Ｙ＝１の列におけるＸ＝０とＸ＝１との合計は、Ｐｙ（１）＝（ｂ＋ｄ）／Ｎである。この式は出力ビットが「１」だった場合の確率分布を示す。
Ｘ，Ｙ行列の合計確率分布Ｐは、Ｐ＝１で示すように必ず１００％となる。
【０１０７】
次に、ハッシュ評価部３０ｇは、上述のように変換した確率分布を用いて、次の（式１３）により、相互情報量Ｉ（Ｘ；Ｙ）を求める。
Ｉ（Ｘ；Ｙ）＝Ｈ（Ｘ）−Ｈ（Ｘ｜Ｙ）
＝−Ｐｘ（０）ｌｏｇ２Ｐｘ（０）−Ｐｘ（１）ｌｏｇ２Ｐｘ（１）
−Ｐｙ（０）Ｈ（Ｘ｜Ｙ＝０）−Ｐｙ（１）Ｈ（Ｘ｜Ｙ＝１）
…（式１３）
但し、Ｈ（Ｘ）は、Ｘの不確かさを示す。Ｈはエントロピである。
また、Ｈ（Ｘ｜Ｙ）は、条件付きエントロピであり、Ｘが発生した上でのＹのエントロピを示す。言い換えれば、Ｙを知って尚且つ残るＸの不確かさであり、更には、Ｙを得るためのＸがどれだけ不確定かを示している。
【０１０８】
また、上の（式１３）のＨ（Ｘ｜Ｙ＝０）及びＨ（Ｘ｜Ｙ＝１）を解くためには、下記の（式１４）及び（式１５）を計算する。
Ｈ（Ｘ｜Ｙ＝０）＝−Ｐｘ｜ｙ（０｜０）ｌｏｇ２Ｐｘ｜ｙ（０｜０）
−Ｐｘ｜ｙ（１｜０）ｌｏｇ２Ｐｘ｜ｙ（１｜０）  …（式１４）
Ｈ（Ｘ｜Ｙ＝１）＝−Ｐｘ｜ｙ（０｜１）ｌｏｇ２Ｐｘ｜ｙ（０｜１）
−Ｐｘ｜ｙ（１｜１）ｌｏｇ２Ｐｘ｜ｙ（１｜１）  …（式１５）
【０１０９】
更に、（式１４）のＰｘ｜ｙ（０｜０）及びＰｘ｜ｙ（１｜０）を解くためには、下記の（式１６）及び（式１７）を計算し、（式１５）のＰｘ｜ｙ（０｜１）及びＰｘ｜ｙ（１｜１）を解くためには、後述の（式１８）及び（式１９）を計算する。（式１６）〜（式１９）の計算においては、上述で求めた確率分布を用いる。
【０１１０】
Ｐｘ｜ｙ（０｜０）＝Ｐｘ，ｙ（０，０）／Ｐｙ（０）  …（式１６）
Ｐｘ｜ｙ（１｜０）＝Ｐｘ，ｙ（１，０）／Ｐｙ（０）  …（式１７）
Ｐｘ｜ｙ（０｜１）＝Ｐｘ，ｙ（０，１）／Ｐｙ（１）  …（式１８）
Ｐｘ｜ｙ（１｜１）＝Ｐｘ，ｙ（１，１）／Ｐｙ（１）  …（式１９）
【０１１１】
次に、ハッシュ評価部３０ｇは、上述のように求めた相互情報量Ｉ（Ｘ；Ｙ）が、次の（式２０）を満たすことを判定する。
Ｉ（Ｘ；Ｙ）＞０．９５  …（式２０）
ハッシュ評価部３０ｇは、このような相互情報量Ｉ（Ｘ；Ｙ）が（式２０）を満たす判定を行い、この判定が、入力キーの１０００セットの内、９９９セットにおいて満たせば、「相互情報量」テストは合格と判定する。
【０１１２】
このように、ハッシュ評価部３０ｇは、８項目全ての評価テストが合格であれば、実行ファイルがＣハッシュ関数であると判定する。上述したように評価された８項目のテストの評価結果は、全てが出力値記憶部３０ｆに記憶される。
【０１１３】
次に、図１に示す性能測定部３０ｈは、情報設定記憶部３０ｃに記憶されている２項目（「出力値生成速度」及び「出力値生成情報量」）の評価パターンによる実行ファイルの性能測定のテストを行う。このテストは、図２に示すステップＳ１４のハッシュ評価実行の処理にて行われる。
【０１１４】
まず、性能測定部３０ｈは、ファイル実行部３０ｅに設定された実行ファイルに対して、情報設定記憶部３０ｃから取得した「出力値生成速度」テストを行う。即ち、実行ファイルが出力値を生成するための生成速度を、[ｃｙｃｌｅ／ｂｙｔｅ]を単位として測定する。[ｃｙｃｌｅ／ｂｙｔｅ]は、一般的に、暗号化・復号のためのビット列を生成するキー系列生成処理において、１バイトのデータを暗号化するのに必要とするサイクル数を表す単位である。[ｃｙｃｌｅ／ｂｙｔｅ]を単位とする出力値生成速度は、値が小さい方が高性能となる。
【０１１５】
次に、性能測定部３０ｈは、情報設定記憶部３０ｃから取得した「出力値生成情報量」テストを行う。即ち、実行ファイルが単位時間当たりに出力できる情報量を、「ＭｉＢ(メビバイト)／ｓ」を単位として測定する。「ＭｉＢ／ｓ」を単位とする出力値生成情報量は、大きい方が高性能となる。
このように評価された２項目の性能測定結果は、全てが性能測定結果記憶部３０ｈ１に記憶される。
【０１１６】
評価結果加工部３０ｉは、ハッシュ評価部３０ｇでハッシュ評価された８項目及び２項目の出力値の評価結果を、ユーザが端末機２０の画面上で読み取り可能にテキスト表示するためのテキストデータ形式に加工処理する。例えば、８項目の評価結果であれば、図７（ａ）及び（ｂ）に示すように、項目毎のテストの合格（ＯＫ）又は不合格（ＮＧ）の結果が、端末機２０の図示せぬ画面に表示可能にテキストデータ形式に加工処理される。この加工処理は、図２に示すステップＳ１５の評価結果加工の処理にて行われる。なお、図７（ａ）には、８項目全てのテストの評価結果がＯＫである例を示し、（ｂ）には「長周期連性」テストの評価結果がＮＧである例を示した。
【０１１７】
また、評価結果加工部３０ｉは、ハッシュ評価された８項目及び２項目の出力値の評価結果を、ユーザが端末機２０の画面上で読み取り可能にグラフィック表示するためのグラフ画像データ形式に加工処理する。例えば、図８に示すように、「０／１等頻度性」テストによる「１」の出現頻度の度数分布を、端末機２０の画面に表示可能にグラフ画像データ形式に加工処理する。この加工処理も、図２に示すステップＳ１５の評価結果加工の処理にて行われる。なお、図８には、実行ファイルに従って得られる出力値の連続ビットの中に「１」となるビット数が、９８０〜１０２０ｂｉｔの幅で出現し、１０００ｂｉｔにおいて、２３０００の度数で出現する例を示した。
なお、図７及び図８に示す画面へのテキスト表示及びグラフ表示は、前述した通り、端末機２０の評価結果表示制御部２０ｄが行う。
【０１１８】
＜実施形態の動作＞
次に、本実施形態に係るハッシュ評価システム１０によるハッシュ評価処理の動作を、図９及び図１０に示すフローチャートを参照して説明する。
【０１１９】
最初に、図９に示すステップＳ１０１において、ユーザのアカウント情報の登録及び認証処理を行う。まず、ユーザが図１に示す端末機２０からアカウント情報の登録要求の操作を行い、これに応じて、端末機２０のアカウント要求応答部２０ｂが、図２のステップＳ１，Ｓ２に示すように、アカウント登録要求の情報を評価サーバ３０を介して管理サーバ４０へ送信する。管理サーバ４０は、ステップＳ３に示すように、そのユーザのアカウント情報を登録し、アカウント登録結果を、ステップＳ４，Ｓ５に示すように評価サーバ３０を介して端末機２０へ応答送信する。
【０１２０】
この応答を受けた端末機２０のアカウント要求応答部２０ｂは、ステップＳ６に示すように、アカウント登録結果を端末機２０の画面（図示せず）に表示する制御を行う。この表示を見て登録を確認したユーザは、端末機２０からアカウント情報の認証要求の操作を行う。これに応じて、端末機２０のアカウント要求応答部２０ｂは、ステップＳ７，Ｓ８に示すように、ユーザのアカウント認証要求の情報を評価サーバ３０を介して管理サーバ４０へ送信する。
【０１２１】
管理サーバ４０は、ステップＳ９に示すように、そのユーザのアカウント情報の認証を行い、アカウント認証結果の応答を、ステップＳ１０，Ｓ１１に示すように評価サーバ３０を介して端末機２０へ送信する。この応答を受けた端末機２０のアカウント要求応答部２０ｂは、ステップＳ１２に示すように、アカウント認証結果を表示する制御を行う。この表示をユーザが確認する。ここでは、アカウント認証が了承されたとする。
【０１２２】
次に、図９のステップＳ１０２において、ユーザが端末機２０に実装した実行ファイルを、端末機２０から評価サーバ３０へ送信する。これは、端末機２０の実行ファイル送信制御部２０ｃが、図２のステップＳ１３に示すように、実行ファイルの情報を、評価サーバ３０へ送信する。
【０１２３】
図９のステップＳ１０３において、実行ファイルを受信した評価サーバ３０は、ファイル実行部３０ｅのファイル記憶部３０ｅ１（図３参照）に、実行ファイルを設定する。この際、実行ファイルが、入力値に対して出力値を得る実行形式で無い場合、評価サーバ３０から端末機２０へ、実行ファイルが登録不可能であることを示すメッセージが返信される。
【０１２４】
次に、評価サーバ３０は、図２のステップＳ１４に示すハッシュ評価の実行に移行する。この際、管理サーバ４０の評価項目実施管理部４０ｃにおいては、該当ユーザＩＤに、８項目の評価項目（評価パターン）で実行ファイルを評価し、また、実行ファイルの性能測定として２項目の性能測定項目（評価パターン）で評価することが対応付けられて管理されているとする。８項目の評価項目は、「０／１等頻度性」、「連性」、「長周期連性」、「一様性」、「Ａｖａｌａｎｃｈｅ性」、「線形複雑度」、「自己相関」、「相互情報量」である。２項目の性能測定項目は、「出力値生成速度」、「出力値生成情報量」である。
【０１２５】
なお、端末機２０からのユーザの実行ファイルが評価サーバ３０で受信された際に、評価サーバ３０が受信した実行ファイルのユーザＩＤを管理サーバ４０へ通知し、管理サーバ４０から該当ユーザの評価パターンの管理情報が評価サーバ３０へ返信されるようになっている。これによって、評価サーバ３０は、どの評価パターンでテストを行うかを把握する。
【０１２６】
評価サーバ３０によるハッシュ評価の実行は、まず、図９のステップＳ１０４において、入力キー生成部３０ｄが、ファイル実行部３０ｅに設定された実行ファイルのハッシュ評価をテストするための、評価パターンを情報設定記憶部３０ｃから１つずつ取得する。例えば、最初に、８項目の内の「０／１等頻度性」の評価パターンが取得されたとする。入力キー生成部３０ｄは、「０／１等頻度性」テストを行うに適合した入力キーを生成する。この生成された入力キーは、ファイル実行部３０ｅへ入力される。
【０１２７】
図９のステップＳ１０５において、ファイル実行部３０ｅは、先に設定された実行ファイルに従って、上記入力された入力キー（入力値）に対して、所定の出力値を生成する。この生成は、前述の「０／１等頻度性」テストで説明したと同様に行われる。また、ファイル実行部３０ｅで生成された出力値は、ステップＳ１０６において、出力値記憶部３０ｆに記憶される。
【０１２８】
次に、ステップＳ１０７において、ハッシュ評価部３０ｇが、その記憶された出力値が「０／１等頻度性」の合格基準を満たして合格するか否かを、前述したように判定する。この１つの評価パターンの合否の結果は、ステップＳ１０８において、出力値記憶部３０ｆに記憶される。
【０１２９】
ここで、ステップＳ１０９において、ハッシュ評価部３０ｇが、予め定められた全ての評価パターンの評価テストが終了したか否かを判定する。
終了した場合は、ステップＳ１１０（図１０）に進む。終了していない場合は、上記ステップＳ１０４に戻って、入力キー生成部３０ｄが、評価テストを行っていない内の次の評価パターンが情報設定記憶部３０ｃから１つ取得される。例えば、「連性」の評価パターンが取得され、以降同様に、ステップＳ１０９まで処理を行う。このように、ステップＳ１０４〜Ｓ１０８において、８項目全ての評価パターンが取得されて評価テストが行われ、ステップＳ１０９において、全ての評価パターンの評価テストが終了したと判定された場合は、図１０のステップＳ１１０に進む。
【０１３０】
ステップＳ１１０において、ハッシュ評価部３０ｇは、８項目全ての評価テストが合格であれば、実行ファイルがＣハッシュ関数であると判定する。一方、８項目の内、１つの項目でも評価テストが不合格であれば、実行ファイルはＣハッシュ関数でないと判定する。これらＣハッシュ関数であるか否かの判定結果は、ステップＳ１１１において、出力値記憶部３０ｆに記憶される。
【０１３１】
次に、ステップＳ１１２において、性能測定部３０ｈは、情報設定記憶部３０ｃに記憶されている２項目の評価パターンの一方を取得する。例えば、「出力値生成速度」の評価パターンが取得されたとする。
次に、ステップＳ１１３において、性能測定部３０ｈは、ファイル実行部３０ｅに設定された実行ファイルに対して、「出力値生成速度」のテストを行う。即ち、実行ファイルが出力値を生成するための生成速度を、[ｃｙｃｌｅ／ｂｙｔｅ]を単位として測定する。この測定結果は、性能測定結果記憶部３０ｈ１に記憶される。
【０１３２】
次に、ステップＳ１１４において、性能測定部３０ｈは、全ての性能測定が終了したか否かを判定する。終了していれば、ステップＳ１１５へ進む。終了していなければ、上記ステップＳ１１２に戻って、次の性能測定のための「出力値生成情報量」を、情報設定記憶部３０ｃから取得し、ステップＳ１１３において、実行ファイルが単位時間当たりに出力できる情報量を、「ＭｉＢ(メビバイト)／ｓ」を単位として測定する。この測定結果は、性能測定結果記憶部３０ｈ１に記憶される。
【０１３３】
この後、ステップＳ１１４において、全ての性能測定が終了したと判定されれば、ステップＳ１１５へ進む。なお、ステップＳ１１２〜Ｓ１１３の処理は、図２ではステップＳ１４で行われる。
【０１３４】
図１０のステップＳ１１５において、評価結果加工部３０ｉは、ハッシュ評価された８項目及び２項目の評価結果を、端末機２０のユーザが読み取り可能なテキストデータ形式又はグラフ画像データ形式に加工処理する。この加工処理された評価結果情報は、送受信部３０ａにより端末機２０へ送信される。この処理は、図２ではステップＳ１５，Ｓ１６にて行われる。
【０１３５】
次に、図１０のステップＳ１１６において、評価結果情報を受信した端末機２０の評価結果表示制御部２０ｄが、図示せぬ画面に図７に示すようなテキスト表示、又は図８に示すようなグラフ表示を行う。この処理は、図２ではステップＳ１７にて行われる。以上の処理によってハッシュ評価処理が終了する。
【０１３６】
＜実施形態の効果＞
以上説明した本実施形態のハッシュ評価システム１０は、入力値である入力キーに対して出力値を得る実行が可能な実行ファイルが、予め定められた所定ハッシュ関数を実現するものであるか否かを評価するハッシュ評価を行うハッシュ評価サーバ３０を備えている。
【０１３７】
本発明の特徴は、評価サーバ３０が、ハッシュ評価を行うための実行ファイルの評価テストの評価手順としての評価アルゴリズム及び合格基準が定められ、且つ当該評価アルゴリズム及び合格基準が各々異なる評価パターンを予め定められた数だけ記憶する情報設定記憶部３０ｃと、情報設定記憶部３０ｃに記憶された評価パターン毎に適合した入力キーを生成する入力キー生成部３０ｄとを備える。更に、評価サーバ３０は、実行ファイルが設定され、入力キー生成部３０ｄで生成された入力キーに対して、当該設定された実行ファイルに従って出力値を生成するファイル実行部３０ｅと、ファイル実行部３０ｅで生成された出力値に対して、当該出力値に対応する入力キーの生成に係わった評価パターンの評価アルゴリズムに基づき評価テストを行い、当該テスト結果が同評価テストの合格基準を満たせば、実行ファイルは所定ハッシュ関数であると評価するハッシュ評価部３０ｇとを備える構成とした。
【０１３８】
この構成によれば、情報設定記憶部３０ｃに、実行ファイルの評価テストの評価アルゴリズム及び合格基準が定められ、且つ当該評価アルゴリズム及び合格基準が各々異なる評価パターンを予め定められた数だけ記憶されている。この予め定められた数の評価パターンを用いて、実行ファイルが所定ハッシュ関数であるか否かを評価するハッシュ評価を行うので、一定の基準でハッシュ評価を行うことができる。従って、実行ファイルが所定ハッシュ関数であるか否かの評価を適正に行うことができる。また、従来のように、試験者が評価テスト毎にテストプログラムを作成する必要がないので、労力と時間が掛からない。このため、評価テストのための労務コストを抑えることができる。
【０１３９】
また、所定ハッシュ関数は、コンシステントハッシュ法によるハッシュ関数（Ｃハッシュ関数）であることとした。
【０１４０】
この場合、評価サーバ３０によって、実行ファイルがＣハッシュ関数であることを適正に評価することができる。
【０１４１】
また、情報設定記憶部３０ｃに記憶される予め定められた数の評価パターンは、予め規定された、０／１等頻度性、連性、長周期連性、一様性、Ａｖａｌａｎｃｈｅ性、線形複雑度、自己相関、相互情報量の８項目の評価パターンであることとした。
【０１４２】
この場合、入力キーに対して実行ファイルに従って生成される出力値を、８項目の評価パターンに応じて評価テストする。この際、８項目の評価パターンの各々に適合した８パターンの入力キーが生成される。入力キーを生成する一例として、ビット列が酷似したキー生成を意図的に行う。従って、入力キーに偏りが生じてもなお、出力値に偏りが出ないことを確認することができ、本実施形態では、出力値の分散性が保持できるか否かを適正に評価することができる。
【０１４３】
また、情報設定記憶部３０ｃに記憶される予め定められた数の評価パターンは、８項目の評価パターンの内、ユーザが所定数の評価パターンを任意に定めて記憶可能である構成とした。
【０１４４】
この構成によれば、ユーザが情報設定記憶部３０ｃに記憶しておく評価パターンを、自分で任意に変更することができる。このため、実行ファイルのハッシュ評価を行うための評価テストの内容を変更する場合に、容易に変更することができる。
【０１４５】
また、評価サーバ３０は、実行ファイルが出力値を生成するための生成速度を測定すると共に、当該実行ファイルが単位時間当たりに出力できる情報量を測定する性能測定部３０ｈを更に備える構成とした。
【０１４６】
この構成によれば、実行ファイルの出力値の生成時間や、出力値の情報量を知ることができるので、ハッシュ評価時の評価サーバ３０の処理速度等の性能を評価することができる。
【０１４７】
また、評価サーバ３０は、ハッシュ評価部３０ｇの評価結果を、ユーザが画面上で読み取り可能にテキスト表示するためのテキストデータ形式に加工処理、又は、ユーザが画面上で読み取り可能にグラフィック表示するためのグラフ画像データ形式に加工処理する評価結果加工部３０ｉを更に備える構成とした。
【０１４８】
この構成によれば、ユーザが、実行ファイルのハッシュ評価の評価結果を、画面上で確認することができる。
【０１４９】
また、本実施形態のハッシュ評価方法は、評価サーバ３０により、入力値に対して出力値を得る実行が可能な実行ファイルが、予め定められた所定ハッシュ関数を実現するものであるか否かを評価する。評価サーバ３０は、ハッシュ評価を行うための実行ファイルの評価テストの評価アルゴリズム及び合格基準が定められ、且つ当該評価アルゴリズム及び合格基準が各々異なる評価パターンを予め定められた数だけ記憶する情報設定記憶部３０ｃを備えており、情報設定記憶部３０ｃに記憶された評価パターン毎に適合した入力キーを生成する第１ステップと、実行ファイルが設定され、第１ステップで生成された入力キーに対して、当該設定された実行ファイルに従って出力値を生成する第２ステップと、第２ステップで生成された出力値に対して、当該出力値に対応する第１ステップでの入力キーの生成に係わった評価パターンの評価アルゴリズムに基づき評価テストを行い、当該テスト結果が同評価テストの合格基準を満たせば、実行ファイルは所定ハッシュ関数であると評価する第３ステップとを実行する。
【０１５０】
この方法によれば、情報設定記憶部３０ｃに、実行ファイルの評価テストの評価アルゴリズム及び合格基準が定められ、且つ当該評価アルゴリズム及び合格基準が各々異なる評価パターンを予め定められた数だけ記憶しておけば、実行ファイルが所定ハッシュ関数か否かのハッシュ評価を一定の基準で行うことができる。従って、実行ファイルが所定ハッシュ関数であるか否かの評価を適正に行うことができる。また、従来のように、試験者が評価テスト毎にテストプログラムを作成する必要がないので、評価テストのための労務コストを抑えることができる。
その他、具体的な構成について、本発明の主旨を逸脱しない範囲で適宜変更が可能である。
【符号の説明】
【０１５１】
１０  ハッシュ評価システム
２０  ユーザ端末機
２０ａ  送受信部
２０ｂ  アカウント要求応答部
２０ｃ  実行ファイル送信制御部
２０ｄ  評価結果表示制御部
３０  評価サーバ
３０ａ  送受信部
３０ｂ  アカウント要求応答部
３０ｃ  情報設定記憶部
３０ｄ  ユーザ入力制御部
３０ｄ１  ユーザ入力制御部
３０ｅ  ファイル実行部
３０ｅ１  ファイル記憶部
３０ｆ  出力値記憶部
３０ｇ  ハッシュ評価部
３０ｆ  出力値記憶部
３０ｈ  性能測定部
３０ｈ１  性能測定結果記憶部
３０ｉ  評価結果加工部
４０  アカウント管理サーバ
４０ａ  送受信部
４０ｂ  アカウント管理処理部
４０ｃ  評価項目実施管理部
【図１】
2016038469.tif 000006
【図２】
2016038469.tif 000007
【図３】
2016038469.tif 000008
【図４】
2016038469.tif 000009
【図５】
2016038469.tif 000010
【図６】
2016038469.tif 000011
【図７】
2016038469.tif 000012
【図８】
2016038469.tif 000013
【図９】
2016038469.tif 000014
【図１０】
2016038469.tif 000015