Sei sulla pagina 1di 4

La herramienta ArtEM: aritmtica entera y modular

Alfonso Gutirrez, Violeta Migalln, Jos Penads Hctor Migalln


Dpto. de Ciencia de la Computacin e Inteligencia Artificial Dpto. de Fsica y Arquitectura de Computadores
Universidad de Alicante Universidad Miguel Hernndez
03080 Alicante 03202 Elche (Alicante)
e-mail: algutlan@hotmail.com e-mail: hmigallon@umh.es
violeta@dccia.ua.es
jpenades@dccia.ua.es

Resumen capaz de reconocer los pasos que se han seguido


para su ejecucin, de manera que se obtiene un
Los contenidos de matemtica discreta en las importante valor pedaggico.
titulaciones de informtica incluyen una parte En las siguientes secciones describiremos el
relativa a aritmtica entera y modular. En este contenido de ArtEM, estudiando cada uno de
artculo presentamos una herramienta que ha sus mens por separado.
sido diseada para la realizacin de las prcticas
de dicha parte y que actualmente se est 2. Men Euclides
utilizando en la asignatura Matemtica Discreta
de la Universidad de Alicante. En este men se desarrolla el algoritmo de
Euclides para el clculo del mximo comn
1. Introduccin divisor de dos enteros. Adems de describir el
algoritmo de forma genrica se tiene la opcin
La herramienta ArtEM (Aritmtica Entera y de mostrar todos los clculos del propio
Modular) [3], es una aplicacin informtica algoritmo, tal y como se muestra en la Figura 1.
programada en Visual Basic [5] y desarrollada
con el fin de ser utilizada en las prcticas de
cualquier asignatura que incluya como tpicos
los relacionados con la aritmtica entera y
modular [1], [2], [4]. Est estructurada en 5
mens bsicos:
? Euclides.
? Ecuaciones diofnticas.
? Nmeros primos.
? Aritmtica modular.
? Aplicacin a la criptografa.
Los tres primeros mens estn dedicados a
la aritmtica entera, el cuarto men proporciona
clculos bsicos en la aritmtica modular como
los clculos del representante de clase, inverso
de un elemento, funcin de Euler y potencias. El
quinto men constituye una aplicacin a la
criptografa centrndose en dos criptosistemas,
uno de clave privada y otro de clave pblica.
Todos los algoritmos disponibles en ArtEM
se desarrollan de tal forma que el usuario es Figura 1. Algoritmo de Euclides
2 No escribir nada

3. Men ecuaciones diofnticas opciones que presenta este men vienen


indicadas en la Figura 3.
En este men se ofrece la posibilidad de resolver
ecuaciones diofnticas, es decir, ecuaciones de
la forma ax+by=c, donde a, b, c son enteros y x,
y son las incgnitas que tambin son nmeros
enteros. Adems de mostrar una descripcin de
los resultados tericos necesarios para la
correcta resolucin de estas ecuaciones, se
muestra el algoritmo necesario para el clculo de
una solucin particular de una ecuacin
Figura 3. Opciones del men nmeros primos
diofntica. En la ejecucin del algoritmo, el
usuario debe introducir los valores de a, b y c,
obteniendo una solucin particular de la 5. Men aritmtica modular
ecuacin diofntica correspondiente -cuya traza
puede ser consultada- y la solucin general.
Presentamos en este men diversos clculos
Como muestra presentamos la solucin de la bsicos relacionados con la aritmtica modular.
ecuacin 2700x + 1500y = 234000 en la Figura stos son el clculo del representante de clase
2. en el conjunto de los enteros congruentes
mdulo n, que representamos por Zn, el clculo
del inverso en Zn, el clculo de la funcin de
-78 Euler y el clculo de potencias en Zn. Como
2700
muestra presentamos el clculo de la potencia
156
[5]75 en Z23. El programa identifica que el
1500
mcd(5,23)=1 y por tanto, como el valor de la
23400
funcin de Euler en 23 es 22, se tiene que
X=-78 + 5k
Y=156 - 9k
[5]22=[1]. As, como [5]75=([5]22)3 [5]9 slo
Para todo entero k ser necesario calcular [5]9 = [5]8 [5], que en
este caso es [11]. Mostramos, en la Figura 4, la
salida que se obtiene de la ejecucin
correspondiente a la traza del algoritmo.

Figura 2. Ecuaciones diofnticas

4. Men nmeros primos

Se desarrollan en este men procedimientos para


crear una lista de nmeros primos, averiguar si
un nmero entero es primo y factorizar un
entero en producto de sus primos. Estos
algoritmos vienen acompaados de su
descripcin formal. La complejidad de estos
algoritmos limita su uso a enteros pequeos. Las
Figura 4. Clculo de potencias en Zn
IX Jornadas de Enseanza Universitaria de la Informtica 3

6. Men aplicacin a la criptografa

