JP6170476B2 - ハッシュ評価サーバ、ハッシュ評価システム及びハッシュ評価方法 - Google Patents
ハッシュ評価サーバ、ハッシュ評価システム及びハッシュ評価方法 Download PDFInfo
- Publication number
- JP6170476B2 JP6170476B2 JP2014161649A JP2014161649A JP6170476B2 JP 6170476 B2 JP6170476 B2 JP 6170476B2 JP 2014161649 A JP2014161649 A JP 2014161649A JP 2014161649 A JP2014161649 A JP 2014161649A JP 6170476 B2 JP6170476 B2 JP 6170476B2
- Authority
- JP
- Japan
- Prior art keywords
- evaluation
- hash
- test
- unit
- output value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Description
<実施形態の構成>
図1は、本発明の実施形態に係るハッシュ評価システムの構成を示すブロック図である。
図1に示すハッシュ評価システム10は、前述したハッシュ評価を行うものであり、ユーザ端末機20と、ハッシュ評価サーバ(単に、評価サーバともいう)30と、アカウント管理サーバ40とを備えて構成されている。ユーザ端末機20、評価サーバ30及びアカウント管理サーバ40は、有線や無線回線によるインターネット回線で接続されている。なお、アカウント管理サーバ40を管理サーバ40ともいい、ユーザ端末機20を端末機20ともいう。
アカウント要求応答部20bは、ユーザのアカウント情報を評価サーバ30を介して管理サーバ40へ登録及び認証する要求の制御を行うと共に、管理サーバ40から評価サーバ30を介して返信されてきたアカウント登録の応答結果を表示する制御を行う。
送受信部40aは、評価サーバ30との間で、上述したような各種情報を送受信する。
アカウント管理処理部40bは、アカウント情報に含まれるユーザIDやパスワードを事前登録する処理、ユーザIDに紐づきユーザ情報を更新する処理、ユーザIDに紐づきユーザ情報を削除する処理、ユーザID及びパスワードを用いてユーザの特定を行うアカウント認証の処理を行う。
本発明では、FIPS140−2に規定された評価項目の内、原則として、統計的性質として下記の8項目で実行ファイルを評価し、また、実行ファイルの性能測定として下記の2項目で評価するようになっている。
アカウント要求応答部30bは、端末機20から送信されてきた登録要求情報に応じて、管理サーバ40にアカウント登録要求を行い、この登録要求に応じて管理サーバ40から返信されてきた登録応答情報を、端末機20へ送信する。また、アカウント要求応答部30bは、端末機20から送信されてきた認証要求情報に応じて、管理サーバ40にアカウント認証要求を行い、この認証要求に応じて管理サーバ40から返信されてきた認証応答情報を、端末機20へ送信する。つまり、図2のステップS1,S2,S4,S5,S7,S8,S10,S11の仲介処理を行う。
最初に、「0/1等頻度性」テストについて説明する。「0/1等頻度性」テストとは、実行ファイルで得られる出力値の「0」と「1」とが等しい頻度か否かを確認するテストであり、常に撹拌(分散)された出力値が得られることを確認する。このテストは次のように実施される。まず、図3に示す入力キー生成部30dが、情報設定記憶部30c(図1)に記憶された各評価パターンの中から「0/1等頻度性」の評価パターンを選択し、この選択された「0/1等頻度性」テストを行うに必要な入力キー51を生成する。
但し、(式1)は、FIPS140−2規格で、2万ビットに対して必然的に定められるハッシュ評価の合格基準値である。なお、2万ビットの数値は、試験者がテスト条件に応じて変更することも可能である。この変更を行った場合は、変更したビット数に応じて上記(式1)のXの範囲を定める数値も所定の数値に変わる。
従って、ハッシュ評価部30gは、上記1回のテストを予め定められた回数、例えば320回行い、この320回のテスト結果が、例えば99%以上(319回以上)を満たせば、「長周期連性」テストは合格と判定する。その99%以上も、予め定められた合格基準値である。
従って、ハッシュ評価部30gは、上記1回のテストを予め定められた回数、例えば320回行い、この320回のテスト結果が、例えば99%以上(319回以上)を満たせば、「一様性」テストは合格と判定する。その99%以上も、予め定められた合格基準値である。
入力キー生成部30dは、1ビット違いの入力キー(例えば入力値ai)を生成してファイル実行部30eへ入力し、ファイル実行部30eが、実行ファイルに従って例えば出力値biを得る。入力値aiと出力値biとの排他的論理和を取ってbit分布を評価する。この際、排他的論理和の結果において、半分程度のビットが異なっていれば、合格と判定する。
従って、ハッシュ評価部30gは、上記1回のテストを予め定められた回数、例えば128回行い、この128回のテスト結果が、例えば99%以上(127回以上)を満たせば、「Avalanche性」テストは合格と判定する。その99%以上も、予め定められた合格基準値である。
C−1(D)=C0(D)=1 …(式4)
L−1=L0=0 …(式5)
k−1=−1 …(式6)
d−1=1 …(式7)
ハッシュ評価部30gは、線形複雑度をBerlekamp-Masseyのアルゴリズムで求めるが、この際、上述の(式4)〜(式7)で初期設定を行った後、(式8)〜(式11)を実行することにより、(式11)において線形複雑度Lnが求められる。この求められた線形複雑度Lnが、次の(式12)を満たせば、合格と判定する。但し、(式12)において、N=1000とする。
従って、ハッシュ評価部30gは、上記1回のテストを予め定められた回数、例えば128回行い、この128回のテスト結果が、例えば99%以上(127回以上)を満たせば、「線形複雑度」テストは合格と判定する。その99%以上も、予め定められた合格基準値である。
ハッシュ評価部30gは、1回のテストを予め定められた回数、例えば320回行い、この320回のテスト結果が、例えば99%以上(319回以上)を満たせば、「自己相関」テストは合格と判定する。
次に、ハッシュ評価部30gは、1000セットの入力キー(X)及び1000セットの出力値(Y)に対して、「0」又は「1」の各ビットの度数を計数し、確率分布に変換する。これらの変換処理について図5及び図6を参照して説明する。
X=0,Y=1の行列位置に記載のNx,y(0,1)=bは、入力ビット「0」が、出力ビット「1」に変化した場合の個数bを示す。
X=0の行におけるY=0とY=1との合計は、Nx(0)=a+bである。この式は、入力キーの1024ビットの内、「0」ビットが何個a+b(例えば510個)あるかを示す。
X=1,Y=1の行列位置に記載のNx,y(1,1)=dは、入力ビットが「1」で出力ビットが「1」であり、変化なしの場合の個数dを示す。
X=1の行におけるY=0とY=1との合計は、Nx(1)=c+dである。この式は、入力キーの1024ビットの内、「1」ビットが何個c+d(例えば514個)あるかを示す。
Y=1の列におけるX=0とX=1との合計は、Ny(1)=b+dである。この式は出力ビットが「1」だったものが、何個あるかを示す。
X,Y行列の合計度数Nは、N=a+b+c+dであり、510+514=1024となる。
このように、1000セットの入力キー(X)及び1000セットの出力値(Y)に対して、「0」又は「1」の各ビットの度数が計数される。
図6が図5と異なる点は、図5の各々の行列位置に記載の式の右辺の値(a,b,c,dを用いて表記)を、合計度数Nで割って確率分布Px、yを求める式を記載していることである。
Y=1の列におけるX=0とX=1との合計は、Py(1)=(b+d)/Nである。この式は出力ビットが「1」だった場合の確率分布を示す。
X,Y行列の合計確率分布Pは、P=1で示すように必ず100%となる。
I(X;Y)=H(X)−H(X|Y)
=−Px(0)log2Px(0)−Px(1)log2Px(1)
−Py(0)H(X|Y=0)−Py(1)H(X|Y=1)
…(式13)
但し、H(X)は、Xの不確かさを示す。Hはエントロピである。
また、H(X|Y)は、条件付きエントロピであり、Xが発生した上でのYのエントロピを示す。言い換えれば、Yを知って尚且つ残るXの不確かさであり、更には、Yを得るためのXがどれだけ不確定かを示している。
H(X|Y=0)=−Px|y(0|0)log2Px|y(0|0)
−Px|y(1|0)log2Px|y(1|0) …(式14)
H(X|Y=1)=−Px|y(0|1)log2Px|y(0|1)
−Px|y(1|1)log2Px|y(1|1) …(式15)
Px|y(1|0)=Px,y(1,0)/Py(0) …(式17)
Px|y(0|1)=Px,y(0,1)/Py(1) …(式18)
Px|y(1|1)=Px,y(1,1)/Py(1) …(式19)
I(X;Y)>0.95 …(式20)
ハッシュ評価部30gは、このような相互情報量I(X;Y)が(式20)を満たす判定を行い、この判定が、入力キーの1000セットの内、999セットにおいて満たせば、「相互情報量」テストは合格と判定する。
このように評価された2項目の性能測定結果は、全てが性能測定結果記憶部30h1に記憶される。
なお、図7及び図8に示す画面へのテキスト表示及びグラフ表示は、前述した通り、端末機20の評価結果表示制御部20dが行う。
次に、本実施形態に係るハッシュ評価システム10によるハッシュ評価処理の動作を、図9及び図10に示すフローチャートを参照して説明する。
終了した場合は、ステップS110(図10)に進む。終了していない場合は、上記ステップS104に戻って、入力キー生成部30dが、評価テストを行っていない内の次の評価パターンが情報設定記憶部30cから1つ取得される。例えば、「連性」の評価パターンが取得され、以降同様に、ステップS109まで処理を行う。このように、ステップS104〜S108において、8項目全ての評価パターンが取得されて評価テストが行われ、ステップS109において、全ての評価パターンの評価テストが終了したと判定された場合は、図10のステップS110に進む。
次に、ステップS113において、性能測定部30hは、ファイル実行部30eに設定された実行ファイルに対して、「出力値生成速度」のテストを行う。即ち、実行ファイルが出力値を生成するための生成速度を、[cycle/byte]を単位として測定する。この測定結果は、性能測定結果記憶部30h1に記憶される。
以上説明した本実施形態のハッシュ評価システム10は、入力値である入力キーに対して出力値を得る実行が可能な実行ファイルが、予め定められた所定ハッシュ関数を実現するものであるか否かを評価するハッシュ評価を行うハッシュ評価サーバ30を備えている。
その他、具体的な構成について、本発明の主旨を逸脱しない範囲で適宜変更が可能である。
20 ユーザ端末機
20a 送受信部
20b アカウント要求応答部
20c 実行ファイル送信制御部
20d 評価結果表示制御部
30 評価サーバ
30a 送受信部
30b アカウント要求応答部
30c 情報設定記憶部
30d ユーザ入力制御部
30d1 ユーザ入力制御部
30e ファイル実行部
30e1 ファイル記憶部
30f 出力値記憶部
30g ハッシュ評価部
30f 出力値記憶部
30h 性能測定部
30h1 性能測定結果記憶部
30i 評価結果加工部
40 アカウント管理サーバ
40a 送受信部
40b アカウント管理処理部
40c 評価項目実施管理部
Claims (8)
- 入力値である入力キーに対して出力値を得る実行が可能な実行ファイルが、予め定められた所定ハッシュ関数を実現するものであるか否かを評価するハッシュ評価を行うハッシュ評価サーバであって、
前記ハッシュ評価を行うための前記実行ファイルの評価テストの評価手順及び合格基準が定められ、且つ当該評価手順及び合格基準が各々異なる評価パターンを予め定められた数だけ記憶する記憶部と、
前記記憶部に記憶された前記評価パターン毎に適合した入力キーを生成する入力キー生成部と、
前記実行ファイルが設定され、前記入力キー生成部で生成された入力キーに対して、当該設定された実行ファイルに従って出力値を生成するファイル実行部と、
前記ファイル実行部で生成された出力値に対して、当該出力値に対応する前記入力キーの生成に係わった評価パターンの評価手順に基づき評価テストを行い、当該テスト結果が同評価テストの前記合格基準を満たせば、前記実行ファイルは前記所定ハッシュ関数であると評価するハッシュ評価部と
を備えることを特徴とするハッシュ評価サーバ。 - 前記所定ハッシュ関数は、コンシステントハッシュ法によるハッシュ関数であることを特徴とする請求項1に記載のハッシュ評価サーバ。
- 前記情報設定記憶部に記憶される予め定められた数の評価パターンは、0/1等頻度性、連性、長周期連性、一様性、Avalanche性、線形複雑度、自己相関、相互情報量の8項目の評価パターンであることを特徴とする請求項1又は2に記載のハッシュ評価サーバ。
- 前記情報設定記憶部に記憶される予め定められた数の評価パターンは、前記8項目の評価パターンの内、ユーザが所定数の評価パターンを任意に定めて記憶可能であることを特徴とする請求項3に記載のハッシュ評価サーバ。
- 前記実行ファイルが前記出力値を生成するための生成速度を測定すると共に、当該実行ファイルが単位時間当たりに出力できる情報量を測定する性能測定部を
更に備えることを特徴とする請求項1〜4の何れか1項に記載のハッシュ評価サーバ。 - 前記ハッシュ評価部の評価結果を、ユーザが画面上で読み取り可能にテキスト表示するためのテキストデータ形式に加工処理、又は、ユーザが画面上で読み取り可能にグラフィック表示するためのグラフ画像データ形式に加工処理する評価結果加工部を
更に備えることを特徴とする請求項1〜5の何れか1項に記載のハッシュ評価サーバ。 - 請求項1〜6の何れか1項に記載のハッシュ評価サーバを備えることを特徴とするハッシュ評価システム。
- 入力値に対して出力値を得る実行が可能な実行ファイルが、予め定められた所定ハッシュ関数を実現するものであるか否かを評価するハッシュ評価を行うハッシュ評価サーバのハッシュ評価方法であって、
前記ハッシュ評価サーバは、
前記ハッシュ評価を行うための前記実行ファイルの評価テストの評価手順及び合格基準が定められ、且つ当該評価手順及び合格基準が各々異なる評価パターンを予め定められた数だけ記憶する記憶部を備えており、
前記記憶部に記憶された前記評価パターン毎に適合した入力キーを生成する第1ステップと、
前記実行ファイルが設定され、前記第1ステップで生成された入力キーに対して、当該設定された実行ファイルに従って出力値を生成する第2ステップと、
前記第2ステップで生成された出力値に対して、当該出力値に対応する前記第1ステップでの前記入力キーの生成に係わった評価パターンの評価手順に基づき評価テストを行い、当該テスト結果が同評価テストの前記合格基準を満たせば、前記実行ファイルは前記所定ハッシュ関数であると評価する第3ステップと
を実行することを特徴とするハッシュ評価方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014161649A JP6170476B2 (ja) | 2014-08-07 | 2014-08-07 | ハッシュ評価サーバ、ハッシュ評価システム及びハッシュ評価方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014161649A JP6170476B2 (ja) | 2014-08-07 | 2014-08-07 | ハッシュ評価サーバ、ハッシュ評価システム及びハッシュ評価方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016038469A JP2016038469A (ja) | 2016-03-22 |
JP6170476B2 true JP6170476B2 (ja) | 2017-07-26 |
Family
ID=55529583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014161649A Active JP6170476B2 (ja) | 2014-08-07 | 2014-08-07 | ハッシュ評価サーバ、ハッシュ評価システム及びハッシュ評価方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6170476B2 (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006318092A (ja) * | 2005-05-11 | 2006-11-24 | Canon Inc | 乱数生成エージェント |
JP4546339B2 (ja) * | 2005-06-29 | 2010-09-15 | キヤノン株式会社 | 乱数生成装置及び乱数生成方法 |
JP4762166B2 (ja) * | 2007-02-09 | 2011-08-31 | 株式会社東芝 | 乱数検査装置およびその検査方法 |
-
2014
- 2014-08-07 JP JP2014161649A patent/JP6170476B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016038469A (ja) | 2016-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hussain et al. | A group theoretic approach to construct cryptographically strong substitution boxes | |
Killmann et al. | A proposal for: Functionality classes for random number generators | |
Özkaynak | Cryptographically secure random number generator with chaotic additional input | |
CN103713879B (zh) | 基于光子到达时间的无偏高速量子随机数发生器 | |
EP3229221B1 (en) | Device and method for testing a physically unclonable function | |
JP2013242584A (ja) | 暗号乱数発生器にシードを与えるための方法及び装置 | |
Boriga et al. | A New One‐Dimensional Chaotic Map and Its Use in a Novel Real‐Time Image Encryption Scheme | |
CN105656898B (zh) | 一种基于多维度信息的激活码数据处理系统及方法 | |
AU2018282486A1 (en) | Systems and methods for generating random numbers using physical variations present in material samples | |
JP6585018B2 (ja) | 認証サーバ、認証システムおよび認証方法 | |
JP6743702B2 (ja) | Macタグリスト生成装置、macタグリスト検証装置、macタグリスト生成方法、macタグリスト検証方法およびプログラム | |
JP6372295B2 (ja) | 物理乱数生成回路の品質テスト方法、乱数発生器および電子装置 | |
JP6170476B2 (ja) | ハッシュ評価サーバ、ハッシュ評価システム及びハッシュ評価方法 | |
Plesch et al. | Device-independent randomness amplification with a single device | |
Gaglio et al. | A TRNG exploiting multi-source physical data | |
Zakaria et al. | Modified A5/1 Based Stream Cipher For Modified A5/1 Based Stream Cipher For Secured GSM Communication Communication | |
JP2014007705A (ja) | サイドチャネル評価装置及びサイドチャネル評価方法 | |
CN107886463A (zh) | 一种基于Chen系统和细胞自动机的数字图像加密方法 | |
CN107646130A (zh) | 用于生成电子电路固有的值的方法、生成该值的电子电路以及用于使用这样的值的方法 | |
Srinivasan et al. | Measuring diffusion in stream ciphers using statistical testing methods | |
JP5794638B2 (ja) | サイドチャネル評価装置及びサイドチャネル評価方法 | |
EP3563229A1 (en) | Method for environmental resistant true random number generation | |
Hoang et al. | Enhancing block cipher security with key-dependent random XOR tables generated via hadamard matrices and Sudoku game | |
Sajjad et al. | SPN based RGB image encryption over Gaussian integers | |
Marinakis | Design and evaluation of random number generators |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160921 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170612 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170627 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170630 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6170476 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |