Издательство Cambridge University Press, 2010, -144 pp.
A fundamental objective of cryptography is to enable two people to communicate over an insecure channel (a public channel such as internet) in such a way that any other person is unable to recover their message (called the plaintext) from what is sent in its place over the channel (the ciphertext). The transformation of the plaintext into the ciphertext is called encryption, or enciphering. Encryption-decryption is the most ancient cryptographic activity (ciphers already existed four centuries B. C.) but its nature has deeply changed with the invention of computers, because the cryptanalysis (the activity of the third person, the eavesdropper, who aims at recovering the message) can now use their power.
The encryption algorithm takes as input the plaintext and an encryption key K
E, and it outputs the ciphertext. If the encryption key is secret, then we speak of conventional cryptography or of symmetric cryptography. In practice, the principle of conventional cryptography relies on the sharing of a private key between the sender of a message and its receiver. If the encryption key is public, then we speak of public key cryptography. Public key cryptography appeared in the literature in the late seventies. The decryption (or deciphering) algorithm takes as input the ciphertext and a secret1 decryption key K
D.
Public key cryptography is preferable to conventional cryptography, since it allows us to secretly communicate without having shared keys in a secret way: every person who wants to receive secret messages can keep secret a decryption key and publish an encryption key; if n persons want to secretly communicate pairwisely using a public key cryptosystem, they need n encryption keys and n decryption keys, when conventional cryptosystems will need at least n(n-1)/2 keys. But all known public key cryptosystems are much less efficient than conventional cryptosystems (they produce a much lower data throughput, because they need much time to encrypt long messages) and they also need much longer keys to ensure the same level of security. This is why conventional cryptography is still widely used and studied nowadays. Thanks to public key cryptosystems, the share-out of the necessary secret keys can be done without using a secure channel (the secret keys for conventional cryptosystems are strings of a few hundreds of bits only and can then be encrypted by public key cryptosystems). Protocols specially devoted to key-exchange can also be used.
Introduction
Generalities on Boolean functions
Boolean functions and coding
Boolean functions and cryptography
Quadratic functions and other functions whose weights, Walsh spectra or nonlinearities can be analyzed
Bent functions
Resilient functions
Functions satisfying the strict avalanche and propagation criteria
Symmetric functions