
È 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
Porcospini digitali
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