Mi pequeño engendro

Imagen de hazte
Enviado por hazte en

Foros: 

Llevo bastante tiempo leyéndoos, aunque no participase hasta ahora. Os presento este pequeño algoritmo de cifrado muy simple.

Sé que os he plagiado mucho de vuestros retos para crear éste lo más sencillo, y al mismo tiempo espero que no sea demasiado fácil de reventar.
Espero vuestra sincera opinión. Y no dudéis en ponerlo a parir si es necesario, pues estoy aprendiendo y todo comentario sería de agradecer.

Al grano...

Este método de cifrado en flujo usa el desorden de la clave y del alfabeto y un simple XOR sobre el texto claro espero que os divierta.
No he creado ningún reto.

Tabla de clave

|1|2|2|3|:|;|,|.|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|_|
|S|A|N|C|H|O|T|B|Ñ|D|I|P|U|C|O|E|J|Q|V|D|P|F|K|R|W|E|Q|G|L|S|X|F|R|H|M|T|

Tabla de alfabeto

|: |; |, |. |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 |_ |
|00|01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|

 

1) PUNTOS DE INSERCIÓN
2) Espacio si la cave es más larga se añaden más
3) CARACTER DE POSICIÓN

 

Funcionamiento:

Lo primero es extender la clave para obtener una de un tamaño como mínimo de 36, usaremos el método ya usado en otros como omelette, el +1. Se toma el carácter de posición de la clave [3] en este caso [C] se compara con la clave y obtenemos [I]. Extraemos el carácter de la posición [C] lo colocamos en la posición [1] y desplazamos todos los demás caracteres. Ahora miramos en el alfabeto el numero que corresponde [I=12] con esto hacemos XOR sobre el carácter correspondiente en el texto claro. Con la tabla del alfabeto sacamos el número de la posición del carácter claro y lo ponemos en la posición [:] desplazando los demás números.

En este ejemplo la clave usada fue [SANCHO].

 

Algoritmo

Al menos por lo que a mí respecta, la explicación debería ser mucho más detallada, con ejemplos y paso a paso, de otro modo me siento incapaz de implementarlo. Y de paso podrías poner un texto cifrado, a ver si el personal se anima a romperlo. Lo malo es que en este momento hay unos cuatro retos activos, y a lo mejor te toca esperar un poco.

Bienvenido al club.

no lo veo

No acabo de verlo. ¿qué texto se cifra y cual es el resultado?. Luego, eso de 1 2 2 3, ¿es correcto?.

Cuando tenemos muy claro en nuestra cabeza un algoritmo tenemos tendencia a extendernos poco por que pensamos que el resto de la humanidad comparte esa claridad con nosotros. A mi me pasa demasiado a menudo y es una tendencia equivocada. Mira de extenderte aunque creas que estás explicando obviedades y presenta un ejemplo paso a paso, operación a operación y así garantizas que todos te pillemos la idea.

Respecto a copiarnos. Para eso los exponemos, para dar ideas y que otros puedan aprovecharlas. De eso se trata y haces muy bien en coger lo que creas útil.

Dudas

Tengo algunas dudas. Por ejemplo, esos números 1 2 2 3 ¿son parte del secreto que comparten emisor y receptor? Es decir: ¿Son parte de la clave, como la palabra SANCHO?

Por otra parte, aún no acabo de ver el algoritmo, pero es que yo soy especialmente espeso para estas cosas.

Vale lo pillo, pero

¿Por qué la posición 3?, ¿es por diseño?, ¿puede ser otra?. Tampoco acabo de ver el motivo de poner 4 caracteres extra a la clave para pasar de 32 a 36.

Como primera impresión es interesante, sobre todo por que parece fuerte para ser manual. Ahora tengo bastante lío con FOTP pero cuando tenga un rato lo implemento y así le acabo de ver las tripas.

La verdad

La verdad es que la ortografía ha salido malherida de este experimento. Pero la ortografía no es inmutable, y lo que a tí
o a mí nos pueda escocer en los ojos, tal vez mañana sea la regla establecida. También podríamos llamarle Cifrado Heterógrafo.

Yo le llamaria oruga

O Caterpillar si te molan los anglicismos, mas que nada por la manera en que se mueven los caracteres. Pero tu eres el padre de la criatura así que a ti te corresponde el honor.

Respecto al tema de meter ya la versión dura, exponla y vemos si parece aportar o no seguridad. Como ya te dije estoy algo liado ahora para implementar cualquiera de las dos versiones, casi no puedo ni dedicarle tiempo a FOTP y antes de pasar a otro tema querría dejar éste acabado.

Retomo este tema

Creo que a MPE (oruga) lo hemos dejado un poco injustamente de lado. En su día ya me pareció bastante interesante y creo que puede ser entretenido atacarlo. Voy a intentar implementar ambas opciones, la normal y la extendida y después miraré de meterme con él.

Para descifrar

Hola, no es que sea imprescindible, pero estaría bien que añadieses el código Pascal para descifrar, ya que la explicación del algoritmo no está demasiado detallada, y como forma de garantizar que el algoritmo propuesto genera un cifrado reversible.
Reedición:
He comprobado que el ajuste preciso para descifrar es muy sencillo, basta con modificar, hacia el final del codigo, las líneas:

TcA:=TAlfabeto[NumT+1];

Por la línea:

TcA:=TAlfabeto[NumTC+1];

y

Delete (TAlfabeto, NumT+1, 1);

reemplazar por

Delete (TAlfabeto, NumTC+1, 1);

He implementado el código de

He implementado el código de este reto, porque no me parece bien dejar sin respuesta, ni algún análisis, estos retos aunque no vaya a llegar a nada, como de costumbre. Al implementarlo lo he acabado de entender, y tengo que decir que me he llevado una grata sorpresa: es un estupendo método de cifrado, al contrario de lo que daban a entender los vacilantes pasos y las faltas de ortografía de hazta.

Y a lo que íbamos: he llegado a algunas conclusiones acerca de la clave (ya os contaré como, cuando tenga más tiempo), que no sé si verificará el autor:

Al 100% de seguridad:

1-) La clave es más corta de 20

El alfabeto alterado "TAlfabeto", tiene al comenzar el cifrado:

1-) En la posición 7, hay un espacio "_"
2-) En la posición 10, está la letra "S"

Al 75%

1-) La clave empieza por E
2-) Las dos afirmaciones anteriores para TAlfabeto valen para la clave.

Gracias por tus comentarios

