RSA-Verschlüsselung in C #: Welcher Teil definiert den öffentlichen Schlüssel?

8

Ich habe ein neues öffentliches / privates Schlüsselpaar generiert und es als XML-Zeichenfolge exportiert:

%Vor%

Die XML-Zeichenfolge in publicPrivateKey sieht so aus (Zeichenfolgen werden zur besseren Lesbarkeit gekürzt):

%Vor%

Der generierte öffentliche Schlüssel sollte in anderen Apps (PHP / JavaScript / JAVA) zum Verschlüsseln von Daten verwendet werden. Welcher Teil des obigen XML definiert den öffentlichen Schlüssel / welchen Teil muss ich an die Entwickler der anderen Apps senden?

Und auf der gegenüberliegenden Seite: Was definiert den privaten Schlüssel / welche Teile / Teile muss ich speichern, um die mit meinem öffentlichen Schlüssel verschlüsselten Daten entschlüsseln zu können?

    
Mike 09.07.2011, 17:58
quelle

2 Antworten

3

RSA-Schlüssel für andere Parteien sind in .NET schwierig zu generieren. Wenn Sie diesen XML-Code senden, können nicht alle Ihre Partner diesen verwenden. Das allgemeine Format für den öffentlichen Schlüssel lautet etwa so:

Das von Ihnen erstellte XML ist ein privater Schlüssel. Um den öffentlichen Schlüssel zu generieren, sollten Sie das

verwenden %Vor%

Ergebnis wird so sein:

%Vor%

Sie können andere Parteien verwenden, um Schlüssel in einem anderen Format zu erhalten:

Ссылка

Um Java-Schlüssel in das .NET-Format zu portieren, können Sie dieses Projekt verwenden:

Ссылка

    
VMAtm 09.07.2011, 18:04
quelle
3
___ tag123c ___ C # (sprich "Cis") ist eine objektorientierte Programmiersprache auf hohem Niveau, die für die Erstellung einer Vielzahl von Anwendungen entwickelt wurde, die auf dem .NET Framework (oder .NET Core) ausgeführt werden. C # ist einfach, leistungsfähig, typsicher und objektorientiert. ___ qstnhdr ___ RSA-Verschlüsselung in C #: Welcher Teil definiert den öffentlichen Schlüssel? ___ tag123cryptography ___ Kryptographie umfasst unter anderem Verschlüsselung, Hashing und digitale Signaturen. Kryptografische Fragen, die nicht direkt mit der Softwareentwicklung zusammenhängen, werden bei crypto.stackexchange.com besser gestellt. ___ antwort6636546 ___

Exponent und Modul definieren den öffentlichen Schlüssel.

Wenn Sie RSA.ToXmlString mit seiner einzigen verwenden Parameter includePrivateParameters auf false gesetzt, Sie sehen nur das Format

%Vor%

Ausgabe.

    
___ qstntxt ___

Ich habe ein neues öffentliches / privates Schlüsselpaar generiert und es als XML-Zeichenfolge exportiert:

%Vor%

Die XML-Zeichenfolge in publicPrivateKey sieht so aus (Zeichenfolgen werden zur besseren Lesbarkeit gekürzt):

%Vor%

Der generierte öffentliche Schlüssel sollte in anderen Apps (PHP / JavaScript / JAVA) zum Verschlüsseln von Daten verwendet werden. Welcher Teil des obigen XML definiert den öffentlichen Schlüssel / welchen Teil muss ich an die Entwickler der anderen Apps senden?

Und auf der gegenüberliegenden Seite: Was definiert den privaten Schlüssel / welche Teile / Teile muss ich speichern, um die mit meinem öffentlichen Schlüssel verschlüsselten Daten entschlüsseln zu können?

    
___ tag123rsa ___ RSA ist ein allgemeiner Algorithmus für öffentliche Schlüssel, der für die Verschlüsselung und Signatur verwendet werden kann. Es ist eine Kernkomponente der meisten Sicherheitsprotokolle, die im Internet verwendet werden, einschließlich der SSL / TLS-Protokollsuite. Bei Fragen zu IBM Rational Software Architect verwenden Sie den Tag rational-rsa. ___ tag123net ___ Das .NET-Framework ist ein Software-Framework, das hauptsächlich für das Microsoft Windows-Betriebssystem entwickelt wurde. Es enthält eine Implementierung der Basisklassenbibliothek, Common Language Runtime (allgemein als CLR bezeichnet), Common Type System (allgemein als CTS bezeichnet) und Dynamic Language Runtime. Es unterstützt viele Programmiersprachen, einschließlich C #, VB.NET, F # und C ++ / CLI. NICHT für Fragen zu .NET Core verwenden. ___ answer6636507 ___

RSA-Schlüssel für andere Parteien sind in .NET schwierig zu generieren. Wenn Sie diesen XML-Code senden, können nicht alle Ihre Partner diesen verwenden. Das allgemeine Format für den öffentlichen Schlüssel lautet etwa so:

Das von Ihnen erstellte XML ist ein privater Schlüssel. Um den öffentlichen Schlüssel zu generieren, sollten Sie das

verwenden %Vor%

Ergebnis wird so sein:

%Vor%

Sie können andere Parteien verwenden, um Schlüssel in einem anderen Format zu erhalten:

Ссылка

Um Java-Schlüssel in das .NET-Format zu portieren, können Sie dieses Projekt verwenden:

Ссылка

    
___ tag123publickeyencryption ___ Ein kryptographisches Schema, das zwei mathematisch verwandte Schlüssel verwendet; ein öffentlicher und ein privater Schlüssel, bei dem eine mit dem öffentlichen Schlüssel verschlüsselte Nachricht nur mit dem privaten Schlüssel entschlüsselt werden kann und umgekehrt. ___
jason 09.07.2011 18:09
quelle