RESTO DE LA DIVISION
ENTERA COMO APLICACIÓN DIDÁCTICA A LA CRIPTOGRAFÍA
En nuestros días y lejos ya de la comunicación
entre personas a través del correo postal, necesitamos para el envío de
información mediante Internet de un cifrado de nuestros mensajes, operaciones
bancarias, correo, etc., para que una tercera persona que no siempre tendrá las
mejores intenciones no descubra nuestros datos privados.
El primer cifrado que puede considerarse como tal se
debe a Julio César. Su método consistía en sustituir cada letra de un mensaje
por su tercera siguiente en el alfabeto. Parece ser que los griegos y egipcios
utilizaban sistemas similares. Estos sistemas demasiado triviales evolucionaron
a elegir una reordenación cualquiera del alfabeto (una permutación por tanto)
de forma que a cada letra se le puede hacer corresponder otra ya sin tanta
regularidad como en el método anterior.
La idea que doy puede aplicarse para hacer una práctica
en Bachillerato pero lo que se emplea en la realidad es un cifrado de clave pública
y clave privada que está fuera del objetivo y conocimientos de esta etapa. Así,
abordando ya el problema vamos allá.
. Una más general podría darse como la función afín
pero con poco que reflexionemos nos
damos cuenta de que si damos los valores
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 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
Y tomamos la función y=2x+3, por ejemplo tendremos
que la codificación de la palabra HOLA se
convertiría a LSOE. En realidad la operación que hacemos es
para que siempre nos dé un número
comprendido entre 1 y 27 o dicho de otro modo, de la A a la Z.
HEFEOI
EVVD E OE DVVE IO EFEH
Guarda una simetría incluso encriptada y damos demasiadas pistas a la tercera persona que no nos interesa que nos desencripte el mensaje.
Bueno, si nos fijamos en el módulo o resto de la división entera hemos resuelto nuestro problema de la manera más simple. Una expresión de la forma a MOD b significa el resto de dividir a entre b. Los caracteres ASCII en castellano van del 0 al 255. Por ejemplo, las mayúsculas de la A a la Z van desde los números 65 a 90 con caracteres especiales de la Ñ claro, porque no existe en todos los idiomas. La tabla mencionada puede consultarse en cualquier libro de programación básica o incluso podemos hacer un programa en TurboPascal o C++ para que nos las genere.
DABALE
ARROZ A LA ZORRA EL ABAD
holaholaholaholaholaholaholaholaholahola
Ahora solo queda dar la fórmula de encriptación,
que utilizando la función MOD sería:
CC=(CR+CL)
MOD 256
Siendo
-CC el carácter codificado final.
-CR el
carácter real de nuestro texto inicial.
-CL es nuestro carácter de la clave.
La palabra codigo con la clave hola pasaría a ser
codigo
99 111 100 105 103 111
holaho 104 111
108 97 104 111
203
222 208 202 207 222
Sólo tendríamos que mirar en una tabla ASCII para saber a que caracteres corresponden los números que nos han salido.
Y, por último la función que nos desencriptaría el
mensaje con la misma clave sería:
CR=(256-CL+CC)
MOD 256
203
222 208 202 207 222
104 111
108 97
104 111
que
nos llevaría a nuestro mensaje inicial
99
111 100 105 103 111
o lo que es lo mismo la palabra codigo.
Bibliografía
-Ramanujachary,
K. Number theory with computer applications. Prentice Hall.1998.
-Konheim,
Alan.Criptography: A primer. John Wiley & Sons.1981.
-Bujalance, Emilio y otros. Elementos de matemática
discreta. Madrid. Sanz y Torres. 1993.
Escribe tu opinión del artículo en el foro
Revista Digital Sociedad de la información