Sto cercando di capire il processo di verifica della firma digitale, tuttavia non ho la spiegazione nel mio libro.
Se A vuole inviare un messaggio a B con una firma digitale, il processo è apparentemente come segue:
- Il messaggio inviato ha un algoritmo di hash pubblico ad esso applicato per creare un hash
- L'hash viene crittografato utilizzando la chiave privata di A e viene quindi aggiunto al messaggio che sarà anche criptato. Questo hash crittografato è la firma digitale
- B decodificherà l'hash utilizzando la chiave pubblica di A
- Il messaggio originale viene quindi decifrato e trasferito allo stesso modo algoritmo di hash per produrre un hash
- Se i due hash sono uguali, il messaggio è autenticato, altrimenti non può essere autenticato
Prima di tutto, questa spiegazione è corretta?
In secondo luogo, in che modo B decodifica l'hash utilizzando la chiave pubblica di A? Lo scopo di una chiave pubblica è che i dati possano essere crittografati.
Perché dovrebbe criptare qualcosa con la loro chiave privata? Se invii un messaggio a B, A non userebbe la chiave pubblica di B?
Come può il messaggio originale essere sottoposto allo stesso algoritmo di hashing per produrre lo stesso hash se A inizialmente utilizzava la propria chiave privata per produrre il primo hash (la chiave privata di A non sarà nota a B)?
Se questa spiegazione non è corretta, dove va male?