He pasado mi tiempo libre creando la base para un algoritmo de cifrado. No estoy familiarizado con la programación de computadoras, pero mi tiempo como técnico de redes me dejó increíblemente familiarizado con el binario. Estaba jugando con números en un papel en el trabajo un día (ser un Network Tech es bastante aburrido cuando todo funciona correctamente) y creo que estoy en algo.
Básicamente, descubrí que si tomas un archivo y "relacionas" los bytes de datos con ellos mismos, puedes crear una cadena de 1s, 0s, Xs e Ys. ¿Suena confuso? Déjame darte un ejemplo
Byte A: 10100110 Byte B: 10111110 Toma el byte A y relacionalo con el byte B, con cada bit "relacionado" con el bit correspondiente del otro byte.
Usando las siguientes reglas, logramos un resultado dado:
Bit A: 1 Bit B: 1 Salida: 1
Bit A: 1 Bit B: 0 Salida: 0
Bit A: 0 Bit B: 1 Salida: X
Bit A: 0 Bit B: 0 Salida: Y
Nuestro ejemplo sería (1-1), (0-0), (1-1), (0-1), (0-1), (1-1), (1-1) ( 1-0)
O (1), (Y), (1), (X), (X), (1), (1), (0) O 1y1xx110
Repetimos el proceso, esta vez relacionando la primera mitad de nuestra cadena resultante con la segunda mitad.
Nuestro ejemplo sería (1-X) (Y-1) (1-1) (X-0)
Logramos una salida binaria al asignar las posibles permutaciones a un valor determinado al convertir una frase de paso en hexadecimal, y al aplicar cada dígito del número resultante al valor inicial de la asignación de permutación. Suena confuso (no es que esté insinuando que es difícil de entender, solo que soy absolutamente terrible al explicar las cosas) ¿verdad?
Permítame ilustrar esto.
Tenemos cuatro caracteres posibles en cada dígito. Si los tomamos como permutaciones, en lugar de combinaciones, tenemos 16 resultados posibles. Podemos asignar un valor de inicio a los que es binario. Por ejemplo: 1 seguido de 1 devuelve 0000 si el dígito hexadecimal correspondiente es 0. Si el dígito hexadecimal era 4, el primero habría devuelto 0100. Por cada dos bytes encriptados, usted agota una porción de la clave hexadecimal. Una vez que se agote la llave hexagonal predeterminada, simplemente gire la llave de una manera específica de acuerdo con una métrica simple.
He hecho un trabajo terrible al explicarlo, pero puedes ver los siguientes videos de Youtube si estás realmente interesado en entender esto. Te advertiré, hice estos videos para personas que no tienen educación sobre el tema que nos ocupa. (Lo que usted, más que probable, no es)
Video introductorio: enlace
Segundo video: enlace