アカウント名:
パスワード:
あとネット配布でHTMLにハッシュが書いてあることあるじゃないですか。あれHTMLと両方改ざんされたらどうするのかと。
なにしろLGPKIも採用している方式ですから。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ハッカーとクラッカーの違い。大してないと思います -- あるアレゲ
組み合わせてはいけないの? (スコア:3, すばらしい洞察)
たとえば,MD5で同じハッシュ値の出る二つのデータ列は何とか得られるでしょうが,これらのデータ列のSHA-1のハッシュ値も一致するものを探すのは,さすがに無理だと思うのですが。
ハッシュ値の長さが倍になるのは,各種の暗号化仕様にとってそんなに致命的なんでしょうか?
Re:組み合わせてはいけないの? (スコア:3, すばらしい洞察)
ハッシュ値を入れる領域として16バイトのchar配列を
使うようにソースじか書きだったりするので変更が
難しいということはあると思います。ハードウェアでも
おそらく状況は同じで、ハッシュ値を入れるための
メモリーが16バイトとして配線してあったりして
それを拡張するのはかなり難しいのではないで
しょうか。
Re:組み合わせてはいけないの? (スコア:2, 興味深い)
ただ、暗号方式が廃れていくことを前提に考えるなら、異なるアルゴリズムで算出されたハッシュ値を示しておくことは保険になると思う。
Re:組み合わせてはいけないの? (スコア:1, 参考になる)
http://japan.linux.com/security/05/11/08/0213251.shtml
上記URLより引用
>いま何かを開発中なら、迷わずSHA256を選択しよう。
ということのようです。
Re:組み合わせてはいけないの? (スコア:0)
セキュリティ分野に関して素人考えは百害あって一利なし。
Re:組み合わせてはいけないの? (スコア:2, 興味深い)
AからMD5でハッシュ値を計算して、それが既知のハッシュ値Xと等しければ本物のAだ、と言えたのが、BからもXが計算されるのでは、ハッシュ値は計算前データの証明にならなくなってしまう、と。
しかし、AからMD5で計算し、かつAからSHA-1で計算し、それぞれ既知のX、Yと等しいもの、とすればどうでしょう?
MD5(B)=X , SHA-1(B)=Y を同時に満たすBが存在する確率は、片方の時の比ではないと思います。
…という素人考えですがいかがでしょうか。
Re:組み合わせてはいけないの? (スコア:2, 興味深い)
単独のハッシュ関数では安全なのに、複数組み合わせると安全性が低下してしまう
簡単な例を示してみます。
a,bの2数からなるデータのハッシュ値を作る関数として、以下の2つがあるとします。
hash1(a,b)= a+b
hash2(a,b)= a-b
この場合、どちらか片方のハッシュ関数の値からは元の値を求めることは不可能ですが、
両方のハッシュ値があると、
(hash1(a,b)+hash2(a,b))/2=a
(hash1(a,b)-hash2(a,b))/2=b
となり、元の値を求めることが出来てしまいます。
実用されているハッシュ関数では上記の例のように簡単にはいきませんが、
複数のハッシュ関数で求めた値を提供する場合安全性が低下する可能性があります。
なので、複数のハッシュ値を提供するには、慎重な検討が必要です。
#素人考えでレスしてるのでAC
Re:組み合わせてはいけないの? (スコア:2, すばらしい洞察)
でも今は「2つ使うと強衝突耐性の低さをカバーできるんじゃないか」、という話題ですよね?
脱線 (スコア:2, 参考になる)
先のコメントを書きつつ、「MD5は死んだ」と言われる意味がようやく飲み込めました。
つまり”関数単独で弱・強両方が高度である事が出来ない”点でもう使えないと言われてるわけですね。
当然ひとつの関数で両方達成できたほうが良いに決まってるし、最近までMD5はそういう関数だと期待されていたわけですから。
ハッシュ関数はこうして”死んで”いくのだなあ、と初歩的な事をしみじみ考えてしまいました。
Re:組み合わせてはいけないの? (スコア:0)
MD5とSHA-1のハッシュ値を載せておけば、それを捏造することは難しいという話でしょ。
Re:組み合わせてはいけないの? (スコア:0)
元の値a,bが求まったところで、
hash1(a,b)=hash1(a',b')
hash2(a,b)=hash2(a',b')
となるa'、b'は見つかりますか(1つの関数だった場合に比べて見つかりやすくなりますか)、
という事でしょ。
今回は弱衝突耐性じゃなくて強衝突耐性の話なんだから。
その例でいけば、a,bが2,3で、hash1だけを使った場合、
簡単に1,4という別の値が求まってしまう。
hash2も使うと、少なくともそう簡単には求まらない。
#てか俺の頭ではお手上げだった orz
Re:組み合わせてはいけないの? (スコア:1, すばらしい洞察)
Re:組み合わせてはいけないの? (スコア:0)
ハッシュ値が肥大するという無駄をどのように受け止めるか次第です。
MD5とSHA-1の連結は288bitハッシュ。hexで記述すれば72文字
$ echo "hello world" | md5sum
6f5902ac237024bdd0c176cb93063dc4 -
$ echo "hello world" | sha1sum
22596363b3de40b06f981fb85d82312e8c0ed511 -
$ echo "hello world" | md5sha1sum
6f5902ac237024bdd0c176cb93063dc422596363b3de40b06f981fb85d82312e8c0ed511 -
長いです。この長さを許容するシーンもあるでしょうけれど、
Re:組み合わせてはいけないの? (スコア:1, すばらしい洞察)
素人考えをそのまま考慮なしに採用してしまうのであれば、
それが問題なのだと思います。
素人考えですけど (スコア:0)
ありなんじゃないの?
Re:組み合わせてはいけないの? (スコア:0)
解読は関係がないですね。意味わからないのですが。
Re:組み合わせてはいけないの? (スコア:2, すばらしい洞察)
の例証かと。
Re:組み合わせてはいけないの? (スコア:1)
そんな中途半端な (スコア:0)
本当に重要なデータをバレずに改ざんできるレベルのCrackerはそんなヘマなまねはしないでしょう。
.
.
.
#あとネット配布でHTMLにハッシュが書いてあることあるじゃないですか。あれHTMLと両方改ざんされたらどうするのかと。
Re:そんな中途半端な (スコア:1)
それは、改竄チェック用ではなく、転送中に破損していないかを確認するためではないでしょうか。
そういう目的なら公開鍵暗号等の方法でデジタル署名をするかと思います。
Re:そんな中途半端な (スコア:1)
Re:そんな中途半端な (スコア:0)
なにしろLGPKIも採用している方式ですから。