Está en la página 1de 23

Criptografa

Desde que el hombre ha necesitado comunicarse con los dems ha tenido la necesidad de que algunos de sus mensajes solo fueran conocidos por las personas a quien estaban destinados. La necesidad de poder enviar mensajes de forma que solo fueran entendidos por los destinatarios hizo que se crearan sistemas de cifrado, de forma que un mensaje despus de un proceso de transformacin, lo que llamamos cifrado, solo pudiera ser ledo siguiendo un proceso de descifrado. Las civilizaciones mas antiguas (egipcia, mesopotmica, china..) ya usaban esos mtodos.Uno de los primeros mtodos de encriptado que est documentado es atribuido a Julio Cesar, que se basaba en la sustitucin de las letras de un documento por la tercera letra que le correspondiese en el alfabeto. As la A se converta en una D, la B en E ... Con el tiempo y debido principalmente a su uso militar, los sistemas criptogrfcos fueron avanzando en complejidad, hasta llegar a nuestros das donde la informtica ha entrado en nuestras vidas y la necesidad de seguridad al realizar nuestras operaciones aumenta. En la actualidad, en la vida real, estamos acostumbrados a enviar o recibir cartas postales que vienen encerradas en un sobre para que su lectura est reservada solo a nosotros o a su destinatario. En el mundo virtual, en el caso del e-mail esto no es as, ya que lo que enviamos es la carta sin el "sobre" que lo contenga, es decir, sin nada que impida su lectura por parte de cualquiera que pudiera interceptarla. Queremos que nuestras confidencias, nuestros nmeros de tarjeta de crdito, nuestros saldos en bancos, etc .. sean vistos por cualquiera? Como funciona

La palabra criptologa proviene de las palabras griegas Kryto y logos y siginifica estudio de lo oculto. Una rama de la criptologa es la criptografa, que se ocupa del cifrado de mensajes. Esta se basa en que el emisor emite un mensaje en claro, que es tratado mediante un cifrador con la ayuda de una clave, para crear un texto cifrado. Este texto cifrado, por medio del canal de comunicacin establecido, llega al descifrador que convierte el texto cifrado, apoyandose en otra clave, para obtener el texto en claro original. Las dos claves implicadas en el proceso de cifrado/descifrado pueden ser o no iguales dependiendo del sistema de cifrado utilizado. Sistemas Sistemas de de cifrado cifrado simtrico.

Los sistemas de cifrado simtrico son aquellos que utilizan la misma clave para cifrar y descrifrar un documento. El principal problema de seguridad reside en el intercambio de claves entre el emisor y el receptor ya que ambos deben usar la misma clave. Por lo tanto se tiene que buscar tambin un canal de comunicacin que sea seguro para el intercambio de la clave.Es importante que dicha clave sea muy difcil de adivinar ya que hoy en da los ordenadores pueden adivinar claves muy rpidamente. Por ejemplo el algoritmo de cifrado DES usa una clave de 56 bits, lo que significa que hay 72 mil billones de claves posibles. Actualmente ya existen ordenadores especializados que son capaces de probar todas ellas en cuestin de horas.Hoy por hoy se estn utilizando ya claves de 128 bits que aumentan el "espectro" de claves posibles (2 elevado a 128) de forma que aunque se uniesen todos los ordenadores existentes en estos momentos no lo conseguiran en miles de millones de aos. Sistemas de cifrado asimtrico.

Tambin son llamados sistemas de cifrado de clave pblica. Este sistema de cifrado usa dos claves diferentes. Una es la clave pblica y se puede enviar a cualquier persona y otra que se llama clave privada, que debe guardarse para que nadie tenga acceso a ella.Para enviar un mensaje, el remitente usa la clave pblica del destinatario para cifrar el mensaje. Una vez que lo

ha cifrado, solamente con la clave privada del destinatario se puede descifrar, ni siquiera el que ha cifrado el mensaje puede volver a descifrarlo.Por ello, se puede dar a conocer perfectamente la clave pblica para que todo aquel que se quiera comunicar con el destinatario lo pueda hacer. Un sistema de cifrado de clave publica basado en la factorizacin de nmeros primos se basa en que la clave pblica contiene un nmero compuesto de dos nmeros primos muy grandes. Para cifrar un mensaje, el algoritmo de cifrado usa ese compuesto para cifrar el mensaje.Para descifrar el mensaje, el algoritmo de descifrado requiere conocer los factores primos, y la clave privada tiene uno de esos factores, con lo que puede fcilmente descifrar el mensaje. Es fcil, con los ordenadores de hoy en da, multiplicar dos nmeros grandes para conseguir un nmero compuesto, pero es muy difcil la operacin inversa, Dado ese numero compuesto, factorizarlo para conocer cada uno de los dos nmeros.Mientras que 128 bits se considera suficiente en las claves de cifrado simtrico, y dado que la tecnologa de hoy en da se encuentra muy avanzada, se recomienda en este caso que la clave pblica tenga un mnimo de 1024 bits. Para un ataque de fuerza bruta, por ejemplo, sobre una clave publica de 512 bits, se debe factorizar un numero compuesto de hasta 155 cifras decimales. Sistemas de cifrado hbridos.

Es el sistema de cifrado que usa tanto los sistemas de clave simtrica como el de clave asimtrica. Funciona mediante el cifrado de clave pblica para compartir una clave para el cifrado simetrico. En cada mensaje, la clave simtrica utilizada es diferente por lo que si un atacante pudiera descubrir la clave simtrica, solo le valdra para ese mensaje y no para los restantes.Tanto PGP como GnuPG usan sistemas de cifrado hbridos. La clave simtrica es cifrada con la clave pblica, y el mensaje saliente es cifrado con la clave simtrica, todo combinado automticamente en un slo paquete. El destinatario usa su clave privada para descifrar la clave simtrica y acto seguido usa la clave simtrica para descifrar el mensaje.

Cmo funciona el EDI? El EDI extrae directamente la informacin de los programas y transmite los documentos de negocios en un formato comprendido por el computador, a travs de lneas telefnicas u otros mecanismos de telecomunicaciones, sin el uso del papel. Esta informacin se recibe y se carga automticamente en las redes de los Asociados Comerciales, en cortsimo tiempo y sin tipear ni procesar manualmente los datos recibidos. Seguridad en el Comercio Electrnico La seguridad en el comercio electrnico y especficamente en las transacciones comerciales es un aspecto de suma importancia. Para ello es necesario disponer de un servidor seguro a travs del cual toda la informacin confidencial es encriptada y viaja de forma segura, sto brinda confianza tanto a proveedores como a compradores que hacen del comercio electrnico su forma habitual de negocios. Al igual que en el comercio tradicional existe un riesgo en el comercio electrnico, al realizar una transaccin por Internet, el comprador teme por la posibilidad de que sus datos personales (nombre, direccin, nmero de tarjeta de crdito, etc.) sean interceptados por "alguien", y suplante as su identidad; de igual forma el vendedor necesita asegurarse de que los datos enviados sean de quien dice serlos. Por tales motivos se han desarrollado sistemas de seguridad para transacciones por Internet: Encriptacin, Firma Digital y Certificado de Calidad, que garantizan la confidencialidad, integridad y autenticidad respectivamente.

