You are on page 1of 10

Cifrado XOR

( Encriptacin con palabra clave en computadoras )


Conceptos criptogrcos
Sustitucin: Supone el cambio del signicado de los elementos
del mensaje, un carcter o letra se modica o sustituye por otro
elemento.
Trasposicin: Supone una reordenacin de los elementos del
mensaje, los caracteres o letras del mensaje se redistribuyen sin
modicarse segn las reglas.
Conceptos criptogrcos
Cifrado simtrico: Tambin llamado criptografa de clave secreta o
criptografa de una clave, es un mtodo en el cual se usa una misma
clave para cifrar y descifrar mensajes.
Cifrado asimtrico: Tambin llamada criptografa de clave pblica o
criptografa de dos claves, es un mtodo que usa un par de claves
para el envo de mensajes. Una clave es pblica y se puede entregar a
cualquier persona, la otra clave es privada y pertenece a un
propietario.
Cifrado XOR
Segn este mtodo, el mensaje cifrado se
obtiene a partir de una palabra clave. Se arma
una lista con todas las letras del mensaje
original y se pone en paralelo con otra lista
formada por las letras de la palabra clave
repetida tantas veces como sea necesario.Por
ejemplo, si la palabra clave es SOL y el
mensaje que se quiere enviar es TE HARS
RICO, la tabla quedara:
Ambas columnas deben ser reemplazadas
luego por tiras de bits. Cada letra ser
reemplazada por su identicacin en bits.
Luego se aplica entre ambas columnas el
operador or excluyente conocido como XOR.
37

Un ejemplo de este mtodo es el Atbash, que pone en correspondencia al alfabeto original con el
mismo, pero invertido.

A la letra A, que es la primera, se le asigna la Z que es la ltima. A la B, que es la segunda, le asigna
la Y, que es la penltima. Y as sucesivamente.

La tabla quedara entonces de la siguiente manera:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Z Y X W V U T S R Q P O N M L K J I H G F E D C B A

Por ejemplo, para cifrar la palabra POZO se reemplaza cada letra por su correspondiente en la tabla.
Quedando KLAL.


ENCRIPTACIN CON PALABRA CLAVE EN COMPUTADORAS

Segn este mtodo, el mensaje cifrado se obtiene a partir de una palabra clave. Se arma una lista con
todas las letras del mensaje original y se pone en paralelo con otra lista formada por las letras de la
palabra clave repetida tantas veces como sea necesario. Por ejemplo, si la palabra clave es SOL y el
mensaje que se quiere enviar es TE HARS RICO, la tabla quedara:

T S
E O
H L
A S
R O
A L
S S
R O
I L
C S
O O


Ambas columnas deben ser reemplazadas luego por tiras de bits. Cada letra ser
reemplazada por su identificacin en bits. Luego se aplica entre ambas columnas el
operador or excluyente conocido como XOR.

La columna resultante de la operacin, que est en bits, se traduce a smbolos
siendo se el mensaje cifrado. El receptor, conociendo la palabra clave, vuelve a
armar la tabla con la operacin XOR recuperando de esta manera el mensaje
original.

Para el ejemplo vamos a tomar un alfabeto en el que cada letra se representa con
cinco bits. Codificaremos la palabra RICO con la palabra clave SOL.




Cifrado XOR
La columna resultante de la operacin, que est en
bits, se traduce a smbolos siendo se el mensaje
cifrado. El receptor, conociendo la palabra clave,
vuelve a armar la tabla con la operacin XOR
recuperando de esta manera el mensaje original.
Ejemplo
Para el ejemplo vamos a tomar un alfabeto en el que cada
letra se representa con cinco bits. Codicaremos la palabra
RICO con la palabra clave SOL. El alfabeto con la
representacin en bits que vamos a usar es:
38
El alfabeto con la representacin en bits que vamos a usar es:

A 0 0 0 0 0 P 1 0 0 0 0
B 0 0 0 0 1 Q 1 0 0 0 1
C 0 0 0 1 0 R 1 0 0 1 0
D 0 0 0 1 1 S 1 0 0 1 1
E 0 0 1 0 0 T 1 0 1 0 0
F 0 0 1 0 1 U 1 0 1 0 1
G 0 0 1 1 0 V 1 0 1 1 0
H 0 0 1 1 1 W 1 0 1 1 1
I 0 1 0 0 0 X 1 1 0 0 0
J 0 1 0 0 1 Y 1 1 0 0 1
K 0 1 0 1 0 Z 1 1 0 1 0
L 0 1 0 1 1 * 1 1 0 1 1
M 0 1 1 0 0 # 1 1 1 0 0
N 0 1 1 0 1 & 1 1 1 0 1
0 1 1 1 0 % 1 1 1 1 0
O 0 1 1 1 1 $ 1 1 1 1 1


