170 lines
4.4 KiB
Groff
170 lines
4.4 KiB
Groff
.\"
|
|
.\" ----------------------------------------------------------------------------
|
|
.\" "THE BEER-WARE LICENSE" (Revision 42):
|
|
.\" <phk@login.dkuug.dk> wrote this file. As long as you retain this notice you
|
|
.\" can do whatever you want with this stuff. If we meet some day, and you think
|
|
.\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
|
|
.\" ----------------------------------------------------------------------------
|
|
.\"
|
|
.\" $Id: md2.3,v 1.4 2002-05-18 07:12:55 horikawa Exp $
|
|
.\"
|
|
.\" $FreeBSD$
|
|
.Dd October 9, 1996
|
|
.Dt MD2 3
|
|
.Os FreeBSD 2
|
|
.Sh 名称
|
|
.Nm MD2Init ,
|
|
.Nm MD2Update ,
|
|
.Nm MD2Pad ,
|
|
.Nm MD2Final ,
|
|
.Nm MD2End ,
|
|
.Nm MD2File ,
|
|
.Nm MD2Data
|
|
.Nd RSA Data Security
|
|
.Sh 書式
|
|
.Fd #include <sys/types.h>
|
|
.Fd #include <md2.h>
|
|
.Ft void
|
|
.Fn MD2Init "MD2_CTX *context"
|
|
.Ft void
|
|
.Fn MD2Update "MD2_CTX *context" "const unsigned char *data" "unsigned int len"
|
|
.Ft void
|
|
.Fn MD2Pad "MD2_CTX *context"
|
|
.Ft void
|
|
.Fn MD2Final "unsigned char digest[16]" "MD2_CTX *context"
|
|
.Ft "char *"
|
|
.Fn MD2End "MD2_CTX *context" "char *buf"
|
|
.Ft "char *"
|
|
.Fn MD2File "const char *filename" "char *buf"
|
|
.Ft "char *"
|
|
.Fn MD2Data "const unsigned char *data" "unsigned int len" "char *buf"
|
|
.Sh 解説
|
|
MD2 関数群は、任意の数の入力バイトに対して
|
|
128 ビット暗号チェックサム ( ダイジェスト ) を計算します。
|
|
暗号チェックサムは一方向ハッシュ関数なので
|
|
特定出力に対応する入力を ( 徹底的な検索を除いて ) 見つけることはできません。
|
|
結果的には入力データの「指紋」しか見つからず、
|
|
実際の入力が明らかになることはありません。
|
|
.Pp
|
|
MD2 は最も遅く、 MD4 は最も高速で、 MD5 はその中間です。
|
|
MD2 は、プライバシが重要なメールのみで使用できます。
|
|
MD4 には弱すぎると酷評されたため、
|
|
「安全ベルトを付けた MD4」として MD5 が開発されました。
|
|
疑わしいときは MD5 を使用してください。
|
|
.Pp
|
|
.Fn MD2Init ,
|
|
.Fn MD2Update ,
|
|
.Fn MD2Final
|
|
関数は中心的な関数群です。
|
|
MD2_CTX を割り当て、
|
|
.Fn MD2Init
|
|
で初期化し、
|
|
.Fn MD2Update
|
|
でデータを処理し、最後に
|
|
.Fn MD2Final
|
|
で結果を取り出してください。
|
|
.Pp
|
|
.Fn MD2Pad
|
|
は
|
|
計算を終了しないで、
|
|
.Fn MD2Final
|
|
と同じ方法でメッセージデータをつめることができます。
|
|
.Pp
|
|
.Fn MD2End
|
|
は
|
|
.Fn MD2Final
|
|
のラッパで、
|
|
16 進 128 ビットを表現する
|
|
33 文字 ( 最後の「 \e0 」を含む ) の
|
|
.Tn ASCII
|
|
文字列に戻り値を変換します。
|
|
.Pp
|
|
.Fn MD2File
|
|
はファイルのダイジェストを計算し、
|
|
.Fn MD2End
|
|
を使用して結果を返します。
|
|
ファイルを開けない場合はヌルポインタを返します。
|
|
.Fn MD2Data
|
|
はメモリに存在するデータのダイジェストを計算し、
|
|
.Fn MD2End
|
|
を使用して結果を返します。
|
|
.Pp
|
|
.Fn MD2End ,
|
|
.Fn MD2File ,
|
|
.Fn MD2Data
|
|
の使用にあたっては
|
|
.Ar buf
|
|
を NULL ポインタとすることができます。
|
|
この場合は
|
|
.Xr malloc 3
|
|
で割り当てられた文字列が返されるので、使用後は
|
|
.Xr free 3
|
|
で割り当てを解除しなければなりません。
|
|
.Ar buf
|
|
が NULL でない時は、少なくとも 33 文字分のバッファを
|
|
指していなければなりません。
|
|
.Sh 関連項目
|
|
.Xr md2 3 ,
|
|
.Xr md4 3 ,
|
|
.Xr md5 3
|
|
.Rs
|
|
.%A B. Kaliski
|
|
.%T The MD2 Message-Digest Algorithm
|
|
.%O RFC 1319
|
|
.Re
|
|
.Rs
|
|
.%A R. Rivest
|
|
.%T The MD4 Message-Digest Algorithm
|
|
.%O RFC 1186
|
|
.Re
|
|
.Rs
|
|
.%A R. Rivest
|
|
.%T The MD5 Message-Digest Algorithm
|
|
.%O RFC 1321
|
|
.Re
|
|
.Rs
|
|
.%A RSA Laboratories
|
|
.%T Frequently Asked Questions About today's Cryptography
|
|
.Re
|
|
.Sh 作者
|
|
オリジナルの MD2 ルーチンは、
|
|
.Tn RSA
|
|
Data Security 社によって開発され、
|
|
上記のリファレンスで公開されました。
|
|
このコードは、
|
|
.An Poul-Henning Kamp Aq phk@login.dkuug.dk
|
|
により、この実装から直接引き出されました。
|
|
.Pp
|
|
Phk ristede runen.
|
|
.Sh 歴史
|
|
この関数は、
|
|
.Fx 2.0
|
|
に現れました。
|
|
.Pp
|
|
.Sh バグ
|
|
同じハッシュ値を持つような 2 つのファイルを見つける方法、
|
|
または特定のハッシュ値を持つようなファイルを見つける方法は
|
|
知られていません。
|
|
一方、そのような方法が存在しないという保証もありません。
|
|
.Pp
|
|
MD2 は、プライバシが重要なメールに使用する場合のみライセンス供与されます。
|
|
その他の場合は MD4 か MD5 を使用してください。
|
|
.Pp
|
|
.Sh COPYRIGHT
|
|
Copyright (C) 1990-2, RSA Data Security, Inc. Created 1990. All
|
|
rights reserved.
|
|
.Pp
|
|
このソフトウェアの複製や使用のためのライセンスは、
|
|
このソフトウェアやこの関数について言及したり参照したりする
|
|
すべての資料で
|
|
「 RSA Data Security 社の MD2 メッセージダイジェストアルゴリズム」
|
|
であることが明示されていれば、
|
|
プライバシが重要となる非営利インターネットメールに供与されます。
|
|
.Pp
|
|
RSA Data Security 社は、このソフトウェアの商業性、またはこの
|
|
特定の目的に対するこのソフトウェアの適合性について表明しません。
|
|
このソフトウェアは、いかなる種類の、明示的または暗黙的な保証もなく、
|
|
「現状のまま」で提供されます。
|
|
.Pp
|
|
この警告は、この文書かソフトウェア、またはその両方のすべてのコピーに
|
|
掲載しなければなりません。
|