X-Git-Url: https://git.distorted.org.uk/~mdw/become/blobdiff_plain/fe59d3d70fc7337b7a50c4fcff72d20967672157..f60a34341fee6aafd5b878dce23b80af7c60064d:/src/md5.h diff --git a/src/md5.h b/src/md5.h deleted file mode 100644 index a914c09..0000000 --- a/src/md5.h +++ /dev/null @@ -1,152 +0,0 @@ -/* -*-c-*- - * - * $Id: md5.h,v 1.3 1998/01/12 16:46:13 mdw Exp $ - * - * MD-5 secure hash routines - * Based on RSA MD-5 code - * - * (c) 1996-1998 Mark Wooding - */ - -/*----- Licensing notice --------------------------------------------------* - * - * This file is part of `become' - * - * `Become' is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * `Become' is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with `become'; if not, write to the Free Software Foundation, - * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -/*----- Revision history --------------------------------------------------* - * - * $Log: md5.h,v $ - * Revision 1.3 1998/01/12 16:46:13 mdw - * Fix copyright date. - * - * Revision 1.2 1997/08/04 10:24:23 mdw - * Sources placed under CVS control. - * - * Revision 1.1 1997/07/21 13:47:47 mdw - * Initial revision - * - */ - -#ifndef MD5_H -#define MD5_H - -#ifdef __cplusplus - extern "C" { -#endif - -/*----- Required headers --------------------------------------------------*/ - -#include - -#ifndef CONFIG_H -# include "config.h" -#endif - -/*----- Useful constants --------------------------------------------------*/ - -#define MD5_HASHSIZE (16u) /* Size of an MD5 hash */ - -/*----- Type definitions --------------------------------------------------*/ - -/* --- MD5 context buffer --- */ - -typedef struct { - uint_32 val[4]; /* Result of the hash function */ - unsigned long size; /* Current size of data in bytes */ - unsigned char buf[64]; /* Buffer accumulating next block */ -} md5; - -/*----- Functions provided ------------------------------------------------*/ - -/* --- @md5_trans@ --- * - * - * Arguments: @unsigned char *v@ = pointer to chaining block (updated) - * @const unsigned char *buf@ = pointer to input buffer - * - * Returns: --- - * - * Use: Performs the MD5 transformation on a chunk of data. This may - * be useful for using MD5 in MDC-type cipher constructions. - */ - -extern void md5_trans(unsigned char */*v*/, const unsigned char */*buf*/); - -/* --- @md5_buffer@ --- * - * - * Arguments: @md5 *m@ = pointer to an MD5 context - * @const void *buff@ = pointer to buffer of data - * @size_t size@ = size of buffer - * - * Returns: --- - * - * Use: Hashes the buffer of data. You can call md5_buffer - * lots of times during an MD5 job, to allow big files to be - * split into little ones. - * - * This routine could be improved lots, to compare with the - * Straylight ARM assembler implementation, although that - * requires lots of work. Remember that the ARM version - * doesn't need to do endianness-fiddling. - */ - -extern void md5_buffer(md5 */*m*/, const void */*buff*/, size_t /*size*/); - -/* --- @md5_key@ --- * - * - * Arguments: @md5 *m@ = pointer to an MD5 context - * @const unsigned char *k@ = pointer to a 4-word `key' - * - * Returns: --- - * - * Use: Initialises a context buffer, with a chosen initialisation - * string (instead of the standard MD5 value). This allows you - * to use NMAC message authentication, should the urge take you. - */ - -extern void md5_key(md5 */*m*/, const unsigned char */*k*/); - -/* --- @md5_init@ --- * - * - * Arguments: @md5 *m@ = pointer to an MD5 context - * - * Returns: --- - * - * Use: Initialises the context buffer, so that you can do an - * MD5 job. - */ - -extern void md5_init(md5 */*m*/); - -/* --- @md5_final@ --- * - * - * Arguments: @md5 *m@ = pointer to context buffer - * @unsigned char *v@ = where to store the value - * - * Returns: --- - * - * Use: Finalises an MD5 buffer, so that you can use the result. - */ - -extern void md5_final(md5 */*m*/, unsigned char */*v*/); - -/*----- That's all, folks -------------------------------------------------*/ - -#ifdef __cplusplus - } -#endif - -#endif