Home | History | Annotate | Download | only in include
      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