CRIPTOGRAFÍA

24
CRIPTOGRAFÍA La criptografía es la ciencia que estudia la transformación de un determinado mensaje en un código de forma tal que a partir de dicho código solo algunas personas sean capaces de recuperar el mensaje original. En general se utiliza para ello una palabra clave o 'password' con la cual se cifra el mensaje, el código resultante solamente puede ser descifrado por aquellos que conozcan el password. La criptografía es una actividad muy antigua: Ya en la época de los griegos se supone que existían métodos para codificar los mensajes que se enviaban a las tropas en regiones alejadas, sin embargo, el primer criptosistema del cual se tienen pruebas de su existencia fue utilizado en la época del imperio romano y se llamaba 'CAESAR' el sistema era utilizado por Julio Cesar para enviar mensajes cifrados a sus allegados mas cercanos, hablaremos del criptosistema 'CAESAR' muy pronto. Junto a la criptografía coexiste necesariamente otra disciplina: el criptoanálisis, mientras que los criptógrafos se encargan de desarrollar criptosistemas cada vez mas seguros y difíciles de descifrar los criptoanalistas tratan de 'romper' un criptosistema obteniendo el mensaje a partir del código cifrado. De estos dos bandos con objetivos diametralmente opuestos siempre se afirma que alguno de los bandos es el 'lado bueno' y el otro inevitablemente 'los chicos malos' estos roles se pueden intercambiar indefinidamente dependiendo de la situación y el contexto en el cual estudiemos el tema. En este texto desarrollaremos la teoría operativa y técnicas mas habituales tanto de los criptógrafos como de los criptoanalistas. Lamentablemente la criptografía y su ciencia paralela el criptoanálisis son disciplinas que experimentan marcados avances en épocas de guerra, allí es necesaria la comunicación de estrategias, planes tácticos e informes super secretos entre las distintas fuerzas de cada bando de forma tal que si el código es interceptado por un eventual enemigo este no pueda hacerse de la información que se envío. La criptografía experimenta su mayor

description

Criptografia

Transcript of CRIPTOGRAFÍA

Page 1: CRIPTOGRAFÍA

CRIPTOGRAFÍA

La criptografía es la ciencia que estudia la transformación de un determinado mensaje en un código de forma tal que a partir de dicho código solo algunas personas sean capaces de recuperar el mensaje original. En general se utiliza para ello una palabra clave o 'password' con la cual se cifra el mensaje, el código resultante solamente puede ser descifrado por aquellos que conozcan el password.

La criptografía es una actividad muy antigua: Ya en la época de los griegos se supone que existían métodos para codificar los mensajes que se enviaban a las tropas en regiones alejadas, sin embargo, el primer criptosistema del cual se tienen pruebas de su existencia fue utilizado en la época del imperio romano y se llamaba 'CAESAR' el sistema era utilizado por Julio Cesar para enviar mensajes cifrados a sus allegados mas cercanos, hablaremos del criptosistema 'CAESAR' muy pronto.

Junto a la criptografía coexiste necesariamente otra disciplina: el criptoanálisis, mientras que los criptógrafos se encargan de desarrollar criptosistemas cada vez mas seguros y difíciles de descifrar los criptoanalistas tratan de 'romper' un criptosistema obteniendo el mensaje a partir del código cifrado. De estos dos bandos con objetivos diametralmente opuestos siempre se afirma que alguno de los bandos es el 'lado bueno' y el otro inevitablemente 'los chicos malos' estos roles se pueden intercambiar indefinidamente dependiendo de la situación y el contexto en el cual estudiemos el tema. En este texto desarrollaremos la teoría operativa y técnicas mas habituales tanto de los criptógrafos como de los criptoanalistas.

Lamentablemente la criptografía y su ciencia paralela el criptoanálisis son disciplinas que experimentan marcados avances en épocas de guerra, allí es necesaria la comunicación de estrategias, planes tácticos e informes super secretos entre las distintas fuerzas de cada bando de forma tal que si el código es interceptado por un eventual enemigo este no pueda hacerse de la información que se envío. La criptografía experimenta su mayor avance durante el transcurso de la segunda guerra mundial en donde adquiere un protagonismo singular, allí, el criptosistema de la maquina alemana 'Enigma' es roto por los criptoanalistas de las fuerzas aliadas siendo éste un factor que contribuyo en gran medida a la victoria final de los aliados. En este caso los criptógrafos alemanes eran los 'malos' y los criptoanalistas aliados eran 'los buenos', pero si nosotros queremos enviar un mensaje secreto a alguien y el mismo resulta publicado en un diario vamos a pensar que los criptoanalistas son personas sumamente viles. Como vemos todo depende de la situación.

Afortunadamente la criptografía experimenta su segundo gran auge con la masificación de las comunicaciones digitales y el advenimiento de la era de las computadoras. Hoy en día suele ser necesario enviar y recibir mensajes a través de Internet de forma tal que el mensaje solo pueda ser entendido por alguna persona en particular, por ejemplo si enviamos nuestro numero de tarjeta de crédito queremos que lo obtenga solamente el vendedor y no algún criptoanalista pakistaní que pasaba por allí. En los últimos años la criptografía se ha convertido en una ciencia de

