Meccanismo di incapsulamento della chiave

primitiva crittografica che permette di incapsulare una chiave in un crittotesto

Nei protocolli crittografici, un meccanismo di incapsulamento della chiave (o più semplicemente KEM, dall'inglese key encapsulation mechanism) viene utilizzato per proteggere il materiale della chiave simmetrica utilizzando algoritmi asimmetrici (a chiave pubblica)[1]. I cifrari a chiave pubblica non richiedono che gli utenti condividano un segreto prima di comunicare in modo sicuro, ma sono più inefficienti dei cifrari simmetrici per trasmettere messaggi lunghi. L'approccio tradizionale per risolvere questo problema consiste nel generare una chiave simmetrica casuale e inviarla utilizzando l'algoritmo di chiave pubblica scelto; questa chiave viene poi utilizzata per cifrare i messaggi successivi con un algoritmo simmetrico, più efficiente[1].

Definizione formale modifica

Un KEM è definito da una tupla di tre algoritmi probabilistici   definiti come segue[2]:

  •   è un algoritmo di generazione delle chiavi che prende in input il parametro di sicurezza   e restituisce una coppia di chiavi  
  •   è un algoritmo di incapsulamento che prende in input la chiave pubblica   e restituisce un crittotesto   e una chiave  
  •   è un algoritmo che prende in input la chiave segreta   e un crittotesto   e restituisce una chiave  

Un KEM così definito è corretto se per ogni coppia di chiavi   generate dall'algoritmo  , per ogni coppia   generata da  , si ha che  .

Un modo molto semplice per ottenere un KEM è campionare una chiave in modo uniforme e utilizzare un cifrario a chiave pubblica per cifrarla[2].

Esempio: RSA + AES modifica

Usando la stessa notazione impiegata nell'articolo del sistema RSA, supponiamo che Alice abbia trasmesso la sua chiave pubblica   a Bob, mantenendo segreta la sua chiave privata  . Bob deriva una chiave simmetrica M come  , dove con   si indica una funzione di derivazione della chiave (ad esempio, una funzione crittografica di hash); si noti che M potrebbe essere una chiave AES a 128 bit. Infine, Bob calcola il testo cifrato   come segue:

 

Alice può ricavare   da   utilizzando la sua chiave privata   dal seguente calcolo:

 

Dato  , Alice recupera la chiave M derivandola come  .

A questo punto, Alice e Bob condividono una chiave segreta e possono iniziare a scambiarsi messaggi più lunghi e in modo efficiente.

Note modifica

  1. ^ a b Venturi, Cifrari asimmetrici.
  2. ^ a b Katz, Hybrid Encryption and the KEM/DEM Paradigm.

Bibliografia modifica

  Portale Crittografia: accedi alle voci di Wikipedia che trattano di crittografia