- Criptoanalisi = testing di un algoritmo di cifratura che ovviamente deve essere pubblico
- NIST = **National Institute of Standards and Technology, ha l’incarico di definire i criteri di crittogrtafia per la pubblica amministrazione**
- Testa per 5 anni gli algoritmi e in questo lasso di tempo devono passare 3 round fondamentali per essere pubblicati e definiti validi.
- Ogni round serve a scremare pian piano gli algoritmi che potrebbero avere dei bug o essere deboli
- Gli algoritmi principalmente vengono divisi in
- Leggeri = “necessaria per garantire la confidenzialità, integrità ed autenticità dei messaggi tra sensori/tag e hub di molti di quegli apparecchi ed oggetti connessi a internet che dispongono di un’energia molto limitata. Ragion per cui gli schemi crittografici devono essere il più ‘leggeri’ possibile, cioè devono funzionare minimizzando quanto possibile il consumo di risorse”
- **Post Quantum = “**mira a costruire algoritmi crittografici utilizzando proprietà fisiche
(piuttosto che matematiche) per garantire la sicurezza.”
- Usano la Teoria dei Codici = “ramo della teoria dell'informazione, o più in generale della matematica e dell'informatica, che studia i codici per la trasmissione di dati.”
- Spesso lo schema che viene utilizzato in crittografia è lo schema Alice Bob Eve:
- Inizialmente non vi era nulla di cifrato, quindi un malintenzionato (”eve”) poteva leggere tutto e insomma creare danni ad alice e bob
- Phil Zimmermann negli anni 90 pensò bene di utilizzare la cifratura per poter rendere sicuri i messaggi da occhi indiscreti
- Il problema ovviamente delle chiavi simmetriche è la loro trasmissione, come faccio a mandare a bob la chiave simmetrica senza che Eve la intercetti? —> Crittografia asimmetrica (in figura)
Attacchi a cifrari
- Quando si parla di voler rubare informazioni e di effettuare attacchi agli agloritmi (chiedere al prof se è giusto dire cosi) l’attaccante può effettuare diversi attacchi in base al tipo di informazione che possiede:
- CIPHER TEXT ONLY (CTO) = “attack model for cryptoanalisis where the attacker is assumed to have access only to a set of ciphertexts While the attacker has no channel providing access to the plaintext prior to encryption, in all practical ciphertext-only attacks, the attacker still has some knowledge of the plaintext. For instance, the attacker might know the language in which the plaintext is written or the expected statistical distribution of characters in the plaintext.”
- KNOWN PLAINTEXT ATTACK (KPA) = “is an attack model for cryptoanalisis where the attacker has access to both the plaintext and its encrypted version. These can be used to reveal further secret information such as keys”
- CHOSEN PLAINTEXT ATTACK (CPA) = in sintesi la tecnica consiste nel sostituire un messaggio da mandare con un mio messaggio che poi viene cifrato e mi permette quindi di studiare la chiave di decrittazione. Importante: Non bisogna mettere parole a caso, ma i cosiddetti Corner Cases.
Principio di Kerckhoffs
“la sicurezza di un crittosistema non deve dipendere dal tenere celato l'algoritmo crittografico ma solo dal tenere celata la chiave. È un principio apprezzato da molti crittografi ed è in netto contrasto con il principio della sicurezza tramite segretezza.”
Storia dei principali algoritmi
- 1970 = progettato da IBM venne presentato al NBS (National Bureau of Standards) con il nome iniziale di “Lucifer”, venne in seguito analizzato dalla NSA e infine reso pubblico con il nome di DES
- 1975 = Nascita e pubblicazione dell’algoritmo asimmetrico RSA
- 2000 = Venne proposto al NIST l’algoritmo AES che superò tutti i round ed successivamente andò a sostituire DES
- 2022 = Sviluppo algoritmo LWC Post Quantum
Caratteristiche dei cifrari
un cifrario deve per forza avere queste 4 caratteristiche:
- Confidenzialità