Gracias por tus comentarios Hazte. Yo no tengo una técnica tan depurada como la de LlamameX, Sqrmatrix o Agustín (cuando le deja frau Menguela, en la clínica El Puzzle Asesino), así que suelo utilizar otros métodos para conseguir algo de información, aunque sea un poco insegura, como en este caso. No voy a revelar todavía como lo he conseguido, para mantener un poco el juego, a ver si alguien más se da cuenta de la pequeña diablura de la que me he valido.

Y sí, perdón, la S está en la posición 11 de TAlfabeto, no en la 10.

Recapitulando

1) En la 7 hay '_'
2) En la 11 "S"
3) En la 24 "V"
4) En la 25 ","
5) En la 26 "."
6) En la 1 "E"

También, aunque no estoy tan seguro

7) En la 27 "A"
8 en la 22 "Z"

Lo de que la clave no es menor que 20 es una sorpresa, tengo que revisar todo este fregado...

Gracias, no esperaba que

Gracias, no esperaba que confirmases nada, de cualquier forma estoy seguro de que si no son esas posiciones son las inmediatamente adyacentes. De lo que no estoy nada convencido es que todo esto me sirva para descifrar efectivamente el criptograma. Esperemos que se sume alguien mas...

Voy a dejarlo aquí, de

Voy a dejarlo aquí, de momento, ya que me está costando mucho esfuerzo, ya dije que era un excelente método de cifrado.

En cuanto al método que he utilizado, no voy a revelarlo de momento, a la espera de que alguien más se sume al ataque. Prefiero que lo implementen y entiendan, antes de dar más información, solo decir que el método empleado no se basa en explotar debilidades del cifrario, sino que me he valido de métodos paralelos, rastreables en la tradición del criptoanálisis.

En serio, cuando esto marche, lo cuento.

Por otra parte, y como último dato, la primera palabra de la clave tiene, al menos, 6 caracteres, la frase no empieza por el artículo EL. Tampoco tiene la S, ni la A, ni la V y ya sabemos que empieza por E. Algo es algo.

Puede que la primera palabra de la clave esté en esta lista:

EFICIENTE
EJERCICIO
EJERCITO
ELECCION
ELEMENTO
EMBROLLO
ENCHUFE
ENCIERRO
ENFOQUE
ENRIQUE
ENROQUE
ENTIERRO
ENTUERTO
EXCELENTE
EXOTICO
EXTERIOR
EXTERNO
EXTREMO

Je je, no te preocupes que lo

Je je, no te preocupes que lo voy a contar, se sumen o no al ataque, pero espera mejor un poco, a ver si a alguien le entra el gusanillo. Y no te preocupes, que no tiene que ver mucho con las posible desbilidades del cifrado, este es de los duros. Si acaso TAlfabeto, que siempre lleva un resto de la clave en las primeras posiciones, pero la cosa va por otro lado...

¿Extiendes los alfabetos?

Puesto que si no no me cuadra. O eso o cambias la longitud del cifrado que parece que no.

Si el espacio de mensajes en claro y el de cifrados es el mismo, no puede ser que dos o más mensajes cifrados se descifren igual con la misma clave.

Imagina un caso sencillo para ilustrarlo. Un alfabeto de 2 letras AB puede generar como mucho 8 mensajes de 3 letras distintos y si se usa la misma longitud y alfabeto para cifrar como mucho pueden generarse 8 cifrados distintos. Una clave k, de la longitud que sea, nos hará una correspondencia entre los 8 mensajes en claro y los 8 cifrados (es posible que más de una clave nos genere la misma correspondencia). Entonces si, por ejemplo, al cifrar ABA con clave k nos puede generar tanto BBA como BAB y ambas se descifran por k como ABA, entonces dado que algún otro claro, pongamos AAA también se cifrará por k como alguno de esos valores (por fuerza puesto que el espacio de cifrado es el mismo), al descifrarlo lo estaremos haciendo erróneamente como ABA.

Empiezo (de nuevo) con esto

Estoy intentando mirarme el código de mpe para acabar de ver como funciona e implementarlo (lo miré en su momento pero debo tener la memoria muy llena) . A bote pronto parece un cifrado de flujo en el que hay un pseudoOTP basado en la clave con dos motores, un generador y una sustitución variable. El primer generador tiene pinta de tener un ciclo corto, cosa que puede compensarse (o no, habrá que verlo) con la segunda sustitución.

En todo caso no parece haber un vector de estado que evolucione por el cifrado por lo que algún bucle tiene que tener.

De todos modos todo esto son (nuevas) primeras impresiones. Hasta que no lo implemente no lo tendré más claro. Para ello también he de aclararme con el post del reto. Hay una parte importante del mismo que no se si se ha aplicado o no: la reconstrucción de la clave cada 32 caracteres. Mirando por encima el código teóricamente empleado parece que no y por la explicación en el texto parece algo opcional.

Para poder comprobar si mi implementación (cuando la tenga) es correcta iría bien si Hazte (o Tokamak que ya lo ha programado) pudieran cifrarme este texto de prueba con la clave SANCHO

EN_UN_LUGAR_DE_LA_MANCHA_DE_CUYO_NOMBRE_NO_QUIERO_ACORDARME

Saludos

Cosas al implementar

Hay una discrepancia entre lo que se dice en el texto y lo que se hace en el código. Por lo que veo se dice que se extiende la clave hasta garantizar un mínimo de 36 posiciones, mientras que lo que se hace en verdad es añadirle 32 más, con independencia de su longitud inicial. También se habla al cifrar la clave que se copia claveA a claveB, aunque en realidad se invierte. Después de cifrar la clave ¿Para qué sirve claveB?

En el propio uso. En el ejemplo siempre se empieza en la posición 3, mientras que en el código se usa como posición de inicio la correspondiente a la longitud de la clave, que el caso del ejemplo (SANCHO) es 6. (Imagino que lo que esta mal es el ejemplo). Dicha longitud de clave se usa para cifrar tanto la clave como el texto claro, mientras que se indica que para el claro se usaría la clave derivada y por tanto su longitud (y no es asi).

Una cosa que queda rara es usar vectores que empiezan en 1 (1..32) y operaciones xor que trabajan (0..31). Eso hace que aparezcan operaciones de sumar y restar 1 que complican la comprensión. Quizas habría quedado más claro un único ajuste en el XOR del tipo A=((B-1) XOR (C-1))+1, Esa línea es más compleja pero el resto del código se aclara.

Supongo que hasta que no lo tenga todo funcionando no acabaré de verle todos los matices.

No me acaba de funcionar.

Hola, estoy teniendo problemas al interpretar o implementar tu código en javascript. ¿Puedes verificarme donde discrepamos?

