viernes, julio 23, 2010

Sobre BOTNETs, PCs Zombie y SPAM


    A mi parecer hay una creciente preocupación por parte de las empresas sobres estos temas. Sin ir mas lejos, en "mi empresa" estamos especialmente preocupados por el SPAM, y se teme a la posibilidad real de que algún equipo de alguna sede forme parte de alguna botnet o sea un PC Zombie, siendo usado para enviar SPAM (entre otras cosas) a todos los clientes. Que por culpa de ese SPAM nos incluyan en "blocklist" y nos bloqueen ocasionando que y la mayoría de los servidores de correo a nivel mundial nos traten como emisores de SPAM, no permitiendo que nuestros clientes reciban los correos que se han enviado de forma legitima desde nuestro servidor. Esta incapacidad para enviar correos a los clientes afectaría negativamente al negocio de la empresa, provocando una perdida efectiva de ingresos debido a que los clientes no han recibido u obtenido la información necesaria.

Esto, quizás, pueda parecer paranoia pero es algo real que preocupa a, cada vez, mas empresas y responsables de TI debido, en parte, al temor del uso que los usuarios puedan hacer de Internet.

Entre los "particulares" (usuarios no empresa) también crece la preocupación propiciada por las publicaciones en algunos medios de comunicación y lo que se escucha de los "colegas" y/o presuntos "entendidos en la materia".

Algunos ejemplos de artículos de este tipo los podemos encontrar en las siguientes URLs:

Recuperando el control

En principio, para evitar el "secuestro" de nuestro equipo tan solo basta con tener un antivirus actualizado y algún cortafuegos medianamente decente.

Es importante NO utilizar soluciones antivirus "piratas". Es mejor utilizar algún antivirus gratuito como AVG Free o Avira Free. Laz razones aquí.


¿Como puedo saber si mi equipo esta en alguna botnet o es un zombie?

Las empresas de seguridad están empezando a darle importancia a este asunto y ya "asoman" algunas soluciones, como Trend Micro RUBooted.

Se trata de una aplicación que se encuentra aún en versión Beta. El aspecto es el siguiente:


El problema está en los falsos positivos, y en caso de detectar algo sospechoso solo propone analizar el equipo con la versión online de su antivirus.


En mi caso el falso positivo se debe a que uso TeamViewer para conectarme al equipo de mi casa y detecta que este software realiza consultas "extrañas" a servicios de DNS. En mi opinión, esta herramienta debería dar más información de los problemas que encuentra ya que la información que proporciona es muy escueta.

La aplicación que más me ha gustado es BotHunter. Se trata de una aplicación basada en el IDS (sistema de detección de intrusos) Snort que compara el tráfico de nuestra red frente a un modelo de patrones de comunicaciones para detectar BOTs y demás malware. El aspecto de esta aplicación es el siguiente:


Esta si que no da falsos positivos y funciona tanto en Windows como Linux, FreeBSD y MacOS.

Espero que este artículo sea de utilidad y recuerda: ¡Disfruta de la tecnología!

jueves, julio 22, 2010

Criptografía clásica. Sustituciones Polialfabéticas. Descripción en el caso general

Descripción en el caso general

    Los cifrados polialfabéticos esconden la distribución usando sustituciones multiples, es decir, varios alfabetos. Los alfabetos no necesitan necesariamente ser de orígenes diferentes, por ejemplo, un alfabeto romano y otro cirílico. El simple hecho de alterar la orden en la secuencia de las letras ya caracteriza un "nuevo" alfabeto. Por ejemplo, z-y-x-...-c-b-a es un alfabeto de sustitución; b-a-d-c-... es un alfabeto de sustitución diferente. Si ambos fueran utilizados para cifrar un mismo mensaje, sustituyendo las letras originales, entonces se trata de una sustitución polialfabética.

Así, usando d alfabetos de cifrado (periódo d): C1, C2, ..., Cd y con alfabeto de texto llano A:

fi A -> Ci; i = 1 ... d

Entonces el mensaje:

M = m1m2 ... mdmd+1 ...

se convierte en:

Ek(M) = f1(m1)f2(m2) ... fd(md)fd+1(md+1) ...


Si d = 1, obtenemos de nuevo los cifrados monoalfabéticos.


La forma más antigua de la cifra polialfabética fue desarrollada por Leon Battista Alberti en 1466. Su sistema consistía en escribir el texto cifrado en letras minúsculas y usar letras mayúsculas como símbolos, denominados indicadores, para indicar cuando la sustitución cambiaba. El alfabeto cifrante del Disco de Alberti era ordenado e incluía los dígitos de 1 la 4, usados para formar palabras-código de un pequeño vocabulario. Posteriormente, formas más modernas fueron desarrolladas, donde la sustitución era cambiada cada letra del texto claro.


Esta sección (Descripción en el caso general) ha sido amplidada con información obtenida de serdis.dis.ulpgc.es

Criptografía clásica. Sustituciones Polialfabéticas

Sustituciones Polialfabéticas

    Los sistemas polialfabéticos también cambian símbolos del texto llano por otros símbolos para formar el texto cifrado. La diferencia con los sistemas monoalfabéticos es que no siempre se cambia un símbolo del texto llano por el mismo símbolo en el texto cifrado sino que el símbolo por el que se cambiará dependerá del símbolo que se va a sustituir y de la posición que ocupe.

Los cifrados polialfabéticos aplican varias sustituciones monoalfabéticas al texto llano. Según la posición del símbolo a cifrar le aplicarán una sustitución monoalfabética u otra.

Primero veremos los métodos generales y luego entraremos en algunos casos particulares tal y como se detalla a continuación:


  • Casos particulares
    • Criptosistema de Vigenere
    • Cifrado de Beaufort
    • Cifrado de llave continua
    • Cifrados de Vernam y cuadernos de un sólo uso

lunes, julio 19, 2010

Criptografía clásica. Sustituciones monoalbaféticas. Cifrado monoalfabético general.

Cifrado monoalfabético general

Descripción

    El cifrado monoalfabético general consiste en asignar las letras que van a componer el mensaje cifrado a las letras del alfabeto de forma aleatoria. Esto no es más que hacer una permutación de las letras del alfabeto.

En el caso del castellano tenemos 27 letras, así que pedemos formar un total de 27! posibles permutaciones de las mismas. Cada posible permutación es un cifrado monoalfabético diferente.

La llave (clave) de este cifrado es la permutación que se ha usado para cifrar el texto, y debe permanecer secreto, ya que si se hace público, cualquiera podría descifrar el texto de forma fácil, con sólo invertir la permutación.

