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.