Ejecutando paso a paso para cifrar EN_UN_LUGAR_DE_LA_MANCHA con clave SANCHO obtengo

Clave extendida [SANCHOTBÑDIPUCOEJQVDPFKRWEQGLSXFRHMTYG]
Clave girada [GYTMHRFXSLGQEWRKFPDVQJEOCUPIDÑBTOHCNAS]
 
Inicio del cifrado de la clave
 
TCA [O] TCB [W] 
 clave [WSANCHOTBÑDIPUCOEJQVDPFKREQGLSXFRHMTYG] 
 Talfabeto [G:;,.ABCDEFHIJKLMNÑOPQRSTUVWXYZ_]
TCA [H] TCB [E] 
 clave [EWSANCHOTBÑDIPUCOJQVDPFKREQGLSXFRHMTYG] 
 Talfabeto [YG:;,.ABCDEFHIJKLMNÑOPQRSTUVWXZ_]
TCA [C] TCB [D] 
 clave [DEWSANCHOTBÑIPUCOJQVDPFKREQGLSXFRHMTYG] 
 Talfabeto [TYG:;,.ABCDEFHIJKLMNÑOPQRSUVWXZ_]
TCA [N] TCB [F] 
 clave [FDEWSANCHOTBÑIPUCOJQVDPKREQGLSXFRHMTYG] 
 Talfabeto [MTYG:;,.ABCDEFHIJKLNÑOPQRSUVWXZ_]
TCA [A] TCB [O] 
 clave [OFDEWSANCHTBÑIPUCOJQVDPKREQGLSXFRHMTYG] 
 Talfabeto [HMTYG:;,.ABCDEFIJKLNÑOPQRSUVWXZ_]
TCA [S] TCB [L] 
 clave [LOFDEWSANCHTBÑIPUCOJQVDPKREQGSXFRHMTYG] 
 Talfabeto [RHMTYG:;,.ABCDEFIJKLNÑOPQSUVWXZ_]
TCA [W] TCB [R] 
 clave [RLOFDEWSANCHTBÑIPUCOJQVDPKREQGSXFHMTYG] 
 Talfabeto [FRHMTYG:;,.ABCDEIJKLNÑOPQSUVWXZ_]
TCA [E] TCB [B] 
 clave [BRLOFDEWSANCHTÑIPUCOJQVDPKREQGSXFHMTYG] 
 Talfabeto [XFRHMTYG:;,.ABCDEIJKLNÑOPQSUVWZ_]
TCA [D] TCB [H] 
 clave [HBRLOFDEWSANCTÑIPUCOJQVDPKREQGSXFHMTYG] 
 Talfabeto [SXFRHMTYG:;,.ABCDEIJKLNÑOPQUVWZ_]
TCA [F] TCB [Ñ] 
 clave [ÑHBRLOFDEWSANCTIPUCOJQVDPKREQGSXFHMTYG] 
 Talfabeto [LSXFRHMTYG:;,.ABCDEIJKNÑOPQUVWZ_]
TCA [O] TCB [P] 
 clave [PÑHBRLOFDEWSANCTIPUCOJQVDKREQGSXFHMTYG] 
 Talfabeto [GLSXFRHMTY:;,.ABCDEIJKNÑOPQUVWZ_]
TCA [L] TCB [O] 
 clave [OPÑHBRLOFDEWSANCTIPUCJQVDKREQGSXFHMTYG] 
 Talfabeto [QGLSXFRHMTY:;,.ABCDEIJKNÑOPUVWZ_]
TCA [R] TCB [E] 
 clave [EOPÑHBRLOFDEWSANCTIPUCJQVDKRQGSXFHMTYG] 
 Talfabeto [EQGLSXFRHMTY:;,.ABCDIJKNÑOPUVWZ_]
TCA [B] TCB [D] 
 clave [DEOPÑHBRLOFEWSANCTIPUCJQVDKRQGSXFHMTYG] 
 Talfabeto [WEQGLSXFRHMTY:;,.ABCDIJKNÑOPUVZ_]
TCA [H] TCB [C] 
 clave [CDEOPÑHBRLOFEWSANTIPUCJQVDKRQGSXFHMTYG] 
 Talfabeto [RWEQGLSXFHMTY:;,.ABCDIJKNÑOPUVZ_]
TCA [Ñ] TCB [Q] 
 clave [QCDEOPÑHBRLOFEWSANTIPUCJVDKRQGSXFHMTYG] 
 Talfabeto [KRWEQGLSXFHMTY:;,.ABCDIJNÑOPUVZ_]
TCA [P] TCB [D] 
 clave [DQCDEOPÑHBRLOFEWSANTIPUCJVKRQGSXFHMTYG] 
 Talfabeto [FKRWEQGLSXHMTY:;,.ABCDIJNÑOPUVZ_]
TCA [O] TCB [J] 
 clave [JDQCDEOPÑHBRLOFEWSANTIPUCVKRQGSXFHMTYG] 
 Talfabeto [PFKRWEQGLSXHMTY:;,.ABCDIJNÑOUVZ_]
TCA [E] TCB [O] 
 clave [OJDQCDEOPÑHBRLFEWSANTIPUCVKRQGSXFHMTYG] 
 Talfabeto [DPFKRWEQGLSXHMTY:;,.ABCIJNÑOUVZ_]
TCA [D] TCB [R] 
 clave [ROJDQCDEOPÑHBLFEWSANTIPUCVKRQGSXFHMTYG] 
 Talfabeto [VDPFKRWEQGLSXHMTY:;,.ABCIJNÑOUZ_]
TCA [C] TCB [H] 
 clave [HROJDQCDEOPÑBLFEWSANTIPUCVKRQGSXFHMTYG] 
 Talfabeto [QVDPFKRWEGLSXHMTY:;,.ABCIJNÑOUZ_]
TCA [Q] TCB [K] 
 clave [KHROJDQCDEOPÑBLFEWSANTIPUCVRQGSXFHMTYG] 
 Talfabeto [JQVDPFKRWEGLSXHMTY:;,.ABCINÑOUZ_]
TCA [D] TCB [Ñ] 
 clave [ÑKHROJDQCDEOPBLFEWSANTIPUCVRQGSXFHMTYG] 
 Talfabeto [EJQVDPFKRWGLSXHMTY:;,.ABCINÑOUZ_]
TCA [J] TCB [S] 
 clave [SÑKHROJDQCDEOPBLFEWANTIPUCVRQGSXFHMTYG] 
 Talfabeto [OEJQVDPFKRWGLSXHMTY:;,.ABCINÑUZ_]
