Un protocollo crittografico (noto anche come protocollo di crittografia o protocollo di sicurezza) è un protocollo astratto o un protocollo esistente che svolge una funzione di sicurezza e applica metodi crittografici.
Un protocollo descrive come gli algoritmi crittografici dovrebbero essere usati per proteggere le informazioni. La descrizione di un protocollo deve includere dettagli su tutte le strutture e rappresentazioni dei dati e tutti i dettagli su come utilizzare il protocollo da parte dei programmi.
I protocolli crittografici sono ampiamente utilizzati per il trasporto sicuro dei dati a livello applicativo, al fine di rendere sicuri i messaggi trasferiti. Un protocollo crittografico ha di solito almeno alcune di queste caratteristiche:
- Generazione chiave.
- Autenticazione dell'entità.
- Accordo chiave.
- Crittografia simmetrica dei messaggi trasferiti utilizzando la chiave generata concordata.
Il termine protocollo crittografico è usato in modi diversi. Per esempio, i protocolli delle applicazioni crittografiche spesso usano uno o più protocolli di accordo a chiave sottostanti che a volte vengono anche chiamati "protocolli crittografici", come il Secure Sockets Layer (SSL) che usa il cosiddetto scambio di chiavi Diffie-Hellman, Diffie-Hellman può essere visto come un protocollo crittografico completo in sé per altre applicazioni.