Con la encriptacin la informacin transferida solo es accesible por las partes que intervienen (comprador, vendedor y sus dos bancos). La firma digital, evita que la transaccin sea alterada por terceras personas sin saberlo. El certificado digital, que es emitido por un tercero, garantiza la identidad de las partes. Encriptacin. Es el conjunto de tcnicas que intentan hacer inaccesible la informacin a personas no autorizadas. Por lo general, la encriptacin se basa en una clave, sin la cual la informacin no puede ser descifrada. Proceso de encriptacin Internet es prcticamente una puerta abierta, sobre la cual ninguna entidad ejerce un control en cuanto a qu publicar o no, pero si es posible monitorear desde que lugar se conectan los usuarios a la red, con qu frecuencia lo hacen, incluso lograr apoderarse de alguna informacin. Naturalmente, como usuarios tememos por el peligro que al enviar nuestros datos personales, caigan en manos de un extrao o los llamados hackers, sin embargo, un servidor seguro nos garantiza que la informacin llegar protegida a su destino, mediante un proceso de encriptacin: Nuestra informacin se encripta desde el momento en que pulsamos el botn "enviar", al llenar un formulario de compra, y es nuestro ordenador el encargado de cifrar y "esconder" los datos. Todo dato que se digitalice se codifica en binario, es decir en ceros y en unos. Para encriptarlo, se aplica al mensaje un algoritmo u operacin matemtica que devuelve un mensaje indescifrable, tambin en binario. Para descifrar el mensaje original, se aplica el mismo algoritmo al llegar al lugar de destino. Solamente el emisor y el receptor podrn descifrar el algoritmo y el mensaje contenido con una informacin en clave que cada uno de ellos conoce. Estas claves pueden ser privada (que conocer solo el emisor) y pblica (que conocern los destinatarios). Cada usuario deber disponer de este par de claves que van asociadas. De esta manera si alguien quiere enviar un mensaje cifrado a un usuario, tendra que conocer su clave pblica y solo la clave privada podra descifrarlo. Qu es el Protocolo SET? Secure Electronic Transactions es un conjunto de especificaciones desarrolladas por VISA y MasterCard, con el apoyo y asistencia de GTE, IBM, Microsoft, Netscape, SAIC, Terisa y Verisign, que da paso a una forma segura de realizar transacciones electrnicas, en las que estn involucrados: usuario final, comerciante, entidades financieras, administradoras de tarjetas y propietarios de marcas de tarjetas. SET constituye la respuesta a los muchos requerimientos de una estrategia de implantacin del comercio electrnico en Internet, que satisface las necesidades de consumidores, comerciantes, instituciones financieras y administradoras de medios de pago. Por lo tanto, SET dirige sus procesos a:

Proporcionar la autentificacin necesaria. Garantizar la confidencialidad de la informacin sensible. Preservar la integridad de la informacin. Definir los algoritmos criptogrficos y protocolos necesarios para los servicios anteriores. SET utiliza para sus procesos de encriptacin dos algoritmos: De clave pblica RSA (algoritmo simtrico), diseado por Rivest, Shamir y Adleman, cuyas iniciales componen su nombre. De clave privada DES (Data Encryption Standard), de fortaleza contrastada y excelente rendimiento, conocido tambin como algoritmo asimtrico ya que emplea dos claves diferentes: una para encriptacin y otra para desencriptacin. La base matemtica sobre la cual trabajan los algoritmos, permite que, mientras un mensaje es encriptado con la clave pblica, es necesaria la clave privada para su desencriptacin. El mensaje original es encriptado con la clave pblica del destinatario; este podr obtener el mensaje original despus de aplicar su clave privada al mensaje cifrado. Para evitar que la clave pblica de un usuario sea alterada o sustituida por otro no autorizado, se crea una entidad independiente llamada Autoridad Certificadora (Certifying Authority, CA), cuya labor consiste en garantizar y custodiar la autenticidad de la claves pblicas de empresas y particulares, a travs de la emisin de certificados electrnicos. Firmas electrnicas Las relaciones matemticas entre la clave pblica y la privada del algoritmo asimtrico utilizado para enviar un mensaje, se llama firma electrnica (digital signatures). Quien enva un mensaje, cifra su contenido con su clave privada y quien lo recibe, lo descifra con su clave pblica, determinando as la autenticidad del origen del mensaje y garantizando que el envo de la firma electrnica es de quien dice serlo. Certificados de autenticidad Como se ha visto la integridad de los datos y la autenticidad de quien enva los mensajes es garantizada por la firma electrnica, sin embargo existe la posibilidad de suplantar la identidad del emisor, alterando intencionalmente su clave pblica. Para evitarlo, las claves pblicas deben ser intercambiadas mediante canales seguros, a travs de los certificados de autenticidad, emitidos por las Autoridades Certificadoras. Para el efecto SET utiliza dos grupos de claves asimtricas y cada una de las partes dispone de dos certificados de autenticidad, uno para el intercambio de claves simtricas y otro para los procesos de firma electrnica. Criptografa. Es la ciencia que trata del enmascaramiento de la comunicacin de modo que slo resulte inteligible para la persona que posee la clave, o mtodo para averiguar el significado oculto, mediante el criptoanlisis de un texto aparentemente incoherente. En su sentido ms amplio, la criptografa abarca el uso de mensajes encubiertos, cdigos y cifras.