TCA [O] TCB [U] 
 clave [USÑKHROJDQCDEOPBLFEWANTIPCVRQGSXFHMTYG] 
 Talfabeto [COEJQVDPFKRWGLSXHMTY:;,.ABINÑUZ_]
TCA [R] TCB [R] 
 clave [RUSÑKHROJDQCDEOPBLFEWANTIPCVQGSXFHMTYG] 
 Talfabeto [UCOEJQVDPFKRWGLSXHMTY:;,.ABINÑZ_]
TCA [H] TCB [B] 
 clave [BRUSÑKHROJDQCDEOPLFEWANTIPCVQGSXFHMTYG] 
 Talfabeto [PUCOEJQVDFKRWGLSXHMTY:;,.ABINÑZ_]
TCA [K] TCB [E] 
 clave [EBRUSÑKHROJDQCDEOPLFWANTIPCVQGSXFHMTYG] 
 Talfabeto [IPUCOEJQVDFKRWGLSXHMTY:;,.ABNÑZ_]
TCA [Ñ] TCB [T] 
 clave [TEBRUSÑKHROJDQCDEOPLFWANIPCVQGSXFHMTYG] 
 Talfabeto [DIPUCOEJQVFKRWGLSXHMTY:;,.ABNÑZ_]
TCA [S] TCB [Q] 
 clave [QTEBRUSÑKHROJDQCDEOPLFWANIPCVGSXFHMTYG] 
 Talfabeto [ÑDIPUCOEJQVFKRWGLSXHMTY:;,.ABNZ_]
TCA [U] TCB [S] 
 clave [SQTEBRUSÑKHROJDQCDEOPLFWANIPCVGXFHMTYG] 
 Talfabeto [BÑDIPUCOEJQVFKRWGLSXHMTY:;,.ANZ_]
TCA [R] TCB [P] 
 clave [PSQTEBRUSÑKHROJDQCDEOPLFWANICVGXFHMTYG] 
 Talfabeto [TBÑDIPUCOEJQVFKRWGLSXHMY:;,.ANZ_]
TCA [B] TCB [K] 
 clave [KPSQTEBRUSÑHROJDQCDEOPLFWANICVGXFHMTYG] 
 Talfabeto [OTBÑDIPUCEJQVFKRWGLSXHMY:;,.ANZ_]
TCA [E] TCB [O] 
 clave [OKPSQTEBRUSÑHRJDQCDEOPLFWANICVGXFHMTYG] 
 Talfabeto [HOTBÑDIPUCEJQVFKRWGLSXMY:;,.ANZ_]
TCA [T] TCB [V] 
 clave [VOKPSQTEBRUSÑHRJDQCDEOPLFWANICGXFHMTYG] 
 Talfabeto [CHOTBÑDIPUEJQVFKRWGLSXMY:;,.ANZ_]
TCA [Q] TCB [A] 
 clave [AVOKPSQTEBRUSÑHRJDQCDEOPLFWNICGXFHMTYG] 
 Talfabeto [NCHOTBÑDIPUEJQVFKRWGLSXMY:;,.AZ_]
TCA [S] TCB [I] 
 clave [IAVOKPSQTEBRUSÑHRJDQCDEOPLFWNCGXFHMTYG] 
 Talfabeto [ANCHOTBÑDIPUEJQVFKRWGLSXMY:;,.Z_]
TCA [P] TCB [L] 
 clave [LIAVOKPSQTEBRUSÑHRJDQCDEOPFWNCGXFHMTYG] 
 Talfabeto [SANCHOTBÑDIPUEJQVFKRWGLXMY:;,.Z_]
 
 
Clave cifrada [NQZWYSUTNDYFWVK,KRBH.SWH:HJONEH,CCOUNU]
 
Inicio del cifrado del texto
 
TCA [S] TCB [N] 
 clave [NNQZWYSUTNDYFWVK,KRBH.SWH:HJOEH,CCOUNU] 
 Talfabeto [ESANCHOTBÑDIPUJQVFKRWGLXMY:;,.Z_]
TCA [Y] TCB [O] 
 clave [ONNQZWYSUTNDYFWVK,KRBH.SWH:HJOEH,CCUNU] 
 Talfabeto [NESACHOTBÑDIPUJQVFKRWGLXMY:;,.Z_]
TCA [W] TCB [,] 
 clave [,ONNQZWYSUTNDYFWVK,KRBH.SWH:HJOEHCCUNU] 
 Talfabeto [_NESACHOTBÑDIPUJQVFKRWGLXMY:;,.Z]
TCA [Z] TCB [U] 
 clave [U,ONNQZWYSUTNDYFWVK,KRBH.SWH:HJOEHCCNU] 
 Talfabeto [U_NESACHOTBÑDIPJQVFKRWGLXMY:;,.Z]
TCA [Q] TCB [W] 
 clave [WU,ONNQZWYSUTNDYFWVK,KRBH.SH:HJOEHCCNU] 
 Talfabeto [NU_ESACHOTBÑDIPJQVFKRWGLXMY:;,.Z]
TCA [N] TCB [R] 
 clave [RWU,ONNQZWYSUTNDYFWVK,KBH.SH:HJOEHCCNU] 
 Talfabeto [_NUESACHOTBÑDIPJQVFKRWGLXMY:;,.Z]
TCA [N] TCB [K] 
 clave [KRWU,ONNQZWYSUTNDYFWVK,BH.SH:HJOEHCCNU] 
 Talfabeto [L_NUESACHOTBÑDIPJQVFKRWGXMY:;,.Z]
TCA [O] TCB [H] 
 clave [HKRWU,ONNQZWYSUTNDYFWVK,B.SH:HJOEHCCNU] 
 Talfabeto [UL_NESACHOTBÑDIPJQVFKRWGXMY:;,.Z]
TCA [,] TCB [N] 
 clave [NHKRWU,ONQZWYSUTNDYFWVK,B.SH:HJOEHCCNU] 
 Talfabeto [GUL_NESACHOTBÑDIPJQVFKRWXMY:;,.Z]
TCA [U] TCB [J] 
 clave [JNHKRWU,ONQZWYSUTNDYFWVK,B.SH:HOEHCCNU] 
 Talfabeto [AGUL_NESCHOTBÑDIPJQVFKRWXMY:;,.Z]
TCA [W] TCB [E] 
 clave [EJNHKRWU,ONQZWYSUTNDYFWVK,B.SH:HOHCCNU] 
 Talfabeto [RAGUL_NESCHOTBÑDIPJQVFKWXMY:;,.Z]
TCA [R] TCB [.] 
 clave [.EJNHKRWU,ONQZWYSUTNDYFWVK,BSH:HOHCCNU] 
 Talfabeto [_RAGULNESCHOTBÑDIPJQVFKWXMY:;,.Z]
