È il libro dove gli algoritmi vengono svelati in modo semplice ma rigoroso.
Il libro La crittografia da Cesare ai quanti - Un percorso formativo su algoritmi, sicurezza e blockchain di Mario Rossano è pubblicato da Edizioni Themis
Il nostro quotidiano è caratterizzato da un uso sempre più massiccio delle tecnologie digitali e da algoritmi che svolgono diverse funzioni.
Sono, infatti, gli algoritmi che permettono ai nostri sistemi di messaggistica di funzionare mantenendo la riservatezza, ed è attraverso essi che riusciamo a connetterci al nostro online banking in modo sicuro. Applicazioni usatissime come Skype e Whatsapp si basano sull’impiego di algoritmi.
Partendo dal concetto di algoritmo e delle principali applicazioni, il testo esplora vari argomenti – crittografia, blockchain, dark web – in un crescendo di nozioni e con esempi pratici che ne favoriscono una maggiore comprensione. Un percorso costruito passo passo per il lettore per sviluppare consapevolezza sulle attuali tecnologie digitali e sul loro funzionamento.
Durante il percorso vengono forniti anche strumenti di approfondimento per i più esperti, ma nulla è dato per scontato come conoscenza pregressa.
Il testo si chiude guardando al futuro e alla crittografia quantistica.
Di seguito l'indice completo del libro con l'indicazione degli argomenti trattati.
PREFAZIONE
CAPITOLO 1 · GLI ALGORITMI
1.1 Cosa sono gli algoritmi
1.1.1 Approfondimento
1.2 Cos’è la crittografia?
1.3 Tipologia sintetica degli algoritmi crittografici
CAPITOLO 2 · ALGORITMI CRITTOGRAFICI SIMMETRICI - QUANDO LA CHIAVE È PRIVATA
2.1 Introduzione
2.1.1 Cifrario di Cesare (I sec. a.C.) - monoalfabetico
2.1.1.1 Approfondimento
2.1.2 Cifrario di Vigenère - polialfabetico
2.1.2.1 Approfondimento
2.1.2.2 Cifrario di Vernam - OTP
2.1.2.3 Cifrari a flusso
2.1.2.3.1 La macchina Enigma – WW2
2.1.2.3.1.1 Approfondimento Enigma e Calcolo combinatorio
Permutazioni
Disposizioni
Combinazioni
2.1.2.3.2 Algoritmo RC4
Operatori logici
NOT
AND
OR
XOR
2.1.2.3.3 Algoritmo E0
2.1.3 Tecniche di crittoanalisi, l’antagonista della crittografia
2.1.3.1 Analisi delle frequenze - attacco al monoalfabetico
2.1.3.2 Distribuzione delle frequenze - attacco al polialfabetico
2.1.3.2.1 Approfondimento informatico sull’attacco al polialfabetico
2.1.4 Crittografia frattale FNA - Fractal Numerical Algorithm
2.1.4.1 Le curve patologiche
2.1.4.2 Dimensioni frattali
2.1.4.3 Algoritmo FNA
Array o vettori
2.1.4.3.1 Le proprietà delle curve di {F}
2.1.4.3.2 La bellezza dagli algoritmi: grafico di alcune curve di {F}
2.1.4.3.3 L’algoritmo crittografico basato su FNA
2.1.4.3.4 Resistenza di Crypt::FNA alla crittoanalisi di Babbage
2.1.4.3.5 Approfondimento
2.1.5 Cifrari a blocchi
2.1.5.1 DES - Data Encryption Standard - e Triple DES
2.1.5.2 Blowfish
2.1.5.3 AES - Advanced Encryption Standard
2.1.5.3.1 Approfondimento
2.1.5.4 Algoritmo SAFER
CAPITOLO 3 · ALGORITMI ASIMMETRICI A CHIAVE PUBBLICA E PRIVATA
3.1 Introduzione
3.1.1 Le funzioni principali utilizzate nei sistemi di crittografia asimmetrica
3.1.1.1 Il problema della fattorizzazione dei numeri interi
Numeri primi
3.1.1.2 Il problema del logaritmo discreto
3.1.1.2.1 I Gruppi
3.1.1.2.1.1 I Gruppi Ciclici
3.1.1.2.2 Aritmetica modulare ed operazione modulo
3.1.1.2.3 Il logaritmo discreto in ambito crittografico
3.1.2 Il problema dello scambio sicuro della chiave: il protocollo DH - Diffie, Helmann, Merkle
3.1.2.1 Attacco al Diffie-Hellmann
Man-in-the-middle
3.1.2.2 Approfondimento
3.1.3 Algoritmo RSA - Rivest, Shamir, Adleman
Numeri coprimi
Funzione di Eulero
Relazione di congruenza
Piccolo Teorema di Fermat
MCD e Teorema di Eulero in aritmetica modulare
3.1.3.1 Procedimento RSA
3.1.3.2 Approfondimento
3.1.4 Algoritmi crittografici in curve ellittiche - ElGamal
3.1.4.1 Il problema del logaritmo discreto in curve ellittiche
Le machine al lavoro, gli umani senza lavoro felici e contenti!
Algoritmo di cifratura ElGamal
Algoritmo di decifratura ElGamal
3.1.4.2 Considerazioni sul logaritmo discreto in curve ellittiche
3.1.5 Firma digitale - DSA
3.1.6 DRM - Digital Rights Management
3.1.7 Sicurezza dei dati nel mondo reale
CAPITOLO 4 · ALGORITMI DIGEST
4.1 Introduzione
4.2 A cosa servono gli algoritmi digest
4.2.1 Salvataggio delle password sui database
Attacco a dizionario
4.2.1.1 Approfondimento sugli attacchi a dizionario
4.2.2 L’autenticazione dei messaggi: il MAC “Message Authentication Code”
4.2.2.1 AES-CMAC
4.3 MD5
4.3.1 Come funziona l’algoritmo di hash MD5
4.3.2 Approfondimento
4.4 SHA - Secure Hash Algorithm
4.4.1 Collisioni in SHA-1/2 e la soluzione SHA-3
4.4.2 Approfondimento
4.5 FNA digest
4.5.1 Approfondimento
CAPITOLO 5 · I PROTOCOLLI E LE APPLICAZIONI
5.1 Il protocollo su cui si basa il mondo: TCP/IP
5.2 HTTP
5.2.1 La request
5.2.2 La response
5.3 I protocolli legati alle e-mail: SMTP e POP3/IMAP
5.3.1 SMTP - Simple Mail Transport Protocol
5.3.2 POP3 - Post Office Protocol v3
5.3.3 IMAP - Internet Message Access Protocol
5.3.4 PEC - Posta Elettronica Certificata
5.4 SSL e TLS: rendere sicuri i dati sul livello di trasporto
5.4.1 Handshake
5.5 JWT - JSON Web Token - Autenticazione veloce ed efficiente
5.5.1 Approfondimento
5.6 I protocolli di rete LAN - Local Area Network
5.6.1 Ethernet e lo sniffing e spoofing dei dati
Reti LAN non commutate (non switched)
Reti LAN commutate (switched)
5.6.1.1 MACsec - la crittografia su Ethernet
5.6.2 Le reti Wi-Fi - Protocollo IEEE 802.11
5.6.2.1 La crittografia nel mondo Wi-Fi
5.6.2.1.1 WEP - Wired Equivalent Privacy
5.6.2.1.2 WPA e WPA2 - Wi-Fi Protected Access
5.6.3 Un caso di vulnerabilità del Wi-Fi
5.7 Il Bluetooth e le micro reti
5.8 Il protocollo RDP ed il desktop remoto
5.9 VPN - Virtual Private Network
OpenVPN
VPN PPTP
L2TP/IPSec
5.9.1 IPsec - la connessione intrinsecamente sicura su rete IP
5.10 Il malware e le falle nei protocolli
Virus
Worm
Trojan
Spyware e Adware
5.10.1 Ransomware, il lato oscuro della crittografia
Wannacry
5.10.2 L’Italia sotto l’attacco della crittografia: il ransomware FTCODE
5.11 Alcune applicazioni di uso comune
5.11.1 Skype
5.11.2 Zoom
5.11.3 WhatsApp
5.12 TOR, il protocollo del dark web
5.13 Gli algoritmi crittografici supportati dal nostro browser
CAPITOLO 6 · LA BLOCKCHAIN
6.1 Come nasce la blockchain
Ledger
Smart contract
6.2 I miners
Criptovalute
Wallet
6.3 Come funziona la blockchain
Proof of Work
Proof of Stake
Casuale
Sull'anzianità
Sulla velocità
Blockchain "private"
CAPITOLO 7 · LA CRITTOGRAFIA QUANTISTICA
Il quanto
7.1 Su cosa si basa la crittografia quantistica?
Principio di Indeterminazione di Heisenberg e perturbazione
7.2 Il qubit
7.3 Algoritmo di scambio della chiave BB84
Polarizzazione
Filtri polarizzatori
7.4 Applicabilità della crittografia quantistica
CAPITOLO 8 · CONCLUSIONI E RINGRAZIAMENTI
CAPITOLO 9 · APPENDICE
9.1 FNA: Teorema dell'unicità dei vertici
9.1.1 Distanza tra due vertici successivi
9.1.2 Lacci di {F}
9.2 DH: esempio di calcolo numerico
9.3 RSA: esempio di calcolo numerico
9.4 ElGamal su curve ellittiche: esempio di calcolo numerico
BIBLIOGRAFIA