Asymmetrische Verschlüsselung unter Windows/.NET

Hallo Community!
Seit einiger Zeit plagt mich die Frage, wie das denn mit asymmetrischer Verschlüsselung unter Windows (konkret: RSA unter XP oder W2K) aussieht.
Meine bisherige Vorstellung war so, dass Daten, die mit dem öffentlichen Schlüssel verschlüsselt wurden, mit dem privaten Schlüssel entschlüsselt werden können (1) und umgekehrt (2).
Dieses „und umgekehrt“ macht mir Probleme. Für (1) findet man jede Menge Beispiele und selbst gemacht funktioniert’s auch (mit .NET und RSACryptoServiceProvider, der aber auf der CryptoAPI von Windows aufsetzt).
Wenn ich aber (2) versuche, dann bekomme ich immer einen Fehler „Ungültiger Schlüssel“, was ich mir nun überhaupt nicht erklären kann.

Ist hier vielleicht ein Crypto-Guru, der sich (und mir :wink:) das erklären kann?

Hallo Community!
Seit einiger Zeit plagt mich die Frage, wie das denn mit
asymmetrischer Verschlüsselung unter Windows (konkret: RSA
unter XP oder W2K) aussieht.
Meine bisherige Vorstellung war so, dass Daten, die mit dem
öffentlichen Schlüssel verschlüsselt wurden, mit dem privaten
Schlüssel entschlüsselt werden können (1) und umgekehrt (2).

Das umgekehrt stimmt nicht. Verschlüsselt wird immer mit dem public key, entschlüsselt wird mit dem private key.
Was du mit umgekehrt meinst, ist das Signieren. Das Signieren erfolgt mit dem private key, das Validieren der Signatur mit dem public key.

Gruß,
Andreas

Hi Andreas!
Das Signieren per PrivateKey und Validieren mit Public funktioniert auch (das ist letztlich das, was ich in Ermangelung anderer Möglichkeiten machen musste), aber es wundert mich schon ziemlich, dass man praktisch überall zu dem Thema die Aussagen finden kann, dass beide Richtungen gehen…

Danke,
Martin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Community!
Seit einiger Zeit plagt mich die Frage, wie das denn mit
asymmetrischer Verschlüsselung unter Windows (konkret: RSA
unter XP oder W2K) aussieht.
Meine bisherige Vorstellung war so, dass Daten, die mit dem
öffentlichen Schlüssel verschlüsselt wurden, mit dem privaten
Schlüssel entschlüsselt werden können (1) und umgekehrt (2).

Das umgekehrt stimmt nicht. Verschlüsselt wird immer mit dem
public key, entschlüsselt wird mit dem private key.
Was du mit umgekehrt meinst, ist das Signieren. Das Signieren
erfolgt mit dem private key, das Validieren der Signatur mit
dem public key.

Das Signieren per PrivateKey und Validieren mit Public
funktioniert auch (das ist letztlich das, was ich in
Ermangelung anderer Möglichkeiten machen musste), aber es
wundert mich schon ziemlich, dass man praktisch überall zu dem
Thema die Aussagen finden kann, dass beide Richtungen gehen…

Wo steht so was?

Gruß,
Andreas

Da gibt es diverse Stellen, z.B. im dot.net Magazin oder in dotnetpro habe ich erst kürzlich solche Aussagen gelesen. Den Autor eines solchen Artikels habe ich neulich auf den Dev Days 2004 in München getroffen, er hat sonst einen sehr kompetenten Eindruck gemacht und auch der Rest seiner Artikel hat Hand und Fuß. Darum wundert’s mich halt, dass da so ein Schnitzer drin sein soll…

Aber auch im Netz findet man jede Menge solcher Aussagen. Kann natürlich auch sein, dass es einfach nicht präzise genug ausgedrückt war. Letztlich entschlüsselt man ja mit dem PublicKey schon die mit dem PrivateKey erstellte Signatur, aber eben nur die und keine beliebigen codierten Daten.

Martin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Moin,

Da gibt es diverse Stellen, z.B. im dot.net Magazin oder in
dotnetpro habe ich erst kürzlich solche Aussagen gelesen. Den
Autor eines solchen Artikels habe ich neulich auf den Dev Days
2004 in München getroffen, er hat sonst einen sehr kompetenten
Eindruck gemacht und auch der Rest seiner Artikel hat Hand und
Fuß. Darum wundert’s mich halt, dass da so ein Schnitzer drin
sein soll…

Aber auch im Netz findet man jede Menge solcher Aussagen. Kann
natürlich auch sein, dass es einfach nicht präzise genug
ausgedrückt war. Letztlich entschlüsselt man ja mit dem
PublicKey schon die mit dem PrivateKey erstellte Signatur,
aber eben nur die und keine beliebigen codierten Daten.

Solche Aussagen sind mir bisher noch nicht über den Weg gelaufen. Eine sehr gute Quelle zu Kryptografie ist zB. diese hier: http://www.amazon.de/exec/obidos/ASIN/0471117099/qid…

Gruß,
Andreas