La palabra criptografa se limita a veces a la utilizacin de cifras, es decir, mtodos de transponer las letras de mensajes (no cifrados) normales o mtodos que implican la sustitucin de otras letras o smbolos por las letras originales del mensaje, as como diferentes combinaciones de tales mtodos, todos ellos conforme a sistemas predeterminados. Hay diferentes tipos de cifras, pero todos ellos pueden encuadrarse en una de las dos siguientes categoras: transposicin y sustitucin. En las claves de transposicin, el mensaje se escribe, sin separacin entre palabras, en filas de letras dispuestas en forma de bloque rectangular. Las letras se van transponiendo segn un orden acordado de antemano, por ejemplo, por columnas verticales, diagonales o espirales, o mediante sistemas ms complicados, como el salto del caballo, basado en el movimiento del caballo de ajedrez. La disposicin de las letras en el mensaje cifrado depende del tamao del bloque utilizado y del camino seguido para inscribir y transponer la letras. Para aumentar al seguridad de la clave o cifra se puede utilizar una palabra o un nmero clave; por ejemplo, a la hora de transponer por columnas verticales, la palabra clave coma obligara a tomar las columnas en el orden 2-4-3-1, que es el orden alfabtico de las letras de la palabra clave, en lugar de la secuencia normal 1-2-3-4. Las cifras de transposicin se pueden reconocer por la frecuencia de las letras normales segn el idioma utilizado. Estas cifras se pueden desentraar sin la clave reordenando las letras de acuerdo con diferentes pautas geomtricas, al tiempo que se van resolviendo anagramas de posibles palabras, hasta llegar a descubrir el mtodo de cifrado. Los Hackers. Son usuarios muy avanzados que por su elevado nivel de conocimientos tcnicos son capaces de superar determinadas medidas de proteccin. Su motivacin abarca desde el espionaje industrial hasta el mero desafo personal. Internet, con sus grandes facilidades de conectividad, permite a un usuario experto intentar el acceso remoto a cualquier mquina conectada, de forma annima. Las redes corporativas u ordenadores con datos confidenciales no suelen estar conectadas a Internet; en el caso de que sea imprescindible esta conexin, se utilizan los llamados cortafuegos, un ordenador situado entre las computadoras de una red corporativa e Internet. El cortafuegos impide a los usuarios no autorizados acceder a los ordenadores de una red, y garantiza que la informacin recibida de una fuente externa no contenga virus. Conclusiones. Para mi la encriptacin es un mtodo excelente ya que nos permite proteger los equipos que se encuentran en red. Pero lo malo es que existen usuarios que son expertos en infiltrarse en los sistemas mas inaccesibles, por eso todos estan en peligro, aunque sean muy expertos en ocultar, de sufrir una infiltracin que peligre a su sistema con sufrir alguna alteracin o dao. Esto lo hace posible la criptologa que permite descifrar los cdigos y contraseas, aunque este mtodo es muy dificil de usar. Pero me parece excelente que exista la encriptacin en internet ya que podemos hacer cualquier tipo de trmite que nos da la posibilidad de comprar o vander muy comodamente, por ello axisten tarjetas con nmeros o cdigos que nos permiten comprar un bien por internet, ademas existen las claves que se les dan a usuarios determinados que tengan alguna relacin con la empresa o entidad que se las da, que permite trabajar, consegir entretencin, comprar, vender, etc. Es un mercado electrnico que cada vez crece ms y que cada vez se usa ms por parte de las empresas ya que es el futuro del mercado.

Jorge lvarez. Creo que el Comercio Electrnico es muy similar al comn y corriente que conozco, pero tiene la ventaja de que es ms rpido y no hay que pasearse por varios lugares para encontrar lo que uno est buscando. Por lo visto es seguro ya que se requiere descifrar la clave del cliente y la del servidor para poder extraer la informacin personal de las personas envueltas en la venta del producto. El mtodo de encriptacin parece ser muy eficiente ya que es bastante dificil desencriptar un mensaje oculto y sobre todo si los involucrados se preocupan de la confidencialidad de los datos personales, ya sea cambiando seguidamente las claves o cambiando el lugar donde se guardan stas

Algoritmos HASH (II): Atacando MD5 y SHA-1


Este artculo es una colaboracin enviada por LordHASH Algunos de los algoritmos de HASH ms utilizados, que son sobre los que trabajaremos, son los siguientes:

MD5 (Message-Digest Algorithm 5 o Algoritmo de Firma de Mensajes 5): Desarrollado por Ron Rivest, ha sido hasta los ltimos aos el algoritmo hash ms usado. Procesa mensajes de una longitud arbitraria en bloques de 512 bits generando un compendio de 128 bits. Debido a la capacidad de procesamiento actual esos 128 bits son insuficientes, adems de que una serie de ataques criptoanalticos han puesto de manifiesto algunas vulnerabilidades del algoritmo. Puede ser til para comprobar la integridad de un fichero tras una descarga, por ejemplo, pero ya no es aceptable desde el punto de vista del criptoanlisis. SHA-1 (Secure Hash Algorithm 1 o Algorimo de Hash Seguro 1): El SHA-1 toma como entrada un mensaje de longitud mxima 264 bits (ms de dos mil millones de Gigabytes) y produce como salida un resumen de 160 bits. Este nmero es mayor que el que se utilizaba en el algoritmo SHA original, 128 bits. Ya existen nuevas versiones de SHA que trabajan con resmenes de 224,256,384 e incluso 512 bits.

En realidad, lo seguros o inseguros que estos algoritmos sean no depende de los conocimientos informticos o telemticos que uno tenga, sino de sus conocimientos matemticos. Nuestra intencin es demostrar por dnde cojean los algoritmos de HASH, la dificultad computacional que presentan, y qu soluciones se dan a los posibles ataques que puedan sufrir por parte de individuos malintencionados. Desde el ao 2004 aproximadamente, cuando saltaron las primeras noticias escandalosas sobre la ruptura de MD5, la seguridad que ofrecen los algoritmos de HASH a nuestros esquemas de cifrado ha sido una cuestin que se ha puesto en entredicho. Qu seguridad ofrecen estos algoritmos? Resulta computacionalmente complejo romper uno de estos algoritmos? Qu solucin se debe adoptar? Intentaremos resolver estas cuestiones. Intentemos dar una descripcin algo ms matemtica de lo que es una funcin HASH. Supongamos que tenemos un mensaje a, al que aplicamos una funcin resumen a la que llamaremos h. Decimos entonces que el resultado de esta operacin, al que llamaremos b es el HASH de a. Es decir: h(a)=b

Esta funcin debe ser sencilla de realizar para un computador, pero debe ser computacionalmente imposible realizar la operacin inversa, al menos para usuarios normales. Adems, esta funcin tiene otra caracterstica: el tamao de la entrada no es de longitud fija, puede ser de longitud variable. Esto tiene la siguiente consecuencia, que no demostraremos matemticamente, pero que asumiremos por estar razonado en otros artculos publicados en Internet (al final se indican): es posible que dos mensajes de entrada a produzcan el mismo mensaje de salida b. Es decir, es posible encontrar un mensaje c, tal que: h(c)=b Sin embargo, encontrar ese mensaje debe ser, al igual que la particularidad antes mencionada, muy complejo desde el punto de vista computacional. Para los algoritmos de HASH esto es lo que se conoce como colisin: que dos mensajes de entrada produzcan el mismo mensaje de salida. As, a priori, podemos establecer dos posibles vulnerabilidades de las funciones HASH:

Que sea posible realizar la operacin:


h-1(b)=a Habitualmente, a la operacin de invertir la funcin HASH comprobando todas las posibilidades para los bits de salida se le llama ataque de fuerza bruta. Esto es lo que debe ser computacionalmente impracticable. Supondra aplicar la funcin HASH 2 n veces hasta encontrar la coincidencia (n es el nmero de bits de salida de la funcin).

