Cifrario di Vernam

Questo sistema funziona su dati binari (bit) invece che con le lettere.

Prima di continuare definiamo l'operatore logico XOR.
Notazione: ⨁
Lo XOR (or esclusivo: eXclusive OR) ritorna vero se gli elementi che gli vengono passati sono diversi.

ABXOR
000
011
101
110

A differenza del normale OR che ritorna vero se uno degli elementi passati è vero (1).

Il sistema di Vernam può essere definito come segue:

dove:

  • è l'i-esimo bit del testo in chiaro
  • è l'i-esimo bit della chiave
  • è l'i-esimo bit del testo cifrato
  • è lo XOR

Pasted image 20230316165634.png

La decrittazione di un messaggio crittato utilizzando lo XOR non è altro che l'operazione inversa:
grazie alle proprietà dello XOR.

Esempio:

  • = 00101
  • Testo = 11001010100
Testo11001010100
Chiave00101
XOR (Testo, Chiave)11100011110

La chiave, come in Vigenére si ripete se il messaggio da crittare è più lungo.
Per ottenere, da un messaggio cifrato con Vernam, il messaggio originario, bisogna fare lo XOR (usando la stessa chiave) con il messaggio cifrato.

In sintesi, il cifrario di Vernam non è altro che la versione in bit del cifrario di Vigenére e soffre delle sue stesse vulnerabilità.