NTRUEncrypt

NTRUEncrypt i​st ein asymmetrisches Verschlüsselungsverfahren, d​as 1996 v​on den Mathematikern Jeffrey Hoffstein, Jill Pipher u​nd Joseph H. Silverman entwickelt wurde.[1] Es basiert l​ose auf Gitterproblemen, d​ie selbst m​it Quantenrechnern a​ls nicht knackbar gelten. Allerdings i​st NTRUEncrypt bisher n​icht so g​ut untersucht w​ie gebräuchlichere Verfahren (z. B. RSA).

Der Algorithmus i​st in d​en USA patentiert; d​ie Patente laufen i​m Jahr 2021 aus.[2] NTRUEncrypt i​st durch IEEE P1363.1 standardisiert. Eingesetzt w​ird es z. B. v​on den US-Firmen WiKID,[3] Echosat[4] u​nd yaSSL.[5]

Beschreibung des Verfahrens

Es w​ird im Folgenden lediglich d​er Kernalgorithmus beschrieben. Dieser i​st für s​ich alleine genommen anfällig gegenüber bestimmten Angriffen; s​iehe den Abschnitt Vor- u​nd Nachbearbeitung.

Alle Berechnungen finden, soweit nicht anders vermerkt, im Ring statt, d. h. der Grad des Polynoms übersteigt nie . Die Multiplikation „*“ ist eine zyklische Faltung modulo : Das Produkt zweier Polynome und ist .

Schlüsselerzeugung

  1. Wahl der Parameter mit .
  2. Wahl eines zufälligen Polynoms , dessen Koeffizienten in {−1, 0, 1} liegen. Die Inversen (das Inverse modulo ) und (das Inverse modulo ) müssen existieren.
  3. Erzeugung eines Zufallspolynoms , dessen Koeffizienten in {−1, 0, 1} liegen.
  4. ist der öffentliche Schlüssel, der geheime Schlüssel. (Zur schnelleren Entschlüsselung kann auch mit in den geheimen Schlüssel aufgenommen werden.)

Verschlüsselung

  1. Umwandlung des Klartexts in ein Polynom .
  2. Wahl eines zufälligen Polynoms mit kleinen Koeffizienten.
  3. Das Polynom ist der Geheimtext.

Entschlüsselung

  1. Berechnung von mit Wahl der Repräsentanten der Koeffizienten von im Intervall .
  2. Berechnung von .
  3. Durch Umwandlung des Polynoms in die Textdarstellung ergibt sich der Klartext.

Korrektheit

Für das Polynom gilt: . Weil die Koeffizienten alle klein sind, gibt diese Gleichung auch im Ring . Deshalb wird im zweiten Schritt korrekt berechnet.

Effizienz

Um die Multiplikation zu beschleunigen, können die Polynome und so gewählt werden, dass viele Koeffizienten Null sind. Dazu werden Parameter gewählt und bei der Wahl von werden Koeffizienten gleich 1, Koeffizienten gleich −1 und der Rest gleich 0 gesetzt. Bei der Wahl von werden Koeffizienten gleich 1, Koeffizienten gleich −1 und der Rest gleich 0 gesetzt (Bem.: Die Anzahl Einsen muss ungleich der Anzahl Minus-Einsen sein, weil das Polynom sonst nicht invertierbar ist).

Das Entschlüsseln wird effizienter, wenn man das Polynom nach der Formel mit bildet. Da dann gilt, entfällt die Berechnung der Inversen modulo . Es ist jedoch bei der Parameterwahl darauf zu achten, dass das gewünschte Maß an Sicherheit erhalten bleibt, da ein Angreifer nun die Menge der durchsuchen kann.[6]

Weiterhin kann man zur Beschleunigung der Multiplikation das Polynom nach der Formel bilden, wobei , und sehr dünn besetzt sein können[6]. An die Stelle des Parameters treten dann die drei Parameter , und . Die Effizienzsteigerung ergibt sich dadurch, dass gilt ( aber dennoch genügend Koeffizienten ungleich null hat) und deshalb mit schneller als mit multipliziert werden kann.

Schließlich kann statt einer Primzahl auch als Polynom gewählt werden, wobei die günstigste Wahl ist[6]. Diese Variante taucht aber nur in der älteren Literatur auf.

Sicherheit

