Desafío 105: La torre de Babel.

Documentos relacionados
Criptografía. Diplomado- TI (2) Criptografía. Diplomado-TI (2) 9 de enero de 2012

Nos muestra el contenido de la celda activa, es decir, la casilla donde estamos situados.

Además de las herramientas propias de Windows y Linux, podemos encontrar otras desarrolladas por otras empresas como por ejemplo:

Vamos a profundizar un poco sobre los distintos tipos de datos que podemos introducir en las celdas de una hoja de cálculo

FUNDAMENTOS DE INFORMÁTICA

Cuando no está abierto ningún menú, las teclas activas para poder desplazarse a través de la hoja son:

BOTON DE OPCION Controles de Formulario

Criptografía Susana Puddu

=A1+A2+A3+A4+A5+A6+A7+A8+B1+B2+B3+B4+B5+B6+B7+B8+C1+C2+C 3+C4+C5+C6+C7+C8

Editor de código Visual Basic. Lista de miembros automática, sugerencias de sintaxis, autocompletado y otras opciones. (CU00313A)

EXCEL Ejercicios paso a paso Excel Practica 02

SISTEMAS DE NUMERACIÓN. Sistema de numeración decimal: = =8245,97

Aritmética Modular MATEMÁTICA DISCRETA I. F. Informática. UPM. MATEMÁTICA DISCRETA I () Aritmética Modular F. Informática.

Solución del I Examen de Matemáticas Discreta

FUNDAMENTOS DE INFORMÁTICA

Primer ha de saberse que las funciones son la herramienta más útil de. Excel, ya que con ella podemos realizar cálculos. Veamos a continuación

Unidad 8: Edición. 8.0 Introducción. 8.1 Copiar. Básico

Seminario 1. Excel Básico

MICROSOFT EXCEL 2007

Ataque de texto claro escogido contra la clave de protocolo del cifrado de Doble Criptograma Simétrico

9.1. Insertar filas en una hoja

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Operación de Microsoft Excel. Guía del Usuario Página 49. Centro de Capacitación en Informática

Seleccionamos el programa Excel. Nos aparece la pantalla del programa

Vemos, pues, que esta forma de organizar los datos es mucho más potente que utilizando las tabulaciones u otros métodos.

Open Office Calc. Elaboración de una tabla de valores de las áreas de la distribución normal

EL TECLADO Y SUS PARTES

PROGRAMAS PARA LA CLASSPAD MANAGER.

Redes de comunicación

Resolución gráfica de problemas de ajustes y tolerancias

Informática en la ESO 4ºESO. Referencias absolutas y relativas Hoja de Cálculo Openoffice Calc

Tutoriales de Word 2010 Informática para Administración de empresas

Elaboración de Documentos en Procesadores de Textos

Funciones Básicas de la Hoja de Cálculo

5.1. Eliminar filas duplicadas

DAVID DIAZ VALDIVIA INFORMATICA APLICADA I

Unidad 5. Tablas. La celda que se encuentra en la fila 1 columna 2 tiene el siguiente contenido: 2º Celda

CURSO 2016/2017 INFORMÁTICA 1ºBCH. La codificación es. Por qué se. Fíjate en. la imagen de decirle que si. cero. decimal: 1* *2 3.

VÍDEO intypedia001es LECCIÓN 1: HISTORIA DE LA CRIPTOGRAFÍA Y SU DESARROLLO EN EUROPA EJERCICIOS

2. EXPRESIONES 3. OPERADORES Y OPERANDOS 4. INDENTIFICADORES COMO LOCALIDADES DE MEMORIA

Manual Básico de OpenOffice Calc

Formatos básicos. Vemos un ejemplo:

En esta lección vamos a ver más utilidades y opciones sobre la

Consulta por Criterio y Expresión

LABORATORIO Nº 8 FILTROS EN EXCEL

PERIODO 3 HOJA DE CÁLCULO CONCEPTOS INTERMEDIOS OPERACIONES CON CELDAS, FILAS Y COLUMNAS EN EXCEL SELECCIONAR COPIAR MOVER BORRAR

Enviar Felicitación Navideña por con Off. 2007

Al entrar en Excel nos aparecerá la siguiente ventana:

Profesor(a): Ing. Miriam Cerón Brito

