Introdurre il problema della sicurezza dei sistemi informatici. Classificare ed analizzare i meccanismi ed i servizi che consentono di fronteggiare attacchi intenzionali. Analizzare alcuni casi significativi di meccanismi, infrastrutture e applicazioni sicure.
1. Sicurezza dei sistemi informatici: tecnologie dell'informazione e tecnologie per la sicurezza.
2. Crittografia e crittanalisi. Meccanismi di base: PRNG, Hash, Protocolli d'identificazione.
3. Crittologia classica e fondamenti di teoria dell'informazione.
4. Cifrari simmetrici e meccanismi simmetrici per l'autenticazione. Casi di studio: RC4, DES, AES, HMAC, Password, protocolli a sfida/risposta.
5. Fondamenti di teoria dei numeri. Scambio DH. Cifrari asimmetrici, cifrari ibridi e meccanismi asimmetrici di autenticazione. Firma digitale. Protocolli d'identificazione a conoscenza zero. Casi di studio: RSA, ElGamal, DSA.
6. Sistemi a supporto dell'identificazione e dell'autenticazione. Certificati a chiave pubblica -PGP e PKI. Protocolli di identificazione-Kerberos. Tecnologie basate su token crittografici. Sistemi basati su dati biometrici.
7. Protocolli per la comunicazione sicura. Sicurezza a livello di rete-IPSEC, VPN. Sicurezza a livello di trasporto-SSL/TLS
8. Programmazione di Applicazioni Sicure in ambiente Java9. Tecnologie Blockchain