Page 2: CRIPTOGRAFÍA

enorme importancia y a la cual se le destina cada vez un tratamiento más serio y más científico de forma tal de lograr comunicaciones seguras. Como veremos esto no es una tarea para nada sencilla.

Conceptos de seguridad en computadoras digitales.

Uno de los puntos que siempre estuvo en discusión sobre el almacenamiento de información en computadoras digitales, fue la seguridad de los mismos frente a posibles miradas indiscretas, desde que la primera computadora hizo su aparición en alguna organización militar o gubernamental la necesidad de resguardar la información allí almacenada se hizo evidente.

Para proteger la información almacenada se suele recurrir a las denominadas técnicas de encriptación, la encriptación consiste básicamente en convertir un mensaje en otro de forma tal que el mensaje original solo pueda ser recuperado por un determinado grupo de personas que saben como "desencriptar" el mensaje codificado. El esquema básico de encriptación implica la utilización de un password para encriptar de forma tal que solo puedan desencriptar el mensaje aquellos que conocen el password utilizado, esto trae varios problemas como veremos mas adelante.

Con el advenimiento de Internet y la masificación absoluta de las comunicaciones la privacidad de los datos se ha vuelto un tema muy en boga en los últimos tiempos, originando todo tipo de problemas que involucran desde el mas simple e inocente usuario de internet hasta las mas altas organizaciones gubernamentales del planeta.

En el mundo de las computadoras la criptografía puede ser utilizada para varias cosas, algunas áreas importantes en donde se utiliza la criptografía son:

La encriptación de información 'critica' que debe ser almacenada en computadoras, actos gubernamentales, informaciones secretas, etc.

La encriptación de mensajes enviados a través de redes, redes locales, redes publicas e internet.

La certificación de identidad de quienes envían mensajes importantes a través de internet.

Protección de información 'delicada' que deba enviarse a través de internet como, por ejemplo, números de tarjetas de crédito.

Encriptación de comunicaciones telefónicas, radiales o televisivas que pueden ser interceptadas.

Encriptación de datos.

Page 3: CRIPTOGRAFÍA

Las técnicas de encriptación suelen dividir a los algoritmos en dos grupos: los algoritmos de clave privada y los algoritmo de clave publica. A los algoritmos de clave privada se los llama también algoritmos de encriptación simétricos mientras que los de clave pública suelen denominarse algoritmos antisimétricos.

ALGORITMOS DE CLAVE SIMÉTRICA

Los algoritmos de clave simétrica, también llamados de clave secreta o privada, son los algoritmos clásicos de encriptación en los cuales un mensaje es encriptado utilizando para ello una cierta clave sin la cual no puede recuperarse el mensaje original.

El esquema básico de los algoritmos de clave simétrica es:

MENSAJE + CLAVE = CÓDIGO (encriptación)

CÓDIGO + CLAVE = MENSAJE (desencriptación)

Esto se lleva a cabo sustituyendo porciones del mensaje original por porciones de mensaje encriptado usando la clave. La sustitución puede ser de varias formas:

Monoalfabética:

Cuando se encripta, cada caracter encriptado corresponde a un caracter del mensaje original y viceversa.

Page 4: CRIPTOGRAFÍA

Homofónica:

Cuando un caracter de texto original se encripta en varios caracteres del texto encriptado.

Poligráfica:

Cuando n caracteres del mensaje original generan n caracteres del mensaje encriptado.

Polialfabética:

Cuando n caracteres del texto original se encriptan en m caracteres del texto encriptado (m≠n) .

Cabe destacar que la sustitución poligráfica y la sustitución homofónica son casos particulares de la sustitución polialfabética.

Criptosistemas:

Definiremos a un criptosistema como un conjunto de tres elementos:

i. Un espacio de mensajes: PT que es la colección de todos los posibles mensajes pt que pretendemos enviar.

ii. Un espacio de claves K. Cada clave k determina un método de encriptación Ek y un método de desencriptado Dk. De forma tal que Ek(pt) = código y Dk(código)=pt.

iii. Un espacio de códigos: CT que es la colección de todos los posibles códigos ct.

Sistemas monoalfabéticos y polialfabéticos:

Un algoritmo de encriptación por clave privada es monoalfabético si cada ocurrencia de un mismo caracter en el mensaje original es reemplazada siempre por un mismo caracter en el código cifrado.

Un algoritmo de encriptación por clave privada es polialfabético si cada ocurrencia de un mismo caracter en el mensaje original es reemplazada por distintos caracteres en el código cifrado.

Desarrollaremos a continuación algunos de los criptosistemas de clave privada mas conocidos, desde los más básicos hasta los más complejos.

Modos de operación para encriptación de bloques.

Al utilizar algoritmos de clave privada de, por ejemplo 64 bits de longitud para encriptar textos de mas de 64 bits debe considerarse alguna técnica particular, el método mas simple consiste en dividir el bloque a comprimir en porciones de igual longitud que la clave y encriptar cada uno en forma independiente. Este método se conoce como Electronic Code Block (ECB) pero existen otras técnicas, los modos de operación standard ANSI/FIPS son:

Page 5: CRIPTOGRAFÍA

ECB: Electronic Code Block.

CBC: Cipher Block Chainning.

CFB: Cipher Feedback.

OFB: Output Feedback.

Sobre la forma en que trabaja cada método puede consultarse el standard ANSI/FIPS correspondiente.

Deficiencias de los algoritmos de clave privada:

Los algoritmos de clave privada pueden construirse tan eficientes como se desee utilizando passwords mas y mas largos, sin embargo por mas largo que sea el password estos algoritmos presentan una vulnerabilidad evidente: el password.

En un esquema de encriptación por clave privada todo aquel que conozca el password es capaz de desencriptar un mensaje, de aquí que a veces, es mas importante estudiar como proteger el password que como trabaja el algoritmo elegido. Además, muchas veces es necesario transmitir, o enviar el password a alguna persona por lo que será necesario a su vez encriptar el password ingresando en un loop infinito.

Muchas veces el password es tan vulnerable que los criptoanalistas no se molestan en descifrar el código interceptado sino que directamente intentan averiguar el password. Uno de los ejemplos mas habituales consiste en averiguar passwords que permiten el acceso a determinados sistemas: cuentas bancarias, computadoras, computadoras donde se guardan otros passwords, etc. A continuación mencionamos algunas de las técnicas mas utilizadas para 'robo de passwords'.

Shoulder Surfing.

Esta técnica es la más básica y consiste en merodear a aquellas personas que conocen el password que se quiere averiguar intentando ver si se consigue visualizar el momento en que el password es tipeado en un teclado o escrito en algún papel, variantes más modernas de esta técnica incluyen programas residentes que monitorean las teclas que se oprimen en el teclado, cámaras que registran lo que se tipea desde un punto elevado, etc. La forma mas elemental es como su nombre lo indica observar por encima del hombro de la persona que tipea el password, parece tonto pero se utiliza muchísimo.

Caballos de Troya.

Los caballos de Troya son programas que se diseñan con el fin específico de robar passwords. El programa es introducido en una computadora y lo que hace es simplemente cada vez que es ejecutado pedirle el password al usuario y si este lo tipea (grave error) guardarlo en un archivo. Luego lo único que hay que hacer es cada tanto consultar el archivo y ver que es lo que nuestro caballo de Troya ha 'pescado'. Una de las reglas de seguridad mas importantes que establecen los

Page 6: CRIPTOGRAFÍA

administradores de sistemas es adiestrar a los usuarios para que JAMAS ingresen su password una vez que se han logoneado en el sistema, además suele ser recomendable resetear la terminal antes de logonearse al sistema por si el usuario anterior dejo andando un caballo de Troya que imita al programa de login.

Ingeniería Social.

Esta disciplina puede parecer ridícula pero es la más exitosa en cuanto a robo de passwords. La Ingeniería Social consiste en conseguir que una persona, simplemente, le diga su password a otra. Las técnicas son de lo mas variadas: llamados telefónicos pidiendo el password pues se cayó un disco y hay que backupear la información de cada usuario, pedidos de password para 'verificaciones rutinarias', encuestas a ver quien tiene el password mas seguro (!!!!), etc, etc...

Aunque parezca mentira hay personas realmente especializadas en este tipo de ataques.

Page 7: CRIPTOGRAFÍA

La importancia del mensaje.

Contrariamente a lo que se cree habitualmente, la fuerza de un criptosistema de clave privada no reside únicamente en el algoritmo utilizado, o en la longitud de la clave sino que depende, también, del mensaje a enviar. Hay mensajes que por sus características propias serán mas fáciles de descifrar que otros, dado un mismo criptosistema, por lo tanto a la hora de enviar un texto ultra-secreto debemos tener en cuenta varios factores relacionados con el mensaje en sí.

Recomendaciones a la hora de escribir un texto altamente critico que deba ser encriptado por clave privada:

No utilizar espacios en blanco, escribir todo el texto de corrido. Cualquier caracter de alta probabilidad de ocurrencia, como por ejemplo los espacios en blanco, son un punto débil en el mensaje aun cuando se utilice un esquema polialfabético.

Si es muy necesario separar las palabras del mensaje a enviar, utilizar cualquier caracter elegido arbitrariamente en reemplazo del espacio en blanco.

Escribir con mucho cuidado el texto intentando que la distribución de cada caracter utilizado en el texto sea lo mas pareja posible, esto es de gran importancia, evitar el uso de uno o mas caracteres en forma predominante, usar palabras sinónimos, o incluir faltas de ortografía y sintaxis si es necesario. Escribir por ejemplo 'salujdhos pedfdro' que puede ser entendido fácilmente cuando se descifra el código pero podría llegar a complicar sensiblemente el criptoanálisis.

Empezar algunas palabras con caracteres que no tengan sentido alguno como por ejemplo la llave que cierra '}' o un punto y coma ';', esto puede desalentar varios intentos criptoanalíticos correctamente orientados.

Escribir algunas palabras al revés o con todas las vocales al final y las consonantes al principio, una especie de doble codificación.

