IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Criptografia

Introducció

La criptografia es la pràctica d'amagar la informació.

Actualment es considera una branca tant de les matemàtiques com de la informàtica i està molt relacionada amb la Teoria de la Informació i la seguretat en sistemes informàtics.

Conceptes

Text en clar: Missatge original comprensible (no té perquè ser un text).

Xifratge: Procés de convertir el text en clar en text xifrat.

Text xifrat o criptograma: Text final (a priori incomprensible) resultat d'aplicar una xifra.

Algorisme de xifrat, Xifra o codi: "Cifra” és una antiga paraula àrab per designar el número zero. El sistema numèric romà no utilitzava el zero i es creu que aquest número era considerat misteriós, enigmàtic, màgic.

Clau: Informació secreta que adapta l'algorisme de xifrat per a cada ús distint. Normalment l'aplicació d'un algorisme o un altre depèn de l'existència d'un codi o clau.

Desxifrar: És el procés invers de recuperació del text en pla a partir del seu criptograma i la seva clau.

Protocol criptogràfic: Especifica els detalls de com utilitzar els algorismes i les claus per obtenir el text xifrat a partir del text en clar i viceversa.

Cripto-sistema: És el conjunt de protocols, algorismes de xifrat, processos de gestió de claus, etc. amb els quals un usuari interacciona.

Proces criptologic dlrh.png

Criptografia clàssica

Tècniques més senzilles de xifrat (criptografia clàssica).

  • Substitució: modificar elements bàsics del missatge (lletres, dígits, símbols...)
  • Transposició: reordenar elements bàsics del missatge
  • Codis preestablerts: "cel blau" -> "atacar pel matí"

La majoria de xifres clàssiques són combinacions de les dues tècniques

