Sto usando .NET 4.0 per sviluppare un servizio Windows che memorizzerà temporaneamente dati crittografati in un database. I dati verranno crittografati quando vengono inseriti, quindi decrittografati, elaborati e cancellati una volta elaborati. Questo verrà probabilmente eseguito come un processo batch (migliaia di righe alla volta).
Ho esaminato Generazione di chiavi per la crittografia e la decrittografia su MSDN e sembra che potrei usare la crittografia simmetrica TripleDES (stavo pensando di usare la classe RijndaelManaged).
Tuttavia, se il servizio fallisce o perdo la connessione al mio database mentre sto crittografando e inserendo i dati, voglio essere in grado di riprendere da dove ho lasciato con la stessa IV e chiave.
Come dovrei conservare il mio IV e la chiave su un computer locale? Voglio essere sicuro che non verrà trovato e utilizzato per decifrare i contenuti crittografati del database.