ハッシュのストレッチング

電タックさん  
(No.1)
ストレッチングの英語の意味だとあたかもハッシュ化したものが伸びたり縮んだりを連想してしまう気がしました。
過去に学習した時、長くなっていくから複雑化して強度が増していくのように文字面で勝手に理解してました。

ですが、あるハッシュ関数のアルゴリズムではその結果は元の文字数に関係なく一定であるはずだと思います。

なぜストレッチングという名称なのでしょうか?
2023.08.14 20:38
momochanさん 
(No.2)
電タックさん
ストレッチングといえば、FE平成30年春期 午後問1設問3 ですね。

>なぜストレッチングという名称なのでしょうか?
もしかしてstretchingは、(…を)引き伸ばす、引っぱるという意味(weblio英和辞典より)から、オフライン総当たり攻撃が成立するまでにかかる時間を非現実的なものにするほど引き延ばせば、攻撃は現実的な時間内に成功しないだろうということから来ているのでしょうか?
結局のところ、確かなことはわかりませんでした。

>あるハッシュ関数のアルゴリズムではその結果は元の文字数に関係なく一定であるはず
あるハッシュ値が与えられたとき、そのハッシュ値を出力するメッセージを見つけることが計算量的に困難であるという性質(原像計算困難性)、つまり一方向性の性質がありますので、文字数が一定であっても元のデータに戻すことは難しいのではないかと思います。

パスワードに対してハッシュ化を一度ではなく、数千回数万回繰り返すことで、漏洩したとしてもパスワードを割り出す時間を膨大なものにすることによって時間稼ぎにもなり、レインボー攻撃の対策に有効のようです。
2023.08.15 18:00
電タックさん  
(No.3)
momochanさん。

質問内容が不意に思いついた好奇心によるものだったのですがレスすみません。

伸びるのがハッシュ値の事ではなく、ハッシュ値に辿りつくまでの事と考えれば字面はなんか納得できる気がしました。

回答ありがとうございます。
2023.08.15 21:26

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。

その他のスレッド


Pagetop