| 1. | Set of plaintexts M |
| 2. | Set of ciphertexts C |
| 3. | Set of keys K |
| 4. | Family of encrypting transformations Ek: M -> C with k from K |
| 5. | Family of decrypting transformations Dk: C -> M with k from K |
| (1) | Encrypting and decrypting transformations must be efficient for all keys. |
| (2) | The systems must be easy to use. It must be easy to find a key and the functions Ek and Dk. |
| (3) | The security if the systems should rely on the secrecy of the keys, not of the algorithms; from knowledge of the method of en- or decrypting alone it should not be possible to determine the plaintext. |
| (1) | to systematically determine Dk from a caught ciphertext c, even if the plaintext m is known, and |
| (2) | to determine the plaintext m from c. |
| (1) | to systematically determine Ek from c, even if the plaintext m with Ek(m) = c is known, or |
| (2) | to find a ciphertext c' such that Dk(c') is a valid plintext from M. This is imaginable with numeric data. |
![]() |
2.1 Euclidean Algorithm | ![]() |