1. Què és la Criptografia?

La criptografia és la ciència i l'art de protegir la informació mitjançant la transformació de dades llegibles en un format il·legible per a qualsevol persona que no tingui la clau adequada per desxifrar-les. Aquesta tècnica s'utilitza per garantir la confidencialitat, la integritat i l'autenticitat de la informació.

Conceptes Clau:

  • Confidencialitat: Assegurar que només les persones autoritzades puguin accedir a la informació.
  • Integritat: Garantir que la informació no ha estat alterada de manera no autoritzada.
  • Autenticitat: Verificar la identitat de les parts involucrades en la comunicació.

  1. Història de la Criptografia

La criptografia té una llarga història que es remunta a l'antiguitat. Alguns moments clau inclouen:

  • Antiga Grècia: El dispositiu de xifratge conegut com a "escítala" utilitzat pels espartans.
  • Segona Guerra Mundial: La màquina Enigma utilitzada per l'Alemanya nazi i desxifrada pels aliats.
  • Era Digital: L'ús de la criptografia en la seguretat de les comunicacions electròniques i la protecció de dades en línia.

  1. Tipus de Criptografia

3.1 Criptografia Simètrica

En la criptografia simètrica, la mateixa clau s'utilitza tant per xifrar com per desxifrar la informació.

Característiques:

  • Velocitat: Generalment més ràpida que la criptografia asimètrica.
  • Seguretat: La seguretat depèn de mantenir la clau secreta.

Exemples:

  • AES (Advanced Encryption Standard)
  • DES (Data Encryption Standard)

3.2 Criptografia Asimètrica

En la criptografia asimètrica, s'utilitzen dues claus diferents però matemàticament relacionades: una clau pública per xifrar i una clau privada per desxifrar.

Característiques:

  • Seguretat: La clau pública es pot compartir lliurement, mentre que la clau privada es manté secreta.
  • Ús: Sovint utilitzada per a l'intercanvi segur de claus simètriques.

Exemples:

  • RSA (Rivest-Shamir-Adleman)
  • ECC (Elliptic Curve Cryptography)

  1. Aplicacions de la Criptografia

La criptografia s'utilitza en una àmplia varietat d'aplicacions per protegir la informació:

  • Comunicacions Segures: Protecció de correus electrònics, missatgeria instantània i trucades de veu.
  • Transaccions Financeres: Seguretat en les transaccions bancàries i comercials en línia.
  • Emmagatzematge de Dades: Protecció de dades emmagatzemades en dispositius i servidors.
  • Autenticació: Verificació d'identitats en sistemes d'inici de sessió i accessos.

  1. Exemples Pràctics

Exemple 1: Xifratge Simètric amb AES

from Crypto.Cipher import AES
from Crypto.Random import get_random_bytes

# Generar una clau simètrica
key = get_random_bytes(16)

# Crear un objecte de xifratge
cipher = AES.new(key, AES.MODE_EAX)

# Xifrar un missatge
data = b'Hola, món!'
nonce = cipher.nonce
ciphertext, tag = cipher.encrypt_and_digest(data)

print(f"Missatge xifrat: {ciphertext}")

Exemple 2: Xifratge Asimètric amb RSA

from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_OAEP

# Generar claus pública i privada
key = RSA.generate(2048)
private_key = key.export_key()
public_key = key.publickey().export_key()

# Xifrar un missatge amb la clau pública
cipher = PKCS1_OAEP.new(RSA.import_key(public_key))
ciphertext = cipher.encrypt(b'Hola, món!')

print(f"Missatge xifrat: {ciphertext}")

  1. Exercicis Pràctics

Exercici 1: Xifratge i Desxifratge Simètric

  1. Genera una clau simètrica.
  2. Xifra un missatge de text.
  3. Desxifra el missatge xifrat.

Exercici 2: Xifratge i Desxifratge Asimètric

  1. Genera un parell de claus pública i privada.
  2. Xifra un missatge amb la clau pública.
  3. Desxifra el missatge xifrat amb la clau privada.

  1. Resum

En aquesta secció, hem introduït els conceptes bàsics de la criptografia, incloent-hi la seva història, tipus i aplicacions. Hem vist exemples pràctics de xifratge simètric i asimètric, i hem proposat exercicis per reforçar els conceptes apresos. En la següent secció, aprofundirem en la criptografia simètrica, explorant els seus algorismes i aplicacions en detall.

© Copyright 2024. Tots els drets reservats