Tenemos que armar la tabla con los bits de la palabra RICO y de la palabra clave SOL para aplicar el
operador XOR.

Segn la tabla, la R en bits es 10010. La I es 01000. Hacemos lo mismo con todas las letras. Luego
completamos operando con XOR y queda la siguiente tabla:


XOR

1 0 1
0 0 0
0 0 0
1 0 1
R
0 1 1
S
0 0 0
1 0 1
0 1 1
0 1 1
I
0 1 1
O

Cifrado
Tenemos que armar la tabla con los
bits de la palabra RICO y de la
palabra clave SOL para aplicar el
operador XOR.
Segn la tabla, la R en bits es
10010. La I es 01000, y as,
hacemos lo mismo con todas las
letras. Luego completamos operando
con XOR y queda la siguiente tabla:

"#$

% & %
& & &
& & &
% & %
$
& % %
'
& & &
% & %
& % %
& % %
(
& % %
#
! ! !
! # #
! ! !
# ! #

$
! # #
%
! # #
# # !
# # !
# ! #
&
# ! #
'
Cifrado
Veamos los primeros cinco bits de la columna del medio, son 00001.
Observando la tabla del alfabeto vemos que esta cadena de bits representa
a la letra B. La segunda cadena de cinco bits que quedo es 00111 que
representa a la letra H. Las ultimas dos cadenas representan a la letra J y al
smbolo #. La palabra RICO queda entonces encriptada como BHJ#.
38
El alfabeto con la representacin en bits que vamos a usar es:

A 0 0 0 0 0 P 1 0 0 0 0
B 0 0 0 0 1 Q 1 0 0 0 1
C 0 0 0 1 0 R 1 0 0 1 0
D 0 0 0 1 1 S 1 0 0 1 1
E 0 0 1 0 0 T 1 0 1 0 0
F 0 0 1 0 1 U 1 0 1 0 1
G 0 0 1 1 0 V 1 0 1 1 0
H 0 0 1 1 1 W 1 0 1 1 1
I 0 1 0 0 0 X 1 1 0 0 0
J 0 1 0 0 1 Y 1 1 0 0 1
K 0 1 0 1 0 Z 1 1 0 1 0
L 0 1 0 1 1 * 1 1 0 1 1
M 0 1 1 0 0 # 1 1 1 0 0
N 0 1 1 0 1 & 1 1 1 0 1
0 1 1 1 0 % 1 1 1 1 0
O 0 1 1 1 1 $ 1 1 1 1 1


Tenemos que armar la tabla con los bits de la palabra RICO y de la palabra clave SOL para aplicar el
operador XOR.

Segn la tabla, la R en bits es 10010. La I es 01000. Hacemos lo mismo con todas las letras. Luego
completamos operando con XOR y queda la siguiente tabla:


XOR

1 0 1
0 0 0
0 0 0
1 0 1
R
0 1 1
S
0 0 0
1 0 1
0 1 1
0 1 1
I
0 1 1
O


"#$

% & %
& & &
& & &
% & %
$
& % %
'
& & &
% & %
& % %
& % %
(
& % %
#
! ! !
! # #
! ! !
# ! #

$
! # #
%
! # #
# # !
# # !
# ! #
&
# ! #
'
Descifrado
Quien reciba el mensaje deber armar su
tabla con la palabra BHJ# para obtener la
original. Obtendr la siguiente tabla:
Los primeros cinco bits de la columna del
medio son 10010 que representan a la letra
R. Luego, la cadena 01000 representa la
l etra I . Las dos l ti mas cadenas
representan las letras C y O. Qued as la
palabra RICO, que es justamente la original
que estbamos buscando.

XOR

0 1 1
0 0 0
0 0 0
0 1 1
B
1 0 1
S
0 0 0
0 1 1
1 0 1
1 0 1
H
1 0 1
O
! ! !
# ! #
! ! !
! # #
$
# ! #
%
# ! #
# # !
# # !
! # #
&
! # #
'
Fuente
* Encriptacin, Rolando Bardelli, revista Users No122, Junio 2001.
* http://es.wikipedia.org/wiki/Cifrado_XOR
* http://www.soarem.org.ar/Documentos/26%20Russo.pdf

You might also like