Definizione dei cifrari a blocchi leggeri

3

Ho letto in molti articoli qualcosa che sembra una specializzazione dei codici di blocco che li chiamano con un tag leggero , ma non ho trovato un definizione .

Se ho capito bene, quei codici a blocchi leggeri sono cifrari che, a causa delle loro caratteristiche, sono ambienti particolarmente interessanti come le risorse di memoria incorporate e di piccole dimensioni.

Ma come possono essere definiti formalmente per tracciare una linea chiara per distinguere quali algoritmi sono, e quali no, in questo blocco leggero di cifrature set?

    
posta srgblnch 10.11.2013 - 10:01
fonte

2 risposte

1

I cifrari a blocchi sono molto semplici. Sono progettati per essere leggeri e non ho mai sentito parlare di qualcuno che abbia problemi di consumo di risorse con il loro uso. (Forse 30+ anni fa questo era un problema?)

Tutti i codici a blocchi approvati dal NIST sono molto leggeri. Dovresti confrontare questi algoritmi sulla tua piattaforma per trovare quello migliore. (Non provare nemmeno DES / 3DES, AES-128 è probabilmente quello che vuoi.)

Questa domanda è piuttosto divertente perché il problema più comune è che i codici a blocchi sono troppo veloci e che è necessario utilizzare un KDF per proteggere la chiave.

    
risposta data 11.11.2013 - 22:03
fonte
2

Non esiste una nozione assoluta di "leggerezza": per definizione, questa è una nozione relativa: su una determinata architettura, un algoritmo specifico può essere "più leggero" di un altro. A seconda del contesto di utilizzo, questo potrebbe essere "abbastanza leggero" o meno. Inoltre, ci sono diverse metriche:

  • Sulle piattaforme software, consideriamo l'utilizzo della CPU e l'utilizzo della RAM (sia la cache L1 per il codice, a seconda delle dimensioni del codice, sia la cache L1 per i dati, esercitata dalle tabelle di ricerca).
  • Su piattaforme hardware (FPGA, ASIC ...), area del silicio, latenza, larghezza di banda, consumo di enery ... sono valori importanti e nessuno dei due è "più importante" genericamente di qualsiasi altro.

Un algoritmo può essere più leggero di un altro per una di queste metriche e più pesante per un'altra. Ad esempio, con implementazioni tipiche, su piattaforme software, AES utilizzerà meno CPU rispetto a 3DES, ma avrà bisogno di RAM (circa 4 kB per tabelle di ricerca costanti, in genere questo utilizzo della cache è perfettamente tollerabile, motivo per cui AES è quasi invariabilmente " molto più veloce "di 3DES).

Ogni ricercatore desideroso di sollecitare le caratteristiche prestazionali del suo codice animale definirà la sua linea formale di peso, essendo la sua creazione, naturalmente, nel lato "leggero".

    
risposta data 14.01.2014 - 16:22
fonte

Leggi altre domande sui tag