Definición: La encapsulación de claves es un proceso de generación de una clave simétrica aleatoria y un texto cifrado asimétrico en función de esa clave. Es una técnica que toma una clave pública como entrada y luego encapsula (codifica) el valor secreto y da como salida un valor secreto compartido. Del mismo modo, el algoritmo de decapsulación llamado Decapsulate produce la clave privada compartida después de tomar la encapsulación y la clave privada como entradas.
Explicación de la encapsulación de claves
Los algoritmos necesarios para la encapsulación de claves se derivan de problemas matemáticos difíciles, como la factorización de números enteros. Un ordenador cuántico podría resolver eficientemente estos problemas rompiendo el secreto de la comunicación. Sin embargo, hay algunos problemas cuya resolución supone un gran reto incluso para los ordenadores cuánticos; estos problemas ayudan a construir algoritmos de intercambio de claves que sean seguros incluso en la existencia de ordenadores cuánticos.
En los Mecanismos de Encapsulación de Claves (KEM), dos personas podrían acordar una clave secreta si una de ellas pudiera enviar la clave secreta a la otra de forma encriptada que sólo la otra persona pudiera desencriptar y utilizar. Cualquiera que tenga acceso a la clave pública de una parte puede comunicarle una clave de forma segura a través de una encapsulación de clave (una primitiva criptográfica). La criptografía de clave pública ayuda a cifrar una clave que se utiliza para cifrar el mensaje real mediante criptografía de clave simétrica.
Un KEM utiliza los tres algoritmos siguientes:
- Generar, crea una clave pública y una clave privada (PK,SK).
- Encapsular, comienza con la clave pública de entrada, y genera un valor secreto compartido junto con un "encapsulado" (un texto cifrado) de este valor secreto(PK,C0)
- Decapsular, que comienza con el encapsulado y la clave privada, y genera el valor secreto compartido (SK, C0).
Con los sistemas de clave pública, el método convencional para enviar una clave simétrica consiste en producir primero una clave simétrica aleatoria y luego encriptarla utilizando la técnica de clave pública seleccionada. A continuación, el destinatario obtiene la clave simétrica descifrando el mensaje de clave pública con la clave privada correspondiente. Dado que las claves simétricas suelen ser cortas, se añade un relleno para una mayor seguridad. Al crear un elemento aleatorio en el grupo finito que subyace en el sistema de clave pública y generar la clave simétrica mediante el hash de ese elemento, los KEM agilizan el procedimiento y completan el requisito del relleno.
La envoltura de claves como forma de encapsulación de claves
Un grupo de algoritmos de cifrado simétrico conocidos como"Key Wrap constructions" (construcciones de envoltura de claves) están hechos para encapsular (cifrar) material de clave criptográfica. Los métodos de envoltura de claves están diseñados para (a) asegurar claves mientras se guardan en un almacenamiento inseguro o (b) enviar claves a través de redes de comunicación no fiables. Los cifradores de bloques y las funciones hash criptográficas son primitivas comunes utilizadas para construir los constructos.
Aunque difiere de las técnicas de encapsulación de claves asimétricas (de clave pública) más conocidas, la encapsulación de claves puede considerarse un tipo de algoritmo de encapsulación de claves (por ejemplo, PSEC-KEM).