All RSA digital signature blocks contain an ASN.1 encoded hash algorithm identification string. This is mentioned in the previous section. The following table lists the encodings for the algorithms supported by the Microsoft Base Cryptographic Provider, as well as by most other RSA CSPs.
Algorithm | Encoding |
---|---|
MD2 | 0x00000000 10 04 00 05 02 02 0d f7 ........ 0x00000008 86 48 86 2a 08 06 0c 30 .H.*...0 0x00000010 20 30 0 |
MD4 | 0x00000000 10 04 00 05 04 02 0d f7 ........ 0x00000008 86 48 86 2a 08 06 0c 30 .H.*...0 0x00000010 20 30 0 |
MD5 | 0x00000000 10 04 00 05 05 02 0d f7 ........ 0x00000008 86 48 86 2a 08 06 0c 30 .H.*...0 0x00000010 20 30 0 |
SHA | 0x00000000 14 04 00 05 1a 02 03 0e ........ 0x00000008 2b 05 06 09 30 21 30 +...0!0 |
The encoded OID strings shown in the previous table include "wrapper" bytes. For example, the encoded string shown for SHA contains the following information (for clarity, the bytes are reverse ordered):