Contenido principal

Cifrado de Garbo parte I

Diciembre 15, 2008

Al igual que los códigos que encontré sobre el cifrado de Blaise de vigenère, encontre otros dos códigos muy similares que utilizó el agente doble español Juan Pujol García (Garbo)

El primer cifrado es un cifrado de sustitución polialfabética que usa cinco alfabetos diferentes. El proceso es muy simple, pero primero debemos conocer la tabla de los alfabetos:

Texto plano 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
Alfabeto #1 G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
Alfabeto #2 E F G H I J K L M A B C D N O P Q R S T Z U V W X Y
Alfabeto #3 A Z Y B X C W D V E F U T G H S R I J Q K P L M O N
Alfabeto #4 Q R S T U V W X Y Z B A C E D F H G J I L K M O N P
Alfabeto #5 D E G F I H J A B C K O L M N P R Q T S V U Z X Y W

Ahora teniendo nuestro alfabeto, y alguna cadena de texto a cifrar ("pablito clavo un clavito en la cabeza de un calvito, pablito se metio en problemas"), podemos proceder a realizar el proceso de modificación del texto.

Lo que se hace ahora es cifrar letra por letra reemplázandolo en el alfabeto respectivo a su posición módulo cinco, me explico, si tenemos la palabra "pablito", entonces sustituimos la letra "p" por su respectiva letra en el primer alfabeto, la letra "a" por su respectiva letra en el segundo, sucesivamente hasta llegar a la letra "i" (Quinta posición) la cual se sustituirá por la letra correspondiente en el alfabeto cinco. De allí en adelante tomamos la posición de la letra módulo cinco para escoger el alfabeto, así la letra número seis que es "t" se cifrará con el primer alfabeto, ya que su posición (6) módulo cinco es igual a uno (Primer alfabeto). Claro que siempre habrán excepciones cuando la posición sea un múltiplo de cinco, ya que algún múltiplo de cinco módulo cinco es cero, y el alfabeto número cero no existe, así que en este caso tomamos el alfabeto número cinco.

p (1 mod 5 = 1 alfabeto) -> v
a (2 mod 5 = 2 alfabeto) -> e
b (3 mod 5 = 3 alfabeto) -> z
l (4 mod 5 = 4 alfabeto) -> a
i (5 mod 5 = 0(5) alfabeto) -> b
t (6 mod 5 = 1 alfabeto) -> z
o (7 mod 5 = 2 alfabeto) -> o
c (8 mod 5 = 3 alfabeto) -> y
l (9 mod 5 = 4 alfabeto) -> a
...

Luego de realizar este proceso se vuelve a cifrar el texto cifrado. Sería algo mas o menos así:
texto cifrado final = garbo(garbo(texto plano))
Así que el texto inicialmente cifrado es:
vezabzo yadbo ke grepysu ig ad iezuwg hx lm ieukbzo, sqermqd tk dxibu ig fqufuulgs
Y con este nuevo texto, volvemos a cifrar utilizando el mismo método, dando así más seguridad al texto cifrado.
v (1 mod 5 = 1 alfabeto) -> b
e (2 mod 5 = 2 alfabeto) -> i
z (3 mod 5 = 3 alfabeto) -> n
a (4 mod 5 = 4 alfabeto) -> q
b (5 mod 5 = 0(5) alfabeto) -> e
z (6 mod 5 = 1 alfabeto) -> f
o (7 mod 5 = 2 alfabeto) -> o
y (8 mod 5 = 3 alfabeto) -> o
a (9 mod 5 = 4 alfabeto) -> q

Aplicando dicho método a la frase anteriormente mencionada (La de pablito), podemos obtener el siguiente texto cifrado: binqefo oqfho fu jxisnta mw qf oinlzm lm al oikbefo, jhixdrt sq hmyea mw vrajkloms

El proceso de descifrado es el mismo proceso de cifrado, pero usando las tablas inversas, de la misma forma que se hizo en el cifrado de vigenère.
La siguiente tabla representa los alfabetos inversos a la hora de descifrar el texto:

Texto plano 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
Alfabeto #1 U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
Alfabeto #2 J K L M A B C D E F G H I N O P Q R S T V W X Y Z U
Alfabeto #3 A D F H J K N O R S U W X Z Y V T Q P M L I G E C B
Alfabeto #4 L K M O N P R Q T S V U W Y X Z A B C D E F G H I J
Alfabeto #5 H I J A B D C F E G K M N O L P R Q T S V U Z X Y W

Al igual que los otros cifrados, podemos encontrar el respectivo cifrador/descifrador de este cifrado en Cryptos, siguiendo este enlace: Cryptos Garbo I

Archivado en: Criptografía |

1 comentario

  1. Santiago Noviembre 3, 2010 @ 9:05 am

    que interesante, supongo que en cryptos usas php seria chevere ver que codigo usas para eso.
    lo malo de este metodo esta en que su seguridad depende de conocer el metodo de cifrado, no tiene clave, pero ya que es poco conocido, podria ser util.
    estoy haciendo por mi cuenta cifradores como proyecto de grado de mi colegio, lo puedes ver en http://sajhu.webcindario.com/encriptar.php

Deja un comentario