¿problema con la criptografia, aritmetica modular?

resulta que estoy estudiando criptografia con la aritmetica modular.

tengo las letras de la A a la Z numeradas del 1 al 26.

segun lo que vi en internet, la mejor forma es multiplicar (o sumar, dividir, restar etc.) cada letra a codificar por un numero aleatorio, por lo cual, multiplico el valor de "S" que es 20, por 3.

s = 20

20*3 = 60

pero lo que yo quiero es que ese 60 sea un numero menor o igual a 26 para poder reemplazar a 60 por una letra diferente, de aqui la aritmetica modular:

60 mod 26 = 8.

pero luego cuando vaya a decodificar el mensaje, como se yo que 8 lo puedo convertir en 20, sabiendo que:

34 mod 26 = 8

osea, da el mismo resultado, como se yo si ese numero es 34 o 60?. segun lo que he pensado hasta el momento, me surgio la teoria de que si divido ese 34 por 3 (34/3), no me dara un numero entero sino decimal, pero quiero saber si en todos los casos se cumple esto o tengo que hacerlo de otra forma, para convertir ese 60 (o cualquier otro numero mayor a 26) en otro menor a 26 gracias por leer.

1 respuesta

Calificación
  • Anónimo
    hace 1 década
    Respuesta preferida

    Veamos, tu esquema de codificación consiste en asignar a cada símbolo s el número

    (n s) mod m donde n = 3 y m = 26.

    Como n y m son primos relativos (tienen mcd(n,m) = 1) entonces el sistema

    (x n) mod m = 1

    tiene solución, y la puedes hallar usando el algoritmo extendido de Euclides (mira en la referencia). Entonces una vez que conoces el valor de x calculas

    [x (n s)] mod m = s

    y listo, acabas de descifrar s.

¿Aún tienes preguntas? Pregunta ahora para obtener respuestas.