chacha_impl.hpp File Reference
+ Include dependency graph for chacha_impl.hpp:

Go to the source code of this file.

Classes

struct  nil::crypto3::stream::detail::chacha_impl< Round, IVSize, KeyBits >
 

Namespaces

 nil
 
 nil::crypto3
 
 nil::crypto3::stream
 
 nil::crypto3::stream::detail
 

Macros

#define CHACHA_QUARTER_ROUND(a, b, c, d)
 

Macro Definition Documentation

◆ CHACHA_QUARTER_ROUND

#define CHACHA_QUARTER_ROUND (   a,
  b,
  c,
 
)
Value:
do { \
a += b; \
d ^= a; \
d = policy_type::rotl<16>(d); \
c += d; \
b ^= c; \
b = policy_type::rotl<12>(b); \
a += b; \
d ^= a; \
d = policy_type::rotl<8>(d); \
c += d; \
b ^= c; \
b = policy_type::rotl<7>(b); \
} while (0)