-PR-
解決済み

ハッシュ(メッセージダイジェスト)について

  • 困ってます
  • 質問No.74434
  • 閲覧数132
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 99% (116/117)

よろしくお願いいたします。
現在セキュリティの勉強をしております。
で、ハッシュについて確認したく投稿いたしました。

自分なりに勉強をして、
送信者がデータをハッシュ関数を使用してメッセージダイジェストを
作成し、受けても同じ事を行うのはわかりました。
つまり、
[データ]+[メッセージダイジェスト(データに添付する)]+[デジタル署名(データに添付する)]
の3点をまとめて暗号化し、
受け取った相手が秘密鍵で
[データ]+[メッセージダイジェスト]+[デジタル署名]に複合し
自分でもハッシュ関数を使用してメッセージダイジェストを作成し
送り手のダイジェストと比較すると理解しましたが
正しいのでしょうか?
また、同じハッシュ関数で自分でも作成するみたいですが
どこにハッシュ関数の情報が載っているのですか?
いまいち自信が持てませんのでアドバイスお願いいたします。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル8

ベストアンサー率 53% (14/26)

質問中に書かれていることは正しいです。受け取ったほうも同じハッシュ関数を用いて, ダイジェストを比較して, 改ざんが起きてないか確認します。

さて, ハッシュ関数の情報ですが, MD5というハッシュ関数はRFC1321という規格になっており, その規格書みたいなやつにソースコードが載っております。ただし, このソースコードはちょっと変更しないと使えないので, 頑張ってください。また, SHAというハッシュ関数があり, こちらはCのコンパイラーによってはsha.hというヘッダーファイルで, 提供されていることがあります。

今, 確認したところによると, 参考URLにてMD5ハッシュ関数のソースコードが提供されています。上手く, ファイルに分けて, C言語にて, コンパイルしてください。間違っている箇所というのは, #define MD MD5という文で, これを#define Md 5に変えてください。

SHAについてはhttp://www.cc.utah.edu/~nahaj/c/sha/sha.c.htmlにてC言語でのソースコードが載っています。

また, 自分で新しいハッシュ関数を発明したいというのなら, 共通鍵暗号を勉強して, どんなことをしても可逆変換不可能なものを考えればいいと思います。ハッシュ関数は重要な関数にも関わらず, あまり, 研究報告がされていないと聞いています(専門家と書いていても今年の3月までなのでごめんなさい)。もしかしたらすごく有名な人になれるかもしれません。

ハッシュ関数は自分は"現代暗号"(岡本龍明, 山本博資)という本で勉強しました。
後は, インターネットで流れている論文です。

研究頑張ってください。
お礼コメント
gaia5

お礼率 99% (116/117)

回答ありがとうございます。
専門家の方からのアドバイスとても
うれしいです。
参考URLもものすごく勉強になります。
ハッシュについてはご指摘の通り
奥が深い割に、あまり資料も少ないみたいですね。
でも、何とかがんばってみます。
誠にありがとうございました。
投稿日時 - 2001-05-13 06:37:55
-PR-
-PR-
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


専門家があなたの悩みに回答!

-PR-

ピックアップ

-PR-
ページ先頭へ