Strong Name (further referred to as "SN") is a technology
introduced with the .NET platform and it brings many
possibilities into .NET applications. But many .NET developers
still see Strong Names as security enablers (which is very
wrong!) and not as a technology uniquely identifying assemblies.
There is a lot of misunderstanding about SNs (as we could see in
the article "Building Security Awareness in .NET Assemblies :
Part 3 - Learn to break Strong Name .NET Assemblies this article
attempts to clear those up. Now let's see what SNs are, what we
can use them for and how they work. Strong Name is a technology
based on cryptographic principles, primary digital signatures;
basic idea is presented in the figure At the heart of digital
signatures is asymmetric cryptography (RSA, EL Gamal), together
with hashing functions (MD5, SHA). So what happens when we want
to sign any data? I'll try to explain what happens in the figure
above. First we must get a public/private key pair (from our
administrator, certificatio