Problemas de aplicación de matrices

:
producto de matrices e inversa por el método de Gauss-Jordan
Probablemente alguno de ustedes haya leído La fortaleza digital, de Dan Brown. Para los que no lo
hayan hecho, les contaré a grandes rasgos de qué trata esta novela, que es una mezcla de novela
policiaca, suspenso y ciencia ficción.
La historia se centra en dos personajes principales, Susan Fletcher y David Becker, que son pareja.
David es un modesto profesor de idiomas de la Universidad de Georgetown. Por su parte, Susan es una
una criptógrafa excepcionalmente buena que trabaja para la Agencia de Seguridad Nacional. Un día la
NSA recibe un mensaje encriptado que no han podido descifrar, ni siquiera con ayuda de la
supercomputadora más poderosa que haya sido fabricada, TRANSLATR. El mensaje fue enviado por
Ensei Tankado, que resulta ser un antiguo empleado de la NSA, que después de muchos años de haber
trabajado para ésta, decide rebelarse contra el sistema oculto de vigilancia al que se somete a la
sociedad sin que alguien sepa que están violando su privacidad. Se sabe que el mensaje le dará acceso a
cualquier ciudadano a la base de datos de la NSA, para que así el poder de la información no esté en
manos de unos cuantos. La clave para descifrar el mensaje está grabada en un anillo que le pertenece a
Tankado, pero nadie sabe donde está.
Ese mismo día David planeaba pedirle matrimonio a Susan, pero un superior le ofrece un trabajo: ir en
busca del anillo de Tankado. Aunque David no tiene idea de la magnitud e importancia de la misión,
acepta ir a Sevilla, donde está el cadáver de Tankado, y aplaza la propuesta que iba a hacerle a Susan.
Las matrices son una herramienta básica para la criptografía, permiten codificar mensajes de una forma
en principio sencilla. Se tiene el mensaje, el cual debe de separarse en grupos de letras, de tal modo que
todos tengan el mismo número de ellas y después se escoge una matriz que servirá para encriptar el
mensaje.
Escogí un mensaje que al final le escribe David a Susan:
Queridísima Susan:
Te quiero
Sin cera,
David
David siempre firmaba sus cartas para Susan con un sin cera, que Susan nunca pudo descifrar por más
que lo intentó.
A continuación le mostraré el procedimiento para encriptar los mensajes.
Primero hay que darle valores a las letras del alfabeto, escogí darle números primos a cada letra.
A B C D E F G H I
1

2

3

5

7

J

K L M N Ñ O P Q R S T U V W X Y Z

11 13 17 19 23 29 31 37 41 43 47 51 53 57 59 61 67 71 79 83 87 89

Así, el mensaje sin codificar, se escribe de la siguiente forma:
53 67 7 57 19 5 19 59 19 37 1 59 67 59 1 41 61 7 53 67 19 7 57 47 59 19 41 3 7 57 1 5 1 71 19 5
Ahora procederemos a agrupar el mensaje de manera que se obtenga vectores cuyos componentes sean
los números equivalentes a las letras. No hay una restricción sobre el número de elementos que deben
tener los vectores--sólo deben ser los mismos en todos los grupos--, en este caso decidí dividirlo en seis
vectores de seis elementos cada uno, que equivale a escribir el mensaje en grupos de seis letras:
QUERID ISIMAS USANTE QUIERO SINCER ADAVID
α
Q
U
E
R
I
D

β
I
S
I
M
A
S

53
67
7
57
19
5

α=

γ
U
S
A
N
T
E

19
59
19
37
1
59

δ
Q
U
I
E
R
O

67
59
1
41
61
7

ε
S
I
N
C
E
R

53
67
19
7
57
47

ζ
A
D
A
V
I
D

59
19
41
3
7
57

1
5
1
71
19
5

     
53
67
7
57
19
5

β=

19
59
19
37
1
59

67
59
1
41
61
7

