Cifrado de flujo (1) Cifrado de flujo sincrónico, cifrado de flujo sincrónico y registro de desplazamiento de realimentación lineal

Formalmente ingresó al campo de la criptografía y descubrió que la criptografía es más como una matemática, principalmente la simple aplicación de la teoría del logaritmo, el álgebra moderna y el uso de algoritmos, a menudo combinados con operaciones modulares y operaciones de lógica digital.
La primera parte del cifrado de flujo compara principalmente el cifrado de flujo sincrónico y el cifrado de flujo auto-sincronizado. Entre ellos, el cifrado de flujo auto-sincronizado es difícil de analizar teóricamente porque la generación de flujo clave está relacionada con el texto plano. La mayoría de los resultados de la investigación actual son sobre cifrados de flujo sincronizados.
En cuanto al registro de desplazamiento, es un componente principal de la secuencia de claves generada por el cifrado de secuencia.El registro de desplazamiento de retroalimentación lineal LFCR se usa comúnmente.

Cifrado de flujo (1)


La idea básica del cifrado de flujo es generar un flujo de clave z = z0 z1 ⋯ usando la clave k, y encriptar la cadena de texto simple x = x0 x1 x2 ⋯ usando las siguientes reglas: y = y0 y1 y2 ⋯ = Ez0 (x0) Ez1 (x1) ) Ez2 (x2) ... El flujo de claves es generado por el generador de flujo de claves f: zi = f (k, σ i), donde σ i es el estado del elemento de memoria (memoria) en el encriptador en el momento i, y f son las claves k y σ i La función generada. mensaje de texto plano usando la transformación de cifrado cambiando por carácter cifrado (binario) de. La tecla rodante z0 = f (k, σ 0) del cifrado de flujo está completamente determinada por la función f, la tecla k y el estado inicial especificado σ 0. 0) está completamente determinado por la función f, la tecla k y el estado inicial especificado σ 0. Después de eso, dado que la entrada de texto sin formato al encriptador puede afectar el estado de almacenamiento del elemento de memoria interna en el encriptador, σ i (i> 0) puede depender de k, σ 0, x0, x1, ⋯, xi-1 y otros parámetros.

La característica del cifrado de flujo es que es rápido y no requiere circuitos de hardware muy complicados. La propagación de errores es limitada, es decir, la pérdida o el error de una determinada contraseña en la transmisión solo afectará a este carácter.

Clasificación de cifrado de flujo

Clave simétrica y clave pública

Hay dos tipos de sincronización y auto-sincronización: según si el estado de almacenamiento σ i del elemento de memoria en el encriptador depende de los caracteres de texto sin formato de entrada, los cifrados de flujo se pueden dividir en dos tipos: sincronización y auto-sincronización. σ i, independiente de los caracteres de texto sin formato, se denomina cifrado de flujo de sincronización; de lo contrario, se denomina cifrado de flujo de auto-sincronización.

Sincronizar contraseña de transmisión

El cifrado de flujo sincrónico se refiere a la generación de mensajes de texto claro independientes y textos de cifrado del flujo de claves en el sistema de cifrado. Debido a esta característica del cifrado de flujo sincrónico, el cifrado del cifrado de flujo sincrónico se puede dividir en dos partes: generador de flujo de claves y convertidor de cifrado

Inserte la descripción de la imagen aquí

En los cifrados de flujo síncrono, dado que zi = f (k, σ i) no tiene nada que ver con caracteres de texto sin formato, los caracteres de texto cifrado yi = Ezi (xi) en este momento tampoco dependen de los caracteres de texto sin formato anteriores. Hay muchas opciones para la transformación de cifrado Ez i siempre que la transformación sea reversible. Los sistemas de comunicación de seguridad digital realmente utilizados son generalmente sistemas binarios.

La clave para sincronizar los cifrados de flujo es el generador de flujo de claves. Generalmente puede considerarse como un autómata de estado finito con el parámetro k, que consiste en un conjunto de símbolos de salida Z, un conjunto de estados ∑, dos funciones φ y ψ, y un estado inicial σ 0. El quiosco de estado finito puede transferir el estado y formar un bucle cerrado bajo la función de transición de acuerdo con el conjunto de estados finitos y el conjunto de caracteres de entrada y salida. Para lograr este objetivo, se debe utilizar una función no lineal.

La parte del controlador del generador de flujo de claves más popular y práctica es uno o más registros de desplazamiento de retroalimentación lineal.

La naturaleza de los cifrados de flujo síncrono: la sincronización es estricta y requiere una propagación sin errores. El error de propagación de un solo carácter no lo afecta, pero no puede resistir los ataques activos.

El cifrado de flujo de adición binario es un cifrado de flujo síncrono común. El flujo de clave, el texto plano y los caracteres de texto cifrado son todos caracteres binarios, y la función de salida h es una función XOR.
Inserte la descripción de la imagen aquí

Contraseña de transmisión de sincronización automática

El cifrado de flujo auto-síncrono (cifrado de flujo asíncrono) significa que el flujo de clave se genera por la función de la clave y un número fijo de caracteres de texto cifrado anteriores. El proceso de cifrado se muestra en la figura, t es el número de registros de cifrado.

Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquíNaturaleza: la auto-sincronización, la propagación limitada de errores, los errores en el proceso de transmisión afectarán a los caracteres de la contraseña, es el número de registros de cifrado y descifrado, no puede evitar ataques activos, el atacante interrumpe la comunicación a través del ataque. La difusión de las estadísticas de texto sin formato, el texto cifrado de texto sin formato anterior siempre afectará al texto cifrado de texto sin formato posterior

