it-swarm.dev

Perché le chiavi DSA vengono chiamate DSS se utilizzate con SSH?

Quando generi una chiave DSA con ssh-keygen -t dsa, la chiave pubblica risultante inizierà con ssh-dss.

Come mai? Perchè no ssh-dsa?

21
ja'

DSS è semplicemente un documento che descrive la procedura di firma e specifica alcuni standard. Il documento originale è FIPS 186 e l'ultima revisione nel 2013 è FIPS 186-4 . DSS è un 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 hash per il suo "cryptomagic" interno e può anche usare qualsiasi (L, N) per la lunghezza dei suoi parametri. DSS, come standard, definisce Specifiche opzionali DSA.

DSS afferma che DSA dovrebbe usare SHA-1 come sua funzione hash (recentemente, SHA-2). DSS dice che DSA dovrebbe usare coppie di lunghezze specifiche come (2048.224), (3072.256), ecc.

Quando SSH dice DSS, significa che stanno implementando DSA in conformità con il DSS.

25
Adi

Risposta a una frase economica:

Il Digital Signature Algorithm (DSA) è pubblicato nel Digital Signature Standard (DSS) dal NIST in FIPS 186.

I standard SSH versione 2 apparentemente preferivano "DSS", sebbene più recentemente hanno usato anche "DSA".

Non so quali siano le differenze nelle definizioni dei due termini, che è più corretta in un determinato contesto, o perché gli scrittori standard SSH abbiano scelto la terminologia che hanno fatto.

6
Matt Nordhoff