Authors: Peter Rinearson Bill Gates
El primer día que un ayudante nuevo entra a trabajar no podemos ni siquiera pedirle que formatee un documento de la misma manera que un informe que escribimos hace unas cuantas semanas. No podemos decirle «envía una copia a iodos los que tienen que saber esto», pero según transcurren los meses y los años, el ayudante se hace cada vez más valioso a medida que se adentra en la rutina típica y en el modo como nos gusta que se hagan las cosas.
La computadora actual es como un perpetuo ayudante en su primer día de trabajo. Necesita que se le den Iodo el tiempo instrucciones explícitas del tipo de las del primer día. Y permanece siendo un asistente del primer día para siempre. Nunca hará nada, ni siquiera minimamente, como consecuencia de los conocimientos adquiridos por su experiencia con nosotros. En Microsoft trabajamos para hacer softer software. Ninguno debería tener en mucha estima a un asistente que no aprende con la experiencia.
El software capacita al hardware para realizar un cierto número de funciones, pero una vez que se ha escrito un programa continúa siendo siempre igual. El software parecerá hacerse más inteligente a medida que se le utiliza. Aprenderá sobre nuestras exigencias y preferencias de manera muy parecida a un asistente humano y, al igual que un buen asistente humano, su ayuda se hará más valiosa a medida que aprenda sobre nosotros y nuestro trabajo.
Si dispusiera ahora de un agente que pudiese aprender, me gustaría que realizase determinadas funciones por mí. Por ejemplo, sería muy útil que pudiera mirar la lisia de proyectos en Microsoft, anotase los cambios producidos en ella y distinguiera aquellos a los que tengo que prestar atención de aquellos de los que no tengo por qué ocuparme. El agente aprendería los criterios por los cuales se necesita mi atención: la magnitud del proyecto, los otros proyectos que dependen de él, la causa e importancia de cualquier retraso. Podría aprender cuándo se puede pasar por alto un retraso de dos semanas y cuándo este retraso pone de manifiesto un problema real y del que tengo que ocuparme pronto, antes de que vaya a peor, Alcanzar este nivel de servicio llevará tiempo a la industria del software, en parte porque es difícil, al igual que ocurre con un asistente humano, encontrar el equilibrio adecuado entre iniciativa y rutina. No queremos que se sobrepase. Si el agente incorporado trata de ser demasiado inteligente y se anticipa y hace confiadamente servicios que el usuario no desea, será molesto para los usuarios que estén acostumbrados a tener un control explícito sobre sus computadoras.
Cuando utilizamos un agente, dialogamos con un programa que se comporta, hasta cierto punto, como una persona. Podría ocurrir que el software imitara, al asistirnos, el comportamiento de una persona célebre, o a un personaje de cómics. Un agente que adquiere una personalidad proporciona una «interfaz de usuario social». Unas cuantas empresas, incluida Microsoft, están desarrollando agentes con capacidades de interfaz de usuario social. Este agente no remplazará el software de interfaz de usuario gráfica, sino que más bien lo complementará proporcionándonos un personaje que elegimos nosotros para que nos asista. El personaje desaparecerá cuando lleguemos a las partes del software que conozcamos muy bien. Pero si dudamos o pedimos ayuda, reaparecerá y ofrecerá asistencia. Llegaremos incluso a pensar en el agente como en un colaborador incluido en el software. El agente recordará qué es aquello para lo que servimos y qué hemos hecho en el pasado, y tratará de anticiparse a los problemas y de sugerir soluciones. Nos hará prestar atención a todo lo que sea inusual. Si trabajamos en algo durante unos cuantos minutos y luego decidimos desechar la corrección, el agente podría preguntarnos si estamos seguros de que deseamos abandonar el trabajo; parle del software actual hace esto ya. Pero si tuviéramos que trabajar durante dos horas y luego le diéramos una instrucción para borrar lo que hemos hecho, la interfaz social reconocería que esto es inusual y que posiblemente constituirá un serio error por nuestra parte.
El agente diría «has trabajado en esto durante dos horas. ¿Estás verdaderamente seguro de que quieres borrarlo?».
Algunas personas, cuando oyen hablar del softer software y de la interfaz social piensan en un hormiguero de computadoras humanizadas.
Pero creo que incluso les llegará a gustar cuando lo conozcan. Los humanos tendemos a darle a lodo un carácter antropomórfico. Los dibujos animados se benefician de esta tendencia. El Rey León no es una representación realista de los animales de la jungla ni trata de serlo.
Sabemos muy bien que un cachorro de león real no tiene las características humanas que los animadores de Disney atribuyen a Simba, pero cuando vemos la película nos parece perfectamente natural la ficción de que Simba sea como un ser humano. Cuando un coche se nos avería o una computadora deja de funcionar nos ponemos a gritarles o a maldecirles, o incluso les preguntamos por qué nos han defraudado. Es cierto que lo sabemos, por supuesto, pero aun así tendemos a tratar a los objetos inanimados como si estuvieran vivos y tuviesen voluntad. Investigadores de universidades y de empresas de software están explorando los modos como los humanos utilizan estas tendencias para hacer más eficaces las interfaces informáticas. Los estudios han puesto de manifiesto que las reacciones de los usuarios difieren según la voz del agente sea masculina o femenina. La gente tratará a los agentes mecánicos que tengan personalidad con un sorprendente grado de deferencia. Recientemente trabajamos en un proyecto en e! que pedimos a los usuarios que clasificasen sus experiencias con una computadora. Cuando les pedíamos que hiciesen una evaluación del rendimiento de la computadora con la que había trabajado, las respuestas tendían a ser positivas.
Pero cuando pedíamos a las mismas personas que evaluaran las experiencias con una segunda computadora, la gente era significativamente más crítica.
Su negativa a criticar al primer equipo «en su cara" sugería que no deseaban herir sus sentimientos aunque supieran perfectamente que se trataba sólo de una máquina. Puede que las interfaces sociales no sean aptas para lodos los usuarios o para todas las situaciones, pero creo que veremos una gran cantidad de ellas en el futuro porque "humanizan» las computadoras.
Los agentes necesitarán «saber» sobre nosotros para poder ayudarnos. Con tanta información sobre nosotros y nuestras preferencias almacenadas en la red. Serán esenciales fuertes medidas que garanticen la intimidad y la seguridad. Afortunadamente, la tecnología hace posible conseguir fuertes medidas de seguridad. De hecho, la tecnología que trata de salvaguardar el ámbito privado es tan potente que pone nerviosos a muchos gobiernos.
Desde hace tiempo, los gobiernos han comprendido bastante bien desde hace tiempo la importancia de mantener privada la información por razones tanto económicas como militares. La necesidad de proteger los mensajes personales, comerciales, militares o diplomáticos (o de interceptarlos) ha atraído ha inteligencias poderosas a lo largo de las generaciones.
Charles Babhap, que hizo avances cruciales en el arte de la violación de los códigos a mediados de 1800, escribió, «El descifrado es en mi opinión una de las artes más fascinantes, y temo que he perdido con ella más tiempo del que si merece». Es muy satisfactorio desvelar un mensaje codificado, Descubrí esto siendo niño cuando, al igual que los niños de todas partes, un grupo de nosotros jugaba con cifrados sencillos.
Podíamos codificar mensajes sustituyendo una letra del alfabeto por otra. Si un amigo me enviaban mensaje cifrado que comenzaba por «ULFW NZXX». Podría ser muy fácil adivinar que representaba «DEAR BILL» y que la U significaba la D y la L la E. Con estas siete letras no era difícil desvelar el resto del mensaje cifrado, muy rápidamente.
Las guerras se han ganado o perdido porque los gobiernos más pode rosos de la tierra no tenían la capacidad criptográfica que un adolescente actual, interesado en el tema, tiene con una computadora personal. Pronto cualquier chico con edad suficiente como para utilizar una computada será capaz de transmitir mensajes cifrados que ningún gobierno de la tierra podrá descifrar con facilidad. Esta es una de las implicaciones profundas de la ampliación del fantástico poder de la computadora.
Los mensajes cifrados se están manifestando como un elemento clave en las comunicaciones por la red y por buenas razones. Sin transacciones seguras, incluyendo las transacciones financieras, es difícil imaginar que alguna red interactiva se convierta en un mercado seguro.
Cuando enviemos un mensaje en la autopista de la información, ni «firmado» por nuestra computadora u otro dispositivo de información con una firma digital que sólo será capaz de reconocer usted y será puesta en clave de manera que sólo pueda descifrarla el receptor deseado. Enviamos un mensaje que puede ser información de cualquier clase, incluye vídeo o dinero digital. El receptor verá que el mensaje es nuestro, que se envió en el momento indicado, que no se ha forzado lo más mínimo) los demás no pueden descrifarlo.
El mecanismo que hará esto posible se basa en las funciones irreversibles y en la codificación de clave pública, Voy a ocuparme sólo muy ligeramente de estos conceptos avanzados. Tengamos presente que, con independencia de lo complicado que sea técnicamente e) sistema de seguridad, será extremadamente fácil de usar por usted. Le dirá con precisión que dispositivo de información desea utilizar y parecerá que lodo se produce sin esfuerzo y de una manera segura.
Para la codificación necesitamos de las funciones irreversibles, una función irreversible es algo que es mucho más fácil de hacer que de deshacer (romper un cristal es una función irreversible). Pero la clase de función irreversible que sirve en la criptografía es aquella que resulta fácil de deshacer si conocemos una pieza de información extra y que es muy difícil de deshacer si no disponemos de esa información. En matemáticas hay un cieno numero de tales funciones. Una de ellas utiliza los números primos. Todos los niños aprenden en la escuela lo que son los números primos. Un número primo no puede ser dividido nunca excepto por el uno y por él mismo. Entre los primeros doce números, los primos son 2, 3, 5, 7 y 11. Los números 4, 6, K y 10 no son primos porque son todos divisibles p0r dos. El número 9 no es primo porque es divisible por 3. El número de números primos es infinito y no hay ninguna regla para ellos, excepto que son primos. Cuando multiplicamos los números primos entre si, obtenemos un numero que sólo es divisible por ellos dos. Por ejemplo, 35 sólo es divisible por 5 y por 7. La búsqueda de números primos se llama descomposición factorial. SÍ descomponemos factorialmente el 35 obtenemos el 5 y el 7.
Resulta fácil multiplicar los números primos 11.927 y 20.903 y obtener el número 249.310,08]. Pero resulta más difícil hallar, a partir del producto 249.310.0S1, los dos números primos por los que es divisible.
Esta función irreversible que consiste en multiplicar números primos que son difíciles de descomponer factorialmente a partir del producto, es la base de un ingenioso y sofisticado sistema de codificación. Incluso las mas grandes computadoras les lleva mucho tiempo descomponer un producto verdaderamente grande en sus números primos constituyentes. Un sistema de comunicación basado en la descomposición factorial utiliza dos claves diferentes de descodificación: una para cifrar un mensaje y otra diferente pero relacionada para descifrarlo. Cuando se tiene sólo la clave del cifrado es fácil codificar el mensaje, pero decodificarlo en un periodo de tiempo practico es casi imposible. Descifrar un mensaje requiere una clave separada disponible sólo para el receptor pretendido del mensaje o más bien para la computadora receptora. La clave de codificación se basa en el producto de dos grandes números primos, mientras que la clave de descodificación se basa en los primos en sí mismos. Una computadora puede generar un nuevo par de claves únicas en un momento porque para ella es fácil generar dos números primos grandes y multiplicarlos entre sí. La clave de codificación creada así puede hacerse pública sin riesgo aparente, por la dificultad que tiene incluso otra computadora para obtener la clave de descodificación mediante descomposición factorial.
La aplicación práctica de esta función de codificación está en el centro de varios sistemas de seguridad de la red. Podemos pensar en las futuras versiones de Internet como en una red postal en la que lodo el mundo tiene un buzón que es imposible de forzar, con una cerradura imposible de abrir.
Cada buzón tiene una ranura que permite a cualquiera deslizar información dentro de él, pero sólo el propietario del buzón tiene la clave para sacar la información del mismo.
La computadora de cada uno de los usuarios o cualquier otro dispositivo de información utilizará los números primos para generar una clave cifrada que aparecerá en una lisia pública y una correspondiente clave para descifrarla que sólo conocerá el usuario. He aquí cómo funcionan en la práctica: yo quiero enviarle a usted una información. Mi sistema informático comprueba su clave pública y la utiliza para cifrar la información antes de enviársela. Nadie puede leer el mensaje aunque su clave sea de conocimiento público, porque su clave pública no contiene la información necesaria para descifrarla. Usted recibe el mensaje y su computadora lo descifra con una clave privada que corresponde con su clave pública.
Usted quiere contestar. Su computadora o su dispositivo de información ve cuál es mi clave pública y la utiliza para codificar su respuesta.
Nadie más puede leer el mensaje aunque se haya codificado con una clave totalmente pública. Sólo yo puedo leerlo, ya que tengo la clave privada para descifrarlo. Esto es muy práctico porque nadie tiene que ocuparse de las claves por adelantado.
¿Qué tan grandes tienen que ser los números primos y sus productos para dar lugar a una función irreversible eficaz?
El concepto de cifrado mediante clave pública lo inventaron Whilfield Diffie y Martin Hellman en 1977. Otro grupo de científicos informáticos.
Ron Rivest, Adi Shamir y Leonard Adelman, descubrieron pronto la noción de utilizar la descomposición factorial de los números primos como parte de lo que se conoce como el criptosistema RSA, acrónimo formado a partir de las iniciales de sus apellidos. Según sus previsiones, afirmaron que se tardaría millones de años en descomponer factorialmente un número de 130 dígitos que fuera producto de dos números primos, con independencia de la cantidad de potencia informática de que se dispusiera pan la solución. Para probarlo retaron a todo el mundo a que encontrase los dos factores del siguiente número de 129 dígitos, conocido por los especialistas como el 129RSA;