チェイン化とは? わかりやすく解説

チェイン化

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/04/11 06:11 UTC 版)

レインボーテーブル」の記事における「チェイン化」の解説

使用する記憶域の量を削減するために、平文ハッシュ値とのペアを「チェイン化」することを考える。 ここで、あるハッシュ値 Ci種として次のターゲットとなる平文適当に選ぶ関数 R を考える。ここで、関数 R には、出力平文候補として正当であること(例えば、パスワード英数字しか受け付けないならば、常に英数字だけからなる文字列出力すること)と、副作用がないという条件満たせば、どんな関数使用してもよい。このハッシュ値から平文候補となる値を生成する関数 R を「還元関数」(reduction function) と呼ぶ。 ハッシュ関数を H とすると、適当に選んだ最初平文 Pi から、Piハッシュ関数通したCi次のターゲットとなる平文 Pi+1 を得るという処理の流れ次のうになるP i   → H ( P i )   C i   → R ( C i )   P i + 1   → H ( P i + 1 )   ⋯ {\displaystyle P_{i}~{\xrightarrow {H(P_{i})}}~C_{i}~{\xrightarrow {R(C_{i})}}~P_{i+1}~{\xrightarrow {H(P_{i+1})}}~\cdots } この処理を何度繰り返すと、平文1、ハッシュ値1、平文2、ハッシュ値2、…… という、平文ハッシュ値ペアから成るチェイン(鎖)」ができあがる続いてこのようなチェイン大量に作成する作成したチェイン集まりテーブルと呼ぶ。各チェイン長さを m とすると、テーブル内容次のうになる。 [ P i C i P i + 1 C i + 1 P i + 2 ⋯ C i + m1 P j C j P j + 1 C j + 1 P j + 2 ⋯ C j + m1 P k C k P k + 1 C k + 1 P k + 2 ⋯ C k + m − 1 ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ] {\displaystyle \left[{\begin{array}{ccccccc}P_{i}&C_{i}&P_{i+1}&C_{i+1}&P_{i+2}&\cdots &C_{i+m-1}\\P_{j}&C_{j}&P_{j+1}&C_{j+1}&P_{j+2}&\cdots &C_{j+m-1}\\P_{k}&C_{k}&P_{k+1}&C_{k+1}&P_{k+2}&\cdots &C_{k+m-1}\\\vdots &\vdots &\vdots &\vdots &\vdots &\vdots &\vdots \\\end{array}}\right]} ここで、各チェイン先頭になる平文 Pi, Pj, Pk, …… は、他のチェイン内容重複しないように適当に選択するチェイン長さ任意であり、また各チェイン長さ異なっていてもよい。ここでは説明のため、全てのチェイン長さが同じとして考える。 チェイン作成したら、チェイン先頭にある平文 Pi, Pj, Pk, …… と、チェイン末尾にあるハッシュ値 Ci+m-1, Cj+m-1, Ck+m-1, …… だけを結果として記録しておく(記憶域を削減する)。 ハッシュ値から平文を得るには、パスワード知りたいハッシュ値 Cx還元関数ハッシュ関数次々通していき、その都度 Ci+m-1, Cj+m-1, Ck+m-1, …… と比較行えばよい。もし一致するものが見つかれば対応する Pi, Pj, Pk, …… からチェイン復元するこの方法を使うと、記録しておく平文ハッシュ値個数は、チェイン長さを m とすれば最初方法の 1⁄m になる。

※この「チェイン化」の解説は、「レインボーテーブル」の解説の一部です。
「チェイン化」を含む「レインボーテーブル」の記事については、「レインボーテーブル」の概要を参照ください。

ウィキペディア小見出し辞書の「チェイン化」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「チェイン化」の関連用語

チェイン化のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



チェイン化のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのレインボーテーブル (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS