y necesitaba una encriptacion fuerte y k sea reversible.
...las q son reversibles ninguna van a ser muy fuertes pero weno...
Es lo que tiene el cifrado (o la cifrado como decís), que tiene que ser reversible. Sino lo fuera para que vale?
El propósito de cifrar las cosas es que nadie las entienda salvo el que tiene que hacerlo (en tu caso tú mismo).
Lo de que sea fuerte es relativo. No quieres que tus datos los lea tu hermano pequeño o no quieres que los lea el FBI?
Si no quieres que los lea tu hermano, puedes usar un simple XOR (te inventas un palabra clave, haces un padding y XOReas), pero si no quieras que los lea el FBI, pues un XOR no te valdrá para nada.
pero no te olvides de que 128 es seguro, pero 256 es mas seguro
Eso es una verdad como una casa. Si el tiempo de ruptura para una contraseña de 128 bits es de X, el tiempo de ruptura para una pass de 129 bits es del doble de X, así que no te digo el de 256 (el doble del doble del doble ...)
Pero esto es si usas un pass de esa longitud.
Normalmente los programas de cifrado te piden que metas una contraseña, y luego en base a esa contraseña sacan una de 128 bits por ejemplo. Pero aunque uses un cifrado de 128 bits, si la contraseña inicial, la "semilla", es de un caracter, te da igual ir a 128, que a 256 que a 3 mill millones de bits. Con solo adivinar ese caracter ya se descifra todo.
Se entiende lo que digo no? Es como el PGP, que te cifra la clave privada con un IDEA de 1024, pero que depende del passphrase que le metas.
El RSA no se usa para cifrar datos, por lo menos directamente. Es un cifrado asimétrico, mil veces más lento que los simétricos.
Aunque la mejor opción es una combinación de ambos, cifrado mixto.
Con un cifrado simétrico, si lo haces como Dios manda, en vez de darle a un programa una contraseña que te inventes y que él te genere una contraseña apropiada, tendrás que darle una contraseña directamente, 128 bits o los que sean aleatorios.
Evidentemente, o eres un portento, o no vas a poder recordar una combinación aleatoria de 128 bits.
Así que esa combinación vas a tener que almacenarla con el riesgo que ello supone.
Ahí entra de lleno el RSA.
Los 128 bits de pass del algoritmo simétrico, en vez de almacenarlos en plano, los cifras con tu clave pública del RSA.
De esta forma, si alguien accede a ellos, tendrá que descifrarlos primero con tu clave privada, que solo tienes tu.
Solventas el problema de velocidad que tiene el cifrado asimétrico y el problema de almacenar/comparir la clave que tiene el simétrico.
Esto a nivel teórico.
Luego cada caso es particular.