RIPEMD-128 hash function. More...
Go to the source code of this file.
Macros | |
#define | TRACE_LEVEL CRYPTO_TRACE_LEVEL |
#define | F(x, y, z) ((x) ^ (y) ^ (z)) |
#define | G(x, y, z) (((x) & (y)) | (~(x) & (z))) |
#define | H(x, y, z) (((x) | ~(y)) ^ (z)) |
#define | I(x, y, z) (((x) & (z)) | ((y) & ~(z))) |
#define | FF(a, b, c, d, x, s) a += F(b, c, d) + (x), a = ROL32(a, s) |
#define | GG(a, b, c, d, x, s) a += G(b, c, d) + (x) + 0x5A827999, a = ROL32(a, s) |
#define | HH(a, b, c, d, x, s) a += H(b, c, d) + (x) + 0x6ED9EBA1, a = ROL32(a, s) |
#define | II(a, b, c, d, x, s) a += I(b, c, d) + (x) + 0x8F1BBCDC, a = ROL32(a, s) |
#define | FFF(a, b, c, d, x, s) a += F(b, c, d) + (x), a = ROL32(a, s) |
#define | GGG(a, b, c, d, x, s) a += G(b, c, d) + (x) + 0x6D703EF3, a = ROL32(a, s) |
#define | HHH(a, b, c, d, x, s) a += H(b, c, d) + (x) + 0x5C4DD124, a = ROL32(a, s) |
#define | III(a, b, c, d, x, s) a += I(b, c, d) + (x) + 0x50A28BE6, a = ROL32(a, s) |
Functions | |
error_t | ripemd128Compute (const void *data, size_t length, uint8_t *digest) |
Digest a message using RIPEMD-128. More... | |
void | ripemd128Init (Ripemd128Context *context) |
Initialize RIPEMD-128 message digest context. More... | |
void | ripemd128Update (Ripemd128Context *context, const void *data, size_t length) |
Update the RIPEMD-128 context with a portion of the message being hashed. More... | |
void | ripemd128Final (Ripemd128Context *context, uint8_t *digest) |
Finish the RIPEMD-128 message digest. More... | |
void | ripemd128ProcessBlock (Ripemd128Context *context) |
Process message in 16-word blocks. More... | |
Variables | |
const uint8_t | RIPEMD128_OID [5] = {0x2B, 0x24, 0x03, 0x02, 0x02} |
const HashAlgo | ripemd128HashAlgo |
Detailed Description
RIPEMD-128 hash function.
License
SPDX-License-Identifier: GPL-2.0-or-later
Copyright (C) 2010-2024 Oryx Embedded SARL. All rights reserved.
This file is part of CycloneCRYPTO Open.
This program 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.
This program 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 this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- Version
- 2.4.4
Definition in file ripemd128.c.
Macro Definition Documentation
◆ F
◆ FF
Definition at line 47 of file ripemd128.c.
◆ FFF
Definition at line 52 of file ripemd128.c.
◆ G
◆ GG
Definition at line 48 of file ripemd128.c.
◆ GGG
Definition at line 53 of file ripemd128.c.
◆ H
◆ HH
Definition at line 49 of file ripemd128.c.
◆ HHH
Definition at line 54 of file ripemd128.c.
◆ I
◆ II
Definition at line 50 of file ripemd128.c.
◆ III
Definition at line 55 of file ripemd128.c.
◆ TRACE_LEVEL
#define TRACE_LEVEL CRYPTO_TRACE_LEVEL |
Definition at line 32 of file ripemd128.c.
Function Documentation
◆ ripemd128Compute()
error_t ripemd128Compute | ( | const void * | data, |
size_t | length, | ||
uint8_t * | digest | ||
) |
Digest a message using RIPEMD-128.
- Parameters
-
[in] data Pointer to the message being hashed [in] length Length of the message [out] digest Pointer to the calculated digest
- Returns
- Error code
Definition at line 96 of file ripemd128.c.
◆ ripemd128Final()
void ripemd128Final | ( | Ripemd128Context * | context, |
uint8_t * | digest | ||
) |
Finish the RIPEMD-128 message digest.
- Parameters
-
[in] context Pointer to the RIPEMD-128 context [out] digest Calculated digest (optional parameter)
Definition at line 202 of file ripemd128.c.
◆ ripemd128Init()
void ripemd128Init | ( | Ripemd128Context * | context | ) |
Initialize RIPEMD-128 message digest context.
- Parameters
-
[in] context Pointer to the RIPEMD-128 context to initialize
Definition at line 141 of file ripemd128.c.
◆ ripemd128ProcessBlock()
void ripemd128ProcessBlock | ( | Ripemd128Context * | context | ) |
Process message in 16-word blocks.
- Parameters
-
[in] context Pointer to the RIPEMD-128 context
Definition at line 250 of file ripemd128.c.
◆ ripemd128Update()
void ripemd128Update | ( | Ripemd128Context * | context, |
const void * | data, | ||
size_t | length | ||
) |
Update the RIPEMD-128 context with a portion of the message being hashed.
- Parameters
-
[in] context Pointer to the RIPEMD-128 context [in] data Pointer to the buffer being hashed [in] length Length of the buffer
Definition at line 163 of file ripemd128.c.
Variable Documentation
◆ RIPEMD128_OID
const uint8_t RIPEMD128_OID[5] = {0x2B, 0x24, 0x03, 0x02, 0x02} |
Definition at line 67 of file ripemd128.c.
◆ ripemd128HashAlgo
const HashAlgo ripemd128HashAlgo |
Definition at line 70 of file ripemd128.c.