Registro de desplazamiento de retroalimentación lineal LFSR

El registro de desplazamiento es un componente principal del flujo de claves generado por el cifrado de flujo. Sus características: es el componente básico de muchos generadores de flujo clave; LFSR es muy adecuado para la implementación de hardware; puede generar secuencias periódicas grandes; puede generar secuencias con buenas propiedades estadísticas; es fácil analizarlo utilizando métodos algebraicos.

Definición: Un registro de desplazamiento de retroalimentación lineal (LFSR) de longitud L consta de 0, 1, ..., L-1 con un total de L etapas y un reloj, cada etapa tiene 1 bit de entrada y 1 bit de salida, y puede almacenarse Carácter de 1 bit; el reloj se usa para controlar el movimiento de datos. Las siguientes operaciones se realizan dentro de cada unidad de tiempo: Los caracteres almacenados en el nivel 0 se emiten como parte de la secuencia de salida. Para cada i pertenece a [1, L-1], mueva el contenido del nivel i al nivel i-1. El nuevo elemento almacenado en el nivel L-1 es el bit de retroalimentación sj, que se obtiene al agregar el módulo 2 del contenido de un subconjunto fijo en el nivel L-1.

Inserte la descripción de la imagen aquíLa imagen de arriba es especialmente importante. Donde la constante ci = 0 o 1, es la adición del módulo 2. ci = 0 o 1 se puede lograr abriendo y cerrando el interruptor. La secuencia de salida {en} satisface an + t = cn en cn-1 en + 1 ⋯ c 1 an + t- 1, donde t es un entero positivo no negativo.

Atención especial: en los registros de desplazamiento de retroalimentación lineal, siempre se supone que al menos uno de c 1, c 2, ⋯, cn no es 0, de lo contrario f (a1, a2, ⋯, an) ≡0, en este caso, en Después de n pulsos, el estado debe ser 00 ⋯ 0. El período de estado del registro de desplazamiento de realimentación lineal de nivel n es menor o igual a 2n-1. El período de su secuencia de salida es igual al período de estado, y también es menor o igual que 2n-1. Elegir la función de retroalimentación adecuada puede hacer que el período de la secuencia alcance el valor máximo 2n-1, y la secuencia cuyo período alcanza el valor máximo se llama secuencia m.

Suponga que la secuencia de salida {ai} del registro de desplazamiento lineal de nivel n satisface la relación de recurrencia
an + k = c 1 an + k-1 XOR c 2 an + k-2 XOR ⋯ XOR cn ak (*) para cualquier k≥1 Establecido Esta relación recursiva se puede utilizar como un polinomio de alto grado de un grado
p (x) = 1 + c 1 x + ⋯ + cn-1 xn-1 + cn xn

Representar, llamar a este polinomio el polinomio característico o polinomio característico de LFSR.


Mira un ejemplo:

Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquí


Teorema : la condición necesaria para que una secuencia generada por LFSR de nivel n tenga un período máximo de 2 ^ n-1 es que su polinomio característico es irreducible.

Prueba : suponga que el período de secuencia generado por LFSR de nivel n alcanza un máximo de 2 ^ n-1, a excepción de la secuencia 0, el período de cada secuencia está determinado únicamente por el polinomio característico, independientemente del estado inicial. Supongamos que el polinomio característico es p (x), si p (x) es reducible, se puede establecer como p (x) = g (x) h (x), donde g (x) es irreducible y el grado k <n. Como G (g (x)) pertenece a G (p (x)), el período de la secuencia en G (g (x)) no excede de 2 ^ k-1 por un lado, y 2 ^ n-1, por otro lado Esto es contradictorio, por lo que p (x) es irreducible. (Certificación)

El teorema inverso no se cumple: F (x) = x ^ 4 + x ^ 3 + x ^ 2 + x + 1 es un polinomio irreducible en GF (2), que se puede obtener por x, x + 1,
x ^ 2 + x + 1 No se puede dividir por f (x). La secuencia de salida del LFSR con f (x) como el polinomio característico se puede obtener de
ak = ak-1 XOR ak-2 XOR ak-3 XOR ak-4 (k ≥ 4) y el estado inicial dado, y establecer el estado inicial Si el estado es 0001, la secuencia de salida es 000110001100011 ..., el período es 5, no la secuencia m.

** Teorema ** Si el orden del n-ésimo polinomio irreducible p (x) es 2n-1, entonces se dice que p (x) es el polinomio primitivo de orden n. Sea {ai} ∈G (p (x)), {ai} una condición suficiente y necesaria para la secuencia m de que p (x) es el polinomio original .

Inserte la descripción de la imagen aquí

Definición: El LFSR que se muestra en la figura anterior se puede escribir como <L, C (D)>. Si el número de C (D) es L, el LFSR se llama no singular. Para cada i, pertenece a [0, L-1], si el valor de almacenamiento inicial del nivel i es {0, 1}, entonces [sL-1, ..., s1, s0] se denomina estado inicial de la LFSR Cada secuencia de salida de LFSR <L, C (D)> (es decir, para todos los estados iniciales posibles) es periódica si y solo si el grado de C (D) del polinomio de conexión es L.

Inserte la descripción de la imagen aquí

Publicado 38 artículos originales · ganó 11 · vistas 3844

Supongo que te gusta

Origin blog.csdn.net/qq_43721475/article/details/104661762
Recomendado
Clasificación