title: DSACryptoServiceProvider vs. RSACryptoServiceProvider
body: <p>I seem to have misunderstanding here. </p>
  
  <p>I need to implement public/private key encryption (PKCS) with digital signing. I've found the following classes in .Net framework.</p>
  
  <ol>
  <li>RSACryptoServiceProvider</li>
  <li>DSACryptoServiceProvider</li>
  </ol>
  
  <p>I want to encrypt files then digitally sign them, and at the receiver verify the signature and then decrypt. </p>
  
  <p>The class DSACryptoServiceProvider has the function VerifySignature which takes both the signed signed value and the un-signed value!</p>
  
  <p>My question here is whether to encrypt-then-sign or sign-then-encrypt?</p>
  
  <p>If i send the un-signed key (along with the signed key) of the encryption key, then any third party will be able to decrypt the text</p>