En este men pretendemos familiarizarnos con


ciertas aplicaciones de la aritmtica modular a la
criptografa. Tiene dos partes claramente
diferenciadas: la eleccin del alfabeto a utilizar
y la eleccin del sistema criptogrfico. En lo que
se refiere a la eleccin del alfabeto, la aplicacin
tiene preestablecidos una serie de alfabetos que
pueden ser seleccionados con el correspondiente
men, como muestra la Figura 5.

Figura 6. Definicin de un nuevo alfabeto

Por su parte, el criptosistema de clave


pblica corresponde con el cdigo RSA.
Como ejemplo de utilizacin de la
aplicacin ArtEM para este tipo de problemas,
vamos a suponer que se ha seleccionado el
alfabeto predefinido formado por los caracteres
de la A a la Z, de la a a la z, y el espacio en
blanco. Esto hace un total de 55 caracteres por
lo que trabajaremos en Z55. Vamos a realizar una
codificacin utilizando el criptosistema de clave
privada. En primer lugar el programa nos pedir
Figura 5. Eleccin del alfabeto
r y s. Como mcd(r,55) debe ser 1, el programa
Tambin se permite crear un alfabeto propio nos indica posibles valores de r a partir de un
e incluso leerlo de disco si previamente se haba valor mnimo que el usuario introduce.
creado. Para crear un alfabeto lo nico que se Si por ejemplo seleccionamos s=8 y r=6,
debe hacer es ir asignando valores numricos a podremos, a travs del botn continuar, iniciar
cada uno de los caracteres que queremos que una codificacin con estas claves. La Figura 7
formen parte de nuestro alfabeto. El mdulo con muestra la codificacin de la frase Esto es una
el que se trabajar en la codificacin y prueba usando este sistema criptogrfico de
descodificacin vendr dado en funcin del clave privada y las claves anteriores. La primera
valor numrico asignado mayor. Como ejemplo, ventana contiene la frase en cuestin que
en la Figura 6, mostramos el alfabeto queremos codificar, la segunda ventana contiene
{A,B,C,D,E,F,G} al que se le han asociado las la transcripcin inmediata segn el alfabeto que
equivalencias numricas {11,16,1,23,20,17,24} hayamos elegido y que se encuentra en la tabla
respectivamente y que en la Figura 5 viene de conversin, la tercera ventana contiene los
definido con el nombre de mialfabeto. valores numricos de la codificacin y la ltima
Ya sea con un alfabeto creado por el usuario ventana ya reproduce los caracteres codificados.
o con un alfabeto predefinido por la aplicacin As, con este sistema criptogrfico la frase
se dispone de dos tipos de criptosistemas: uno Esto es una prueba ha quedado codificada
de clave privada y otro de clave pblica. El como fJOCcJCUhFCsDUcLF. La aplicacin
criptosistema de clave privada corresponde con tambin permite invertir el proceso para
un criptosistema clsico cuyas funciones de descodificar un texto determinado. El proceso se
cifrado y descifrado calculadas sobre Zn son realiza paso por paso pinchando en la
respectivamente: correspondiente pestaa y en cada paso la
Cr,s([m]) = [r][m] + [s], / mcd(r,n)=1. aplicacin nos da informacin de qu es lo que
Dr,s([m*]) = [r]-1([m*]-[s]). est haciendo.
4 No escribir nada

Figura 7. Ejemplo de codificacin

Tengamos en cuenta que, para el alumnado


7. Conclusin de informtica en particular, esta materia tiene
un grado de dificultad bastante considerable.
El objetivo que nos marcamos con el diseo de
la herramienta ArtEM fue el intentar impulsar el Referencias
aprendizaje, experimentacin, asimilacin y
ampliacin de algunos de los contenidos de la [1] Biggs, N.L. Matemtica discreta. Vicens
matemtica discreta, por parte del alumnado, Vives, 1994.
con el uso del ordenador. No se trata de [2] Dierker, P.F., Voxman, W.L. Discrete
aprender a programar, pues para ello ya existen mathematics. HBJ, 1986.
otras asignaturas, sino de aprovechar las [3] Gutirrez, A., Migalln, H., Migalln V.,
capacidades pedaggicas del ordenador en Penads, J. ArtEM. Disponible en
beneficio de la calidad de nuestra docencia. La
http://www.dccia.ua.es/~jpenades/ArtEM.html .
experiencia ha mostrado que el inters por parte
del alumnado es muy aceptable y que adems [4] Grimaldi, R.P. Matemticas discretas y
dichas prcticas facilitan la asimilacin y combinatoria. Una introduccin con
comprensin de los contenidos de la aritmtica aplicaciones. Addison-Wesley, 1998.
entera y modular. [5] Petroutsos E., Visual Basic 6. Ediciones
Anaya Multimedia S. A., 1999.

Potrebbero piacerti anche