Por lo que leí, los algoritmos de cifrado, como RSA, permiten generar la clave pública a partir de la privada.
En pocas palabras, para una tesis que estoy escribiendo, pensé en resolver un problema de seguridad con los usuarios que editan datos de manera malintencionada al regalar la clave privada en lugar del público y mantener al público almacenado de forma segura dentro de una base de datos. De esta manera, puedo dejar que mi programa lea un archivo, pero no permitiré que el usuario lo edite, incluso si pudiera leerlo. Como resultado, tendría un sistema de archivos de solo lectura relativamente confiable (ya que cambiar los permisos se puede hacer con bastante facilidad).
Pero, por supuesto, todo se rompe si el usuario puede obtener la parte pública de la parte privada.
Me gustaría saber si hay una manera de evitar esto (o un algoritmo similar que hace el trabajo).
EDITAR: ya que estoy recibiendo muchas críticas negativas, publicaré la historia completa: es una tesis que estoy escribiendo, y el objetivo principal es encontrar soluciones alternativas a los problemas existentes, más que la simple curiosidad. Por supuesto que sabía sobre la firma digital. Lo suficientemente divertido, hice esta pregunta en stackoverflow y, aparte de sugerirme que publique la pregunta aquí, me recomendaron que dejara esta parte.