Que se hallen colisiones:


h(a)=b y h(c)=b, a distinto de c Lo que antes hemos denominado colisin.

Estas dos posibles debilidades dan lugar a cuatro tipos de ataques:

Ataque Tipo 1: El atacante es capaz de encontrar dos mensajes al azar que colisionan pero es incapaz de hacerlo de forma sistemtica. Si es capaz de dar slo con dos mensajes que provocan colisin, esta no es razn suficiente para tildar el algoritmo de ineficiente. ndice de peligrosidad: * Ataque Tipo 2: El atacante es capaz de generar dos mensajes distintos de forma que sus HASH colisionen, pero sin saber a priori qu hash resultar. Es decir, el atacante no podra generar queriendo el HASH que necesite para fines maliciosos. ndice de peligrosidad: ** Ataque Tipo 3: El atacante es capaz de construir un mensaje sin sentido de forma que su HASH colisione con el de un mensaje con sentido. Si ste es el caso, el agente malicioso puede atacar algoritmos de encriptacin asimtricos con firma digital, haciendo que se firmen mensajes sin sentido, y que el destinatario los acepte como fidedignos. ndice de peligrosidad: *** Ataque Tipo 4: El atacante es capaz de crear un segundo mensaje falso que tiene sentido y cuyo hash colisiona con el del mensaje verdadero. En este caso, el atacante puede actuar con total impunidad, puede falsificar certificados, firmar mensajesEl resultado sera desastroso. ndice de peligrosidad: ****.

El problema entonces es el siguiente: cmo de difcil es encontrar una solucin? Qu ataques reales son practicables? Qu se gana incrementando el nmero de bits de salida del algoritmo? En primer lugar, responderemos a la ltima pregunta. Si aumentamos el nmero de salida del algoritmo, el ataque de fuerza bruta ser ms impracticable y tambin encontrar los mensajes que colisionen, pues tericamente se cumple que para confiar podemos encontrar dos mensajes que colisionen no hay que realizar 2n operaciones, si 2n/2. Realicemos algunos clculos para realizar ataques de fuerza bruta: bits de lo ser en que no slo

Para una clave de 12 dgitos, escrita con un teclado con 97 caracteres (base 97), habra que realizar (esto no tiene nada que ver con los algoritmos de HASH):
9712 = 693.842.360.995.438.000.295.041 comprobaciones.

Para MD5, la salida es de 128 bits, sera necesario realizar:


2128=3402823669 * 1038 operaciones.

Trabajemos ahora con los ataques basados en bsqueda de colisiones:

Para MD5, la salida es de 128 bits, luego hay que operar sobre la mitad de bits, y sera necesario realizar:
264=18.446.744.073.709.551.616 operaciones.

Para el algoritmo SHA 1, cuya salida es de 160 bits:


280=1.208.925.819.614.629.174.706.176 operaciones. Curiosidad: 1.000.000 de ordenadores capaces de procesar en 1 s cada operacin tardaran ms de 38.000 aos en las 280 operaciones.

Y para los ms desconfiados e incluso paranoicos: qu hay de las supercomputadoras y de la gente que s dispone de los medios necesarios? Cuando saltaron las primeras alarmas sobre estos algoritmos, hace unos dos aos, las cifras eran las siguientes:

Para romper el SHA-0 completo se ha requerido un supercomputador de BULL de 256 procesadores durante unos 9 aos de proceso, pero al supercomputador que est instalando IBM en la UPC (Barcelona) slo le costara del orden de 1 ao. Otro grupo de investigadores, Wang, Feng, Lai, y Yu han reportado haberlo conseguido con una complejidad aproximadamente 2000 veces menor (240 en vez de 251). Esta reduccin equivaldra a una necesidad de clculo de algo menos de 1 da, si la relacin fuese lineal, pero los mismos investigadores han reportado necesitar slo 1 da con un IBM P690 en cluster, para romper el MD5, que tiene una complejidad equivalente.

Por tanto, lo habitual no es que nos ataque desde uno de estos grandes usuarios (tienen cosas ms interesantes que hacer, dira yo) si no que nos ataque un cracker o similares (ACLARACIN: No incluyamos a los seores programadores en esto, los hackers. Gracias a Richard Stallman).

Lo habitual es que este tipo de usuarios realicen ataques basados en diccionarios, como la aplicacin para u/Linux John the Ripper. Este tipo de aplicaciones tiene una base de datos con claves comunes, que prueban sobre los sistemas a los que queremos acceder (por ejemplo Sistemas basados en UNIX donde se almacenan los resmenes HASH de el nombre de usuario y su clave para autenticar). Ante esto slo hay una solucin: EVITAR LAS PASSWORDS ABSURDAS. No sirve (marta -tkm ni maria-secreto) ok?? Concluyendo, dependiendo de su nivel de paranoia crptica y de la aplicacin que estn utilizandoescojan su algoritmo de HASH, pero no acepten menos de SHA-1. Cuando un algoritmo empieza a presentar vulnerabilidades no tarda mucho en ser aniquilado, as que a algunos de estos les queda poco tiempo de vida. Fuentes:

http://www.infosec.sdu.edu.cn/paper/md5-attack.pdf http://www.md5database.net/ http://www.eumed.net/cursecon/ecoinet/seguridad/resumenes.htm

Ir a Algoritmos HASH (I): Introduccin

Meneame Divlgame Divoblogger Bitacoras Reddit Delicious Facebook Twitter

Autor: ^DiAmOnD^ | Publicado el 18 de April de 2007 Comments Off Categoras: Colaboraciones, Criptografa, Informtica

Algoritmos HASH (I): Introduccin


Este artculo es una colaboracin enviada por LordHASH En primer lugar, trataremos de abordar de forma sencilla este concepto para aquellos que no lo conozcan. Podemos decir que un HASH no es ms que un nmero resumen. De hecho, en muchos sitios web podis encontrar expresiones como checksum MD5, lo que literalmente se traduce por suma de comprobacin. As, el concepto no es complicado, pero s su implementacin. Pongamos un ejemplo: supongamos que tenemos un fichero cualquiera. Pues bien, si consideramos dicho fichero como un flujo de bits y le aplicamos un algoritmo de HASH lo que obtenemos es otro conjunto de bits (de longitud fija y que depende del nmero de bits de salida del algoritmo o funcin que utilicemos) que depende bit a bit del contenido del flujo original de bits que sirvi como entrada al algoritmo. Adems, cumplen las siguientes propiedades: Todos los HASHes generados con una funcin de hash tienen el mismo tamao, sea cual sea el mensaje utilizado como entrada. Dado un mensaje, es fcil y rpido mediante un ordenador calcular su HASH. Es imposible reconstruir el mensaje original a partir de su HASH. Es imposible generar un mensaje con un HASH determinado.

