00001 /* 00002 Unix SMB/Netbios implementation. 00003 Version 1.9. 00004 a implementation of MD4 designed for use in the SMB authentication protocol 00005 Copyright (C) Andrew Tridgell 1997-1998. 00006 00007 This program is free software; you can redistribute it and/or modify 00008 it under the terms of the GNU General Public License as published by 00009 the Free Software Foundation; either version 2 of the License, or 00010 (at your option) any later version. 00011 00012 This program is distributed in the hope that it will be useful, 00013 but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 GNU General Public License for more details. 00016 00017 You should have received a copy of the GNU General Public License 00018 along with this program; if not, write to the Free Software 00019 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00020 */ 00021 00022 struct mdfour { 00023 uint32 A, B, C, D; 00024 uint32 totalN; /* bit count, lower 32 bits */ 00025 uint32 totalN2; /* bit count, upper 32 bits */ 00026 }; 00027 00028 void mdfour_begin(struct mdfour *md); 00029 void mdfour_update(struct mdfour *md, unsigned char *in, uint32 n); 00030 void mdfour_result(struct mdfour *md, unsigned char *out); 00031 void mdfour(unsigned char *out, unsigned char *in, int n); 00032 00033 00034 00035