13#define RC5_NUM_SUBKEYS (2 * (RC5_ROUNDS + 1))
15#define RC5_BLOCK_SIZE 4
44 bool decrypt(uint16_t* inBuf, uint16_t inBufSize, uint16_t* outBuf, uint16_t outBufSize);
Class that implements RC5 encryption.
Definition: cs_RC5.h:23
uint16_t _subKeys[RC5_NUM_SUBKEYS]
The round subkey words.
Definition: cs_RC5.h:59
bool prepareKey(uint8_t *key, uint8_t keyLength)
Expands key into round subkey words, which are cached.
void operator=(RC5 const &)
static RC5 & getInstance()
Use static variant of singleton, no dynamic memory allocation.
Definition: cs_RC5.h:26
bool decrypt(uint16_t *inBuf, uint16_t inBufSize, uint16_t *outBuf, uint16_t outBufSize)
Decrypt data with RC5.
bool initKey(EncryptionAccessLevel accessLevel)
Expands the key of given access level.
void init()
Initialize the class, reads from State.
EncryptionAccessLevel
Packets (structs) that are used over the air, over uart, or stored in flash.
Definition: cs_Packets.h:36
#define RC5_NUM_SUBKEYS
Definition: cs_RC5.h:13