Elliptic Curve Integrated Encryption Scheme

Aus testwiki
Zur Navigation springen Zur Suche springen

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 E und Entschlüsselungsalgorithmus D

Systemparameter

  • 𝔽p, p Primzahl
  • Elliptische Kurve E: Y2=X3+aX+b über dem Körper 𝔽p
  • PE(𝔽p) mit ord(P)=n prim
  • h=E(𝔽p)n

Schlüsselerzeugung

Ein Teilnehmer A wählt einen geheimen Schlüssel dA{1,...,n1} zufällig und berechnet daraus seinen öffentlichen Schlüssel EKA=dAP.

Verschlüsselung

Um eine Nachricht m{0,1}* mit einem öffentlichen Schlüssel EKA zu verschlüsseln, wird ein Diffie-Hellman-Schlüsselaustausch in einer elliptischen Kurve mit einem symmetrischen Verfahren kombiniert.

  1. Wähle eine Zufallszahl k{1,...,n1}
  2. Berechne R=kP und Z=hkEKA
  3. Bestimme die symmetrischen Schlüssel k1||k2=KDF(Zx). Zx ist die x-Koordinate von Z
  4. Berechne C=Ek1(m) und T=MACk2(C)
  5. Sende (R,C,T)

Entschlüsselung

Um ein Chiffrat (R,C,T) mit einem geheimen Schlüssel dA zu entschlüsseln, werden die folgenden Schritte durchgeführt.

  1. Berechne Z=hdAR
  2. Bestimme die beiden Schlüssel k1||k2=KDF(Zx)
  3. Prüfe ob T=MACk2(C) ist
  4. Erhalte m=Dk1(C)

Fazit

ECIES arbeitet korrekt, wenn Z korrekt berechnet wird. Da hdAR=hkEKA=hdAkP ist, ist dies validiert.

Quellen