IMPORTANT: “Encriptar” i “desencriptar” són neologismes no admesos com a paraules vàlides en molts diccionaris però són normatius (surten al diccionari de l'IEC)

Codi del Cèsar

El xifrat César, també conegut com xifrat per desplaçament, es una de les técniques de codificació més simples i més usades.

Es un mètode que es pot atacar mitjançant la força bruta, per tant no es molt segura.

Exemple: Desplaçament de 3 lletres

  • “Estan bojos estos romans”
  • “Hvwçq drmrv hvwrv urpeqv”

Esteganografia

És la branca de la criptologia que tracta sobre l'ocultació de missatges per tal d'evitar que se'n conegui l'existència.

  • Del grec "Steganographia": escriptura secreta
  • És un art i una ciència d'amagar el missatge
  • Xifratge + esteganografia: Sistema encara més segur.

Exemples:

  • Marques d'aigua (watermarks) en les imatges.
  • La imatge conté un missatge secret.
  • Exemple en practica: Exercici Esteganografia

Criptografia Simètrica "Moderna"

S'utilitza una sola clau tant per al xifratge com el desxifratge.

  • L'emissor i el receptor utilitzen la mateixa clau.
  • L'únic sistema públicament conegut fins al 1976.

Inconvenient principal

  • La gestió de la clau: la clau s'ha de protegir i no es pot enviar durant la comunicació (podria ser interceptada).
  • Cal que la clau es faci arribar al destinatari per algun mitjà alternatiu.

Tipus:


  • Xifradors de bloc: Sistema de xifratge de clau simètrica que opera sobre grups de bits de llargada fixa.
  • Xifradors de flux: Xifren els text bit a bit.

Criptografia Asimètrica "De clau pública i privada"

Tipusclaus dlrh.png
  • La criptografia asimètrica, coneguda també com criptografia de clau pública, és una forma de criptografia en la qual la clau utilitzada per xifrar un missatge difereix de la clau utilitzada per desxifrar-lo.
    • Clau pública: S'utilitza per xifrar els missatges
    • Clau privada: La clau privada es manté en secret i és la que permet desxifrar els textos xifrats amb una clau pública
  • La clau pública i privada estan matemàticament relacionades però la clau privada no es pot obtenir a partir de la pública
  • També coneguda com criptografia asimètrica
  • En termes computacionals és més lenta que la criptografia simètrica

Comporta:

  • Autenticitat
    • Establir una cosa o persona com l'autèntica. Ens permet confirmar la identitat d'una cosa o persona.
  • Confidencialitat
    • Assegurar-se que la informació és només accessible per a les persones amb accés autoritzat.
  • No repudiació
    • Permet provar que les dades han estat enviades i que ni emissor ni/o receptor poden negar la emissió i/o recepció.
  • Integritat
    • Assegurar-se que la informació no ha estat modificada.

SSH

GPG (GNU Privacy Guard)

Es una ferramenta de xifrat i firmes digitals que ja estan inclosos en els sistemes "FreeBSD, OpenBSD, NetBSD i totes les distribucións GNU/Linux."

Instal·lació

$ sudo apt-get install gnupg

Resultat

[email protected]:~$ gpg --gen-key
gpg (GnuPG) 1.4.11; Copyright (C) 2010 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

gpg: /home/danny/.gnupg: directorio creado
gpg: creado un nuevo archivo de configuración `/home/danny/.gnupg/gpg.conf'
gpg: AVISO: las opciones en `/home/danny/.gnupg/gpg.conf' no están aún activas en esta ejecución
gpg: anillo «/home/danny/.gnupg/secring.gpg» creado
gpg: anillo «/home/danny/.gnupg/pubring.gpg» creado
Por favor seleccione tipo de clave deseado:
   (1) RSA y RSA (predeterminado)
   (2) DSA y Elgamal
   (3) DSA (sólo firmar)
   (4) RSA (sólo firmar)
¿Su selección?: 3
las claves DSA pueden tener entre 1024 y 3072 bits de longitud.
¿De qué tamaño quiere la clave? (2048) 
El tamaño requerido es de 2048 bits
Por favor, especifique el período de validez de la clave.
         0 = la clave nunca caduca
      <n>  = la clave caduca en n días
      <n>w = la clave caduca en n semanas
      <n>m = la clave caduca en n meses
      <n>y = la clave caduca en n años
¿Validez de la clave (0)? 
La clave nunca caduca
¿Es correcto? (s/n) s 

Necesita un identificador de usuario para identificar su clave. El programa
construye el identificador a partir del Nombre Real, Comentario y Dirección
de Correo electrónico de esta forma:
    "Heinrich Heine (Der Dichter) <[email protected]>"

Nombre y apellidos: Danny Rueda Hurtado
Dirección de correo electrónico: [email protected]
Comentario: Gos!
Ha seleccionado este ID de usuario:
    «Danny Rueda Hurtado (Gos!) <[email protected]>» 

¿Cambia (N)ombre, (C)omentario, (D)irección o (V)ale/(S)alir? v
Necesita una frase contraseña para proteger su clave secreta.

Es necesario generar muchos bytes aleatorios. Es una buena idea realizar
alguna otra tarea (trabajar en otra ventana/consola, mover el ratón, usar
la red y los discos) durante la generación de números primos. Esto da al
generador de números aleatorios mayor oportunidad de recoger suficiente
entropía.
gpg: WARNING: some OpenPGP programs can't handle a DSA key with this digest size
 ++++++++++..+++++.+++++.+++++...+++++.++++++++++.++++++++++..++++++++++...+++++..++++++++++.......++++++++++..+++++..+++++++++++++++++++++++++.+++++.++++++++++.+++++>+++++.>..+++++.........<+++++>+++++......<+++++.>+++++..

Comprovació

[email protected]:~$ gpg --list-keys
/home/danny/.gnupg/pubring.gpg
------------------------------
pub   2048D/E6700A69 2011-12-01 
uid                  Danny Rueda Hurtado (Gos!) <[email protected]> 

pub   2048D/FDB3847E 2011-12-01
uid                  Danny Rueda Hurtado <[email protected]>

[email protected]:~$

Generació de claus amb un altre programari

SeaHorse

Instal·lació

$ sudo apt-get install seahorse

Xifratge

Xifratge dlrh.png

La clau pública s'utilitza per xifrar i la privada per desxifrar

Qualsevol ens pot enviar un missatge xifrat sense necessitat de compartir un secret (clau privada)

Implementa la confidencialitat en un sistema de comunicacions.

Signatura

Signatura dlrh.png

La clau privada s'utilitza per signar i la pública per verificar la firma

Qualsevol pot verificar que un missatge és nostre (autèntic) utilitzant la nostra clau pública.

Implementa l'autenticació i la no repudiació en un sistema de comunicacions

Enllaços

Criptografia
Steganografia