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, | |||
d | |||
) |
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)