Cryptographic methods and systems are described which may be used to provide cryptographic functions such as hashing, encryption, decryption, authenticated encryption with associated data (AEAD) and random number generation. The invention provides a non-linear feedback shift register (NLFSR) or expander sequence having a plurality of stages which receives a set of bits (i.e. a cryptographic state). Each of the stages may be defined by data storage having a predefined width in bits, where each stage may comprise a sub-register of the non-linear feedback shift register. The stages are updated as a non-linear function of one or more other stages over plurality of rounds. The updated cryptographic state may then provide a framework for a variety of cryptographic functions, such as hashes, encryption and decryption functions and number generators. Different data (e.g. domain identifiers, addresses or headers) may be absorbed by the cryptographic state (e.g. using an XOR operation). The invention may be suitable for implementation on low-resource microcontrollers and embedded devices, wherein two terminals may securely communicate using an implementation of the invention to ensure integrity of the transmitted data. The encrypted data and the associated authentication tag may be combined as a ciphertext payload for delivery between the terminals.
展开▼