¿Cómo funciona la teoría de criptografía y encriptación? ¿Cómo demostraría con conjuntos de datos de 8 bits?

La criptografía es el estudio de técnicas para una comunicación segura, se refiere a la creación de nuevos cifrados más fuertes, así como al uso de cifrados existentes para asegurar la comunicación.

El cifrado y el descifrado son parte de la criptografía.

Cipher es un algoritmo que se usa para cifrar / descifrar un mensaje.

La clave es un secreto utilizado por un cifrado para cifrar / descifrar un mensaje.

El cifrado simétrico utiliza algo llamado cifrado de bloque. Los cifrados de bloque son cifrados que dividen el texto sin formato en bloques, cifran cada bloque por separado y luego combinan los bloques cifrados para generar un texto cifrado, que tiene la misma longitud que el texto sin formato original.

Un famoso cifrado simétrico DES utiliza la red Feistel, que es un ejemplo fácil de entender cómo ocurre el cifrado, IMO.

No voy a hacer un ejemplo detallado, pero los conceptos básicos de Feistel Networks son:

  1. Dividir texto plano en bloques
  2. Realice manipulaciones en cada bloque, por ejemplo:
    1. Combínalo con otros bloques usando XOR, AND, OR, etc.
    2. Ejecútelo a través de una función que internamente hace un XOR, AND, OR con la tecla (la tecla generalmente tiene la misma longitud que el bloque, que básicamente se reduce a las mismas cosas que el punto anterior)
  3. Imprima el texto cifrado recogiendo los bloques.

Editar:

Divida un texto sin formato de 8 bits en dos bloques de 4 bits, luego cree una clave de 4 bits, cree su propia red Feistel y trabaje en ella.

Recuerde, la clave debe ser la misma para el cifrado y descifrado. Cifrado simétrico!

Editar:

No estoy seguro de qué quiere decir con un conjunto de datos de 8 bits, pero aquí hay un ejemplo de mi tarea escolar, implica trabajar con números de 6 bits.

K1 = 12, K2 = 13.

X1 = 56, X2 = 23 → X1 = 0b111000, X2 = 0b010111.

“⊕” es un XOR bit a bit.

F (x, K) = [matemáticas] (K + x) ^ 2 [/ matemáticas] mod 64

Cifrado

Descifrado