Diferencia entre Block Cipher y Stream Cipher
Contenido
Block Cipher y Stream Cipher son los métodos utilizados para convertir el plano en cifrado directamente y pertenecen a la familia de cifrados de clave simétrica.
La principal diferencia entre un cifrado de bloque y un cifrado de flujo es que el cifrado de bloque cifra y descifra un bloque de cada vez. Por otro lado, el cifrado de flujo encripta y desencripta tomando un byte de a la vez.
- Cuadro comparativo
- Definición
- Diferencias clave
- Conclusión
Cuadro comparativo
Bases para la comparación | Cifrado de bloque | Cifrado de flujo |
---|---|---|
BASIC | Convierte el plano tomando su bloque a la vez. | Convierte el mediante la toma de un byte de la llanura a la vez. |
Complejidad | Diseño simple | Complejo comparativamente |
No de bits utilizados | 64 bits o más | 8 pedazos |
Confusión y Difusión | Utiliza confusión y difusión. | Se basa solo en la confusión |
Algoritmo modos utilizados | BCE (Libro de códigos electrónicos) CBC (cadena de bloques de cifrado) | CFB (retroalimentación de cifrado) OFB (Feedback de salida) |
Reversibilidad | Invertir encriptado es difícil. | Utiliza XOR para el cifrado, que se puede revertir fácilmente al plano. |
Implementación | Cifrado Feistel | Vernam Cipher |
Definición de cifrado de bloque
Block Cipher toma un y lo divide en un tamaño fijo de bloques y convierte un bloque del mismo en un instante. Por ejemplo, tenemos un "STREET_BY_STREET" en claro que se requiere encriptar. Usando el cifrado de bock, "STREET" debe encriptarse al principio, seguido de "_BY_" y finalmente al final "STREET".
En la práctica real, la comunicación se lleva a cabo solo en bits. Por lo tanto, STREET en realidad significa el equivalente binario del carácter ASCII de STREET. Posteriormente, cualquier algoritmo los cifra; los bits resultantes se transforman nuevamente en su equivalente ASCII.
Un problema evidente con respecto al uso de cifrados de bloque es repitiendo , para lo cual se genera el mismo cifrado. Por lo tanto, le daría una pista al criptoanalista que hace que sea más fácil descubrir las cadenas recurrentes de la llanura. Como resultado, puede revelar el todo.
Para superar este problema, el modo de encadenamiento es usado En esta técnica, el bloque de cifrado precedente se mezcla con el bloque actual, de modo que para el cifrado vago, esto evita los patrones recurrentes de bloques con el mismo contenido.
Definición de cifrado de flujo
Stream Cipher normalmente encripta un byte del en ese momento en lugar de usar bloques. Tomemos un ejemplo, supongamos que el original (simple) es "cielo azul" en ASCII (es decir, formato). Cuando convierte estos ASCII en valores binarios equivalentes, dará la salida en forma de 0 y 1. Deja que se traduzca en 010111001.
Para el cifrado y descifrado, un generador de bits pseudoaleatorio se utiliza en el que se cargan una clave y un plano. Un generador de bits pseudoaleatorio crea una secuencia de números de 8 bits que aparentemente son aleatorios conocidos como secuencia clave. Deje que la clave de entrada es 100101011. Ahora la clave y el plano son XORed. La lógica XOR es simple de entender.
XOR produce una salida de 1 cuando una entrada es 0 y la otra es 1. La salida es 0 si ambas entradas son 0 o ambas entradas son 1.
Confusión es un método que garantiza que un cifrado no da pistas sobre el plano original.
Difusión es una estrategia utilizada para mejorar la redundancia del plano extendiéndolo a través de filas y columnas.
- La técnica de cifrado de bloque implica el cifrado de un bloque a la vez, es decir, de forma individual. Del mismo modo, descifre el tomando un bloque tras otro. En contraste, la técnica de cifrado Stream implica el cifrado y descifrado de un byte a la vez.
- El cifrado de bloque utiliza confusión y difusión, mientras que el cifrado de flujo solo se basa en la confusión.
- El tamaño habitual del bloque podría ser de 64 o 128 bits en el cifrado de bloque. Por el contrario, 1 byte (8 bits) a la vez se convierte en el cifrado de flujo.
- Usos de cifrado de bloque BCE (Libro de códigos electrónicos) y CBC (cadena de bloques de cifrado) modos de algoritmo Por el contrario, el cifrado Stream utiliza CFB (retroalimentación de cifrado) y OFB (Feedback de salida) modos de algoritmo
- El cifrado de flujo utiliza la función XOR para convertir el plano en cifrado, esa es la razón por la cual es fácil revertir los bits XOR. Mientras que Block Cipher no utiliza XOR para hacerlo.
- El cifrado de bloque usa la misma clave para cifrar cada bloque, mientras que el cifrado de flujo usa una clave diferente para cada byte.
Conclusión:
Block Cipher y Stream Cipher difieren en la forma en que se codifica y descifra el plano. La idea detrás del cifrado de bloques es dividir el plano en bloques para cifrar aún más esos bloques. Mientras que el cifrado de flujo se convierte poco a poco de forma similar al flujo.