libhasha 2.2.2
Loading...
Searching...
No Matches
primitive.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define ha_primitive_base_rot(fst, scd, bits, x, n)
#define ha_primitive_base_rotl(bits, x, n)
#define ha_primitive_base_rotr(bits, x, n)
#define ha_primitive_rotl32(x, n)
#define ha_primitive_rotl64(x, n)
#define ha_primitive_rotr32(x, n)
#define ha_primitive_rotr64(x, n)
#define ha_primitive_shr(x, n)
#define ha_primitive_shl(x, n)
#define ha_primitive_ch(x, y, z)
#define ha_primitive_maj(x, y, z)
#define ha_primitive_md5_f(x, y, z)
#define ha_primitive_md5_g(x, y, z)
#define ha_primitive_md5_h(x, y, z)
#define ha_primitive_md5_i(x, y, z)
#define ha_primitive_Sigma0_32(x)
#define ha_primitive_Sigma0_64(x)
#define ha_primitive_Sigma1_32(x)
#define ha_primitive_Sigma1_64(x)
#define ha_primitive_sigma0_32(x)
#define ha_primitive_sigma0_64(x)
#define ha_primitive_sigma1_32(x)
#define ha_primitive_sigma1_64(x)
#define ha_primitive_blake32_g(sigmatb, r, i, a, b, c, d)
#define ha_primitive_blake64_g(sigmatb, r, i, a, b, c, d)
#define ha_primitive_blake_round(sigmatb, g, i)
#define ha_primitive_blake32_round(sigmatb, i)
#define ha_primitive_blake64_round(sigmatb, i)

Macro Definition Documentation

◆ ha_primitive_base_rot

#define ha_primitive_base_rot ( fst,
scd,
bits,
x,
n )
Value:
(((x)fst(n)) | ((x)scd(bits - (n))))

Definition at line 6 of file primitive.h.

6#define ha_primitive_base_rot(fst, scd, bits, x, n) \
7 (((x)fst(n)) | ((x)scd(bits - (n))))

◆ ha_primitive_base_rotl

#define ha_primitive_base_rotl ( bits,
x,
n )
Value:
ha_primitive_base_rot(<<, >>, bits, x, n)
#define ha_primitive_base_rot(fst, scd, bits, x, n)
Definition primitive.h:6

Definition at line 8 of file primitive.h.

8#define ha_primitive_base_rotl(bits, x, n) \
9 ha_primitive_base_rot(<<, >>, bits, x, n)

◆ ha_primitive_base_rotr

#define ha_primitive_base_rotr ( bits,
x,
n )
Value:
ha_primitive_base_rot(>>, <<, bits, x, n)

Definition at line 10 of file primitive.h.

10#define ha_primitive_base_rotr(bits, x, n) \
11 ha_primitive_base_rot(>>, <<, bits, x, n)

◆ ha_primitive_blake32_g

#define ha_primitive_blake32_g ( sigmatb,
r,
i,
a,
b,
c,
d )
Value:
a += b + m[sigmatb[r][2 * i + 0]]; \
d ^= a; \
d = (d >> 16) | (d << 16); \
c += d; \
b ^= c; \
b = (b >> 12) | (b << 20); \
a += b + m[sigmatb[r][2 * i + 1]]; \
d ^= a; \
d = (d >> 8) | (d << 24); \
c += d; \
b ^= c; \
b = (b >> 7) | (b << 25);

Definition at line 62 of file primitive.h.

62#define ha_primitive_blake32_g(sigmatb, r, i, a, b, c, d) \
63 a += b + m[sigmatb[r][2 * i + 0]]; \
64 d ^= a; \
65 d = (d >> 16) | (d << 16); \
66 c += d; \
67 b ^= c; \
68 b = (b >> 12) | (b << 20); \
69 a += b + m[sigmatb[r][2 * i + 1]]; \
70 d ^= a; \
71 d = (d >> 8) | (d << 24); \
72 c += d; \
73 b ^= c; \
74 b = (b >> 7) | (b << 25);

◆ ha_primitive_blake32_round

#define ha_primitive_blake32_round ( sigmatb,
i )
Value:
#define ha_primitive_blake_round(sigmatb, g, i)
Definition primitive.h:90
#define ha_primitive_blake32_g(sigmatb, r, i, a, b, c, d)
Definition primitive.h:62

Definition at line 100 of file primitive.h.

100#define ha_primitive_blake32_round(sigmatb, i) \
101 ha_primitive_blake_round(sigmatb, ha_primitive_blake32_g, i)

◆ ha_primitive_blake64_g

