|
| uint32_t | kemena::F (uint32_t x, uint32_t y, uint32_t z) |
| | MD5 auxiliary function F used in round 1: (x & y) | (~x & z).
|
| uint32_t | kemena::G (uint32_t x, uint32_t y, uint32_t z) |
| | MD5 auxiliary function G used in round 2: (x & z) | (y & ~z).
|
| uint32_t | kemena::H (uint32_t x, uint32_t y, uint32_t z) |
| | MD5 auxiliary function H used in round 3: x ^ y ^ z.
|
| uint32_t | kemena::I (uint32_t x, uint32_t y, uint32_t z) |
| | MD5 auxiliary function I used in round 4: y ^ (x | ~z).
|
| uint32_t | kemena::rotate_left (uint32_t x, int n) |
| | Performs a circular left rotation of a 32-bit value.
|
| void | kemena::FF (uint32_t &a, uint32_t b, uint32_t c, uint32_t d, uint32_t x, uint32_t s, uint32_t ac) |
| | Round-1 transformation step using the F mixing function.
|
| void | kemena::GG (uint32_t &a, uint32_t b, uint32_t c, uint32_t d, uint32_t x, uint32_t s, uint32_t ac) |
| | Round-2 transformation step using the G mixing function.
|
| void | kemena::HH (uint32_t &a, uint32_t b, uint32_t c, uint32_t d, uint32_t x, uint32_t s, uint32_t ac) |
| | Round-3 transformation step using the H mixing function.
|
| void | kemena::II (uint32_t &a, uint32_t b, uint32_t c, uint32_t d, uint32_t x, uint32_t s, uint32_t ac) |
| | Round-4 transformation step using the I mixing function.
|
| void | kemena::encode (uint8_t *output, const uint32_t *input, size_t length) |
| | Serialises 32-bit words into bytes in little-endian order.
|
| void | kemena::decode (uint32_t *output, const uint8_t *input, size_t length) |
| | Reassembles bytes into 32-bit words assuming little-endian order.
|