First of all, it's all already well implemented in .NET. Moreover, the digital signature itself is used in the very basic layers of .NET, first of all, due to the strongly-named assemblies
So, there is nothing you will really have to implement. What is really required of you, is understanding of what digital signature
really does. I am very frustrated by the fact that too many developers, even those actually using digital signatures, really have no clue on what it does.
And another frustrating factor is your request for "step-by-step instructions". I always had a problem explaining to such people why such approach is counter-productive (even though it can be useful in some fields, but only on some stages). A while ago, I came up with the formula which should be more effective. I started to say: if the step-by-step instruction was possible and made any sense, I would easily write the application which actually does all those steps, this way eliminating you from the process
. I want to believe, that you only wanted it to quickly overview what's involved, to understand what's going on later.
In this field, however, understanding is the main thing, as the "steps" themselves are next to nothing, but understanding is not trivial at all. And, for understanding, you need to read on the very basics really, really carefully. Warning!
illusory knowledge is very usual in this fields, so again, very carefully:
it is based on http://en.wikipedia.org/wiki/Public-key_encryption
], pay the most attention to this article,
it is important to understand: http://en.wikipedia.org/wiki/One-way_function
one of the most widely used algorithms is: http://en.wikipedia.org/wiki/RSA_%28algorithm%29
Please follow the important references from these pages by yourself.
And now, implementations. You will find nearly all you need here: http://msdn.microsoft.com/en-us/library/system.security.cryptography.asymmetricalgorithm.aspx