Skip to main content

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)

  1. It must be practically, if not mathematically, unbreakable
  2. It should be possible to make it public, even to the enemy
  3. The key must be communicable without written notes and changeable whenever the correspondants want
  4. It must be applicable to telegraphic communication
  5. It must be portable, and should be operable by a single person
  6. 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