Da dove provengono le costanti magiche per gli algoritmi delle firme?

0

Ad esempio, ho visto 3031300d060960864801650304020105000420 come identificatore per RSA / SHA256, 3020300c06082a864886f70d020505000410 per RSA / MD5. Da dove provengono questi valori?

Ho trovato uno di questi valori qui , dove è stato detto:

$t = '3031300d060960864801650304020105000420'; # sha256

e qui :

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

1 risposta

1

Naturalmente scrivere la domanda mi ha portato alla risposta ...

Questi valori provengono da 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.
    
risposta data 28.07.2016 - 11:49
fonte

Leggi altre domande sui tag