Generazione di coppie di chiavi PKCS11 - attributi MODULUS_BITS e PUBLIC_EXPONENT

0

Usiamo un'interfaccia PKCS # 11 piuttosto di basso livello e stiamo provando a generare una coppia di chiavi per RSA con esso. Stiamo utilizzando il meccanismo RSA_PKCS_KEY_PAIR_GEN (0x00). Tra gli altri abbiamo copiato i seguenti due attributi da uno degli esempi di codice dell'interfaccia:

MODULUS_BITS (0x0121) = 1024
PUBLIC_EXPONENT (0x0122) = { 0x01, 0x00, 0x01 }

Siamo abbastanza sicuri che i valori utilizzati sono solo valori dimostrativi e dobbiamo utilizzarne di diversi nel nostro codice di produzione.

Due domande in realtà:

  1. MODULUS_BITS è la lunghezza della chiave generata? Ad esempio, 4096 è un buon valore al giorno d'oggi?
  2. È davvero necessario PUBLIC_EXPONENT? Che cos'è?
posta D.R. 10.12.2018 - 20:00
fonte

1 risposta

0
  1. Sì, MODULUS_BITS è la lunghezza della chiave. 4096 dovrebbe essere buono al giorno d'oggi.
  2. PUBLIC_EXPONENT è pubblico e {0x01, 0x00, 0x01} = 65537 è un valore ampiamente utilizzato poiché:
    • è primo
    • non è troppo corto
    • non è troppo lungo e contiene solo due "1" nella sua rappresentazione binaria - che rende veloce l'esponenziazione binaria (puoi crittografare o controllare la firma più velocemente)

PUBLIC_EXPONENT è davvero richiesto nell'algoritmo RSA, ma è possibile che se lo ometti, l'algoritmo di generazione userebbe 65537 per impostazione predefinita.

    
risposta data 10.12.2018 - 20:57
fonte

Leggi altre domande sui tag