Technologiebeispiel für die Kryptografie mit öffentlichen Schlüsseln
Aktualisiert: November 2007
Dieses Beispiel veranschaulicht, wie Sie durch Verschlüsselung mit öffentlichen Schlüsseln Nachrichten austauschen können. Für dieses Beispiel ist das Microsoft Windows 2000 High Encryption Pack erforderlich. Weitere Informationen zum High Encryption Pack sowie Downloadmöglichkeiten finden Sie unter https://www.microsoft.com/WINDOWS2000/downloads/recommended/encryption/ (nur auf Englisch verfügbar).
Informationen zur Verwendung der Beispiele finden Sie unter den folgenden Themen:
So erstellen Sie das Beispiel mithilfe der Eingabeaufforderung
Navigieren Sie über die Eingabeaufforderung zu einem der sprachspezifischen Unterverzeichnisse im Verzeichnis PublicKeyCryptography. Informationen zu erforderlichen Einstellungen sowie zur SDK-Eingabeaufforderung finden Sie unter Gewusst wie: Festlegen der Beispieleinstellungen.
Geben Sie je nach verwendeter Programmiersprache msbuild PublicKeyCryptographyCS.sln bzw. msbuild PublicKeyCryptographyVB.sln ein. Die ausführbare Datei wird im Standardverzeichnis \bin oder \bin\Debug erstellt.
So erstellen Sie das Beispiel mithilfe von Visual Studio
Öffnen Sie Windows Explorer, und navigieren Sie zu einem der sprachspezifischen Unterverzeichnisse im Verzeichnis PublicKeyCryptography.
Öffnen Sie in Visual Studio je nach verwendeter Programmiersprache die Projektmappendatei PublicKeyCS.sln bzw. PublicKeyVB.sln.
Klicken Sie im Menü Erstellen auf Projektmappe erstellen.
So führen Sie das Beispiel aus
Navigieren Sie mithilfe der Eingabeaufforderung zu dem Verzeichnis, das die erstellte ausführbare Datei enthält.
Geben Sie PublicKey.exe ein.
Hinweis: |
---|
In diesem Beispiel wird eine Konsolenanwendung erstellt. Sie müssen es über die Eingabeaufforderung ausführen, um die Ausgabe anzuzeigen. |
Hinweise
Die Nachrichten werden mit einem symmetrischen Algorithmus (RC2) verschlüsselt. Daraufhin erfolgt die Verschlüsselung des RC2-Schlüssels mit einem asymmetrischen Algorithmus (RSA). Asymmetrische kryptografische Algorithmen, die auch als Algorithmen mit öffentlichem Schlüssel bezeichnet werden, machen es erforderlich, dass jede Entität ein Paar zusammenhängender Schlüssel verwaltet: einen privaten und einen öffentlichen Schlüssel. Beide Schlüssel sind für die Entität eindeutig. Der öffentliche Schlüssel kann für jede beliebige Person verfügbar gemacht werden. Er wird zum Codieren von Daten verwendet, die an einen Empfänger gesendet werden sollen. Der private Schlüssel muss vom Empfänger geheim gehalten werden. Er wird zum Decodieren von Nachrichten verwendet, die mit dem öffentlichen Schlüssel des Empfängers codiert wurden.
In diesem Beispiel werden die folgenden Klassen verwendet:
RSACryptoServiceProvider stellt eine verwaltete Implementierung von RSA bereit, einem asymmetrischen Algorithmus (öffentlicher Schlüssel). RSA wird verwendet, um den RC2-Schlüssel zu verschlüsseln, der mit der verschlüsselten Nachricht gesendet wird.
RC2CryptoServiceProvider stellt einen symmetrischen Verschlüsselungsalgorithmus zum Verschlüsseln von Nachrichtentext bereit.
ICryptoTransform stellt dieSchnittstelle bereit, die die grundlegenden Vorgänge kryptografischer Transformationen definiert.
CryptoStream stellt einenStream bereit, um Daten zu verschlüsseln, die in einen MemoryStream eingegeben werden.
Encodingzum Konvertieren von Zeichenfolgen in Bytearrays und umgekehrt.
Weitere Informationen zur Verschlüsselung von Schlüsselpaaren finden Sie in den Kommentaren der Quellcodedateien.