γ=

δ=

53
67
19
7
57
47

ε=

59
19
41
3
7
57

ζ=

1
5
1
71
19
5

Para codificar el mensaje, se necesita usar una matriz cualquiera que permitirá la transformación del
mensaje. Escogí la siguiente matriz Ω:

Ω=

2
1
0
0
2
1

1
4
0
5
0
4

1
0
6
1
0
3

1
0
1
7
0
1

2 0
0 1
4 5
0 0
8 1
1 10

Así, para codificar el mensaje de David, multiplicamos los vectores formados por seis letras, por la
matriz Ω.

Ωα = α-1 =

Ωβ = β-1 =

Ω γ = γ-1 =

Ω δ = δ-1 =

Ωε = ε-1 =

Ωζ = ζ-1 =




   
  
  
  
   
   
2
1
0
0
2
1

1
4
0
5
0
4

1
0
6
1
0
3

1
0
1
7
0
1

2 0
0 1
4 5
0 0
8 1
1 10

53
67
7
57
19
5

2
1
0
0
2
1

1
4
0
5
0
4

1
0
6
1
0
3

1
0
1
7
0
1

2 0
0 1
4 5
0 0
8 1
1 10

19
59
19
37
1
59

2
1
0
0
2
1

1
4
0
5
0
4

1
0
6
1
0
3

1
0
1
7
0
1

2 0
0 1
4 5
0 0
8 1
1 10

67
59
1
41
61
7

2
1
0
0
2
1

1
4
0
5
0
4

1
0
6
1
0
3

1
0
1
7
0
1

2 0
0 1
4 5
0 0
8 1
1 10

53
67
19
7
57
47

2
1
0
0
2
1

2
1
0
0
2
1

1
4
0
5
0
4

1
4
0
5
0
4

1
0
6
1
0
3

1
0
6
1
0
3

1
0
1
7
0
1

1
0
1
7
0
1

2 0
0 1
4 5
0 0
8 1
1 10

2 0
0 1
4 5
0 0
8 1
1 10

59
19
41
3
7
57

1
5
1
71
19
5

Entonces, el mensaje codificado se escribe:

=

275
326
200
741
263
468

=

155
314
450
573
105
940

=

357
310
326
583
629
478

=

313
368
584
403
609
912

=

195
192
562
157
231
838

=

117
26
178
523
159
164

275 326 200 741 263 468 155 314 450 573 105 940 357 310 326 583 629 478 313 368 586 403 609
912 195 192 562 157 231 838 117 26 178 523 159 164
Si queremos descodificar el mensaje, sólo necesitamos multiplicar la inversa Ω, o sea Ω-1, por los
vectores del mensaje codificado. A continuación se obtendrá la matriz inversa de Ω por el método de
Gauss-Jordan.

Ω-1 =

=

=

=

=



1
0
0
0
0
0

2
1
0
0
2
1

1
4
0
5
0
4

1
0
6
1
0
3

1
0
1
7
0
1

2 0
0 1
4 5
0 0
8 1
1 10

1
0
0
0
0
0

0.5 0.5
0.5
1
0
3.5 −0.5 −0.5 −1 1
0
6
1
4
5
5
1
7
0
0
−1 −1
−1
6
1
3.5 2.5
0.5
0 10

0.5
−0.5
0
0
−1
−0.5

1
0
0
0
0
0

0 0.5715
0.5715
1.1429 −0.1429
1 −0.1429 −0.1429 −0.2857 0.2857
0
6
1
4
5
0 1.7145
7.7145
1.4285 −1.4285
0 −1.1429 −1.1429 5.7143
1.2854
0 3.0002
1.0002
1
9

1
0
0
0
0
0

0
1
0
0
0
0

0 0.4762
0.7619 −0.6191
0 −0.1191 −0.1904 0.4048
1 0.1667
0.6667
0.8333
0 7.4287
0.2854 −2.8572
0 −0.9524 6.4763
2.2378
0 0.5001 −1.0002 6.4999

