Quando genero una chiave DSA con ssh-keygen -t dsa
, la chiave pubblica risultante inizierà con ssh-dss
.
Come mai? Perché non ssh-dsa
?
DSS è semplicemente un documento che descrive la procedura di firma e specifica determinati standard. Il documento originale è FIPS 186 e l'ultima revisione nel 2013 è FIPS 186-4 . DSS è uno standard per la firma digitale.
DSA è un algoritmo crittografico che genera chiavi, firma i dati e verifica le firme. DSA, di per sé, può usare qualsiasi funzione di hash per il suo "cryptomagic" interno, e può anche usare qualsiasi (L, N) per la lunghezza dei suoi parametri. DSS, come standard, definisce le specifiche opzionali del DSA.
DSS dice che DSA dovrebbe usare SHA-1 come sua funzione hash (recentemente SHA-2). DSS afferma che DSA dovrebbe utilizzare coppie di lunghezze specifiche come (2048,224), (3072,256), ecc.
Quando SSH dice DSS, significa che stanno implementando DSA in conformità con il DSS.
Risposta economica a una frase:
Digital Signature Algorithm (DSA) è pubblicato nel Digital Signature Standard (DSS) dal NIST in FIPS 186.
Gli standard SSH versione 2 apparentemente preferiti "DSS", anche se più recentemente hanno usato anche "DSA".
Non so quali siano le differenze nelle definizioni dei due termini, che è più corretto in un dato contesto, o perché gli scrittori standard SSH hanno scelto la terminologia che hanno fatto.