Es un chisme que no he podido verificar. Se supone que en alguna ocasión Elon Musk utilizó un sistema muy ingenioso para detectar a la persona que filtró correos electrónicos de la empresa.
El sistema funciona así: cada miembro de una lista de correos recibe un correo diferente de una manera imperceptible a simple vista. Según los espacios en el correo, se usa código binario para asignar un número de identificación a cada uno de los correos.
No tengo idea de si es verdad, si sea buena idea o si de verdad sea imperceptible, pero me parece interesante cómo ejercicio para intentar hacerlo por mi cuenta a como yo entendí que podría hacerse.
* Cómo usar el código binario para encriptar un mensaje secreto en un texto
* Un script para introducir un mensaje con código binario en un texto
Usando el binario para cifrar un correo
El código binario es la base con la que funcionan todas nuestras computadoras. La idea básica de la transmisión de información es que es posible codificar y decodificar lo que sea a partir de sólo unos y ceros.
Esto es muy útil si lo único que tienes a la mano para comunicarte son pulsaciones eléctricas. En tal caso, un paso de electricidad puede significar un 1 y la falta de la misma se codifica como un 0. Lo mismo si estás transmitiendo a través de ondas en el aire, donde una onda larga puede que traducirse como un 1 y una onda corta es un 0.
Usando el código binario
Yo uso el sistema decimal. Eso quiere decir que cada diez dígitos tengo que volver a usar los símbolos anteriores para seguir contando. Pero esta no es la única forma de crear números. Existe por ejemplo el sistema hexadecimal, con 16 dígitos en total (se usan las letras para completar los números faltantes).
Saber cómo funcionan los sistemas de números hace relativamente sencillo comprender que el sistema decimal
¿Cómo poner binario en un texto?
Hagamos un ejercicio para entender cómo ocultar un código corto en un texto. Supongamos que deseas escribir el número 42 en el siguiente texto.
El número 42 es 101010 en binario. Para ocultarlo en el texto usaremos un sólo espacio como un cero y doble espacio como un uno (bien podría ser al revés, lo importante es que sepas cuál es cuál al decodificar). El texto codificado quedaría así
Como puedes ver, los dobles espacios son poco visibles y podrían pasar por un pequeño error tipográfico para alguien desapercibido. Veamos si podemos hacer un script en python que lo haga.
Primeros pasos
Lo primero que haremos será definir un texto para que sea nuestro correo a encriptar. Yo elegí un extracto del Quijote para comenzar, pero puedes usar cualquier texto que te parezca interesante. Usa el código siguiente en Python para almacenar ese texto en una variable de nombre text
.
Lo primero que quiero hacer es asegurarme de que no hayamos puesto doble espacio en ninguna parte. Como dijimos podría bien ser un error genuino. El siguiente código hace esta tarea por nosotros.
t = ' '.join(text.split())
Ahora toca encontrar las posiciones en las que podemos encontrar espacios y guardarlos en una lista. Usamos una técnica que se llama list comprehention para crear la lista en una sola línea de código. Como sólo usaremos 6 dígitos para nuestro número binario, podemos cortar la lista a los elementos que necesitamos únicamente.
Leer el artículo completo
Registrarse ahora para leer el artículo completo y acceder a todos los artículos por solo suscriptores pagos.
Suscribirse