10 #if !defined(NDEBUG) && !defined(CRYPTOPP_DOXYGEN_PROCESSING) 11 void WAKE_TestInstantiations()
18 inline word32 WAKE_Base::M(word32 x, word32 y)
21 return (w>>8) ^ t[w & 0xff];
24 void WAKE_Base::GenKey(word32 k0, word32 k1, word32 k2, word32 k3)
30 static unsigned int tt[10]= {
43 for (p=4 ; p<256 ; p++)
46 t[p]= (x>>3) ^ tt[x&7] ;
49 for (p=0 ; p<23 ; p++)
51 x=t[33] ; z=t[59] | 0x01000001 ;
53 for (p=0 ; p<256 ; p++) {
55 t[p]=(t[p] & 0x00ffffff) ^ x ; }
59 for (p=0 ; p<256 ; p++) {
60 t[p]=t[y=byte(t[p^y]^y)] ;
67 CRYPTOPP_UNUSED(params); CRYPTOPP_UNUSED(key); CRYPTOPP_UNUSED(length);
68 word32 k0, k1, k2, k3;
70 GenKey(k0, k1, k2, k3);
77 #define WAKE_OUTPUT(x)\ 78 while (iterationCount--)\ 80 CRYPTOPP_KEYSTREAM_OUTPUT_WORD(x, B::ToEnum(), 0, r6);\ 86 if (!(x & INPUT_NULL))\ 90 typedef word32 WordType;
91 CRYPTOPP_KEYSTREAM_OUTPUT_SWITCH(WAKE_OUTPUT, 0);
Classes for automatic resource management.
#define CRYPTOPP_COMPILE_ASSERT(expr)
Compile time assertion.
Interface for one direction (encryption or decryption) of a stream cipher or cipher mode...
Classes for WAKE stream cipher.
Crypto++ library namespace.
Interface for retrieving values given their names.