MENSAJES SECRETOS MENSAJES SECRETOS y códigos y

Anuncio
MENSAJES SECRETOS
y códigos
CON TITI-83
LEANDRO TORTOSA GRAU
IES HAYGÓN
Título: Mensajes secretos y códigos con TI-83
Leandro Tortosa Grau.
I.S.B.N.: 84-8454-038-3
Depósito legal: A-XXX-2000
Edita: Editorial Club Universitario
Web: www.editorial-club-universitario.es
Printed in Spain
Imprime: Imprenta Gamma Telf.: 965 67 19 87
C/. Cottolengo, 25 – San Vicente (Alicante)
E-mail: gamma@1gamma.com
Web: www.1gamma.com
Reservados todos los derechos. Ni la totalidad ni parte de este libro puede reproducirse
o transmitirse por ningún procedimiento electrónico o mecánico, incluyendo fotocopia,
grabación magnética o cualquier almacenamiento de información o sistema de reproducción,
sin permiso previo y por escrito de los titulares del Copyright.
A Jordi Pérez Belda,
tu recuerdo siempre permanecerá en nuestra memoria.
PRÓLOGO
Los griegos desarrollaron las secciones cónicas unos 400 años antes de nuestra era.
Posteriormente, casi 2000 años después, Kepler llegó a la conclusión que las trayectorias
que siguen los planetas del sistema solar en torno al sol pueden ser descritas perfectamente
mediante elipses. Esto no es mas que un sencillo ejemplo donde se pone de manifiesto la
utilidad de una ciencia, las matemáticas, que es producto de la mente humana e
independiente de la experiencia.
Existen muchos ejemplos de teorías matemáticas cuyas aplicaciones posteriores
han reafirmado la importancia de las mismas. Basta citar las aplicaciones actuales de la
teoría de la computación matricial en ingeniería, física, aeronaútica, mecánica cuántica y
otras, cuando las matrices fueron inventadas alrededor de 1860 por los británicos J.
Sylvester y A. Cayley. También cabe mencionar las aplicaciones actuales de la teoría de
números en criptografía. En definitiva, podemos compartir la dificultad de A. Einstein en
comprender que las matemáticas se adapten de forma tan perfecta a los objetos reales.
La Historia está llena de códigos. En muchos casos, han decidido el desenlace de
grandes batallas y han causado la muerte de reyes y reinas. La necesidad de mantener
secretos e información reservada ha provocado que las naciones hayan puesto en marcha
departamentos que se encargan de la seguridad de las comunicaciones y los sistemas de
información. La historia de los códigos es una continua lucha entre los creadores de
códigos y los descifradores de los mismos.
Hasta no hace demasiado tiempo, con la prohibición absoluta de poder utilizar
cualquier tipo de calculadora, las tareas numéricas de matemáticas se convertían en un
auténtico martirio. Actualmente, aunque ya no existen esas trabas para su utilización, no
sabemos sacarle el adecuado partido ni aprovechar siquiera un elevado porcentaje de las
capacidades que estas máquinas nos ofrecen.
Lo que pretendemos con el uso de la calculadora gráfica precisamente es, sin
olvidar la destreza mental referente al tema de la estimación, la adaptación a una realidad
en la que se gana tiempo sin perder necesariamente rigor matemático. Pretendemos
ahorrar tiempo en cálculos repetitivos que no nos aportan nada y que nos quitan tiempo,
necesario para la resolución de problemas prácticos.
En el capítulo 1 introducimos las ideas básicas de funcionamiento de la calculadora
gráfica TI-82/83 de Texas Instrument. Se trata de una introducción, por lo que lo más
sensato es describir algunas teclas fundamentales y las funciones básicas que utilizaremos
con una mayor frecuencia.
En el capítulo 2 exponemos algunas ideas, conceptos y destrezas matemáticas que
necesitaremos posteriormente. Muchos de estos conceptos no se encuentran en los libros
de texto oficiales, aunque no por ello son menos interesantes. El capítulo 3 constituye la
parte esencial del libro, en el que se repasan algunos métodos para escribir mensajes
secretos y codificar información. Se realiza un repaso histórico sobre los diversos métodos
utilizados a lo largo del tiempo, estudiando más detalladamente los sitemas de cifrado
basados en la fución afín, el método de Vigenère, el cifrado matricial y el método RSA.
Finalmente incluimos un apéndice en el que se proponen diversos problemas para
pensar y se explican algunos hechos o anécdotas relacionadas con el mundo de las
matemáticas o los propios matemáticos.
Alicante, septiembre de 2000.
LEANDRO TORTOSA GRAU
ÍNDICE
CAPÍTULO 1: INTRODUCCIÓN A LAS CALCULADORAS GRÁFICAS .......................
1
1.1 Elementos básicos en la calculadora TI-82/83 .....................................................
2
1.2 Introducción a los gráficos ...................................................................................
9
1.3 Listas en la calculadora ........................................................................................
21
CAPÍTULO 2: INTRODUCCIÓN MATEMÁTICA ..............................................................
29
2.1 Sistemas de numeración y sus orígenes ................................................................
30
2.2 Introducción a la teoría de números .....................................................................
37
2.3 Introducción al cálculo matricial ..........................................................................
49
CAPÍTULO 3: CRIPTOGRAFÍA Y CODIFICACIÓN ..........................................................
75
3.1 Introducción histórica ...........................................................................................
76
3.2 Cifrado y descifrado de mensajes .........................................................................
84
3.2.1 Definiciones básicas ....................................................................................
84
3.2.2 El cifrado César ............................................................................................
86
3.2.3 Cifrados basados en la función afín .............................................................
87
3.2.4 Cifrados por sustitución con calculadora Ti-82/83 ......................................
93
3.2.5 Criptoanálisis de los cifrados por sustitución .............................................. 100
3.3 El cifrado Vigenère ............................................................................................... 107
3.4 Cifrado matricial ................................................................................................... 111
3.5 El sistema de cifrado RSA .................................................................................... 124
3.5.1 Descripción del método .............................................................................. 126
3.5.2 Cálculo de potencias en aritmética modular ...............................................
131
3.5.3 Cálculo de las inversas en aritmética modular ............................................ 133
3.5.4 El sistema RSA en la actualidad .................................................................. 137
3.6 Introducción a la codificación ............................................................................... 140
3.6.1 Introducción a la codificación y detección de errores .................................
140
3.6.2 Detección de errores: el método del control de la paridad ..........................
142
3.6.3 El código de Huffman ................................................................................. 144
3.6.4 Detección de errores ..................................................................................... 147
3.6.5 Códigos de Hamming ................................................................................... 154
PROBLEMAS DIVERSOS Y CURIOSIDADES MATEMÁTICAS........................
161
BIBLIOGRAFÍA ....................................................................................................... 187
Capítulo 1
INTRODUCCIÓN A LAS
CALCULADORAS
GRÁFICAS
1
1. 1 Elementos básicos en la calculadora -83
TI
Algunas teclas y funciones básicas de la calculadora-83
TI
Comenzamos suponiendo que no poseemos conocimientos previos sobre una máquina
de estas características. Analizaremos en este capítulo introductorio algunas características
esenciales de la calculadora TI-83, aunque es aconsejable repasar detenidamente el manual
de instrucciones.
Para encenderla apretamos la tecla de encendido
´.
Todas las teclas sirven para más de una posibilidad o admiten dos funciones; una de
ellas está sobre la misma y la otra está en color azul (en la TI-82) o en amarillo y verde (en
la TI-83) encima de ella. Para seleccionar cualquiera de las segundas opciones de cada
tecla hay que presionar en primer lugar
2.
Entonces, después de realizar esta operación, seleccionamos las funciones o mandatos
que están coloreadas de amarillo.
Igualmente debemos señalar que la mayoría de las teclas tienen una tercera opción,
que suele ser algún carácter en color verde. Para acceder a esta tercera posibilidad en las
teclas donde aparece esta tercera opción debemos presionar la tecla de color verde j
(azul en la TI-82), la cual nos permite escribir en la pantalla caracteres alfabéticos.
Tras encender la calculadora es posible que en la pantalla no se vea nada o al
contrario, que presente un tono muy oscuro. Es entonces cuando hay que regular la
intensidad y el brillo. Para ello presionamos 2 y después regulamos la intensidad de la
pantalla con las teclas de dirección del cursor; en nuestro caso arriba y abajo. El cursor
tiene cuatro posiciones,
izquierda A, derecha B,
arriba C, abajo D,
que nos permiten movernos por toda la pantalla.
Puede suceder que, al encender la pantalla, aparezcan operaciones hechas con
anterioridad, ya que no borramos de la memoria las operaciones o cálculos realizados
cuando apagamos la calculadora. Hay varias posibilidades para borrar lo ejecutado
2
anteriormente, pero como estas calculadoras son utilizadas en distintos niveles sería
recomendable preguntar al profesor si se puede utilizar la tecla M, cuyo fin es borrar
lo que hay escrito en pantalla.
Si durante el trascurso de nuestras operaciones nos hemos equivocado en alguna
posición concreta, no es necesario borrar toda la pantalla ya que con la tecla { podemos
borrar algo concreto que estaba equivocado.
EJEMPLOS DE PANTALLA CON ERRORES.
Para apagar la calculadora apretamos 2´, ( ® en azul).
Tenemos la posibilidad de utilizar la tecla 2Ì (± en azul), para poder guardar un
resultado que vamos a utilizar en la línea de pantalla siguiente.
Sin duda, una de las grandes ventajas que presenta esta máquina es la capacidad de
realizar cálculos aritméticos con paréntesis y sin ellos. Veamos un ejemplo donde se
pongan de manifiesto estas capacidades algebraicas.
Ejemplo.
Si queremos realizar el siguiente cálculo aritmético
5 * (8 + 7) / 2 - 5 / 3 * (7 + 5)
tenemos la posibilidad de disponer en pantalla toda la operación, obteniendo el resultado
al final directamente o bien resolver las distintas operaciones individualmente, conectando
una operación con la siguiente por medio de la opción ± en amarillo que se encuentra
en la tecla Ì. Esta opción nos proporciona el último resultado obtenido en pantalla.
3
Existe una tercera alternativa basada en la posibilidad de almacenar información en los
diferentes registros de memoria de la calculadora.
Opción 1:
5 * ( 8 + 7) / 2 - 5 / 3 * ( 7 + 5 ) Í 17.5.
(Como vemos en la figura anterior).
Opción 2:
5ÍyÌ*(8+7) Í yÌ/ 2 Í
y Ì - 5 Í y Ì / 3 Í y Ì * ( 7 + 5 ) Í 130.
Cuestión.
Notemos que el resultado no coincide con el obtenido anteriormente. Averigua
qué es lo que falla y resuélvelo de manera adecuada.
Opción 3:
5 ¿ ƒ o (A). (8+7) ¿ ƒ p (B) .
2 ¿ ƒ q (C). 5/3 ¿ ƒ X-1 (D) . (7+5) ¿ SIN (E).
Después se realiza A * B / C - D * E Í 17.5.
Debemos notar que la función de la tecla ¿ (proviene de STORE), es la de
almacenar algún valor concreto, asignándole la letra que queramos. Además, el concepto
de almacenamiento es fundamental en el aspecto de la programación y para asignación de
información en general. Los registros vienen a ser lugares de memoria en los que se
pueden almacenar datos.
EJERCICIO 1. 1
Intenta encontrar alguna opción más para poder realizar esta operación sin apuntar
los resultados parciales en un papel y sin aprenderlos de memoria.
4
El orden de las operaciones. En cuanto al orden en el que se evalúan las operaciones,
la máquina dispone de un control de operaciones que define el orden en que se introducen
y evalúan funciones y expresiones. Introducimos números y funciones en una sucesión
simple y directa. El control de operaciones evalúa las funciones de una expresión
siguiendo el siguiente orden:
1
Funciones que se introducen después del argumento, 2, -1,!,º, conversiones.
2
Potencias y raíces.
3
Funciones de un solo argumento como √ (, sen(, log(.
4
Permutaciones y combinaciones.
5
Multiplicación, multiplicación implícita y división.
6
Adición y sustracción.
7
Funciones relacionales, como > o ≤ .
8
Operadores lógicos.
Hay que señalar que, dentro de un nivel de prioridad, el control de operaciones evalúa
las funciones de izquierda a derecha y los cálculos con paréntesis son los primeros que se
evalúan.
Para introducir un número negativo, usamos la tecla de negación, pulsando Ì e
introduciendo el número. La negación en la TI-83 se encuentra en un nivel inferior que,
por ejemplo, elevar al cuadrado; significa que se realiza primero el cuadrado y después la
negación.
Detención de cálculos. Es importante señalar que cuando la TI-83 está realizando
cálculos o se encuentra dibujando un gráfico, aparece en la esquina superior derecha una
línea vertical en movimiento, como indicador de que se encuentra ocupada y no responde
a ninguna otra acción que le encomendemos. Cuando se realiza una pausa en un gráfico o
en la ejecución de un programa, el indicador de actividad se convierte en una línea vertical
de puntos en movimiento. Además, mientras la calculadora está realizando un gráfico o un
cálculo, podemos interrumpir estas operaciones simplemente pulsando É.
Puede suceder que algunas veces, cuando estás trabajando en la pantalla, al apretar una
tecla que precise 2 se te olvide, y entonces obtengas un resultado u otra pantalla en la
5
que aparezcan menús u opciones no requeridas o desconocidas. Entonces, para volver a la
pantalla principal desde cualquier otra en la que te encuentres tendrás que presionar
23, (K) y de esta forma vuelves a la situación en que te encontrabas
inicialmente. Esta tecla es muy importante ya que es la que nos permite salir de la
pantalla en la que nos encontramos y volver a una pantalla anterior.
Aprovechamos el cálculo del ejemplo anterior para distinguir dos teclas que pueden
confundirse cuando necesitamos restar dos cantidades. Son las teclas Ì y ¹.
Ejemplo.
Cuando queremos realizar la operación 8 - 5 debemos utilizar la tecla ¹, pero si lo que
queremos es trabajar con números negativos debemos utilizar la tecla Ì.
Ejemplo.
Realiza las operaciones 8 ¹ 5 y después 5 ¹ 8, comentando los diferentes resultados.
Ejemplo:
Asigna el número 2 a la letra H y después imprime en pantalla el opuesto de H,
comentando lo que pasa.
6
Uno de los mensajes de error más comunes que pueden aparecer en la calculadora es
ERR:SYNTAX, que tiene la siguiente disposición en pantalla:
ERR:SYNTAX
1:Goto
2:Quit
Si nos aparece este mensaje la calculadora, podemos elegir entre dos opciones.
La opción 1, Goto, nos permite rectificar en pantalla algún error de sintaxis
que hemos escrito de forma incorrecta. Si elegimos esta opción, nos lleva
directamente al lugar donde se encuentra el error que debemos rectificar; si
posteriormente nos vuelve a mandar el mismo mensaje puede suceder que
haya que rectificar algún otro error.
La opción 2, nos permite ignorar el fallo y continuar en la línea siguiente.
A continuación resumimos las acciones de las teclas de edición más utilizadas en la
máquina.
Pulsación
Acción
|}~†
Desplazamiento del cursor dentro de una expresión. Estas teclas repiten el
movimiento.
y|
Desplaza el cursor hasta el principio de una expresión.
y~
Desplaza el cursor hasta el final de una expresión.
Í
Evalúa una expresión o ejecuta una instrucción.
‘
En una línea con texto de la pantalla principal, borra (deja en blanco)
esa línea.
En una línea en blanco de la pantalla principal, borra todo el contenido
de la pantalla principal.
En un editor, borra (deja en blanco) la expresión o el valor donde esté el
cursor, no almacena un cero.
7
{
Borra el carácter en la posición del cursor.
ƒ
Cambia el cursor
a Ø; la siguiente pulsación inserta un carácter alpha
(carácter alfabético en verde sobre la tecla), o ejecuta SOLVE.
„
Permite introducir variables en los distintos modos.
Otra de las teclas fundamentales de esta máquinas es z. Las opciones z
controlan cómo se muestran e interpretan los números y gráficos en la TI-83. El sistema
de memoria constante guarda las opciones MODE cuando apagamos la máquina. Para
mostrar las opciones, pulsamos z. Los valores predeterminados están resaltados.
La siguiente pantalla nos muestra las opciones que aparecen al presionar z.
En la primera línea se muestran las opciones sobre el tipo de notación numérica que se
utiliza, la notación Normal, Sci (Científica) y Eng (Ingeniería). En la segunda fila, se
controla el número de cifras decimales. El modo decimal Float (número en coma flotante)
muestra hasta 10 dígitos, más el signo y el separador decimal. En la tercera línea tenemos
la opción de la unidad de medida de ángulos. La siguiente línea nos permite seleccionar el
tipo de representación gráfica. El modo de representaciones cartesianas es Func. La quinta
línea nos permite determinar si queremos una conexión poligonal de puntos o no. La
siguiente muestra el modo de representación gráfica de sucesiones. La séptima línea nos
permite trabajar con números complejos. La última opción se refiere a si queremos
trabajar con la pantalla completa o dividida.
8
1. 2 Introducción a los gráfic
os
Para definir un gráfico en cualquiera de los modos, se deben seguir los pasos
siguientes.
1. Pulsamos z y configuramos el modo de gráficos apropiado para
nuestro caso.
2. Pulsamos o e introducimos una o más funciones en el editor Y=.
3. Definimos el estilo de gráficos de cada una de las funciones.
4. Pulsamos p y definimos las variables de la ventana de
visualización.
5. Pulsamos y [FORMAT] y seleccionamos los parámetros de formato de
los gráficos.
Una vez definido nuestro gráfico, presionamos s para visualizarlo.
Es importante señalar que es posible seleccionar y anular la selección de una función
en el editor de funciones Y=. Una ecuación está resaltada cuando el signo = está resaltado.
Si esto no es así, cuando presionemos s, dicha función no será representada.
Para seleccionar o anular la selección de una función en el editor Y=, seguimos los
pasos que se especifican a continuación.
1. Pulsamos o para entrar en el editor de funciones.
2. Situamos el cursor en la función que se desee seleccionar o cuya
selección queramos anular.
3. Pulsamos | para situar el cursor en el signo = de la función.
4. Pulsamos Í para cambiar el estado de la selección.
Cuando introduzcamos o editemos una función, se seleccionará automáticamente y
cuando se suprima, se anulará su selección. Señalemos que los elementos Plot1, Plot2 y
Plot3 que se encuentran en la parte superior de la pantalla, se refieren a gráficos de
carácter estadístico.
9
Antes de comenzar una nueva representación gráfica o un conjunto de
representaciones gráficas, es conveniente trabajar con una pantalla standard de
representaciones. Para ello podemos presionar la tecla q y utilizar la opción
6:Zstandard. De esta manera conseguimos una ventana de visualización con los
siguientes parámetros:
Xmin = -10
Xmax = 10
Xscl = 1
Ymin = -10
Ymax = 10
Yscl = 1
Xres = 1.
Supongamos que queremos representar gráficamente las funciones
f1(x) = (20 - x3)1/2,
f2(x) = 2 x3 - x2 +1.
Siguiendo los pasos especificados anteriormente, introducimos las funciones en el
editor de funciones Y=, y presionamos la tecla s para su representación. Vemos el
resultado de estas acciones en las pantallas siguientes.
Como se observa en las pantallas anteriores, las dos funciones intersectan en un punto,
ambas cortan el eje OY y únicamente la función polinómica corta el eje de OX. La
función Y1 es decreciente, mientras que Y2 es creciente.
Supongamos que nos planteamos determinar el punto en que ambas funciones se
cortan. Para ello, una primera aproximación consiste en presionar la tecla r, con lo
que el aspecto de la pantalla cambia radicalmente. Lo vemos en las pantallas siguientes.
10
En la primera pantalla observamos que existe un cursor sobre la primera función Y1,
que aparece escrita en la parte superior izquierda. La posición en la que se encuentra el
cursor, es decir, sus coordenadas cartesianas, aparecen escritas en la parte inferior de la
pantalla. En la segunda pantalla, el cursor ha saltado a la segunda función Y2, que vuelve a
aparecer escrita en la misma posición. Ahora, si movemos los cursores |~ nos movemos
a lo largo de la función, con lo que las coordenadas se encuentran constantemente en
cambio. Para pasar de una función a otra utilizamos los cursores †}.
Figura 1.1
Una aproximación al punto de intersección de las dos funciones consistiría en
aproximarnos a dicho punto con el cursor y anotar las coordenadas que nos aparecen en
pantalla. Lo vemos en la primera pantalla de la figura 1.1. Pero esto no es más que una
11
aproximación, ya que el cursor va dando "saltos" de un punto a otro y no podemos
determinar de forma precisa donde se encuentra el punto de corte.
Podemos pensar en realizar un zoom sobre la zona de intersección para obtener más
precisión. Esto es precisamente lo que hacemos en la segunda pantalla de la figura 1.1, en
la que elegimos la opción Zoom In del menú q. Observamos la ganancia en precisión
en la tercera pantalla de esta figura.
Sin embargo, disponemos de otra opción en esta máquina mucho más rápida que ir
repitiendo continuas aproximaciones con el zoom hasta llegar a la aproximación adecuada
para el error deseado. Tenemos la opción y [CALC]. En esta pantalla aparecen todos los
cálculos de tipo matemático que pueden llevarse a cabo sobre las funciones gráficas.
Como vemos en la primera pantalla de la figura 1.2, en este menú se puede calcular un
valor determinado de la función, máximos, mínimos, puntos de intersección y algunas
otras características de carácter avanzado. Nos centramos en el cálculo de los puntos de
intersección entre gráficas.
Figura 1.2
Como observamos en las pantallas de la figura 1.2, la máquina nos pregunta por las
gráficas objeto del cálculo. Puede darse la circunstancia que tuviéramos diversas
representaciones y debamos indicar cuáles son el objeto de la investigación. Por eso, es
12
Descargar