xref: /dragonfly/sbin/md5/md5.1 (revision 1847e88f)
1.\" $FreeBSD: src/sbin/md5/md5.1,v 1.23 2005/01/17 07:44:09 ru Exp $
2.\" $DragonFly: src/sbin/md5/md5.1,v 1.5 2005/08/05 22:35:10 swildner Exp $
3.Dd June 6, 2004
4.Dt MD5 1
5.Os
6.Sh NAME
7.Nm md5 ,
8.Nm sha1 ,
9.Nm rmd160
10.Nd calculate a message-digest fingerprint (checksum) for a file
11.Sh SYNOPSIS
12.Nm md5
13.Op Fl pqrtx
14.Op Fl s Ar string
15.Op Ar
16.Nm sha1
17.Op Fl pqrtx
18.Op Fl s Ar string
19.Op Ar
20.Nm rmd160
21.Op Fl pqrtx
22.Op Fl s Ar string
23.Op Ar
24.Sh DESCRIPTION
25The
26.Nm md5 ,
27.Nm sha1
28and
29.Nm rmd160
30utilities take as input a message of arbitrary length and produce as
31output a
32.Dq fingerprint
33or
34.Dq message digest
35of the input.
36It is conjectured that it is computationally infeasible to
37produce two messages having the same message digest, or to produce any
38message having a given prespecified target message digest.
39The
40.Tn MD5 , SHA-1
41and
42.Tn RIPEMD-160
43algorithms are intended for digital signature applications, where a
44large file must be
45.Dq compressed
46in a secure manner before being encrypted with a private
47(secret)
48key under a public-key cryptosystem such as
49.Tn RSA .
50.Pp
51.Tn MD5
52has not yet (2001-09-03) been broken, but sufficient attacks have been
53made that its security is in some doubt.
54The attacks on
55.Tn MD5
56are in the nature of finding
57.Dq collisions
58\(em that is, multiple
59inputs which hash to the same value; it is still unlikely for an attacker
60to be able to determine the exact original input given a hash value.
61.Pp
62The following options may be used in any combination and must
63precede any files named on the command line.
64The hexadecimal checksum of each file listed on the command line is printed
65after the options are processed.
66.Bl -tag -width indent
67.It Fl s Ar string
68Print a checksum of the given
69.Ar string .
70.It Fl p
71Echo stdin to stdout and append the checksum to stdout.
72.It Fl q
73Quiet mode - only the checksum is printed out.
74Overrides the
75.Fl r
76option.
77.It Fl r
78Reverses the format of the output.
79This helps with visual diffs.
80Does nothing
81when combined with the
82.Fl ptx
83options.
84.It Fl t
85Run a built-in time trial.
86.It Fl x
87Run a built-in test script.
88.El
89.Sh DIAGNOSTICS
90The
91.Nm md5 ,
92.Nm sha1
93and
94.Nm rmd160
95utilities exit 0 on success,
96and 1 if at least one of the input files could not be read.
97.Sh SEE ALSO
98.Xr cksum 1 ,
99.Xr md5 3 ,
100.Xr ripemd 3 ,
101.Xr sha 3
102.Rs
103.%A R. Rivest
104.%T The MD5 Message-Digest Algorithm
105.%O RFC1321
106.Re
107.Rs
108.%A J. Burrows
109.%T The Secure Hash Standard
110.%O FIPS PUB 180-1
111.Re
112.Rs
113.%A D. Eastlake and P. Jones
114.%T US Secure Hash Algorithm 1
115.%O RFC 3174
116.Re
117.Pp
118RIPEMD-160 is part of the ISO draft standard
119.Qq ISO/IEC DIS 10118-3
120on dedicated hash functions.
121.Pp
122Secure Hash Standard (SHS):
123.Pa http://csrc.nist.gov/cryptval/shs.html .
124.Pp
125The RIPEMD-160 page:
126.Pa http://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html .
127.Sh ACKNOWLEDGMENTS
128This program is placed in the public domain for free general use by
129RSA Data Security.
130.Pp
131Support for SHA-1 and RIPEMD-160 has been added by
132.An Oliver Eikemeier Aq eik@FreeBSD.org .
133