Вы можете использовать DPAPI . Это простой метод шифрования и дешифрования конфиденциальных данных. Это позволяет ограничить доступ к зашифрованным данным для пользователя или для машины. Это так просто (взято из примера на связанной странице):
byte [] secret = { 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4 };
ProtectedMemory.Protect( secret, MemoryProtectionScope.SameLogon );
ProtectedMemory.Unprotect( secret, MemoryProtectionScope.SameLogon );
Я не уверен, насколько хорошо это будет соответствовать вашим требованиям, dpapi так же безопасен, как пароль для входа в Windows, после входа в систему вы можете расшифровать данные (в зависимости от объема защиты). См. этот ТАК вопрос для обсуждения.