Criptografía para las masas

Post on 04-Jun-2015

299 views 6 download

description

Presentación sobre criptografía, dada en el Barcamp Tegucigalpa, 21/Abril/2013

Transcript of Criptografía para las masas

Criptografía para las masasEGDARES FUTCH H.

EFn

¡Gracias por estar acá!

• Hablaremos de los bloques fundamentales de la criptografía, en una forma no geek– Los términos geek serán resaltados en este color

• También hablaremos de las aplicaciones de la criptografía

¿Por qué hablar de esto?

• El primer uso de la criptografía fue para uso militar y de secretos de Estado

• Ahora, tenemos una sociedad donde publicamos nuestros status updates, localizaciones, y hacemos nuestras transacciones en un ambiente abierto y de acceso general

• Necesitamos privacidad de nuestros movimientos, gustos, orientaciones de todo tipo

Además de…

• Las empresas dependen en gran medida de información

• Propiedad intelectual• Acoso del gobierno• Derecho a la privacidad• Derecho a ser anónimo (votaciones, HIV)• Paranoia

¿Cómo es la cosa?

• La criptografía trata de lo siguiente

Mensaje en claro (plaintext)

Llave (key)

Algoritmo

Mensaje cifrado (cyphertext)

Si M es el mensaje en claro, el mensaje cifrado es C, y la función de cifradoE(M) = CD(C) = MEsto hace que D(E(M)) = M

Lo primero es lo primero…

“Un criptosistema debe ser seguro, aún si todo sobre el sistema, excepto la clave utilizada, son de conocimiento público”

- Kerchoff, 1868

Seguridad vs. Oscuridad

• Existen dos clases de criptografía:– La que no deja que tu hermanita

lea tu “libro negro”– La que no deja que la CIA ni la KGB

ni MI6 lean tu “libro negro”

• Nosotros hablaremos sobre esta última, pero veamos por qué se diferencia…

Oscuridad

• Si yo tomo una carta…• La meto en una caja…• Luego escondo la caja en alguna

isla perdida…

Eso es OSCURIDAD

Seguridad

• Si yo pongo la carta en una caja fuerte, y luego les doy:– La caja fuerte, con los planos de

diseño– Cien cajas fuertes iguales a esta, con

todo y las combinaciones– Cien expertos en cajas fuertes, para

que estudien el diseño• Y si aún asi no pueden leer la carta...

• Eso es SEGURIDAD

HABLEMOS AHORA DE CRIPTOGRAFÍA CLÁSICA

Mensajes encubiertos

• Una de las primeras formas de envío de mensajes secretos en la Antigua Grecia fue a través de tatuajes en la cabeza de esclavos, quienes esperaban a que les creciera el pelo para encubrir el mensaje

• Al llegar al destino, se les rasuraba la cabeza

Cómo se hace hoy

• Esteganografía– Esconder información en imágenes, archivos de

audio, o en otro contenido.

– Demostración de imagen, con diferente información en el canal de gamma

El Código de Julio César

• Conocido en estas épocas como ROT13– Substitution cypher

Le Chiffre Indéchiffrable

• Código de Vigenère

CONCEPTOS DE CRIPTOGRAFÍA MODERNA

Eventos aleatorios

• Lanzar al aire un mazo de cartas, y pescar una de ellas– Podríamos ponerle más peso a una carta (resultado sesgado –

biased)• Preguntarle el día de cumpleaños a cualquiera de ustedes

– No es aleatorio, muchas fechas tienen sesgo

Funciones de una vía

• Estas funciones son importantes para la criptografía de llave publica

• Son fáciles de calcular, pero difíciles de invertir– Funciones no invertibles, funciones hash

• Difícil = algo que tomaría mucho tiempo con • Suena bien, pero no se ha demostrado su existencia• Algunas tienen un “secreto” que permite calcular la

inversa fácilmente– Ejemplo: desarmar un reloj

Algoritmos criptográficos

• Un algoritmo criptográfico es una funcion matemática usada para cifrar y descifrar

• Si la seguridad se basa en mantener secreto el algoritmo, se denomina restringido– Recordar: seguridad vs. Oscuridad– Causa de muchas fallas de seguridad– Generalmente, inventado por el programador

Recomendación básica de la criptografía

• La recomendación básica de la criptografía es:

“Si vas a hacer criptografía, no la hagas tú mismo, deja a los profesionales”

Algoritmos de llave secreta

• Algoritmos Simétricos, o de llave secreta– Se utiliza la misma llave para cifrar y descifrar– La seguridad se basa totalmente en esta llave, y si

se pierde o se compromete el sistema falla• Un caso muy sonado: la encriptación de los DVDs

– Existen dos clases• Stream cypher opera un bit a la vez• Block cypher opera sobre bloques de bits

– Rápidos y populares• Ejemplos: DES, 3DES, AES, Blowfish, Rijndael, RC4

Algoritmos de llave pública

• Se tiene una llave para cifrar y otra para descifrar– Se da a conocer a todo el mundo la llave de cifrado (por

eso se llama de llave pública)– Concepto de caja fuerte vs. buzón

• La llave para descifrar no puede adivinarse conociendo la llave de cifrado

• Sólamente quien tenga la llave privada puede leer el mensaje

• Matemáticamente: Función de una vía con trampa• ¿La trampa? ¡La llave privada!

No todo es perfecto

• La criptografía de llave pública es lenta• Uso en el mundo real: se usa la criptografía de

llave pública para cifrar llaves aleatorias que serán usadas en un algoritmo simétrico– Llaves aleatorias, que se intercambian con quien se

desea comunicar usando un algoritmo de llave pública

– Cambian cada conexión (session keys)– Al terminar el intercambio de llaves, inicia la

comunicación cifrada con un algoritmo simétrico• Ejemplo más usado: TLS/SSL

¿Qué más podemos hacer?

• Firmas digitales– Combinación de funciones de una vía

• Votaciones digitales– Verificar que mi voto fue contado– Verificar que los votos fueron hechos por personas– Verificar que el conteo de votos fue hecho correctamente

• Dinero digital– Bitcoin, E-Gold, Ixcoin, BBQCoin

¡Gracias!

• Preguntas o comentarios a:

– E-mail: efutch@gmail.com– Twitter: @efutch

– facebook.com/efutch