TCA [K] TCB [N] 
 clave [N.EJNHKRWU,ONQZWYSUTDYFWVK,BSH:HOHCCNU] 
 Talfabeto [D_RAGULNESCHOTBÑIPJQVFKWXMY:;,.Z]
TCA [H] TCB [Y] 
 clave [YN.EJNHKRWU,ONQZWSUTDYFWVK,BSH:HOHCCNU] 
 Talfabeto [ED_RAGULNSCHOTBÑIPJQVFKWXMY:;,.Z]
TCA [N] TCB [F] 
 clave [FYN.EJNHKRWU,ONQZWSUTDYWVK,BSH:HOHCCNU] 
 Talfabeto [_EDRAGULNSCHOTBÑIPJQVFKWXMY:;,.Z]
TCA [J] TCB [S] 
 clave [SFYN.EJNHKRWU,ONQZWUTDYWVK,BSH:HOHCCNU] 
 Talfabeto [L_EDRAGUNSCHOTBÑIPJQVFKWXMY:;,.Z]
TCA [E] TCB [,] 
 clave [,SFYN.EJNHKRWUONQZWUTDYWVK,BSH:HOHCCNU] 
 Talfabeto [AL_EDRGUNSCHOTBÑIPJQVFKWXMY:;,.Z]
TCA [.] TCB [N] 
 clave [N,SFYN.EJHKRWUONQZWUTDYWVK,BSH:HOHCCNU] 
 Talfabeto [_ALEDRGUNSCHOTBÑIPJQVFKWXMY:;,.Z]
TCA [N] TCB [Y] 
 clave [YN,SFYN.EJHKRWUONQZWUTDWVK,BSH:HOHCCNU] 
 Talfabeto [M_ALEDRGUNSCHOTBÑIPJQVFKWXY:;,.Z]
TCA [Y] TCB [C] 
 clave [CYN,SFYN.EJHKRWUONQZWUTDWVK,BSH:HOHCNU] 
 Talfabeto [AM_LEDRGUNSCHOTBÑIPJQVFKWXY:;,.Z]
TCA [F] TCB [W] 
 clave [WCYN,SFYN.EJHKRUONQZWUTDWVK,BSH:HOHCNU] 
 Talfabeto [NAM_LEDRGUSCHOTBÑIPJQVFKWXY:;,.Z]
TCA [S] TCB [B] 
 clave [BWCYN,SFYN.EJHKRUONQZWUTDWVK,SH:HOHCNU] 
 Talfabeto [CNAM_LEDRGUSHOTBÑIPJQVFKWXY:;,.Z]
TCA [,] TCB [F] 
 clave [FBWCYN,SYN.EJHKRUONQZWUTDWVK,SH:HOHCNU] 
 Talfabeto [HCNAM_LEDRGUSOTBÑIPJQVFKWXY:;,.Z]
TCA [N] TCB [U] 
 clave [UFBWCYN,SYN.EJHKRUONQZWTDWVK,SH:HOHCNU] 
 Talfabeto [AHCNM_LEDRGUSOTBÑIPJQVFKWXY:;,.Z]
Cifrado [,V.LMRMHAO.N.FHIUQDEPTLY]

Hola, A mi me costó Dios y

Hola, A mi me costó Dios y ayuda, creo que el problema lo tienes en "el cifrado" de la clave; yo lo tengo así, y a mi me descifra bien:

