忍者ブログ

スイーツ(笑)と呼ばないで!!

NEW ENTRY
04 2024/05 1 2 3 45 6 7 8 9 10 1112 13 14 15 16 17 1819 20 21 22 23 24 2526 27 28 29 30 31 06

05/18/20:41  [PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

08/02/09:34  正確には暗号化とメッセージダイジェストは異なる


さて、前回、「パスワードを一方向暗号化しても簡単なパスワードを使っていたら意味がない」という記事を書いた。

話をわかりやすくするために「暗号化」という言葉を用いたが、
専門用語で言えば、md5 hashで生成されるものは暗号ではなくメッセージダイジェストと呼ばれるものだ。

確かに、両者ともに、特殊な関数を用いて平文を変換するという意味では同じではある。

しかし、メッセージダイジェストは世界中どこであっても、inputが同じで、かつ、同じ生成関数を用いた場合には同じ結果が得られるのに対して、暗号化というものはそもそも特殊な鍵を用いて行うのでその鍵(ロジックも)を知らない限り同じ結果が得られないという点で異なる。

メッセージダイジェストは、同じinputに対して、同じ結果が保証されているがゆえに改ざんされているかのチェックなどに利用されることも多い。

例えば、前回紹介したmd5は、どんな長さの平文のinputでも128ビットのメッセージダイジェストを生成する。このビット数が決まっていることによる利点は多い。

例えば、パスワードを平文ではなく、暗号化(正確にはメッセージダイジェスト生成)によって保存しようとした場合に、当然DBのパスワード保存用のフィールドを用意することになるが、これが仮にmd5でhashを作成すると決めている場合には、パスワードの長短に関係なく、128ビットを格納できる領域だけを確保すれば良い。DB設計を経験したものであれば、この利点には大きく頷けることだろう。

そのメッセージダイジェストだが、いろいろと種類がある。

代表的なものを書いておく。

(1) md5

これはRSA社が開発したもので128ビットのメッセージダイジェストを生成する。
他にもmd4とかmd2とかもある。

(2) SHA-1

160ビットのメッセージダイジェストを生成する。
最近、ハイスペックマシンの登場によりもう160ビットだと危ないね、と言われ始めている。

(3)SHA-2

SHA-1のアルゴリズムはそのままで、メッセージダイジェストのビット数だけ増やしたもの。
224,256,384,512のビットのいずれかでメッセージダイジェストを作成することができる。

(4)SHA-3

SHA-1とSHA-2とは別のアルゴリズムを使おうということで始まった試み。



ということで、誤解があるといけないので前回の補足として

正確には暗号化とメッセージダイジェストは異なる

というお話でした。

拍手[0回]

PR
URL
FONT COLOR
COMMENT
Vodafone絵文字 i-mode絵文字 Ezweb絵文字
PASS

TRACKBACK

TRACKBACK-URL