Sto lavorando a un'applicazione di tipo editor di testo che esegue qualcosa di simile a questo (è un'app di piccole dimensioni):
- Il client può utilizzare l'app per un'ora dopo averla eseguita. L'app si trova in un ambiente in cui non è possibile lasciare l'app senza perdere tutti i dati.
- Una volta scaduto il tempo, il programma salverà il testo inserito dal client in un file nella loro directory locale.
- Il client può quindi attivare questo file.
È il secondo passaggio a cui sto pensando. Voglio progettare l'applicazione in modo che, una volta scaduto il tempo, il file nella directory locale dei client sia crittografato in modo che non possano visualizzare di nuovo il contenuto del testo. So che posso usare i checksum per tracciare eventuali manomissioni dopo che è trascorso il tempo, ma non è quello che sto chiedendo. Ho bisogno che non siano in grado di recuperare l'input di testo che hanno messo in primo piano.
La mia idea immediata era di fornire a ciascun client una chiave pubblica e memorizzare una chiave privata lato server per ogni cliente. Quando l'applicazione si chiude, il loro testo viene crittografato con RSA utilizzando la chiave pubblica fornita e solo io sarò in grado di crittografare l'invio dalle chiavi private che tengo.
Tuttavia so che RSA non è un buon approccio per la crittografia dei dati reali. Come ho capito, è usato di più per crittografare le chiavi di un sistema di crittografia simmetrica.
Dovrei semplicemente usare RSA qui o c'è un approccio migliore?