Como ejemplo de cifrado, consideremos la siguiente permutación de letras:

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
P G K I T V J Ñ Z H U M X R A E Q D Y F S O B L N W C

Con esta permutación de las letras se puede cifrar un mensaje cualquiera como "Vuelvo el martes" y obtener como resultado "Botmbe tm xpysft".

Para descifrar un mensaje cifrado, sólo hay que invertir la permutación y aplicarla al mensaje cifrado. La permutación inversa de la anterior es:

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
Ñ V Z Q O S B J D G C W L X H U A P N T E K F Y M R I

Si nos encontramos con el texto cifrado "mp omszxp kpfp itm kpxzre", que sabemos que ha sido cifrado con la permutación anterior, no tenemos más que aplicar la permutación inversa y obtenemos "la última casa del camino", que es el texto original.


Criptoanálisis

    El criptoanálisis de textos cifrados con este método no es demasiado complejo. El análisis a fuerza bruta consistiría en probar con todas las permutaciones posibles hasta que el texto cifrado cobrara sentido. No vamos a entrar en él, ya que hay 27! permutaciones.

Como en casos anteriores es menos costoso hacer un análisis estadístico del texto cifrado, ya que todos los cifrados monoalfabéticos mantienen las frecuencias de aparición de las letras del alfabeto. En este caso las frecuencias estarán cambiadas de sitio según la permutación que se haya escogido para cifrar el texto, pero se corresponderán con las del lenguaje.

Supongamos que nos encontramos con el siguiente texto cifrado: 
Ft mmtje p ftrszy pgfemospxtrst syprfqeyspie qey tm mtrse gpmprkte it mp xofzkp, w tm yekt it mp xthzmmp it ktmzp fegyt fo xthzmmp, w tm emey spr vytfke, spr jypse it fo qztm. Tm sztxqe ft ñpgzp itstrzie, re tnzfszp wp. Feme tnzfszpr tmmef ief, orzief, tr fzmtrkze. Ktmzp re ñpgmpgp, re ytzp, re mt seysoypgp wp ker fof gyexpf.
Si hacemos un análisis estadístico del texto tenemos que las letras mas usadas ordenadas por mayor uso son t, p, e, m, f, z, r y s.

Vamos a intentar sustituirlas por las letras más frecuentes en Castellano, a ver si va tomando sentido el texto. Primero vamos a sustituir la t por la e:
Fe mmeje p ferszy pgfemospxerse syprfqeyspie qey em merse gpmprkee ie mp xofzkp, w em yeke ie mp xehzmmp ie kemzp fegye fo xehzmmp, w em emey spr vyefke, spr jypse ie fo qzem. Em szexqe fe ñpgzp ieserzie, re enzfszp wp. Feme enzfszpr emmef ief, orzief, er fzmerkze. Kemzp re ñpgmpgp, re yezp, re me seysoypgp wp ker fof gyexpf.
En la lista de palabras más frecuentes en Castellano, la palabra más usada es de, y en el texto cifrado la palabra más frecuente acabada en e es it (suponiendo que la t se descifre como e). Si sustituimos en el texto cifrado it por de tenemos:
Fe mmeje p ferszy pgfemospxerse syprfqeyspde qey em merse gpmprkee de mp xofzkp, w em yeke de mp xehzmmp de kemzp fegye fo xehzmmp, w em emey spr vyefke, spr jypse de fo qzem. Em szexqe fe ñpgzp deserzde, re enzfszp wp. Feme enzfszpr emmef def, orzdef, er fzmerkze. Kemzp re ñpgmpgp, re yezp, re me seysoypgp wp ker fof gyexpf.
Si nos fijamos en el texto cifrado, hay tres palabras que contienen el bigrama mm: mmtje, xthzmmp y tmmef. En castellano, normalmente cuando aparecen dos letras iguales seguidas en una palabra se trata de ll (lluvia, callar,...), de rr (perro, correr,...) o de la secuencia cc (acceso, acción, ...). Sin embargo, de estos tres casos el único que puede aparecer al principio de una palabra es el de ll. Por tanto lo más seguro es que la palabra cifrada mmtje empiece por ll. Entonces, sustituyendo en el texto cifrado la m por la l tenemos: 
Fe lleje p ferszy pgfelospxerse syprfqeyspde qey el lerse gplprkee de lp xofzkp, w el yeke de lp xehzllp de kelzp fegye fo xehzllp, w el eley spr vyefke, spr jypse de fo qzel. El szexqe fe ñpgzp deserzde, re enzfszp wp. Fele enzfszpr ellef def, orzdef, er fzlerkze. Kelzp re ñpglpgp, re yezp, re le seysoypgp wp ker fof gyexpf.
Si seguimos mirando el texto podemos observar que hay una palabra de dos letras, mp, de la que sabemos que la primera es una l. Teniendo en cuenta que la palabra la es una de las más usadas, que la letra a es la segunda más usada en castellano y que la letra p es la segunda más frecuente en el texto cifrado parece lógico sustituir la p por la a:

Fe lleje a ferszy agfelosaxerse syarfqeysade qey el lerse galarkee de la xofzka, w el yeke de la xehzlla de kelza fegye fo xehzlla, w el eley sar vyefke, sar jyase de fo qzel. El szexqe fe ñagza deserzde, re enzfsza wa. Fele enzfszar ellef def, orzdef, er fzlerkze. Kelza re ñaglaga, re yeza, re le seysoyaga wa ker fof gyexaf.
Ahora nos podemos fijar en que tenemos en el texto cifrado unas cuantas ocurrencias de la palabra cifrada w. Teniendo en cuenta que las palabras más frecuentes en Castellano de una letra son la a y la y y que la a ya la hemos sustituido parece acertado sustituir la w por la y:

Fe lleje a ferszy agfelosaxerse syarfqeysade qey el lerse galarkee de la xofzka, y el yeke de la xehzlla de kelza fegye fo xehzlla, y el eley sar vyefke, sar jyase de fo qzel. El szexqe fe ñagza deserzde, re enzfsza ya. Fele enzfszar ellef def, orzdef, er fzlerkze. Kelza re ñaglaga, re yeza, re le seysoyaga ya ker fof gyexaf.
Nos encontramos en el texto cifrado la palabra ellef, de la que nos quedan por descifrar las dos últimas letras. Esta palabra sólo puede haberse obtenido cifrando ellas o ellos. Como sabemos que la p se descifra por a, podemos descifrar la e por la o y la f por la s:

Se llejo a serszy agsolosaxerse syarsqoysado qoy el lerso galarkeo de la xoszka, y el yoke de la xehzlla de kelza sogye so xehzlla, y el oloy sar vyesko, sar jyaso de so qzel. El szexqo se ñagza deserzdo, ro enzssza ya. Solo enzsszar ellos dos, orzdos, er szlerkzo. Kelza ro ñaglaga, ro yeza, ro le soysoyaga ya kor sos gyoxas.
La penúltima palabra de texto es sos. En castellano, la única palabra por la que tiene sentido descifrarla es por sus, así que cambiamos la o por la u:

Se llejo a serszy agsolusaxerse syarsqoysado qoy el lerso galarkeo de la xuszka, y el yoke de la xehzlla de kelza sogye su xehzlla, y el oloy sar vyesko, sar jyaso de su qzel. El szexqo se ñagza deserzdo, ro enzssza ya. Solo enzsszar ellos dos, urzdos, er szlerkzo. Kelza ro ñaglaga, ro yeza, ro le soysuyaga ya kor sus gyoxas.
Hacia el final del texto aparece la palabra er. Sabemos que empieza por e, pero la segunda letra sigue cifrada. Las candidatas para descifrarla son n, l y s. Como ya hemos asignado anteriormente la l y la s, sustituimos ahora la r por la n:

Se llejo a senszy agsolusaxense syansqoysado qoy el lenso galankeo de la xuszka, y el yoke de la xehzlla de kelza sogye su xehzlla, y el oloy san vyesko, san jyaso de su qzel. El szexqo se ñagza desenzdo, no enzssza ya. Solo enzsszan ellos dos, unzdos, en szlenkzo. Kelza no ñaglaga, no yeza, no le soysuyaga ya kon sus gyoxas.
Una de las últimas palabras del texto cifrado es unzdos, que solo cobra sentido si sustituimos la z por la i:

Se llejo a sensiy agsolusaxense syansqoysado qoy el lenso galankeo de la xusika, y el yoke de la xehilla de kelia sogye su xehilla, y el oloy san vyesko, san jyaso de su qiel. El siexqo se ñagia desenido, no enissia ya. Solo enissian ellos dos, unidos, en silenkio. Kelia no ñaglaga, no yeia, no le soysuyaga ya kon sus gyoxas.
Más o menos al final aparece la palabra silenkio, que indica claramente que debemos sustituir la k por la c:

Se llejo a sensiy agsolusaxense syansqoysado qoy el lenso galanceo de la xusica, y el yoce de la xehilla de Celia sogye su xehilla, y el oloy san vyesco, san jyaso de su qiel. El siexqo se ñagia desenido, no enissia ya. Solo enissian ellos dos, unidos, en silencio. Celia no ñaglaga, no yeia, no le soysuyaga ya con sus gyoxas.
Tal y como está en texto ya, se ven claras las sustituciones: g por b, x por m y s por t
Se llejo a sentiy absolutamente tyansqoytado qoy el lento balanceo de la musica, y el yoce de la mehilla de Celia sobye su mehilla, y el oloy tan vyesco, tan jyato de su qiel. El tiemqo se ñabia detenido, no enistia ya. Solo enistian ellos dos, unidos, en silencio. Celia no ñablaba, no yeia, no le toytuyaba ya con sus byomas.
Realizamos las sustituciones: h por j, y por r, q por p, ñ por h y n por x:

Se llejo a sentir absolutamente transportado por el lento balanceo de la musica, y el roce de la mejilla de Celia sobre su mejilla, y el olor tan vresco, tan jrato de su piel. El tiempo se habia detenido, no existia ya. Solo existian ellos dos, unidos, en silencio. Celia no hablaba, no reia, no le torturaba ya con sus bromas.
Por último realizamos las sustituciones: j por g y v por f:

Se llegó a sentir absolutamente transportado por el lento balanceo de la música, y el roce de la mejilla de Celia sobre su mejilla, y el olor tan fresco, tan grato de su piel. El tiempo se había detenido, no existía ya. Sólo existían ellos dos, unidos, en silencio. Celia no hablaba, no reía, no le torturaba ya con sus bromas.
Este texto ha sido extraído de "Edad prohibida", de Torcuato Luca de Tena.

jueves, julio 15, 2010

Criptografía clásica. Substitucione monoalfabéticas. Cifrados afines.

Cifrados afines

Descripción

Se trata de complicar un poco el cifrado de César. En este caso, el criptosistema está determinado por dos enteros, a y b comprendidos entre 0 y 26, ambos extremos incluidos. Además, a y 27 son primos relativos. Una letra x se cifra como c de la forma:

c = (ax + b) mod 27

De esta forma, si a = 4 y b = 3, se obtiene la sustitución:

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
3 7 11 15 19 23 0 4 8 12 16 20 24 1 5 9 13 17 21 25 2 6 10 14 18 22 26

Esta sustitución al decodificarla en letras da como resultado:

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
D H L O S W A E I M P T X B F J N Q U Y C G K Ñ R V Z

Por ejemplo, la frase "No me gustan los caramelos" se cifraría como "BJ XS AGYCDB TJY LDUDXSTJY".

La restricción de que a y 27 sean primos relativos está para asegurar que la sustitución sea uno a uno y que se pueda invertir para obtener el texto original. Por tanto, para descifrar el texto se usa la expresión:

x = (c-b) a-1 mod 27

y si a no fuera primo relativo con 27, no existiría su inverso.


Criptoanálisis

Supongamos que nos encontramos el siguiente texto cifrado:
MCIONW CD CXCL QZLCNUV KWLCP. S QV BLWNUW PV VNMWNULW VN DC BDCXC QV DC ONICMZDCQC MWNMVBMOWN, VN HVDFLCNW. PV PVNUW VN ZNW QV DWP HCNMWP. ALVNUV C VD, DC OFDVPOC MOLMZDCL BCLVMOC UWQCEOC EOEOL VD BCEWL QV DC TWLNCQC. ZN PONOVPULW PODVNMOW S DC DZX IWLUVMONC, DC DDWEOXNC, QCHCN C CGZVD LONMWN QV HZVNWP COLVP ZN PVNUOQW WIONWPW: BCLVMOC MWIW PO VN CGZVDDC EOVTC VQOAOMCMOWN UCNFVNUV C DC OFDVPOC PV VPMWNQOVLC CDFZN BWQVLWPW S UVIOHDV VNOFIC, S ZNC PZVLUV QV ACPMONCMOWN ONVÑBDOMCHDV ICNUVNOC DC IOLCQC QV ICLUON MDCECQC VN CGZVD LONMWN GZV EVOC BWL BLOIVLC EVX VN PZ EOQC.