Es decir, un algoritmo de HASH no es un algoritmo de encriptacin, aunque s se utiliza en esquemas de cifrado, como algoritmos de cifrado asimtrico (por ejemplo en el RSA). Ahora bien, tener una funcin de estas caractersticas puede tener muchas aplicaciones. Algunas de ellas pueden ser las siguientes:

Comprobacin de integridad de ficheros: Supongamos que queremos transmitir un fichero a un amigo. Si antes de realizar este envo calculamos la funcin HASH del fichero, para nuestro amigo del otro extremo es posible verificar la integridad del fichero aplicando el mismo algoritmo al archivo que recibe. Si ambos coinciden, podemos asegurar que el envo ha sido satisfactorio. sta es una aplicacin real que se utiliza, por ejemplo, para comprobar la integridad de muchos paquetes que se descargan en distribuciones del sistema operativo GNU/Linux. Seguridad en procesos de identificacin en sistemas: Los procesos de identificacin (Login+Password) se ven reforzados por estos algoritmos. Se utilizan de la siguiente forma: cuando un usuario accede a su computadora debe introducir su nombre de usuario y su password. Pues bien, si el sistema operativo no registra estos datos como texto claro, si no que registra el resultado de aplicarles una funcin HASH, en el caso de que un usuario malicioso logre acceder a nuestro archivo de registros no conseguir (a menos que el algoritmo utilizado sea malo o disponga de una supercomputadora) revertir el contenido de dicho registro, y por tanto no puede acceder a nuestro sistema. Esta misma idea se aplica en identificacin de usuarios en muchas webs, con la diferencia de que para que este esquema sea seguro debe incluir informacin adicional y aleatoria, como marcas de tiempo y redundancias. Firma digital: Estos algoritmos se utilizan en esquemas de firma digital para verificar la integridad de la informacin enviada por el canal de comunicaciones. Algoritmos de cifrado asimtrico, como RSA por ejemplo, realizan lo siguiente: calculan la funcin HASH del contenido del mensaje que se va a enviar y luego se firma dicho checksum con la clave privada del emisor. As se asegura la integridad de la informacin y el no repudio.
En el prximo post veremos algo ms sobre ataques a dos algoritmos HASH: MD5 ySHA1. Ir a Algoritmos HASH (II): Atacando MD5 y SHA-1

o o o o o o o o

Meneame Divlgame Divoblogger Bitacoras Reddit Delicious Facebook Twitter

Autor: ^DiAmOnD^ | Publicado el 16 de April de 2007 Comments Off Categoras: Colaboraciones, Criptografa, Informtica

Criptografa: Resumen
Para cerrar totalmente la serie de posts sobre criptografa, voy a realizaros una especie de ndice desde el cual podis acceder a cada post.

Introduccin Cifrado por sustitucin I y cifrado por sustitucin II Otros tipos de cifrado Descifrando un criptograma Cifrado de clave privada Cifrado de clave pblica I y cifrado de clave pblica II Introduccin a los cifrados cunticos Protocolo de distribucin de clave BB84

Meneame Divlgame Divoblogger Bitacoras Reddit Delicious Facebook Twitter

Autor: Fran | Publicado el 29 de January de 2007 Comments Off Categoras: Criptografa, Informtica

Criptografa: Protocolo de distribucin de clave BB84


El cifrado de Vernam
El protocolo de cifrado que se usa en criptografa cuntica es posiblemente el ms sencillo de todos y hasta ahora, el nico que se ha demostrado que es irrompible, el cifrado de Vernam, o One Time Pad. Como ya se ha explicado anteriormente, no me extender demasiado, solamente dir que consiste en una clave 100% aleatoria (no vale pseudoaleatoria) de igual longitud que el mensaje y que lo nico que hay que hacer para cifrar es un XOR con el mensaje y la clave. Cul es el problema? Que solo se puede usar una vez, porque si usramos dos veces la misma clave, el problema de encontrar el texto en claro sera trivial para cualquier criptoanalista. Entonces, si no podemos usar la misma clave dos veces, tendremos que hacer llegar la clave al receptor de alguna manera, o bien quedando con l antes o a travs de un canal seguro. La idea del canal seguro es intil, porque si de verdad exisitiera no tendramos ni que cifrar el mensaje, respecto a lo de quedar antes en persona, es lo que se sola hacer para usar este cifrado, como los cuadernos con claves de un solo uso que se usaban en la Segunda Guerra Mundial y que Stephenson narra perfectamente en su Criptonomicn. Pero hoy da, la opcin de los cuadernos de un solo uso queda totalmente fuera de uso y es poco til en comunicaciones industriales y operaciones que se realizan a diario. En definitiva, tenemos el sistema ideal de cifrado, sencillo y eficaz, pero no podemos usarlo por un pequeo problema tcnico a la hora de distribuir la clave. La mecnica cuntica viene a solucionar este problema proponiendo un mtodo para distribuir una clave binaria, tan larga como se quiera, totalmente aleatoria y asegurndose de que solo el emisor y el receptor la poseen, justo lo que necesitamos.

(Leer el resto del post)

Meneame Divlgame Divoblogger Bitacoras Reddit Delicious Facebook Twitter

Autor: Fran | Publicado el 17 de January de 2007 Comments Off Categoras: Ciencia, Criptografa, Informtica

Criptografa: Introduccin a los cifrados cunticos


Vuelve la saga de la criptografa, esta vez con dos posts que intentarn explicar algo de la tan desconocida (incluso por m) criptografa cuntica. Estos dos posts han sido escritos para nosotros por Sergio, al que le damos las gracias por su colaboracin y por su gran explicacin de este tema. Este post no contiene mucho acerca de la criptografa cuntica en s, sino ms bien es un post de conceptos y trminos que se usarn en el siguiente post. Esperemos que todos aprendamos cosas interesantes de estos posts, y por cierto decir que yo no tengo ni la ms remota idea de estos temas as que las dudas sern difciles de solucionar por m.

Sobre la polarizacin de la luz.