Es gibt für NTRUEncrypt keinen formalen Sicherheitsbeweis wie für andere kryptographische Verfahren, dennoch wird das Verfahren für hinreichend große Parameter für sicher gehalten. Anfang 2011 erschien eine Arbeit der Kryptologen Damien Stehlé und Ron Steinfeld, in der ein Sicherheitsbeweis für eine abgewandelte Form von NTRUEncrypt geführt wird.[7]

Es sind verschiedene Angriffe auf NTRUEncrypt möglich. Der simpelste davon ist das Durchprobieren aller Polynome , die für die Parameter und in Frage kommen. Ein effektiverer Angriff ist der Hälftenangriff (engl. Meet-in-the-middle-Attack), bei dem statt eines Polynoms der vollen Länge zwei Polynome mit nur Koeffizienten gleichzeitig durchprobiert werden. Dadurch benötigt dieser Angriff nur die Quadratwurzel der Anzahl der Schritte, die beim primitiven Durchprobieren ausgeführt werden. Noch effektiver ist eine Gitterreduktion, z. B. mittels des LLL-Algorithmus.

Vor- und Nachbearbeitung

Der NTRUEncrypt-Kernalgorithmus bietet k​eine Sicherheit gegenüber Angreifern, d​ie die Daten n​ach der Verschlüsselung manipulieren. Dies k​ann durch e​in spezielles Padding behoben werden, anhand dessen d​er Empfänger manipulierte Chiffrate erkennen kann.

Es s​ind drei solcher Verfahren bekannt. SVES-1 u​nd SVES-2 s​ind älter u​nd gegen Angriffe, d​ie Entschlüsselungsfehler ausnutzen, anfällig.[8] SVES-3 behebt d​iese Schwächen u​nd ist i​m P1363.1-Standard u​nter der Bezeichnung SVES beschrieben.

Parameter mit 256 Bit Sicherheitsniveau

Ursprünglich wurden für die Länge von Werte zwischen 167 und 503 empfohlen, nach dem Bekanntwerden diverser Angriffe wurden die Empfehlungen aber entsprechend angepasst. Die folgenden Parameter[9] werden allen derzeit bekannten (Stand 9/2011) Angriffen gerecht:

Bezeichnung N p q df dg
Geringste Schlüssellänge EES1087EP2 1087 3 2048 120 362
Mittlere Schlüssellänge, mittlere Dauer EES1171EP1 1171 3 2048 106 390
Geringste Ver- und Entschl.dauer EES1499EP1 1499 3 2048 79 499

Siehe auch

Einzelnachweise

  1. Jeffrey Hoffstein, Jill Pipher, Joseph H. Silverman. NTRU: A Ring Based Public Key Cryptosystem (Memento des Originals vom 30. Januar 2013 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.securityinnovation.com. In Algorithmic Number Theory (ANTS III), Portland, OR, Juni 1998, J. P. Buhler (Hrsg.), Lecture Notes in Computer Science 1423, Springer-Verlag Berlin, 1998, 267–288.
  2. Patent US7031468: Speed enhanced cryptographic method and apparatus. Angemeldet am 24. August 2001, veröffentlicht am 18. April 2006, Anmelder: NTRU Cryptosystems, Inc., Erfinder: Jeffrey Hoffstein, Joseph H. Silverman. (Auslaufen der 20-jährigen Frist am 24. August 2021)
  3. WiKID-Authentifizierungsgeräte (Memento des Originals vom 14. Dezember 2011 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.wikidsystems.com.
  4. Artikel über NTRU in Networkworld vom 20. April 2011@1@2Vorlage:Toter Link/www.networkworld.com (Seite nicht mehr abrufbar, Suche in Webarchiven)  Info: Der Link wurde automatisch als defekt markiert. Bitte prüfe den Link gemäß Anleitung und entferne dann diesen Hinweis. .
  5. CyaSSL Embedded SSL Library.
  6. Hoffstein u. Silverman: Optimizations for NTRU.
  7. Damien Stehlé and Ron Steinfeld: Making NTRU as Secure as Worst-Case Problems over Ideal Lattices. (ens-lyon.fr [PDF]).
  8. The impact of decryption failures on the security of NTRU encryption.
  9. IEEE P1363.1 (Memento des Originals vom 29. Juni 2013 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/grouper.ieee.org (PDF (Memento des Originals vom 30. Dezember 2016 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/pdfs.semanticscholar.org eines Drafts)
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. The authors of the article are listed here. Additional terms may apply for the media files, click on images to show image meta data.