# Protocolo criptográfico

Un protocolo criptográfico o protocolo de seguridad (también llamado protocolo de cifrado) es un protocolo abstracto o concreto que realiza funciones relacionadas con la seguridad, aplicando métodos criptográficos.
Un protocolo describe la forma en que un algoritmo debe usarse. Un protocolo lo suficientemente detallado incluye detalles acerca de las estructuras de datos y representaciones, punto en el cual puede usarse para implementar versiones interoperables múltiples de un programa.
Los protocolos criptográficos se usan ampliamente para transporte de datos seguros a nivel de aplicación. Un protocolo criptográfico comúnmente incorpora por lo menos uno de los siguientes aspectos:
* Establecimiento de claves
* Autenticación de entidades
* Cifrado simétrico y autenticación de mensajes
* Transporte de datos en forma segura a nivel de aplicación
* Métodos de no repudio
Por ejemplo, Transport Layer Security (TLS) es un protocolo criptográfico usado en la mayoría de los casos en conexiones web (HTTP) seguras. Posee un mecanismo de autenticación de entidades basado en el sistema X.509, una fase de configuración de claves, en la cual se decide una clave de cifrado simétrico empleando criptografía de clave pública; y una función de transporte de datos de nivel de aplicación. Estos tres aspectos tienen interconexiones importantes. El estándar TLS no provee soporte para no repudio.
Hay otros tipos de protocolos criptográficos también e incluso el término mismo tiene varias interpretaciones distintas. Los protocolos criptográficos de aplicación usan a menudo uno o más métodos de acuerdo de claves, a los cuales a veces se los llama "protocolos criptográficos". De hecho, el TLS emplea el intercambio de claves de Diffie-Hellman, el cual si bien no forma parte del TLS, puede ser visto como un protocolo criptográfico por sí mismo para otras aplicaciones.
Los protocolos criptográficos pueden ser verificados formalmente en un nivel abstracto algunas veces.

## Protocolos criptográficos avanzados

Una amplia variedad de protocolos criptográficos van más allá de los objetivos tradicionales de la confidencialidad de datos, integridad y autenticación a asegurar también una variedad de otras características deseadas de colaboración mediada por computadora. Las firmas digitales ciegas se pueden usar para dinero en efectivo digital y credenciales digitales para demostrar que una persona posee un atributo o derecho sin que se revele la identidad de la persona o las identidades de los terceros con los cuales esa persona realizó transacciones. El sellado de tiempo digital seguro puede usarse para demostrar que existieron datos (incluso si eran confidenciales) en un determinado momento. El cómputo multipartito seguro se puede usar para computar respuestas (tales como la determinación de la apuesta más alta de una acción) basándose en datos confidenciales (tales como apuestas privadas), de manera tal que una vez finalizado el protocolo, los participantes conocen solo la entrada que ellos realizaron y la respuesta. Las firmas innegables incluyen protocolos interactivos que le permiten al firmante demostrar un fraude y limitar quienes pueden verificar la firma. El cifrado revocable extiende el cifrado estándar haciendo matemáticamente imposible que un atacante demuestre la existencia de un mensaje de texto plano. Las mezclas digitales crean comunicaciones que son difíciles de rastrear.

## Clasificación según su función

* Protocolos de establecimiento de claves
* Protocolos de identificación también llamados protocolos de autentificación de Usuario
* Protocolos de autentificación de Mensaje
* Protocolos de compartición de secretos
* Protocolos de transferencia inconsciente
* Protocolos de prueba de conocimiento cero
* Protocolos de compromiso
* Protocolos de rellenado con paja y aventado
* Protocolos que preservan de privacidad