¿De dónde vienen las constantes mágicas para los algoritmos de firma?

0

Por ejemplo, he visto 3031300d060960864801650304020105000420 como un identificador para RSA / SHA256, 3020300c06082a864886f70d020505000410 para RSA / MD5. ¿De dónde vienen estos valores?

Me encontré con uno de estos valores aquí , donde decía:

$t = '3031300d060960864801650304020105000420'; # sha256

y aquí :

case PGPHASHALGO_SHA256:
    t = stpcpy(t, " RSA/SHA256");
    prefix = "3031300d060960864801650304020105000420";
    
pregunta Synchro 28.07.2016 - 11:49
fuente

1 respuesta

1

Por supuesto, escribir la pregunta me llevó a la respuesta ...

Estos valores provienen de RFC3447 :

For the six hash functions mentioned in Appendix B.1, the DER
encoding T of the DigestInfo value is equal to the following:

MD2:     (0x)30 20 30 0c 06 08 2a 86 48 86 f7 0d 02 02 05 00 04
               10 || H.
MD5:     (0x)30 20 30 0c 06 08 2a 86 48 86 f7 0d 02 05 05 00 04
               10 || H.
SHA-1:   (0x)30 21 30 09 06 05 2b 0e 03 02 1a 05 00 04 14 || H.
SHA-256: (0x)30 31 30 0d 06 09 60 86 48 01 65 03 04 02 01 05 00
               04 20 || H.
SHA-384: (0x)30 41 30 0d 06 09 60 86 48 01 65 03 04 02 02 05 00
               04 30 || H.
SHA-512: (0x)30 51 30 0d 06 09 60 86 48 01 65 03 04 02 03 05 00
                  04 40 || H.
    
respondido por el Synchro 28.07.2016 - 11:49
fuente

Lea otras preguntas en las etiquetas