+++ 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/