New Page
Cryptography is the study of techniques to allow secure communication and data storage in presence of attackers.
The features that it aims to provide are:
- Confidentiality: data can be accessed only by chosen entities
- Integrity/freshness: detect/prevent tampering or replays
- Authenticity: data and their origin are guaranteed
- Non-repudiation: data creator cannot repudiate created data
- Advanced features: proofs of knowledge/computation
Kerchoff’s six principles for a good cipher (apparatus)
- It must be practically, if not mathematically, unbreakable
- It should be possible to make it public, even to the enemy
- The key must be communicable without written notes and changeable whenever the correspondants want
- It must be applicable to telegraphic communication
- It must be portable, and should be operable by a single person
- Finally, given the operating environment, it should be easy to use, it shouldn’t impose excessive mental load, nor require a large set of rules to be known
Perfectly secure cipher
- Plaintext space $\textbf{P}$: set of possible messages $\text{ptx} \in \textbf{P}$
- Old times: words, modern times ${0,1}^l$
- Ciphertext space $\textbf{C}$: set of possible ciphertext $\text{ctx} \in \textbf{C}$
- Usually ${0,1}^{l'}$, not necessarily $l = l′$
- Key space $\textbf{k}$: set of possible keys
- ${0, 1}^\lambda$, key with special formats are derived from bitstrings