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