Firma digitale

Obiettivi

  • autenticazione: il destinatario può verificare l’identità del mittente
  • non ripudio: il mittente non può disconoscere il documento da lui firmato
  • integrità: il destinatario non può modificare un documento firmato da qualcun altro.

Il “Codice dell’amministrazione digitale” prevede

  1. firma elettronica generica (firma elettronica “semplice”)
  2. firma elettronica avanzata
  3. firma elettronica qualificata
  4. firma digitale.

Ancora…

  • firma grafometrica

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

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

Cifrario di Cesare

Il Cifrario di Cesare:

Per ogni carattere del messaggio

  1. considera il suo codice ASCII: A –> 65
  2. incremento il codice di 3: 65 –> 68
  3. converti il codice in carattere: 68 –> D
  4. analogamente (-3) per decifrare ogni carattere del messaggio cifrato.
In chiaro A B C D E F
Cifrato (+3) D E F G H I
Decifrato (-3) A B C D E F

Prova…

In chiaro

Codici
Codici+3
Cifrato

Per rendere la cifratura più simile a quella tradizionale

  1. filtra il messaggio in modo che sia costituito soltanto da lettere dalla A alla Z
  2. considera circolare la trasformazione +3.
In chiaro A B C ... X Y Z
Cifrato (+3) D E F ... A B C
Decifrato (-3) A B C ... X Y Z

Prova...

In chiaro

Filtrato
Cifrato

ROT13

Un caso particolare e curioso di cifrario

  • la trasformazione utilizzata è +13
  • le operazioni di cifratura e decifratura possono essere svolte con la stessa funzione!
In chiaro A B C ... X Y Z
Cifrato (+13) N O P ... K L M
Decifrato (+13) A B C ... X Y Z

Prova...

In chiaro

Filtrato
Cifrato

Crittografia

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

Algoritmi storici

  • Per sostituzione
  • Per trasposizione, poligrafici

Algoritmi moderni

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)

RISORSE