2-DES
Stai vedendo l'anteprima delle prime pagine. Il file completo è gratis: registrati per leggerlo tutto.
Di cosa parla
- Storia e Standardizzazione AES:
- Nel 1997, il NIST ha pubblicato una richiesta di proposte per un nuovo standard di crittografia.
- Nel 1998 sono state presentate quindici proposte.
- Nel 1999, il NIST ha selezionato cinque finalisti.
- Nel 2000, il NIST ha scelto Rijndael come Advanced Encryption Standard (AES).
- AES è una crittografia simmetrica con dimensioni di chiave supportate di 128, 192 e 256 bit (chiavi più lunghe offrono maggiore sicurezza ma sono più lente).
- La dimensione del blocco è di 128 bit.
- Architettura e Funzionamento AES:
- AES è una rete di sostituzione-permutazione ("Subs-Perms network").
- L'AES-128 utilizza 10 round.
- Ogni round tipicamente include tre funzioni principali:
- ByteSub: Una sostituzione non lineare a 1 byte (basata su una S-box di 256 byte).
- ShiftRows: Una permutazione che sposta ciclicamente i byte all'interno delle righe dello stato.
- MixColumns: Una diffusione che combina i byte all'interno delle colonne dello stato.
- La key expansion genera le chiavi di round; per una chiave di 16 byte (128 bit), vengono generati 176 byte totali per le chiavi di round.
- Trade-off tra Dimensione del Codice e Performance:
- La performance di AES può essere ottimizzata in base alla quantità di pre-calcoli:
- Pre-calcolo delle funzioni di round complete (24KB o 4KB): Offre la massima velocità (basata su lookup table e XORs), ma con la maggiore dimensione del codice.
- Pre-calcolo della sola S-box (256 byte): Offre una velocità intermedia e una dimensione del codice minore.
- Nessun pre-calcolo: Ha la minore dimensione del codice, ma è la più lenta.
- La performance di AES può essere ottimizzata in base alla quantità di pre-calcoli:
- Implementazioni di AES:
- Implementazioni Software (es. Javascript): Tipicamente usano librerie (es. 6.4KB per Javascript AES), spesso richiedono il pre-calcolo delle tabelle prima dell'encryption.
- Implementazioni Hardware (es. Intel Westmere):
- Utilizzano istruzioni dedicate come
aesenceaesenclastper eseguire un singolo round di AES. aeskeygenassistè usata per l'espansione della chiave.- L'implementazione completa può richiedere solo dieci istruzioni (9x
aesenc+aesenclast). - Queste istruzioni possono offrire un'accelerazione di circa 14 volte rispetto a implementazioni software come OpenSSL sulla stessa architettura.
- Istruzioni simili sono disponibili anche per processori AMD Bulldozer.
- Utilizzano istruzioni dedicate come
- Attacchi Noti ad AES:
- Miglior attacco di recupero chiave: È stato dimostrato un attacco che è quattro volte più efficiente della ricerca esaustiva, riducendo l'efficacia di una chiave a 128 bit a 126 bit equivalenti.
- Attacco a chiave correlata in AES-256: Dato 299 coppie plaintext-ciphertext provenienti da quattro chiavi correlate in AES-256, è possibile recuperare le chiavi in 299 operazioni. Nonostante questi attacchi, AES rimane un algoritmo estremamente robusto e lo standard di riferimento per la sicurezza.
Questo appunto è gratis. Registrati in 30 secondi per leggere tutte le pagine e scaricarlo.