UC-IIC3253 / 2021

Repositorio del curso Criptografı́a y Seguridad Computacional - IIC3253
21 stars 3 forks source link

[Tarea2] Encriptación #38

Open Arcoirisky opened 3 years ago

Arcoirisky commented 3 years ago

Hola! se supone que usemos todas las funciones pedidas para crear un RSA, eso significa que debemos encriptar mensajes ¿no? Lo que tengo funciona perfect si voy letra por letra transformando el mensaje en un número con mi clave en forma de lista y pasándolo por dec obtengo mi mensaje, pero dudo que sea así como funciona realmente RSA.

Al encriptar no todos los c_i tienen el mismo largo que la llave ¿debería ser así? porque entonces si mando mi mensaje como el chorizo de números no sé cómo dividirlo después para que queden bien separadas mis letras.

¿Estoy haciendo algo mal? ¿hay algo como un padding que tenga el RSA que no estoy aplicando? porque dudo que solo deba decirle a Bob:

c = [1730155429, 2541774292, 2272561320, 3392390595, 108241871, 3513132231, 3392390595, 2272561320, 2541774292, 3529732100, 2272561320, 3513132231, 1662613321, 2495078777, 108241871, 1662613321, 1901215719, 2967039217, 154793920, 3529732100, 1662613321, 2272561320, 108241871, 1662613321, 2272561320, 1565042406, 1662613321, 2272561320, 2792950161, 3529732100, 3392390595, 2272561320, 1924941942, 3529732100, 154793920, 2272561320, 1901215719, 154793920, 108241871, 3392390595]

y que él con su clave privada d = 1709454903 descubra el mensaje letra por letra

marceloarenassaavedra commented 3 years ago

Hola!

Suponiendo que (e,N) y (d,N) son las claves pública y privada (almacenadas en los archivos public_key.txt and private_key.txt, respectivamente), en la tarea les pedimos recibir un número m tal que 0 <= m <= N-1 y cifrarlo a través de la función enc sin descomponerlo, y lo mismo para la función dec para descifrar.

Si el número m es mayor que N y N tiene l dígitos, una posible alternativa para cifrar m es dividirlo en números de l-1 dígitos para que sean largos y menores que N. En todo caso no les pedimos que hagan esto en la tarea porque usualmente RSA es utilizado solo inicialmente para que A y B se pongan de acuerdo en una clave para criptografía simetrica, por lo que la encriptación de mensaje se hace con algoritmos como DES y AES (que son muchos más eficientes que RSA).

Saludos!

Marcelo

Arcoirisky commented 3 years ago

Ooooh entonces si tengo las funciones pedidas en el enunciado está listo? Brígido. Por eso todos los ejemplos que he visto desencriptaban con esa lista.

Genial xD gracias!!

marceloarenassaavedra commented 3 years ago

Sí :)

Agregué en el enunciado de la tarea el supuesto 0 <= m <= N-1 en las definiciones de las funciones enc y dec.

Saludos!

Marcelo