Criptografía
y
Algorítmos
Criptografía
Ciencia que estudia la manera de cifrar y descifrar los mensajes para que resulte imposible conocer su contenido a los que no dispongan de unas claves determinadas.
- En informática el uso de la criptografía es muy habitual, utilizándose en comunicaciones y en el almacenamiento de ficheros.
- En comunicaciones, se altera mediante una clave secreta la información a transmitir, que circula cifrada hasta que llega al punto de destino, donde un sistema que conoce la clave de cifrado es capaz de descifrar la información y volverla inteligible.
Tipos de Criptografías
La criptografía simétrica es un método criptográfico en el cual se usa una misma clave para cifrar y descifrar mensajes.
Las dos partes que se comunican han de ponerse de acuerdo de antemano sobre la clave a usar. Una vez ambas tienen acceso a esta clave, el remitente cifra un mensaje usándola, lo envía al destinatario, y éste lo descifra con la misma.
Criptografía Asimétrica
La criptografía asimétrica es el método criptográfico que usa un par de claves para el envío de mensajes.
Las dos claves pertenecen a la misma persona a la que se ha enviado el mensaje.
Una clave es pública y se puede entregar a cualquier persona, la otra clave es privada y el propietario debe guardarla de modo que nadie tenga acceso a ella. Además, los métodos criptográficos garantizan que esa pareja de claves sólo se puede generar una vez, de modo que se puede asumir que no es posible que dos personas hayan obtenido casualmente la misma pareja de claves.
Criptografía Simétrica Algoritmos
DES
Data Encryption Standard (DES) es un algoritmo de cifrado, es decir, un método para cifrar información, escogido como FIPS en los Estados Unidos en 1976, y cuyo uso se ha propagado ampliamente por todo el mundo. El algoritmo fue controvertido al principio, con algunos elementos de diseño clasificados, una longitud de clave relativamente corta, y las continuas sospechas sobre la existencia de alguna puerta trasera para la National Security Agency (NSA). Posteriormente DES fue sometido a un intenso análisis académico y motivó el concepto moderno del cifrado por bloques y su criptoanálisis.
Estructura básica
La estructura básica del algoritmo se divide en 16 fases idénticas de proceso, denominadas rondas.
Antes de las rondas, el bloque es dividido en dos mitades de 32 bits y procesadas alternativamente.
Este entrecruzamiento se conoce como esquema Feistel.
La estructura de Feistel asegura que el cifrado y el descifrado sean procesos muy similares — la única diferencia es que las subclaves se aplican en orden inverso cuando desciframos.
El resto del algoritmo es idéntico.
El símbolo rojo "⊕" representa la operación OR exclusivo (XOR).
La función-F mezcla la mitad del bloque con parte de la clave. La salida de la función-F se combina entonces con la otra mitad del bloque, y los bloques son intercambiados antes de la siguiente ronda.
Una característica de la estructura de Feistel es que hace que el cifrado y el descifrado sean procesos parecidos.
La estructura de Feistel se basa en dividir un bloque (Texto el cual queremos descifrar) en 2 mitades (generalmente llamadas L y R).
A continuación un esquema del funcionamiento del algoritmo DES:
Triple DES
En criptografía el Triple DES se llama al algoritmo que hace triple cifrado del DES. También es conocido como TDES o 3DES, fue desarrollado por IBM en 1998.
El Triple DES está desapareciendo lentamente, siendo reemplazado por el algoritmo AES.
Sin embargo, la mayoría de las tarjetas de crédito y otros medios de pago electrónicos tienen como estándar el algoritmo Triple DES (anteriormente usaban el DES).
Por su diseño, el DES y por lo tanto el TDES son algoritmos lentos. AES puede llegar a ser hasta 6 veces más rápido y a la fecha no se ha encontrado ninguna vulnerabilidad.
Seguridad
Cuando se descubrió que una clave de 56 bits no era suficiente para evitar un ataque de fuerza bruta, TDES fue elegido como forma de agrandar el largo de la clave sin necesidad de cambiar de algoritmo de cifrado. Este método de cifrado es inmune al ataque por encuentro a medio camino, doblando la longitud efectiva de la clave (112 bits), pero en cambio es preciso triplicar el número de operaciones de cifrado, haciendo este método de cifrado muchísimo más seguro que el DES.
Por tanto, la longitud de la clave usada será de 192 bits, aunque como se ha dicho su eficacia solo sea de 112 bits
RC5 es una unidad de cifrado por bloques notable por su simplicidad..
Diseñada por Ronald Rivest en 1994, RC son las siglas en inglés de "Cifrado de Rivest". El candidato para AES, RC6, estaba basado en RC5.
Una característica importante de RC5 es el uso de rotaciones dependientes de los datos; uno de los objetivos de RC5 era promover el estudio y evaluación de dichas operaciones como primitivas de criptografía. RC5 también contiene algunas unidades de sumas modulares y de Puertas O-exclusivo (XOR).
La estructura general del algoritmo es una red tipo Feistel.
La simplicidad del algoritmo junto con la novedad de las rotaciones dependientes de los datos han hecho de RC5 un objeto de estudio atractivo para los criptoanalistas.
Esquema de funciomaniento del algoritmo RC5:
AES
Advanced Encryption Standard (AES), también conocido como Rijndael (pronunciado "Rain Doll" en inglés), es un esquema de cifrado por bloques adoptado como un estándar de cifrado por el gobierno de los Estados Unidos.
El AES es uno de los algoritmos más populares usados en criptografía simétrica.
El cifrador fue desarrollado por dos criptólogos belgas, Joan Daemen y Vincent Rijmen, y enviado al proceso de selección AES bajo el nombre "Rijndael".
Blowfish
Blowfish es un codificador de bloques simétricos, diseñado por Bruce Schneier en 1993 e incluido en un gran número de conjuntos de codificadores y productos de cifrado. Mientras que ningún analizador de cifrados de Blowfish efectivo ha sido encontrado hoy en día, se ha dado más atención de la decodificación de bloques con bloques más grandes, como AES y Twofish.
Schneier diseñó Blowfish como un algoritmo de uso general, que intentaba reemplazar al antiguo DES y evitar los problemas asociados con otros algoritmos. Al mismo tiempo, muchos otros diseños eran propiedad privada, patentados o los guardaba el gobierno.
Schneier declaró “Blowfish no tiene patente, y así se quedará en los demás continentes. El algoritmo está a disposición del público, y puede ser usado libremente por cualquiera”.
A continuación un esquema del diagráma de Blowfish:
IDEA
International Data Encryption Algorithm o IDEA (Algoritmo Internacional de Cifrado de Datos) es un cifrador por bloques diseñado por Xuejia Lai y James L. Massey de la Escuela Politécnica Federal de Zúrich y descrito por primera vez en 1991.
Fue un algoritmo propuesto como reemplazo del DES (Data Encryption Standard) .
IDEA fue una revisión menor de PES (Proposed Encryption Standard, Estándar de Cifrado Propuesto), un algoritmo de cifrado anterior. Originalmente IDEA había sido llamado IPES (Improved PES, del inglés PES Mejorado).
IDEA es libre para uso no comercial, aunque fue patentado y sus patentes se vencerán en 2010 y 2011. El nombre "IDEA" es una marca registrada y está licenciado mundialmente por MediaCrypt.
IDEA fue utilizado como el cifrador simétrico en las primeras versiones de PGP (PGP v2.0) y se lo incorporó luego de que el cifrador original usado en la v1.0 ("Bass-O-Matic") se demostró insegura. Es un algoritmo óptimo en OpenPGP.
Criptografía Asimétrica Algorítmos
Diffie-Hellman
El protocolo Diffie-Hellman (creado por Whitfield Diffie y Martin Hellman) permite el intercambio secreto de claves entre dos partes que no han tenido contacto previo, utilizando un canal inseguro, y de manera anónima (no autenticada).
Se emplea generalmente como medio para acordar claves simétricas que serán empleadas para el cifrado de una sesión.
Siendo no autenticado, sin embargo provee las bases para varios protocolos autenticados.
Su seguridad radica en la extrema dificultad (conjeturada, no demostrada) de calcular logaritmos discretos en un campo finito.
RSA
RSA es un sistema criptográfico de clave pública desarrollado en 1977. En la actualidad, RSA es el primer y más utilizado algoritmo de este tipo y es válido tanto para cifrar como para firmar digitalmente.
La seguridad de este algoritmo radica en el problema de la factorización de números enteros. Los mensajes enviados se representan mediante números, y el funcionamiento se basa en el producto, conocido, de dos números primos grandes elegidos al azar y mantenidos en secreto.
Se prevé que su tamaño aumente con el aumento de la capacidad de cálculo de los ordenadores.
Como en todo sistema de clave pública, cada usuario posee dos claves de cifrado: una pública y otra privada. Cuando se quiere enviar un mensaje, el emisor busca la clave pública del receptor, cifra su mensaje con esa clave, y una vez que el mensaje cifrado llega al receptor, este se ocupa de descifrarlo usando su clave privada.
Se cree que RSA será seguro mientras no se conozcan formas rápidas de descomponer un número grande en producto de primos. La computación cuántica podría proveer de una solución a este problema de factorización.
RSA es mucho más lento que DES y que otros criptosistemas simétricos.
DSA
DSA (Digital Signature Algorithm, en español Algoritmo de Firma digital) es un estándar del Gobierno Federal de los Estados Unidos de América o FIPS para firmas digitales.
Fue un Algoritmo propuesto por el Instituto Nacional de Normas y Tecnología de los Estados Unidos para su uso en su Estándar de Firma Digital (DSS).
DSA se hizo público el 30 de agosto de 1991, este algoritmo como su nombre lo indica, sirve para firmar y no para cifrar información.
Una desventaja de este algoritmo es que requiere mucho más tiempo de cómputo que RSA.
Cifrado ElGamal
El procedimiento de cifrado/descifrado ElGamal se refiere a un esquema de cifrado basado en problemas matemáticos de logaritmos discretos.
Es un algoritmo de criptografía asimétrica basado en la idea de Diffie-Hellman y que funciona de una forma parecida a este algoritmo discreto.
El algoritmo de ElGamal puede ser utilizado tanto para generar firmas digitales como para cifrar o descifrar.
Fue descrito por Taher Elgamal en 1984 y se usa en software GNU Privacy Guard, versiones recientes de PGP, y otros sistemas criptográficos.
Este algoritmo no esta bajo ninguna patente lo que lo hace de uso libre.
La seguridad del algoritmo se basa en la suposición que la función utilizada es de un sólo sentido y la dificultad de calcular un logaritmo discreto.
Criptografía de curva elíptica
La Criptografía de Curva Elíptica (CCE) es una variante de la criptografía asimétrica o de clave pública basada en las matemáticas de las curvas elípticas.
Sus autores argumentan que la CCE puede ser más rápida y usar claves más cortas que los métodos antiguos — como RSA — al tiempo que proporcionan un nivel de seguridad equivalente.
La utilización de curvas elípticas en criptografía fue propuesta de forma independiente por Neal Koblitz y Victor Miller en 1985.
Merkle-Hellman
Merkle-Hellman (MH) fue uno de los primeros criptosistemas de llave pública y fue inventado por Ralph Merkle y Martin Hellman en 1978.
Aunque sus ideas eran elegantes, y mucho más simples que RSA, no tuvo el mismo éxito que éste último, debido a que MH ya fue roto, y además no ofrece funcionalidades para firmar.
Merkle-Hellman es un criptosistema asimétrico, esto significa que para la comunicación, se necesitan dos llaves: una llave pública y una privada.
Otra diferencia con RSA, es que sirve sólo para cifrado, es decir, la llave pública es usada sólo para cifrar (no para verificar firma) y la llave privada es usada sólo para descifrar (no para firmar). De este modo, no se puede usar para tareas de autentificación por firma electrónica.
El algoritmo de Merkle-Hellman está basado en el problema de la mochila de decisión :
Dados una secuencia de números y un número, determinar si existe un subconjunto de la secuencia cuya suma dé dicho número. Sin embargo, si la secuencia de números es supercreciente -- esto es, si cada elemento de la secuencia es mayor que la suma de todos los anteriores -- el problema es "fácil", y es posible resolverlo en tiempo polinomial con un simple algoritmo voraz.
FUNCIONES HASH MÁS UTILIZADAS
Hash se refiere a una función o método para generar claves o llaves que representen de manera casi unívoca a un documento, registro, archivo, etc., resumir o identificar un dato a través de la probabilidad, utilizando una función hash o algoritmo hash. Un hash es el resultado de dicha función o algoritmo.
Una función de hash es una función para resumir o identificar probabilísticamente un gran conjunto de información, dando como resultado un conjunto imagen finito generalmente menor.
Es posible que existan claves resultantes iguales para objetos diferentes, ya que el rango de posibles claves es mucho menor que el de posibles objetos a resumir.
Son usadas en múltiples aplicaciones, como en la criptografía, procesamiento de datos y firmas digitales, entre otros.
Una buena función de hash es una que experimenta pocas colisiones en el conjunto esperado de entrada; es decir que se podrán identificar unívocamente las entradas.
Muchos sistemas relacionados con la seguridad informática usan funciones o tablas hash.
Funciones más Utilizadas
MD5
MD5 (abreviatura de Message-Digest Algorithm 5, Algoritmo de Resumen del Mensaje 5) es un algoritmo de reducción criptográfico de 128 bits ampliamente usado.
Es uno de los algoritmos de reducción criptográficos diseñados por el profesor Ronald Rivest del MIT (Instituto Tecnológico de Massachusetts). Fue desarrollado en 1991 como reemplazo del algoritmo MD4 después de que Hans Dobbertin descubriese su debilidad.
MD4
MD4 es un algoritmo de resumen del mensaje (el cuarto en la serie). Implementa una función criptográfica de hash para el uso en comprobaciones de integridad de mensajes. La longitud del resumen es de 128 bits. El algoritmo ha influenciado diseños posteriores, tales como el MD5, el SHA o el RIPEMD-160.
Ciertas debilidades en MD4 fueron demostradas por Den Boer y Bosselaers.
Muchos de los diseños posteriores de resumen del mensaje basados en él siguen siendo seguros, en el sentido que no se ha publicado ningún ataque eficaz contra ellos.
MD2
MD2 ( Algoritmo de Resumen del Mensaje 2) es una función de hash criptográfica. El algoritmo está optimizado para computadoras de 8 bits. . Para el cálculo real, se utiliza un bloque auxiliar 48 bytes y una tabla de 256 bytes que contiene dígitos al azar del número pi.
Una vez que todos los bloques del mensaje alargado se han procesado, el primer bloque parcial del bloque auxiliar se convierte en el valor de hash del mensaje.
Secure Hash Algorithm
La familia SHA (Secure Hash Algorithm, Algoritmo de Hash Seguro) es un sistema de funciones hash criptográficas relacionadas de la Agencia de Seguridad Nacional de los Estados Unidos y publicadas por el National Institute of Standards and Technology (NIST).
Dos años más tarde el primer sucesor de SHA fue publicado con el nombre de SHA-1. Existen cuatro variantes más que se han publicado desde entonces cuyas diferencias se basan en un diseño algo modificado y rangos de salida incrementados: SHA-224, SHA-256, SHA-384, y SHA-512 (llamándose SHA-2 a todos ellos).
En 1998, un ataque a SHA-0 fue encontrado pero no fue reconocido para SHA-1, se desconoce si fue la NSA quien lo descubrió pero aumentó la seguridad del SHA-1.
SHA-1 ha sido examinado muy de cerca por la comunidad criptográfica pública, y no se ha encontrado ningún ataque efectivo.
SHA-0 y SHA-1 producen una salida resumen de 160 bits (20 bytes) de un mensaje que puede tener un tamaño máximo de 264 bits.
Secure Hash Algorithm
Tiger es una función de hash , en previsión de eficiencia para plataformas de 64 bits. El tamaño de la función es de 192 bits, aunque hay versiones de 128 y 169 bits de la misma, llamadas Tiger/128 y Tiger/160, que devuelven versiones truncadas de la versión Tiger/192.
Se usa frecuentemente en árboles de hash, llamados a veces árboles de hash de Merkle, denominándose entonces TTH (Tiger Tree Hash). TTH es usado por redes P2P.
Tiger tenía la posibilidad de ser incluido en el estándar OpenPGP, aunque ha sido abandonado en favor de RIPEMD-160.
Se está desarrollando una versión de Tiger, llamada Tiger2.
WHIRLPOOL
Es una función de hash. El hash ha sido recomendado por el proyecto NESSIE y ha sido adoptado por la Organización Internacional de Estandarización (ISO) y la Comisión Electrotécnica Internacional (IEC) .
WHIRLPOOL fue desarrollado después del algoritmo de cifrado por bloques Square.
Dado un mensaje de un tamaño menor de 2256 bits, devuelve un hash de 512 bits.
Los autores han declarado que WHIRLPOOL no está patentado (ni lo estará). Puede ser usado libremente para cualquier propósito y las implementaciones de referencia son de dominio público.
RIPEMD-160
Es un algoritmo del resumen del mensaje de 160 bits (y función criptográfica de hash)
Es una versión mejorada de RIPEMD, que estaba basado sobre los principios del diseño del algoritmo MD4, y es similar en seguridad y funcionamiento al más popular SHA-1.
También existen versiones de 128, 256 y 320 bits de este algoritmo, llamadas RIPEMD-128, RIPEMD-256 y RIPEMD-320 respectivamente.
Aproximadamente para el año 2012, el tamaño de los transistores o chips llegará a límites de integración con la tecnología actual, y ya no se podrán empaquetar más transistores en un área de silicio, entonces se entrará al nivel atómico o lo que se conoce como mecánica cuántica.
Nanotecnología e Informática
Aproximadamente para el año 2012, el tamaño de los transistores o chips llegará a límites de integración con la tecnología actual, y ya no se podrán empaquetar más transistores en un área de silicio, entonces se entrará al nivel atómico o lo que se conoce como mecánica cuántica.
Las computadoras cuánticas, sin embargo, utilizan un fenómeno físico conocido como “superposición”, donde objetos de tamaño infinitesimal como electrones o átomos pueden existir en dos o más lugares al mismo tiempo, o girar en direcciones opuestas al mismo tiempo. Esto significa que las computadoras creadas con procesadores superpuestos puedan utilizar bits cuánticos –llamados qubits- que pueden existir en los estados de encendido y apagado simultáneamente.
De esta manera, estas computadoras cuánticas pueden calcular cada combinación de encendido y apagado al mismo tiempo, lo que las haría muchísimo más veloces que los actuales procesadores de datos a la hora de resolver ciertos problemas complejos de cálculos matemáticos.
Reducir el tamaño de los circuitos integrados implica una respuesta más rápida y un menor consumo de energía.
Informática a nanoescala
La Ley de Moore, afirma que la capacidad de los ordenadores se dobla cada 18 meses. La alternativa para que el progreso no se detenga es crear los dispositivos de almacenamiento a escala molecular, nuevos métodos de cálculo, interruptores moleculares y cables de tubos de carbono estirados. En definitiva, lo que se conoce como ordenadores cuánticos.
Empresas como IBM o Intel siguen de cerca estos ordenadores cuánticos. En concreto Intel desvelaba por primera vez públicamente sus planes para el desarrollo de chips de tamaño inferior a 10 nanómetros, combinando el silicio con otras tecnologías que están aún en sus primeras fases de investigación.
Tan importante como la velocidad de procesamiento es la capacidad de almacenamiento. NRAM se trata de un chip de memoria de acceso aleatorio no volátil y basada en nanotubos. Sus creadores aseguran que podría reemplazar a las actuales memorias SRAM, DRAM y flash.
Computadoras casi invisibles
La nanotecnología será un salto importante en la reducción de los componentes.
El tamaño de las computadoras del futuro también podría sorprender, ya que podría ser cincuenta veces menor de una computadora actual de semiconductores que contuviera similar número de elementos lógicos.
La reducción del tamaño desemboca en dispositivos más veloces; las computadoras podrán operar a velocidades mil veces mayores que las actuales.
Los avances tecnológicos no cesan y para el 2011 ya se define una lista “top 10″ con las mayores innovaciones en materia tecnológica.
A continuación el detalle de los avances tecnológicos para el 2011:- El Grafeno: Denominado como “el material del futuro”, es un derivado del grafito, de bajo coste, flexible, transparente y de gran conductividad.. El grafeno puede ser utilizado en procesadores, pantallas táctiles, celulares y paneles solares. Es hasta 10 veces más rápido que el silicio, un excelente conductor y permite enrollarse y plegarse. Se espera en el 2011 su producción a gran escala.
- Letreros interactivos: Se trata de pantallas LCD táctiles e interactivas con cristal holográfico que permitirán mejorar la experiencia de consumo ofreciendo información sobre el producto y la forma adecuada para su aplicación. Serán pantallas sensibles al tacto con video y reconocimiento del rostro.
- Robots enfermeras: Tendrán la capacidad para realizar análisis de sangre, guiar y asistir a los pacientes, medir la presión y la fiebre. Estos humanoides contarán con sistemas de videoconferencia móvil para interactuar con los pacientes.
- Vehículos inteligentes con Internet: Actualmente ya existen varios fabricantes dedicados a la creación de vehículos con Internet. Este avance permitirá que los viajeros puedan conocer el estado de las vías, escoger rutas alternativas y tener acceso a contenido online como archivos de música y videos.
- Celulares 3D: Mediante un software creado por Julien Flack, director de tecnología de Dynamic Digital Depth será posible que las imágenes del celular cambien de 2D a 3D, ofreciendo una experiencia mucho más real sin necesidad de gafas.
- Redes de sensores inalámbricos: Son redes de computadoras en miniatura equipadas para una tarea común, autoconfigurables, de fácil instalación y capaces de concretar el proceso de emisión y recepción de datos en segundos. Servirían para detectar actividad sísmica, el estado del tránsito y movimientos militares.
- TV de LED: Se trata de pantallas 30% más eficientes en el ahorro de energía que los LCD tradicionales, eco-friendly, con menor generación de calor, no utilizan materiales tóxicos ni generan residuos. Además, tienen una mayor duración, brindan una mejor experiencia visual, no deforman la imagen ni cambian el color.
- Componentes fotovoltaicos: Son células solares de película fina capaces de convertir de un 8 a un 12% de la luz que captan en electricidad. Este avance implicaría un enorme avance de la energía solar por encima de los combustibles fósiles.
- Computación ubicua: Esta tecnología conocida también como Ubicomp, se refiere a la integración de la informática en el entorno humano o real, al punto que la computadora no sea percibida como un objeto diferenciado. Con ello el hombre podrá interactuar de forma natural con chips informáticos para que realicen cualquier tarea diaria mediante órdenes sólo con la voz.
- Implantes cibernéticos: Los nuevos dispositivos médicos implantables se basarán en materiales ópticos y electrónicos capaces de almacenar datos sobre el estado de salud e historial del paciente, además de monitorear sus signos vitales.