Clave extendida 
SANCHOTB~DIPUCOEJQVDPFKRWEQGLSXFRHMTYG
Clave Giradada
GYTMHRFXSLGQEWRKFPDVQJEOCUPID~BTOHCNAS
*****************************************************************************
TclaveA=,
TAlfabeto=G:;,.ABCDEFHIJKLMN~OPQRSTUVWXYZ_
*****************************************************************************
TclaveA=,M
TAlfabeto=YG:;,.ABCDEFHIJKLMN~OPQRSTUVWXZ_
*****************************************************************************
TclaveA=,MQ
TAlfabeto=TYG:;,.ABCDEFHIJKLMN~OPQRSUVWXZ_
*****************************************************************************
TclaveA=,MQX
TAlfabeto=MTYG:;,.ABCDEFHIJKLN~OPQRSUVWXZ_
*****************************************************************************
TclaveA=,MQXR
TAlfabeto=HMTYG:;,.ABCDEFIJKLN~OPQRSUVWXZ_
*****************************************************************************
TclaveA=,MQXRL
TAlfabeto=RHMTYG:;,.ABCDEFIJKLN~OPQSUVWXZ_
*****************************************************************************
TclaveA=,MQXRLE
TAlfabeto=FRHMTYG:;,.ABCDEIJKLN~OPQSUVWXZ_
*****************************************************************************
TclaveA=,MQXRLEQ
TAlfabeto=XFRHMTYG:;,.ABCDEIJKLN~OPQSUVWZ_
*****************************************************************************
TclaveA=,MQXRLEQX
TAlfabeto=SXFRHMTYG:;,.ABCDEIJKLN~OPQUVWZ_
*****************************************************************************
TclaveA=,MQXRLEQX:
TAlfabeto=LSXFRHMTYG:;,.ABCDEIJKN~OPQUVWZ_
*****************************************************************************
TclaveA=,MQXRLEQX:Q
TAlfabeto=GLSXFRHMTY:;,.ABCDEIJKN~OPQUVWZ_
*****************************************************************************
TclaveA=,MQXRLEQX:QM
TAlfabeto=QGLSXFRHMTY:;,.ABCDEIJKN~OPUVWZ_
*****************************************************************************
TclaveA=,MQXRLEQX:QMS
TAlfabeto=EQGLSXFRHMTY:;,.ABCDIJKN~OPUVWZ_
*****************************************************************************
TclaveA=,MQXRLEQX:QMSI
TAlfabeto=WEQGLSXFRHMTY:;,.ABCDIJKN~OPUVZ_
*****************************************************************************
TclaveA=,MQXRLEQX:QMSIB
TAlfabeto=RWEQGLSXFHMTY:;,.ABCDIJKN~OPUVZ_
*****************************************************************************
TclaveA=,MQXRLEQX:QMSIB;
TAlfabeto=KRWEQGLSXFHMTY:;,.ABCDIJN~OPUVZ_
*****************************************************************************
TclaveA=,MQXRLEQX:QMSIB;U
TAlfabeto=FKRWEQGLSXHMTY:;,.ABCDIJN~OPUVZ_
*****************************************************************************
TclaveA=,MQXRLEQX:QMSIB;UI
TAlfabeto=PFKRWEQGLSXHMTY:;,.ABCDIJN~OUVZ_
*****************************************************************************
TclaveA=,MQXRLEQX:QMSIB;UIZ
TAlfabeto=DPFKRWEQGLSXHMTY:;,.ABCIJN~OUVZ_
*****************************************************************************
TclaveA=,MQXRLEQX:QMSIB;UIZA
TAlfabeto=VDPFKRWEQGLSXHMTY:;,.ABCIJN~OUZ_
*****************************************************************************
TclaveA=,MQXRLEQX:QMSIB;UIZA.
TAlfabeto=QVDPFKRWEGLSXHMTY:;,.ABCIJN~OUZ_
*****************************************************************************
TclaveA=,MQXRLEQX:QMSIB;UIZA.M
TAlfabeto=JQVDPFKRWEGLSXHMTY:;,.ABCIN~OUZ_
*****************************************************************************
TclaveA=,MQXRLEQX:QMSIB;UIZA.MI
TAlfabeto=EJQVDPFKRWGLSXHMTY:;,.ABCIN~OUZ_
*****************************************************************************
TclaveA=,MQXRLEQX:QMSIB;UIZA.MID
TAlfabeto=OEJQVDPFKRWGLSXHMTY:;,.ABCIN~UZ_
*****************************************************************************
TclaveA=,MQXRLEQX:QMSIB;UIZA.MIDI
TAlfabeto=COEJQVDPFKRWGLSXHMTY:;,.ABIN~UZ_
*****************************************************************************
TclaveA=,MQXRLEQX:QMSIB;UIZA.MIDI~
TAlfabeto=UCOEJQVDPFKRWGLSXHMTY:;,.ABIN~Z_
*****************************************************************************
TclaveA=,MQXRLEQX:QMSIB;UIZA.MIDI~L
TAlfabeto=PUCOEJQVDFKRWGLSXHMTY:;,.ABIN~Z_
*****************************************************************************
TclaveA=,MQXRLEQX:QMSIB;UIZA.MIDI~LN
TAlfabeto=IPUCOEJQVDFKRWGLSXHMTY:;,.ABN~Z_
*****************************************************************************
TclaveA=,MQXRLEQX:QMSIB;UIZA.MIDI~LNU
TAlfabeto=DIPUCOEJQVFKRWGLSXHMTY:;,.ABN~Z_
*****************************************************************************
TclaveA=,MQXRLEQX:QMSIB;UIZA.MIDI~LNUH
TAlfabeto=~DIPUCOEJQVFKRWGLSXHMTY:;,.ABNZ_
*****************************************************************************
TclaveA=,MQXRLEQX:QMSIB;UIZA.MIDI~LNUHE
TAlfabeto=B~DIPUCOEJQVFKRWGLSXHMTY:;,.ANZ_
*****************************************************************************
TclaveA=,MQXRLEQX:QMSIB;UIZA.MIDI~LNUHEK
TAlfabeto=TB~DIPUCOEJQVFKRWGLSXHMY:;,.ANZ_
*****************************************************************************
TclaveA=,MQXRLEQX:QMSIB;UIZA.MIDI~LNUHEK:
TAlfabeto=OTB~DIPUCEJQVFKRWGLSXHMY:;,.ANZ_
*****************************************************************************
TclaveA=,MQXRLEQX:QMSIB;UIZA.MIDI~LNUHEK:T
TAlfabeto=HOTB~DIPUCEJQVFKRWGLSXMY:;,.ANZ_
*****************************************************************************
TclaveA=,MQXRLEQX:QMSIB;UIZA.MIDI~LNUHEK:TD
TAlfabeto=CHOTB~DIPUEJQVFKRWGLSXMY:;,.ANZ_
*****************************************************************************
TclaveA=,MQXRLEQX:QMSIB;UIZA.MIDI~LNUHEK:TDK
TAlfabeto=NCHOTB~DIPUEJQVFKRWGLSXMY:;,.AZ_
*****************************************************************************
TclaveA=,MQXRLEQX:QMSIB;UIZA.MIDI~LNUHEK:TDKW
TAlfabeto=ANCHOTB~DIPUEJQVFKRWGLSXMY:;,.Z_
*****************************************************************************
TclaveA=,MQXRLEQX:QMSIB;UIZA.MIDI~LNUHEK:TDKWN
TAlfabeto=SANCHOTB~DIPUEJQVFKRWGLXMY:;,.Z_

Aquí lo tienes

Primero el código.

Function descifrar(cifrado, laclave, T_alfabeto)
 
 
Dim TAlfabeto As String
Dim TclaveA As String
Dim TclaveB As String
Dim TclaveC As String
Dim Tclaro As String
Dim Tcifrado As String
Dim TcA As String * 1
Dim TcB As String * 1
Dim TcC As String * 1
Dim i As Integer
Dim num1, num2, codigo, LongitudT, LongitudC, LongitudCB, Posicion, NumC, NumT, NumTC As Integer
Const CAlfabeto = ":;,.ABCDEFGHIJKLMN~OPQRSTUVWXYZ_"
 
'  //TAlfabeto := AnsiToUTF8(Calfabeto);
  TAlfabeto = ":;,.ABCDEFGHIJKLMN" & "~" & "OPQRSTUVWXYZ_"
  TclaveA = laclave
  LongitudC = Len(TclaveA)
  '//Extensión de la clave 32 Caracteres
  For num1 = 1 To 32
       Posicion = InStr(TAlfabeto, Mid$(TclaveA, num1, 1))
       If Posicion <> 0 Then '//comprueba que el caracter este en el alfabeto
         TcA = Mid(TAlfabeto, Posicion, 1)
         If Posicion = 32 Then
           TcB = Mid(TAlfabeto, 1, 1)
         Else
           TcB = Mid(TAlfabeto, Posicion + 1, 1)
         End If
         '//Delete (TAlfabeto, posicion, 1);
         '//TAlfabeto := TcA+TAlfabeto;
         TclaveA = TclaveA & TcB
       End If
  Next num1
 
  '//Cifrado de la clave
  LongitudCB = Len(TclaveA)
  TclaveB = ""
  TclaveC = ""
 
  For num1 = 1 To LongitudCB '//genera la clave B con la A
       TclaveB = Mid(TclaveA, num1, 1) & TclaveB
   Next num1
 
  For num1 = 1 To LongitudCB
