Cifratura autenticata

La cifratura autenticata combina confidenzialità/riservatezza degli schemi di cifratura e l’integrità/autenticità dei codici per l’autenticazione di messaggi

Non falsificabile

Uno schema di cifratura a chiave privata $\Pi$ è non falsificabile se per ogni $A$ PPT esiste una funzione trascurabile $negl$ tale che $Pr[Enc\text{-}Forge_{A,\Pi}(n) = 1] \leq negl(n)$

Cifratura autenticata

Uno schema di cifratura a chiave privata $\Pi$ è uno schema di cifratura autenticata se è CCA-sicuro e non falsificabile

Approcci

La combinazione più sicura è cifra e poi autentica: il mittente trasmette il cifrato $<c,t>$ calcolato come $c \leftarrow Enc_{k_E}(m)$ e $t= Mac_{k_M}(c)$

Il ricevente verifica il tag $t$: se risulta corretto decifra $c$ e dà in output $m$, altrimenti $\perp$

Funziona per ogni generica istanziazione delle primitive, assumendo che il Mac sia fortemente sicuro

Costruzione

Sia $\Pi_E = (Enc, Dec)$ uno schema di cifratura a chiave privata e sia $\Pi_M = (Mac, Vrfy)$ un MAC, dove in entrambi i casi la generazione delle chiavi viene effettuata semplicemente scegliendo una chiave uniforme di $n$ bit

Sicurezza

La sicurezza forte del Mac implica:

  1. $A$ non può produrre $t'$ su qualsiasi nuovo $c'$ $\Rightarrow (Gen', Enc', Dec')$ non è falsificabile
  2. $A$ non può produrre $<c,t>$ di cui chiedere la decifratura all’oracolo in $PrivK_{A, \Pi}^{cca}$ $\Rightarrow$ l’oracolo $Dec'(\cdot)$ è inutile $\Rightarrow$ $A$ agisce esattamente come in $PrivK_{A, \Pi}^{cpa}$

Teorema