Abstract:
A stream stretcher is provided for securely expanding a key stream to match the length of a data block to be encrypted and/or decrypted. A key stream is obtained having a length of L Z bits. A length LD corresponding to a data block to be encrypted/decrypted is obtained, where L D > L Z . L D -L Z new bits are recursively generated by combining at least two bits of the key stream. The L D -L Z new bits are appended to the key stream to generate a stretched key stream. The data block may then be encrypted/decrypted with the stretched key stream. The at least two bits are selected to have offsets that form a full positive difference set.
Abstract:
Methods and apparatus are presented herein for encrypting and authentication data, such that some of data can be transmitted in the clear but still be authenticated by the sender. A set of cleartext positions and/or a set of ciphertext positions are used to specify which data blocks will be used to generate an input checksum value (470) and an output checksum value (475). These checksums are then used to generate an authentication tag. (490)