Algoritmo Criptografico Decimv
Enviado por frank513 • 16 de Diciembre de 2013 • 2.146 Palabras (9 Páginas) • 325 Visitas
De acuerdo con la especificación propuesta por el proyecto de cifrado de flujo ECRYPT, Decimv2
toma como entrada una clave secreta longitud de 80 bits y un vector de inicialización público longitud de 64 bits.
Generación keystream
El tamaño del estado interior de Decimv2 es sin cambios, es decir, 192 bits. El mecanismo de la generación de cadenas de claves se describe en la Figura 2. Los bits del estado interno del LFSR se numeran 0 a 191, y que se indican mediante (x0,..., x191). La secuencia de la realimentación lineal valores del LFSR se denota por s = (st) t ≥ 0.
La función booleana f es una función simétrica cuadrática 13-variable que es equilibrada.
Deje xi1,. . . , Xi14 denotan los 14 bits de estado interna inicial del LFSR que son las entradas de
el filtro. Las sucesiones Y salidas por el filtro se define por:
El ABSG toma como entrada la secuencia y = (yt) t ≥ 0. La salida de secuencia por el ABSG
se denota por z = (ZT) t ≥ 0. El mecanismo de tampón garantiza un caudal constante para el
keystream; escogemos un buffer de 32 bits de longitud y las salidas de amortiguamiento 1 bit por cada 4 turnos por una posición del LFSR.
Observación 1 Para la generación de cadenas de claves, la brecha entre Decimv1 y Decimv2 es la elección del filtro. En Decimv1, el filtro es una función vectorial definida por:
Donde f es una función booleana simétrica 7-variable que es equilibrada, pero que no se correlaciona inmune de orden 1
2.2 Configuración Tecla / IV
El llenado inicial del LFSR de la clave y el vector de inicialización se modifica en Decimv2
en comparación con Decimv1. El mecanismo de configuración Tecla / IV consiste en fichar 4 × 192 = 768 veces el LFSR utilizando la retroalimentación no lineal que se describe en la Figura 3.
Observación 2 Para la etapa de inicialización, las principales diferencias entre Decimv1 y Decimv2 son el llenado del LFSR que se cambia, la supresión de las permutaciones y la elección
del filtro. Como consecuencia, el número de relojes en la etapa de inicialización aumenta desde 192 hasta 768.
3 Especificación
En esta sección, se describe cada componente de Decimv2 y describimos los cambios entre
Decimv1 y Decimv2; nos referimos a [3] cuando se ha hecho modificaciones.
3.1 El LFSR filtrada
Esta sección describe el LFSR filtrado que genera la secuencia y (la secuencia y es la
entrada del mecanismo de ABSG).
El LFSR (sin cambios). El LFSR subyacente es un LFSR de longitud máxima de la longitud 192
sobre F2. Se define por la siguiente retroalimentación polinomio primitivo:
P(X) = X192 + X189 + X188 + X169 + X156 + X155 + X132 + X131 + X94 + X77 + X46
+X17 + X16 + X5 + 1.
El filtro (cambiado). La función del filtro es la función de Boole 14-variable definida por:
donde f es la función booleana cuadrática simétrica definida por:
Las posiciones de tomas del filtro son:
y la entrada de la ABSG en la etapa t es:
3.2 Exterminación (sin cambios)
Esta parte describe cómo se obtiene la secuencia de flujo de clave z de la secuencia y. la
ABSG algoritmo se da en la Figura 4.
3.3 Mecanismo Buffer (sin cambios)
El tipo del mecanismo ABSG es irregular y por lo tanto, utilizar un tampón con el fin de
garantizar un rendimiento constante. Elegimos un búfer de longitud 32 y por cada 4 bits que
se introducen en la ABSG, el tampón se supone que la salida un bit exactamente. Con estos
parámetros, la probabilidad de que la memoria intermedia está vacía mientras que tiene a la salida un bit es menor que 2-89.
Si el ABSG emite un bit cuando el buffer está lleno, el bit recién calculado no es
añadido a la cola, es decir, se deja caer. Suponiendo que el estado interno inicial se calcula
(que se denota por z0,..., z191), el mecanismo de ABSG comienza en el bucle que comienza y el
buffer está vacío. El proceso de generación de flujo de clave se inicia cuando el buffer está lleno.
3.4 Key Setup / IV
Esta subsección describe el cálculo del estado interno inicial para iniciar el flujo de claves
generación. Tenga en cuenta que el mecanismo de ABSG ya no se utiliza durante la inicialización de la etapa.
Llenado inicial del LFSR (cambiado)
La clave secreta K es una clave de 80 bits denotado por K = K0,. . ., K79 y el vector de inicialización IV es una de 64 bits IV denotado por IV0,. . ., IV63.
El llenado inicial del LFSR se hace como sigue.
El número de posibles valores iniciales del estado LFSR es de 280 +64 = 2144.
Actualización del estado LFSR
El LFSR está sincronizado 4 × 192 = 768 veces utilizando una relación de retroalimentación no lineal. Sea yt denota la salida de f en el tiempo t y vamos LVT denotan el valor de realimentación lineal en el tiempo t > 0. Entonces, el valor de x191 en el tiempo t se calcula utilizando la ecuación:
Observe que no hay ningún bit de la salida de estado LFSR durante este paso.
4 Diseño justificación
La lógica detrás del diseño de Decimv2 se basa en el hecho de que las principales ideas detrás
Decimv1, es decir, para filtrar y a continuación, diezmar la salida de un LFSR utilizando el mecanismo de ABSG no era en absoluto en duda. Por lo tanto, el núcleo de Decimv2 es una única función de base booleana filtrado, seguido de una decimación basado en ABSG.
4.1 El filtro
En Decimv2 (y también en Decimv1) una función booleana se utiliza para filtrar el LFSR mientras que el Shrinking Generator o el Self-Shrinking Generator son tanto aplica directamente sobre LFSRs. La complejidad lineal de las salidas de secuencia por un LFSR con un polinomio primitivo retroalimentación es la longitud del LFSR. El interés del filtro es aumentar significativamente la lineal complejidad de la secuencia que es la secuencia de entrada del mecanismo de ABSG. Eso viene para aumentar significativamente la longitud mínima del LFSR equivalente, que genera la misma secuencia como esas salidas por el LFSR filtrada.
La elección del filtro es muy importante ya que el filtro no debe introducir algunos puntos débiles en el cifrado de flujo (como es el caso para Decimv1). Una propiedad importante para el filtro es que la salida del filtro debe ser distribuida de manera uniforme. En Decimv1, la variable-7 Función booleana f utilizado en el filtro es equilibrada,
...