ESCUELA DE INFORMÁTICA

Programación en Visual Basic Ricardo Rodríguez García

P á g i n a 1. Funciones. =NOMBRE DE LA FUNCION (argumento 1; argumento 2; )

BLOQUE V. CONTROL Y PROGRAMACIÓN DE SISTEMAS AUTOMÁTICOS

Crear documentos de texto en Google Docs. Avanzado

UNIDAD 4. MODIFICAR TABLAS DE DATOS

Capítulo 4: Cómo separar nombres y apellidos

Si lo escondo, lo encuentras? Aritmética del reloj Mª Joaquina Berral Yerón, Inmaculada Serrano Gómez

Práctica 1 de Excel (Curso )

Se puede asignar formato a las entradas de las celdas a fin de que los datos queden alineados u

edición de datos) Área Académica: Informática Tema: Hoja Electrónica (Introducción y Profesora: I.S.C. Francisco Ángeles Ángeles

Guía número 1. Métodos numéricos. Universidad de san buenaventura de Cali

La magia de las fórmulas

MOODLE 1.9 BASE DE DATOS

TUTORIAL SOBRE HOJAS DE CALCULO

Utilización de Funciones en OpenOffice.org Calc

Representación y aplicaciones de las funciones tipo

CONSEJOS SOBRE WORD 2012

INTRODUCCIÓN DE DATOS EN LA HOJA DE CÁLCULO

xvsvxcv Manual Microsoft Excel Básico

Operación que hiciste en la calculadora

UNIDAD EXCEL. Introducción de datos y fórmulas

Introducción. Conceptos de Microsoft Excel

Aproximaciones Sucesivas.

LA HOJA DE CÁLCULO HOJA DE CÁLCULO:

MANUAL DEL PROGRAMA EXCEL LABORAL

USO ACADÉMICO DE HOJAS ELECTRÓNICAS. Primera Sesión

ALMACENAMIENTO Y RECUPERACIÓN DE UN LIBRO

MANUAL Y ACTIVIDADES. Edublogg.wordpress.com. Caeiro Fábregas - Pérez

Manual de turbo pascal

EMPLEO DE LA HOJA DE CÁLCULO EXCEL EN FÍSICA ELEMENTAL

MICROSOFT EXCEL 2010

Para poder comenzar a trabajar con Excel, es necesario considerar los siguientes términos:

Programación en java. Estructuras algorítmicas

Desarrollo de una aplicación para encriptar información en la transmisión de datos en un aplicativo de mensajería WEB

FUNDACIÓN EDUCATIVA OBRERA FUNEDO TÉCNICO EN SECRETARIADO EJECUTIVO SISTEMATIZADO. Conceptos básicos de Access 2013

Calc I Primeros pasos: Entorno de trabajo, celdas y. rangos

DESPLAZAMIENTO POR LA HOJA DE CÁLCULO

Introducción Mic i ro r s o of o t t W or o d r

(Tecla Shift pequeña) ó (Tecla Shift grande) Estas teclas, también tienen la función de poner la letra en Mayúsculas.

Estructura y partes del teclado

El lenguaje C. 1. Identificadores, constantes y variables

Competencias TIC para profesionales Del Siglo 21

Excel 2007 Avanzado Revisión 1

CONOCIENDO EL TECLADO

FUNCIONES EN EXCEL III

Unidad 15: Funciones de Texto

Manual de Windows XP Copyleft - Jorge Sánchez 2005

CRIPTOLOGÍA. cómo volvernos locos con los códigos?

INSTITUCIÓN EDUCATIVA COLEGIO NUESTRA SEÑORA DEL PILAR DANE: Licencia de funcionamiento resolución N del 08 de octubre 2007

TECNOLOGÍA E INFORMÁTICA

Transcripción:

Desafío 105: La torre de Babel. Reglas del juego. El desafío está planteado como un juego, y estas son las reglas: El objetivo del juego, para cada uno de vosotros, es comunicarse conmigo sin que los demás entiendan lo que nos estamos diciendo. Para encriptar los mensajes, usaremos todos exclusivamente el cifrado de Vigenère, explicado en el Anexo 1. Este método requiere una misma clave para encriptar o desencriptar un mensaje. Usaremos concretamente todos la misma herramienta, la siguiente web, usando la opción de alfabeto extendido. En el Anexo 2 tenéis una explicación de uso. http://www.vigenere.net/ Cada uno de vosotros elegirá una sola clave para comunicarse conmigo. Yo usaré una clave diferente para escribiros a cada uno de vosotros, diferente de la vuestra, que desconozco. Usaremos el blog como canal para comunicarnos. Como yo estaré intentando comunicarme con varios de vosotros, en los mensajes pondre un texto en "abierto" para identificar el destinatario y a continuación el texto encriptado. Cuando señalo un destinatario, me refiero a que mi intención es que esa persona me entienda, y que usaré una clave con él diferente a la que uso con otros, pero los demás pueden "escucharlo", y si consiguen entender el contenido, reventar el desafío. El texto encriptado lo pondremos entre comillas, para saber exactamente donde empieza y donde termina. Puede parecer que haya saltos de línea, pero en realidad son espacios. Estos espacios son importantes. Aseguraros de cogerlos al seleccionar texto. Este es un ejemplo de como debe ser un mensaje del blog. pardillano en 3 de julio de 2014 en 20:53 dijo: Este mensaje va destinado a Menganito: "CS7kJ57c9HVBiHuaJXTqCGHENLiGgaBOG33L9PR7ZD1x3X9mGKODcBaFtIIYToHP VJP7iFnAKOTqQEGJUFdD1P b3b7nvncnch1ehz72hc9cc7tjwnpwhy7podcmchfapog47p83t" Espero que Meganito lo entienda y los demás no. No dispondremos de ningún medio para acordar la clave. El buzón de soluciones es para resolver dudas, y no se usará para transmitirnos claves ni acordar métodos adicionales para generarlas. Por si a alguien le resulta más cómodo, en el anexo 3 está el código en Visual Basic para Aplicaciones para emular el cifrado extendido de la web www.vigenere.net en una hoja de Excel. Totalmente prescindible, no os asustéis.

ANEXO 1: El cifrado de Vigenère. Antecedentes. Ya estamos habituados en Club Pitagoricos a ROT-13, el método de cifrado que consiste en desplazar cada una de las letras del alfabeto inglés 13 posiciones, y cuyo descifrado no tiene ningún misterio. El ROT-13 es un caso particular del Cifrado César. En este, el emisor del mensaje elige el número de letras que se desplazan. Para descifrar un mensaje encriptado mediante el Cifrado César, es por tanto necesario saber cual ha sido el desplazamiento elegido. Pero si no lo sabemos, basta con intentar con todos los valores de 1 al número de letras del alfabeto, y comprobar para cual de ellos sale un texto coherente. Una trivialidad disponiendo de ordenador. El Cifrado César es un caso concreto de sistema de "cifrado por sustituición simple monoalfabético". La facilidad para descifrar el Cifrado Cesar proviene de que cada letra se sustiyuye por la que se obtiene de desplazar una cantidad constante el alfabeto. Pero la desencriptación resulta más compleja para sistemas del mismo tipo donde no se use un desplazamiento constante. En estos, lo que se hace es usar un "alfabeto de sustitución". Por ejemplo, usando un determinado alfabeto de sustitución puede que la A se sustituya por la L (desplazamiento=11), y la B por D (desplazamiento=2). Para un alfabeto de 26 letras, hay 26!>4*10^26 alfabetos de sustitución posibles. Es inviable probar a descifrar un mensaje cifrado con cada uno, a ver si lo que sale es coherente. Es el cifrado por sustitución simple monoalfabético suficientemente seguro?. Pues no, ya que hay técnicas que permiten suponer cual es el alfabeto de sustitución utilizado a partir del mensaje encriptado. La más conocida es el análisis de frecuencia. Se basa en comparar las frecuencias de cada letra en el idioma en que está escrito el mensaje original con las frecuencias de cada letra en el mensaje cifrado. Si el idioma es castellano, la letra más frecuente es la E, por lo que la suposición más lógica es que se corresponderá con la letra que más aparezca en el mensaje cifrado. Por supuesto, no se tiene la certeza de que en el mensaje que se ha cifrado se respete la misma distribución de frecuencias que en el idioma en que está escrito el mensaje original, pero analizando potenciales discrepancias con un ordenador resulta igualmente posible descifrar el mensaje si es suficientemente largo. Así que vamos al siguiente paso, el cifrado de Vigenère, inventado en 1553 por Giovan Battista Bellaso y bautizado en 1586 por Blaise de Vigenère. Fue considerado por muchos siglos como irrompible, hasta que Kasiski encontró un método para hacerlo en el siglo XIX. Pero este método consiste en observar la aparición de secuencias de letras repetidas que solo se darán en mensajes encriptados muy largos. A los efectos de este desafío, podemos considerar el cifrado de Vigenère irrompible, incluso para SPZ.

El alfabeto utilizado. Veamos en qué consiste. En la wikipedia se habla de "tablas de Vigenère", pero a mi me gusta más explicarlo de un modo más numérico. Lo primero es ponerse de acuerdo en el afabeto que se usa, y haré la explicación usando el mismo que en la web vigenere.net que usaremos en el desafío (modo extendido). A cada caracter del alfabeto se le hace corresponder un número entre 0 y la longitud del alfabeto menos uno. En este caso el alfabeto tiene 63 caracteres: las 26 letras inglesas, en mayúsculas y minúsculas, los 10 digitos numéricos y el espacio. A cada uno se le hace corresponder un número de 0 a 62. Letra Núm Letra Núm Letra Núm Letra Núm Letra Núm A 0 N 13 a 26 n 39 espacio 52 B 1 O 14 b 27 o 40 0 53 C 2 P 15 c 28 p 41 1 54 D 3 Q 16 d 29 q 42 2 55 E 4 R 17 e 30 r 43 3 56 F 5 S 18 f 31 s 44 4 57 G 6 T 19 g 32 t 45 5 58 H 7 U 20 h 33 u 46 6 59 I 8 V 21 i 34 v 47 7 60 J 9 W 22 j 35 w 48 8 61 K 10 X 23 k 36 x 49 9 62 L 11 Y 24 l 37 y 50 M 12 Z 25 m 38 z 51 Usaremos esa tabla para dos cosas: para codificar el mensaje y para interpretar la clave. Interpretación de la clave. Empecemos por la clave. En la página vigenere.net, solo se permiten claves formadas por letras mayúsculas y minúsculas (no se por qué no admite los números que forman parte del alfabeto). Supongamos que elegimos como clave "ClubPitagoricos". Comenzando a numerar de cero, la letra de la clave en cada posición y el número a que se corresponde según el alfabeto anterior son: Posición 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Letra C l u b P i t a g o r i c o s Núm 2 37 46 27 15 34 45 26 32 40 43 34 28 40 44 Así que la clave "ClubPitagoricos" se traduce en la ristra de números 2, 37, 46, 27, 15, 34, 45, 26, 32, 40, 43, 34, 28, 40, 44. Para qué se usan estos números?. Corresponden al desplazamiento que haremos en cada carácter del mensaje original para obtener el caracter del mensaje cifrado, pero, a diferencia del Cifrado Cesar, aplicado a su posición en lugar de al propio caracter.

Cifrado de un mensaje de la misma longitud que la clave. Veamos un ejemplo. Con la clave "ClubPitagoricos", de 15 caracteres, queremos codificar el texto "Mensaje Inicial", que también tiene 15 caracteres. En la siguiente tabla vemos estos caracteres en la segunda fila. En la siguiente "Núm Inicial" vemos la traducción de cada caracter a número (12, 30, 39, 44, 26, 35, 30, 52, 8, 39, 34, 28, 34, 26, 37). En la fila "Desplazamiento" están reproducidos los números en que se traduce la clave "ClubPitagoricos" (los mismos que en la tabla anterior). La suma de ambos, módulo 63 (la longitud del alfabeto) nos da los valores de la siguiente fila (Núm Cifrado). Y por fin, en la última, está la traducción de estos números a letras según nuestro alfabeto. Posición 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Letra inicial M e n s a j e I n i c i a l Núm inicial 12 30 39 44 26 35 30 52 8 39 34 28 34 26 37 Desplazamiento 2 37 46 27 15 34 45 26 32 40 43 34 28 40 44 Núm cifrado 14 4 22 8 41 6 12 15 40 16 14 62 62 3 18 Letra cifrado O E W I p G M P o Q O 9 9 D S En definitiva, el texto "Mensaje Inicial" codificado con la clave "ClubPitagoricos" nos da el texto cifrado "OEWIpGMPoQO99DS". Podemos prescindir de las filas "Posición", "Num inicial" y "Num cifrado" si hemos entendido la operación de desplazar, y reunir la clave y el mensaje sin cifrar y cifrado en una sola tabla. Clave C l u b P i t a g o r i c o s Desplazamiento 2 37 46 27 15 34 45 26 32 40 43 34 28 40 44 Mensaje M e n s a j e I n i c i a l Cifrado O E W I p G M P o Q O 9 9 D S El proceso de cálculo es caracter por caracter: La primera letra de la clave es la que determina el desplazamiento de la primera letra del mensaje. En este caso, la C mayúscula, tercera del alfabeto, interpretada como clave, significa que deberemos desplazar 2 posiciones el caracter del mensaje inicial (a la A le corresponde desplazamiento 0). Por eso, la letra M se desplaza 2 caracteres pasando a ser O. La segunda letra de nuestro clave es la ele minúscula, a la que corresponde el número 37. Deberemos desplazar 37 caracteres el segundo carácter del mensaje. Por eso la e minúscula pasa a ser E mayúscula. Y así sucesivamente. Cifrado de un mensaje más largo que la clave. Lo habitual es que el mensaje sea más largo. Que se hace entonces?. Fácil: repetir la clave. Así que la codificación de "Mensaje mayor que clave" con la clave "Club" sería "OEWIcJNQoAhEtaZKgaLBcVN" Clave C l u b C l u b C l u b C l u b C l u b C l u Despl. 2 37 46 27 2 37 46 27 2 37 46 27 2 37 46 27 2 37 46 27 2 37 46 Mensaje M e n s a j e m a y o r q u e c l a v e Cifrado O E W I c J N Q o A h E t a Z K g a L B c V N

La posición importa. Comparemos como quedan cifrados ciertos mensajes con la misma clave "ClubPitagoricos": Mensaje original ME GUSTAN LAS MATEMATICAS TE GUSTAN LAS MATEMATICAS LE GUSTAN LAS MATEMATICAS NOS GUSTAN LAS MATEMATICAS OS GUSTAN LAS MATEMATICAS LES GUSTAN LAS MATEMATICAS Mensaje Cifrado Opjhj Batd1iud3C3ynP00cg5 Vpjhj Batd1iud3C3ynP00cg5 Npjhj Batd1iud3C3ynP00cg5 PzBQV1Atg0gtc5hOlCfbiBiio8 Q2jhj Batd1iud3C3ynP00cg5 NpBQV1Atg0gtc5hOlCfbiBiio8 Como se puede observar, la sustitución de un carácter por otro, como en "ME..." a "TE..." no modifica mucho el mensaje cifrado. Sin embargo, la inclusión o eliminación de un caracter, como en "NOS..." a "OS..." modifica radicalmente el cifrado.

ANEXO 2: La web vigenere.net. Es una web muy sencilla. Encriptar un texto. Para encriptar un texto, usaremos la opción "Encrypt" del menú, donde: Meteremos el texto plano (el que queremos encriptar), donde se pueden usar números, letras mayúsculas y minúsculas y espacio, pero hay que evitar acentos, eñes y signos de puntuación (propongo usar STOP en lugar del punto) En la clave (KeyWord) una ristra con solo letras mayúsculas y minúsculas (excepto ñ). No la pongáis muy corta que SPZ nos la revienta. Con 10 caracteres debe bastar. Importante: en Mode elegid "Extended", porque en el otro modo no se permiten espacios y no hay quien lo lea. Al pulsar el botón "Encrypt", puede que no pase nada pero aparezca una admiración roja junto al texto plano o la clave. Significa que habéis usado algún carácter no permitido. Si no es así, al pulsar el botón "Encrypt" saldrá una ventanita con el texto encriptado. Se puede copiar al portapapeles. Prestad atención para copiarlo entera, incluidos espacios (podría ser que el espacio fuera el primer o último caracter). Para el ejemplo de la imagen sale : "GLPd7EWOd2BVg JgNIYLHHNLpLiT7huI5XH9dDHAIcTIbcC7YGHDUQ0NMgHL1PJO6wQaX23ZgCboEGYLHFOPzTkgSh5" En este caso, hay un espacio. Como véis, he usado comillas antes y después. Haced lo mismo en el blog para que no nos volvamos locos descifrando mensajes donde falta un espacio.

Desencriptar un texto. Para desencriptar un texto, usaremos la opción "Decrypt", de funcionamiento muy similar. En el siguiente ejemplo, al pulsar "Decrypt" nos sale una ventanita con el texto (las comillas las he puesto yo): "El texto sin acentos enies ni signos de puntuacion aunque se pueden usar numeros como 1 2 3"

ANEXO 3: Uso de una hoja de cálculo en lugar de la web. Por comodidad, yo me he hecho una hoja en Excel para ir cifrando y descifrando códigos con el mismo resultado que la web www.vigeneren.net. Es tan sencilla que no merece la pena que os la pase, porque podéis partir de una vacía y meter todo el código que aparece abajo en un módulo. Para usarla, tenéis que usar en una celda las funciones Codifica o Decodifica. Ambas tienen como primer parámetro el texto a codificar y como segundo la clave para ello. Si alguien prefiere, que me lpida el Excel a través del buzón de soluciones y se la paso. En cualquier caso, hace exactamente lo mismo que la web www.vigenere.net, por lo que no es necesaria. Option Explicit Const LongitudAlfabeto = 63 Const Alfabeto = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz 0123456789" Function NumLetra(C As String) As Integer NumLetra = InStr(Alfabeto, C) - 1 Function LetraNum(num As Integer) As String If num >= Len(Alfabeto) Or num < 0 Then LetraNum = "-" Else LetraNum = Mid(Alfabeto, num + 1, 1) End If Function PasaClaveNumeros(clave As String, ByRef LongitudClave As Integer, ByRef C() As Integer) As String Dim i As Integer LongitudClave = Len(clave) ReDim C(LongitudClave - 1) ' Pasar la clave a numeros For i = 0 To LongitudClave - 1 C(i) = NumLetra(Mid(clave, i + 1, 1)) If C(i) = -1 Then PasaClaveNumeros = "Clave inválida, solo se permiten letras mayúsculas y minúsculas" Exit Function End If Next PasaClaveNumeros = "" Function Codifica(MensajeSinCifrar As String, clave As String) As String Dim LongitudClave As Integer, LongitudMensaje As Integer, mensajecifrado As String Dim i As Integer, merr As String Dim nsincifrar As Integer, ncifrado As Integer Dim C() As Integer ' Clave pasada a numeros LongitudMensaje = Len(MensajeSinCifrar) merr = PasaClaveNumeros(clave, LongitudClave, C) If merr > "" Then Codifica = merr: Exit Function ' Codificar mensaje mensajecifrado = "" For i = 0 To LongitudMensaje - 1 nsincifrar = NumLetra(Mid(MensajeSinCifrar, i + 1, 1)) If nsincifrar = -1 Then Codifica = "Mensaje inválido, solo se permiten letras mayúsculas y minúsculas, números y espacio" Exit Function End If ncifrado = (C(i Mod LongitudClave) + nsincifrar) Mod LongitudAlfabeto mensajecifrado = mensajecifrado & LetraNum(ncifrado) Next

Codifica = mensajecifrado Function DeCodifica(mensajecifrado As String, clave As String) As String Dim LongitudClave As Integer, LongitudMensaje As Integer, MensajeDescifrado As String Dim i As Integer, merr As String Dim ndescifrado As Integer, ncifrado As Integer Dim C() As Integer ' Clave pasada a numeros LongitudMensaje = Len(mensajecifrado) merr = PasaClaveNumeros(clave, LongitudClave, C) If merr > "" Then DeCodifica = merr: Exit Function ' DeCodificar mensaje MensajeDescifrado = "" For i = 0 To LongitudMensaje - 1 ncifrado = NumLetra(Mid(mensajecifrado, i + 1, 1)) If ncifrado = -1 Then DeCodifica = "Mensaje cifrado inválido, solo se permiten letras mayúsculas y minúsculas, números y espacio" Exit Function End If ndescifrado = (LongitudAlfabeto + ncifrado - C(i Mod LongitudClave)) Mod LongitudAlfabeto MensajeDescifrado = MensajeDescifrado & LetraNum(ndescifrado) Next DeCodifica = MensajeDescifrado