xref: /illumos-gate/usr/src/uts/common/sys/md4.h (revision 2d6eb4a5)
1*5151fb12Sdarrenm /*
2*5151fb12Sdarrenm  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
3*5151fb12Sdarrenm  * Use is subject to license terms.
4*5151fb12Sdarrenm  */
5*5151fb12Sdarrenm 
6*5151fb12Sdarrenm #ifndef	__MD4_H
7*5151fb12Sdarrenm #define	__MD4_H
8*5151fb12Sdarrenm 
9*5151fb12Sdarrenm /*
10*5151fb12Sdarrenm  * MD4C.C - RSA Data Security, Inc., MD4 message-digest algorithm
11*5151fb12Sdarrenm  */
12*5151fb12Sdarrenm 
13*5151fb12Sdarrenm /*
14*5151fb12Sdarrenm  * Copyright (C) 1990-2, RSA Data Security, Inc. All rights reserved.
15*5151fb12Sdarrenm  *
16*5151fb12Sdarrenm  * License to copy and use this software is granted provided that it
17*5151fb12Sdarrenm  * is identified as the "RSA Data Security, Inc. MD4 Message-Digest
18*5151fb12Sdarrenm  * Algorithm" in all material mentioning or referencing this software
19*5151fb12Sdarrenm  * or this function.
20*5151fb12Sdarrenm  *
21*5151fb12Sdarrenm  * License is also granted to make and use derivative works provided
22*5151fb12Sdarrenm  * that such works are identified as "derived from the RSA Data
23*5151fb12Sdarrenm  * Security, Inc. MD4 Message-Digest Algorithm" in all material
24*5151fb12Sdarrenm  * mentioning or referencing the derived work.
25*5151fb12Sdarrenm  *
26*5151fb12Sdarrenm  * RSA Data Security, Inc. makes no representations concerning either
27*5151fb12Sdarrenm  * the merchantability of this software or the suitability of this
28*5151fb12Sdarrenm  * software for any particular purpose. It is provided "as is"
29*5151fb12Sdarrenm  * without express or implied warranty of any kind.
30*5151fb12Sdarrenm  *
31*5151fb12Sdarrenm  * These notices must be retained in any copies of any part of this
32*5151fb12Sdarrenm  * documentation and/or software.
33*5151fb12Sdarrenm  */
34*5151fb12Sdarrenm 
35*5151fb12Sdarrenm #ifdef	__cplusplus
36*5151fb12Sdarrenm extern "C" {
37*5151fb12Sdarrenm #endif
38*5151fb12Sdarrenm 
39*5151fb12Sdarrenm #include <sys/types.h>
40*5151fb12Sdarrenm 
41*5151fb12Sdarrenm #define	MD4_DIGEST_LENGTH	16
42*5151fb12Sdarrenm 
43*5151fb12Sdarrenm /* MD4 context. */
44*5151fb12Sdarrenm typedef struct {
45*5151fb12Sdarrenm 	uint32_t state[4];	/* state (ABCD) */
46*5151fb12Sdarrenm 	uint32_t count[2];	/* number of bits, modulo 2^64 (lsb first) */
47*5151fb12Sdarrenm 	unsigned char buffer[64];	/* input buffer */
48*5151fb12Sdarrenm } MD4_CTX;
49*5151fb12Sdarrenm 
50*5151fb12Sdarrenm void MD4Init(MD4_CTX *);
51*5151fb12Sdarrenm void MD4Update(MD4_CTX *, const void *_RESTRICT_KYWD, size_t);
52*5151fb12Sdarrenm void MD4Final(void *, MD4_CTX *);
53*5151fb12Sdarrenm 
54*5151fb12Sdarrenm #ifdef	__cplusplus
55*5151fb12Sdarrenm }
56*5151fb12Sdarrenm #endif
57*5151fb12Sdarrenm 
58*5151fb12Sdarrenm #endif	/* __MD4_H */
59