title: Python encryption with a master key
body: <p>I need to put sensitive data in a database that can be seen by everyone in our organisation
  I wish to encrypt the data and then put it in a text field
  The data will be accessible via a GUI that will ask the user to enter a password that will be used to encrypt/decrypt the data
  I don't trust the users to remember their passwords so I want to have a single master key that will decypt all data</p>
  
  <p>The only way I can see to do this is to encrypt the data with a symmetric key and at the same time encrypt a copy of the password with a public key.  The private key can then be used to decrypt the symmetric key and thus decrypt the data if the user loses their key.</p>
  
  <p>Is this a sensible way to do it or am I making it harder than I need to?</p>
  
  <p>I will be doing this in Python.  Looking at other posts it seems that Pycrypto is the library I should be looking at.  Is this right?</p>
  
  <p>Thanks</p>