I'm not sure about generating encryption keys, but I know for Windows Vista and later, you can use Bitlocker to encrypt your entire drive. Bitlocker uses the AES cipher, though I think you can choose a different cipher if you want to use RSA. You can use this in conjunction with the older EFS feature, which provides on-the-fly encryption for individual files, if there are any files that are especially sensitive and you want to make sure no one can access them, even if they crack the Bitlocker key through a cold boot attack or something. I believe the encryption key is automatically generated from your password, because that's how FileVault does it.