xref: /illumos-gate/usr/src/uts/common/gssapi/mechs/krb5/include/rsa-md4.h (revision 45ede40b2394db7967e59f19288fae9b62efd4aa)
1 /*
2  * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
3  * Use is subject to license terms.
4  */
5 
6 #pragma ident	"%Z%%M%	%I%	%E% SMI"
7 
8 /*
9  * lib/crypto/md4/rsa-md4.h
10  *
11  * Copyright 1991 by the Massachusetts Institute of Technology.
12  * All Rights Reserved.
13  *
14  * Export of this software from the United States of America may
15  *   require a specific license from the United States Government.
16  *   It is the responsibility of any person or organization contemplating
17  *   export to obtain such a license before exporting.
18  *
19  * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
20  * distribute this software and its documentation for any purpose and
21  * without fee is hereby granted, provided that the above copyright
22  * notice appear in all copies and that both that copyright notice and
23  * this permission notice appear in supporting documentation, and that
24  * the name of M.I.T. not be used in advertising or publicity pertaining
25  * to distribution of the software without specific, written prior
26  * permission.  Furthermore if you modify this software you must label
27  * your software as modified software and not distribute it in such a
28  * fashion that it might be confused with the original M.I.T. software.
29  * M.I.T. makes no representations about the suitability of
30  * this software for any purpose.  It is provided "as is" without express
31  * or implied warranty.
32  *
33  *
34  * RSA MD4 header file, with Kerberos/STDC additions.
35  */
36 
37 #ifndef __KRB5_RSA_MD4_H__
38 #define __KRB5_RSA_MD4_H__
39 
40 #ifdef unicos61
41 #include <sys/types.h>
42 #endif /* unicos61 */
43 
44 /* 16 u_char's in the digest */
45 #define RSA_MD4_CKSUM_LENGTH	16
46 /* des blocksize is 8, so this works nicely... */
47 #define OLD_RSA_MD4_DES_CKSUM_LENGTH	16
48 #define NEW_RSA_MD4_DES_CKSUM_LENGTH	24
49 #define	RSA_MD4_DES_CONFOUND_LENGTH	8
50 
51 /*
52  **********************************************************************
53  ** md4.h -- Header file for implementation of MD4                   **
54  ** RSA Data Security, Inc. MD4 Message Digest Algorithm             **
55  ** Created: 2/17/90 RLR                                             **
56  ** Revised: 12/27/90 SRD,AJ,BSK,JT Reference C version              **
57  **********************************************************************
58  */
59 
60 /*
61  **********************************************************************
62  ** Copyright (C) 1990, RSA Data Security, Inc. All rights reserved. **
63  **                                                                  **
64  ** License to copy and use this software is granted provided that   **
65  ** it is identified as the "RSA Data Security, Inc. MD4 Message     **
66  ** Digest Algorithm" in all material mentioning or referencing this **
67  ** software or this function.                                       **
68  **                                                                  **
69  ** License is also granted to make and use derivative works         **
70  ** provided that such works are identified as "derived from the RSA **
71  ** Data Security, Inc. MD4 Message Digest Algorithm" in all         **
72  ** material mentioning or referencing the derived work.             **
73  **                                                                  **
74  ** RSA Data Security, Inc. makes no representations concerning      **
75  ** either the merchantability of this software or the suitability   **
76  ** of this software for any particular purpose.  It is provided "as **
77  ** is" without express or implied warranty of any kind.             **
78  **                                                                  **
79  ** These notices must be retained in any copies of any part of this **
80  ** documentation and/or software.                                   **
81  **********************************************************************
82  */
83 
84 /* Data structure for MD4 (Message Digest) computation */
85 typedef struct {
86   krb5_ui_4 i[2];			/* number of _bits_ handled mod 2^64 */
87   krb5_ui_4 buf[4];			/* scratch buffer */
88   unsigned char in[64];			/* input buffer */
89   unsigned char digest[16];		/* actual digest after MD4Final call */
90 } krb5_MD4_CTX;
91 
92 extern void krb5_MD4Init(krb5_MD4_CTX *);
93 extern void krb5_MD4Update(krb5_MD4_CTX *, const unsigned char *, unsigned int);
94 extern void krb5_MD4Final(krb5_MD4_CTX *);
95 
96 /*
97  **********************************************************************
98  ** End of md4.h                                                     **
99  ******************************* (cut) ********************************
100  */
101 #endif /* __KRB5_RSA_MD4_H__ */
102