1
0
0
0
0
0

0
1
0
0
0
0

0
0
1
0
0
0

0 −0.7802 −0.4360
0 −0.1858 0.3590
0 0.6603
0.8974
1 0.0384 −0.3846
0 6.5129
1.8715
0 −1.0194 6.6922

0
1
0
0
0
0

0
0
1
0
0
0

0
0
0
1
0
0
0
1
0
0
0
0

0
0
0
0
1
0
0
0
1
0
0
0

0
0
0
0
0
1
0
0
0
1
0
0


0
0
0
0
1
0

0
0
0
0
0
1

0.5715
−0.1429 0 0 0 0
0−0.1429 0.2857 0 0 0 0
0
0
1 0 0 0
0.7145
−1.4285 0 1 0 0
−1.1429
0.2857 0 0 1 0
0.0002
−1
0 0 0 1

0.5715 −0.1429 −0.0953 0 0
−0.1429 0.2857
0.0238 0 0
0
0
0.1667 0 0
0.7145 −1.4285 −0.2858 1 0
−1.1429 0.2857
0.1905 0 1
0.0002
−1
−0.5001 0 0

0.5257 −0.0513 −0.0770 −0.0641
−0.1814 0.2628
0.0192
0.0160
−0.0160 0.0321
0.1731
0.0064
0.0962 −0.1923 −0.0385 0.1346
−1.0513 0.1026
0.1538
0.1282
−0.0479 −0.9038 −0.4808 −0.0673

0
0
0
0
1
0



0
0
0
0
0
1
0
0
0
0
0
1

=

1
0
0
0
0
0

0
1
0
0
0
0

0
0
1
0
0
0

0
0
0
1
0
0

0 −0.2118
0 0.4124
0 0.7076
0 −0.3956
1 0.2874
0 6.9852

0.3998 −0.0390 −0.0591 0.0487
0.1198 0
−0.2114 0.2657
0.0235
0.0197
0.0285 0
0.0906
0.0217
0.1579 −0.0066 −0.1014 0
0.1024 −0.1929 −0.0394 0.1338 −0.0059 0
−0.1614 0.0158
0.0230
0.0197
0.1535 0
−0.2124 −0.8877 −0.4574 −0.0472 0.1565 1

0.6259 −0.1456 −0.1370 −0.0831 −0.0996 0.0930
−0.1489 0.3182
0.0506
0.0225
0.0913 −0.0590
0.1121
0.1116
0.2037 −0.0306 −0.1172 −0.1013
=
0.0903 −0.2432 −0.0652 0.1312
0.0030
0.0566
−0.1527 0.0523
0.0424
0.0216
0.1471 −0.0411
−0.0304 −0.1271 −0.0654 −0.0068 0.0224
0.1432

Ahora bien, si queremos descodificar el mensaje, tenemos que hacer el producto de la matriz inversa de
Ω por los vectores codificados:

0.6259 −0.1456 −0.1370 −0.0831 −0.0996 0.0930
−0.1489 0.3182
0.0506
0.0225
0.0913 −0.0590
0.1121
0.1116
0.2037 −0.0306 −0.1172 −0.1013
Ω-1 α-1 = α =
0.0903 −0.2432 −0.0652 0.1312
0.0030
0.0566
−0.1527 0.0523
0.0424
0.0216
0.1471 −0.0411
−0.0304 −0.1271 −0.0654 −0.0068 0.0224
0.1432

=


275
326
200
741
263
468

  
79.2038
85.9781
7.0425
57.0063
18.9954
4.9954

=

Q
U
E
R
I
D

