Armazenamento persistente de dados criptografados usando .Net

Eu preciso armazenar dados criptografados (algumas pequenas seqüências de caracteres) entre execuções de aplicativos. Eu não quero que o usuário forneça uma senha toda vez que ele lança o aplicativo. Ou seja afinal, ele vai até o armazenamento seguro da (s) chave (s) de criptografia.

Eu estava procurando RSACryptoServiceProvider e usando PersistentKeyInCsp, mas não sei como funciona. O contêiner de chaves é persistente entre execuções de aplicativos ou reinicializações de máquinas? Se sim, é específico do usuário ou específico da máquina. Ou seja se eu armazenar meus dados criptografados no perfil móvel do usuário, posso descriptografar os dados se o usuário fizer logon em uma máquina diferente?

Se o acima não funcionar, quais são minhas opções (eu preciso lidar com perfis de roaming).

questionAnswers(2)

yourAnswerToTheQuestion