Please see my comment to the question. First idea which comes to my mind: it makes no practical sense. This is a
symmetric algorithm:
http://en.wikipedia.org/wiki/Symmetric-key_algorithm[
^].
As the same key is used for encryption and decryption, you cannot make digital signature, and you cannot protect the data by sending it using the public channels of communication. Why? Because, if you want to protect it, you need to send the key secretly. But if you had a way to send a key secretly, you could send the file itself in the same way.
Asymmetric
public-key cryptography is a completely different story: you could perform the key exchange the way that anyone who spied on all your communications and get all the key you sent would not be able to read the file, if you protect its content, or would not be able to forge the false document, if you used digital signature. If you thought it's impossible, you have no clue how modern cryptography works. So, please get this idea:
http://en.wikipedia.org/wiki/Public-key_cryptography[
^].
As to the implementation of any of those algorithms, with .NET this is not a problem:
http://msdn.microsoft.com/en-us/library/system.security.cryptography%28v=vs.110%29.aspx[
^],
http://msdn.microsoft.com/en-us/library/system.security.cryptography.symmetricalgorithm%28v=vs.110%29.aspx[
^],
http://msdn.microsoft.com/en-us/library/system.security.cryptography.asymmetricalgorithm%28v=vs.110%29.aspx[
^].
—SA