Esercizio chiavi asimmetriche

Alice: A, chiave privata: pr_A, chiave pubblica: pu_A
Bob: B, chiave privata: pr_B, chiave pubblica: pu_B

vogliamo scambiare messaggi M e garantire:
- integrità: ?
- segretezza: ?
- autenticità: ?
- (non ripudio: ?)

funzioni:

  • cri(<messaggio>,<chiave>): cifra il messaggio <messaggio> con la chiave <chiave> e restituisce un <messaggio_cifrato>
  • dec(<messaggio_cifrato>,<chiave>): decifra il messaggio <messaggio_cifrato> con la chiave <chiave>
  • NB1 le chiavi funzionano solo in coppia, un messaggio cifrato  con una chiave puo' essere decifrato solo la chiave complementare della stessa coppia.
  • NB2 tutti hanno le chiavi pubbliche di tutti, ognuno possiede solo la propria chiave privata

esercizio1 - autenticità:

  • A deve inviare il messaggio M1 a B garantendone l'autenticità
  • M2 = cri(M1, pr_A) : A cifra il messaggioi in chiaro M1 con la propria chiave privata e ottiene un messaggio cifrato M2
  • A trasmette il messaggio cifrato M2 a B
  • M1 = dec(M2, pu_A): B decifra M2 con la chiave pubblica di A e riottiene il messaggio in chiaro M1
  • se si decifra con pu_A il messaggio è stato per forza cifrato con pr_A che ha solo A, quindi è garantita l'autenticità

esercizio2: - riservatezza

  • A deve inviare il messaggio M1 a B garantendone la riservatezza
  • ?
  • ?
  • ?
  • ?

esercizio3: - riservatezza e autenticità

  • A deve inviare il messaggio M1 a B garantendone riservatezza e autenticità
  • ?
  • ?
  • ?
  • ?
  • ?
  • ?
esercizio4:
  • dec(cri(M, pr_A),pu_A) = ? 
  • dec(cri(M, pr_A),pu_A)==dec(cri(M, pu_A),pr_A)?
Last modified: Friday, 5 February 2016, 10:00 AM