Article View: es.comp.hackers
Article #59922Re: SOLUCIONADO!!! Re: [cript] er nuevo!
From: Xavier Montero
Date: Sat, 22 Dec 2001 12:15
Date: Sat, 22 Dec 2001 12:15
176 lines
8308 bytes
8308 bytes
Yo no lo he sacado, eso lo apunt� alguien en otro post y Virus dijo
que "iba muy bien" as� que lo tom� como "pista".
NaG dec�a:
Parece una ruta de un archivo..... hmmm. Tenemos,
N=A
R=E
V=I
(Tambi�n me gustar�a que NaG indicara de d�nde saca esas
deducciones, parec�a que sacaba estad�sticas de uso
de las letras, pero que en una frase tan corta se cumpla
la estad�stica es as� como poco probable, as� que NaG, si
posteas sobre el c�mo de tu deducci�n, se agradecer�).
En cualquier caso pongo las letras bajo el alfabeto:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
A E I
Y... Oh sorpresa: Fij�monos que ah� encaja exactamente
un alfabeto desplazado:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
A E I
ABCDEFGHI
Con lo que lo completo as�:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
A E I
ABCDEFGHIJKLM
y contin�o por delante:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
A E I
NOPQRSTUVWXYZABCDEFGHIJKLM
Que el desplazamiento est� _exactamente_ a la mitad del
alfabeto es una curiosidad, y adem�s hace que en t�rminos
matem�ticos sea una criptograf�a muy sim�trica: Por ejemplo
la C se codifica con la P y la P se codifica con la C. Pero
eso no altera para nada el c�mo deduje luego el resto.
Lo primero que hice fue pasar todas las letras a su
correspondiente en el otro alfabeto:
Obteniendo lo siguiente (tal como poste� en su momento):
P e i d i c t i o o a r w e r l c p n e s r p e b i a i
: a t a v a b e g o / . a e g i i d n / d s p r i o
s r i p e v o n s r h a / i d m a d a e t g p v
o sea:
Pei di ctiooar werlcpnesr pebiai
:at avabeg o/.a eg iidn/ds prio
sri pev o ns rha/i dma daetgpv
> y despues para Xavier, �Como has visto eso? yo tengo el cripto delante, y ni
> aun sabiendo que dice eso lo veo.
Para tratar de leer eso, tal como poste� en otro mensaje, los s�mbolos
disponibles son ":", "/", "/", "/" y "." lo que incitaba a pensar algo
del tipo xxxx://xxxxxx.xxx/xxxx as� que intent� buscar una relaci�n
entre los �nicos s�mbolos que yo supon�a que eran consecutivos. En
la segunda l�nea, como se ve a simple vista tenemos los s�mbolos
':', '/' y '/' bastante separados. S�lo me quedaba por cuantificar
que este "bastante" fuera el mismo de : a / que de / a /.
As� que analic� y en el tramo ":at avabeg o/" si elimino los
11 caracteres centrales tengo ":/" as� que prob� en el tramo
"/.a eg iidn/" y efectivamente si quitamos los 11 caracteres
centrales obtengo "//", con lo que si escribo saltando 11 caracteres
cada vez, puedo escribir "://" s�lo me hac�a falta tirar para atr�s
para comprobar que obten�a algo del tipo ftp:// o http:// y estar�a
seguro de que s�lo se trataba de escoger entonces los caracteres con
un determinado patr�n. Cont� hacia atr�s por la primera l�nea 12
caracteres y el que hac�a 12 era una "p" (bien, ya tengo "p://"). Si
continuaba tirando para atr�s el que volv�a a hacer 12 era una "t"
as� que ya ten�a "tp://", tirando para atr�s 12 m�s, llego al
principio del cripto y empiezo por atr�s, y si tengo en cuenta
el �ltimo car�cter 0x20 resulta que encuentro una "g", luego asumo
que ese car�cter "espacio" final est� de relleno y no cuenta. Si
no lo tengo en cuenta (lo elimino del cripto), entonces voy una
letra m�s para all� y obtengo una "t" lo que me da "ttp://". Me
propongo que si la siguiente es una "h" obteniendo "http://" entonces
lo dar�a como bueno y probar�a de descrifrarlo as�.
Efectivamente, 12 caracteres antes, hay una "h", lo que confirma
mi teor�a, luego se basa en un sistema exactamente igual que el
que se expone en el segundo cap�tulo que se est� posteando por
aqu�: Saltar los caracteres de X en X (en este caso x = 12).
Cojo el programa que se poste� para descifrar el primer cripto y
le cambio la rutina de descifrado por esta:
void decrypt(unsigned char *buf, unsigned long len) {
int i;
char c;
printf("initial: %s\n", buf);
printf("decrypt: ");
for(i = 0; i < len; i ++ )
{
c = buf[ ( i * 12 ) % len ];
printf("%c", c);
}
printf("\n");
}
que lo que hace es imprime el buffer inicial, y luego, para
imprimir el descifrado, cuenta caracteres de 12 en 12 (i*12)
a lo que le saco el m�dulo "len" para no leer fuera del buffer.
Es decir, leer "len" significa leer buf[0] y leer "3 * len + 4"
es leer buf[4]. Como el salto es de 12, si el original contiene
el espacio final, len = 96 y es m�ltiplo de 12 con lo que
volver� a leer los mismos caracteres:
xavi@inspire:~/crypto$ vd virus_2b.txt
initial: Pei di ctiooar werlcpnesr pebiai:at avabeg o/.a eg iidn/ds
priosri pev o ns rha/i dma daetgpv
decrypt: Para podPara podPara podPara podPara podPara podPara podPara
podPara podPara podPara podPara pod
xavi@inspire:~/crypto$
Efectivamente todo el rato leo "Para pod" modularizando sobre los
mismos caracteres. En cambio, si le quito el espacio final
obtengo:
xavi@inspire:~/crypto$ vd virus_2b.txt
initial: Pei di ctiooar werlcpnesr pebiai:at avabeg o/.a eg iidn/ds
priosri pev o ns rha/i dma daetgpv
decrypt: Para poder ver mi pagina web os debeis dirigir a la direccion
http://pagina.de/poetasvivos
xavi@inspire:~/crypto$
> > "Para poder ver mi pagina web os debeis dirigir a la
> > direccion http://pagina.de/poetasvivos"
Lo que me ha descifrado el mensaje por completo. S�lo quedaba
saber si hab�a alg�n offset en el inicio, pero la may�scula era
una buena pista.
Seg�n me parece, Virus lo encript� no con un patr�n de
+12 en los saltos de caracteres (que no necesita el encolumnado
del original sino ponerlo todo en una fila), sino que puede
que lo encriptara con un patr�n sobre el encolumando inicial
y por eso su comentario de "el encolumando es importante".
En realidad no lo es porque ese (hipot�tico) patr�n es
equivalente a este otro. Tambi�n se podr�a decir que el salto
es de 107 y servir�a (95 + 12 = 107). Son simplemente patrones
equivalentes. Me hace pensar eso su comentario y el hecho de
que hubiera ese 0x20 al final que sobraba. Parece que se haya
partido de un array de espacios colocando las letras
adecuadamente. Por ejemplo una cosa puede ser colocar cada
letra con un salto de 12 contando un total de 96 espacios y
no 95, pero cuando encontramos una casilla ocupada colocamos
el car�cter en la siguiente libre. Ese algoritmo nos dar� el
mismo resultado, s�lo que deja el espacio al final.
Total, que apetece poneros un par de criptos yo mismo, para que
pas�is el rato (lo pongo en otro post).
Si hay m�s dudas sobre mis deducciones, preguntad.
Yo, lo que s� quier poreguntar es de d�nde se sac� la
primera conversi�n de caracteres, que me parece muy bueno
acertar tres letras de golpe a simple vista de p�jaro
(o.. es que hay truco para eso?).
Saludos.
Xavi.
PD: a ver quien se atreve con mis criptos... PISTA: Son parecidos
a �ste pero distintos.
Technical Details
Message-ID:
<3C24794D.AE3424D3@dsitelecom.com>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!isdnet!wanadoo.fr!opentransit.net!newsfeed.comtenidos.com!newsfeeder.wanadoo.es!news.antakira.com!not-for-mailReferences:
<am642ukd79kj35j5dbf9bhsp8j21oh1tk8@4ax.com> <3C23AAAB.A5A11879@dsitelecom.com> <a00qgs$ihq2v$1@ID-107431.news.dfncis.de>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f4463,8a922850aae63296 X-Google-Attributes: gidf4463,public X-Google-ArrivalTime: 2001-12-22 05:13:35 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!isdnet!wanadoo.fr!opentransit.net!newsfeed.comtenidos.com!newsfeeder.wanadoo.es!news.antakira.com!not-for-mail From: Xavier Montero <xmontero@dsitelecom.com> Newsgroups: es.comp.hackers Subject: Re: SOLUCIONADO!!! Re: [cript] er nuevo! Date: Sat, 22 Dec 2001 13:15:09 +0100 Organization: Digital Sound Items Lines: 176 Message-ID: <3C24794D.AE3424D3@dsitelecom.com> References: <am642ukd79kj35j5dbf9bhsp8j21oh1tk8@4ax.com> <3C23AAAB.A5A11879@dsitelecom.com> <a00qgs$ihq2v$1@ID-107431.news.dfncis.de> NNTP-Posting-Host: 212.25.147.135 Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: news.wanadoo.es 1009025768 13431 212.25.147.135 (22 Dec 2001 12:56:08 GMT) X-Complaints-To: usenet@wanadoo.es NNTP-Posting-Date: Sat, 22 Dec 2001 12:56:08 +0000 (UTC) X-Mailer: Mozilla 4.77 [en] (Windows NT 5.0; U) X-Accept-Language: en