Siempre se va a poder criptoanalizar como se hace en los cifrados monoalfabéticos generales, pero en el caso de los criptosistemas afines se puede llegar a criptoanalizar el texto de una forma más sencilla. Sabemos que se ha seguido una ecuación del tipo c = (ax + b) mod 27, donde a y 27 son primos relativos. Por tanto a no puede ser un múltiplo de 3. Dscartamos pues los casos a = {3, 6, 9, 12, 15, 18, 21, 24}.

De un análisis estadístico del texto cifrado tenemos que las letras más frecuentes por orden de aparición son C, V, N, O y W. Comparándolas con las letras más frecuentes del castellano podemos suponer que la e se ha cifrado como C y que la a se ha cifrado como V. Planteamos el siguiente sistema de ecuaciones:

C = (ae + b) mod 27
V = (aa + b) mod 27

que codificado a números queda como:

2 = (4a + b) mod 27
22 = (0a + b) mod 27


Resolviendo el sistema, tenemos que a = b = 22, y para descifrar aplicamos x = (c-22)22-1 mod 27 , con lo que obtenemos:
ceswrp et efen bknerla xpnem. g ba onprlp ma arcprlnp ar te otefe ba te wrsecktebe cprcaocwpr, ar datynerp. ma marlp ar krp ba tpm dercpm. znarla e at, te wytamwe cwnckten oenacwe lpbejwe jwjwn at oejpn ba te vpnrebe. kr mwrwamlnp mwtarcwp g te tkf spnlacwre, te ttpjwfre, beder e eñkat nwrcpr ba dkarpm ewnam kr marlwbp pswrpmp: oenacwe cpsp mw ar eñkatte jwave abwzwcecwpr leryarla e te wytamwe ma amcprbwane etykr opbanpmp g laswdta arwyse, g kre mkanla ba zemcwrecwpr wrahotwcedta serlarwe te swnebe ba senlwr ctejebe ar eñkat nwrcpr ñka jawe opn onwsane jaf ar mk jwbe.

El texto que nos ha salido no se parece en nada a un texto llano en castellano, así que nos hemos equivocado en las sustituciones anteriores. La estadística acierta casi siempre, pero también falla. Probemos ahora la sustitución C por a y V por e, esto es, supongamos que el texto cifrado las letras más probables son la a y después la e. Obtenemos el siguiente sistema de ecuaciones:

V = (ae + b) mod 27
C = (aa + b) mod 27

que codificado a números queda como:

22 = (4a + b) mod 27
2 = (0a + b) mod 27

Resolviendo el sistema, tenemos que a = 5 y b = 2. Desciframos con x = (c-2)5-1 mod 27 , con lo que obtenemos:
Caminó al azar durante horas. Y de pronto se encontró en la plaza de la Inmaculada Concepción, en Belgrano. Se sentó en uno de los bancos. Frente a él, la iglesia circular parecía todavía vivir el pavor de la jornada. Un siniestro silencio y la luz mortecina, la llovizna, daban a aquel rincón de Buenos Aires un sentido ominoso: parecía como si en aquella vieja edificación tangente a la iglesia se escondiera algún poderoso y temible enigma, y una suerte de fascinación inexplicable mantenía la mirada de Martín clavada en aquel rincón que veía por primera vez en su vida.

El texto toma sentido, lo que nos confirma que la llave que se ha usado es a = 5 y b = 2.

Este texto ha sido extraído de "Sobre héroes y tumbas" de Ernesto Sabato.

martes, julio 13, 2010

Recuperandonos de errores en los sistemas operativos de Microsoft...

Recuperandonos de errores en los sistemas operativos de Microsoft...

    A veces es posible que nuestro equipo se reinicie sin previo aviso. Muchas veces esto se debe a algún error grave en el sistema como vimos en "Reiniciando nuestro equipo". Otras veces nos aparece la temida pantalla azul de la muerte como vimos en "La pantalla azul de la muerte". En estas ocasiones es posible que un escalofrío recorra nuestro cuerpo y nos quedemos sin saber que hacer...

Bien, en este artículo trataremos de poner al alcance del usuario los conocimientos y medios necesarios para salir airoso de estas situaciones.

Empezando por el principio

A veces los errores mencionados anteriormente, esto es, el reinicio descontrolado de nuestro equipo y la aparición de la pantalla azul de la muerte, se deben a errores en el sistema de archivos. En estos casos suele ser suficiente iniciar nuestro equipo con una versión Live de Windows y ejecutar desde la consola del sistema el comando chkdsk /f c:.


Para este cometido podemos utilizar, entre otras:

    - Hiren's BootCD 10.6
    - Bart's Preinstalled Environment (BartPE)


Esto sigue igual

En el caso de que nuestro problema no se haya solucionado y el sistema de archivos se encuentre sin errores podemos tomar otras medidas.

Si el problema es que el sistema de reinicia una y otra vez podemos probar a deshabilitar la opción de reiniciar automáticamente cuando se produce un error en el sistema. Para ello basta con seguir los siguientes pasos:

- Pulsamos con el botón derecho del ratón sobre el icono de "Mi PC", o "Equipo" dependiendo de nuestra versión de Windows. Elegimos "Propiedades"


- En caso de disponer de Windows 7 o Vista pulsamos sobre "Configuración avanzada del sistema"


- Pulsamos sobre la pestaña "Opciones avanzadas" y luego pulsamos sobe el botón "Configuración" del apartado "Inicio y recuperación"


- Quitamos el "tick" de "Reiniciar automáticamente" en el apartado "Error del sistema"


Con esto hemos conseguido que nuestro equipo no se vuelva a reiniciar de forma automática en caso de un error del sistema. En su lugar nos aparecerá la pantalla azul de la muerte.

Identificando el problema

A estas alturas nuestro equipo ya no se reiniciará pero tendremos en pantalla el error del sistema en un fondo azul con letras blancas. Ahora toca identificar el error para que podamos solucionarlo. Para ilustrarnos a modo de ejemplo utilizaremos la captura de pantalla que aparece en el artículo anterior:


Aunque está en inglés en español no difiere mucho siendo esencialmente la misma y conteniendo la misma información.

Como podemos observar en la parte inferior aparece una sección con "Información técnica" (technical information) en la que parece "un chorro de números y letras":

*** STOP: 0X00000050 (0XFD3094C2, 0X00000001, 0XFBFE7617, 0X00000000)

Bien, aquí está identificado el error del sistema y nos indica lo que está ocurriendo. Debemos apuntar este código de error, con el código que aparece fuera de los paréntesis tendremos suficiente, e ir a alguna página en la que se especifiquen dichos códigos. Personalmente recomiendo la página de Dell Computers de Resolución de problemas de la pantalla azul:



En esta página se puede cambiar el sistema operativo para visualizar los códigos de error correspondientes.

Una vez seleccionado el sistema operativo correspondiente buscamos el nuestro código de error (por ejemplo, pulsando la combinación de teclas "Ctrl" + "F") y podremos ver una descripción del mismo y como solucionarlo:


Como podemos observar, en nuestro caso el error se de debe a que el sistema intenta acceder a un controlador que no está presente o cuyo archivo asociado está dañado o corrupto. En nuestro caso, en la pantalla azul hacía referencia al archivo "SPCMDCON.SYS".

Solucionando el problema

Una vez identificado el problema llega la solución. En nuestro ejemplo el error se debe a que un controlador no puede cargar su archivo asociado, porque o no está presente o esta corrupto o dañado. En nuestro caso parece claro que la solución estará en reinstalar dicho controlador pero ¿como hacerlo si no podemos iniciar nuestro equipo?. Para solucionar el problema podemos seguir los siguientes pasos:

- Aunque podemos descartar el error en el sistema de archivos debido a que al principio de este artículo lo hemos reparado es posible que el archivo en cuestión este aún corrupto. Entonces, parece lógico que tratemos de reparar nuevamente el sistema de archivos siguiendo los pasos anteriormente descritos.

- Una vez reparado el sistema de archivos si el problema persiste podemos intentar iniciar nuestro equipo en modo seguro. Para arrancar en "modo seguro" (o "modo a prueba de fallos" dependiendo de la versión de Windows) basta con pulsar la tecla "F8" tras aparecer la descripción de nuestro equipo y antes de que aparezca la barra de progreso que inicia la carga de Windows. Aparecerá algo como:


Seleccionamos "Modo seguro". Una vez iniciado el sistema en este modo podemos desinstalar el controlador que nos da problemas y forzar a Windows a utilizar el controlador por defecto (siempre que sea posible).

- Si el sistema inicia en modo seguro pero vuelve a parecer la pantalla azul lo único que nos queda es iniciar con un CD Live de Windows (como se ha indicado anteriormente) y dar caza y captura al archivo de marras. Es decir, buscar y eliminar o renombrar el archivo del controlador que nos causa el error.

Una vez realizada esta tarea bastará con reiniciar el equipo y volver a iniciar Windows. Ahora podemos volver a instalar el controlador que nos causo el problema.

Bueno, espero que este artículo sea de utilidad.

¡Disfruta de la tecnología!

lunes, julio 12, 2010

Criptografía clásica. Sustituciones Monoalfabéticas. Cifrado de César con palabra clave

Cifrado de César con palabra clave

    Seguimos con las Sustituciones Monoalfabéticas. Ahora le toca el turno a una variante del Cifrado de César: Cifrado de César con palabra clave.

Descripción

Es otra modificación del cifrado de César. En este caso se escoge un entero k entre 0 y 26 (ambos extremos incluidos) y una palabra o una frase corta a la que llamaremos palabra llave (clave). Si en la palabra llave hay letras repetidas, sólo se tendrá en cuenta la primera ocurrencia de cada una. La palabra llave será escrita debajo del alfabeto, empezando en la posición que indique k y saltando las letras repetidas. Por ejemplo, si escogemos k = 7 y la palabra llave EXTREMADURA tenemos:

0             7                                     26
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
              E X T R M A D U
 
El resto de las letras se emparejan con las que quedan en orden alfabético, empezando justo después de la palabra llave:

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
P Q S V W Y Z E X T R M A D U B C F G H I J K L N Ñ O

Una vez que se ha completado la sustitución, ya se puede cifrar cualquier texto, por ejemplo, la frase "Hoy no me puedo levantar" queda como "EBÑ DB AW CJWVB MWKPDIPG".

El número de llaves (claves) de este cifrado es grande, aunque no podamos encontrar llaves para las 27! sustituciones posibles como en una sustitución monoalfabética general. Es un método más fuerte que el cifrado de César normal.


Criptoanálisis

El criptoanálisis de textos cifrados con este cifrado no es demasiado complejo. El análisis a fuerza bruta consistiría en probar con todas las permutaciones posibles hasta que el texto cifrado cobre sentido. No vamos a entrar en él, ya que hay 27! permutaciones.

Es menos costoso hacer un análisis estadístico del texto cifrado ya que todos los cifrados monoalfabéticos mantienen las frecuencias de aparición de las letras del alfabeto. En este caso las frecuencias estarán cambiadas de sitio según la permutación que se haya escogido para cifrar el texto, pero se corresponderán con las del lenguaje.

Supongamos que nos encontramos con el siguiente texto cifrado:

Q YB TGLYO VBJKTBKY MVUHD, WDB OT XYOVWTXYST Q XLHYST JDOD FDJVUOYJ YB YO WHVJKTO. LBT MVUHTWVDB KYBLY WDAD YO YWD, D YO HYWLYHXD; XLHT Q fHTIVO T LB KVYAFD, WTFTS XY XYHHVUTH LB ALHD D XYJFYHKTH LB WDHTSDB. Q YJT MVUHTWVDB TAYBTSD, FDH LB VBJKTBKY, YJKTOOTH YB AVO FYXTSDJ OT LHBT GLY TFHYJTUT YO WDHTSDB XYO HYQ. FYHD YO JDHKVYIVD YHT ALQ FDXYHDJD, D OT BTKLHTOYST XY HYQ FDWD FHDFVWVT T KTOYJ WDJTJ. XY JLYHKY GLY, XY VBAYXVTKD, OT MVUHTWVDB WYJD, Q XY BLYMD YO WDHTSDB XYO HYQ FYHATBYWVD T JTOMD.

Si hacemos un análisis estadístico del texto tenemos que las letras mas usadas ordenadas por mayor uso son Y, T, D, H, B y O.

Las tres letras más frecuentes en castellano son e, a y o. Vamos a sustituirlas por las tres letras más frecuentes del texto cifrado para ver lo que obtenemos:

