Go to the documentation of this file.
17 #ifndef USGOV_5a3346e45d07feaf4864a3e08a47717c8da7429ee7accc342f7bc496c9fdb846
18 #define USGOV_5a3346e45d07feaf4864a3e08a47717c8da7429ee7accc342f7bc496c9fdb846
30 namespace us {
namespace gov {
36 static constexpr
size_t output_size = 20;
39 typedef array<unsigned char,output_size>
b;
49 void set(
unsigned int i);
72 template<
typename T1,
typename T2>
85 void write(
const vector<unsigned char>&);
86 void write(
const unsigned char* data,
size_t len);
95 void finalize(
unsigned char hash[output_size]);
104 unsigned char buf[64];
106 static const unsigned char pad[64];
125 if (!v.
set_b58(s)) is.setstate(ios_base::failbit);
135 struct hash<
us::gov::crypto::ripemd160::value_type> {
137 return *
reinterpret_cast<const size_t*
>(&k[0]);
uint32_t f5(uint32_t x, uint32_t y, uint32_t z)
Definition: ripemd160.cpp:38
uint32_t f2(uint32_t x, uint32_t y, uint32_t z)
Definition: ripemd160.cpp:35
value_type(unsigned int i)
array< unsigned char, output_size > b
Definition: ripemd160.h:39
uint32_t f1(uint32_t x, uint32_t y, uint32_t z)
Definition: ripemd160.cpp:34
static pair< ko, value_type > digest_file(const string &file)
uint32_t f4(uint32_t x, uint32_t y, uint32_t z)
Definition: ripemd160.cpp:37
void R31(uint32_t &a, uint32_t b, uint32_t &c, uint32_t d, uint32_t e, uint32_t x, int r)
Definition: ripemd160.cpp:57
static value_type compute(const T &o)
Definition: ripemd160.h:64
void write(const int32_t &)
void finalize(value_type &)
void write(const uint64_t &)
void finalize(unsigned char hash[output_size])
uint64_t bytes
Definition: ripemd160.h:105
void R32(uint32_t &a, uint32_t b, uint32_t &c, uint32_t d, uint32_t e, uint32_t x, int r)
Definition: ripemd160.cpp:63
void write(const value_type &)
Definition: ripemd160.h:38
#define unlikely(x)
Definition: likely.h:30
size_t operator()(const us::gov::crypto::ripemd160::value_type &k) const
Definition: ripemd160.h:136
ostream & operator<<(ostream &os, const ec::keys::pub_t &k)
Definition: ec.h:147
void R12(uint32_t &a, uint32_t b, uint32_t &c, uint32_t d, uint32_t e, uint32_t x, int r)
Definition: ripemd160.cpp:61
static value_type from_hex(const string &)
value_type(const value_type &)
void R42(uint32_t &a, uint32_t b, uint32_t &c, uint32_t d, uint32_t e, uint32_t x, int r)
Definition: ripemd160.cpp:64
bool read_file(const string &filename, vector< unsigned char > &)
Definition: cfg0.cpp:150
void R11(uint32_t &a, uint32_t b, uint32_t &c, uint32_t d, uint32_t e, uint32_t x, int r)
Definition: ripemd160.cpp:55
uint32_t rol(uint32_t x, int i)
Definition: ripemd160.cpp:48
void Initialize(uint32_t *s)
Definition: ripemd160.cpp:40
void Transform(uint32_t *s, const unsigned char *chunk)
Definition: ripemd160.cpp:67
static void WriteLE64(unsigned char *ptr, uint64_t x)
Definition: endian_rw.h:21
std::vector< unsigned char > decode(const std::string &s)
Definition: base58.cpp:54
bool set_hex(const string &)
void write(const uint32_t &)
static value_type digest(const vector< unsigned char > &buf)
static value_type compute(const T1 &o1, const T2 &o2)
Definition: ripemd160.h:73
us::gov::crypto::ripemd160 c
Definition: ripemd160.cpp:31
const ko_t * ko
Definition: ko.h:27
Definition: ripemd160.h:34
ripemd160 hasher_t
Definition: ripemd160.h:40
Definition: client.cpp:417
static constexpr ko ok
Definition: ko.h:28
void R22(uint32_t &a, uint32_t b, uint32_t &c, uint32_t d, uint32_t e, uint32_t x, int r)
Definition: ripemd160.cpp:62
void R51(uint32_t &a, uint32_t b, uint32_t &c, uint32_t d, uint32_t e, uint32_t x, int r)
Definition: ripemd160.cpp:59
void R52(uint32_t &a, uint32_t b, uint32_t &c, uint32_t d, uint32_t e, uint32_t x, int r)
Definition: ripemd160.cpp:65
void write(const double &)
void R41(uint32_t &a, uint32_t b, uint32_t &c, uint32_t d, uint32_t e, uint32_t x, int r)
Definition: ripemd160.cpp:58
std::string encode(const std::string &s)
Definition: base58.cpp:62
static value_type from_b58(const string &)
Definition: base58.cpp:19
uint32_t f3(uint32_t x, uint32_t y, uint32_t z)
Definition: ripemd160.cpp:36
void write(const int64_t &)
void write(const string &)
void write(const vector< unsigned char > &)
static uint32_t ReadLE32(const unsigned char *ptr)
Definition: endian_rw.h:17
void R21(uint32_t &a, uint32_t b, uint32_t &c, uint32_t d, uint32_t e, uint32_t x, int r)
Definition: ripemd160.cpp:56
value_type(const string &b58)
static void WriteLE32(unsigned char *ptr, uint32_t x)
Definition: endian_rw.h:20
void Round(uint32_t &a, uint32_t b, uint32_t &c, uint32_t d, uint32_t e, uint32_t f, uint32_t x, uint32_t k, int r)
Definition: ripemd160.cpp:50
bool set_b58(const string &)
istream & operator>>(istream &is, ec::keys::pub_t &k)
Definition: ec.h:152
void write(const unsigned char *data, size_t len)