Lunes por la mañana, temprano. Suena el teléfono. Me despierto mal y mientras trato de atender, busco con la vista el reloj grande en la pared. Un poco más de las 4 y media. Miro otra vez... y sí, empezaba con cuatro. No reconozco el número pero atiendo igual
–¿Sí? –empiezo balbuceante y con voz que ni yo mismo reconozco.
–Adrián. Soy Raúl. Estoy en Mendoza, en un hotel. Vine por laburo –escuché del otro lado. La voz sí era la de Raúl.
–¿Estás bien? –pregunto preocupado–. ¿Qué hacés en Mendoza? Qué raro que me llames a esta hora ¿Te pasa algo?”
–No, no estoy muy bien. Te cuento por qué te llamo. Necesito que me ayudes y no conozco otros matemáticos.
–¿Matemáticos? ¿Qué te pasó? Contame.
–Mirá. Viajé ayer a última hora de la tarde desde Aeroparque. Ni bien aterrizamos, salí apurado del avión porque tenía una reunión y no quería llegar tarde. Cuando entro en el taxi que me llevaría el centro... ¡me quise morir! Recién ahí me dí cuenta que me dejé la computadora abajo de mi asiento... la laptop.... me la olvidé adentro del avión. ¡No lo podía creer! Volví a la terminal, pero era demasiado tarde. El avión había seguido para Santiago de Chile. Llegué al hotel y usando el celular pude seguirle los pasos (al avión). Ni bien supe que había aterrizado, llamé al mostrador de la compañía en el aeropuerto. Expliqué mi situación... Les di mi número y me quedé esperando. A la media hora se comunicaron conmigo y ¡no encontraron nada Adrián! ¡Me quiero matar! –siguió en un monólogo sin pausa–. No me importa el valor de la computadora. Mi problema son los datos, ¿me entendés? Son confidenciales, hay un montón de contraseñas, direcciones, números de teléfonos... ¡Me van a matar! ¡No lo puedo creer! ¡Soy un imbécil!
–Raúl –seguí yo sin entender todavía por qué estaba tan angustiado–. Quedate tranquilo. Te van a entender. No te preocupes. De todas formas, ¿no tenías una clave para entrar?
–Sí, justamente por eso te llamo. Yo sé la clave, pero tengo miedo que sea muy fácil de descubrir. Te explico. Como yo tengo tantas contraseñas en tantos lugares, ni bien la encendés aparece una pequeña ayuda para que me indique cuál de las claves que uso es la que me sirve para esa computadora en particular. Se ve claramente que hay que llenar ocho caracteres y yo me anoté como ayuda-memoria: 6 MIN, MAY y NUM.
–Raúl, nadie va a entender eso. ¿Qué quiere decir MIN, MAY y NUM? Bueno... –y me interrumpí porque me di cuenta de algo y no quería engañarlo–. Me imagino que MIN es por minúscula, MAY es por mayúscula y NUM por número... pero ¡no te preocupes! Solamente con esos datos, va a ser muy difícil de descubrir.
–¿Ves? ¿Ves? ¡Vos te das cuenta inmediatamente que yo usé seis letras minúsculas, una mayúscula y un dígito! Y es exactamente así –seguía casi desesperado–. Decime por favor: si alguien detecta lo mismo que vos, ¿tiene que probar con muchas combinaciones hasta descubrir la verdadera clave? ¿Con cuántas claves tiene que probar?
Y aquí lo dejé. Y le planteo el tema a usted. Aún sabiendo que hay que llenar ocho casilleros usando una letra mayúscula, un dígito (o sea, un número que vaya entre 0 y 9) y seis letras minúsculas, ¿cuántas combinaciones posibles hay?
Yo le dije que se quede tranquilo, que son muchas. ¿Hice bien? ¿Usted qué piensa?
Respuesta
Y sí... son muchas. ¿Quiere acompañarme a recorrer un posible camino para determinar cuántas hay? La respuesta que encontremos será única, pero las formas de llegar son múltiples.
En principio, hay 27 letras en nuestro alfabeto. De ellas va a salir la mayúscula y también las minúsculas. El dígito tendrá que ser un número cualquiera entre cero y nueve: 0, 1, 2, 3, 4, 5, 6, 7, 8 y 9.
Como hay ocho casillas para llenar, la letra mayúscula puede ir en cualquiera de esos ocho lugares. Una vez que sé el lugar que ocupa la mayúscula, quedan siete casillas libres para poner el dígito. O sea, en total hay
8 x 7 = 56
formas de ubicar la mayúscula y el dígito.
Ahora, quiero contar cuántos pares se pueden formar con una letra y un dígito. Tengo 27 posibilidades para elegir la letra y 10 para elegir el dígito. ¿Conclusión? En total hay:
27 x 10 = 270
pares de letra y dígito.
Fíjese que para cada una de las 56 posibilidades de elegir las dos casillas donde van a ir la mayúscula y el dígito, tengo 270 posibles formas de llenar esas casillas. En total entonces,
270 x 56 = 15.120
Llegamos a la conclusión entonces que hay 15.120 formas distintas de distribuir una mayúscula y un dígito usando dos de las ocho casillas posibles. ¿Y ahora? Lo que sigue ahora es más sencillo. ¿Por qué? (¿no quiere seguir pensando usted?).
Cuando uno determinó en qué casillas va a ubicar la mayúscula y el número, ya sabe lo que va en cada una de las seis restantes: una letra minúscula. Y en cada una de esas seis casillas, puedo poner cualquiera de las 27 letras del alfabeto. Es decir, en esas seis casillas van:
27 x 27 x 27 x 27 x 27 x 27 = 276 = 387.420.489
Ultimo paso. Lo único que queda ahora, es usar toda la información que juntamos. Sabemos que hay 15.120 formas de distribuir la mayúscula y el dígito y para cada una de esas formas, hay 387.420.489 maneras de elegir seis minúsculas. Corolario:
(15.120) x (387.420.489) = 5.857.797.793.680
Si quien se llevó la laptop quisiera probar intentando con una combinación por segundo (y le sugiero que haga la cuenta) verá que necesitará algo así como 67.798.586 días o lo que es lo mismo, 185.750 años o si prefiere, un poco más de 1.857 siglos.
Lo llamé a Raúl inmediatamente.
“Raúl, la contraseña es muy segura. Si alguien intenta violarla se va a morir antes. Andate a dormir y quedate tranquilo.”
Corté y me volví a la cama. Tendría tiempo de dormir una hora más, por lo menos. Con todo, había algo que me hacía “ruido”. Es que el cálculo de que una persona tardaría casi dos mil siglos en probar todas las combinaciones si intentara una por segundo, se basa en eso... en ¡una persona! ¿Habrá otras formas más rápidas?
Me levanté y le escribí a Carlos D’Andrea en la Universidad de Barcelona y, a través de él, yo sabía que llegaría hasta Don Coleman, un especialista en analizar cuestiones de seguridad cibernética. No habían pasado ni diez minutos cuando recibí este correo de parte de Carlos.
“Adrián. Me dice Don que hay programas que buscan passwords y van pasando por todas las combinaciones posibles a una velocidad increíble (esto obviamente no lo puede hacer un humano sino otra máquina conectada con la que va a ser hackeada). Ocho caracteres es un poco el límite de lo que pueden hacer, pero darles la información 6 min + 1 may + 1 num les hace el trabajo bastante más fácil. Así que si yo fuera tu amigo, no me iría a dormir tan tranquilo.....”
Me quedé mortificado y dudando si lo llamaba a Raúl. Preferí no llamarlo.
¿Qué le iba a decir?
Por lo menos él pasó una buena noche.