Q eB aGLeO VBJKaBKe MVUHo, WoB Oa XeOVWaXeSa Q XLHeSa JoOo FoJVUOeJ eB eO WHVJKaO. LBa MVUHaWVoB KeBLe WoAo eO eWo, o eO HeWLeHXo; XLHa Q fHaIVO a LB KVeAFo, WaFaS Xe XeHHVUaH LB ALHo o XeJFeHKaH LB WoHaSoB. Q eJa MVUHaWVoB aAeBaSo, FoH LB VBJKaBKe, eJKaOOaH eB AVO FeXaSoJ Oa LHBa GLe aFHeJaUa eO WoHaSoB XeO HeQ. FeHo eO JoHKVeIVo eHa ALQ FoXeHoJo, o Oa BaKLHaOeSa Xe HeQ FoWo FHoFVWVa a KaOeJ WoJaJ. Xe JLeHKe GLe, Xe VBAeXVaKo, Oa MVUHaWVoB WeJo, Q Xe BLeMo eO WoHaSoB XeO HeQ FeHAaBeWVo a JaOMo.

En el texto encontramos eO y Oa; eO podría ser en, es o el, con lo que Oa podría ser na, sa o la respectivamente. Parece lógico que cambiemos la O por una l, que es lo único que parece tener sentido:

Q eB aGLel VBJKaBKe MVUHo, WoB la XelVWaXeSa Q XLHeSa Jolo FoJVUleJ eB el WHVJKal. LBa MVUHaWVoB KeBLe WoAo el eWo, o el HeWLeHXo; XLHa Q fHaIVl a LB KVeAFo, WaFaS Xe XeHHVUaH LB ALHo o XeJFeHKaH LB WoHaSoB. Q eJa MVUHaWVoB aAeBaSo, FoH LB VBJKaBKe, eJKallaH eB AVl FeXaSoJ la LHBa GLe aFHeJaUa el WoHaSoB Xel HeQ. FeHo el JoHKVeIVo eHa ALQ FoXeHoJo, o la BaKLHaleSa Xe HeQ FoWo FHoFVWVa a KaleJ WoJaJ. Xe JLeHKe GLe, Xe VBAeXVaKo, la MVUHaWVoB WeJo, Q Xe BLeMo el WoHaSoB Xel HeQ FeHAaBeWVo a JalMo.

Tenemos las palabras Xel y Xe, con lo que parece razonable sustituir la X por una d:

Q eB aGLel VBJKaBKe MVUHo, WoB la delVWadeSa Q dLHeSa Jolo FoJVUleJ eB el WHVJKal. LBa MVUHaWVoB KeBLe WoAo el eWo, o el HeWLeHdo; dLHa Q fHaIVl a LB KVeAFo, WaFaS de deHHVUaH LB ALHo o deJFeHKaH LB WoHaSoB. Q eJa MVUHaWVoB aAeBaSo, FoH LB VBJKaBKe, eJKallaH eB AVl FedaSoJ la LHBa GLe aFHeJaUa el WoHaSoB del HeQ. FeHo el JoHKVeIVo eHa ALQ FodeHoJo, o la BaKLHaleSa de HeQ FoWo FHoFVWVa a KaleJ WoJaJ. de JLeHKe GLe, de VBAedVaKo, la MVUHaWVoB WeJo, Q de BLeMo el WoHaSoB del HeQ FeHAaBeWVo a JalMo.

Tenemos la palabra de una Q, que podría descifrarse por y o a, pero la a ya la hemos sustituido, así que sustituimos la Q por una y:

y eB aGLel VBJKaBKe MVUHo, WoB la delVWadeSa y dLHeSa Jolo FoJVUleJ eB el WHVJKal. LBa MVUHaWVoB KeBLe WoAo el eWo, o el HeWLeHdo; dLHa y fHaIVl a LB KVeAFo, WaFaS de deHHVUaH LB ALHo o deJFeHKaH LB WoHaSoB. y eJa MVUHaWVoB aAeBaSo, FoH LB VBJKaBKe, eJKallaH eB AVl FedaSoJ la LHBa GLe aFHeJaUa el WoHaSoB del Hey. FeHo el JoHKVeIVo eHa ALy FodeHoJo, o la BaKLHaleSa de Hey FoWo FHoFVWVa a KaleJ WoJaJ. de JLeHKe GLe, de VBAedVaKo, la MVUHaWVoB WeJo, y de BLeMo el WoHaSoB del Hey FeHAaBeWVo a JalMo.

Tenemos la palabra Hey, que puede ser rey o ley, con lo que la H se puede sustituir por r o por l. Para resolver el problema basta que nos fijemos en la palabra eHa, que con las dos sustituciones posibles de H queda como era o ela. Parece más adecuado realizar la sustitución de la letra H por r, con lo que queda:

y eB aGLel VBJKaBKe MVUro, WoB la delVWadeSa y dLreSa Jolo FoJVUleJ eB el WrVJKal. LBa MVUraWVoB KeBLe WoAo el eWo, o el reWLerdo; dLra y fraIVl a LB KVeAFo, WaFaS de derrVUar LB ALro o deJFerKar LB WoraSoB. y eJa MVUraWVoB aAeBaSo, For LB VBJKaBKe, eJKallar eB AVl FedaSoJ la LrBa GLe aFreJaUa el WoraSoB del rey. Fero el JorKVeIVo era ALy FoderoJo, o la BaKLraleSa de rey FoWo FroFVWVa a KaleJ WoJaJ. de JLerKe GLe, de VBAedVaKo, la MVUraWVoB WeJo, y de BLeMo el WoraSoB del rey FerAaBeWVo a JalMo.

En el texto aparece la palabra Fero, que se descifra por pero, lo que nos hace sustituir la F por la p:

y eB aGLel VBJKaBKe MVUro, WoB la delVWadeSa y dLreSa Jolo poJVUleJ eB el WrVJKal. LBa MVUraWVoB KeBLe WoAo el eWo, o el reWLerdo; dLra y fraIVl a LB KVeApo, WapaS de derrVUar LB ALro o deJperKar LB WoraSoB. y eJa MVUraWVoB aAeBaSo, por LB VBJKaBKe, eJKallar eB AVl pedaSoJ la LrBa GLe apreJaUa el WoraSoB del rey. pero el JorKVeIVo era ALy poderoJo, o la BaKLraleSa de rey poWo propVWVa a KaleJ WoJaJ. de JLerKe GLe, de VBAedVaKo, la MVUraWVoB WeJo, y de BLeMo el WoraSoB del rey perAaBeWVo a JalMo.

Con la palabra poderoJo deducimos que la J se sustituye por la s:

y eB aGLel VBsKaBKe MVUro, WoB la delVWadeSa y dLreSa solo posVUles eB el WrVsKal. LBa MVUraWVoB KeBLe WoAo el eWo, o el reWLerdo; dLra y fraIVl a LB KVeApo, WapaS de derrVUar LB ALro o desperKar LB WoraSoB. y esa MVUraWVoB aAeBaSo, por LB VBsKaBKe, esKallar eB AVl pedaSos la LrBa GLe apresaUa el WoraSoB del rey. pero el sorKVeIVo era ALy poderoso, o la BaKLraleSa de rey poWo propVWVa a Kales Wosas. de sLerKe GLe, de VBAedVaKo, la MVUraWVoB Weso, y de BLeMo el WoraSoB del rey perAaBeWVo a salMo.

Ya se ven algunas palabras claramente. Sustituimos la B por la n, la W por la c, la K por la t, la U por la b y la M por la v:

y en aGLel Vnstante vVbro, con la delVcadeSa y dLreSa solo posVbles en el crVstal. Lna vVbracVon tenLe coAo el eco, o el recLerdo; dLra y fraIVl a Ln tVeApo, capaS de derrVbar Ln ALro o despertar Ln coraSon. y esa vVbracVon aAenaSo, por Ln Vnstante, estallar en AVl pedaSos la Lrna GLe apresaba el coraSon del rey. pero el sortVeIVo era ALy poderoso, o la natLraleSa de rey poco propVcVa a tales cosas. de sLerte GLe, de VnAedVato, la vVbracVon ceso, y de nLevo el coraSon del rey perAanecVo a salvo.

Ya parece claro que el texto original es:

Y en aquel instante vibró, con la delicadeza y dureza sólo posibles en el cristal. Una vibración tenue como el eco, o el recuerdo; dura y frágil a un tiempo, capaz de derribar un muro o despertar un corazón. Y esa vibración amenazó, por un instante, estallar en mil pedazos la urna que apresaba el corazón del Rey. Pero el sortilegio era muy poderoso, o la naturaleza de Rey poco propicia a tales cosas. De suerte que, de inmediato, la vibración cesó, y de nuevo el corazón del Rey permaneció a salvo .

Una vez descifrado el texto, sabemos que se ha usado la siguiente sustitución:

0           6
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
t u w x y z i n v e r o a b c d f g h j k l m ñ p q s

Con lo que podemos asegurar que el texto ha sido cifrado con la llave "invierno" empezando en la posición 6.

El texto del ejemplo ha sido extraído de Olvidado Rey Gudú, de Ana María Matute.

martes, julio 06, 2010

Criptografía clásica. Sustituciones Monoalfabéticas. Cifrado de César

Cifrado de César

Descripción

    Uno de los criptosistemas más antiguos se lo debemos a Julio César. El método es bastante sencillo, está basado en sustituciones: la letra cifrada se obtiene a partir de la original desplazándola k posiciones a la derecha. El alfabeto se considera cíclico, esto es que la letra siguiente a la z es la a y que la anterior a la a es la z.

La llave (clave) de este cifrado es el valor de k que se ha usado para cifrar el texto, y éste valor debe permanecer secreto, ya que si se hace público, cualquiera podría descifrar el texto de forma fácil, con sólo desplazar a la izquierda las letras del texto cifrado k lugares a la izquierda.

A cada letra se le asigna un código numérico que no es más que su posición en el alfabeto, la codificación de las letras es por tanto:

A B C D E F G H I J K  L  M  N  Ñ
 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

O  P  Q  R  S  T  U  V  W  X  Y  Z
15 16 17 18 19 20 21 22 23 24 25 26

De una forma más formal el cifrado de César se puede definir como:

Ek = (i+k) mod q

Donde i mod n denota al único entero j entre 0 y n-1 tal que j es congruente con i módulo n. Además, q representa el total del letras del alfabeto (en el caso del castellano q = 27), i el índice de letra que se quiere cifrar y k el desplazamiento que se va a aplicar. Se supone que tanto k como i están entre 0 y q-1 (ambos extremos incluidos). Por lo tanto tendremos q cifrados de César diferentes, uno para cada valor de k que escojamos. El desplazamiento que aplicaba César era k = 3 según los documentos de la época, aunque luego el cifrado se generalizó al que se ha expuesto anteriormente.

Veamos algunos ejemplos:

E26(IBM) = HAL
 E6(HOLA) = NUQA
 E1(PATATA) = QBUBUB