El problema de la criptografa cuntica es que, aunque su protocolo sea sencillo, necesita unos conocimientos de mecnica cuntica para entenderlo. Intentar en este primer punto explicar por encima como se comportan los fotones y que inters tiene esto para nosotros. Pasando por alto la polmica que iniciaron Newton y Huygens sobre la naturaleza de la luz, vamos a empezar suponiendo que la luz se propaga en forma de ondas. Todos hemos visto una onda dibujada como una funcin seno o coseno, y realmente no necesitamos ms, solo hay que darse cuenta que estas ondas estn dibujadas sobre un papel y por tanto son planas, y aunque esto no tiene por que ser siempre as, ya que la direccin de oscilacin puede variar de un punto a otro, ese tipo de ondas no nos interesan. Pues bien, tenemos ondas planas, pero ahora tenemos que tener en cuenta la orientacin del papel, podemos ponerlo perpendicular al suelo, de manera que tendremos una onda verticalmente polarizada, o paralelo al suelo, en cuyo caso ser horizontalmente polarizada. Pero tambin lo podemos ponerlo de manera oblicua, digamos 45 o -45 o incluso cualquier otra orientacin, sin embargo son estas las que nos interesan. Si estudiamos ahora los polarizadores, podemos suponerlos como un filtro formado por rendijas muy pequeas. Estos filtros solo dejan pasar la luz polarizada en la misma direccin que las rendijas, por ejemplo, si tenemos un polarizados horizontal, con las rendijas paralelas al suelo, el papel (siguiendo con el simil de una funcin seno dibujada) podra pasar por ellas si estuviera horizontal, es decir, si la honda fuera horizontalmente polarizada, pero no si fuera vertical. Ahora bien, si la onda fuera oblicua a 45, y recordando un poco de suma de vectores, podemos descomponerla en una componente horizontal y otra vertical, y solo pasara una de las dos componentes, de manera que tendramos la mitad de la luz al final y adems, estara horizontalmente polarizada, por lo que habramos cambiado su polarizacin. Ojo a este punto porque es importante.

Adems, existen otro tipo de polarizadores un poco ms complicado que lo que hacen es actuar como si fueran dos juntos, dejan pasar toda la luz tanto si es horizontal como vertical, y adems no la modifican, pero si es oblicua, la convierten en horizontal o vertical al azar, y adems es un azar puro, nada de procesos caticos deterministas, azar puro y duro. As, si mando una onda a +45 por este polarizador tendr un 50% de probabilidades de obtener una onda horizontal y las mismas de tener una onda vertical. Por supuesto, lo mismo ocurre al revs, tomando un polarizador a 45 y ondas horizontales y verticales. Y si hasta ahora hemos estado trabajando con ondas, la parte ms sorprendente es que la luz tambin se comporta como partculas, y adems estas partculas heredan todas las propiedades de las ondas. Parece que no tiene mucho sentido hablar de la polarizacin de una partcula, entendida como una pequea bolita, pero resulta que efectivamente, los fotones individuales, como partculas, tienen polarizacin, y es con fotones con lo que vamos a trabajar. Post anterior: Cifrado de clave pblica II

Meneame Divlgame Divoblogger Bitacoras Reddit Delicious Facebook Twitter

Autor: Fran | Publicado el 15 de January de 2007 Comments Off Categoras: Ciencia, Criptografa

Criptografa: Cifrado de clave pblica II


Cifrado RSA
El algoritmo fue descrito en 1977 por Ron Rivest, Adi Shamir y Len Adleman (la sigla RSA es Rivest Shamir Adleman) en el MIT. El cifrado RSA es un algoritmo de cifrado de clave pblica (o asimtrico) por bloques, que como todos los cifrados de clave pblica tiene dos claves: una pblica, que se distribuye a los usuarios que quiera el propietario de ella, y otra privada, la cual es guardada en secreto por su propietario. As cuando se enva un mensaje, el emisor usa la clave pblica de cifrado del receptor para cifrar el mensaje y una vez que dicho mensaje llega al receptor, ste se ocupa de descifrarlo usando su clave oculta. El algoritmo sigue los siguientes pasos:

1. Se construye un nmero N, que resulta del producto de dos primos p y q (normalmente son nmeros muy grandes). Teniendo N = p q y (N) = (p-1) (q-1) 2. Se selecciona un nmero e,1 < e < (N), tal que MCD (e, (N)) = 1 (e y (N) son primos relativos). 3. Se calcula el inverso de e, denotado por d, tal que e d = 1 (mod (N)) 4. Con esto se consiguen las claves (e, d), siendo la clave pblica (e, N) y la clave privada (d, N).

Una vez tenemos las claves podemos pasar a cifrar/descfirar los mensajes:

Cifrado: C = Me (mod N) con MCD (M, N) = 1 y M < N Descifrado: M = Cd (mod N)

La seguridad de este algoritmo radica en que no hay maneras rpidas conocidas de factorizar un nmero grande en sus factores primos utilizando computadoras tradicionales. (Ms informacin en Wikipedia) (Leer el resto del post)

Meneame Divlgame Divoblogger Bitacoras Reddit Delicious Facebook Twitter

Autor: Fran | Publicado el 20 de December de 2006 Comments Off Categoras: Criptografa, Informtica, Matemticas discreta, Nmeros primos

Criptografa: Cifrado de clave pblica I


Qu es el cifrado de clave pblica?
Un cifrado de clave pblica (o asimtrica), es aquel cifrado que se basa en el uso de una pareja de claves, pblica y privada, de las cuales una se usa para cifrar y la otra para descifrar. Ambas claves estn relacionadas por una funcin trampa, suele ser una funcin matemtica. Las claves se calculan usando la funcin y la inversa de sta, siendo la funcin inversa la funcin trampa al ser muy difcil o imposible de calcular.

Funcin irreversible x A, f(x) fcil de calcular y f(A), x = f-1(y) difcil de calcular Funcin trampa x = f-1(y) Es calculable conociendo la trampa de la funcin. Pero sin conocer dicha trampa, y = f(x) es unidireccional. Adems la trampa slo se puede calcular con la clave privada.

(Leer el resto del post)

Meneame Divlgame Divoblogger Bitacoras Reddit

Delicious Facebook Twitter

Autor: Fran | Publicado el 15 de December de 2006 Comments Off Categoras: Criptografa, Informtica, Matemticas discreta

Criptografa: Cifrado de clave privada


Qu es un cifrado de clave privada?
Un cifrado de clave privada (o simtrico), se basa en un algoritmo/mtodo/cifrado que usa una nica clave para cifrar/descifrar los mensajes/criptogramas. Como ya os coment existe un principio, el llamado principio de Kerkhoff, que dice que todos los algortmos de cifrados y descifrados deben ser pblicos y conocidos por todos, por tanto lo nico secreto es la clave del algortmo, esta clave se convierte en la piedra angular del algortmo. En este principio se basan todos los cifrados de clave privada, en mantener secreta la clave bajo cualquier medio, ya que es lo nico que no permite a los usuarios malintencionados descifrar nuestros mensajes. Para ello la clave se comparte por canales seguros (ya veis que este es su punto dbil, ya que si tenemos un canal seguro no necesitamos un cifrado) entre los interlocutores del mensaje. (Leer el resto del post)

Meneame Divlgame Divoblogger Bitacoras Reddit Delicious Facebook Twitter

Autor: Fran | Publicado el 17 de November de 2006 Comments Off Categoras: Criptografa, Informtica

Criptografa: Descifrando un criptograma


