#include #define NUMROUNDS 32 extern uint8_t const Sbox[256]; void treyfer_encrypt(uint8_t text[8], uint8_t const key[8]) { unsigned i; uint8_t t = text[0]; for (i = 0; i < 8*NUMROUNDS; i++) { t = Sbox[key[i%8]] + text[(i+1)%8]; text[(i+1) % 8] = t = (t << 1) | (t >> 7); /* Rotate left 1 bit */ } }