martes, 27 de agosto de 2013

Computación Cuantica

COMPUTACIÓN CUÁNTICA

Elementos e Historia

Origen

La computación cuántica tiene su origen en las limitaciones de la computación actual.
La computación actual ha ido mejorando progresivamente gracias a que se podían construir chips cada vez más pequeños. Estos chips se podían reducir bastante, pero no de forma ilimitada ya que cuando son inferiores a los 10 nanómetros dejan de funcionar. Por tanto, la computación actual es limitada y llegaría un momento en que no mejoraría.
Cuando se descubrió este problema, surgió una respuesta: un científico relacionó la computación con las leyes cuánticas y Eureka: surgió así la computación cuántica que permite que un qubit tenga 4 estados al mismo tiempo (puede ser 01, 00, 11, 10 al mismo tiempo) en vez de un solo estado. Esto aceleraría el ordenador exponecialmente. Por ejemplo, un ordenador de 16-qubits multiplicaría por 10 al mejor superordenador normal del mundo actual. Imagínese un ordenador de 1 gigaqubits (1 millón de qubits), realmente 

En la computación cuántica, a diferencia de la computación actual donde cada bit puede estar en un estado discreto y alternativo a la vez, la unidad fundamental de almacenamiento es el bit cuántico, donde cada bit cuántico puede tener múltiples estados simultáneamente en un instante determinado, así reduciendo el tiempo de ejecución de algunos algoritmos de miles de años a segundos.
La computación cuántica está basada en las interacciones del mundo atómico, y tiene elementos como el bit cuántico, las compuertas cuánticas, los estados confusos, la tele transportación cuántica, el paralelismo cuántico, y la criptografía cuántica. Su avance teórico ha sido muy exitoso, aún así, su realización depende de la futura implementación de una computadora cuántica, sin embargo ya se está desarrollando tecnología comercial basada en esta teoría.



ELEMENTOS BASICOS DE LA COMPUTACION CUANTICA


El bit cuántico "qubit"



Un qubit, es la unidad mínima de información cuántica y que puede tener cuatro estados a la vez. Se puede representar así como se muestra en la imagen.

Los qubits permitirían algoritmos (ordenes, e instrucciones y procesos) nuevos, de mayor calidad y muchísimo más rápidos.









Compuertas cuánticas

Las compuertas lógicas son operaciones unarias sobre qubits. La compuerta puede ser escrita como P(q )=½ 0ñ á 0½ + exp(i) + ½ 1ñ á 1½ , donde q = w t. Aquí algunas compuertas cuánticas elementales: 

  • I º ½ 0ñ á 0½ + ½ 1ñ á 1½ = identidad
  • X º ½ 0ñ á 1½ + ½ 1ñ á 0½ = NOT
  • Z º P(p )
  • Y º XZ
  • H º 
Donde I es la identidad, X es el análogo al clásico NOT, Z cambia el signo a la amplitud, y H es la transformación de Hadamard.
Esas compuertas forman uno de los más pequeños grupos de la computación cuántica. Todos excepto el CNOT operan en un simple qubit; la compuerta CNOT opera en dos qubits como la  "U controlada",½ 0ñ á 0½ Ä I +½ 1ñ á 1½ Ä U son operadores actuando sobre dos qubits, donde I es la operación de identidad sobre un qubit, y U es una compuerta. El estado del qubit U es controlado mediante el estado del qubit I. Por ejemplo el NOT controlado (CNOT) es: ½ 00ñ à ½ 00ñ ; ½ 01ñ à ½ 01ñ ; ½ 10ñ à ½ 11ñ ; ½ 11ñ à ½ 10ñ

"Entanglement"

La capacidad computacional de procesamiento paralelo de la computación cuántica, es enormemente incrementada por el procesamiento masivamente en paralelo, debido a una interacción que ocurre durante algunas millonésimas de segundo. Este fenómeno de la mecánica cuántica es llamado "entanglement".
Debido al "entanglement", dos partículas subatómicas, permanecen indefectiblemente relacionadas entre si, si han sido generadas en un mismo proceso. Estas partículas forman subsistemas que no pueden describirse separadamente. Cuando una de las dos partículas sufre un cambio de estado, repercute en la otra. Esta característica se desencadena cuando se realiza una medición sobre una de las partículas. 

