Sono un po 'confuso riguardo la protezione della chiave di crittografia segreta. Ecco lo scenario:
- Ho bisogno di crittografare alcuni dati (file)
- Questi dati saranno letti da un programma (diciamo scritto in C / C ++).
- Sia il programma binario che i dati crittografati saranno accessibili ad alcuni utenti arbitrari.
Tuttavia, per leggere i dati il programma deve avere la chiave segreta che è stata utilizzata per crittografare i dati. Una possibilità sarebbe quella di codificare la chiave segreta nel codice sorgente del programma stesso. Tuttavia, la chiave può essere trovata anche dal binario compilato! Inoltre, non ho alcuna possibilità di ricevere input dall'utente per password / chiave segreta, ecc. Inoltre, non ho alcun accesso alla rete per richiedere a un server di inviare la chiave. Per favore, supponiamo che il sistema operativo sia linux / linux come.
Quindi, la domanda è, come posso proteggere questa chiave?