Crittografia

  • Messaggio, cifrario, chiave
  • Emittente: testo in chiaro -> cifratura -> testo cifrato
  • Ricevente: testo cifrato -> decifratura -> testo in chiaro
  • Crittoanalisi: decrittazione
  • Crittologia: crittografia + crittoanalisi

RISORSE

Algoritmi

Storici

  • Per sostituzione
  • Per trasposizione, poligrafici

Moderni

  • Crittografia simmetrica (Chiave segreta, DES, AES)
  • Crittografia asimmetrica (Chiave pubblica, chiave segreta, RSA, DSA)

Riepilogo

Tecnica di crittografia Emittente Messaggio trasmesso Ricevente
Nessuna m m m
Messaggio cifrato f(m) c f-1(c)
Simmetrica f(m, k) c f-1(c, k)
Asimmetrica f(m, pk) c f-1(c, sk)

Crittografia simmetrica

Cronologia

  • 1972
    1974: Richieste pubbliche di uno standard di cifratura
  • 1975: DES, pubblicazione
  • 1977: FIPS PUB 46, standard
  • 1988: FIPS 46-1
  • 1993: FIPS 46-2
  • 1999: FIPS 46-3, si raccomanda il Triple DES (TDES, 2TDES)
  • 2001: FIPS 197: AES (Advanced Encryption Standard), selezionato con competizione internazionale
  • 2005: Ritiro del FIPS 46-3

DES

  • Data Encryption Standard
  • il nome originale dell’algoritmo ideato da IBM era DEA (Data Encryption Algorithm) e derivava dal progetto Lucifer
  • il blocco in chiaro è di 64 bit
  • il testo cifrato è della stessa lunghezza
  • la chiave ha 56 bit (IBM intendeva utilizzare una chiave a 128 bit ma l’NSA ha spinto per 64 bit per poi giungere a 56 bit)
  • 8 parole di 8 bit, ogni parola è di 7 bit e un bit di parità
  • 16 fasi identiche di
    • espansione
    • miscelazione con la chiave
    • sostituzione
    • permutazione
  • Altri sistemi simili: RC5, Blowfish, IDEA, NewDES, SAFER, CAST5 e FEAL
  • Evoluzioni: DES-X, GDES

AES

  • Advanced Encryption Standard
  • il blocco in chiaro è di 128 bit
  • la chiave può essere di 128, 192 o 256
  • l’implentazione software è più veloce del DES
  • proposto da due crittografi belgi col nome Rijndael, deriva da Square e SHARK
  • primo classificato su Serpent, Twofish, RS6, MARS, …

RISORSE ONLINE

Crittografia asimmetrica

Chiave pubblica e chiave privata

  1. X genera una chiave pubblica PK e una chiave privata SK
  2. X rende nota la chiave pubblica a chiunque voglia comunicare con lui
  3. Y scrive il messaggio m, lo cifra tramite la chiave pubblica di X e lo spedisce a X
  4. X riceve il messaggio cifrato c, lo decifra tramite la chiave privata e ottiene m

Osserva

  • Se Z conosce la chiave pubblica PK e intercetta c non può ottenere m perché non conosce la chiave privata SK.
  • Se Z vuole scoprire la chiave privata SK deve risolvere un problema numerico noto ma difficilissimo

RSA

  • Rivest Shamir Adleman
  • il nome è l’acronimo dei cognomi di tre ricercatori del MIT
    • Ronald Rivest
    • Adi Shamir
    • Leonard Adleman
  • presentato nel 1978
  • brevettato nel 1983
  • scaduto nel 2000
  • per forzarlo è necessario fattorizzare un numero enorme come prodotto di due numeri primi
  • oggi viene considerato sicuro (non fattorizzabile) un numero che in base 10 ha almeno 300 cifre, quindi una chiave di 1024 bit e oltre

Generazione delle chiavi

Scelgo due numeri primi a caso (grandi a piacere…)

  • p = 3
  • q = 11

Calcolo

  • (p-1)(q-1)
    2*10 = 20
  • n = p*q
    3*11 = 33

Scelgo

  • e = 7 tale che
    • e < n
    • coprimo con (p-1)(q-1)
  • d = 3 tale che
    • e*d mod (p-1)(q-1) = 1
      3*7 mod 20 = 21 mod 20 = 1

Ottengo

  • PK = (n,e) = (33, 7), chiave pubblica
  • SK = (n,d) = (33, 3), chiave privata
Cifratura Decifratura
Sia m = 15 il messaggio in chiaro.

Calcolo: c = me (mod n)

  • 157 (mod 33) = 27

e lo spedisco

Ricevo il messaggio cifrato c = 27.

Calcolo: m = cd (mod n)

  • 273 (mod 33) = 15

e ottengo il messaggio in chiaro!

DSA

  • Digital Signature Algorithm
  • Un’alternativa alla difficoltà dell’operazione di fattorizzazione
  • Utilizza il logaritmo discreto

RISORSE ONLINE