Kemena3D
Loading...
Searching...
No Matches
kmd5.h File Reference
#include <string>
#include <cstring>
#include <sstream>
#include <iomanip>
#include <cstdint>
Include dependency graph for kmd5.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  kemena::kMD5
 Streaming MD5 message-digest implementation. More...

Namespaces

namespace  kemena
 Top-level Kemena3D engine namespace.

Functions

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.