Ho un programma A che deve inviare messaggi a diverse istanze del programma B (B1, B2, ecc ...). I messaggi devono essere crittografati e anche firmati. Ciò significa che solo le istanze B n possono decodificare e devono essere sicuri che i messaggi provengano da A.
Inoltre, B1 non dovrebbe essere in grado di inviare messaggi a B2, ecc ...
In teoria, dovrebbe essere possibile utilizzare una singola coppia di chiavi RSA, con una chiave per A e una chiave per Bn. Una volta decodificato da Bn, se il messaggio recuperato è validato (ad esempio da una funzione hash), deve essere stato inviato da A che non ha rivelato la sua chiave a nessuno. In tal caso, entrambe le chiavi sono private (il che significa che devono essere scambiate in un canale sicuro)
-
È consigliato o esiste un argomento valido a favore di una procedura separata di crittografia e firma con coppie di chiavi indipendenti?
-
In pratica, nella libreria Crypto ++, la classe
PrivateKey
contiene anche la chiave pubblica. C'è un modo per caricare solo una chiave privata?