salsa20_policy.hpp File Reference
#include <boost/endian/conversion.hpp>
#include <nil/crypto3/detail/inline_variable.hpp>
#include <nil/crypto3/stream/detail/basic_functions.hpp>
Include dependency graph for salsa20_policy.hpp:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Classes | |
struct | nil::crypto3::stream::detail::salsa20_policy< IVBits, KeyBits, Rounds > |
Namespaces | |
nil | |
nil::crypto3 | |
nil::crypto3::stream | |
nil::crypto3::stream::detail | |
Macros | |
#define | SALSA20_QUARTER_ROUND(x1, x2, x3, x4) |
Macro Definition Documentation
◆ SALSA20_QUARTER_ROUND
#define SALSA20_QUARTER_ROUND | ( | x1, | |
x2, | |||
x3, | |||
x4 | |||
) |
Value:
do { \
x2 ^= policy_type::rotl<7>(x1 + x4); \
x3 ^= policy_type::rotl<9>(x2 + x1); \
x4 ^= policy_type::rotl<13>(x3 + x2); \
x1 ^= policy_type::rotl<18>(x4 + x3); \
} while (0)