Das Elliptic Curve Integrated Encryption Scheme (ECIES) ist ein hybrides Verschlüsselungsverfahren, dem elliptische Kurven zugrunde liegen. Als Hybridverfahren kombiniert es ein asymmetrisches Verfahren, das zum Versenden eines symmetrischen Schlüssels benutzt wird, mit einem symmetrischen Verschlüsselungsverfahren, das mit diesem symmetrischen Schlüssel die Nachricht verschlüsselt. ECIES ist im Random-Oracle-Modell sicher gegen Chosen-Ciphertext-Angriffe.
Einrichtung des Schemas
Folgende Hilfsmittel werden benötigt:
- KDF (Key Derivation Function): eine kryptographische Hashfunktion, die Schlüssel beliebiger Länge erzeugen kann
- MAC (Message Authentication Code)
- Ein symmetrisches Verschlüsselungsverfahren mit Verschlüsselungsalgorithmus und Entschlüsselungsalgorithmus
Systemparameter
- , Primzahl
- Elliptische Kurve E: über dem Körper
- mit prim
Schlüsselerzeugung
Ein Teilnehmer wählt einen geheimen Schlüssel zufällig und berechnet daraus seinen öffentlichen Schlüssel .
Verschlüsselung
Um eine Nachricht mit einem öffentlichen Schlüssel zu verschlüsseln, wird ein Diffie-Hellman-Schlüsselaustausch in einer elliptischen Kurve mit einem symmetrischen Verfahren kombiniert.
- Wähle eine Zufallszahl
- Berechne und
- Bestimme die symmetrischen Schlüssel . ist die x-Koordinate von
- Berechne und
- Sende
Entschlüsselung
Um ein Chiffrat mit einem geheimen Schlüssel zu entschlüsseln, werden die folgenden Schritte durchgeführt.
- Berechne
- Bestimme die beiden Schlüssel
- Prüfe ob ist
- Erhalte
Fazit
ECIES arbeitet korrekt, wenn korrekt berechnet wird. Da ist, ist dies validiert.
Quellen
- Alfred J. Menezes, Paul C. van Oorschot and Scott A. Vanstone: Handbook of Applied Cryptography. CRC Press, ISBN 0-8493-8523-7 (uwaterloo.ca).
- Victor Shoup: A proposal for an ISO standard for public key encryption, Version 2.1, December 20, 2001 (PDF, 384 kB).