Symmetric-key cryptography è un termine usato per algoritmi crittografici che utilizzano la stessa chiave per la crittografia e per la decrittografia. La chiave è solitamente chiamata “chiave simmetrica”o” chiave segreta”.

Questo di solito è in contrasto con la crittografia a chiave pubblica, in cui le chiavi sono generate in coppie e la trasformazione effettuata da una chiave può essere invertita solo usando l’altra chiave.,

Gli algoritmi a chiave simmetrica dovrebbero essere sicuri se usati correttamente e sono altamente efficienti, quindi possono essere utilizzati per crittografare grandi quantità di dati senza avere un effetto negativo sulle prestazioni.

La maggior parte degli algoritmi a chiave simmetrica attualmente in uso sono cifrari a blocchi: ciò significa che crittografano i dati un blocco alla volta. La dimensione di ciascun blocco è fissa e determinata dall’algoritmo: ad esempio AES utilizza blocchi da 16 byte. I cifrari a blocchi vengono sempre utilizzati con una modalità che specifica come crittografare in modo sicuro i messaggi più lunghi della dimensione del blocco., Ad esempio, AES è un cifrario, mentre CTR, CBC e GCM sono tutte le modalità. L’utilizzo di una modalità inappropriata o di una modalità errata può compromettere completamente la sicurezza fornita dal codice sottostante.