+++
title = "Introduzione alla crittografia"
outputs = ["Reveal"]
+++

### intro sulla crittografia

---

### Cosa vuol dire crittografia?

metodi per rendere un messaggio non comprensibile/intelligibile a persone non autorizzate

---
#####

Usata in ambito militare fin dall'antichità  
Bisogna mandare messaggi al fronte senza che vengano intercettati.

---
##### Cifrario di Cesare

![Cesare](https://upload.wikimedia.org/wikipedia/commons/thumb/2/2b/Caesar3.svg/640px-Caesar3.svg.png)

---
##### Cifrario di Cesare

ATTACCO ALL'ALBA  
NGGNPPB NYY'NYON

---
#####

![Cifrario meccanico](https://upload.wikimedia.org/wikipedia/commons/8/89/Fattura_italiana%2C_cifrario%2C_xvii_sec..JPG)

---
##### Cifrario di Vigenere

![Vigenere](/images/vigenere.jpg)

---

##### Enigma

![Enigma](/images/enigma.jpg)

---

### Crittografia simmetrica

Si "nasconde" il messaggio tramite una chiave  
Gli interlocutori usano la chiave per recuperare il messaggio originale

---

Io e Alice condividiamo un lucchetto e due chiavi per aprirlo.  
Ripongo il messaggio in una valigia e la chiudo con un lucchetto.

---

Come posso scambiare le chiavi a molti chilometri di distanza?  
Se perdiamo la chiave, possono decifrare e cifrare nuovi messaggi :(  
Ogni coppia di interlocutori deve usare chiavi diverse

---

### Crittografia asimmetrica

Si "nasconde" il messaggio con una chiave "pubblica"  
Gli interlocutori usano la loro chiave privata per recuperare il messaggio originale

---

Alice mi da il suo lucchetto di cui solo lui ha la chiave.  
Ripongo il messaggio in una valigia e la chiudo con il lucchetto di Alice.

---

Per essere sicura è necessario usare chiavi lunghe e numeri enormi  
Lenta da calcolare e computare.

---

### Gpg4Win - Kleopatra

https://www.gpg4win.org/index.html

---

### Funzioni di Hash

"Riassumere" un input di dimensioni variabili in un output di dimensioni fisse  
Dal risultato non è possibile ottenere l'input originale.

---

![Hash](/images/hash.png)

---

In verità... si possono provare tutti i valori in input finchè non si trova l'output desiderato

---
### Cyberchef

https://gchq.github.io/CyberChef/

