]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/blob - sbin/md5/md5.1
MFC r292782: Replace sys/crypto/sha2/sha2.c with lib/libmd/sha512c.c
[FreeBSD/stable/10.git] / sbin / md5 / md5.1
1 .\" $FreeBSD$
2 .Dd October 17, 2015
3 .Dt MD5 1
4 .Os
5 .Sh NAME
6 .Nm md5 , sha1 , sha256 , sha384 , sha512, rmd160
7 .Nd calculate a message-digest fingerprint (checksum) for a file
8 .Sh SYNOPSIS
9 .Nm md5
10 .Op Fl pqrtx
11 .Op Fl c Ar string
12 .Op Fl s Ar string
13 .Op Ar
14 .Nm sha1
15 .Op Fl pqrtx
16 .Op Fl c Ar string
17 .Op Fl s Ar string
18 .Op Ar
19 .Nm sha256
20 .Op Fl pqrtx
21 .Op Fl c Ar string
22 .Op Fl s Ar string
23 .Op Ar
24 .Nm sha384
25 .Op Fl pqrtx
26 .Op Fl c Ar string
27 .Op Fl s Ar string
28 .Op Ar
29 .Nm sha512
30 .Op Fl pqrtx
31 .Op Fl c Ar string
32 .Op Fl s Ar string
33 .Op Ar
34 .Nm rmd160
35 .Op Fl pqrtx
36 .Op Fl c Ar string
37 .Op Fl s Ar string
38 .Op Ar
39 .Sh DESCRIPTION
40 The
41 .Nm md5 , sha1 , sha256 , sha384 , sha512
42 and
43 .Nm rmd160
44 utilities take as input a message of arbitrary length and produce as
45 output a
46 .Dq fingerprint
47 or
48 .Dq message digest
49 of the input.
50 It is conjectured that it is computationally infeasible to
51 produce two messages having the same message digest, or to produce any
52 message having a given prespecified target message digest.
53 The
54 .Tn MD5 , SHA-1 , SHA-256 , SHA-384 , SHA-512
55 and
56 .Tn RIPEMD-160
57 algorithms are intended for digital signature applications, where a
58 large file must be
59 .Dq compressed
60 in a secure manner before being encrypted with a private
61 (secret)
62 key under a public-key cryptosystem such as
63 .Tn RSA .
64 .Pp
65 .Tn MD5
66 has been completely broken as far as finding collisions is
67 concerned, and should not be relied upon to produce unique outputs.
68 This also means that
69 .Tn MD5
70 should not be used as part of a cryptographic signature scheme.
71 At the current time (2014-05-17) there is no publicly known method to
72 .Dq reverse
73 MD5, i.e., to find an input given a hash value.
74 .Pp
75 .Tn SHA-1
76 currently (2014-05-17) has no known collisions, but an attack has been
77 found which is faster than a brute-force search, placing the security of
78 .Tn SHA-1
79 in doubt.
80 .Pp
81 It is recommended that all new applications use
82 .Tn SHA-256
83 instead of one of the other hash functions.
84 .Pp
85 The following options may be used in any combination and must
86 precede any files named on the command line.
87 The hexadecimal checksum of each file listed on the command line is printed
88 after the options are processed.
89 .Bl -tag -width indent
90 .It Fl c Ar string
91 Compare the digest of the file against this string.
92 .Pq Note that this option is not yet useful if multiple files are specified.
93 .It Fl s Ar string
94 Print a checksum of the given
95 .Ar string .
96 .It Fl p
97 Echo stdin to stdout and append the checksum to stdout.
98 .It Fl q
99 Quiet mode \(em only the checksum is printed out.
100 Overrides the
101 .Fl r
102 option.
103 .It Fl r
104 Reverses the format of the output.
105 This helps with visual diffs.
106 Does nothing
107 when combined with the
108 .Fl ptx
109 options.
110 .It Fl t
111 Run a built-in time trial.
112 .It Fl x
113 Run a built-in test script.
114 .El
115 .Sh EXIT STATUS
116 The
117 .Nm md5 , sha1 , sha256 , sha512
118 and
119 .Nm rmd160
120 utilities exit 0 on success,
121 1 if at least one of the input files could not be read,
122 and 2 if at least one file does not have the same hash as the
123 .Fl c
124 option.
125 .Sh SEE ALSO
126 .Xr cksum 1 ,
127 .Xr md5 3 ,
128 .Xr ripemd 3 ,
129 .Xr sha 3 ,
130 .Xr sha256 3 ,
131 .Xr sha384 3 ,
132 .Xr sha512 3
133 .Rs
134 .%A R. Rivest
135 .%T The MD5 Message-Digest Algorithm
136 .%O RFC1321
137 .Re
138 .Rs
139 .%A J. Burrows
140 .%T The Secure Hash Standard
141 .%O FIPS PUB 180-2
142 .Re
143 .Rs
144 .%A D. Eastlake and P. Jones
145 .%T US Secure Hash Algorithm 1
146 .%O RFC 3174
147 .Re
148 .Pp
149 RIPEMD-160 is part of the ISO draft standard
150 .Qq ISO/IEC DIS 10118-3
151 on dedicated hash functions.
152 .Pp
153 Secure Hash Standard (SHS):
154 .Pa http://csrc.nist.gov/cryptval/shs.html .
155 .Pp
156 The RIPEMD-160 page:
157 .Pa http://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html .
158 .Sh ACKNOWLEDGMENTS
159 This program is placed in the public domain for free general use by
160 RSA Data Security.
161 .Pp
162 Support for SHA-1 and RIPEMD-160 has been added by
163 .An Oliver Eikemeier Aq Mt eik@FreeBSD.org .