Electroneum
chacha_private.h File Reference

Go to the source code of this file.

Classes

struct  chacha_ctx
 

Macros

#define U8C(v)   (v##U)
 
#define U32C(v)   (v##U)
 
#define U8V(v)   ((u8)(v) & U8C(0xFF))
 
#define U32V(v)   ((u32)(v) & U32C(0xFFFFFFFF))
 
#define ROTL32(v, n)   (U32V((v) << (n)) | ((v) >> (32 - (n))))
 
#define U8TO32_LITTLE(p)
 
#define U32TO8_LITTLE(p, v)
 
#define ROTATE(v, c)   (ROTL32(v,c))
 
#define XOR(v, w)   ((v) ^ (w))
 
#define PLUS(v, w)   (U32V((v) + (w)))
 
#define PLUSONE(v)   (PLUS((v),1))
 
#define QUARTERROUND(a, b, c, d)
 

Typedefs

typedef unsigned char u8
 
typedef unsigned int u32
 

Macro Definition Documentation

◆ PLUS

#define PLUS (   v,
 
)    (U32V((v) + (w)))

Definition at line 42 of file chacha_private.h.

◆ PLUSONE

#define PLUSONE (   v)    (PLUS((v),1))

Definition at line 43 of file chacha_private.h.

◆ QUARTERROUND

#define QUARTERROUND (   a,
  b,
  c,
 
)
Value:
a = PLUS(a,b); d = ROTATE(XOR(d,a),16); \
c = PLUS(c,d); b = ROTATE(XOR(b,c),12); \
a = PLUS(a,b); d = ROTATE(XOR(d,a), 8); \
c = PLUS(c,d); b = ROTATE(XOR(b,c), 7);
#define PLUS(v, w)
#define XOR(v, w)
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
Definition: pointer.h:1124
#define ROTATE(v, c)

Definition at line 45 of file chacha_private.h.

◆ ROTATE

#define ROTATE (   v,
 
)    (ROTL32(v,c))

Definition at line 40 of file chacha_private.h.

◆ ROTL32

#define ROTL32 (   v,
 
)    (U32V((v) << (n)) | ((v) >> (32 - (n))))

Definition at line 23 of file chacha_private.h.

◆ U32C

#define U32C (   v)    (v##U)

Definition at line 18 of file chacha_private.h.

◆ U32TO8_LITTLE

#define U32TO8_LITTLE (   p,
 
)
Value:
do { \
(p)[0] = U8V((v) ); \
(p)[1] = U8V((v) >> 8); \
(p)[2] = U8V((v) >> 16); \
(p)[3] = U8V((v) >> 24); \
} while (0)
#define U8V(v)

Definition at line 32 of file chacha_private.h.

◆ U32V

#define U32V (   v)    ((u32)(v) & U32C(0xFFFFFFFF))

Definition at line 21 of file chacha_private.h.

◆ U8C

#define U8C (   v)    (v##U)

Definition at line 17 of file chacha_private.h.

◆ U8TO32_LITTLE

#define U8TO32_LITTLE (   p)
Value:
(((u32)((p)[0]) ) | \
((u32)((p)[1]) << 8) | \
((u32)((p)[2]) << 16) | \
((u32)((p)[3]) << 24))
unsigned int u32

Definition at line 26 of file chacha_private.h.

◆ U8V

#define U8V (   v)    ((u8)(v) & U8C(0xFF))

Definition at line 20 of file chacha_private.h.

◆ XOR

#define XOR (   v,
 
)    ((v) ^ (w))

Definition at line 41 of file chacha_private.h.

Typedef Documentation

◆ u32

typedef unsigned int u32

Definition at line 10 of file chacha_private.h.

◆ u8

typedef unsigned char u8

Definition at line 9 of file chacha_private.h.