#define ha_primitive_blake64_g ( sigmatb,
r,
i,
a,
b,
c,
d )
Value:
a += b + m[sigmatb[r][2 * i + 0]]; \
d ^= a; \
d = (d >> 32) | (d << 32); \
c += d; \
b ^= c; \
b = (b >> 24) | (b << 40); \
a += b + m[sigmatb[r][2 * i + 1]]; \
d ^= a; \
d = (d >> 16) | (d << 48); \
c += d; \
b ^= c; \
b = (b >> 63) | (b << 1);

Definition at line 76 of file primitive.h.

76#define ha_primitive_blake64_g(sigmatb, r, i, a, b, c, d) \
77 a += b + m[sigmatb[r][2 * i + 0]]; \
78 d ^= a; \
79 d = (d >> 32) | (d << 32); \
80 c += d; \
81 b ^= c; \
82 b = (b >> 24) | (b << 40); \
83 a += b + m[sigmatb[r][2 * i + 1]]; \
84 d ^= a; \
85 d = (d >> 16) | (d << 48); \
86 c += d; \
87 b ^= c; \
88 b = (b >> 63) | (b << 1);

◆ ha_primitive_blake64_round

#define ha_primitive_blake64_round ( sigmatb,
i )
Value:
#define ha_primitive_blake64_g(sigmatb, r, i, a, b, c, d)
Definition primitive.h:76

Definition at line 103 of file primitive.h.

103#define ha_primitive_blake64_round(sigmatb, i) \
104 ha_primitive_blake_round(sigmatb, ha_primitive_blake64_g, i)

◆ ha_primitive_blake_round

#define ha_primitive_blake_round ( sigmatb,
g,
i )
Value:
g(sigmatb, i, 0, v[0], v[4], v[8], v[12]); \
g(sigmatb, i, 1, v[1], v[5], v[9], v[13]); \
g(sigmatb, i, 2, v[2], v[6], v[10], v[14]); \
g(sigmatb, i, 3, v[3], v[7], v[11], v[15]); \
g(sigmatb, i, 4, v[0], v[5], v[10], v[15]); \
g(sigmatb, i, 5, v[1], v[6], v[11], v[12]); \
g(sigmatb, i, 6, v[2], v[7], v[8], v[13]); \
g(sigmatb, i, 7, v[3], v[4], v[9], v[14]);

Definition at line 90 of file primitive.h.

90#define ha_primitive_blake_round(sigmatb, g, i) \
91 g(sigmatb, i, 0, v[0], v[4], v[8], v[12]); \
92 g(sigmatb, i, 1, v[1], v[5], v[9], v[13]); \
93 g(sigmatb, i, 2, v[2], v[6], v[10], v[14]); \
94 g(sigmatb, i, 3, v[3], v[7], v[11], v[15]); \
95 g(sigmatb, i, 4, v[0], v[5], v[10], v[15]); \
96 g(sigmatb, i, 5, v[1], v[6], v[11], v[12]); \
97 g(sigmatb, i, 6, v[2], v[7], v[8], v[13]); \
98 g(sigmatb, i, 7, v[3], v[4], v[9], v[14]);

◆ ha_primitive_ch

#define ha_primitive_ch ( x,
y,
z )
Value:
(((x) & (y)) ^ (~(x) & (z)))

Definition at line 22 of file primitive.h.

◆ ha_primitive_maj

#define ha_primitive_maj ( x,
y,
z )
Value:
(((x) & (y)) ^ ((x) & (z)) ^ ((y) & (z)))

Definition at line 23 of file primitive.h.

◆ ha_primitive_md5_f

#define ha_primitive_md5_f ( x,
y,
z )
Value:
(((x) & (y)) | (~(x) & (z)))

Definition at line 26 of file primitive.h.

◆ ha_primitive_md5_g

#define ha_primitive_md5_g ( x,
y,
z )
Value:
(((x) & (z)) | ((y) & ~(z)))

Definition at line 27 of file primitive.h.

◆ ha_primitive_md5_h

#define ha_primitive_md5_h ( x,
y,
z )
Value:
((x) ^ (y) ^ (z))

Definition at line 28 of file primitive.h.

◆ ha_primitive_md5_i

#define ha_primitive_md5_i ( x,
y,
z )
Value:
((y) ^ ((x) | ~(z)))

Definition at line 29 of file primitive.h.

◆ ha_primitive_rotl32

#define ha_primitive_rotl32 ( x,
n )
Value:
#define ha_primitive_base_rotl(bits, x, n)
Definition primitive.h:8

Definition at line 13 of file primitive.h.

◆ ha_primitive_rotl64

