diff options
author | Markus Friedl <markus@cvs.openbsd.org> | 2001-10-01 20:36:18 +0000 |
---|---|---|
committer | Markus Friedl <markus@cvs.openbsd.org> | 2001-10-01 20:36:18 +0000 |
commit | 15be475abd20efce5128e4c59e3d05c5eb9c6e20 (patch) | |
tree | cd967025e9b9e2ac99513026f6ff6e46e189e567 /include/rmd160.h | |
parent | 946b760324f2cccd70954bc893d2d158795e7e2a (diff) |
new rmd160 implementation. based on
ftp://ftp.rsasecurity.com/pub/cryptobytes/crypto3n2.pdf, ok deraadt@
Diffstat (limited to 'include/rmd160.h')
-rw-r--r-- | include/rmd160.h | 75 |
1 files changed, 35 insertions, 40 deletions
diff --git a/include/rmd160.h b/include/rmd160.h index 499a7658c8b..67f6695021d 100644 --- a/include/rmd160.h +++ b/include/rmd160.h @@ -1,48 +1,43 @@ -/* $OpenBSD: rmd160.h,v 1.4 1999/08/16 09:59:04 millert Exp $ */ - -/********************************************************************\ - * - * FILE: rmd160.h - * - * CONTENTS: Header file for a sample C-implementation of the - * RIPEMD-160 hash-function. - * TARGET: any computer with an ANSI C compiler +/* $OpenBSD: rmd160.h,v 1.5 2001/10/01 20:36:17 markus Exp $ */ +/* + * Copyright (c) 2001 Markus Friedl. All rights reserved. * - * AUTHOR: Antoon Bosselaers, ESAT-COSIC - * DATE: 1 March 1996 - * VERSION: 1.0 + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. * - * Copyright (c) Katholieke Universiteit Leuven - * 1996, All Rights Reserved - * -\********************************************************************/ - -#ifndef _RMD160_H /* make sure this file is read only once */ + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#ifndef _RMD160_H #define _RMD160_H -/********************************************************************/ - -/* structure definitions */ - -typedef struct { - u_int32_t state[5]; /* state (ABCDE) */ - u_int32_t length[2]; /* number of bits */ - u_char bbuffer[64]; /* overflow buffer */ - u_int32_t buflen; /* number of chars in bbuffer */ +/* RMD160 context. */ +typedef struct RMD160Context { + u_int32_t state[5]; /* state */ + u_int64_t count; /* number of bits, modulo 2^64 */ + u_char buffer[64]; /* input buffer */ } RMD160_CTX; -/********************************************************************/ - -/* function prototypes */ - -void RMD160Init __P((RMD160_CTX *context)); -void RMD160Transform __P((u_int32_t state[5], const u_int32_t block[16])); -void RMD160Update __P((RMD160_CTX *context, const u_char *data, u_int32_t nbytes)); -void RMD160Final __P((u_char digest[20], RMD160_CTX *context)); -char *RMD160End __P((RMD160_CTX *, char *)); -char *RMD160File __P((char *, char *)); -char *RMD160Data __P((const u_char *, size_t, char *)); +void RMD160Init __P((RMD160_CTX *)); +void RMD160Transform __P ((u_int32_t [5], const u_char [64])); +void RMD160Update __P((RMD160_CTX *, const u_char *, u_int32_t)); +void RMD160Final __P((u_char [20], RMD160_CTX *)); +char *RMD160End __P((RMD160_CTX *, char *)); +char *RMD160File __P((char *, char *)); +char *RMD160Data __P((const u_char *, size_t, char *)); #endif /* _RMD160_H */ - -/*********************** end of file rmd160.h ***********************/ |