Por ejemplo: 'sldsauo qrdueio pdreo' quiere decir 'saludos querido pedro'.

Los criptoanalistas que consideren como factor cierto la alternancia de vocales y consonantes en un texto tendrán problemas para descifrar nuestro mensaje. En algunas palabras se pueden poner todas las vocales al final y en otras todas al principio.

Jamas utilizar dos veces la misma palabra en un texto, aun en sistemas polialfabéticos esto constituye una debilidad.

Escribir todos los mensajes de la forma mas breve que sea posible, evitar el uso de artículos salvo que sean estrictamente necesarios para comprender el texto. Las chances de éxito de un buen criptoanálisis aumentan vertiginosamente a medida que se consigue mas información sobre el mensaje a descifrar.

Page 8: CRIPTOGRAFÍA

COMPUTACIÓN CUÁNTICA

Introducción

La computación cuántica surge de la convergencia de dos las teorías tan importantes como la cuántica y la computación. Consiste, básicamente, en reemplazar a los bits por los qubits. Lo cual trae ventaja puesto que un bit solo puede tomar dos valores y un qubit toma dos valores y además los toma a la vez. Por ello, existen mayores facilidades al momento de realizar operaciones al mismo tiempo. Con respecto al espacio de estado, cuando utilizamos los qubits estos espacios crecen exponencialmente, pero cuando utilizamos los bits, crece, de forma lineal.

La aplicabilidad de la computación cuántica depende de la posibilidad de desarrollar una computadora cuántica. Un ejemplo del inmenso poder de las computadoras cuánticas es el algoritmo cuántico para determinar si un número es primo. Una computadora actual tardaría miles de millones de años (dependiendo de cuán grande sea el número) en ejecutar tal algoritmo; a diferencia de una computadora cuántica a la que le tomaría tan sólo unos cuantos segundos el completar la tarea.

Origen

Con la necesidad de llevar la computación tradicional a un territorio atómico, nace la Computación Cuántica. Este hecho significa que la materia deja de obedecer a la física clásica, para ser dominada por un conjunto de leyes que describen el comportamiento de las partículas atómicas y subatómicas, la Mecánica Cuántica. La cual se encarga de describir aquellos fenómenos que, al parecer, intentan desafiar al sentido común. Dejando que el funcionamiento de la computación tradicional y el de la electrónica dejen de tener sentido.

Los estudios de la Computación Cuántica radicaron, por un lado, en 1981, por parte de Paul Benioff, surge la computadora cuántica de Benioff que es una idea que expone que la cinta de la máquina de Turing podría ser reemplazada por una serie de sistemas cuánticos. Es decir, que en lugar de trabajar con voltajes eléctricos sea a nivel de cuánto. Las ideas esenciales, que surgen después, de la computación cuántica surgieron de la mente de Paul.

Así también, con las interrogantes planteadas por Richard Freynman, a finales de los años sesenta sobre computabilidad se realizarían algunos cálculos más rápidamente en un ordenador cuántico, quién al trabajar en electrodinámica cuántica recibió el Premio Nobel de Física en 1965. Así también se dedicó al desarrollo de la nanotecnología, cabe señalar que en su juventud participó en el desarrollo de la bomba atómica en el proyecto Manhattan. En los años 1981 a 1982 realizó una charla que llevaba de título Simulating Physics With Computers y proponía el uso de fenómenos

Page 9: CRIPTOGRAFÍA

cuánticos para realizar cálculos computacionales y exponía que dada su naturaleza algunos cálculos de gran complejidad se realizarían más rápidamente en un ordenador cuántico.

En 1985 David Deutsh, físico israelí Universidad de Oxford, Inglaterra, describió el primer computador cuántico universal, es decir, capaz de simular cualquier otro computador cuántico (principio de Church-Turing ampliado). De este modo surgió la idea de que un computador cuántico podría ejecutar diferentes algoritmos cuánticos. Durante los Años 90 la teoría empezó a plasmarse en la práctica: aparecieron los primeros algoritmos cuánticos, las primeras aplicaciones cuánticas y las primeras máquinas capaces de realizar cálculos cuánticos.

En 1993, Dan Simon, desde el departamento de investigación de Microsoft, surgió un problema teórico que demostraba la ventaja práctica que tendría un computador cuántico frente a uno tradicional. Comparó el modelo de probabilidad clásica con el modelo cuántico y sus ideas sirvieron como base para el desarrollo de algunos algoritmos futuros (como el de Shor). Charles Benett, trabajador del centro de investigación de IBM en Nueva York, descubrió el teletransporte cuántico y que abrió una nueva vía de investigación hacia el desarrollo de comunicaciones cuánticas.

En los años 1994 y 1995, Peter Shor, científico americano de AT&T Bell Laboratories, definió el algoritmo que lleva su nombre y que permite calcular los factores primos de números a una velocidad mucho mayor que en cualquier computador tradicional. Además su algoritmo permitiría romper muchos de los sistemas de criptografía utilizados actualmente.

Durante el año 1996, Lov Grover inventó el algoritmo de búsqueda de datos que lleva su nombre. Aunque la aceleración conseguida no es tan drástica como en los cálculos factoriales o en simulaciones físicas, su rango de aplicaciones es mucho mayor. Al igual que el resto de algoritmos cuánticos, se trata de un algoritmo probabilístico con un alto índice de acierto.

Concepto

Esta computación se basa en las interacciones a nivel atómico y tiene como elemento el bit cuántico. Un bit sólo puede tomar dos valores: 0 o 1 en la computación tradicional, en cambio, en la computación cuántica, intervienen las leyes de la mecánica cuántica, y la partícula puede estar en superposición coherente: puede ser 0, 1 y puede ser un 0 y un 1 a la vez. Eso permite que se puedan realizar varias operaciones al mismo tiempo, según el número de qubits (quantum bit).

El número de bits da a conocer la cantidad de bits que pueden estar superpuestos. Los bits habituales en el caso de tener una lista de tres bits, había ocho únicos valores posibles. Por el contrario, cuando tenemos una lista de tres qubits, la partícula admite más de ocho valores, pueden ser iguales o diferente, a la vez, estos se debe a la superposición cuántica. Entonces, los qubits no se pueden medir como los bits, en el sentido descrito por el postulado de la medida de la mecánica cuántica.

Por lo descrito en el párrafo anterior, se ve que la cantidad de operaciones sigue un modelo exponencial con respecto al número de qubits. En pocas palabras, un bit almacena dos estados, un

Page 10: CRIPTOGRAFÍA

qubit puede almacenar también esos dos estados pero, también puede almacenar una combinación de ambos. Por ejemplo, un computador cuántico de 30 qubits equivaldría a un procesador clásico de 10 teraflops, es decir, billones de operaciones en punto flotantes por segundo. Cuando, actualmente, las computadoras trabajan en el orden de gigaflops, es decir, miles de millones de operaciones por segundo.

El bit cuántico (quantum bit)

Un qubit (en inglés quantum bit) es un espacio de estado cuántico complejo bidimensional. Es la mínima unidad de la información cuántica. Tiene dos estados básico, estos se llaman, 0> y 1> (se pronuncian ket cero y ket uno). Cuando hablamos del estado puro propiamente del qubit, hacemos referencia a la superposición cuántica de los dos estados. Esto es significativamente distinto al estado de un bit clásico, que puede asumir solamente un valor 0 ó 1.

La máxima diferencia que encontramos entre un qubit y un bit no se debe a la naturaleza continua de sus estados, sino que múltiples qubits pueden realizar un entrelazamiento o enredo cuántico (En inglés, entangement) que permite expresar superposiciones de diferente cadenas binarias (01010 y 11111, por ejemplo) de forma simultánea. También es posible un sistema de tres estados, llamado cutrit, cuyos estados se denominan, convencionalmente, |0>, |1> y |2>. Un qubit no puede ser clonado, no puede ser copiado, y no puede ser enviado de un lugar a otro.

Ventajas del uso de la computación cuántica

Esta es la ventaja que tiene la computación cuántica respecto a la clásica: La lógica de un bit es 0 ó 1, mientras que un qubit entraña el concepto de ambos a la vez. Si tomamos por ejemplo dos bits, sus estados posibles son cuatro: 00, 01, 10, 11 (*). Son necesarios cuatro pares de bits para representar la misma información que un solo par de qubits con comportamiento ambiguo. Si bien hay problemas que son irresolubles por naturaleza. A pesar de ello, a computación cuántica brinda ventajas enormes, como cuando nos referimos a la mecánica cuántica, puesto que el espacio de estado aumenta exponencialmente con el número de qubits. El bit, lo hace linealmente.

Las ventajas que aporta la computación cuántica son la aplicación masiva de operaciones en paralelo y la capacidad de aportar nuevas soluciones a problemas que no son abarcables por la computación cuántica debido a su elevado coste computacional. Sin embargo, y a pesar de las ventajas expuestas anteriormente, un ordenador cuántico solo será eficiente para un rango de tareas determinado. Esto implica que habrá ciertas funciones en las que no será una ventaja utilizar la tecnología cuántica frente a la computación clásica actual.

Page 11: CRIPTOGRAFÍA

(*)

Computadora cuántica

Una definición acerca de las computadoras cuánticas, ampliamente aceptada por los investigadores, la concibe como un sistema de circuitos cuánticos, actuando en un espacio de estados. El circuito es una secuencia de transformaciones unitarias seguido por una medición. Esas transformaciones, son llamadas compuertas cuánticas, y son controladas por una computadora clásica. Así esto permite la superposición simultánea de estados básicos (correspondientes a estados clásicos "0" y "1").

Hardware cuántico

Requerimientos de implementación:Aún no se ha resuelto el problema de qué hardware sería el ideal para la computación cuántica. Se ha definido una serie de condiciones que debe cumplir, conocida como la lista de Di Vinzenzo, y actualmente hay varios candidatos a qubits.

Requisitos a cumplir

El sistema ha de poder inicializarse, esto es, llevarse a un estado de partida conocido y controlado.

Ha de ser posible hacer manipulaciones a los qubits de forma controlada, con un conjunto de operaciones que forme un conjunto niversal de puertas lógicas (para poder reproducir a cualquier otra puerta lógica posible).

El sistema ha de mantener su coherencia cuántica a lo largo del experimento.

Ha de poder leerse el estado final del sistema, tras el cálculo.

Page 12: CRIPTOGRAFÍA

El sistema ha de ser escalable: tiene que haber una forma definida de aumentar el número de qubits, para tratar con problemas de mayor coste computacional.

Candidatos a qubits

Espines nucleares de moléculas en disolución, en un aparato de RMN.

Flujo eléctrico en SQUIDs.

Iones suspendidos en vacío.

Puntos cuánticos en superficies sólidas.

Imanes moleculares en micro-SQUIDs.

Software cuántico

Dado que el tratamiento de la información cuántica es notablemente distinto del de la clásica, se necesitaran algunas herramientas para construir los programas cuánticos.

Cosas básicas en el software cuántico

Un conjunto apropiado de puertas, algoritmos que aprovechen el comportamiento cuántico y disponer de métodos apropiados para controlar los posibles errores.

Una forma de obtener puertas cuánticas es la cuantización de las puertas clásicas, que pasa por reinterpretar los bits como qubits. Se puede demostrar que el conjunto de puertas cuánticas que afectan a un sólo qubit, conjuntamente con las puertas llamadas control-not (que afectan a dos qubits), forman un conjunto universal con las que se puede construir cualquier programa cuántico.

A pesar del esfuerzo que se ha dedicado a la obtención de algoritmos que aprovechen el comportamiento cuántico, en la actualidad, su número es reducido. Ya se ha mencionado que aunque mediante superposiciones apropiadas, es posible manejar un número exponencial de estados, eso no supone que esta información esté disponible. Para acceder a esa información debemos medir sobre el estado colapsándolo, y la información se pierde casi en su totalidad. Para aprovechar los aspectos cuánticos, debemos combinar la posibilidad del paralelismo cuántico con la interferencia.

Quizás es éste uno de los mayores problemas a la hora de construir un ordenador. Estos errores provienen de la inexorable interacción del ordenador con su entorno, proceso denominado decoherencia. Se pensó que no podían existir métodos para el control de errores cuánticos, pero se ha mostrado cómo es posible contener los errores mediante códigos cuánticos correctores de errores. Estos códigos, detectan y corrigen estos errores, usando sofisticadas técnicas cuánticas. En resumen, la ventaja en la potencia de estas

Page 13: CRIPTOGRAFÍA

máquinas proviene del paralelismo masivo (exponencial) debido a la superposición de estados en los qubit. Si estos ordenadores fueran factibles en la práctica, permitirían atacar problemas que en los ordenadores clásicos implicarían tiempos astronómicos. Aparte de las aplicaciones encaminadas a la ciencia básica, estos ordenadores podrían usarse en la criptografía, criptoanálisis, búsquedas en inmensas bases de datos, simulaciones meteorológicas, etc. Queda por saber si el aislamiento de los sistemas permitirá escapar al límite impuesto por el decaimiento y la decoherencia que destruyen la mezcla cuántica de estados. Otro de los problemas principales es la escalabilidad, especialmente teniendo en cuenta el considerable incremento en qubits necesarios para cualquier cálculo que implica la corrección de errores. Para ninguno de los sistemas actualmente propuestos es trivial un diseño capaz de manejar un número lo bastante alto de qubits para resolver problemas computacionalmente interesantes hoy en día.

Aplicaciones

Factorización de enteros grandes

Otro gran uso, es utilizarlo para la descomposición de número grandes en factores primos. Esta manera de solucionarlo es bastante particular, resulta de gran interés, y la computación cuántica tiene una solución conocida en su campo. Un número primo es aquel que se puede dividir entre el mismo número y la unidad, al parecer el hecho de encontrar números primos parece sencillo, sin embargo, no lo es, cuando estos son enormes.

No existen algoritmos, sumamente, sencillos que nos generen números primos, tampoco para comprobar si es que un número ingresado es primo, ni factorizar descomponiendo a un número. Las computadoras clásicas lo resuelven mediante el método e ensayo y error. Y la dificultad de resolverlos se acrecienta cuando el valor de estos número es mayor.

Es por ello, que debe ser fácil el imaginar el entusiasmo de los miembros de la comunidad científica cuando, en 1986, Peter W. Shor demostró que se podría descomponer un número primo de forma eficiente utilizando la computadora cuántica.

Entonces, la factorización de números, primos o compuestos, más allá de ser un problema importante para la ciencia computacional, es a la vez la clave de la criptografía moderna. Un ejemplo de esto, el método PGP (Pretty Good Privacy, “Muy Buena Privacidad”). El cual depende de poder generar números primos grandes, es decir que cada usuario genera su propio par de números. Un número (llamado la llave derecha o la llave pública) se distribuye en una forma abierta a todos.

El segundo (la llave izquierda o la llave privada) lo guarda en secreto cada usuario. Si, digamos, Alicia quiere mandar un mensaje a Beto, ella “cierra” su mensaje con la llave pública de Beto. El mensaje queda revuelto o encriptado. Una vez cerrado con la llave derecha el mensaje sólo puede ser abierto (ordenado y descifrado) con la llave izquierda, y sólo Beto la tiene en secreto. Sólo él puede abrir el mensaje y leerlo, si tiene instalado desde luego el paquete de computación

Page 14: CRIPTOGRAFÍA

adecuado llamado PGP que se ofrece gratuitamente en la red. Si alguien más quiere saber lo que está escrito, va a tener que generar números primos grandes y comprobar cuál de ellos sirve.

Si este problema lo resolvería con los métodos de factorización de las computadoras clásicas, el proceso tardaría un equivalente a la antigüedad que tiene el universo, esto es miles de millones de años. Por eso, es comprensible que luego del descubrimiento de Shor, el avance de la computación cuántica haya recibido un fuerte apoyo económico. Más aún, por parte de las agencias militares.

Teleportación cuántica

Así también, la Computación Cuántica está involucrada en la Teleportación Cuántica. En 1993, Bennet desarrolló el método para teleportar un estado cuántico desconocido. Para esto se valieron de un par de Bell, también llamado estado EPR debido a la paradoja planteada por Einstein, Podolsky y Rosen, la cual básicamente postula que si tengo un par entangled, por más lejano que este un qubit del otro, al efectuar una medición sobre uno de ellos, el otro qubit también colapsará. La teleportación utiliza la computación cuántica, y nos permite recuperar la información guardada en un qubit de estado desconocido en cualquier lugar alejado del qubit original, transportando toda la información que contenía dicho qubit hasta otro qubit.

Codificación superdensa

La computación cuántica está relacionada con la Codificación superdensa. Consiste en aprovechar el entrelazamiento como fuente de información. Si es que vemos a primera vista, lo normal sería que utilizara los qubits como si se tratara de bits habituales o comunes, enviando la información a los receptores por medio de las múltiples combinaciones de ellos.

El algoritmo de búsqueda de Grover

La potencia mecánica se desenvuelve en un sinfín de aspectos dentro de la resolución de problemas computacionalmente son pesados. Las aplicaciones que realiza es la búsqueda de elementos en listas. Hay diferentes maneras de mejorar la eficacia de las búsquedas, pero cada una de esas alternativas nace de situaciones particulares.

Almacenar una lista de contraseñas en el sistema es un ejemplo relativo de seguridad informática. Una lista de contraseñas habitualmente se almacena comprimida en algún archivo del sistema, de tal forma que cuando el usuario ingrese su contraseña, esta se comprima de nuevo y se compara con la versión que previamente estaba comprimida en la lista. Descomprimir una contraseña que fue codificada por sistema criptográfico de clave pública es ahora complicada cuando la clave es suficientemente compleja.

Inteligencia artificial

Page 15: CRIPTOGRAFÍA

Según Neven, científico que trabaja en computación cuántica, la visión artificial, la robótica y neurociencia computacional, la posible clave para resolver los grandes retos que presenta el aprendizaje artificial es la computación cuántica. Es decir, hay mejorar los modelos en lo que se apoya la inteligencia de estas máquinas y, de esa forma, obtener mejores predicciones, además, mejores resultados.

Para Google, es probable que la computación cuántica marque un antes y un después en cuanto al reconocimiento de voz y disparar las posibilidades de su buscador pero, en general, este nuevo ejemplar puede aportar mucho en otros campos como la investigación médica o los sistemas de radar; una tecnología de la que sin duda hay mucho que hablar.

Avances actuales de la computación cuántica

En el ejército

Los científicos estadounidenses proponen utilizar la tecnología cuántica junto con los fotones en radares para interceptar a los aviones. Según explica el investigador Mehul Malik, “para introducirse en nuestro sistema, el objeto tendrá que perturbar el delicado estado de los fotones lo que provocará errores y revelará esta actividad”. Si el enemigo intenta interceptar los fotones y devolverlos de manera que den una imagen alterada del objeto, el radar cuántico descubrirá de inmediato que el fotón ha sido modificado.

Por parte de los especialistas, ya se han probado el sistema rebotando fotones contra un objeto en forma de avión y midiendo el error de la polarización de la señal de retorno. Una de las mejores ventajas que se alcanza rescatar de este método, según los investigadores, es que es fácil empezar a aplicarlo porque ya se usa tecnología similar en muchos laboratorios por todo el mundo.

Computador cuántico dentro de un diamante

El campo experimental de la computación cuántica se ha convertido en un terreno fértil para la tecnología abstracta pero fascinante, y un reciente documento de Natureno es la excepción. Como parte de la investigación sobre la reducción de la decoherencia, o interferencia externa que afecta a los bits cuánticos o qubits, un grupo de científicos ha construido un ordenador cuántico alojado dentro de un diamante. En concreto, un par de qubits fueron alojados en las imperfecciones del diamante.

