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