Algoritmo que calcula todas las claves redondas a partir de la clave
En criptografía , los denominados cifrados de producto son un tipo de cifrado en el que el (des)cifrado de datos se realiza normalmente como una iteración de rondas . La configuración para cada ronda es generalmente la misma, excepto por los valores fijos específicos de la ronda llamados constante de ronda y los datos específicos de la ronda derivados de la clave de cifrado llamados clave de ronda . Un programa de claves es un algoritmo que calcula todas las claves de ronda a partir de la clave.
Algunos tipos de horarios clave
Algunos cifrados tienen esquemas de claves simples. Por ejemplo, el cifrado de bloques TEA divide la clave de 128 bits en cuatro fragmentos de 32 bits y los utiliza repetidamente en rondas sucesivas.
DES tiene un programa de claves en el que la clave de 56 bits se divide en dos mitades de 28 bits; cada mitad se trata a partir de entonces por separado. En rondas sucesivas, ambas mitades se rotan hacia la izquierda en uno o dos bits (especificados para cada ronda), y luego se seleccionan 48 bits de clave de ronda mediante Permuted Choice 2 (PC-2): 24 bits de la mitad izquierda y 24 de la derecha. Las rotaciones tienen el efecto de que se utiliza un conjunto diferente de bits en cada clave de ronda; cada bit se utiliza en aproximadamente 14 de las 16 claves de ronda.
Para evitar relaciones simples entre la clave de cifrado y las claves redondas, con el fin de resistir formas de criptoanálisis como ataques de clave relacionada y ataques de deslizamiento , muchos cifrados modernos utilizan esquemas de clave más elaborados para generar una "clave expandida" de la que se extraen las claves redondas. Algunos cifrados, como Rijndael (AES) y Blowfish , utilizan las mismas operaciones que las utilizadas en la ruta de datos del algoritmo de cifrado para su expansión de clave, a veces inicializadas con algunos " números de nada bajo la manga ". Otros cifrados, como RC5 , expanden claves con funciones que son algo o completamente diferentes de las funciones de cifrado.
Notas
Knudsen y Mathiassen (2004) ofrecen algunas pruebas experimentales que indican que el esquema de claves desempeña un papel en la concesión de resistencia frente al criptoanálisis lineal y diferencial . En el caso de los cifrados de juguete de Feistel , se observó que aquellos con esquemas de claves complejos y bien diseñados pueden alcanzar una distribución uniforme de las probabilidades de los diferenciales y los cascos lineales más rápido que aquellos con esquemas de claves mal diseñados.
Referencias
Lars R. Knudsen y John Erik Mathiassen, Sobre el papel de los programas clave en los ataques a los cifrados iterados, ESORICS 2004, págs. 322-334.
Uri Blumenthal y Steven M. Bellovin, Un mejor esquema de claves para cifrados tipo DES, Actas de PRAGOCRYPT '96.