Estoy trabajando en una aplicación de tipo editor de texto que ejecuta algo como esto (es una aplicación a pequeña escala):
- El cliente puede usar la aplicación durante una hora después de ejecutarla. La aplicación se encuentra en un entorno de caja donde no pueden abandonar la aplicación sin perder todos sus datos.
- Una vez que se acabe el tiempo, el programa guardará la entrada de texto del cliente en un archivo en su directorio local.
- El cliente puede convertir este archivo.
Es el paso 2 en el que estoy pensando. Quiero diseñar la aplicación para que, una vez que se acabe el tiempo, el archivo en el directorio local de los clientes esté encriptado para que no puedan ver el contenido del texto nuevamente. Sé que puedo usar sumas de comprobación para rastrear cualquier manipulación después de que se acabe el tiempo, pero eso no es lo que estoy preguntando. Los necesito para no poder recuperar la entrada de texto que pusieron en primer lugar.
Mi idea inmediata fue proporcionar a cada cliente una clave pública y almacenar una clave privada del lado del servidor para cada cliente. Cuando se cierra la aplicación, su texto está cifrado RSA utilizando la clave pública provista y solo yo podré cifrar el envío de las claves privadas que tengo.
Sin embargo, sé que RSA no es un buen método para cifrar datos reales. Según tengo entendido, se usa más para cifrar las claves de algún sistema de cifrado simétrico.
¿Debo usar RSA aquí o hay un mejor enfoque?