Hoy Microsiervos ha publicado un post enlazando a los posts de criptografa que estoy haciendo durante estos das, esto no sera nada interesante de no ser porque ha lanzado un pequeo reto criptolgico (est como quin no quiere la cosa). As que he pensado, pues quin mejor que nosotros para intentar resolverlo a modo de juego? Por ello os voy a dejar el criptograma, como el juego de hoy:

KVZIEBCEN CKYIECDVG DBCOOVK HN CKYCFEUFJ ECZHIKUCF MIBEVG FHOHFD NQXVWXIV NWQFWQG HG IHF FH EQF AB EWHB XI GAEEXD WJP JZPWC ABCADL WP TYA RIW DYPJ YPWBOYS XL AXLB APYTIOWL ENTOJXGCM FVMMCD ND ENJBMD FGXMD VGXM OG BMDO RPI EKFSKRPJV QXUVAZPJ QXSHJXSAVP HJXHXVKE LXJ Z.Q. JPLXJSV Hay que avisar que yo todava no os he hablado de criptoanlisis, lo estoy dejando para el final, as que por ahora lo nico que podis hacer es ir probando con los diferentes mtodos que os he mostrado. En Microsiervos, dan unos cuantos consejos o instrucciones a seguir, se supone que usa un mtodo de cifrado bsico como podra ser un Csar, aunque no llegaron a encontrar una solucin (el mensaje original est en ingls), as que sin mirar en San Google intentar resolver el problema. (Leer el resto del post)

Meneame Divlgame Divoblogger Bitacoras Reddit Delicious Facebook Twitter

Autor: Fran | Publicado el 8 de November de 2006 Comments Off Categoras: Criptografa, Juegos

Criptografa: Otros cifrados


Cifrado por transposicin o permutacin
Cada letra (o carcter) se intercambia por otra del mensaje, reordenando de algn modo las letras, pero no disfrazndolas. Para este tipo de cifrado se usan mltitud de mtodos, como colocar las letras en una matriz de una manera y sacarlas de otra manera diferente.

Cifrado Vernam
Segn el principio de Kerkhoff todos los algortmos de cifrados y descifrados deben ser pblicos y conocidos por todos, lo nico secreto es la clave del algortmo, esta clave se convierte en la piedra angular del algortmo. Basndose en este principio, el cifrado perfecto (el cifrado Vernam) debe ser pblico con su clave en secreto y sta debe tener la misma longitud del mensaje, ser generada aleatoriamente y solamente puede ser usada una sla vez. Para cifrar el mensaje se realiza una operacin XOR (or exclusivo) entre el mensaje y la clave. Como se puede observar este mtodo sera perfecto de no ser porque cada clave generada aleatoriamente debera ser generada tambin aleatoriamente e idntica a la del emisor, por el receptor del mensaje, algo que en principio es muy dficil.

1 - DLL Activex
Este ejemplo utiliza un ocx y una DLL gratuita creada por Seve Robins que permite encriptar y desencriptar cualquier tipo de archivos. Vista previa:

Para encriptar se utiliza el mtodo EnCrypt. para desencripar se usa DeCrypt El ejemplo que est en el Zip, lee en un control RichTextBox el contenido de un archivo txt que est en la carpeta. Luego, al presionar el botn Encriptar, el resultado se visualiza en otro control RichTextBox. Por ltimo para desencriptar el contenido del RichTextbox2, se muestra un MsgBox con el resultado. Nota: Yo lo he probado encriptando un archivo binario, precisamente un fichero de tipo .bmp. Si bien esto se puede hacer con las funciones de vb Open Binary read y write para leer y escribir la cadena encriptada y desencriptada (lo ideal), yo lo hice de una forma rpida para hacer la prueba y ver si funcionaba bien con el control RichtextBox, usando los mtodos LoadFile y SaveFie del control Richtext. Si lo probs usando el RichText, ten en cuenta que una ves desencriptado el fichero binario, al guardarlo con saveFile, debes especificar en el parmetro del Rich (vFlags) el valor 1 (binario), si es un archivo de texto plano, no es necesario indicar nada en ese parmetro.

Importante: Registrar la dll y el ocx en el sistema para que funcione.


Descargar ocx y dll

2 - Control Ocx Binary converter


Este control tiene dos mtodos , uno llamado TextToBinary que permite pasar un texto a binario, y otro mtodo para realizar el procedimiento inverso , llamado BinaryToText Ejemplos : Para poder encriptar datos y guardarlo en un fichero :

Dim ret As String ' Crea un nuevo archivo Open "c:\archivo.txt" For Output As #1 ' ejecuta el mtodo para pasarlo a binario ret = binary1.TextToBinary("Datos a encriptar") ' escribe en el fichero Print #1, ret Close #1 ' cierra

Para hacer el proceso inverso con el mtodo BinaryToText

Dim datos As String Open "c:\archivo.txt" For Input As #1 ' lee el contenido de Archivo.txt Input #1, datos ' visualiza los datos desencriptados en un control Text1 Text1.Text = binary1.BinaryToText(datos) Close #1 ' cierra

Encriptacin de Datos Como sabemos, en un Sistema de Comunicacin de Datos, es de vital importancia asegurar que la Informacin viaje segura, manteniendo su autenticidad, integridad, confidencialidad y el no repudio de la misma entre otros aspectos. Estas caractersticas solo se pueden asegurar utilizando las Tcnicas de Firma Digital Encriptada y la Encriptacin de Datos. Mtodos de encriptacin: Para poder Encriptar un dato, se pueden utilizar tres procesos matemticos diferentes: Los algoritmos HASH, los simtricos y los asimtricos.

Algoritmo HASH: Este algoritmo efecta un clculo matemtico sobre los datos que constituyen el documento y da como resultado un nmero nico llamado MAC. Un mismo documento dar siempre un mismo MAC.

Algoritmos Simtricos: Utilizan una clave con la cual se encripta y desencripta el documento. Todo documento encriptado con una clave, deber desencriptarse, en el proceso inverso, con la misma clave. Es importante destacar que la clave debera viajar con los datos, lo que hace arriesgada la operacin, imposible de utilizar en ambientes donde interactuan varios interlocutores.

Algoritmos Asimtricos (RSA): Requieren dos Claves, una Privada (nica y personal, solo conocida por su dueo) y la otra llamada Pblica, ambas relacionadas por una frmula matemtica compleja imposible de reproducir. El concepto de criptografa de clave pblica fue introducido por Whitfield Diffie y Martin Hellman a fin de solucionar la distribucin de claves secretas de los sistemas tradicionales, mediante un canal inseguro. El usuario, ingresando su PIN genera la clave Publica y Privada necesarias. La clave Publica podr ser distribuida sin ningn inconveniente entre todos los interlocutores. La Privada deber ser celosamente guardada. Cuando se requiera verificar la autenticidad de un documento enviado por una persona se utiliza la Clave Publica porque el utiliz su Clave Privada. Firma Digital Descripcin El concepto de firma digital naci como una oferta tecnolgica para acercar la operatoria

