Wie wird öffentlicher Schlüssel verwendet in .NET-Assemblies zu entschlüsseln?

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

  •  21-08-2019
  •  | 
  •  

Frage

.NET unterzeichnet Baugruppen öffentliche Schlüssel enthalten, aber der öffentliche Schlüssel für die Verschlüsselung in RSA verwendet, dann wie funktioniert .NET verwendet den öffentlichen Schlüssel für die Entschlüsselung von signierten Baugruppen?

Ok, enthalten die unterzeichneten Baugruppen den Hash, aber der Hash verschlüsselt mit dem privaten Schlüssel und nicht der öffentliche Schlüssel. Also, warum und wie in .NET privaten Schlüsseln für die Verschlüsselung und öffentliche Schlüssel für die Entschlüsselung verwendet. Ich meine, dass alle Software wie RSACryptoPad die öffentlichen Schlüssel für die Verschlüsselung verwendet und nicht für die Entschlüsselung.

War es hilfreich?

Lösung

Das öffentlich-privates Schlüsselpaar wird nicht benutzt, die gesamte Baugruppe zu verschlüsseln. Stattdessen wird es verwendet, um Zeichen die Montage.

Vereinfachen ein wenig, um eine Datei zu signieren - wie eine Baugruppe - Sie nehmen einen Hash der Datei und dann ecrypt dass Hash mit Ihrem privaten Schlüssel. Jemand mit der Datei überprüft Ihre Unterschrift durch einen Hash der Datei selbst zu machen und dann die verschlüsselten Hash-Entschlüsselung mit Ihrem öffentlichen Schlüssel und bestätigen diese beiden Hashes gleich sind. Dies beweist zwei Dinge:

  1. Die Montage ist von wer Ansprüche aus sein - das heißt du. - wie es mit Ihrem privaten Schlüssel erzeugt wurde,
  2. hat die Versammlung nicht von jemand anderem als dem Hash verändert Sie gemacht, wenn Sie die Baugruppe freigegeben die gleiche wie die aktuelle ist. Niemand kann die signierte Assembly ändern, da sie würden auch entsprechende Änderungen an den verschlüsselten Hash machen müssen, die Ihren privaten Schlüssel erfordert.

Es gibt viel mehr Details über digitale Signaturen in diesem Wikipedia-Artikel .

Die große Sache über öffentlich-private Schlüsselpaare ist, dass sie entweder Weg, um zu arbeiten. So verschlüsselte etwas mit Ihrem privaten Schlüssel kann nur mit dem öffentlichen Schlüssel, sondern auch mit dem öffentlichen Schlüssel verschlüsselte etwas entschlüsselt werden kann, mit Ihrem privaten Schlüssel entschlüsselt werden. Diese letztere Anwendung bedeutet, dass wenn jemand will dir etwas schicken, und Sie nur dann dann mit frei verfügbaren öffentlichen Schlüssel verschlüsseln können, aber sie wissen nur Sie mit Ihrem privaten Schlüssel kann sie entschlüsseln.

Wie die Tasten nur als ein Paar arbeiten - machen die Verschlüsselung asymmetrisch - kann jemand anderes ‚t einfach umkehren die Verschlüsselung sie mit dem öffentlichen Schlüssel getan hat die Nachricht an dich zu erhalten.

Andere Tipps

Die Idee ist, dass eine Unterschrift kann nur erstellt mit dem privat Schlüsseln, aber nach, dass jemand mit einer Kopie des öffentlichen Schlüssel kann validate die Unterschrift. Keine Entschlüsselung für eine Unterschrift erforderlich ist -. Die Signatur einfach auf hinzugefügt wird die Klartextanordnung

Der Zweck der Unterzeichnung Baugruppen ist ihre Quelle zu überprüfen. Wenn ich meine Montage unterzeichnen dann senden es Ihnen, sollten Sie ziemlich sicher sein, das ist seine von mir kommen, und es wurde mit auf dem Weg nicht manipuliert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top