http://msdn.microsoft.com/en-us/library/ms973231.aspx#assenamesp_topic4
Από εκεί σου δίνω το παρακάτω
Security
An assembly is the unit at which
security permissions are requested and granted. Assemblies are also the
level at which you establish identity and trust. The .NET Framework
provides two mechanisms for this level of assembly security: strong
names and Signcode.exe. You can also manage security by specifying the
level of trust for code from a particular site or zone.
Signing
an assembly with a strong name adds public key encryption to the
assembly. This ensures name uniqueness and prevents substituting
another assembly with the same name for the assembly that you provided.
The
signcode.exe tool embeds a digital certificate in the assembly. This
allows users of the assembly to verify the identity of the assembly's
developer by using a public or private trust hierarchy.
You can choose to use either strong names, Signcode.exe, or both, to strengthen the identity of your assembly.
The
common language runtime also uses internal hashing information, in
conjunction with strong names and signcode, to verify that the assembly
being loaded has not been altered after it was built.