title: generate key pair based on a string
body: <p>I need to create private\public key based on a string. (This string is unique machine-specific id generated at runtime. Public key will be shared, so all users could send the data to this machine.)</p>
  
  <p>As far as I know, RSACryptoServiceProvider generates the key pair automatically. I need to generate the same pair each time I send the same string. </p>
  
  <p>Any idea how to implement this in c#?</p>
  
  <p>(added)
  I'm not interested in creating a certificate and storing it locally, it doesn't suit in this case (because if you generate a cerificate in two different os installations on a computer, the keypairs will be different. I need machine-specific ID and keypair. I now how to generate ID, but I'm not sure yet how to generate keys base on it). </p>
  
  <p>I'd like to use RSA, however, any asymmetric algorithm will be suitable.</p>