#define ha_primitive_rotl64 ( x,
n )
Value:

Definition at line 14 of file primitive.h.

◆ ha_primitive_rotr32

#define ha_primitive_rotr32 ( x,
n )
Value:
#define ha_primitive_base_rotr(bits, x, n)
Definition primitive.h:10

Definition at line 16 of file primitive.h.

◆ ha_primitive_rotr64

#define ha_primitive_rotr64 ( x,
n )
Value:

Definition at line 17 of file primitive.h.

◆ ha_primitive_shl

#define ha_primitive_shl ( x,
n )
Value:
((x) << (n))

Definition at line 20 of file primitive.h.

◆ ha_primitive_shr

#define ha_primitive_shr ( x,
n )
Value:
((x) >> (n))

Definition at line 19 of file primitive.h.

◆ ha_primitive_Sigma0_32

#define ha_primitive_Sigma0_32 ( x)
Value:
(ha_primitive_rotr32((x), 2) ^ ha_primitive_rotr32((x), 13) ^ \
ha_primitive_rotr32((x), 22))
#define ha_primitive_rotr32(x, n)
Definition primitive.h:16

Definition at line 33 of file primitive.h.

33#define ha_primitive_Sigma0_32(x) \
34 (ha_primitive_rotr32((x), 2) ^ ha_primitive_rotr32((x), 13) ^ \
35 ha_primitive_rotr32((x), 22))

◆ ha_primitive_sigma0_32

#define ha_primitive_sigma0_32 ( x)
Value:
(ha_primitive_rotr32((x), 7) ^ ha_primitive_rotr32((x), 18) ^ \
ha_primitive_shr(x, 3))

Definition at line 48 of file primitive.h.

48#define ha_primitive_sigma0_32(x) \
49 (ha_primitive_rotr32((x), 7) ^ ha_primitive_rotr32((x), 18) ^ \
50 ha_primitive_shr(x, 3))

◆ ha_primitive_Sigma0_64

#define ha_primitive_Sigma0_64 ( x)
Value:
ha_primitive_rotr64(x, 39))
#define ha_primitive_rotr64(x, n)
Definition primitive.h:17

Definition at line 36 of file primitive.h.

36#define ha_primitive_Sigma0_64(x) \
37 (ha_primitive_rotr64(x, 28) ^ ha_primitive_rotr64(x, 34) ^ \
38 ha_primitive_rotr64(x, 39))

◆ ha_primitive_sigma0_64

#define ha_primitive_sigma0_64 ( x)
Value:
ha_primitive_shr(x, 7))

Definition at line 51 of file primitive.h.

51#define ha_primitive_sigma0_64(x) \
52 (ha_primitive_rotr64(x, 1) ^ ha_primitive_rotr64(x, 8) ^ \
53 ha_primitive_shr(x, 7))

◆ ha_primitive_Sigma1_32

#define ha_primitive_Sigma1_32 ( x)
Value:
(ha_primitive_rotr32((x), 6) ^ ha_primitive_rotr32((x), 11) ^ \
ha_primitive_rotr32((x), 25))

Definition at line 40 of file primitive.h.

40#define ha_primitive_Sigma1_32(x) \
41 (ha_primitive_rotr32((x), 6) ^ ha_primitive_rotr32((x), 11) ^ \
42 ha_primitive_rotr32((x), 25))

◆ ha_primitive_sigma1_32

#define ha_primitive_sigma1_32 ( x)
Value:
(ha_primitive_rotr32((x), 17) ^ ha_primitive_rotr32((x), 19) ^ \
((x) >> 10))

Definition at line 55 of file primitive.h.

55#define ha_primitive_sigma1_32(x) \
56 (ha_primitive_rotr32((x), 17) ^ ha_primitive_rotr32((x), 19) ^ \
57 ((x) >> 10))

◆ ha_primitive_Sigma1_64

#define ha_primitive_Sigma1_64 ( x)
Value:
ha_primitive_rotr64(x, 41))

Definition at line 43 of file primitive.h.

43#define ha_primitive_Sigma1_64(x) \
44 (ha_primitive_rotr64(x, 14) ^ ha_primitive_rotr64(x, 18) ^ \
45 ha_primitive_rotr64(x, 41))

◆ ha_primitive_sigma1_64

#define ha_primitive_sigma1_64 ( x)
Value:
ha_primitive_shr(x, 6))

Definition at line 58 of file primitive.h.

58#define ha_primitive_sigma1_64(x) \
59 (ha_primitive_rotr64(x, 19) ^ ha_primitive_rotr64(x, 61) ^ \
60 ha_primitive_shr(x, 6))