Sobre cifrado general RSA particular

El caso es que estoy realizando una librería para el cifrado RSA para que forme parte de una aplicación que a su vez forma parte para un trabajo final de grado, el caso es que consigo encriptar y desencriptar bien con números primos relativamente bajos por de bajo de el numero 1000, caracteres sueltos que forman una frase pero noto el tiempo de computo, entonces me pregunto unas cuestiones.

¿como se realiza para por ejemplo tener valores de p y q de 1024 bits calcular un solo carácter buffff?
La verdad había pensado en encriptar los caracteres y almacenar el resultado en tablas look-up para evitarme el calculo, y en la otra parte añadir esa tabla look-up.

Imagino que habré dicho barbaridades pero bueno tened en cuenta que no tengo ni idea.
desal escribió:El caso es que estoy realizando una librería para el cifrado RSA para que forme parte de una aplicación que a su vez forma parte para un trabajo final de grado, el caso es que consigo encriptar y desencriptar bien con números primos relativamente bajos por de bajo de el numero 1000, caracteres sueltos que forman una frase pero noto el tiempo de computo, entonces me pregunto unas cuestiones.

¿como se realiza para por ejemplo tener valores de p y q de 1024 bits calcular un solo carácter buffff?
La verdad había pensado en encriptar los caracteres y almacenar el resultado en tablas look-up para evitarme el calculo, y en la otra parte añadir esa tabla look-up.

Imagino que habré dicho barbaridades pero bueno tened en cuenta que no tengo ni idea.

¿Estas seguro que necesitas hacer la librería para empezar? XD

Sin ver código no podemos hacer mucho, pero lo primero que tienes que hacer es hacer mediciones de tiempo. Muchas veces los cuellos de botella están donde menos lo esperamos.
no pillo la pregunta @amchacon XD XD , hombre para empezar como se dice no es, la aplicacion donde va ya la tengo casi hecha, el caso es que el profesor me meciono el tema de seguridad en las comunicacions de si habia puesto algo y bueno pues me dije voy a ponerle algo.

La verdad es que la implementacion parece funcionar muy bien hago uso de una libreria biginteger que parece funcionar bien.

pero bueno por ejemplo esto:

40^197645784679487543484848483 mod (7373747474747475774288821)

no se, pero eso se lo pongo tal cual al pc y me tarda
desal escribió:no pillo la pregunta @amchacon XD XD , hombre para empezar como se dice no es, la aplicacion donde va ya la tengo casi hecha, el caso es que el profesor me meciono el tema de seguridad en las comunicacions de si habia puesto algo y bueno pues me dije voy a ponerle algo.

Pues que podrías usar una librería y ya. No tienes que reinventar la rueda.

desal escribió:La verdad es que la implementacion parece funcionar muy bien hago uso de una libreria biginteger que parece funcionar bien.

pero bueno por ejemplo esto:

40^197645784679487543484848483 mod (7373747474747475774288821)

no se, pero eso se lo pongo tal cual al pc y me tarda

No te jode, solo en hacer la potencia se te va a ir la tira XD
XD XD gracias, ahora la cuestión, como hacen para que funcione, hacen tablas look-up para solo realizar cálculos una vez o como. Pr ejemplo ahora estoy viendo el cifrado AES y lo veo mas tratable a la hora de hacer las permutaciones, pero el RSA me queda la duda.
Como te dice amchacon, no seas loco y utiliza alguna librería que lo implemente.

RSA no se suele usar para cifrar toda la información. Por ejemplo en https, verificas la identidad (firma) del servidor a través de RSA y compartes las claves de cifrado (simetrico) via RSA, luego ya usas cifrado simetrico (como podría ser AES)

Si aun sigues con la idea de cocinarte todo y reinventar la rueda, mira como lo hace alguna implementación, aunque la mayoría por temas de rendimientos suelen ser wrappers a c, como puede ser la de python.
5 respuestas