2010-06-22 6 views
6

Bisher habe ich es nur in digitalen Signaturen und Schlüsselvereinbarungsprotokollen verwendet. Kann es wie RSA verwendet werden, um Daten tatsächlich zu verschlüsseln? Gibt es dafür Bibliotheken?Kann die Verschlüsselung mit elliptischen Kurven zur Verschlüsselung von Daten verwendet werden?

Edited:

Ich brauche so etwas wie RSA. Verschlüsseln Sie die Daten mit dem öffentlichen Schlüssel des Empfängers, damit er sie später mit seinem privaten Schlüssel entschlüsseln kann.

Ich weiß, ECDH kann verwendet werden, um einen geheimen Wert an jemanden zu senden, aber Sie entscheiden nicht, welche Daten gesendet werden. Im Gegensatz zum "normalen" DH mit ECDH ist der resultierende geheime Wert immer gleich, da er nur von den Schlüsselpaaren abhängt. Ich denke, ich könnte diesen Wert als Schlüssel für eine symmetrische Chiffre verwenden und einen weiteren Schlüssel verschlüsseln, der von mir gewählt wird und die Daten mit diesem Schlüssel verschlüsseln (wenn ich mehrere Empfänger unterstützen möchte). Ist das ein guter Weg?

+0

Dies ist eine interessante Abfrage. Was war der letzte Ansatz, den Sie verwendet haben, um ECC für den Schlüsseltransport zu verwenden? – Raj

Antwort

4

Es kann mit ElGamal-artigen Konstrukt verwendet werden, um die Bits zu verschlüsseln. Eine modernere Instanz davon ist das IES Schema, ECIES in Ihrem Fall. Bouncycastle unterstützt dies mit der IESEngine Klasse. Insbesondere das first constructor tut, was Sie zu tun scheinen.

+0

Das sieht gut aus. Vielen Dank. – stribika

0

Wie RSA kann ECC zum Verschlüsseln von Daten verwendet werden. In der Tat wird dieser Modus für die Schlüsselprotokolle verwendet.

Wie EAS ist ECC relativ langsam, daher ist es üblich, Sitzungsschlüssel mit ECC auszuhandeln und zu symmetrischen Verschlüsselungen zu wechseln, nachdem eine ausgewählt wurde.

+1

Wie kann es wie RSA verwendet werden? Alle Schlüsselprotokolle, die mir bei der Verwendung von ECC bekannt sind, sind eine Schlüsselvereinbarung, während RSA normalerweise für den Schlüsseltransport verwendet wird. –

+1

Meinst du ECDH? Ich verschlüssele das nicht wirklich Daten. Sie entscheiden nicht wirklich, welche geheimen Daten Sie senden. Es ist abhängig von beiden Schlüsselpaaren. Ich brauche etwas wie die RSA-verschlüsselten E-Mails, wo Sie einen zufälligen symmetrischen Schlüssel wählen und diesen mit einem oder mehreren öffentlichen Schlüsseln verschlüsseln. Ich werde die Frage bearbeiten, um sie klarer zu machen. – stribika

2

Elliptische Kurve Elgamal Verschlüsselungsschema wird den Zweck erfüllen. Er verwendet den öffentlichen Schlüssel zum Verschlüsseln und den entsprechenden privaten Schlüssel zum Entschlüsseln des verschlüsselten Texts.

Verwandte Themen