'       //Posición Clave
       TcA = Mid(TclaveA, LongitudC, 1)
       Posicion = InStr(CAlfabeto, TcA)
       TcB = Mid(TclaveA, Posicion + LongitudC, 1)
       NumC = InStr(CAlfabeto, TcB) - 1 '//Númeno de clave
 
        Mid(TclaveA, Posicion + LongitudC, 1) = "@"
        TclaveA = Replace(TclaveA, "@", "")
 
 
       TclaveA = TcB & TclaveA
       '//Posición Texto
       num2 = InStr(CAlfabeto, Mid(TclaveB, num1, 1))
       NumT = InStr(TAlfabeto, Mid(CAlfabeto, num2, 1)) - 1
       NumTC = NumC Xor NumT
       TclaveC = TclaveC & Mid(CAlfabeto, NumTC + 1, 1)
       TcA = Mid(TAlfabeto, NumT + 1, 1)
 
 
       Mid(TAlfabeto, NumT + 1, 1) = "@"
       TAlfabeto = Replace(TAlfabeto, "@", "")
       TAlfabeto = TcA & TAlfabeto
 
       'Debug.Print "*****************************************************************************"
       'Debug.Print "TcA=" & TcA
       'Debug.Print "TcB=" & TcB
       'Debug.Print "TAlfabeto=" & TAlfabeto
Next num1
 
 
 
 TclaveB = TclaveA
 TclaveA = TclaveC
 T_alfabeto = TAlfabeto
 
 
 
  '//DesCifrado Texto Claro
  Tclaro = cifrado
  Tcifrado = ""
  LongitudCB = Len(Tclaro)
  For num1 = 1 To LongitudCB
       '//Posición Clave
       TcA = Mid(TclaveA, LongitudC, 1)
       Posicion = InStr(CAlfabeto, TcA)
       TcB = Mid(TclaveA, Posicion + LongitudC, 1)
       NumC = InStr(CAlfabeto, TcB) - 1 ';//Número de clave
       '//Posición Texto
       num2 = InStr(CAlfabeto, Mid(Tclaro, num1, 1))
       If num2 > 0 Then
                   'Delete (TclaveA, Posicion+LongitudC, 1);
                    Mid(TclaveA, Posicion + LongitudC, 1) = "@"
                   TclaveA = Replace(TclaveA, "@", "")
         TclaveA = TcB & TclaveA
         NumT = InStr(TAlfabeto, Mid(CAlfabeto, num2, 1)) - 1
         NumTC = NumC Xor NumT '// Número de Tecto
         Tcifrado = Tcifrado + Mid(TAlfabeto, NumTC + 1, 1)
         TcA = Mid(TAlfabeto, NumT + 1, 1)
 
 
                          NumT = NumTC
                          TcA = Mid(TAlfabeto, NumTC + 1, 1)
 
                           Mid(TAlfabeto, NumT + 1, 1) = "@"
                           TAlfabeto = Replace(TAlfabeto, "@", "")
         TAlfabeto = TcA & TAlfabeto
         If num1 Mod 32 = 0 Then Tcifrado = Tcifrado & Chr$(10)
       End If
    Next num1
 
    descifrar = Tcifrado
 
End Function

Y estos son los valores de TcA, TcB y TAlfabeto

*****************************************************************************
TcA=G
TcB=E
TAlfabeto=G:;,.ABCDEFHIJKLMN~OPQRSTUVWXYZ_
*****************************************************************************
TcA=Y
TcB=J
TAlfabeto=YG:;,.ABCDEFHIJKLMN~OPQRSTUVWXZ_
*****************************************************************************
TcA=T
TcB=I
TAlfabeto=TYG:;,.ABCDEFHIJKLMN~OPQRSUVWXZ_
*****************************************************************************
TcA=M
TcB=K
TAlfabeto=MTYG:;,.ABCDEFHIJKLN~OPQRSUVWXZ_
*****************************************************************************
TcA=H
TcB=T
TAlfabeto=HMTYG:;,.ABCDEFIJKLN~OPQRSUVWXZ_
*****************************************************************************
TcA=R
TcB=S
TAlfabeto=RHMTYG:;,.ABCDEFIJKLN~OPQSUVWXZ_
*****************************************************************************
TcA=F
TcB=D
TAlfabeto=FRHMTYG:;,.ABCDEIJKLN~OPQSUVWXZ_
*****************************************************************************
TcA=X
TcB=E
TAlfabeto=XFRHMTYG:;,.ABCDEIJKLN~OPQSUVWZ_
*****************************************************************************
TcA=S
TcB=C
TAlfabeto=SXFRHMTYG:;,.ABCDEIJKLN~OPQUVWZ_
*****************************************************************************
TcA=L
TcB=Q
TAlfabeto=LSXFRHMTYG:;,.ABCDEIJKN~OPQUVWZ_
*****************************************************************************
TcA=G
TcB=X
TAlfabeto=GLSXFRHMTY:;,.ABCDEIJKN~OPQUVWZ_
*****************************************************************************
TcA=Q
TcB=G
TAlfabeto=QGLSXFRHMTY:;,.ABCDEIJKN~OPUVWZ_
*****************************************************************************
TcA=E
TcB=A
TAlfabeto=EQGLSXFRHMTY:;,.ABCDIJKN~OPUVWZ_
*****************************************************************************
TcA=W
TcB=N
TAlfabeto=WEQGLSXFRHMTY:;,.ABCDIJKN~OPUVZ_
*****************************************************************************
TcA=R
TcB=J
TAlfabeto=RWEQGLSXFHMTY:;,.ABCDIJKN~OPUVZ_
*****************************************************************************
TcA=K
TcB=R
TAlfabeto=KRWEQGLSXFHMTY:;,.ABCDIJN~OPUVZ_
*****************************************************************************
TcA=F
TcB=M
TAlfabeto=FKRWEQGLSXHMTY:;,.ABCDIJN~OPUVZ_
*****************************************************************************
TcA=P
TcB=S
TAlfabeto=PFKRWEQGLSXHMTY:;,.ABCDIJN~OUVZ_
*****************************************************************************
TcA=D
TcB=E
TAlfabeto=DPFKRWEQGLSXHMTY:;,.ABCIJN~OUVZ_
*****************************************************************************
TcA=V
TcB=U
TAlfabeto=VDPFKRWEQGLSXHMTY:;,.ABCIJN~OUZ_
*****************************************************************************
TcA=Q
TcB=H
TAlfabeto=QVDPFKRWEGLSXHMTY:;,.ABCIJN~OUZ_
*****************************************************************************
TcA=J
TcB=F
TAlfabeto=JQVDPFKRWEGLSXHMTY:;,.ABCIN~OUZ_
*****************************************************************************
TcA=E
TcB=B
TAlfabeto=EJQVDPFKRWGLSXHMTY:;,.ABCIN~OUZ_
*****************************************************************************
TcA=O
TcB=W
TAlfabeto=OEJQVDPFKRWGLSXHMTY:;,.ABCIN~UZ_
*****************************************************************************
TcA=C
TcB=Q
TAlfabeto=COEJQVDPFKRWGLSXHMTY:;,.ABIN~UZ_
*****************************************************************************
TcA=U
TcB=L
TAlfabeto=UCOEJQVDPFKRWGLSXHMTY:;,.ABIN~Z_
*****************************************************************************
TcA=P
TcB=D
TAlfabeto=PUCOEJQVDFKRWGLSXHMTY:;,.ABIN~Z_
*****************************************************************************
TcA=I
TcB=G
TAlfabeto=IPUCOEJQVDFKRWGLSXHMTY:;,.ABN~Z_
*****************************************************************************
TcA=D
TcB=M
TAlfabeto=DIPUCOEJQVFKRWGLSXHMTY:;,.ABN~Z_
*****************************************************************************
TcA=~
TcB=R
TAlfabeto=~DIPUCOEJQVFKRWGLSXHMTY:;,.ABNZ_
*****************************************************************************
TcA=B
TcB=P
TAlfabeto=B~DIPUCOEJQVFKRWGLSXHMTY:;,.ANZ_
*****************************************************************************
TcA=T
TcB=T
TAlfabeto=TB~DIPUCOEJQVFKRWGLSXHMY:;,.ANZ_
*****************************************************************************
TcA=O
TcB=E
TAlfabeto=OTB~DIPUCEJQVFKRWGLSXHMY:;,.ANZ_
*****************************************************************************
TcA=H
TcB=J
TAlfabeto=HOTB~DIPUCEJQVFKRWGLSXMY:;,.ANZ_
*****************************************************************************
TcA=C
TcB=K
TAlfabeto=CHOTB~DIPUEJQVFKRWGLSXMY:;,.ANZ_
*****************************************************************************
TcA=N
TcB=O
TAlfabeto=NCHOTB~DIPUEJQVFKRWGLSXMY:;,.AZ_
*****************************************************************************
TcA=A
TcB=C
TAlfabeto=ANCHOTB~DIPUEJQVFKRWGLSXMY:;,.Z_
*****************************************************************************
TcA=S
TcB=D
TAlfabeto=SANCHOTB~DIPUEJQVFKRWGLXMY:;,.Z_

