Recomendación Con Cifrado [Resuelto]

Iniciado por Keyen Night, 2 Diciembre 2010, 00:15 AM

0 Miembros y 1 Visitante están viendo este tema.

Keyen Night

Tengo un programa que se conecta de forma automáticas a un juego, los datos de acceso son guardados en archivos, con que tipo de cifrado me recomiendan proteger dichos archivos. Hay que tener en cuenta que este archivo es portable.
La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...

APOKLIPTICO

Si realmente no es super importante lo que hay en ese archivo, un simple cifrado simétrico, AES x ejemplo con una clave hardcodeada o sacada de un valor constante pasado por un prng como blum blum shub o mersenne twister.
Si no querés que se sepa lo que hay en el archivo, entonces podés usar un cifrado hibrido RSA 1024 bits - AES 256 bits.

No entiendo muy bien como es eso de los datos, si pudieses explicar con un diagrama como es que se conecta y de que forma interactúan los datos a proteger, quizas te pueda ayudar más.
AMD Phenom II 1075T X6 @ 290 Mhz x 11 (HT 2036 Mhz NB Link 2616 Mhz) 1.23 Vcore
ASUS M4A89GTD-PRO/USB3
2x2gb G-Skill RipjawsX DDR3 1600 Mhz CL7 (7-8-7-24-25-1T)
Seagate 500 Gb
XFX HD4850 512Mb GDDR3. 650 Mhz/995 Mhz 1.1 Tflops.

Keyen Night

El juego es Tibia, quisas muchos lo conocen, se accede con 2 contraseñas, mi programa lee las 2 contraseñas del juego ya conectado y algunas otras informaciones importantes y las pasa a un archivo (este es el archivo a cifrar), para que luego en vez de una conexion manual se abra el programa y que a partir del archivo con los datos se pueda realizar la conexión de forma automática. surge el problema de como protegerme de los lectores de memoria malignos?, es decir los que se quieran robar los datos, pues se me ocurrio algo que me funciono muchisimo, cambiando unas cuantas cosas en el ejecutable que no nombrare porque quisas en este foro hayan muchos que se dedican a hackear cuentas del juego :silbar:, y así se evita la detección de los patrones que existen en el proceso para detectar que ese proceso es el juego...

La forma es que los datos pasan desde el cliente (el juego) hasta el servidor ya eso es trabajo de los programadores del juego :xD
La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...

APOKLIPTICO

Ajam, bueno, entonces no te queda otra que cifrar con una contraseña hardcodeada y un cifrado AES 256 bits si querés.
Aunque en realidad, en estos casos, te conviene hacer un algoritmo ad-hoc, de esta manera, si alguien consigue la contraseña hardcodeada, no podrá descifrar el archivo, ya que primero tendría que conseguir el algoritmo.

En cuanto al algoritmo, yo te recomiendo que utilices un PRNG seguro, como blum blum shub y le pases como seed la contraseña. El output del PRNG lo usas como keystream para cifrar con un xor simple al archivo, si querés podés utilizar alguna otra manera de hacer los xor, no tiene por qué ser secuencial.
No te digo que va a ser irrompible, pero seguro va a requerir bastante conocimiento de ingeniería inversa para crackear el archivo.
AMD Phenom II 1075T X6 @ 290 Mhz x 11 (HT 2036 Mhz NB Link 2616 Mhz) 1.23 Vcore
ASUS M4A89GTD-PRO/USB3
2x2gb G-Skill RipjawsX DDR3 1600 Mhz CL7 (7-8-7-24-25-1T)
Seagate 500 Gb
XFX HD4850 512Mb GDDR3. 650 Mhz/995 Mhz 1.1 Tflops.

Keyen Night

Estaba usando AES 256 con contraseña generada por hardcode pero me gusta más la otra opción que me distes, me quedo con esa Gracias ;-)
La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...