Como la mayoría de los ordenadores cuánticos, este último proyecto es más una prueba de concepto que otra cosa. A pesar de que son una gran promesa para la informática, los ordenadores también son difíciles de escalar, y deben ser capaces de lidiar con qubits que duran sólo una fracción de segundo. Esta investigación sobre la decoherencia podría ayudar a hacer posible que un gran número de qubits trabajen juntos sin ser afectados por el calor u otros factores.

Page 16: CRIPTOGRAFÍA

Crean chip de silicio que genera sus propios fotones

Los investigadores construyeron un chip capaz de exponerse al ataque directo de un rayo láser. A continuación, la luz cuántica producida se combina usando un divisor de haz integrado también en el dispositivo. Por ello, el equipo sugiere que su invención -básicamente, un sistema cuántico integrado en un chip-, hace innecesarios los fotones externos, creando el camino hacia un ordenador cuántico completo.

“Nos sorprendió lo bien que las fuentes integradas actuaron juntas”, admite Joshua Silverstone, autor principal del artículo. Según explica el investigador, estos componentes producen fotones idénticos de alta calidad de una manera reproducible, lo que confirma que se podría fabricar un chip de silicio con cientos de fuentes similares dentro trabajando juntas. “Esto podría conducir a una computadora cuántica óptica capaz de realizar cálculos enormemente complejos”, subraya Silverstone.

De momento, los detectores de fotones únicos, las fuentes y los circuitos se han desarrollado por separado en el silicio, pero ponerlos todos juntos e integrarlos en un chip ha sido un “enorme desafío”, en palabras del líder del grupo. Destaca también que a pesar de tratarse del circuito cuántico fotónico más complejo funcionalmente hasta la fecha, el dispositivo fue fabricado por Toshiba usando exactamente las mismas técnicas utilizadas para crear dispositivos electrónicos convencionales. Sin embargo, el resultado permite generar y manipular el entrelazamiento cuántico dentro de un solo microchip de tamaño milimétrico.

Conclusiones

Los ordenadores cuánticos se basan en el uso de los qubits (bits cuánticos) en lugar de bits, y da lugar a nuevas puertas lógicas que hacen posibles nuevos algoritmos. Poseen una capacidad de cálculo muy superior a los computadores actuales gracias al paralelismo masivo (exponencial) debido a la superposición de estados en los qubit.

En el campo de la criptografía proponen un nuevo enfoque: control absoluto de seguridad a nivel de comunicación y su capacidad para realizar operaciones de factorización (descomposición en números primos), que representa una amenaza para las comunicaciones encriptadas que emplean muchas instituciones en sus sistemas de seguridad, y que se basan a su vez en la dificultad de hacer códigos. Y decir que la computación cuántica es un campo en el que aún queda mucho por descubrir.

Bibliografía

Rubo, Yuri y Tagüeña, Julia. 2014.Computación Cuántica.Extraído de: http://www.comoves.unam.mx/numeros/articulo/67/computacion-cuantica

Pérez, Patricia. 2014. Avance en computación cuántica: Crean un chip de silicio que genera sus propios fotones.

Page 17: CRIPTOGRAFÍA

Extraído de: http://www.tendencias21.net/Avance-en-computacion-cuantica-Crean-un-chip-de-silicio-que-genera-sus-propios-fotones_a30445.html

Polli, Jose. 2012. Computación Cuántica.

Extraído de: http://www.monografias.com/trabajos60/computacion-cuantica/computacion-cuantica2.shtml

Jara Goldenberg, Hugo. 2009. Computación Cuántica: ¿un nuevo paradigma?

Extraído de: http://tauzero.org/2009/06/computacion-cuantica-un-nuevo-paradigma/#more-3342

Fundación Wikipedia. 2008. Computadora Cuántica de Benioff.

Extraído de: http://es.wikipedia.org/wiki/Computadora_cu%C3%A1ntica_de Benioff

Sánchez Ángel. 2014. ¿Qué es la computación Cuántica?

Extraído de: http://computadoras.about.com/od/tipos-de-pc/fl/iquestQueacute-es-la-computacioacuten-cuaacutentica.htm

Hecht, Juan. 2005. Fundamentos de Computación Cuántica para su Aplicación en Teoría de la Información Cuántica y Criptografía Cuántica versión 2.

Extraído de: http://www.criptored.upm.es/guiateoria/gt_m471a.htm

Nasser Darwish Miranda. 2014. Computación Cuántica. Extraído de: http://www.fceia.unr.edu.ar/~diazcaro/QC/Tutorials/Computacion%20Cuantica.pdf

Velasco. 2013. Google y NASA abrirán un laboratorio de computación cuántica

Extraído de: http://alt1040.com/2013/05/inteligencia-artificial-basada-en-computacion-cuantica

Luque, Muricio. 2009. La codificación fotónica superdensa puede ser aún más densa.

Extraído de: http://www.solociencia.com/fisica/08051204.htm

Avila Girón, Julissa. 2013. Nuevo avance en la Computación Cuántica.

Extraído de: http://computacioncuanticaunah.blogspot.com/p/avances.html

Borgna Christel. 2012. Construyen computadora cuántica al interior de un diamante.Extraído de: http://www.fayerwayer.com/2012/04/construyen-computadora-cuantica-al-interior-de-un-diamante/