Introduction to Cryptography

Cryptography, whose literal meaning is usually expressed with the term secret writing, arose in ancient times from the human need to transmit secret information through written communication. If we wanted to summarize, we could say that an encrypted message is a message that only the sender and recipient can understand, because only they know the method for encrypting and decrypting the message.

Ancient Cryptography

One of the most famous examples of ancient cryptography is the so-called "Caesar's Cipher," with which Julius Caesar sent secret messages to his troops in Gaul. The Caesar's Cipher was, in effect, what we would call an encryption algorithm today. The Caesar Cipher consisted of replacing each letter of the alphabet with the one three places ahead if one wanted to encrypt the message, as shown in the figure. If one wanted to decrypt the message, however, it was sufficient to replace the letter with the one three places behind.

cifrario di cesare

Cryptography and Security

The need for secure and secret communication has persisted even in the era of digital communication online. Cryptography allows one to satisfy several requirements necessary to make a system secure.

First of all, a definition of a secure system is the following: a system is A system is secure if it allows its functions to be used only by users designated by the system according to its specifications. The most important security aspects are the following:

  • Secrecy - A "secret" message must be understood only by those who have the right to it;
  • Authentication - It must be possible to identify without any uncertainty who sent a message;
  • Integrity or inalterability - It must be possible to determine whether a message has been altered in transmission;
  • Non-repudiation - An authenticated sender cannot fail to recognize a message as his own.

Encryption Algorithms

An encryption algorithm is a type of encryption algorithm. Generally, an algorithm that returns a ciphertext from a plaintext. In modern cryptography, the two fundamental elements for obtaining a ciphertext are:

  • the encryption algorithm, which is the procedure used to obtain the ciphertext;
  • the encryption key, which is a parameter of the algorithm and helps modify the result.

In the study of modern cryptography, it is assumed that the algorithm is known to everyone, while the key remains secret.