Almacenamiento persistente de datos encriptados usando .Net

Necesito almacenar datos encriptados (pocas cadenas pequeñas) entre las ejecuciones de la aplicación. No quiero que el usuario proporcione una contraseña cada vez que inicie la aplicación. Es decir. después de todo, se reduce al almacenamiento seguro de la (s) clave (s) de encriptación.

Estaba buscando en RSACryptoServiceProvider y utilizando PersistentKeyInCsp, pero no estoy seguro de cómo funciona. ¿Es persistente el contenedor de claves entre las ejecuciones de la aplicación o los reinicios de la máquina? En caso afirmativo, es específico del usuario o específico de la máquina. Es decir. si almaceno mis datos cifrados en el perfil móvil del usuario, ¿puedo descifrar los datos si el usuario inicia sesión en una máquina diferente?

Si lo anterior no funciona, ¿cuáles son mis opciones (necesito tratar con los perfiles móviles).

Respuestas a la pregunta(2)

Su respuesta a la pregunta