8 #include <botan/seed.h>     9 #include <botan/loadstor.h>    27    for(
size_t i = 0; i != blocks; ++i)
    36       for(
size_t j = 0; j != 16; j += 2)
    41          T1 = G(B2 ^ B3 ^ K[2*j+1]);
    48          T1 = G(B0 ^ B1 ^ K[2*j+3]);
    67    for(
size_t i = 0; i != blocks; ++i)
    76       for(
size_t j = 0; j != 16; j += 2)
    81          T1 = G(B2 ^ B3 ^ K[31-2*j]);
    88          T1 = G(B0 ^ B1 ^ K[29-2*j]);
   105 void SEED::key_schedule(
const byte key[], 
size_t)
   108       0x9E3779B9, 0x3C6EF373, 0x78DDE6E6, 0xF1BBCDCC,
   109       0xE3779B99, 0xC6EF3733, 0x8DDE6E67, 0x1BBCDCCF,
   110       0x3779B99E, 0x6EF3733C, 0xDDE6E678, 0xBBCDCCF1,
   111       0x779B99E3, 0xEF3733C6, 0xDE6E678D, 0xBCDCCF1B
   116    for(
size_t i = 0; i != 4; ++i)
   121    for(
size_t i = 0; i != 16; i += 2)
   123       K[2*i  ] = G(WK[0] + WK[2] - RC[i]);
   124       K[2*i+1] = G(WK[1] - WK[3] + RC[i]) ^ K[2*i];
   127       WK[0] = (WK[0] >> 8) | (
get_byte(3, WK[1]) << 24);
   128       WK[1] = (WK[1] >> 8) | (T << 24);
   130       K[2*i+2] = G(WK[0] + WK[2] - RC[i+1]);
   131       K[2*i+3] = G(WK[1] - WK[3] + RC[i+1]) ^ K[2*i+2];
   134       WK[3] = (WK[3] << 8) | 
get_byte(0, WK[2]);
   135       WK[2] = (WK[2] << 8) | T;
 
void encrypt_n(const byte in[], byte out[], size_t blocks) const
byte get_byte(size_t byte_num, T input)
u32bit load_be< u32bit >(const byte in[], size_t off)
void decrypt_n(const byte in[], byte out[], size_t blocks) const
void store_be(u16bit in, byte out[2])