Botan  2.8.0
Crypto and TLS for C++11
Namespaces | Macros
noekeon_simd.cpp File Reference
#include <botan/noekeon.h>
#include <botan/internal/simd_32.h>

Go to the source code of this file.

Namespaces

 Botan
 

Macros

#define NOK_SIMD_GAMMA(A0, A1, A2, A3)
 
#define NOK_SIMD_THETA(A0, A1, A2, A3, K0, K1, K2, K3)
 

Macro Definition Documentation

◆ NOK_SIMD_GAMMA

#define NOK_SIMD_GAMMA (   A0,
  A1,
  A2,
  A3 
)
Value:
do \
{ \
A1 ^= A3.andc(~A2); \
A0 ^= A2 & A1; \
\
SIMD_32 T = A3; \
A3 = A0; \
A0 = T; \
\
A2 ^= A0 ^ A1 ^ A3; \
\
A1 ^= A3.andc(~A2); \
A0 ^= A2 & A1; \
} while(0)
fe T
Definition: ge.cpp:37

Definition at line 37 of file noekeon_simd.cpp.

◆ NOK_SIMD_THETA

#define NOK_SIMD_THETA (   A0,
  A1,
  A2,
  A3,
  K0,
  K1,
  K2,
  K3 
)
Value:
do { \
SIMD_32 T = A0 ^ A2; \
T ^= T.rotl<8>() ^ T.rotr<8>(); \
A1 ^= T; \
A3 ^= T; \
\
A0 ^= K0; \
A1 ^= K1; \
A2 ^= K2; \
A3 ^= K3; \
\
T = A1 ^ A3; \
T ^= T.rotl<8>() ^ T.rotr<8>(); \
A0 ^= T; \
A2 ^= T; \
} while(0)
fe T
Definition: ge.cpp:37

Definition at line 16 of file noekeon_simd.cpp.