social usual de la firma olgrafa (manuscrita) al marco de lo que se ha dado en llamar el ciberespacio o el trabajo en redes. Es la transformacin de un mensaje utilizando un sistema de cifrado asimtrico de manera que la persona que posee el mensaje original y la clave pblica del firmante, pueda establecer de forma segura, que dicha transformacin se efectu utilizando la clave privada correspondiente a la pblica del firmante, y si el mensaje es el original o fue alterado desde su concepcin. Las transacciones comerciales y el hecho de tener que interactuar masiva y habitualmen6te por intermedio de redes de computadoras le dio lugar al concepto. Pero slo despus que los especialistas en seguridad y los juristas comenzaran a depurarlo alcanz un marco de situacin como para ocupar un lugar en las actuaciones entre personas (jurdicas o reales). Se intenta hacer coincidir el modelo de firma digital con los requerimientos y virtudes que debe tener una firma y as darle validez a esta mecnica. El fin es el mismo de la firma olgrafa: dar asentimiento y compromiso con el documento firmado. El papel es el medio de almacenamiento, y el mecanismo es alguno de los tipos de impresin posibles (tinta, lser, manuscrito, etc.). Esta cualidad fsica le da entidad al documento, contiene sus trminos, conceptos y sentidos de una manera perdurable, y al ser un elemento fsico cualquier alteracin dejar seales identificables. Pero estas mismas cualidades traen aparejados inconvenientes que el uso de sistemas de computacin podra evitar. Ciertamente los papeles ocupan lugar y pesan demasiado, resulta complejo y molesto buscar informacin en ellos (requiriendo de la accin humana ya sea al archivarlos y/o al rescatarlos), y el compartir los documentos tambin resulta inconveniente. Ventajas Ofrecidas por la Firma Digital El uso de la firma digital satisface los siguientes aspectos de seguridad:

Integridad de la informacin: la integridad del documento es una proteccin contra la modificacin de los datos en forma intencional o accidental. El emisor protege el documento, incorporndole a ese un valor de control de integridad, que corresponde a un valor nico, calculado a partir del contenido del mensaje al momento de su creacin. El receptor deber efectuar el mismo clculo sobre el documento recibido y comparar el valor calculado con el enviado por el emisor. De coincidir, se concluye que el documento no ha sido modificado durante la transferencia.

Autenticidad del origen del mensaje: este aspecto de seguridad protege al receptor del documento, garantizndole que dicho mensaje ha sido generado por la parte identificada en el documento como emisor del mismo, no pudiendo alguna otra entidad suplantar a un

usuario del sistema. Esto se logra mediante la inclusin en el documento transmitido de un valor de autenticacin (MAC, Message autentication code). El valor depende tanto del contenido del documento como de la clave secreta en poder del emisor.

No repudio del origen: el no repudio de origen protege al receptor del documento de la negacin del emisor de haberlo enviado. Este aspecto de seguridad es ms fuerte que los anteriores ya que el emisor no puede negar bajo ninguna circunstancia que ha generado dicho mensaje, transformndose en un medio de prueba inequvoco respecto de la responsabilidad del usuario del sistema. Aspectos tcnicos A diferencia de la firma manuscrita, que es un trazo sobre un papel, la firma digital consiste en el agregado de un apndice al texto original, siendo este apndice, en definitiva, la firma digital; al conjunto formado por el documento original ms la firma digital se lo denominar mensaje. Este apndice o firma digital es el resultado de un clculo que se realiza sobre la cadena binaria del texto original. En este clculo estn involucrados el documento mismo y una clave privada (que, generalmente, pertenece al sistema de clave pblica-privada o sistema asimtrico) la cual es conocida slo por el emisor o autor del mensaje, lo que da como resultado que para cada mensaje se obtenga una firma distinta, es decir, a diferencia de la firma tradicional, la firma digital cambia cada vez con cada mensaje, porque la cadena binaria de cada documento ser distinta de acuerdo a su contenido. A travs de este sistema podemos garantizar completamente las siguientes propiedades de la firma tradicional:

Quien firma reconoce el contenido del documento, que no puede modificarse con posterioridad (integridad). Quien lo recibe verifica con certeza que el documento procede del firmante. No es posible modificar la firma (autenticidad). El documento firmado tiene fuerza legal. Nadie puede desconocer haber firmado un documento ante la evidencia de la firma (no repudio). Este sistema utiliza dos claves diferentes: una para cifrar y otra para descifrar. Una es la clave pblica, que efectivamente se publica y puede ser conocida por cualquier persona; otra, denominada clave privada, se mantiene en absoluto secreto ya que no existe motivo para que nadie ms que el autor necesite conocerla y aqu es donde reside la seguridad del sistema. Ambas claves son generadas al mismo tiempo con un algoritmo matemtico y guardan una relacin tal entre ellas que algo que es encriptado con la privada, solo puede ser

desencriptado por la clave pblica. Resumiendo, la clave privada es imprescindible para descifrar criptogramas y para firmar digitalmente, mientras que la clave pblica debe usarse para encriptar mensajes dirigidos al propietario de la clave privada y para verificar su firma. Si bien no se trata de un tema estrictamente tcnico, es conveniente aclarar que en tiempo de generacin de cada par de claves, pblica y privada, podra intervenir otra clave que es la de la Autoridad Certificante que provee la garanta de autenticidad del par de claves generadas, as como tambin, su pertenencia a la persona cuya propiedad se atribuye. Este esquema se utiliza en intercambios entre entidades cuando se trata de transferencias electrnicas de dinero, rdenes de pago, etc. donde es indispensable que las transacciones cumplan con los requisitos de seguridad enunciados anteriormente (integridad, autenticidad y no repudio del origen), pero no se satisface el concepto de confidencialidad de la informacin (secreto)

Ejemplo
Aqu tenemos un ejemplo de cifrado/descifrado con RSA. Los parmetros usados aqu son pequeos y orientativos con respecto a los que maneja el algoritmo, pero podemos usar tambin OpenSSL para generar y examinar un par de claves reales.

p=61 q=53

1 n primo Privado 2 n primo Privado

n=pq=3233 producto p*q e=17 d=2753 exponente Pblico exponente Privado

La clave pblica (e, n). La clave privada es (d, n). La funcin de cifrado es:

Donde m es el texto sin cifrar. La funcin de descifrado es:

Donde c es el texto cifrado. Para cifrar el valor del texto sin cifrar 123, nosotros calculamos:

Para descifrar el valor del texto cifrado, nosotros calculamos:

Ambos de estos clculos pueden ser eficientemente usados por el algoritmo de multiplicacin cuadrtica para exponenciacin modular.