Tele transportación cuántica

La tele transportación cuántica es descrita por Stean [Steane97] como la posibilidad de "transmitir qubits sin enviar qubits". En la computación tradicional para transmitir bits, estos son clonados o copiados y luego enviados a través de diferentes medios como el cobre, fibra óptica, ondas de radio y otros. En la computación cuántica no es posible clonar, copiar, o enviar qubits de un lugar a otro como se hacen con los bits.
Si enviamos un qubit ½ Æ ñ donde Æ es un estado desconocido, el receptor no podrá leer su estado con certidumbre, cualquier intento de medida podría modificar el estado del qubit, por lo tanto se perdería su estado, imposibilitando su recuperación. La tele transportación cuántica, resuelve este problema, esta se basa en el "entanglement" para poder transmitir un qubit sin necesidad de enviarlo. El emisor y el receptor poseen un par de qubits "enredados" (entangled). Entonces el qubit es transmitido desde el emisor, desaparece del emisor y el receptor tiene el qubit tele transportado. Este fenómeno es posible debido a un mecanismo conocido como el efecto EPR. En la tele transportación cuántica primero dos qubits E y R son "enredados" y luego separados (entangled), el qubit R es ubicado en el receptor y el qubit E es ubicado en el emisor junto al qubit original Q a ser transmitido, al realizar la lectura del estado de los dos qubits Q y E, estos cambian su estado a uno aleatorio debido a la interacción. La información leída es enviada al receptor, donde esta información es utilizada para un tratamiento que es aplicado al qubit R, siendo ahora R una réplica exacta del qubit Q.

El paralelismo cuántico

La superposición cuántica permite un paralelismo exponencial o paralelismo cuántico en el cálculo, mediante el uso de las compuertas lógicas de qubits. [Steffen01] Los qubits, a diferencia de los bits, pueden existir en un estado de superposición, representado por a½ 0ñ + b½ 1ñ , donde a y b son números complejos que satisfacen la relación ½ a½ 2 + ½ b½ 2 = 1.
Dada una compuerta lógica de un qubit f, que transforma el estado ½ a½ en el estado ½ f(x)½ , cuando el qubit de entrada tiene en el estado [Steffen01] una superposición igual de ½ 0ñ y ½ 1ñ .
Por linealidad de los mecánica cuántica, la compuerta lógica f transforma el estado del qubit a . [Steffen01]
El estado resultante es la superposición de los 2 valores de salida, siendo f evaluado para los 2 valores de entrada en paralelo.
Para una compuerta lógica g de 2 qubits, que tienen dos qubits de entrada en superposición de ½ 0ñ y ½ 1ñ , tendríamos una superposición de 4 estados . [Steffen01]
La compuerta lógica g transforma el estado de entrada a [Steffen01] así g es evaluado en un solo paso para 4 valores de entrada.
En una compuerta lógica h de 3 qubits, se tienen 3 qubits de entrada en superposición de ½ 0ñ y ½ 1ñ , juntos hacen una superposición de 8 estados, que son evaluados en paralelo. Por cada qubits adicional la cantidad de estados se duplica.

Criptografía cuántica

Criptografía, es la ciencia matemática de las comunicaciones secretas, tiene una larga y distinguida historia de uso militar y diplomático que se remonta a los antiguos Griegos. Fue un elemento importante y decisivo durante la segunda guerra mundial. Hoy en día su uso es muy común y necesario, para brindar seguridad en las transacciones comerciales, comunicaciones, y privacidad; que se llevan a cabo mediante Internet.
La criptografía cuántica hace posible la distribución de la clave privada P. P es transmitida mediante un canal cuántico. Cualquier intento de medir P será notado, debido a que es imposible observar un qubit sin dejar rastro. [Bennett98] La distribución cuántica de claves es posible con la tecnología existente. 



Tomado de:



Criptografia Simétrica o Convencional

CRIPTOGRAFÍA SIMÉTRICA (CLAVE SECRETA)

Criptografía (del griego krypto “oculto” y graphos “escribir”) = “escritura oculta”
     
Se trata del sistema de cifrado más antiguo y consiste en que tanto el emisor como el receptor encriptan y desencriptan la información con una misma clave k (clave secreta) que ambos comparten. 
El funcionamiento es muy sencillo: el emisor cifra el mensaje con la clave k y se lo envía al receptor. Este último, que conoce dicha clave, la utiliza para desencriptar la información.

Las técnicas criptográficas son utilizadas para enviar mensajes confidenciales con el propósito de que sólo las personas autorizadas lo puedan entender, y en este contexto, cifrar es el proceso de convertir un texto en claro (que se desea proteger) en un lenguaje complicado/ ilegible aplicando a este un "algoritmo de cifrado".

El Algoritmo de cifrado

No es más que un conjunto definido de pasos u operaciones necesarias a realizar sobre el texto inicial para alcanzar el texto resultante. Asociado al algoritmo está la "clave".

La Clave

La Clave ("llave" o "key") tiene la función de controlar la operación del algoritmo dentro del proceso de cifrado para cada uso distinto, condicionando de esta forma el resultado del proceso. 
Al proceso inverso, donde se obtiene el texto en claro a partir de un criptograma y una clave, se le denomina “descifrar”. En este caso es el protocolo criptográfico el que especifica cómo se utiliza el algoritmo y la clave para obtener el texto plano.

Ejemplo:

En el ejemplo de la figura de cifra/desciframos un mensaje cuyo texto "en claro" está compuesto por las letras del alfabeto latino. En éste, los componentes del modelo criptográfico son los siguientes:
Premisa asociada: Cada letra del alfabeto tendrá un número asociado que representa el orden que la letra ocupa en el alfabeto. Un número entero representado por 4 posiciones (rellenando con ceros a la izquierda si es necesario) a partir del 0001, equivalente a la letra "a".
Algoritmo de cifrado: Consiste en sumar al valor numérico de la letra (atendiendo a la premisa anterior), el valor correspondiente a la clave (en este caso 5) y elevar al cuadrado el resultado. El valor resultante se representará en 4 posiciones.
Algoritmo para descifrar: Es el homólogo, tomando como valor de partida un número de 4 posiciones, se calculará la raíz cuadrada de éste para restar al número resultante el valor de la clave. El número resultante se corresponderá con el orden de la letra en el alfabeto de referencia.
Clave: 5.
En este sencillo ejemplo hipotético, si no se conoce el valor de la clave es muy difícil descifrar el criptograma aun conociendo el algoritmo para descifrarlo.

Ventajas de la criptografía de clave simétrica

Este tipo de cifrado es muy fácil de usar. Además, es muy útil para el cifrado de archivos de datos personales, ya que sólo se requiere de una clave. La criptografía de clave simétrica es rápida y utiliza menos recursos informáticos que otras formas de cifrado. Esta forma de cifrado también se puede utilizar para ayudar a prevenir riesgos en la seguridad. Si se utilizan diferentes claves compartidas con diferentes personas, cuando una de las claves está en peligro, sólo una persona se ve afectada.

Desventajas de la criptografía de clave simétrica

El mayor inconveniente es la necesidad de comunicar la clave compartida. Esto debe hacerse con mucho cuidado para asegurarse de que la clave no sea revelada a usuarios no autorizados. También puede haber un problema con el número de claves utilizadas. Cuando se tiene un gran número de claves, puede llegar a ser difícil de gestionar. La criptografía de clave simétrica también es vulnerable a ataques de *fuerza bruta y ataques de **diccionario.
*Según la "Guía CWNA a las LAN inalámbricas", los ataques de fuerza bruta se producen cuando un usuario intenta descifrar la clave mediante el uso de un programa que cambia sistemáticamente un carácter a la vez hasta que se consigue la llave correcta. 
**Un ataque de diccionario es cuando un usuario codifica palabras del diccionario y luego las compara con el mensaje codificado. Esto se hace hasta que el atacante encuentra una coincidencia y conoce la palabra que conforma la contraseña.

