domingo, 12 de marzo de 2017

2.3 Criptosistemas de Cifrado en Flujo

Las cifras en flujo surgen como una aproximación optimizada del cifrado de Vernam. La idea es construir una clave lo bastante larga, cuando menos de la longitud del mensaje, a partir de una clave inicial corta mediante lo que se lla-ma generador pseudoaleatorio. Este generador expande una clave corta, lla-mada semilla, para obtener una mucho más larga. Además, la operación de expansión tiene que tener unas características determinadas, ya que la secuen-cia que resulta se utiliza para cifrar el texto en claro.

Los cifradores de flujo son algoritmos de cifrado que pueden realizar el cifrado incrementalmente, convirtiendo el texto en claro, en texto cifrado bit a bit. Esto se logra construyendo un generador de flujo de clave. Un flujo de clave es una secuencia de bits de tamaño arbitrario que puede emplearse para oscurecer los contenidos de un flujo de datos combinando el flujo de clave con el flujo de datos mediante la función XOR. Si el flujo de clave es seguro, el flujo de datos cifrados también lo será.


Cifradores con clave continua de un solo uso.

Como su nombre lo indica solo se usa una vez, en caso de que sea interceptada y haya sido usada, ya no funcionara. Normalmente se generan mediante un algoritmo y no se recurre a la introducción por parte del usuario.

Los métodos para obtener claves de un solo uso son:

  • Usar una calculadora que da claves sincronizadas en el tiempo con el servidor. Ambos utilizar el mismo algoritmo y por tanto la clave de la calculadora y la esperada por el servidor coinciden.
  • Petición por teléfono móvil. Algún banco envía la clave de un solo uso al móvil, en un SMS.

Postulados de Golomb para secuencias cifrantes.

Son herramienta que ayudan a determinar la calidad y seguridad de una secuencia en términos de aleatoriedad (primero y seguno postulados) y su impredecibilidad(tercer postulador). Golomb, formulo tres postulados que en una secuencia finita debe satisfacer para denominarse secuencia pseudoaleatoria o PN (Pseudo Noise). Estos postulados pueden resumirse de la siguiente manera, en cada periodo de la secuencia considerada:

G1: El número de 1 tiene que ser aproximadamente igual al número de 0. Es decir, el número de 1 en cada periodo debe diferir del número de 0 por no más que 1.

G2: La probabilidad de ocurrencia, aproximada por su frecuencia relativa, de cada k-grama (muestras de n dígitos consecutivos) debe ser muy cercana a :

G3: La función de auto correlación, AC(K), fuera de fase es constante para todo valor de K. Para que una secuencia satisfaga este postulado, la función de auto correlación debe ser bivaluada. Una secuencia que cumpla estos tres postulados se denomina secuencia pseudoaleatoria, PN y disfruta de todas las propiedades de una secuencia binaria con distribución uniforme.

Estructuras generadoras de secuencias cifrantes.

Las claves pueden ser creadas por el usuario o generadas automáticamente con la ayuda de generadores de claves los cuales se clasifican en dos tipos:

Generadores aleatorios: para generar secuencias cifrantes utilizan datos provenientes de ruido físico aleatorio (ruido de un micrófono, ruido térmico en un semiconductor, etc.) o bien provenientes del estado de una computadora (interrupciones, posición del ratón, actividad en la red, uso del teclado, etc.). Es conveniente combinar varias técnicas para que la secuencia resultante sea imposible de predecir. Este tipo de generadores se utilizan para generar claves cortas.

Generadores pseudoaleatorios: Este tipo de cifradores no son totalmente aleatorios ya que para generar una secuencia obedecen a algún algoritmo o cierto procedimiento repetitivo.


Generador de congruencia lineal.

Un generador de congruencia lineal ( LCG ) es un algoritmo que produce una secuencia de números pseudo-aleatorios calculados con una discontinua ecuación lineal por tramos . El método representa una de las más antiguas y más conocidas número de generadores pseudoaleatorios algoritmos. La teoría detrás de ellos es relativamente fácil de entender, y se implementa fácilmente y rápido, sobre todo en el hardware que puede proporcionar la aritmética módulo de almacenamiento de bits truncamiento.

Cifrados en flujo con registros de desplazamiento.

Un registro de desplazamiento es básicamente una construcción con varias celdas de memoria conectadas entre sí, donde cada celdas almacena un bit.Así, el valor de todas estas celdas conforman el estado del registro. Cuando se cambia el estado del registro (generalmente al ritmo de un reloj), el nuevo estado del registro se forma simplemente desplazando los bits de cada celda a la celda de su derecha. Así, el bit de más a la derecha sale del registro, y un nuevo bit entra en la celda de más a la izquierda.



En esta figura podemos ver una implementación de registro de desplazamiento de 4 bits:




No hay comentarios:

Publicar un comentario