Dash Core Source Documentation (0.16.0.1)
Find detailed information regarding the Dash Core source code.
Go to the source code of this file.
Macros | |
#define | C32e(x) SPH_C32(x) |
#define | dec32e_aligned sph_dec32be_aligned |
#define | enc32e sph_enc32be |
#define | Sb(x0, x1, x2, x3, c) |
#define | Lb(x0, x1, x2, x3, x4, x5, x6, x7) |
#define | Ceven_w3(r) (C[((r) << 3) + 0]) |
#define | Ceven_w2(r) (C[((r) << 3) + 1]) |
#define | Ceven_w1(r) (C[((r) << 3) + 2]) |
#define | Ceven_w0(r) (C[((r) << 3) + 3]) |
#define | Codd_w3(r) (C[((r) << 3) + 4]) |
#define | Codd_w2(r) (C[((r) << 3) + 5]) |
#define | Codd_w1(r) (C[((r) << 3) + 6]) |
#define | Codd_w0(r) (C[((r) << 3) + 7]) |
#define | S(x0, x1, x2, x3, cb, r) |
#define | L(x0, x1, x2, x3, x4, x5, x6, x7) |
#define | Wz(x, c, n) |
#define | W0(x) Wz(x, SPH_C32(0x55555555), 1) |
#define | W1(x) Wz(x, SPH_C32(0x33333333), 2) |
#define | W2(x) Wz(x, SPH_C32(0x0F0F0F0F), 4) |
#define | W3(x) Wz(x, SPH_C32(0x00FF00FF), 8) |
#define | W4(x) Wz(x, SPH_C32(0x0000FFFF), 16) |
#define | W5(x) |
#define | W6(x) |
#define | DECL_STATE |
#define | READ_STATE(state) |
#define | WRITE_STATE(state) |
#define | INPUT_BUF1 |
#define | INPUT_BUF2 |
#define | SL(ro) SLu(r + ro, ro) |
#define | SLu(r, ro) |
#define | E8 |
Functions | |
static void | jh_init (sph_jh_context *sc, const void *iv) |
static void | jh_core (sph_jh_context *sc, const void *data, size_t len) |
static void | jh_close (sph_jh_context *sc, unsigned ub, unsigned n, void *dst, size_t out_size_w32, const void *iv) |
void | sph_jh224_init (void *cc) |
Initialize a JH-224 context. More... | |
void | sph_jh224 (void *cc, const void *data, size_t len) |
Process some data bytes. More... | |
void | sph_jh224_close (void *cc, void *dst) |
Terminate the current JH-224 computation and output the result into the provided buffer. More... | |
void | sph_jh224_addbits_and_close (void *cc, unsigned ub, unsigned n, void *dst) |
Add a few additional bits (0 to 7) to the current computation, then terminate it and output the result in the provided buffer, which must be wide enough to accomodate the result (28 bytes). More... | |
void | sph_jh256_init (void *cc) |
Initialize a JH-256 context. More... | |
void | sph_jh256 (void *cc, const void *data, size_t len) |
Process some data bytes. More... | |
void | sph_jh256_close (void *cc, void *dst) |
Terminate the current JH-256 computation and output the result into the provided buffer. More... | |
void | sph_jh256_addbits_and_close (void *cc, unsigned ub, unsigned n, void *dst) |
Add a few additional bits (0 to 7) to the current computation, then terminate it and output the result in the provided buffer, which must be wide enough to accomodate the result (32 bytes). More... | |
void | sph_jh384_init (void *cc) |
Initialize a JH-384 context. More... | |
void | sph_jh384 (void *cc, const void *data, size_t len) |
Process some data bytes. More... | |
void | sph_jh384_close (void *cc, void *dst) |
Terminate the current JH-384 computation and output the result into the provided buffer. More... | |
void | sph_jh384_addbits_and_close (void *cc, unsigned ub, unsigned n, void *dst) |
Add a few additional bits (0 to 7) to the current computation, then terminate it and output the result in the provided buffer, which must be wide enough to accomodate the result (48 bytes). More... | |
void | sph_jh512_init (void *cc) |
Initialize a JH-512 context. More... | |
void | sph_jh512 (void *cc, const void *data, size_t len) |
Process some data bytes. More... | |
void | sph_jh512_close (void *cc, void *dst) |
Terminate the current JH-512 computation and output the result into the provided buffer. More... | |
void | sph_jh512_addbits_and_close (void *cc, unsigned ub, unsigned n, void *dst) |
Add a few additional bits (0 to 7) to the current computation, then terminate it and output the result in the provided buffer, which must be wide enough to accomodate the result (64 bytes). More... | |
Variables | |
static const sph_u32 | C [] |
static const sph_u32 | IV224 [] |
static const sph_u32 | IV256 [] |
static const sph_u32 | IV384 [] |
static const sph_u32 | IV512 [] |
Macro Definition Documentation
◆ C32e
◆ Ceven_w0
◆ Ceven_w1
◆ Ceven_w2
◆ Ceven_w3
◆ Codd_w0
◆ Codd_w1
◆ Codd_w2
◆ Codd_w3
◆ dec32e_aligned
#define dec32e_aligned sph_dec32be_aligned |
◆ DECL_STATE
#define DECL_STATE |
◆ E8
#define E8 |
◆ enc32e
#define enc32e sph_enc32be |
Definition at line 94 of file jh.c.
Referenced by jh_close().
◆ INPUT_BUF1
◆ INPUT_BUF2
#define INPUT_BUF2 |
◆ L
#define L | ( | x0, | |
x1, | |||
x2, | |||
x3, | |||
x4, | |||
x5, | |||
x6, | |||
x7 | |||
) |
Definition at line 501 of file jh.c.
Referenced by CBlockHeaderAndShortTxIDs::GetShortID(), InitHTTPServer(), and StartHTTPServer().
◆ Lb
#define Lb | ( | x0, | |
x1, | |||
x2, | |||
x3, | |||
x4, | |||
x5, | |||
x6, | |||
x7 | |||
) |
◆ READ_STATE
◆ S
#define S | ( | x0, | |
x1, | |||
x2, | |||
x3, | |||
cb, | |||
r | |||
) |
◆ Sb
#define Sb | ( | x0, | |
x1, | |||
x2, | |||
x3, | |||
c | |||
) |
◆ SL
◆ SLu
#define SLu | ( | r, | |
ro | |||
) |
◆ W0
◆ W1
◆ W2
◆ W3
◆ W4
◆ W5
#define W5 | ( | x | ) |
◆ W6
#define W6 | ( | x | ) |
◆ WRITE_STATE
◆ Wz
#define Wz | ( | x, | |
c, | |||
n | |||
) |
Function Documentation
◆ jh_close()
|
static |
Definition at line 954 of file jh.c.
References sph_jh_context::block_count_high, sph_jh_context::block_count_low, enc32e, sph_jh_context::H, jh_core(), jh_init(), memcpy(), sph_jh_context::narrow, sph_jh_context::ptr, sph_enc32be(), and SPH_T32.
Referenced by sph_jh224_addbits_and_close(), sph_jh224_close(), sph_jh256_addbits_and_close(), sph_jh256_close(), sph_jh384_addbits_and_close(), sph_jh384_close(), sph_jh512_addbits_and_close(), and sph_jh512_close().
◆ jh_core()
|
static |
Definition at line 909 of file jh.c.
References sph_jh_context::block_count_high, sph_jh_context::block_count_low, sph_jh_context::buf, DECL_STATE, E8, INPUT_BUF1, INPUT_BUF2, memcpy(), sph_jh_context::ptr, READ_STATE, SPH_T32, and WRITE_STATE.
Referenced by jh_close(), sph_jh224(), sph_jh256(), sph_jh384(), and sph_jh512().
◆ jh_init()
|
static |
Definition at line 892 of file jh.c.
References sph_jh_context::block_count_high, sph_jh_context::block_count_low, sph_jh_context::H, memcpy(), sph_jh_context::narrow, and sph_jh_context::ptr.
Referenced by jh_close(), sph_jh224_init(), sph_jh256_init(), sph_jh384_init(), and sph_jh512_init().
◆ sph_jh224()
void sph_jh224 | ( | void * | cc, |
const void * | data, | ||
size_t | len | ||
) |
◆ sph_jh224_addbits_and_close()
void sph_jh224_addbits_and_close | ( | void * | cc, |
unsigned | ub, | ||
unsigned | n, | ||
void * | dst | ||
) |
Add a few additional bits (0 to 7) to the current computation, then terminate it and output the result in the provided buffer, which must be wide enough to accomodate the result (28 bytes).
If bit number i in ub
has value 2^i, then the extra bits are those numbered 7 downto 8-n (this is the big-endian convention at the byte level). The context is automatically reinitialized.
- Parameters
-
cc the JH-224 context ub the extra bits n the number of extra bits (0 to 7) dst the destination buffer
Definition at line 1025 of file jh.c.
References IV224, and jh_close().
◆ sph_jh224_close()
void sph_jh224_close | ( | void * | cc, |
void * | dst | ||
) |
Terminate the current JH-224 computation and output the result into the provided buffer.
The destination buffer must be wide enough to accomodate the result (28 bytes). The context is automatically reinitialized.
- Parameters
-
cc the JH-224 context dst the destination buffer
Definition at line 1018 of file jh.c.
References IV224, and jh_close().
◆ sph_jh224_init()
void sph_jh224_init | ( | void * | cc | ) |
◆ sph_jh256()
void sph_jh256 | ( | void * | cc, |
const void * | data, | ||
size_t | len | ||
) |
◆ sph_jh256_addbits_and_close()
void sph_jh256_addbits_and_close | ( | void * | cc, |
unsigned | ub, | ||
unsigned | n, | ||
void * | dst | ||
) |
Add a few additional bits (0 to 7) to the current computation, then terminate it and output the result in the provided buffer, which must be wide enough to accomodate the result (32 bytes).
If bit number i in ub
has value 2^i, then the extra bits are those numbered 7 downto 8-n (this is the big-endian convention at the byte level). The context is automatically reinitialized.
- Parameters
-
cc the JH-256 context ub the extra bits n the number of extra bits (0 to 7) dst the destination buffer
Definition at line 1053 of file jh.c.
References IV256, and jh_close().
◆ sph_jh256_close()
void sph_jh256_close | ( | void * | cc, |
void * | dst | ||
) |
Terminate the current JH-256 computation and output the result into the provided buffer.
The destination buffer must be wide enough to accomodate the result (32 bytes). The context is automatically reinitialized.
- Parameters
-
cc the JH-256 context dst the destination buffer
Definition at line 1046 of file jh.c.
References IV256, and jh_close().
◆ sph_jh256_init()
void sph_jh256_init | ( | void * | cc | ) |
◆ sph_jh384()
void sph_jh384 | ( | void * | cc, |
const void * | data, | ||
size_t | len | ||
) |
◆ sph_jh384_addbits_and_close()
void sph_jh384_addbits_and_close | ( | void * | cc, |
unsigned | ub, | ||
unsigned | n, | ||
void * | dst | ||
) |
Add a few additional bits (0 to 7) to the current computation, then terminate it and output the result in the provided buffer, which must be wide enough to accomodate the result (48 bytes).
If bit number i in ub
has value 2^i, then the extra bits are those numbered 7 downto 8-n (this is the big-endian convention at the byte level). The context is automatically reinitialized.
- Parameters
-
cc the JH-384 context ub the extra bits n the number of extra bits (0 to 7) dst the destination buffer
Definition at line 1081 of file jh.c.
References IV384, and jh_close().
◆ sph_jh384_close()
void sph_jh384_close | ( | void * | cc, |
void * | dst | ||
) |
Terminate the current JH-384 computation and output the result into the provided buffer.
The destination buffer must be wide enough to accomodate the result (48 bytes). The context is automatically reinitialized.
- Parameters
-
cc the JH-384 context dst the destination buffer
Definition at line 1074 of file jh.c.
References IV384, and jh_close().
◆ sph_jh384_init()
void sph_jh384_init | ( | void * | cc | ) |
◆ sph_jh512()
void sph_jh512 | ( | void * | cc, |
const void * | data, | ||
size_t | len | ||
) |
◆ sph_jh512_addbits_and_close()
void sph_jh512_addbits_and_close | ( | void * | cc, |
unsigned | ub, | ||
unsigned | n, | ||
void * | dst | ||
) |
Add a few additional bits (0 to 7) to the current computation, then terminate it and output the result in the provided buffer, which must be wide enough to accomodate the result (64 bytes).
If bit number i in ub
has value 2^i, then the extra bits are those numbered 7 downto 8-n (this is the big-endian convention at the byte level). The context is automatically reinitialized.
- Parameters
-
cc the JH-512 context ub the extra bits n the number of extra bits (0 to 7) dst the destination buffer
Definition at line 1109 of file jh.c.
References IV512, and jh_close().
◆ sph_jh512_close()
void sph_jh512_close | ( | void * | cc, |
void * | dst | ||
) |
Terminate the current JH-512 computation and output the result into the provided buffer.
The destination buffer must be wide enough to accomodate the result (64 bytes). The context is automatically reinitialized.
- Parameters
-
cc the JH-512 context dst the destination buffer
Definition at line 1102 of file jh.c.
References IV512, and jh_close().
Referenced by HashX11().
◆ sph_jh512_init()
void sph_jh512_init | ( | void * | cc | ) |
Variable Documentation
◆ C
|
static |
Definition at line 370 of file jh.c.
Referenced by CBLSWrapper< bls::InsecureSignature, BLS_CURVE_SIG_SIZE, CBLSSignature >::Reset(), Serialize(), and Unserialize().
◆ IV224
|
static |
Definition at line 674 of file jh.c.
Referenced by sph_jh224_addbits_and_close(), sph_jh224_close(), and sph_jh224_init().
◆ IV256
|
static |
Definition at line 685 of file jh.c.
Referenced by sph_jh256_addbits_and_close(), sph_jh256_close(), and sph_jh256_init().
◆ IV384
|
static |
Definition at line 696 of file jh.c.
Referenced by sph_jh384_addbits_and_close(), sph_jh384_close(), and sph_jh384_init().
◆ IV512
|
static |
Definition at line 707 of file jh.c.
Referenced by sph_jh512_addbits_and_close(), sph_jh512_close(), and sph_jh512_init().