Come è chiave pubblica utilizzata per decrittografare in .NET assembly?

StackOverflow https://stackoverflow.com/questions/670615

  •  21-08-2019
  •  | 
  •  

Domanda

.NET firmato assieme contiene una chiave pubblica, ma la chiave pubblica viene utilizzata per la crittografia RSA, quindi come si fa .NET utilizza la chiave pubblica per la decriptazione di assembly firmati?

Ok, firmato assieme contiene l'hash, ma l'hash viene cifrato con la chiave privata e la chiave non la chiave pubblica.Così, perché e come in .NET chiavi private vengono utilizzati per la codifica e chiavi pubbliche per la decrittazione.Voglio dire, che tutto il software come RSACryptoPad utilizza la chiave pubblica per la crittografia e non per la decrittazione.

È stato utile?

Soluzione

Pubblico-privato coppia di chiavi non viene utilizzato per crittografare l'intera assemblea.Invece è utilizzato per segno l'assemblaggio.

Semplificando un po', per firmare un file come un assieme, è un hash del file e quindi ecrypt l'hash con la chiave privata.Qualcuno che utilizza il file di verifica la tua firma, facendo l'hash del file e poi decifrare i tuoi hash crittografato utilizzando la chiave pubblica e la conferma di questi due hash sono le stesse.Questo dimostra due cose:

  1. L'assemblea è chi sostiene di essere da - i.e - come è stato prodotto con la propria chiave privata.
  2. Il montaggio non è stato alterato da qualcun altro come hash che hai fatto quando hai pubblicato il montaggio è lo stesso di quello attuale.Nessuno è in grado di alterare l'assembly firmato dal momento che potrebbero anche fare modifiche corrispondenti hash cifrato che richiede la vostra chiave privata.

C'è molto di più di dettaglio sulle Firme Digitali in questo articolo di Wikipedia.

La cosa grandiosa di chiavi pubblica-privata a coppie che funzionano sia intorno.Quindi qualcosa di criptato con la chiave privata può essere decifrati solo con la tua chiave pubblica, ma anche qualcosa di criptato con la chiave pubblica può essere decifrato con la chiave privata.Quest'ultimo uso significa che se qualcuno vuole inviare qualcosa a voi, e solo voi, quindi può cifrare con i tuoi liberamente disponibile a chiave pubblica, ma sanno solo con la chiave privata è in grado di decifrare.

I tasti funzionano solo come una coppia fare l' la crittografia asimmetrica - qualcun altro semplicemente non può invertire la crittografia che ho fatto con la chiave pubblica per ottenere il messaggio.

Altri suggerimenti

L'idea è che una firma può essere solo creato utilizzando il privato chiave, ma dopo che qualcuno con una copia del pubblico chiave convalida firma. Non è necessaria la decrittografia per una firma--la firma è semplicemente aggiunto al testo normale assemblea.

Lo scopo di assiemi di firma è verificare la fonte. Se firmo il mio assemblaggio poi inviarlo a voi, si dovrebbe essere ragionevolmente sicuri che è il suo provengono da me e non è stato manomesso lungo la strada.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top