# Xifrat de Vernam

El xifrat Vernam és un algorisme criptogràfic inventat per Gilbert Sandford Vernam (1890-7 de febrer de 1960), enginyer AT&T Bell Labs, el 1917.

## Funcionament

En terminologia moderna, un xifrat de Vernam és un xifrat de flux en el qual el text en clar es combina, mitjançant l'operació XOR, amb un flux de dades aleatòries o pseudoaleatòries de la mateixa mida, per generar un text xifrat. L'ús de dades pseudoaleatòries generades per un generador de nombres aleatoris criptogràficament segur, és una manera comuna i efectiva de construir un xifrat en flux. Cada caràcter es troba representat en codi binari ja sigui segons els valors de la taula ASCII o la taula de codi Baudot, normalment amb 5 bits. El procediment per a xifrar seria sumar amb XOR en modul 2 cada caràcter corresponent, ja que la mida de la clau ha de ser igual o més gran que la del text que volem xifrar.
Funcionament de la comparació XOR :
| Missatge | Clau | Bit de sortida XOR |
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
Entenent C$_i$ com cada caràcter xifrat, m$_i$ com cada caràcter a xifrar i k$_i$ com la seqüència binaria aleatòria, obtindríem la següent operació: per a i=1,2,3...n on n és el nombre de caràcters del text que volem xifrar.
Per a desxifrar un missatge utilitzarem el mateix algorisme basat en la XOR, ja que aquesta es pot fer al revés, això si, necessitarem la paraula clau que hem utilitzat per a xifrar-lo i aplicarem la següent fórmula matemàtica:
'c$_i$ XOR k$_i$= m$_i$'
És a dir, que el missatge és igual a la funció XOR aplicada a cada bit dels caràcters tant de la paraula en clau, como de la seva respectiva lletra o número segons el codi de Baudot o el codi ASCII, depenent de quin s'hagi aplicat.
El RC4 és un exemple de xifrat de Vernam que s'utilitza amb freqüència en Internet.

## Exemple del funcionament

A continuació veurem un exemple on xifrarem la frase "Viquipèdia enciclopèdia lliure" utilitzant la taula de Baudot de 5 bits.
| Missatge | Text pla | Clau |
| Viquipèdia enciclopèdia lliure | viquipediaenciclopedialliure | paraulaclourandomabcdefghijk |
| | 28 caràcterss | |
Haurem d'associar a cada caràcter els seus respectius 5 bits de la taula de Baudot i utilitzar l'operació XOR per a cada bit de cada caràcter.
En aquest cas, el xifrat de la frase Viquipèdia enciclopèdia lliure amb el codi de Baudot, seria:
1IX5E52UH4IIFRUR5YOUK231L33G

## Ús

Posteriorment a la invenció del xifrat de Vernam, Joseph Mauborgne va proposar que la cinta de paper contingués informació completament aleatòria. Les dues idees, combinades amb l'ús únic de les claus, implementen la llibreta d'un sol ús, encara que cap dels dos inventors van utilitzar aquest nom.
Claude Shannon, també de la Bell Labs, va demostrar que la llibreta d'un sol ús és irrompible (treball realitzat entre 1940 i 1945; publicat per primera vegada en la Bell Labs Technical Journal, 1948-1949). És el primer i únic mètode de xifrat per al qual existeix tal demostració.
El mètode Vernam va ser utilitzat durant la Segona Guerra Mundial per espies de diverses nacionalitats, als quals se'ls donava una seqüència binària aleatòria amb la recomanació d'utilitzar-la amb un únic procés de xifrat.

## Variants

En l'actualitat el xifrat de Vernam pot ser utilitzat amb diferents codificacions per l'alfabet, entre elles, es pot utilitzar la codificació ASCII, però, per a utilitzar l'operació XOR, el criptograma pot tenir codis de control de la taula ASCII, és a dir, no imprimibles, pel que és necessari representar el criptograma amb el número de codi ASCII, generalment s'utilitza la numeració hexadecimal per utilitzar només dos dígits per símbol.

## Referències

* ↑ Google Patents (US 1310719 A): Secret signaling system
* 1 2 «Xifrat Vernam» (en español). Arxivat de l'original el 2016-12-20. [Consulta: 11 desembre 2016].
* ↑ Khan, 1967.

## Bibliografia

* Kahn, David. The Codebreakers. Macmillan, 1967. ISBN 0-684-83130-9.
* Schmeh, Klaus. Kryptografie, 2007. ISBN 978-3-89864-435-8.