¿Y, si compartes tu algoritmo de cifrado? ...

Iniciado por DtxdF, Agosto 11, 2019, 02:41:04 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Agosto 11, 2019, 02:41:04 PM Ultima modificación: Abril 10, 2021, 06:42:59 PM por DtxdF


¿Preparados? ...

Prepárense, cierren las ventanas, las cortinas, preparen el casco de aluminio y pónganse cómodos. Hoy les quiero hablar de los métodos de criptografia o codificación, pero ..., esta vez la crearan ustedes.

Ya hacía tiempo "Y mucho" que existen los cifrados y codificaciones, pero les quiero dar la oportunidad que puedan crear o descubrir, solo con su mente, un algoritmo para este fin.

En mi caso yo les traeré uno llamado el cifrado de shalom, que se me ocurrió mientras visualizaba un abecedario.

Empecemos ...

Primero hay que tener en cuenta algunos datos "Explicare todo poco a poco":


  • Mapa de caracteres, en mi caso un simple abecedario "Aunque si somos creativos y queremos ir mas allá, podríamos utilizar la tabla ASCII": Nos servirá como tabla de caracteres
  • Palabra: La palabra que usaremos "Tendrá que contener las letras del abecedario o mapa de caracteres". En mi caso será "Hola"

Hay más variables que necesitaremos, pero las explicare más adelante.

El abecedario ..., Como ya mencione anteriormente el abecedario o también podríamos usar algún mapa de caracteres se encarga de tener un orden en los caracteres para el cifrado y podemos llamarlo "Clave o Contraseña", ya que lo debe tener tanto el emisor como el receptor; Aunque te estés imaginando el abecedario ordenado, te digo amigo/a mío/a no sera necesario.

Usaremos para explicar mejor el paradigma, el abecedario de forma ordenada.

A; B; C; D; E; F; G; H; I; J; K; L; M; N; O; P; Q; R; S; T; U; V; W; X; Y; Z

Otro dato a tener en cuenta que modificara el abecedario es el Indice. Este se encarga de mover a la derecha o izquierda las letras del abecedario y invierte el orden de ese segmento; Si se desea mover a la derecha, se coloca un número positivo y, si se desea mover a la izquierda se coloca un número negativo.

Usare un Indice de 6. Por lo tanto quedaría de esta forma:

Z; Y; X; W; V; U; A; B; C; D; E; F; G; H; I; J; K; L; M; N; O; P; Q; R; S; T

Un truco para hacer lo que hice en cuestión de segundos es, que si un número es positivo, el "6" en mi caso, contare de la última letra del abecedario, osea de derecha a izquierda, 6 veces y colocaría esas letras al otro extremo del abecedario o mapa de caracteres invertidos en orden. Lo contrario seria si el número seria negativo.

Ciframos ..., Vamos a cifrar la palabra "Hola". Primero debemos ubicar todas las letras que utilizaremos y las marcaremos para tener un orden; Posteriormente vamos a definir otra variable llamada Saltos, donde esos saltos significan el retroceso o avance, que definirán otra letra. Ejemplo en caso de la H(ola), le quiero aumentar 4 saltos, así que empezamos a ver que letra sera ahora con los saltos añadidos:

L. Por que si "Saltamos" de letra en letra, cuatro veces "Caeremos" en la "L", según nuestro abecedario modificado con nuestro indice.

Colocaremos en la esquina superior-derecha el número de saltos que usamos invertidos "Como si se tratase de una potencia", en este caso, "-4".

Pasare a cifrar las demás letras. H(4) significa ahora L(-4), O(-3) significa ahora L(3), L(2) significa ahora N(-2), A(-1) significa ahora U(1)

Los números que acompañan a las letras dentro de los paréntesis son los indices de grado de estos. Por lo tanto el mensaje seria ahora: "L(-4)L(3)N(-2)U(1)".

NOTA: Si notan algo peculiar es que los indices de grados de los saltos están en secuencia descendente "Ustedes pueden usar cualquiera".

Resto de diferencia ..., Se encarga de aumentar o disminuir los números de los indices de grado y aumentar un extra de seguridad. En mi caso elegiré el "6" para el resto de diferencia.

Algo que hay que tener en cuenta antes de continuar es que si usaremos un número positivo/negativo en el resto de diferencia, el receptor debe asignarle el signo contrario para que le de el número correcto.

Bien, una vez aclarado, hagamos las operaciones: L(-4+6)L(3+6)N(-2+6)U(1+6) = L(2)L(9)N(4)U(7)

Enviamos el mensaje ...

Algo que hay que tener en cuenta es que solo 3 datos los tienen que tener tanto el emisor como el receptor y solo 1 de estos es modificable y se podrá enviar públicamente.

Entre los no modificables serán y lo deben de tener de forma privada:


  • El abecedario o el mapa de caracteres
  • El resto de diferencia

El dato que sera modificable y público por el emisor será:


  • El indice

Para dar otro extra de confidencialidad cambiaremos las letras a números. Esto lo hacemos solo enumerando todas las letras del abecedario modificado por el indice. En mi caso es:

L(2)L(9)N(4)U(7) = 18(2)18(9)20(4)6(7)

Ahora lo que debemos enviar, solamente será el indice y el mensaje.

El receptor ...

Ahora para poder decifrarlo con los únicos datos que tenemos: "18(2)18(9)20(4)6(7)", mensaje y "6", resto de diferencia. Lo hacemos de la siguiente manera:

Enumeramos las letras del abecedario y convertimos los números que están al lado de los paréntesis en letras:

18(2)18(9)20(4)6(7) = L(2)L(9)N(4)U(7)

Luego con el resto de diferencia hacemos una operación con los números dentro de los paréntesis para obtener el valor verdadero:

L(2)L(9)N(4)U(7) = L(2-6)L(9-6)N(4-6)U(7-6) = L(-4)L(3)N(-2)U(1)

Ahora si en el paréntesis aparecen números positivos saltaremos letras del abecedario a la derecha y lo contrario si es a la izquierda. Esto quedaría de la siguiente forma:

L(-4)L(3)N(-2)U(1) = H(-4)O(3)L(-2)A(1) = HOLA

Eso es todo compañeros/as, estuve planeando el algoritmo desde ayer. Espero les sea de utilidad y Espero que comenten su propio algoritmo. Cualquier duda comentalo en este post.

- DtxdF
PGP :: <D82F366940155CB043147178C4E075FC4403BDDC>

~ DtxdF

Abri el foro y estaba este post junto al tuyo

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Creo que vale la pena mencionarlo aqui !




Con la fuerza del mar, con la paz del rio


Gracias @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta. Claro que vale la pena!  ;D. Aunque ya lo vi y hasta me contacte con el que lo creo, es bueno para las personas que recién entren a este post.

Si tienes un algoritmo que has inventado o descubierto, comentalo sin miedo.

- DtxdF
PGP :: <D82F366940155CB043147178C4E075FC4403BDDC>

~ DtxdF