Go to the documentation of this file.
61 #include "../../crypto/internal.h"
62 #include "../../crypto/fipsmodule/digest/md32_common.h"
65 #define RIPEMD160_A 0x67452301L
66 #define RIPEMD160_B 0xEFCDAB89L
67 #define RIPEMD160_C 0x98BADCFEL
68 #define RIPEMD160_D 0x10325476L
69 #define RIPEMD160_E 0xC3D2E1F0L
109 #define F1(x, y, z) ((x) ^ (y) ^ (z))
110 #define F2(x, y, z) ((((y) ^ (z)) & (x)) ^ (z))
111 #define F3(x, y, z) (((~(y)) | (x)) ^ (z))
112 #define F4(x, y, z) ((((x) ^ (y)) & (z)) ^ (y))
113 #define F5(x, y, z) (((~(z)) | (y)) ^ (x))
115 #define RIP1(a, b, c, d, e, w, s) \
117 a += F1(b, c, d) + X(w); \
118 a = CRYPTO_rotl_u32(a, s) + e; \
119 c = CRYPTO_rotl_u32(c, 10); \
122 #define RIP2(a, b, c, d, e, w, s, K) \
124 a += F2(b, c, d) + X(w) + K; \
125 a = CRYPTO_rotl_u32(a, s) + e; \
126 c = CRYPTO_rotl_u32(c, 10); \
129 #define RIP3(a, b, c, d, e, w, s, K) \
131 a += F3(b, c, d) + X(w) + K; \
132 a = CRYPTO_rotl_u32(a, s) + e; \
133 c = CRYPTO_rotl_u32(c, 10); \
136 #define RIP4(a, b, c, d, e, w, s, K) \
138 a += F4(b, c, d) + X(w) + K; \
139 a = CRYPTO_rotl_u32(a, s) + e; \
140 c = CRYPTO_rotl_u32(c, 10); \
143 #define RIP5(a, b, c, d, e, w, s, K) \
145 a += F5(b, c, d) + X(w) + K; \
146 a = CRYPTO_rotl_u32(a, s) + e; \
147 c = CRYPTO_rotl_u32(c, 10); \
150 #define KL0 0x00000000L
151 #define KL1 0x5A827999L
152 #define KL2 0x6ED9EBA1L
153 #define KL3 0x8F1BBCDCL
154 #define KL4 0xA953FD4EL
156 #define KR0 0x50A28BE6L
157 #define KR1 0x5C4DD124L
158 #define KR2 0x6D703EF3L
159 #define KR3 0x7A6D76E9L
160 #define KR4 0x00000000L
496 uint32_t XX0, XX1, XX2, XX3, XX4, XX5, XX6, XX7, XX8, XX9, XX10, XX11, XX12,
#define RIP4(a, b, c, d, e, w, s, K)
int RIPEMD160_Final(uint8_t out[RIPEMD160_DIGEST_LENGTH], RIPEMD160_CTX *c)
static struct test_ctx ctx
static void * OPENSSL_memset(void *dst, int c, size_t n)
static void CRYPTO_store_u32_le(void *out, uint32_t v)
static void crypto_md32_update(crypto_md32_block_func block_func, uint32_t *h, uint8_t *data, size_t block_size, unsigned *num, uint32_t *Nh, uint32_t *Nl, const uint8_t *in, size_t len)
#define RIP5(a, b, c, d, e, w, s, K)
#define RIP2(a, b, c, d, e, w, s, K)
#define RIPEMD160_DIGEST_LENGTH
static void ripemd160_block_data_order(uint32_t h[5], const uint8_t *data, size_t num)
int RIPEMD160_Init(RIPEMD160_CTX *ctx)
int RIPEMD160_Update(RIPEMD160_CTX *c, const void *data, size_t len)
#define RIP3(a, b, c, d, e, w, s, K)
static uint32_t CRYPTO_load_u32_le(const void *in)
uint8_t * RIPEMD160(const uint8_t *data, size_t len, uint8_t out[RIPEMD160_DIGEST_LENGTH])
static void crypto_md32_final(crypto_md32_block_func block_func, uint32_t *h, uint8_t *data, size_t block_size, unsigned *num, uint32_t Nh, uint32_t Nl, int is_big_endian)
#define RIP1(a, b, c, d, e, w, s)
void RIPEMD160_Transform(RIPEMD160_CTX *c, const uint8_t data[RIPEMD160_CBLOCK])
grpc
Author(s):
autogenerated on Fri May 16 2025 03:00:05