Da ciò che ho letto, gli algoritmi di crittografia come RSA consentono di generare la chiave pubblica da quella privata.
Per farla breve, per una tesi che sto scrivendo, ho pensato di risolvere un problema di sicurezza con gli utenti che modificavano dati maliziosamente distribuendo la chiave privata al posto del pubblico e mantenendo il pubblico memorizzato in modo sicuro all'interno di un database. In questo modo, posso lasciare che il mio programma legga un file, ma non lascerò che l'utente lo modifichi anche se fosse in grado di leggerlo. Di conseguenza, avrei un file system di sola lettura relativamente affidabile (dato che cambiare i permessi può essere fatto abbastanza facilmente).
Ma ovviamente tutto si rompe se l'utente può ottenere la parte pubblica dalla parte privata.
Mi piacerebbe sapere se c'è un modo per prevenire questo (o un algoritmo simile che fa il lavoro).
EDIT: poiché sto ricevendo parecchie recensioni negative, pubblicherò la storia completa: è una tesi che sto scrivendo, e l'obiettivo principale è trovare soluzioni alternative ai problemi esistenti, oltre alla semplice curiosità. Naturalmente sapevo della firma digitale. Abbastanza divertente, ho fatto questa domanda su StackOverflow e, oltre a suggerirmi di pubblicare la domanda qui, mi hanno raccomandato di lasciare questa parte.