0.6259 −0.1456 −0.1370 −0.0831 −0.0996 0.0930
−0.1489 0.3182
0.0506
0.0225
0.0913 −0.0590
0.1121
0.1116
0.2037 −0.0306 −0.1172 −0.1013
Ω-1β-1 = β =
0.0903 −0.2432 −0.0652 0.1312
0.0030
0.0566
−0.1527 0.0523
0.0424
0.0216
0.1471 −0.0411
−0.0304 −0.1271 −0.0654 −0.0068 0.0224
0.1432


155
314
450
573
105
940

=

Ω-1γ-1 = γ =

  
29.4498
66.6243
19.0211
36.9883
1.0220
59.0122

=

I
S
I
M
A
S

0.6259 −0.1456 −0.1370 −0.0831 −0.0996 0.0930
−0.1489 0.3182
0.0506
0.0225
0.0913 −0.0590
0.1121
0.1116
0.2037 −0.0306 −0.1172 −0.1013
0.0903 −0.2432 −0.0652 0.1312
0.0030
0.0566
−0.1527 0.0523
0.0424
0.0216
0.1471 −0.0411
−0.0304 −0.1271 −0.0654 −0.0068 0.0224
0.1432

=

  
67.0066
59.0355
1.0419
41.0213
60.9944
7.0006

=

U
S
A
N
T
E

0.6259 −0.1456 −0.1370 −0.0831 −0.0996 0.0930
−0.1489 0.3182
0.0506
0.0225
0.0913 −0.0590
0.1121
0.1116
0.2037 −0.0306 −0.1172 −0.1013
Ω-1 δ-1 = δ =
0.0903 −0.2432 −0.0652 0.1312
0.0030
0.0566
−0.1527 0.0523
0.0424
0.0216
0.1471 −0.0411
−0.0304 −0.1271 −0.0654 −0.0068 0.0224
0.1432

=




313
368
584
403
609
912

  
113.6446
110.9035
19.0247
7.0093
57.0184
47.0180

=

Q
U
I
E
R
O

0.6259 −0.1456 −0.1370 −0.0831 −0.0996 0.0930
−0.1489 0.3182
0.0506
0.0225
0.0913 −0.0590
0.1121
0.1116
0.2037 −0.0306 −0.1172 −0.1013
Ω-1ε-1 = ε =
0.0903 −0.2432 −0.0652 0.1312
0.0030
0.0566
−0.1527 0.0523
0.0424
0.0216
0.1471 −0.0411
−0.0304 −0.1271 −0.0654 −0.0068 0.0224
0.1432


195
192
562
157
231
838

357
310
326
583
629
478

=

Ω-1 ζ-1= ζ =

  
81.9986
35.6769
40.9993
2.9939
7.0234
57.0224

=

S
I
N
C
E
R

0.6259 −0.1456 −0.1370 −0.0831 −0.0996 0.0930
−0.1489 0.3182
0.0506
0.0225
0.0913 −0.0590
0.1121
0.1116
0.2037 −0.0306 −0.1172 −0.1013
0.0903 −0.2432 −0.0652 0.1312
0.0030
0.0566
−0.1527 0.0523
0.0424
0.0216
0.1471 −0.0411
−0.0304 −0.1271 −0.0654 −0.0068 0.0224
0.1432

=


117
26
178
523
159
164

  
1.0241
16.4669
1.0241
71.0133
18.9864
4.9874

=

A
D
A
V
I
D

Así hemos descifrado el mensaje de David para Susan, y aunque sin cera sigue siendo una incógnita,
tenemos una pequeña idea de cuán complicada y encantadora es la criptografía. Así que si un día no
tienen nada que hacer, pueden mandarle a quien quieran un mensaje encriptado, ya decidirá cada quién
si también le regalan la matriz para descodificarlo o no. O también les sirve si son paranoicos y quieren
escribir de forma que sólo ustedes puedan saber qué dice lo que escribieron. En fin, como ya hemos
visto, hay una amplia variedad de aplicaciones de matrices que podemos relacionar con la vida
cotidiana.

Sign up to vote on this title
UsefulNot useful