Appunti VERIFICATO

2-DES

Università degli studi di Pisa ingegneria delle telecomunicazioni 2019
30 visualizzazioni
5 download
Nessun voto ancora
Condividi: WhatsApp Telegram
Anteprima pagina 1 — 2-DES Anteprima pagina 2 — 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.
  • 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 aesenc e aesenclast per 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.
  • 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.

Altri appunti di SICUREZZA NELLE RETI

Condividi questi appunti

WhatsApp Telegram