A ver si te vale, si no vete pidiéndome valores intermedios de ejecuciones, y así te vas aproximando.

Disculpa

Me refería a los valores de TCA y TCB del cálculo de

TcA = Mid(TclaveA, LongitudC, 1)
TcB = Mid(TclaveA, Posicion + LongitudC, 1)

y ya que estamos y si no te es mucha molestia también los de numC y numT en su primer cálculo en el bucle.

Supongo que no es muy relevante pero parece que los procedimientos se refieren a descifrar más que a cifrar.

Gracias

Vale, pues aquí los tienes:

Vale, pues aquí los tienes:

******************************************************************
TcA= O
TcB= E
NumC= 8
NumT= 10
******************************************************************
TcA= H
TcB= J
NumC= 13
NumT= 29
******************************************************************
TcA= C
TcB= I
NumC= 12
NumT= 25
******************************************************************
TcA= N
TcB= K
NumC= 14
NumT= 18
******************************************************************
TcA= A
TcB= T
NumC= 24
NumT= 14
******************************************************************
TcA= S
TcB= S
NumC= 23
NumT= 24
******************************************************************
TcA= E
TcB= D
NumC= 7
NumT= 15
******************************************************************
TcA= J
TcB= E
NumC= 8
NumT= 29
******************************************************************
TcA= I
TcB= C
NumC= 6
NumT= 26
******************************************************************
TcA= K
TcB= Q
NumC= 21
NumT= 21
******************************************************************
TcA= T
TcB= X
NumC= 28
NumT= 9
******************************************************************
TcA= S
TcB= G
NumC= 10
NumT= 26
******************************************************************
TcA= D
TcB= A
NumC= 4
NumT= 19
******************************************************************
TcA= E
TcB= N
NumC= 17
NumT= 29
******************************************************************
TcA= C
TcB= J
NumC= 13
NumT= 8
******************************************************************
TcA= Q
TcB= R
NumC= 22
NumT= 23
******************************************************************
TcA= X
TcB= M
NumC= 16
NumT= 9
******************************************************************
TcA= G
TcB= S
NumC= 23
NumT= 27
******************************************************************
TcA= A
TcB= E
NumC= 8
NumT= 22
******************************************************************
TcA= N
TcB= U
NumC= 25
NumT= 29
******************************************************************
TcA= J
TcB= H
NumC= 11
NumT= 8
******************************************************************
TcA= R
TcB= F
NumC= 9
NumT= 25
******************************************************************
TcA= M
TcB= B
NumC= 5
NumT= 9
******************************************************************
TcA= S
TcB= W
NumC= 27
NumT= 28
******************************************************************
TcA= E
TcB= Q
NumC= 21
NumT= 25
******************************************************************
TcA= U
TcB= L
NumC= 15
NumT= 29
******************************************************************
TcA= H
TcB= D
NumC= 7
NumT= 8
******************************************************************
TcA= F
TcB= G
NumC= 10
NumT= 27
******************************************************************
TcA= B
TcB= M
NumC= 16
NumT= 9
******************************************************************
TcA= W
TcB= R
NumC= 22
NumT= 29
******************************************************************
TcA= Q
TcB= P
NumC= 20
NumT= 28
******************************************************************
TcA= L
TcB= T
NumC= 24
NumT= 22
******************************************************************
TcA= D
TcB= E
NumC= 8
NumT= 8
******************************************************************
TcA= G
TcB= J
NumC= 13
NumT= 21
******************************************************************
TcA= M
TcB= K
NumC= 14
NumT= 9
******************************************************************
TcA= R
TcB= O
NumC= 19
NumT= 29
******************************************************************
TcA= P
TcB= C
NumC= 6
NumT= 29
******************************************************************
TcA= T
TcB= D
NumC= 7
NumT= 22

Páginas

opinar

Texto puro

  • No se permiten etiquetas HTML.
  • Saltos automáticos de líneas y de párrafos.
Imágenes
Puedes añadir hasta 10 imágenes explicativas a tus comentarios (pantallazos, etc).
Los archivos deben ser menores que 8 MB.
Tipos de archivo permitidos: png gif jpg jpeg.
By submitting this form, you accept the Mollom privacy policy.