Public Keys, Private Keys and Encryption in Assembly using C#
In this article we will discuss about what is Encryption, Public keys and Private Keys regarding to Assemblies in C#.
Encryption is the act of encoding files/programs so that others not privy to the decryption mechanism cannot understand the content of the text. Thus encryption is the process of hiding our data from anyone we feel should not be allowed to read it. Under the .NET platform this has special significance since here we distribute our IL code embedded in assemblies, instead of the executable machine code, which are potentially be deciphered without too much difficulty.
.NET has a strong inbuilt mechanism to maintain privacy of code. If this had not been the case, any one with the ILDASM.EXE utility would have an access to our code. Not only that, he or she would also have the opportunity to distribute it under his name. .NET achieves this security by public key encryption.
The public key and private keys are complementary entities; one is meaningless without the other. The creation of public and private keys is carried out by complicated mathematical algorithms. A document encrypted with one key can be decrypted only by using the other key. Not even the key with which the data was encrypted can be used to decrypt it back. The public key can be distributed freely without any fear of it being misused.
Ask Your Question
Got a programming related question? You may want to post your question here