CryptProtectMemory Internals



Hey.

I've looked all around and couldn't find the answers, so if this was
already posted somewhere - I apologize.

I've read that CryptProtectData encrypts data using a key derived from
the user's credentials.
I assume CryptProtectMemory works pretty much the same.
Therefore, the encryption's strength is derived from the user's
password's strength.

How does this work for Local System account?
Say a service that runs with Local System account uses
CryptProtectMemory - how strong is the encryption? How strong is Local
System's password (if there is such a thing)?

and in a more general approach: Is it publicly known how
CryptProtectData/CryptProtectMemory actually work? What does "derived
from credentials" mean in practice?

Thanks,
Ran.

.