Per alcuni algoritmi, le sottochiavi sono una necessità tecnica: ad esempio DSA (l'algoritmo di signing digitale) può essere utilizzato solo per la firma e richiede una sottochiave di crittografia aggiuntiva (ad esempio Elgamal). Questo non è vero per RSA, che può essere utilizzato sia per la firma che per la crittografia.
La distinzione tra una chiave primaria e le sottochiavi ha un altro motivo: consente di mantenere la chiave primaria (privata) come poco esposta come richiesto, usandola solo per operazioni di gestione delle chiavi come l'aggiunta e la revoca di sottochiavi e ID utente e la certificazione delle chiavi altrui (questa è la capacità C
stampata nell'output che hai fornito).
Usando le sottochiavi, potresti persino utilizzare una chiave primaria offline , il che significa che rimuovi la chiave primaria privata dal tuo portachiavi predefinito e tienila scollegata in modo sicuro, tranne per le rare circostanze in cui in realtà bisogno di essa. Alcuni lo hanno sulle chiavette USB, altri usano addirittura un vecchio computer dedicato a questo scopo.
Anche se non lo fai: utilizzando la chiave potrebbe renderla vulnerabile a determinati attacchi. Ad esempio, DSA è vulnerabile quando viene utilizzato per firmare i parametri di riutilizzo . Se si utilizza spesso una chiave DSA (ad esempio, per firmare tutta la posta), è molto più probabile che il problema venga rilevato e che si riveli la chiave primaria privata che se la si utilizza solo raramente per la gestione delle chiavi. La tua sottochiave privata verrebbe comunque rivelata, ma puoi facilmente revocarla e crearne una nuova, senza perdere la tua reputazione nella rete di fiducia di OpenPGP, come faresti quando revochi la tua chiave primaria. Un altro vantaggio è che è possibile utilizzare diverse sottochiavi di firma su macchine diverse (e se una macchina viene hackerata, non è necessario cambiarle tutte). Tuttavia, questo non funziona bene per le chiavi di crittografia.