1. Cifrado de Vernam 2. Permutación por Renglones/Columnas

Anuncio
Criptografı́a - 2016
.
1.
Cifrado de Vernam
Es un cifrado binario que plantea el uso de códigos alfanuméricos para el cifrado. Fue inventado por Gilbert Vernam, un ingeniero de los laboratorios Bell
de la AT&T en 1919. Usando el código de Baudot para teletipos patentó la
operación de sustitución primitiva de los actuales sistema de cifrado: la XOR
(aunque no a nivel de bits sı́ a nivel de relé). Es un sistema seguro pues la clave
es aleatoria y de un solo uso (one-time pad).
001010
⊕ 000001
001011
110000
110101
000101
101001
011011
110010
110001
111100
001101
100101
000011
100110
110010
001111
111101
101101
000010
101111
100101
110001
010100)
El mensaje cifrado es c = B5nDbxkK.
1.2.
Descifrado
En este caso, la operación lógica se realiza entre la clave y el texto cifrado.
1.1.
Cifrado
La clave debe ser del mismo largo que el mensaje; de lo contrario ésta se repite
tantas veces hasta cubrir la longitud del mensaje. Cada sı́mbolo del mensaje y
de la clave se sustituye por su equivalente en ASCII (o cualquier otro código
binario alfanumérico), y se operan sı́mbolo a sı́mbolo por medio de la operación
lógica XOR.
Ejemplo. Se cifrará el texto m = Alemania con la clave k = 1pQw3F 2m. El
primer paso será emparejar el mensaje con cada sı́mbolo de la clave. En este
caso, la clave es aleatoria y del mismo tamaño del mensaje.
A l
1 p
e
Q
m
w
a n
3 F
i
2
000
001
010
011
100
101
110
111
001
8
9
A
B
C
D
E
F
010
G
H
I
J
K
L
M
N
011
Ñ
O
P
Q
R
S
T
U
100
V
W
X
Y
Z
a
b
c
101
d
e
f
g
h
i
j
k
Al convertir los caracteres en binario y cifrar:
A l
1 p
1
e
Q
m
w
a n
3 F
i
2
s
o
⊕
t
K
9
6
C
v
H
Q
Y
B
G
9
111000 111001 001001 001100 010001 100011 010000
110100 010100 000110 111011 011011 001011 001001
001100 101101 001111 110111 001010 101000 011001
El texto plano es c = CiF rAdO.
a
m
Para este ejemplo, se utilizará el código binario alfanumérico de la siguiente
tabla:
000
0
1
2
3
4
5
6
7
Ejemplo. Se descifrará c = st9CHY G con la clave k = oK6vQB9, trabajando
del mismo modo que en el cifrado, pero ahora con la clave y el texto cifrado:
a
m
110
l
m
n
ñ
o
p
q
r
111
s
t
u
v
w
x
y
z
2.
Permutación por Renglones/Columnas
Permite fragmentar el mensaje en renglones (o columnas) para ocultar el significado del mensaje al revolver las letras. La clave será el número de renglones
(o columnas) a utilizar, y a partir de ella se escribe el mensaje original.
2.1.
Cifrado
Consiste en escribir el texto plano de arriba a abajo e izquierda a derecha (de
izquierda a derecha y arriba a abajo para columnas) a lo largo de los renglones. De esta forma se creará una matriz que si no es llenada completamente,
se agregan caracteres poco usados. Una vez completa la matriz, se concatenan
los renglones (o columnas) uno tras otro comenzando por el renglón superior
(o la columna más hacia la izquierda).
Ing. Aldo Jiménez Arteaga
Criptografı́a - 2016
Ejemplo. Al cifrar el mensaje m = HOY ES DIA F ERIADO con 4 renglones, el texto cifrado quedará como:
R1
R2
R3
R4
H
O
Y
E
S
D
I
A
F
E
R
I
A
D
⇒ c = R1 R2 R3 R4
O
X
3.
Transposición por Renglones/Columnas con
Clave
Aplica en la misma forma que la transposición, excepto que el número de renglones (columnas) está determinado por una clave, y que el orden alfabético
dentro de las letras de clave indica el orden de la concatenación. La clave no
debe contener letras repetidas.
∴ c = HSF AODEDY IROEAIX
2.2.
3.1.
Descifrado
Cifrado
Se divide la longitud del texto cifrado entre el número de renglones (columnas);
el resultado será el número de columnas (renglones). El texto cifrado se divide
en bloques del tamaño del número de columnas (renglones) y se escriben en la
matriz. Finalmente, se lee el texto plano según el sentido de cifrado.
Se llena la matriz de cifrado, y el mensaje se coloca al lado (o debajo) de cada
letra de la clave. Se reordenan los renglones (columnas) atendiendo al orden alfabético de la palabra clave; la concatenación se realiza con base en esta nueva
disposición.
Ejemplo. Para descifrar el texto cifrado c=FRTOIOIMCSTXHIUWENLK
por medio de 5 columnas, se obtiene el número de renglones de la matriz:
Ejemplo. Con la clave k
CIU DAD DE M EXICO.
|c| = 20 ⇒
B
C
D
X
20
=4
5
Entonces el texto cifrado se divide en bloques de cuatro letras, cada uno de las
cuales es una columna de la matriz:
c = F RT O
IOIM
CST X
⇓
C1 C2 C3
F
I
C
R O S
T
I
T
O M X
∴ m = F ICHERO
C4
H
I
U
W
SIN
HIU W
Si la transposición se realiza utilizando dos renglones, el sistema se conoce como transposición simple y no es necesario completar la matriz. Otro caso es
cuando se realiza el cifrado más de una vez; es decir, el texto cifrado entra a
una nueva transposición. En este caso el sistema se conoce como transposición
múltiple.
2
L
U
E
C
O
D
M
O
BALON se cifrará el mensaje m
N
A
A
I
⇒
E
D
W
I
B
C
D
X
L
U
E
C
N
A
E
W
=
O
D
M
O
∴ c = IDICDXU ECAEW DM O
EN LK
C5
E
N
L
K
T IT U LO
A
I
D
I
=
3.2.
Descifrado
Se realiza de la misma forma que en transposición por renglones (columnas),
pero el primer grupo será el correspondiente a la primera letra de la clave en
orden alfabético, el segundo grupo a la segunda letra y ası́ sucesivamente.
Ejemplo. Para este caso se descifrará el mensaje c=EOOÑÑJUMAWATATKMSSNA con k = ROM A por renglones.
|c|
20
=
⇒5
|k|
4
Ing. Aldo Jiménez Arteaga
Criptografı́a - 2016
4.2.
Con cinco columnas se forma la matriz
A
M
O
R
E
J
A
M
O
U
T
S
O
M
A
S
e
R
N
O
W
⇒
M
K
A
A
e
N
A
T
N
M
A
J
E
S
T
U
O
S
A
M
O
N
T
A
e
N
A
K
W
e
N
eA
∴ M = M AJEST U OSA M ON T AN
4.
Descifrado
El texto cifrado se dividirá en grupos del tamaño de la permutación, y se obtiene la permutación inversa. Para la inversa se ordenan los elementos de la
permutación al mismo tiempo que se desordenan sus posiciones; las posiciones
en desorden son la permutación inversa. Con la inversa se procede de igual
forma que el cifrado.
Ejemplo. Descı́frese el mensaje c = DEASP CN EAM OP W ZOAID con la
permutación k = 625314. La permutación inversa se calcula antes del descifrado:
6 2 5 3 1 4
1 2 3 4 5 6
⇒
∴ k −1 = 524631
1 2 3 4 5 6
5 2 4 6 3 1
Transposición por Grupos
Este tipo de transposición utiliza una permutación; es decir, una reordenación
de las letras de subgrupos de tamaño fijo dentro del texto plano.
Ahora, se trabaja con el mensaje:
DEASP C
4.1.
Cifrado
El texto plano se divide en tantos grupos como sea posible, atendiendo al
número de elementos de la permutación. Cada grupo se reordena siguiendo la
permutación de manera independiente, sin alterar el orden en que aparecen en
el mensaje original. Si es necesario, se rellena algún bloque incompleto.
Ejemplo. Cı́frese el mensaje m = JARDIN BOT AN ICO con la permutación k = 45231. La permutación tiene cinco elementos, entonces cada bloque
tendrá cinco letras, rellenándose el último.
m = JARDI
N BOT A
N EAM OP
Bloque 1:
D
1
E
2
A
3
S
4
P
5
Bloque 2:
N
1
E
2
A
3
M
4
O
5
Bloque 3:
W
1
Z
2
O
3
A
4
I
5
C
6
W ZOAID
⇒
P
5
E
2
S
4
P
6
⇒
O
5
E
2
M
4
D
6
⇒
I
5
Z
2
A
4
C
6
A
3
P
6
D
6
A
3
O
3
D
1
N
1
W
1
Por lo que el texto plano es m = P ESCADO EM P AN IZADO.
N ICOX
Cada letra se numera atendiendo a su posición dentro del bloque, y se reordena
según la permutación k = 45231:
Bloque 1:
J
1
A
2
R
3
Bloque 2:
N
1
B
2
O
3
Bloque 3:
N
1
I
2
C
3
D
4
I
5
⇒
D
4
I
5
A
2
R
3
J
1
T
4
A
5
⇒
T
4
A
5
B
2
O
3
N
1
O
4
X
5
⇒
O
4
X
5
I
2
C
3
N
1
Entonces, el texto cifrado es c = DIARJT ABON OXICN .
3
Ing. Aldo Jiménez Arteaga
Descargar