Crypto ++ RSA - Cifra e firma con la stessa coppia di chiavi

1

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)

  1. È consigliato o esiste un argomento valido a favore di una procedura separata di crittografia e firma con coppie di chiavi indipendenti?

  2. In pratica, nella libreria Crypto ++, la classe PrivateKey contiene anche la chiave pubblica. C'è un modo per caricare solo una chiave privata?

posta galinette 17.05.2016 - 12:32
fonte

1 risposta

2

Posso rispondere alla tua prima domanda. Non è consigliabile utilizzare la stessa coppia di chiavi RSA per la firma e la crittografia. Il motivo potrebbe essere dovuto a differenze nella scadenza o nell'impegno delle chiavi (ad esempio, a volte le organizzazioni desiderano eseguire il backup della chiave di crittografia (riservatezza), ma non si vuole che abbiano la chiave di firma (non ripudio). C'è anche la possibilità, a lungo termine, che se si firmano ciecamente messaggi senza controllo o hashing del messaggio, un utente può decodificare il messaggio (la firma applica la chiave privata su un messaggio). Questo è abbastanza raro e deriverebbe da uno sviluppo di applicazioni atipiche che ha comunque un cattivo design.

Inoltre, se riesci a gestire una chiave, perché non due?

    
risposta data 17.05.2016 - 12:50
fonte

Leggi altre domande sui tag