Criptoanálisis

   El criptoanálisis de textos cifrados con este método va a ser muy fácil, ya que existen sólo 27 llaves. Además, como con todos los cifrados monoalfabéticos, se van a mantener las frecuencias de aparición de las letras del alfabeto (http://darthnet.blogspot.com/2010/06/criptografia-clasica-datos-estadisticos.html, http://www.kriptopolis.org/criptografia-clasica-ii). En este caso estarán desplazadas según la llave que se haya escogido, en las siguientes gráficas se puede apreciar cómo se desplazan las frecuencias del castellano al aplicar el cifrado E3.


En la gráfica anterior están reflejadas las frecuencias de las letras en castellano, y en la siguiente se puede apreciar cómo se desplazan tres posiciones a la derecha al aplicar E3.


Hay varias formas de abordar el problema, la primera que se le viene a cualquiera a la cabeza es la de aplicar la fuerza bruta, pero como sabemos que este cifrado hace un desplazamiento de las frecuencias de aparición de las letras, podemos aprovecharnos de esto y hacer un análisis estadístico del texto que nos simplificará bastante el trabajo.

- Fuerza bruta

Ya que sólo existen 27 llaves posibles, se trata de ir probando cada uno de los posibles desplazamientos hasta que el texto cifrado cobre sentido. Vamos a intentar descifra el texto: JYOWAVNYHMOH

 0 JYOWAVNYHMOH
 1 KZPXBWÑZINPI
 2 LAQYCXOAJÑQJ
 3 MBRZDYPBKORK
 4 NCSAEZQCLPSL
 5 ÑDTBFARDMQTM
 6 OEUCGBSENRUN
 7 PFVDHCTFÑSVÑ
 8 QGWEIDUGOTWO
 9 RHXFJEVHPUXP
10 SIYGKFWIQVYQ
11 TJZHLGXJRWZR
12 UKAIMHYKSXAS
13 VLBJNIZLTYBT
14 WMCKHJAMUZCU
15 XNDLOKBNVADV
16 YÑEMPLCÑWBEW
17 ZOFNQMDOXCFX
18 APGÑRNEPYDGY
19 BQHOSÑFQZEHZ
20 CRIPTOGRAFIA
21 DSJQUPHSBGJB
22 ETKRVQITCHKC
23 FULSWRJUDILD
24 GVMTXSKVEJME
25 HWNUYTLWFKNF
26 IXÑVZUMXGLÑG

Como podemos observar la prueba numerada como 20 contiene el texto llano correspondiente a nuestro texto cifrado. Por tanto el texto JYOWAVNYHMOH se descifra como CRIPTOGRAFIA.

Análisis estadístico del texto

Supongamos que nos encontramos con el siguiente texto cifrado:

Edqjnrn qr hud od flxgdg iuhvfd b wudqtxlod gh whpsorv b fdqdohv txh br hvshuded. Ho oxjdu kdeld shuglgr vx ruljlqdo fdudfwhu wdl kdvwd wdo sxqwr txh or txh txhgded uhvxowded devxugr b shuyhuvr hq phglr gh wdq dfxvdgd rfflghqwdolcdflrq. Orv uhvlghqwhv hawudqmhurv hvwdedq gh dfxhugr hq txh kdeld vlgr xq oxjdu kdelwdeoh kdvwd txh oohjdurq odv wursdv hvwdgrxqlghqvhv

Lo primero que hay que hacer es hacer un análisis estadístico del texto cifrado y ver cuáles son las letras más frecuentes, que en este caso son d, h, v, u y r, y se intentan sustituir por las letras más frecuentes del castellano, que según la gráfica anterior son e, a, o, s y n.

Probamos a sustituir la d por la e, esto significa que estamos suponiendo que el texto se cifró con E26, ya que d = (e + 26) mod 27 , luego si deshacemos los veintiséis desplazamientos a la derecha que hace E26 tenemos que la primera palabra del texto Edqjnrn pasa a ser Dcpimqm, que no tiene mucho sentido en castellano, luego parece que E26 no se usó para cifrar el texto.

Vamos a probar ahora a sustituir la segunda letra más probable del texto cifrado, h, por la e a ver si hay mejor suerte. Este cambio supone que para cifrar se usó E3, luego vamos a probar con la primera palabra a ver si toma sentido. Edqjnrn se convierte en Bangkok, que parece una palabra castellana. Para asegurarnos si verdaderamente hemos encontrado la llave, vamos a probar ahora con la palabra flxgdg. Esta palabra pasa a ser ciudad, que es claramente una palabra castellana. Desciframos el resto del texto y obtenemos:

Bangkok no era la ciudad fresca y tranquila de templos y canales que yo esperaba. El lugar había perdido su original carácter tai hasta tal punto que lo que quedaba resultaba absurdo y perverso en medio de tan acusada occidentalización. Los residentes extranjeros estaban de acuerdo en que había sido un lugar habitable hasta que llegaron las tropas estadounidenses

Luego ya sabemos que la llave que se ha usado para cifrar el texto ha sido 3 y tenemos descifrado el texto.

Este texto ha sido extraído de Memorias de un nómada, de Paul Bowles.

lunes, julio 05, 2010

Criptografía clásica. Sustituciones Monoalfabéticas. Polybios

Criptosistema de Polybios


    Quizá el criptosistema más antiguo que se conoce se debe al historiador griego Polybios. No se conoce si Polybios usaba este sistema para propósitos criptográficos.

Este sistema está pensado para alfabetos con 25 símbolos, así que para ajustarlo al castellano, cambiaremos la J por la I y la Ñ por la N, con lo que tenemos ya un alfabeto reducido de 25 símbolos.

Para cifrar un texto se usa la siguiente tabla, que llamaremos tabla de Polybios:

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

Cada letra del mensaje original se cifra por el par de letras que indican la fila y la columna en la que se encuentra. De esta forma, la representación de K será BE. El texto

ESTOY AL BORDE DE UN PRECIPICIO

se cifra como:

AEDCDDCDED AACA ABCDDBADAE ADAE DECC CEDBAEACBDCEBDACBDCD

Esto no es más que una sustitución monoalfabética con el alfabeto de destino {AA, AB, ..., AE, BA, ..., EE} de 25 símbolos.

Criptografía clásica. Sustituciones Monoalfabéticas. Cifrado del camposanto

Cifrado del camposanto

    Algunos cifrados de sustitución usan alfabetos de cifrado no estándar. Por ejemplo, en una lápida del camposanto de la Trinidad, en Nueva York, en 1794, se encontró grabado el siguiente mensaje (el mensaje está en inglés):


La primera solución publicada a este mensaje apareció en el New York Herald en 1896, unos 100 años después.

Dejamos al lector que descifre el mensaje.

Adelantaremos que se trata de un cifrado utilizado por los masones en el siglo XXVI para proteger sus documentos y que la "llave" está basada en el juego de las 3 en raya.

Más información en:
http://www.malditagranmanzana.com/2007/09/la-tumba-de-james-leeson.html
http://blog.creativeitp.com/posts-and-articles/cryptography/the-pigpen-cipher-aka-masonic-cipher/

Criptografía clásica. Sustituciones Monoalfabéticas

Sustituciones Monoalfabéticas


    Los sistemas monoalfabéticos reemplazan cada símbolo de texto llano con un símbolo de texto cifrado. Los caracteres del texto llano y del texto cifrado se corresponden uno a uno, esto es, todas las ocurrencias de un símbolo en el texto llano serán sustituidas por el mismo símbolo cifrado, con lo que se mantienen las frecuencias de aparición de los símbolos y no ofrecen ninguna resistencia ante ataques que se ayuden de análisis estadísticos del texto cifrado.

Como ejemplos tenemos:

viernes, julio 02, 2010

TICTACTOE. Las tres en raya.

TICTACTOE

    Hace tiempo que programé este jueguecillo en javascript. Lo hice para aprender a programar en este lenguaje...


Para empezar a jugar tan solo debes pinchar en una de las casillas. Pulsa el botón "Volver a empezar" si quieres volver a intentarlo. Pulsa sobre el enlace o la imagen para dirigirte a la página donde se encuentra el juego.

Bueno, tal y como he dicho anteriormente el programita lo hice en javascript. Aunque es algo estándar he comprobado "en mis propias carnes" que no funciona correctamente en todos los navegadores. Funciona sin problemas en nuestro viejo amigo Internet Explorer pero no en Opera. Supongo que tendrá algo que ver con la opciones de seguridad de JavaScript pero no he tenido tiempo de verificarlo.
¡Disfruta de la tecnología!