From 925bf5fd8c42e4d24fc0994265cced1edb188a8d Mon Sep 17 00:00:00 2001 From: Pablo <ablocorrea@hotmail.com> Date: Sat, 13 Jan 2018 18:30:49 +0100 Subject: [PATCH] Removed files under DATA --- helpers/DATA/tcltrf/ripemd/rmd128.c | 122 ------------------- helpers/DATA/tcltrf/ripemd/rmd128.h | 46 -------- helpers/DATA/tcltrf/ripemd/rmd160.c | 157 ------------------------- helpers/DATA/tcltrf/ripemd/rmd160.h | 46 -------- helpers/DATA/tcltrf/ripemd/rmdcommon.h | 111 ----------------- 5 files changed, 482 deletions(-) delete mode 100644 helpers/DATA/tcltrf/ripemd/rmd128.c delete mode 100644 helpers/DATA/tcltrf/ripemd/rmd128.h delete mode 100644 helpers/DATA/tcltrf/ripemd/rmd160.c delete mode 100644 helpers/DATA/tcltrf/ripemd/rmd160.h delete mode 100644 helpers/DATA/tcltrf/ripemd/rmdcommon.h diff --git a/helpers/DATA/tcltrf/ripemd/rmd128.c b/helpers/DATA/tcltrf/ripemd/rmd128.c deleted file mode 100644 index 061a8493..00000000 --- a/helpers/DATA/tcltrf/ripemd/rmd128.c +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Implementation of RIPEMD-128. - * - * Copyright (C) 2014 Legimet <legimet.calc@gmail.com> - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL I LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, - * INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS - * SOFTWARE AND ITS DOCUMENTATION, EVEN IF I HAVE BEEN ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * I SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND - * I HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, - * ENHANCEMENTS, OR MODIFICATIONS. - */ - -#include <stdint.h> -#include <string.h> -#include "rmdcommon.h" -#include "rmd128.h" - -void ripemd128_MDinit(dword *MDbuf) { - MDbuf[0] = initvals[0]; - MDbuf[1] = initvals[1]; - MDbuf[2] = initvals[2]; - MDbuf[3] = initvals[3]; -} - -static inline void ripemd128_round1(dword *a, dword *b, dword *c, dword *d, - dword *ap, dword *bp, dword *cp, dword *dp, int i, dword *X) { - *a = rmd_rol(*a + rmd_f1(*b, *c, *d) + X[r[i]], s[i]); - *ap = rmd_rol(*ap + rmd_f4(*bp, *cp, *dp) + X[rprime[i]] + kprime[0], sprime[i]); -} - -static inline void ripemd128_round2(dword *a, dword *b, dword *c, dword *d, - dword *ap, dword *bp, dword *cp, dword *dp, int i, dword *X) { - *a = rmd_rol(*a + rmd_f2(*b, *c, *d) + X[r[i]] + k[0], s[i]); - *ap = rmd_rol(*ap + rmd_f3(*bp, *cp, *dp) + X[rprime[i]] + kprime[1], sprime[i]); -} - -static inline void ripemd128_round3(dword *a, dword *b, dword *c, dword *d, - dword *ap, dword *bp, dword *cp, dword *dp, int i, dword *X) { - *a = rmd_rol(*a + rmd_f3(*b, *c, *d) + X[r[i]] + k[1], s[i]); - *ap = rmd_rol(*ap + rmd_f2(*bp, *cp, *dp) + X[rprime[i]] + kprime[2], sprime[i]); -} - -static inline void ripemd128_round4(dword *a, dword *b, dword *c, dword *d, - dword *ap, dword *bp, dword *cp, dword *dp, int i, dword *X) { - *a = rmd_rol(*a + rmd_f4(*b, *c, *d) + X[r[i]] + k[2], s[i]); - *ap = rmd_rol(*ap + rmd_f1(*bp, *cp, *dp) + X[rprime[i]], sprime[i]); -} - -void ripemd128_compress(dword *MDbuf, dword *X) { - dword a = MDbuf[0], b = MDbuf[1], c = MDbuf[2], d = MDbuf[3]; - dword ap = MDbuf[0], bp = MDbuf[1], cp = MDbuf[2], dp = MDbuf[3]; - int i; - - for (i = 0; i < 16;) { - ripemd128_round1(&a, &b, &c, &d, &ap, &bp, &cp, &dp, i++, X); - ripemd128_round1(&d, &a, &b, &c, &dp, &ap, &bp, &cp, i++, X); - ripemd128_round1(&c, &d, &a, &b, &cp, &dp, &ap, &bp, i++, X); - ripemd128_round1(&b, &c, &d, &a, &bp, &cp, &dp, &ap, i++, X); - } - - for (i = 16; i < 32;) { - ripemd128_round2(&a, &b, &c, &d, &ap, &bp, &cp, &dp, i++, X); - ripemd128_round2(&d, &a, &b, &c, &dp, &ap, &bp, &cp, i++, X); - ripemd128_round2(&c, &d, &a, &b, &cp, &dp, &ap, &bp, i++, X); - ripemd128_round2(&b, &c, &d, &a, &bp, &cp, &dp, &ap, i++, X); - } - - for (i = 32; i < 48;) { - ripemd128_round3(&a, &b, &c, &d, &ap, &bp, &cp, &dp, i++, X); - ripemd128_round3(&d, &a, &b, &c, &dp, &ap, &bp, &cp, i++, X); - ripemd128_round3(&c, &d, &a, &b, &cp, &dp, &ap, &bp, i++, X); - ripemd128_round3(&b, &c, &d, &a, &bp, &cp, &dp, &ap, i++, X); - } - - for (i = 48; i < 64;) { - ripemd128_round4(&a, &b, &c, &d, &ap, &bp, &cp, &dp, i++, X); - ripemd128_round4(&d, &a, &b, &c, &dp, &ap, &bp, &cp, i++, X); - ripemd128_round4(&c, &d, &a, &b, &cp, &dp, &ap, &bp, i++, X); - ripemd128_round4(&b, &c, &d, &a, &bp, &cp, &dp, &ap, i++, X); - } - - c += MDbuf[1] + dp; - MDbuf[1] = MDbuf[2] + d + ap; - MDbuf[2] = MDbuf[3] + a + bp; - MDbuf[3] = MDbuf[0] + b + cp; - MDbuf[0] = c; -} - -void ripemd128_MDfinish(dword *MDbuf, byte *strptr, dword lswlen, dword mswlen) { - dword X[16] = {0}; /* Initialize to all 0 */ - dword i; - - /* Copy bytes from strptr into X */ - for (i = 0; i < (lswlen & 63); i++) { - X[i >> 2] |= (dword)strptr[i] << ((i & 3) << 3); - } - - /* Add a 1 bit for padding */ - X[i >> 2] |= 128 << ((i & 3) << 3); - - /* length in bits is at least 448 mod 512, second block needed */ - if ((lswlen & 63) >= 56) { - ripemd128_compress(MDbuf, X); - memset(X, 0, 64); - } - - /* Append the 64-bit length in the last 2 words, low-order word first */ - X[14] = lswlen << 3; - X[15] = (mswlen << 3) + (lswlen >> 29); - ripemd128_compress(MDbuf, X); /* Compress the final block */ -} diff --git a/helpers/DATA/tcltrf/ripemd/rmd128.h b/helpers/DATA/tcltrf/ripemd/rmd128.h deleted file mode 100644 index 6b45f0f7..00000000 --- a/helpers/DATA/tcltrf/ripemd/rmd128.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Header file for implementation of RIPEMD-128. - * - * Copyright (C) 2014 Legimet <legimet.calc@gmail.com> - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL I LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, - * INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS - * SOFTWARE AND ITS DOCUMENTATION, EVEN IF I HAVE BEEN ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * I SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND - * I HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, - * ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef RMD128_H -#define RMD128_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include <stdint.h> - -typedef uint32_t dword; -typedef uint16_t word; -typedef uint8_t byte; - -void ripemd128_MDinit(dword *MDbuf); - -void ripemd128_compress(dword *MDbuf, dword *X); - -void ripemd128_MDfinish(dword *MDbuf, byte *strptr, dword lswlen, dword mswlen); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/helpers/DATA/tcltrf/ripemd/rmd160.c b/helpers/DATA/tcltrf/ripemd/rmd160.c deleted file mode 100644 index 867aa1df..00000000 --- a/helpers/DATA/tcltrf/ripemd/rmd160.c +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Implementation of RIPEMD-160. - * - * Copyright (C) 2014 Legimet <legimet.calc@gmail.com> - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL I LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, - * INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS - * SOFTWARE AND ITS DOCUMENTATION, EVEN IF I HAVE BEEN ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * I SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND - * I HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, - * ENHANCEMENTS, OR MODIFICATIONS. - */ - -#include <stdint.h> -#include <string.h> -#include "rmdcommon.h" -#include "rmd160.h" - -void ripemd160_MDinit(dword *MDbuf) { - MDbuf[0] = initvals[0]; - MDbuf[1] = initvals[1]; - MDbuf[2] = initvals[2]; - MDbuf[3] = initvals[3]; - MDbuf[4] = initvals[4]; -} - -static inline void ripemd160_round1(dword *a, dword *b, dword *c, dword *d, dword *e, - dword *ap, dword *bp, dword *cp, dword *dp, dword *ep, int i, dword *X) { - *a = rmd_rol(*a + rmd_f1(*b, *c, *d) + X[r[i]], s[i]) + *e; - *c = rmd_rol(*c, 10); - *ap = rmd_rol(*ap + rmd_f5(*bp, *cp, *dp) + X[rprime[i]] + kprime[0], sprime[i]) + *ep; - *cp = rmd_rol(*cp, 10); -} - -static inline void ripemd160_round2(dword *a, dword *b, dword *c, dword *d, dword *e, - dword *ap, dword *bp, dword *cp, dword *dp, dword *ep, int i, dword *X) { - *a = rmd_rol(*a + rmd_f2(*b, *c, *d) + X[r[i]] + k[0], s[i]) + *e; - *c = rmd_rol(*c, 10); - *ap = rmd_rol(*ap + rmd_f4(*bp, *cp, *dp) + X[rprime[i]] + kprime[1], sprime[i]) + *ep; - *cp = rmd_rol(*cp, 10); -} - -static inline void ripemd160_round3(dword *a, dword *b, dword *c, dword *d, dword *e, - dword *ap, dword *bp, dword *cp, dword *dp, dword *ep, int i, dword *X) { - *a = rmd_rol(*a + rmd_f3(*b, *c, *d) + X[r[i]] + k[1], s[i]) + *e; - *c = rmd_rol(*c, 10); - *ap = rmd_rol(*ap + rmd_f3(*bp, *cp, *dp) + X[rprime[i]] + kprime[2], sprime[i]) + *ep; - *cp = rmd_rol(*cp, 10); -} - -static inline void ripemd160_round4(dword *a, dword *b, dword *c, dword *d, dword *e, - dword *ap, dword *bp, dword *cp, dword *dp, dword *ep, int i, dword *X) { - *a = rmd_rol(*a + rmd_f4(*b, *c, *d) + X[r[i]] + k[2], s[i]) + *e; - *c = rmd_rol(*c, 10); - *ap = rmd_rol(*ap + rmd_f2(*bp, *cp, *dp) + X[rprime[i]] + kprime[3], sprime[i]) + *ep; - *cp = rmd_rol(*cp, 10); -} - -static inline void ripemd160_round5(dword *a, dword *b, dword *c, dword *d, dword *e, - dword *ap, dword *bp, dword *cp, dword *dp, dword *ep, int i, dword *X) { - *a = rmd_rol(*a + rmd_f5(*b, *c, *d) + X[r[i]] + k[3], s[i]) + *e; - *c = rmd_rol(*c, 10); - *ap = rmd_rol(*ap + rmd_f1(*bp, *cp, *dp) + X[rprime[i]], sprime[i]) + *ep; - *cp = rmd_rol(*cp, 10); -} - -void ripemd160_compress(dword *MDbuf, dword *X) { - dword a = MDbuf[0], b = MDbuf[1], c = MDbuf[2], d = MDbuf[3], e = MDbuf[4]; - dword ap = MDbuf[0], bp = MDbuf[1], cp = MDbuf[2], dp = MDbuf[3], ep = MDbuf[4]; - int i; - - for (i = 0; i < 15;) { - ripemd160_round1(&a, &b, &c, &d, &e, &ap, &bp, &cp, &dp, &ep, i++, X); - ripemd160_round1(&e, &a, &b, &c, &d, &ep, &ap, &bp, &cp, &dp, i++, X); - ripemd160_round1(&d, &e, &a, &b, &c, &dp, &ep, &ap, &bp, &cp, i++, X); - ripemd160_round1(&c, &d, &e, &a, &b, &cp, &dp, &ep, &ap, &bp, i++, X); - ripemd160_round1(&b, &c, &d, &e, &a, &bp, &cp, &dp, &ep, &ap, i++, X); - } - ripemd160_round1(&a, &b, &c, &d, &e, &ap, &bp, &cp, &dp, &ep, i++, X); - - for (i = 16; i < 31;) { - ripemd160_round2(&e, &a, &b, &c, &d, &ep, &ap, &bp, &cp, &dp, i++, X); - ripemd160_round2(&d, &e, &a, &b, &c, &dp, &ep, &ap, &bp, &cp, i++, X); - ripemd160_round2(&c, &d, &e, &a, &b, &cp, &dp, &ep, &ap, &bp, i++, X); - ripemd160_round2(&b, &c, &d, &e, &a, &bp, &cp, &dp, &ep, &ap, i++, X); - ripemd160_round2(&a, &b, &c, &d, &e, &ap, &bp, &cp, &dp, &ep, i++, X); - } - ripemd160_round2(&e, &a, &b, &c, &d, &ep, &ap, &bp, &cp, &dp, i++, X); - - for (i = 32; i < 47;) { - ripemd160_round3(&d, &e, &a, &b, &c, &dp, &ep, &ap, &bp, &cp, i++, X); - ripemd160_round3(&c, &d, &e, &a, &b, &cp, &dp, &ep, &ap, &bp, i++, X); - ripemd160_round3(&b, &c, &d, &e, &a, &bp, &cp, &dp, &ep, &ap, i++, X); - ripemd160_round3(&a, &b, &c, &d, &e, &ap, &bp, &cp, &dp, &ep, i++, X); - ripemd160_round3(&e, &a, &b, &c, &d, &ep, &ap, &bp, &cp, &dp, i++, X); - } - ripemd160_round3(&d, &e, &a, &b, &c, &dp, &ep, &ap, &bp, &cp, i++, X); - - for (i = 48; i < 63;) { - ripemd160_round4(&c, &d, &e, &a, &b, &cp, &dp, &ep, &ap, &bp, i++, X); - ripemd160_round4(&b, &c, &d, &e, &a, &bp, &cp, &dp, &ep, &ap, i++, X); - ripemd160_round4(&a, &b, &c, &d, &e, &ap, &bp, &cp, &dp, &ep, i++, X); - ripemd160_round4(&e, &a, &b, &c, &d, &ep, &ap, &bp, &cp, &dp, i++, X); - ripemd160_round4(&d, &e, &a, &b, &c, &dp, &ep, &ap, &bp, &cp, i++, X); - } - ripemd160_round4(&c, &d, &e, &a, &b, &cp, &dp, &ep, &ap, &bp, i++, X); - - for (i = 64; i < 79;) { - ripemd160_round5(&b, &c, &d, &e, &a, &bp, &cp, &dp, &ep, &ap, i++, X); - ripemd160_round5(&a, &b, &c, &d, &e, &ap, &bp, &cp, &dp, &ep, i++, X); - ripemd160_round5(&e, &a, &b, &c, &d, &ep, &ap, &bp, &cp, &dp, i++, X); - ripemd160_round5(&d, &e, &a, &b, &c, &dp, &ep, &ap, &bp, &cp, i++, X); - ripemd160_round5(&c, &d, &e, &a, &b, &cp, &dp, &ep, &ap, &bp, i++, X); - } - ripemd160_round5(&b, &c, &d, &e, &a, &bp, &cp, &dp, &ep, &ap, i, X); - - c += MDbuf[1] + dp; - MDbuf[1] = MDbuf[2] + d + ep; - MDbuf[2] = MDbuf[3] + e + ap; - MDbuf[3] = MDbuf[4] + a + bp; - MDbuf[4] = MDbuf[0] + b + cp; - MDbuf[0] = c; -} - -void ripemd160_MDfinish(dword *MDbuf, byte *strptr, dword lswlen, dword mswlen) { - dword X[16] = {0}; /* Initialize to all 0 */ - dword i; - - /* Copy bytes from strptr into X */ - for (i = 0; i < (lswlen & 63); i++) { - X[i >> 2] |= (dword)strptr[i] << ((i & 3) << 3); - } - - /* Add a 1 bit for padding */ - X[i >> 2] |= 128 << ((i & 3) << 3); - - /* length in bits is at least 448 mod 512, second block needed */ - if ((lswlen & 63) >= 56) { - ripemd160_compress(MDbuf, X); - memset(X, 0, 64); - } - - /* Append the 64-bit length in the last 2 words, low-order word first */ - X[14] = lswlen << 3; - X[15] = (mswlen << 3) + (lswlen >> 29); - ripemd160_compress(MDbuf, X); /* Compress the final block */ -} diff --git a/helpers/DATA/tcltrf/ripemd/rmd160.h b/helpers/DATA/tcltrf/ripemd/rmd160.h deleted file mode 100644 index 9e596412..00000000 --- a/helpers/DATA/tcltrf/ripemd/rmd160.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Header file for implementation of RIPEMD-160. - * - * Copyright (C) 2014 Legimet <legimet.calc@gmail.com> - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL I LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, - * INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS - * SOFTWARE AND ITS DOCUMENTATION, EVEN IF I HAVE BEEN ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * I SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND - * I HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, - * ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef RMD160_H -#define RMD160_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include <stdint.h> - -typedef uint32_t dword; -typedef uint16_t word; -typedef uint8_t byte; - -void ripemd160_MDinit(dword *MDbuf); - -void ripemd160_compress(dword *MDbuf, dword *X); - -void ripemd160_MDfinish(dword *MDbuf, byte *strptr, dword lswlen, dword mswlen); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/helpers/DATA/tcltrf/ripemd/rmdcommon.h b/helpers/DATA/tcltrf/ripemd/rmdcommon.h deleted file mode 100644 index 61893c87..00000000 --- a/helpers/DATA/tcltrf/ripemd/rmdcommon.h +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Common constants and functions for RIPEMD-128 and RIPEMD-160. - * - * Copyright (C) 2014 Legimet <legimet.calc@gmail.com> - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL I LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, - * INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS - * SOFTWARE AND ITS DOCUMENTATION, EVEN IF I HAVE BEEN ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * I SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND - * I HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, - * ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef RMDCOMMON_H -#define RMDCOMMON_H - -#include <stdint.h> - -/* Initial values */ -static const uint32_t initvals[5] = { - 0x67452301, - 0xefcdab89, - 0x98badcfe, - 0x10325476, - 0xc3d2e1f0 -}; - -/* Added constants */ -static const uint32_t k[5] = { - 0x5a827999, - 0x6ed9eba1, - 0x8f1bbcdc, - 0xa953fd4e -}; - -static const uint32_t kprime[5] = { - 0x50a28be6, - 0x5c4dd124, - 0x6d703ef3, - 0x7a6d76e9, -}; - -/* Message selection */ -static const int r[80] = { - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, - 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, - 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, - 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13 -}; - -static const int rprime[80] = { - 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, - 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, - 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, - 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, - 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11 -}; - -/* Number of bits for left rotations */ -static const int s[80] = { - 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, - 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, - 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, - 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, - 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6 -}; - -static const int sprime[80] = { - 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, - 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, - 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, - 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, - 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11 -}; - -static inline uint32_t rmd_f1(uint32_t x, uint32_t y, uint32_t z) { - return x ^ y ^ z; -} - -static inline uint32_t rmd_f2(uint32_t x, uint32_t y, uint32_t z) { - return (x & y) | (~x & z); -} - -static inline uint32_t rmd_f3(uint32_t x, uint32_t y, uint32_t z) { - return (x | ~y) ^ z; -} - -static inline uint32_t rmd_f4(uint32_t x, uint32_t y, uint32_t z) { - return (x & z) | (y & ~z); -} - -static inline uint32_t rmd_f5(uint32_t x, uint32_t y, uint32_t z) { - return x ^ (y | ~z); -} - -static inline uint32_t rmd_rol(uint32_t n, int bits) { - return ((n << bits) | (n >> (32 - bits))); -} - -#endif -- GitLab