summaryrefslogtreecommitdiff
path: root/include/rmd160.h
diff options
context:
space:
mode:
authorMarkus Friedl <markus@cvs.openbsd.org>2001-10-01 20:36:18 +0000
committerMarkus Friedl <markus@cvs.openbsd.org>2001-10-01 20:36:18 +0000
commit15be475abd20efce5128e4c59e3d05c5eb9c6e20 (patch)
treecd967025e9b9e2ac99513026f6ff6e46e189e567 /include/rmd160.h
parent946b760324f2cccd70954bc893d2d158795e7e2a (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.h75
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 ***********************/