Normas generales

Hay tres normas comunes asociadas con la criptografía de clave simétrica: 
     El estándar de cifrado de datos (DES, por sus siglas en inglés): Introducido en 1976 utiliza una encriptación de datos de 64 bits con una clave de 56 bits.
    Triple DES:  Introducido cuando la norma original se tornó obsoleta y utiliza claves de 128 bits y cifra los datos tres veces.
    Advanced Encryption Standard (AES): Se introdujo en 2001 y es un avance de las ideas presentadas en el DES. AES utiliza bloques de datos de 128 bits con claves de 128, 192 o 256 bits para el cifrado.

Lo anterior de acuerdo con "Seguridad de la Información: principios y Prácticas".

Estándar inalámbrico

Wired Equivalent Privacy (WEP) también utiliza criptografía de clave simétrica y es parte del estándar IEEE 802.11 para el cifrado de la transmisión de datos inalámbricos. Según la "Guía CWNA a las LAN inalámbricas", IEEE 802.11 es un estándar desarrollado para asegurar que las redes inalámbricas sean instaladas de tal manera que garanticen la seguridad, integridad de datos y configuraciones estándar, independientemente del fabricante del equipo. La "Guía CWNA a las LAN inalámbricas" afirma que este proceso comparte una clave secreta simétrica entre el dispositivo inalámbrico y el punto de acceso al que se conecta.

Tomado de
Fundamentos sobre criptografía por L. Nieto 

Recursvidad - Sucesión de Fibonacci

La sucesión de Fibonacci

Una sucesión matemática es una aplicación definida sobre los números naturales. Esto, en castellano, quiere decir que es una serie de números que se genera aplicando determinadas reglas. 

Una sucesión de Fibonacci es aquella cuya ley de recurrencia es:

an = an-1 + an-2

donde:

  • aes el término en posición "n"
  • an-1 es el término anterior (n-1)
  • an-2 es el anterior a ese (n-2)

Es decir, cada término de la sucesión se obtiene sumando los dos anteriores. Para empezar a construirla necesitamos, por tanto, dos números de partida, a1 y a2. De esta forma, a3 sería a2 + a1 ; a4 sería a3 + a2 y así sucesivamente. 

La más conocida es la que tiene a1 = 1  y  a2 = 1, cuyos términos son:

1  1  2  3  5  8  13  21  34  55  89  144  233  377 ...
números que son conocidos como Números de Fibonacci.

Los términos de cualquier sucesión de Fibonacci tienen la particularidad de que el cociente entre dos términos consecutivos se aproxima al Número de Oro (1.6180339887499...), es decir, el límite de los cocientes an+1/an tiende al Número de Oro cuando n tiende a infinito.

Además, las series de Fibonacci cumplen otras curiosas propiedades, como por ejemplo, que la suma de n términos es igual al término n+2 menos uno:

a1 + a2 + a3 + a4 + ..... + an-1 + an = an+2 - 1

La sucesión de Fibonacci aparece en su obra Liber Abaci como solución al problema del crecimiento de una población de conejos. Supongamos que una pareja de conejos, tras haber alcanzado su madurez sexual, se reproduce para dar lugar a otra pareja de conejos al mes. Supongamos también que los conejos alcanzan su madurez al cabo de dos meses. Empezando con una pareja de conejos recién nacidos, se plantea el problema de describir el crecimiento de la población de conejos en meses sucesivos.
Al final del primer mes, hay una pareja. Al final del segundo mes, todavía hay una pareja, que ya ha madurado. Al final del tercer mes, la pareja ha producido una nueva pareja, de modo que ahora hay dos parejas. Al final del cuarto mes, la primera pareja ha producido otra nueva pareja mientras que la segunda pareja ha madurado, de modo que ahora ya hay tres parejas. 


Siguiendo de esta forma se advierte que la sucesión numérica  de fibonacci describe la población de conejos en meses consecutivos.




Tomado  de: