DE102018200617A1 - Method for decoding an encrypted message of an asymmetric cryptographic system - Google Patents

Method for decoding an encrypted message of an asymmetric cryptographic system Download PDF

Info

Publication number
DE102018200617A1
DE102018200617A1 DE102018200617.2A DE102018200617A DE102018200617A1 DE 102018200617 A1 DE102018200617 A1 DE 102018200617A1 DE 102018200617 A DE102018200617 A DE 102018200617A DE 102018200617 A1 DE102018200617 A1 DE 102018200617A1
Authority
DE
Germany
Prior art keywords
message
nodes
variable
messages
decoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE102018200617.2A
Other languages
German (de)
Other versions
DE102018200617B4 (en
Inventor
Hannes Bartz
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Deutsches Zentrum fuer Luft und Raumfahrt eV
Original Assignee
Deutsches Zentrum fuer Luft und Raumfahrt eV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Deutsches Zentrum fuer Luft und Raumfahrt eV filed Critical Deutsches Zentrum fuer Luft und Raumfahrt eV
Priority to DE102018200617.2A priority Critical patent/DE102018200617B4/en
Publication of DE102018200617A1 publication Critical patent/DE102018200617A1/en
Application granted granted Critical
Publication of DE102018200617B4 publication Critical patent/DE102018200617B4/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/304Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy based on error correction codes, e.g. McEliece

Abstract

Die Erfindung betrifft ein Verfahren zum Dekodieren einer Nachricht, insbesondere einer mit einem öffentlichen Schlüssel eines asymmetrischen kryptographischen Systems verschlüsselten Nachricht, das einen graphbasierten Message Passing (MP)-Algorithmus mit variablen Knoten und Kontrollknoten nutzt, die durch Kanten verbunden sind. Zur Dekodierung der Nachricht werden entlang der Kanten iterativ Nachrichten von den variablen Knoten zu den Kontrollknoten und Nachrichten von den Kontrollknoten zu den variablen Knoten gesendet. Das Verfahren zeichnet sich dadurch aus, dass die Nachrichten von den variablen Knoten zu den Kontrollknoten mit einer vorgegebenen Wahrscheinlichkeit modifiziert, insbesondere ausgelöscht, werden. Hierdurch ist dieses gegen einen GJS-Angriff widerstandsfähig. Ferner kann im Vergleich zu bekannten Verfahren eine größere Anzahl an Fehlern dekodiert werden

Figure DE102018200617A1_0000
The invention relates to a method for decoding a message, in particular a message encrypted with a public key of an asymmetric cryptographic system, which uses a graph-based message passing (MP) algorithm with variable nodes and control nodes which are connected by edges. To decode the message, messages are iteratively sent along the edges from the variable nodes to the control nodes and messages from the control nodes to the variable nodes. The method is characterized in that the messages are modified, in particular extinguished, from the variable nodes to the control nodes with a predetermined probability. This makes it resistant to GJS attack. Furthermore, a larger number of errors can be decoded compared to known methods
Figure DE102018200617A1_0000

Description

Die Erfindung betrifft ein Verfahren zum Dekodieren einer kodierten Nachricht. Die Erfindung betrifft insbesondere ein Verfahren zum Dekodieren einer mit einem öffentlichen Schlüssel eines asymmetrischen kryptographischen Systems verschlüsselten Nachricht. Die Erfindung betrifft ferner einen Dekodierer.The invention relates to a method for decoding a coded message. In particular, the invention relates to a method for decoding a message encrypted with a public key of an asymmetric cryptographic system. The invention further relates to a decoder.

Asymmetrische kryptographische Verfahren verwenden ein Schlüsselpaar, das aus einem privaten Schlüssel, der zum Entschlüsseln von Daten verwendet wird, und einem öffentlichen Schlüssel, mit dem die Daten verschlüsselt werden, besteht. Der private Schlüssel wird dabei geheim gehalten und kann nur mit extrem hohem Aufwand aus dem öffentlichen Schlüssel berechnet werden. Ein solches asymmetrisches kryptographisches Verfahren stellt das McEliece-Kryptosystem (nachfolgend auch als McEliece-Verfahren bezeichnet) dar. Als Schlüssel werden in dem McEliece-Verfahren große Matrizen verwendet. Die Beschreibung eines Schlüssels mit einem Sicherheitsniveau von 128 bit benötigt in der Größenordnung von 1 MB verhältnismäßig viel Speicherplatz, weswegen das Verfahren nach McEliece nur selten praktisch eingesetzt wird. Das Verfahren nach McEliece basiert auf der Dekodierung eines Linearcodes über einem binären oder q-stufigen symmetrischen Kanal. Das grundsätzliche Vorgehen kann beispielsweise der Publikation [1] entnommen werden. Derzeit ist selbst unter Verwendung von Quantencomputern kein effizienter Algorithmus bekannt, der das McEliece-Verfahren brechen kann, wodurch dieses ein viel versprechender Kandidat für Post-Quanten-Kryptographie ist.Asymmetric cryptographic methods use a key pair consisting of a private key used to decrypt data and a public key to which the data is encrypted. The private key is kept secret and can only be calculated with great effort from the public key. One such asymmetric cryptographic method is the McEliece cryptosystem (hereafter also referred to as the McEliece method). As keys, large matrices are used in the McEliece method. The description of a key with a security level of 128 bit requires on the order of 1 MB a relatively large amount of memory, which is why the method according to McEliece is rarely used practically. The McEliece method is based on the decoding of a linear code over a binary or q-stage balanced channel. The basic procedure can be found, for example, in publication [1]. Currently, even using quantum computers, no efficient algorithm is known that can break the McEliece method, making it a promising candidate for post-quantum cryptography.

Nahezu alle derzeit verwendeten Kryptosysteme, welche auf einem öffentlichen Schlüssel basieren (sog. Public-Key Cryptosystems (PKC)) verwenden ein von Rivest, Shamir und Adleman (RSA) vorgeschlagenes Verfahren, dessen Sicherheit auf dem harten Problem der Faktorisierung großer Ganzzahlen beruht (siehe Publikation [4]). Seitdem wird das RSA-Kryptosystem in vielen Kommunikationssystemen verwendet und ist in vielen Kommunikationsstandards enthalten. Für die Faktorisierung großer Ganzzahlen für herkömmliche Rechner sind keine effizienten Algorithmen bekannt. In der Publikation [5] ist ein Algorithmus beschrieben, der dieses Problem mit einem Quantencomputer in polynomialer Zeit faktorisiert. Unter der Annahme, dass ein Quantencomputer ausreichender Größe in Zukunft aufgebaut werden kann, kann das RSA-Kryptosystem in polynomialer Zeit gebrochen werden. Aus diesem Grund wird das McEliece-Kryptosystem als möglicher Kandidat für Post-Quanten-Kryptographie erachtet.Almost all cryptosystems based on a public key (so-called Public-Key Cryptosystems (PKC)) currently in use use a method proposed by Rivest, Shamir and Adleman (RSA) whose security is based on the hard problem of factoring large integers (see Publication [4]). Since then, the RSA cryptosystem has been used in many communication systems and is included in many communication standards. For the factorization of large integers for conventional computers, no efficient algorithms are known. In publication [5] an algorithm is described which factors this problem to a quantum computer in polynomial time. Assuming that a quantum computer of sufficient size can be built in the future, the RSA cryptosystem can be broken in polynomial time. For this reason, the McEliece cryptosystem is considered a potential candidate for post-quantum cryptography.

Das McEliece-Verfahren basiert auf linearen fehlerkorrigierenden Codes. Es wird eine Familie F von t fehlerkorrigierenden linearen Codes der Länge n und der Dimension k über einem Körper F

Figure DE102018200617A1_0001
betrachtet. Jeder Code C der Familie F kann durch eine Generatormatrix G F p × n
Figure DE102018200617A1_0002
und eine Kontrollmatrix H F p × n ,
Figure DE102018200617A1_0003
wobei r = n - k ist, dargestellt werden. Ein t-fehlerkorrigierender Dekoder DECH(·) für den Code C, der durch die Generatormatrix H definiert ist, gibt eine Schätzung des übertragenden Codeworts zurück.The McEliece method is based on linear error-correcting codes. It becomes a family F of t error-correcting linear codes of length n and dimension k over a body F
Figure DE102018200617A1_0001
considered. Every code C the family F can be generated by a generator matrix G F p × n
Figure DE102018200617A1_0002
and a control matrix H F p × n .
Figure DE102018200617A1_0003
where r = n - k. A T-error correcting decoder DEC H (·) for the code C , defined by the generator matrix H, returns an estimate of the transmitted codeword.

Die Schlüsselgenerierung ist wie folgt: Jeder Benutzer wählt zufällig einen Code C E F aus und erzeugt eine Generatormatrix G für den Code C als seinen öffentlichen Schlüssel. Der private Schlüssel ist der geheime t-fehlerkorrigierende Dekoder DECH(·) für den Code C.The key generation is as follows: Each user randomly chooses a code C EF and generates a generator matrix G for the code C as his public key. The private key is the secret t-error correcting decoder DEC H (·) for the code C ,

Um ein Klartextelement m F k

Figure DE102018200617A1_0004
zu verschlüsseln, berechnet ein Nutzer den Chiffretext c mit dem öffentlichen Schlüssel G gemäß c = m G + e
Figure DE102018200617A1_0005
wobei e ein Fehlervektor ist, der gleichverteilt aus allen Vektoren von F n
Figure DE102018200617A1_0006
eines Hamming-Gewichts bis zu t ausgewählt wird.To a plain text element m F k
Figure DE102018200617A1_0004
to encrypt, a user calculates the ciphertext c with the public key G according to c = m G + e
Figure DE102018200617A1_0005
where e is an error vector uniformly distributed among all vectors of F n
Figure DE102018200617A1_0006
Hamming weight up to t is selected.

Um einen Chiffretext c zu entschlüsseln, verwendet ein berechtigter Empfänger den privaten Schlüssel DECH(·), um das Ergebnis m G = DEC H ( m G + e )

Figure DE102018200617A1_0007
zu erhalten. Der Klartext m kann aus mG erhalten werden, indem das Produkt aus der richtigen pseudo-Inversen mit der Generatormatrix G ermittelt wird.To a ciphertext c To decrypt an authorized recipient uses the private key DEC H (·) to get the result m G = DEC H ( m G + e )
Figure DE102018200617A1_0007
to obtain. The plaintext m can be obtained from mG by determining the product from the correct pseudo-inverse with the generator matrix G.

Die Sicherheit des McEliece-Verfahrens basiert auf der Härte der Dekodierung des unbekannten linearen Codes, was als hartes Problem bekannt ist (siehe Publikation [2]). Dieses Problem kann nur effizient gelöst werden, wenn der entsprechende private Schlüssel DECH(·) bekannt ist. Durch die Verwendung von CCA-2 Sicherheitskonvertierungen kann man die Generatormatrix G in systematischer Form ohne eine Sicherheitsreduktion bereitstellen, die es ermöglicht, die Größe des öffentlichen Schlüssels zu reduzieren (siehe Publikation [3]).The security of the McEliece method is based on the severity of the decoding of the unknown linear code, which is known as a hard problem (see publication [2]). This problem can only be solved efficiently if the corresponding private key DEC H (·) is known. By using CCA 2 Security conversions can be provided to the generator matrix G in a systematic manner without a security reduction, which makes it possible to reduce the size of the public key (see publication [3]).

In der Vergangenheit wurden verschiedene Versionen des McEliece-Verfahrens vorgeschlagen, die auf verschiedenen Codefamilien F basieren. Das ursprüngliche McEliece-Verfahren, das in der Publikation [1] beschrieben ist, basiert auf binären Goppa-Codes und wird immer noch als sicher angesehen. Andere Varianten, wie diese beispielsweise in den Publikationen [6] und [7] beschrieben sind, erlauben aufgrund ihrer inhärenten algebraischen Struktur kleinere Schlüssel. Ferner wurden McEliece-Verfahren, die auf zufälligen Codes wie Low-Density Parity-Check (LDPC)-Codes basieren, in Betracht gezogen, wie die Publikation [8] zeigt. Insbesondere quasi-zyklische (QC) LDPC-Codes ermöglichen kompakte Schlüssel aufgrund ihrer blockweise zyklisch strukturierten Kontrollmatrix (vergl. Publikation [9]).In the past, various versions of the McEliece method based on different code families F have been proposed. The original McEliece method described in publication [1] is based on binary Goppa codes and is still considered safe. Other variants, such as these, for example in in publications [6] and [7] allow smaller keys because of their inherent algebraic structure. Further, McEliece methods based on random codes such as Low Density Parity Check (LDPC) codes have been considered, as shown in publication [8]. In particular, quasi-cyclic (QC) LDPC codes enable compact keys due to their block-wise cyclically structured control matrix (see Publication [9]).

Die Variante des McEliece-Verfahrens, die die gegenwärtig kleinsten öffentlichen Schlüssel zulässt, basiert auf einer Familie von binären QC-MDPC (Moderate-Density Parity-Check) Codes (siehe Publikation [10]). Ein binärer MDPC-Code der Länge n, der Dimension k und des Zeilengewichts w wird durch eine Kontrollmatrix H (sog. Parity-Check-Matrix) über dem binären Körper F 2

Figure DE102018200617A1_0008
definiert, die eine moderate Anzahl von w O n l o g ( n )
Figure DE102018200617A1_0009
Einsen („1“) pro Zeile enthält. Für n = nop, die Dimension k = kop, die Redundanz r = n - k = rop mit ro = no - ko für eine ganze Zahl (Integer) p, hat die Kontrollmatrix H eines QC-MDPC-Codes die Form H = ( H 0,0 H 0,1 H 0, n 0 1 H 1,0 H 1,1 H 1, n 0 1 H r 0 1,0 H r 0 1,1 H r 0 1, n 0 1 )
Figure DE102018200617A1_0010
wobei jeder Block Hi,j eine binäre p × p zyklische Matrix ist.The variant of the McEliece method, which allows the currently smallest public keys, is based on a family of binary QC-MDPC (Moderate-Density Parity-Check) codes (see publication [10]). A binary MDPC code of length n, dimension k and line weight w is passed through a control matrix H (so-called parity check matrix) over the binary body F 2
Figure DE102018200617A1_0008
that defines a moderate number of w O n l O G ( n )
Figure DE102018200617A1_0009
Contains one ("1") per line. For n = nop, the dimension k = kop, the redundancy r = n - k = rop with ro = no - ko for an integer p, the control matrix H of a QC MDPC code has the form H = ( H 0.0 H 0.1 ... H 0 n 0 - 1 H 1.0 H 1.1 ... H 1, n 0 - 1 H r 0 - 1.0 H r 0 - 1.1 ... H r 0 - 1, n 0 - 1 )
Figure DE102018200617A1_0010
where each block H i, j is a binary p × p cyclic matrix.

Zur Schlüsselgenerierung wird zufällig eine Kontrollmatrix H F 2 r × n

Figure DE102018200617A1_0011
der Form nach Formel (3) erzeugt, wobei jeder Block H i F 2 p × p
Figure DE102018200617A1_0012
eine zyklische Matrix (auch zirkulante Matrix genannt) mit dem Zeilengewicht wi ist. Die Kontrollmatrix H mit dem Zeilengewicht w = i = 0 n 0 1 w i
Figure DE102018200617A1_0013
ist der private Schlüssel und von einer zufälligen blockweise zyklischen Matrix nicht unterscheidbar.For key generation, a control matrix happens to be random H F 2 r × n
Figure DE102018200617A1_0011
of the form according to formula (3), where each block H i F 2 p × p
Figure DE102018200617A1_0012
a cyclic matrix (also called circular matrix) with the line weight w i . The control matrix H with the line weight w = Σ i = 0 n 0 - 1 w i
Figure DE102018200617A1_0013
is the private key and indistinguishable from a random block-by-block cyclic matrix.

Der öffentliche Schlüssel ist die korrespondierende Generatormatrix G F 2 k × n

Figure DE102018200617A1_0014
in systematischer Form, d.h. G s y s = ( 1 1 | [ H ˜ 0,0 T H ˜ r 0 1,0 T H ˜ 0, k 0 1 T H ˜ r 0 1 , k 0 1 T ] )
Figure DE102018200617A1_0015
wobei jedes H̃i,j eine binäre p × p zyklische Matrix ist. Die Generatormatrix Gsys umfasst roko zyklische Blöcke der Größe p × p und kann daher durch rokop, was der Größe des öffentlichen Schlüssels entspricht, beschrieben werden.The public key is the corresponding generator matrix G F 2 k × n
Figure DE102018200617A1_0014
in a systematic form, ie G s y s = ( 1 1 | [ H ~ 0.0 T H ~ r 0 - 1.0 T H ~ 0 k 0 - 1 T H ~ r 0 - 1 . k 0 - 1 T ] )
Figure DE102018200617A1_0015
where each H i, j is a binary p × p cyclic matrix. The generator matrix G sys comprises roko cyclic blocks of the size p × p and can therefore be described by rokop, which corresponds to the size of the public key.

Mit Kenntnis der geheimen MDPC-Kontrollmatrix H kann man bekannte graph-basierte, iterative Dekodieralgorithmen (sog. Message Passing (MP) Dekodieralgorithmen) als Dekodierfunktion DECH(·) zur Anwendung bringen. Die Leistung des Dekoders hängt stark von der Dichte der Kontrollmatrix ab. Somit erhält ein Angreifer, der mit einer dichteren Version der Kontrollmatrix H ausgestattet ist, einen hochgradig degradierten Dekoder, der nicht in der Lage ist, die erforderliche Anzahl von t Fehlern zu korrigieren. Für das in der Publikation [10] beschriebene QC-MDPC-Verfahren wird ein Bit-Flipping (BF)-Dekoder für LDPC-Codes vorgeschlagen.With knowledge of the secret MDPC control matrix H, known graph-based, iterative decoding algorithms (so-called Message Passing (MP) decoding algorithms) can be used as the decoding function DEC H (·). The performance of the decoder depends heavily on the density of the control matrix. Thus, an attacker equipped with a denser version of the control matrix H receives a highly degraded decoder that is unable to correct the required number of t errors. For the QC-MDPC method described in Publication [10], a bit flipping (BF) decoder for LDPC codes is proposed.

Somit weisen die Varianten, die QC-LDPC-Codes verwenden, das Problem auf, dass Angriffe möglich sind, die auf dem Auffinden von Codewörtern mit geringem Gewicht im binärem Code basieren, was möglich ist, da die Kontrollmatrix H eine niedrige Dichte aufweist (siehe Publikation [8]). Das Verfahren, das QC-MDPC-Codes verwendet, weist die kleinste öffentliche Schlüsselgröße für ein gegebenes Sicherheitsniveau auf, kann aber mit einem sog. Reaktionsangriff (englisch: reaction attack) gebrochen werden, wie die Publikation [10] zeigt. Der Angreifer injiziert Chiffretexte c = mGsys + e mit besonders gewählten Fehlervektoren e und beobachtet, ob der Empfänger entschlüsseln kann oder nicht, d.h. ob der Dekoder DECH(·) dekodieren kann oder nicht. Die Beobachtung der Dekodierungsfehlerwahrscheinlichkeit ermöglicht dann die Ermittlung der Kontrollmatrix H.Thus, the variants using QC-LDPC codes have the problem that attacks based on finding low-weight codewords in the binary code are possible, which is possible because the control matrix H has a low density (see Publication [8]). The method using QC MDPC codes has the smallest public key size for a given security level, but can be broken with a so-called reaction attack, as shown in publication [10]. The attacker injects ciphertext c = mG sys + e with specially chosen error vectors e and observes whether or not the receiver can decrypt, ie, whether the decoder DEC can ( H ) decode () or not. The observation of the decoding error probability then enables the determination of the control matrix H.

Vor kurzem haben Guo, Johansson und Stankovski (GJS) einen reaktionsbasierten Schlüssel-Recovery-Angriff (englisch: key-recovery-attack) auf das QC-MDPC-System vorgestellt (Publikation [12]). Dieser Angriff deckt die Kontrollmatrix auf, indem die Dekodierungsfehlerwahrscheinlichkeit für ausgewählte Chiffriertexte c beobachtet wird, die mit Fehlermustern konstruiert sind, die eine spezifische Struktur aufweisen. Eine modifizierte Version des Angriffs kann ein System durchbrechen, das sichere CCA-2-Konvertierungen verwendet, wie Publikation [3] zeigt.Recently, Guo, Johansson and Stankovski (GJS) have introduced a response-based key-recovery-attack on the QC-MDPC system (Publication [12]). This attack reveals the control matrix by observing the decoding error probability for selected ciphertexts c constructed with error patterns having a specific structure. A modified version of the attack can break a system that uses secure CCA-2 conversions, as publication [3] shows.

Es ist Aufgabe der Erfindung ein Dekodierverfahren sowie einen Dekodierer anzugeben, die gegen einen GJS-Angriff widerstandsfähig sind. Eine weitere Aufgabe der Erfindung besteht darin, ein Dekodierverfahren sowie einen Dekodierer anzugeben, die eine größere Anzahl an Fehlern dekodieren können.It is an object of the invention to provide a decoding method and a decoder which are resistant to GJS attack. Another object of the invention is to provide a decoding method and decoder which can decode a larger number of errors.

Diese Aufgaben werden gelöst durch ein Verfahren gemäß den Merkmalen des Anspruches 1, ein Computerprogrammprodukt gemäß den Merkmalen des Anspruches 14 und einen Dekodierer gemäß den Merkmalen des Anspruches 17. Weitere vorteilhafte Ausgestaltungen ergeben sich aus den abhängigen Ansprüchen. These objects are achieved by a method according to the features of claim 1, a computer program product according to the features of claim 14 and a decoder according to the features of claim 17. Further advantageous embodiments emerge from the dependent claims.

Gemäß einem ersten Aspekt der Erfindung wird ein Verfahren zum Dekodieren einer Nachricht, insbesondere einer mit einem öffentlichen Schlüssel eines asymmetrischen kryptographischen Systems verschlüsselten Nachricht, vorgeschlagen, das einen graphbasierten Message Passing (MP)-Algorithmus mit variablen Knoten und Kontrollknoten nutzt, die durch Kanten verbunden sind. Zur Dekodierung der Nachricht werden entlang der Kanten iterativ Nachrichten von den variablen Knoten zu den Kontrollknoten sowie Nachrichten von den Kontrollknoten zu den variablen Knoten gesendet. Das Verfahren zeichnet sich dadurch aus, dass die Nachrichten von den variablen Knoten zu den Kontrollknoten mit einer vorgegebenen Wahrscheinlichkeit modifiziert, insbesondere ausgelöscht, werden.According to a first aspect of the invention, a method is proposed for decoding a message, in particular a message encrypted with a public key of an asymmetric cryptographic system, using a graph-based message passing (MP) algorithm with variable nodes and control nodes connected by edges are. To decode the message, messages are iteratively sent along the edges from the variable nodes to the control nodes and messages from the control nodes to the variable nodes. The method is characterized in that the messages are modified, in particular extinguished, from the variable nodes to the control nodes with a predetermined probability.

Das erfindungsgemäße Verfahren weist den Vorteil auf, dass dieses gegen einen GJS-Angriff widerstandsfähig ist. Ferner kann im Vergleich zu aus dem Stand der Technik bekannten Verfahren eine größere Anzahl an Fehlern dekodiert werden.The inventive method has the advantage that this is resistant to GJS attack. Furthermore, a larger number of errors can be decoded compared to methods known from the prior art.

Das Verfahren und der dazugehörige Dekodierer lassen sich sowohl in einem asymmetrischen kryptographischen System, insbesondere nach McEliece, als auch zur Dekodierung in der Nachrichtenübertragung verwenden.The method and the associated decoder can be used both in an asymmetric cryptographic system, in particular according to McEliece, as well as for decoding in the message transmission.

In einer ersten Variante des Verfahrens erfolgt die Modifikation bzw. Auslöschung der Nachricht von den variablen Knoten zu den Kontrollknoten unabhängig vom Wert des Chiffretext-Bits c E {+1, -1}.In a first variant of the method, the modification or deletion of the message from the variable nodes to the control nodes takes place independently of the value of the ciphertext bit c E {+1, -1}.

In einer zweiten Variante des Verfahrens werden die Nachrichten von den variablen Knoten zu den Kontrollknoten bei der l-ten Iteration mit der vorgegebenen Wahrscheinlichkeit p e ( l )

Figure DE102018200617A1_0016
gelöscht, wenn sie nicht einem erwarteten Chiffriertext-Bit c entsprechen.In a second variant of the method, the messages from the variable nodes become the control nodes at the ith iteration with the given probability p e ( l )
Figure DE102018200617A1_0016
cleared if they do not match an expected ciphertext bit c.

Die vorgegebene Wahrscheinlichkeit p e ( l ) ,

Figure DE102018200617A1_0017
mit der eine Löschung erfolgt, kann über die Anzahl an Iterationen variiert werden. Es kann zweckmäßig vorgesehen sein, dass die vorgegebene Wahrscheinlichkeit p e ( l )
Figure DE102018200617A1_0018
mit zunehmender Anzahl der Iterationen, insbesondere nicht-linear, abfällt.The default probability p e ( l ) .
Figure DE102018200617A1_0017
With the deletion can be varied over the number of iterations. It may be appropriate to provide the predetermined probability p e ( l )
Figure DE102018200617A1_0018
decreases with increasing number of iterations, in particular non-linear.

Gemäß einem zweiten Aspekt wird ein Computerprogrammprodukt vorgeschlagen, das direkt in den internen Speicher eines digitalen Computers geladen werden kann und Softwarecodeabschnitte umfasst, mit denen die Schritte gemäß dem in diesem Dokument beschriebenen Verfahren ausgeführt werden, wenn das Produkt auf einem Computer läuft. Das Computerprogrammprodukt kann als USB-Stick, DVD-CD-ROM oder als Festplatte verwirklicht sein, auf denen ein jeweiliges Programm zur Durchführung der in diesem Dokument beschriebenen Verfahren gespeichert ist. Von dem Computerprogrammprodukt ist ebenfalls ein über ein drahtloses oder drahtgebundenes Netzwerk ladbares Programm umfasst.According to a second aspect, there is provided a computer program product that can be loaded directly into the internal memory of a digital computer and includes software code portions that perform the steps according to the method described in this document when the product is run on a computer. The computer program product may be implemented as a USB stick, DVD-CD-ROM or as a hard disk on which a respective program for carrying out the methods described in this document is stored. The computer program product also includes a program loadable via a wireless or wired network.

Gemäß einem dritten Aspekt wird ein Dekodierer zum Dekodieren einer Nachricht vorgeschlagen, der dazu ausgebildet ist, einen graphbasierten Message Passing (MP)-Algorithmus mit variablen Knoten und Kontrollknoten auszuführen, die durch Kanten verbunden sind, wobei zur Dekodierung der Nachricht entlang der Kanten iterativ Nachrichten von den variablen Knoten zu den Kontrollknoten sowie Nachrichten von den Kontrollknoten zu den variablen Knoten gesendet werden. Der Dekodierer ist dazu eingerichtet, die Nachrichten von den variablen Knoten zu den Kontrollknoten mit einer vorgegebenen Wahrscheinlichkeit zu modifizieren, insbesondere auszulöschen.According to a third aspect, there is provided a decoder for decoding a message adapted to execute a variable-node graph-based message passing (MP) algorithm and control nodes connected by edges, wherein for decoding the message along the edges iteratively messages from the variable nodes to the control nodes as well as messages from the control nodes to the variable nodes. The decoder is set up to modify the messages from the variable nodes to the control nodes with a predetermined probability, in particular to delete them.

Die Erfindung wird nachfolgend näher anhand eines Ausführungsbeispiels in den Zeichnungen beschrieben. Es zeigen:

  • 1 ein Diagramm, das die Nachrichtenfehlerrate für eine Anzahl an Simulationen für ein aus dem Stand der Technik bekanntes Bitflipping (BF)-Dekodierverfahren zeigt;
  • 2 ein Diagramm, das die Nachrichtenfehlerrate für eine Anzahl an Simulationen für ein aus dem Stand der Technik bekanntes Message Passing (MP)-Dekodierverfahren zeigt;
  • 3 ein Diagramm, das die Nachrichtenfehlerrate für eine Anzahl an Simulationen für ein aus dem Stand der Technik bekanntes Dekodierverfahren zeigt, das als Algorithmus E bekannt ist;
  • 4 ein Diagramm, das die Nachrichtenfehlerrate für eine Anzahl an Simulationen für eine erste Ausgestaltungsvariante (REMP-1) eines erfindungsgemäßen Dekodierverfahrens, das auf dem Algorithmus E basiert, im Vergleich zum Algorithmus E (Algorithm E) zeigt;
  • 5 ein Diagramm, das die Nachrichtenfehlerrate für eine Anzahl an Simulationen für eine zweite Ausgestaltungsvariante (REMP-2) eines erfindungsgemäßen Dekodierverfahrens, das auf dem Algorithmus E basiert, im Vergleich zum Algorithmus E (Algorithm E) zeigt, wobei eine erhöhte Anzahl an Fehlern e dekodiert ist;
  • 6 ein Diagramm, das die Nachrichtenfehlerrate in Abhängigkeit des Gewichts des Fehlermusters für verschiedene Message Passing-Dekodierverfahren im Vergleich zeigt; und
  • 7 einen erfindungsgemäßen Dekodierer.
The invention will be described in more detail below with reference to an embodiment in the drawings. Show it:
  • 1 Figure 11 is a graph showing the message error rate for a number of simulations for a prior art bitflipping (BF) decoding method;
  • 2 Figure 12 is a diagram showing the message error rate for a number of simulations for a prior art Message Passing (MP) decoding method;
  • 3 Figure 11 is a graph showing the message error rate for a number of simulations for a prior art decoding method known as Algorithm E;
  • 4 a diagram showing the message error rate for a number of simulations for a first embodiment variant (REMP-1) of a decoding method according to the invention based on the algorithm E compared to the algorithm E (Algorithm E);
  • 5 a diagram showing the message error rate for a number of simulations for a second embodiment variant (REMP-2) of a decoding method according to the invention based on the algorithm E compared to the algorithm E (Algorithm E), wherein an increased number of errors e decodes e is;
  • 6 a diagram showing the message error rate as a function of the weight of the error pattern for different message passing decoding method in comparison; and
  • 7 a decoder according to the invention.

In der nachfolgenden Beschreibung werden das Verfahren zur Erzeugung eines privaten Schlüssels mit versteckten Variablen sowie das darauf basierende asymmetrische Kryptosystem im Detail erläutert, wobei das Kryptosystem auf dem bekannten McEliece-Kryptographieverfahren beruht.In the following description, the hidden variable private key generation method and the asymmetric cryptosystem based thereon are explained in detail, the cryptosystem being based on the well-known McEliece cryptography method.

In der nachfolgenden Beschreibung repräsentieren, wenn von einer Länge einer Nachricht oder eines Nachrichtenteils die Rede ist, kleine Buchstaben Nachrichten- oder Nachrichtenteillängen in Bits und große Buchstaben Matrizen.In the following description, when talking about a length of a message or a message part, small letters represent message or message parts in bits and large letters in matrices.

Zunächst wird das bekannte Verfahren nach McEliece beschrieben. Es wird davon ausgegangen, dass ein Nutzer Bob (Sender) eine Nachricht an einen Sender Alice (Empfänger) senden möchte, welche auf einem q-stufigen linearen Code basiert. Zunächst erfolgt eine Schlüsselgeneration, im Rahmen derer ein öffentlicher und ein privater Schlüssel erzeugt werden. Die Schlüsselerzeugung umfasst die folgenden Schritte:

  • - Zunächst wird ein (N, K) linearer Code C über einen endlichen Körper mit q Elementen ( F q )
    Figure DE102018200617A1_0019
    mit Hilfe einer Generatormatrix G der Größe K × N Symbolen ausgewählt, welche in der Lage ist, t Fehler über dem q-stufigen symmetrischen Kanal zu korrigieren. Wenn angenommen wird, dass q eine Zweierpotenz ist, kann jedes Symbol des endlichen Körpers repräsentiert werden durch log2 q Informationsbits.
  • - Der ausgewählte Code muss eine Struktur besitzen, die einen effizienten Dekodierungsalgorithmus ermöglicht.
  • - Anschließend wird zufällig eine nicht-singuläre, invertierbare K × K Matrix A ausgewählt.
  • - In einem nächsten Schritt wird eine N × N Permutationsmatrix II zufällig ausgewählt.
  • - Aus den oben erhaltenen Informationen wird der öffentliche Schlüssel Ĝ erzeugt gemäß Ĝ = A · G · Π.
First, the known method is described according to McEliece. It is assumed that a user wants to send Bob (sender) a message to a sender Alice (receiver) based on a q-stage linear code. First, there is a key generation in which a public and a private key are generated. Key generation involves the following steps:
  • - First, an (N, K) linear code C over a finite field with q elements ( F q )
    Figure DE102018200617A1_0019
    is selected by means of a generator matrix G of size K × N symbols, which is able to correct t errors over the q-stage symmetric channel. Assuming that q is a power of two, each symbol of the finite field can be represented by log 2 q bits of information.
  • The selected code must have a structure that enables an efficient decoding algorithm.
  • Subsequently, a non-singular, invertible K × K matrix A is randomly selected.
  • In a next step, an N × N permutation matrix II is selected at random.
  • From the information obtained above, the public key Ĝ is generated according to Ĝ = A · G · Π.

Der öffentliche Schlüssel von Alice (der Empfängerin einer Nachricht) korrespondiert damit zu Ĝ, wobei der private Schlüssel G durch das Triplet (A, G, Π) gegeben ist.The public key of Alice (the recipient of a message) thus corresponds to Ĝ, the private key G being given by the triplet (A, G, Π).

Die Nachrichtenverschlüsselung erfolgt wie folgt: Alice (Empfänger) stellt Bob (Sender) den öffentlichen Schlüssel Ĝ bereit. Bob möchte eine Nachricht m mit einer Länge von k Bits an Eliece senden. Bob bildet zunächst die Nachricht m in einen Vektor u mit einer Länge von K = k log 2 q

Figure DE102018200617A1_0020
Symbolen in F q
Figure DE102018200617A1_0021
ab. Die Verschlüsselung umfasst die Berechnung von c = u G ^ + e ,
Figure DE102018200617A1_0022
wobei c die verschlüsselte Nachricht mit einer Größe von 1 × N Symbolen in Fq, u die zu verschlüsselnde (Klartext-)Nachricht mit einer Größe von 1 × K Symbolen in F q ,
Figure DE102018200617A1_0023
Ĝ der öffentliche Schlüssel von Alice mit einer Größe von K × N Symbolen in F q ,
Figure DE102018200617A1_0024
und e ein zufällig erzeugter 1 × N Vektor mit Symbolen in Fq ist, wobei dieser genau t Elemente ungleich Null aufweist. Dabei ist jedes Element ungleich Null gleichförmig zufällig von F q 0
Figure DE102018200617A1_0025
gewählt (d.h. gleichförmig in dem endlichen Körper, jedoch ohne das Null Element).Message encryption is done as follows: Alice (recipient) provides Bob (sender) with the public key Ĝ. Bob wants to send a message m with a length of k bits to Eliece. Bob first forms the message m into a vector u with a length of K = k log 2 q
Figure DE102018200617A1_0020
Symbols in F q
Figure DE102018200617A1_0021
from. Encryption involves the calculation of c = u G ^ + e .
Figure DE102018200617A1_0022
where c is the encrypted message having a size of 1 × N symbols in F q , u is the (plaintext) message to be encrypted with a size of 1 × K symbols in F q .
Figure DE102018200617A1_0023
Ĝ Alice's public key with a size of K × N symbols in F q .
Figure DE102018200617A1_0024
and e is a randomly generated 1 × N vector with symbols in F q , which has exactly t non-zero elements. Each element other than zero is uniformly random from F q 0
Figure DE102018200617A1_0025
chosen (ie uniform in the finite field, but without the zero element).

Die Nachrichtenverschlüsselung erfolgt nach folgendem Prinzip. Alice (Empfänger der verschlüsselten Nachricht) kann die von Bob (dem Sender der verschlüsselten Nachricht) gesendete Nachricht wie folgt wieder herstellen:

  • - Berechnung von c' = Π-1 · c,
  • - basierend auf G und unter Verwendung eines effizienten Dekodierungsalgorithmus für den Linearcode C berechnet Alice u' = dec(c'),
  • - Berechnung des Vektors u = u' · A-1, und
  • - Abbilden des Vektors u in m, um die von Bob gesendete Nachricht zu erhalten.
The message encryption follows the following principle. Alice (recipient of the encrypted message) can restore the message sent by Bob (the sender of the encrypted message) as follows:
  • - calculation of c '= Π -1 · c,
  • based on G and using an efficient decoding algorithm for linear code C, Alice calculates u '= dec (c'),
  • - Calculation of the vector u = u '· A -1 , and
  • Map the vector u in m to get the message sent by Bob.

Das ursprünglich entwickelte McEliece-Verfahren, das in der Publikation [1] beschrieben ist, verwendet binäre Goppa-Codes.The originally developed McEliece method described in publication [1] uses binary Goppa codes.

Das von McEliece entwickelte Kryptosystem ist für verschiedene Arten von Angriffen anfällig:

  1. a) Angriffe, die auf dem mehr als einmaligen Verschlüsseln einer Nachricht basieren (Wiederholung);
  2. b) Angriffe, die auf Klartext-Nachrichten mit einer bekannten linearen Beziehung basieren;
  3. c) bestimmte Klartext-Nachrichten-Angriffe;
  4. d) nicht-adaptive, ausgewählte Chiffriertext-Attacken;
  5. e) adaptive, ausgewählte Chiffriertext-Attacken.
The McEliece-developed cryptosystem is vulnerable to various types of attacks:
  1. a) attacks based on more than one time encryption of a message (repetition);
  2. b) attacks based on plaintext messages with a known linear relationship;
  3. c) certain plaintext message attacks;
  4. d) non-adaptive, selected ciphertext attacks;
  5. e) adaptive, selected ciphertext attacks.

Wie einleitend beschrieben, konnte das McEliece-Kryptosystem selbst unter Verwendung von Quantencomputern bislang nicht gebrochen werden. Nichtsdestotrotz ist das McEliece-Kryptosystem mit einigen Nachteilen verbunden:

  1. a) Der öffentliche Schlüssel ist vergleichsweise lang, nämlich K N log2 q Bits lang. Hieraus resultiert bei der Verwaltung einer Vielzahl von öffentlichen Schlüsseln ein hoher Speicherplatzbedarf.
  2. b) Das McEliece-Kryptosystem weist eine vergleichsweise geringe Effizienz auf. Das Kryptogramm, d.h. die verschlüsselte Nachricht ist n = N log2 q Bits lang, während die zu verschlüsselnde Nachricht (Klartext-Nachricht) lediglich k = K log2 q Bits lang ist. Hieraus ergibt sich eine Informationsrate des McEliece-Kryptosystems aus dem Verhältnis der Coderate und des Linearcodes C: R = k n = K N .
    Figure DE102018200617A1_0026
    In einer typischen Konfiguration ist R = 0,5 gewählt, was bedeutet, dass die Größe des Kryptogramms doppelt so hoch ist wie die Größe der Klartext-Nachricht.
As described in the introduction, the McEliece cryptosystem could not be broken even using quantum computers. Nonetheless, the McEliece cryptosystem has some disadvantages:
  1. a) The public key is comparatively long, namely KN log 2 q bits long. This results in the management of a large number of public keys, a high storage space requirement.
  2. b) The McEliece cryptosystem has a comparatively low efficiency. The cryptogram, ie the encrypted message, is n = N log 2 q bits long while the message to be encrypted (plaintext message) is only k = K log 2 q bits long. This results in an information rate of the McEliece cryptosystem from the ratio of the code rate and the linear code C: R = k n = K N ,
    Figure DE102018200617A1_0026
    In a typical configuration, R = 0.5 is chosen, which means that the size of the cryptogram is twice the size of the plaintext message.

Der Fehlervektor e, der zum Verschlüsseln bei dem McEliece-Verfahren verwendet wird, weist an t Positionen Werte ungleich Null („0“) auf und an jeder dieser Positionen kann dieser q - 1 verschiedene Werte annehmen. Dadurch ist es theoretisch möglich, in den Fehlervektor e bis zu log 2 ( N t ) + t  log 2 ( q 1 )  bits

Figure DE102018200617A1_0027
verschiedene Werte zu kodieren.The error vector e used for encoding in the McEliece method has non-zero ("0") values at t positions, and at each of these positions, this q-1 can take different values. This makes it theoretically possible in the error vector e up to log 2 ( N t ) + t log 2 ( q - 1 ) bits
Figure DE102018200617A1_0027
encode different values.

Das vorgeschlagene McEliece-Kryptosystem basiert auf einer Familie von binären QC-MDPC (Quasi-Cyclic Moderate-Density Parity-Check) Codes, die die gegenwärtig kleinsten öffentlichen Schlüssel zulässt. Ein binärer MDPC-Code der Länge n, der Dimension k und des Zeilengewichts w wird durch eine Kontrollmatrix H (sog. Parity-Check-Matrix) über dem binären Körper F 2

Figure DE102018200617A1_0028
definiert, die eine moderate Anzahl von w 0 ( n l o g ( n ) )
Figure DE102018200617A1_0029
Einsen („1“) pro Zeile enthält. Für n = nop, die Dimension k = kop, die Redundanz r = n - k = rop mit ro = no - ko für eine ganze Zahl (Integer) p, hat die Kontrollmatrix H eines QC-MDPC-Codes die Form der eingangs bereits beschriebenen Gleichung (3) H = ( H 0,0 H 0,1 H 0, n 0 1 H 1,0 H 1,1 H 1, n 0 1 H r 0 1,0 H r 0 1,1 H r 0 1, n 0 1 )
Figure DE102018200617A1_0030
wobei jeder Block Hi,j eine binäre p × p zyklische Matrix ist.The proposed McEliece cryptosystem is based on a family of binary QC-MDPC (Quasi-Cyclic Moderate-Density Parity-Check) codes that currently allow the smallest public keys. A binary MDPC code of length n, dimension k and line weight w is passed through a control matrix H (so-called parity check matrix) over the binary body F 2
Figure DE102018200617A1_0028
that defines a moderate number of w 0 ( n l O G ( n ) )
Figure DE102018200617A1_0029
Contains one ("1") per line. For n = nop, the dimension k = kop, the redundancy r = n - k = rop with ro = no - ko for an integer (integer) p, the control matrix H of a QC MDPC code already has the form of the beginning described equation (3) H = ( H 0.0 H 0.1 ... H 0 n 0 - 1 H 1.0 H 1.1 ... H 1, n 0 - 1 H r 0 - 1.0 H r 0 - 1.1 ... H r 0 - 1, n 0 - 1 )
Figure DE102018200617A1_0030
where each block H i, j is a binary p × p cyclic matrix.

Eine zyklische Matrix ist eine binäre zyklische Matrix A der Größe Q, d.h. ist eine Q × Q-Matrix mit Koeffizienten in einem Vektorraum F 2 ,

Figure DE102018200617A1_0031
die durch zyklisches Verschieben ihrer ersten Zeile a = (a0, a1, ..., aQ-1) nach rechts erhalten wird gemäß A = ( a 0 a 1 a Q 1 a Q 1 a 0 a Q 2 a 1 a 2 a 0 )
Figure DE102018200617A1_0032
A cyclic matrix is a binary cyclic matrix A of size Q, ie a Q × Q matrix with coefficients in a vector space F 2 .
Figure DE102018200617A1_0031
which is obtained by cyclically shifting its first line a = (a 0 , a 1 , ..., a Q-1 ) to the right according to A = ( a 0 a 1 ... a Q - 1 a Q - 1 a 0 ... a Q - 2 a 1 a 2 ... a 0 )
Figure DE102018200617A1_0032

Die Menge der Q × Q zyklischen Matrizen bildet zusammen mit der Matrixmultiplikation und -addition einen kommutativen Ring und ist isomorph zum Polynomring ( F 2 [ X ] / ( X Q 1 ) , + , ) .

Figure DE102018200617A1_0033
Zu dem Zirkulanten A (d.h. der zyklischen Matrix A) kann ein Polynom a ( X ) = a 0 + a 0 X + + a Q 1 x Q 1 F 2 [ x ]
Figure DE102018200617A1_0034
assoziiert werden. Zwei Q × Q Zirkulanten A und B haben zugehörige Polynome a(X) und b(X). Daraus können die Zirkulanten C = A + B und D = AB bestimmt werden. Dann sind die Zirkulanten C und D den Polynomen c(X) = a(X) + b(X) und d(X) = a(X) · b(X) mod (XQ - 1) zugeordnet. Der Koeffizientenvektor eines Polynoms a(X) wird als a(X) = (a0, a1, ..., aQ-1) beschrieben. Das Gewicht eines Polynoms a(X) ist die Anzahl seiner Koeffizienten ungleich Null (d.h. ≠ 0), d.h. es ist das Hamming-Gewicht seines Koeffizientenvektors a. Beide Gewichte werden mit dem Operator wht (·) an, d.h. wht (a(X)) = wht (a), bezeichnet. Im weiteren Verlauf wird die polynomiale Darstellung zyklischer Matrizen verwendet, um eine effiziente Beschreibung der Struktur der analysierten Codes zu erhalten.The set of Q × Q cyclic matrices together with the matrix multiplication and addition form a commutative ring and is isomorphic to the polynomial ring ( F 2 [ X ] / ( X Q - 1 ) . + . ) ,
Figure DE102018200617A1_0033
To the circulator A (ie the cyclic matrix A) may be a polynomial a ( X ) = a 0 + a 0 X + + a Q - 1 x Q - 1 F 2 [ x ]
Figure DE102018200617A1_0034
be associated. Two Q × Q circulators A and B have associated polynomials a (X) and b (X). From this the circulators C = A + B and D = AB can be determined. Then the circulators C and D is associated with the polynomials c (X) = a (X) + b (X) and d (X) = a (X) * b (X) mod (X Q -1). The coefficient vector of a polynomial a (X) is described as a (X) = (a 0 , a 1 , ..., a Q-1 ). The weight of a polynomial a (X) is the number of its nonzero coefficients (ie, ≠ 0), ie, it is the Hamming weight of its coefficient vector a. Both weights are denoted by the operator wht (·), ie wht (a (X)) = wht (a). In the further course, the polynomial representation of cyclic matrices is used to obtain an efficient description of the structure of the analyzed codes.

Zur Erzeugung des Schlüsselpaars, umfassend den privaten Schlüssel und den öffentlichen Schlüssel, nutzt das vorgeschlagene McEliece-Kryptosystem Protographen. Ein Protograph P ist ein bipartiter Graph, der eine Menge von No variablen Knoten (VNs) (auch als VN-Typen bezeichnet) {V0, V1, ..., VN0-1} und eine Menge von M0 Kontrollknoten (sog. Check Nodes, CNs) (auch als CN-Typen bezeichnet) {C0, C1, ..., CM0-1} umfasst. Ein VN-Typ Vj ist mit einem CN-Typ Ci durch bij Kanten verbunden. Ein Protograph kann äquivalent in einer Matrixform durch eine Mo x N0-Matrix B repräsentiert werden. Die ij-te Spalte der Matrix B ist dem VN-Typ Vj zugeordnet und die i-te Reihe von der Matrix B ist dem CN-Typ Ci zugeordnet. Das (ij) Element der Matrix B ist bij.To generate the key pair comprising the private key and the public key, the proposed McEliece cryptosystem uses protographs. A protograph P is a bipartite graph containing a set of No variable nodes (VNs) (also referred to as VN types) {V 0 , V 1 , ..., V N0-1 } and a set of M 0 control nodes ( check nodes, CNs) (also referred to as CN types) {C 0 , C 1 , ..., C M0-1 }. A VN type V j is connected to a CN type C i through b ij edges. A protograph can be equivalently represented in a matrix form by a Mo x N 0 matrix B. The ij- The column of the matrix B is assigned to the VN type V j , and the ith row of the matrix B is assigned to the CN type C i . The (ij) element of the matrix B is b ij .

Ein Protograph P definiert ein sog. Codeensemble C.A protograph P defines a so-called Codeensemble C.

Ein besonderes Merkmal von Protographen ist die Möglichkeit, solche Graphen zu spezifizieren, die variable Knoten VN enthalten, die Codewortsymbolen zugeordnet sind. Die eingangs erwähnten QC-MDPC-Codes erlauben eine protographische Darstellung als Tanner-Graph, der später genauer beschrieben wird. Für die Informationsrate R = ½ weist eine Basismatrix die Form B = ( b 00   b 01 )

Figure DE102018200617A1_0035
auf. Die Erweiterung des Protographen kann in einer strukturierten Weise durchgeführt werden, wodurch eine QC-MDPC-Kontrollmatrix in polynomialer Form erhalten wird: H ( X ) = ( h 00 ( X )  h 01 ( X ) )
Figure DE102018200617A1_0036
A particular feature of protographers is the ability to specify such graphs containing variable nodes VN associated with codeword symbols. The QC-MDPC codes mentioned in the beginning allow a protographic representation as a Tanner graph, which will be described in more detail later. For the information rate R = ½, a base matrix has the form B = ( b 00 b 01 )
Figure DE102018200617A1_0035
on. The extension of the protograph may be performed in a structured manner, thereby obtaining a QC-MDPC control matrix in polynomial form: H ( X ) = ( H 00 ( X ) H 01 ( X ) )
Figure DE102018200617A1_0036

Dabei ist das Gewicht wht(hij(X)) = bij. In der weiteren Beschreibung wird von einer Informationsrate R = ½ ausgegangen, wobei dies lediglich aus Gründen der Einfachheit erfolgt. Das in Gleichung (6) beschriebene Ensemble wird als Referenzensemble oder CA bezeichnet. Weiterhin wird der kürzest mögliche öffentliche Schlüssel, der in der Publikation [7] beschrieben ist, berücksichtigt, wobei Q = 4801 die Größe des öffentlichen Schlüssels und n = 9602 die Blocklänge des QC-MDPC-Codes ist. Für diesen speziellen Fall, der als Referenzfall betrachtet wird, wird ein Referenzensemble durch die Annahme von b00 = b01 = 45 erhalten.Here, the weight wht (h ij (X)) = b ij . In the further description, an information rate R = ½ is assumed, which is done only for the sake of simplicity. The ensemble described in Equation (6) is called a reference ensemble or C A. Furthermore, the shortest possible public key described in Publication [7] is considered, where Q = 4801 is the size of the public key and n = 9602 is the block length of the QC MDPC code. For this particular case, considered a reference case, a reference ensemble is obtained by assuming b 00 = b 01 = 45.

Neben den herkömmlichen Schlüsselwiederherstellungs- und -dekodierungsangriffen, die auf der Dekodierung von Informationssätzen basieren, schlug GJS einen reaktionsbasierten Schlüsselwiederherstellungs-Angriff auf das QC-MDPC McEliece-Kryptosystem vor [10], das derzeit der kritischste Angriff auf das Schema ist [15]. Die effiziente iterative Dekodierung von LDPC/MDPC-Codes geht auf Kosten von Dekodierungsfehlern. Zum Beispiel werden die MDPC-Codes, die in der Publikation [10] vorgeschlagen werden, mit einer Zieldekodierungsfehlerwahrscheinlichkeit von weniger als 10-7 betrieben.In addition to traditional key recovery and decoding attacks based on information set decoding, GJS proposed a reaction-based key recovery attack on the QC-MDPC McEliece cryptosystem [10], which is currently the most critical attack on the scheme [15]. The efficient iterative decoding of LDPC / MDPC codes comes at the cost of decoding errors. For example, the MDPC codes proposed in Publication [10] are operated with a target decoding error probability of less than 10 -7 .

Der GJS-Angriff nutzt die Beobachtung aus, dass die Dekodierungsfehlerwahrscheinlichkeit für einige speziell ausgewählte Fehlermuster mit der Struktur des geheimen Schlüssels korreliert ist, d.h. der Kontrollmatrix H. Nachfolgend wird zum Verständnis der Erfindung das Vorgehen des Angriffs beschrieben.The GJS attack exploits the observation that the decoding error probability for some specially selected error patterns is correlated with the structure of the secret key, i. control matrix H Hereinafter, the procedure of the attack will be described to understand the invention.

Die Lee-Distanz dL zwischen zwei Einträgen an der Position i und j eines binären Vektors 1 a = (a0a1 ... an-1) ist gemäß der Publikation [16] wie folgt definiert: d L ( i , j ) = min { | i j | , n | i j | }

Figure DE102018200617A1_0037
The Lee distance d L between two entries at positions i and j of a binary vector 1 a = (a 0 a 1 ... a n-1 ) is defined as follows according to publication [16]: d L ( i . j ) = min { | i - j | . n - | i - j | }
Figure DE102018200617A1_0037

Das Lee-Abstandsprofil eines binären Vektors a der Länge Q ist als D ( a ) = { d : i , j ( 0, Q 1 ) s . t .   a i = a j = 1   u n d   d L ( i , j ) = d }

Figure DE102018200617A1_0038
definiert, wobei die maximale Entfernung im Abstandsprofil D(a) U = Q 2
Figure DE102018200617A1_0039
ist. Die Multiplizität µ(d) ist definiert als die Anzahl der Vorkommen der Distanz d in dem Vektor a. Ein binärer Vektor a ist vollständig durch sein Abstandsprofil D(a) spezifiziert und kann daher mit hoher Wahrscheinlichkeit aus dem Abstandsprofil D(a) rekonstruiert werden (bis hin zu zyklischen Verschiebungen), wie die Publikation [12] zeigt. The Lee distance profile of a binary vector a of length Q is as D ( a ) = { d : i . j ( 0 Q - 1 ) s , t , a i = a j = 1 u n d d L ( i . j ) = d }
Figure DE102018200617A1_0038
defined, wherein the maximum distance in the distance profile D (a) U = Q 2
Figure DE102018200617A1_0039
is. The multiplicity μ (d) is defined as the number of occurrences of the distance d in the vector a. A binary vector a is completely specified by its distance profile D (a) and can therefore be reconstructed with high probability from the distance profile D (a) (up to cyclical shifts), as the publication [12] shows.

ψd ist eine Menge, die alle binären Vektoren der Länge n mit genau t Einsen enthält, die als t 2 Paare

Figure DE102018200617A1_0040
mit der Lee-Distanz d in den ersten Q Positionen des Vektors platziert sind. Durch Begrenzen der Fehler auf die ersten Q Positionen bestimmt nur der erste zyklische Block ho(X) der Matrix H(X) das Ergebnis der Dekodierungsprozedur. Der GJS-Angriff läuft dann wie folgt ab:

  • - Für d = 1,..., U werden jeweils Fehlermengen ψd der Größe M generiert, wobei M ein Parameter ist, der zusammen mit U die Anzahl der vom Angreifer verwendeten Versuche definiert.
  • - Es werden M Chiffretexte (2) mit e E Ψd für alle d = 1,..., U gesendet. Anschließend wird die Nachrichtenfehlerrate (FER) bestimmt.
ψ d is a set that contains all binary vectors of length n with exactly t ones, which are called t 2 - pairs
Figure DE102018200617A1_0040
with the Lee distance d placed in the first Q positions of the vector. By limiting the errors to the first Q positions, only the first cyclic block ho (X) of the matrix H (X) determines the result of the decoding procedure. The GJS attack will proceed as follows:
  • - For d = 1, ..., U respectively error quantities ψ d of size M are generated, where M is a parameter that defines together with U the number of attempts used by the attacker.
  • - M ciphertext ( 2 ) with e E Ψ d for all d = 1, ..., U sent. Subsequently, the message error rate (FER) is determined.

Da für eine ausreichend große Menge M an Chiffretexten die Dekodierungsfehlerwahrscheinlichkeit für e E Ψd mit d ∈ D(h0) niedriger ist, d.h., wenn µ(d) > 0 ist, kann die gemessene Nachrichtenfehlerrate FER verwendet werden, um das Abstandsprofil D(ho) zu bestimmen. Der Vektor ho kann dann aus dem Abstandsprofil D(h0) mit den Methoden aus der Publikation [12] rekonstruiert werden.Since for a sufficiently large set M of ciphertext the decoding error probability is lower for e E Ψ d with d ∈ D (h 0 ), ie, when μ (d)> 0, the measured message error rate FER can be used to obtain the distance profile D (ho) to determine. The vector ho can then be reconstructed from the distance profile D (h 0 ) using the methods from publication [12].

Die verbleibenden Blöcke von H(X) in Gleichung (7) können dann über die Generatormatrix G(X) unter Verwendung linearer algebraischer Beziehungen rekonstruiert werden. Der Erfolg des Angriffs hängt davon ab, wie die Dekoder mit Entschlüsselungsfehlern umgehen, da die Nachrichtenfehlerrate FER nur gemessen werden kann, wenn Neuübertragungen angefordert werden. Ein weiterer wichtiger Faktor ist, welches Dekodierungsschema verwendet wird. In den Publikationen [12] und [17] wird gezeigt, dass der GJS-Angriff erfolgreich ist, wenn Bit-Flipping (BF) - oder Belief Propagation (BP) -Dekodierungsalgorithmen verwendet werden.The remaining blocks of H (X) in equation (7) can then be passed over the generator matrix G (X) using linear algebraic Relationships are reconstructed. The success of the attack depends on how the decoders handle decryption errors because the message error rate FER can only be measured when retransmissions are requested. Another important factor is which decoding scheme is used. It is shown in publications [12] and [17] that the GJS attack is successful when using bit flipping (BF) or belief propagation (BP) decoding algorithms.

In Schlüsselaustauschprotokollen kann der Angriff durch Verwendung von ephemeren Schlüsseln (d.h. ein neues Schlüsselpaar für jeden Schlüsselaustausch) abgewehrt werden, wie in Publikation [18] gezeigt ist. Dies kann jedoch nur in sehr speziellen Szenarien angewendet werden.In key exchange protocols, the attack can be fended off by using ephemeral keys (i.e., a new key pair for each key exchange), as shown in publication [18]. However, this can only be used in very specific scenarios.

Für das Verständnis der vorliegenden Erfindung werden nachfolgend klassische Dekodierungsalgorithmen für LDPC-Codes beschrieben und ihre Fehlerkorrekturfähigkeit für MDPC-Codes sowie ihre Widerstandsfähigkeit gegen den GJS-Angriff analysiert. Zur Dekodierung wird jedem Chiffriertext-Bit ci der Wert +1 zugeordnet, wenn ci = 0 ergibt, und dem Wert -1, wenn ci = 1 einen Chiffretext c E {+1, -1}n ergibt. Es wird nun die nächste iterative MP-Dekodierung auf dem Tanner-Graph [19] des Codes betrachtet. Der Tanner-Graph besteht aus n variablen Knoten (VNs) und r Kontrollknoten (CNs). Ein variabler Knoten VN νj ist mit einem Kontrollknoten CN ci verbunden, wenn der entsprechende Eintrag hi,j in der Kontrollmatrix gleich 1 ist. Im weiteren werden nur reguläre Tanner-Graphen betrachtet, d.h. Graphen, bei denen die Anzahl der Kanten von jedem variablen Knoten VN gleich dν ist und die Anzahl der Kanten, die von jedem Kontrollknoten CN ausgehen, gleich dc ist. Die Kanten dν und dc werden als variables Knotenmaß bzw. Kontrollknotenmaß bezeichnet.. Die Nachbarschaft eines variablen Knotens v ist N ( v ) ,

Figure DE102018200617A1_0041
und in ähnlicher Weise bezeichnet N ( c )
Figure DE102018200617A1_0042
die Nachbarschaft des Kontrollknotens c. Die Nachrichten der variablen Knoten VN νj an die Kontrollknoten CN ci werden mit mν j→c i bezeichnet und die Nachrichten von ci an vj mit mc i→v j . Im Folgenden wird auf die Verwendung von Indizes der variablen Knoten VN und der Kontrollknoten CN verzichtet, wenn diese aus dem Kontext ersichtlich sind.For the understanding of the present invention, classical decoding algorithms for LDPC codes will be described below and their error correction capability for MDPC codes as well as their resistance to GJS attack analyzed. For decoding, each ciphertext bit c i is assigned the value +1 if c i = 0, and -1 if c i = 1 gives a ciphertext c E {+1, -1} n . Now consider the next iterative MP decoding on the Tanner graph [19] of the code. The Tanner graph consists of n variable nodes (VNs) and r control nodes (CNs). A variable node VN ν j is connected to a control node CN c i when the corresponding entry h i, j in the control matrix is equal to 1. In the following, only regular Tanner graphs are considered, ie graphs in which the number of edges of each variable node VN is and the number of edges emanating from each control node CN is dc . The edges and dc are called variable node measure and control node measure respectively. The neighborhood of a variable node v is N ( v ) .
Figure DE102018200617A1_0041
and similarly designated N ( c )
Figure DE102018200617A1_0042
the neighborhood of the control node c. The messages of the variable nodes VN ν j to the control nodes CN c i are denoted by m ν j → c i and the messages from c i to v j with m c i → v j , In the following, the use of indices of the variable nodes VN and the control nodes CN is omitted if they are apparent from the context.

Bit-Flipping (BF)-AlgorithmusBit flipping (BF) algorithm

Zur Entschlüsselung im QC-MDPC-Kryptosystem, das in der Publikation [10] beschrieben ist, wird ein effizienter BF-Algorithmus für LDPC-Codes (siehe z.B. den Algorithmus 5.4 in der Publikation [20]) in Betracht gezogen.For decryption in the QC-MDPC cryptosystem described in Publication [10], an efficient BF algorithm for LDPC codes (see, e.g., Algorithm 5.4 in Publication [20]) is considered.

Bei einem Chiffriertext c, einem Schwellenwert b ≤ r und einer maximalen Anzahl von Iterationen Imax geht der BF-Algorithmus wie folgt vor. Jeder variable Knoten VN v wird mit dem entsprechenden Chiffretext-Bit c E {+ 1, -1} initialisiert und sendet die Nachricht mv→c = c an alle benachbarten Kontrollknoten CN c N ( v ) .

Figure DE102018200617A1_0043
Die Kontrollknoten CN senden die Nachrichten m c v = v ' N ( c ) m v ' c
Figure DE102018200617A1_0044
(10) zu allen benachbarten variablen Knoten VN N ( v ) .
Figure DE102018200617A1_0045
Es ist zu berücksichtigen, dass Gleichung (10) äquivalent zu der Modulo-Summe aller eingehenden Nachrichten über F 2
Figure DE102018200617A1_0046
ist. Jeder variable Knoten zählt die Anzahl der nicht erfüllten Prüfgleichungen (d.h. die Anzahl der Nachrichten mc→v = -1) und sendet an seine Nachbarn das „geflippte“ Chiffretextbit, wenn mindestens b Kontrollgleichungen nicht erfüllt sind, d.h. m v c = { c   w e n n | { c ' N ( v ) : m c ' v = 1 } | b ansonsten c
Figure DE102018200617A1_0047
For a ciphertext c, a threshold b ≤ r and a maximum number of iterations Imax, the BF algorithm proceeds as follows. Each variable node VN v is initialized with the corresponding ciphertext bit c E {+ 1, -1} and sends the message m v → c = c to all neighboring control nodes CN c N ( v ) ,
Figure DE102018200617A1_0043
The control nodes CN send the messages m c v = Π v ' N ( c ) m v ' c
Figure DE102018200617A1_0044
(10) to all adjacent variable nodes VN N ( v ) ,
Figure DE102018200617A1_0045
It should be noted that Equation (10) is equivalent to the modulo sum of all incoming messages over F 2
Figure DE102018200617A1_0046
is. Each variable node counts the number of unacknowledged check equations (ie the number of messages m c → v = -1) and sends to its neighbors the "flipped" ciphertext bit if at least b control equations are not met, ie m v c = { - c w e n n | { c ' N ( v ) : m c ' v = - 1 } | b otherwise c
Figure DE102018200617A1_0047

Der Algorithmus wird beendet, wenn entweder alle Kontrollgleichungen erfüllt sind oder die maximale Anzahl von Iterationen Imax erreicht ist. Die Fehlerkorrekturfähigkeit des BF-Algorithmus hängt von der Wahl des Schwellenwerts b ab.The algorithm is terminated when either all control equations are satisfied or the maximum number of iterations Imax has been reached. The error correction capability of the BF algorithm depends on the choice of the threshold b.

Gallager B-AlgorithmusGallager B algorithm

Ein effizienter binärer MP-Dekoder für LDPC-Codes, oft als Gallager B bezeichnet, wurde in der Publikation [21] vorgestellt und analysiert. Jeder variable Knoten VN v wird mit dem entsprechenden Chiffriertext-Bit initialisiert c E {+1, -1}. Die variablen Knoten VN senden die Nachrichten m v c = { c   w e n n | { c ' N ( v ) / c : m c ' v = c } | b ansonsten c

Figure DE102018200617A1_0048
An efficient binary MP decoder for LDPC codes, often referred to as Gallager B, has been presented and analyzed in Publication [21]. Each variable node VN v is initialized with the corresponding ciphertext bit c E {+1, -1}. The variable nodes VN send the messages m v c = { - c w e n n | { c ' N ( v ) / c : m c ' v = - c } | b otherwise c
Figure DE102018200617A1_0048

Dies bedeutet, dass die variablen Knoten VN v in der ersten Iteration die Nachricht mv→c = c an alle benachbarten Kontrollknoten CN c N ( v )

Figure DE102018200617A1_0049
senden. Die Kontrollknoten CN senden die Nachrichten m c v = v ' N ( c ) v m v ' c
Figure DE102018200617A1_0050
an die benachbarten variablen Knoten VN. Nach höchstens Imax Iterationen gemäß den Gleichungen (12) und (13) wird die endgültige Entscheidung getroffen durch c ^ = { c   w e n n | { m c v = c } | > b ansonsten c
Figure DE102018200617A1_0051
Algorithmus EThis means that the variable nodes VN v in the first iteration, the message m v → c = c to all adjacent control nodes CN c N ( v )
Figure DE102018200617A1_0049
send. The control nodes CN send the messages m c v = Π v ' N ( c ) v m v ' c
Figure DE102018200617A1_0050
to the adjacent variable nodes VN. After at most Imax iterations according to the equations (12) and (13) the final decision is taken by c ^ = { - c w e n n | { m c v = - c } | > b otherwise c
Figure DE102018200617A1_0051
Algorithm E

Eine Verallgemeinerung des Gallager B-Algorithmus, der Auslöschungen (sog. „erasures“) korrigieren kann und als Algorithmus E bezeichnet wird, wurde in den Publikationen [13] und [14] eingeführt und analysiert. Um Löschungen berücksichtigen zu können, benötigt der Dekodierer ein ternäres Nachrichtenalphabet {-1, 0, +1}, wobei 0 eine Auslöschung anzeigt. Die variablen Knoten VN werden mit dem entsprechenden Chiffretext-Bit c initialisiert und senden die Nachrichten m v c = s i g n [ ω c + c ' N ( v ) c m c ' v ]

Figure DE102018200617A1_0052
A generalization of the Gallager B algorithm, which can correct extinctions (so-called "erasures") and is called algorithm E, was introduced and analyzed in publications [13] and [14]. To account for erasures, the decoder requires a ternary message alphabet {-1, 0, +1}, where 0 indicates erasure. The variable nodes VN are initialized with the corresponding ciphertext bit c and send the messages m v c = s i G n [ ω c + Σ c ' N ( v ) c m c ' v ]
Figure DE102018200617A1_0052

Hier ist ω ein heuristischer Gewichtungsfaktor, der in der Publikation [14] vorgeschlagen wurde, um die Leistung des Algorithmus E zu verbessern. Im Weiteren wird der Fall betrachtet, in dem ω über alle Iterationen konstant gehalten wird. Die Prüfknoten arbeiten auf die gleiche Weise wie im Gallager B-Algorithmus, d.h. die Kontrollknoten CN senden die Nachrichten mc→v gemäß Gleichung (13). Nach höchstens Imax Iteration gemäß den Gleichungen (13) und (15) wird die endgültige Entscheidung gemäß c ^ = s i g n [ ω c + c N ( v ) m c v ]

Figure DE102018200617A1_0053
getroffen. Für ungerade dv und keinen Auslöschungen im Kanal entspricht der Algorithmus E dem Gallager B-Dekodieralgorithmus mit einer Schwelle von b = ω + d v 1 2 ,
Figure DE102018200617A1_0054
wodurch auch der Algorithmus E ist anfällig gegen den GJS-Angriff ist.Here, ω is a heuristic weighting factor proposed in Publication [14] to improve the performance of Algorithm E. In the following, the case is considered in which ω is kept constant over all iterations. The test nodes operate in the same way as in the Gallager B algorithm, ie the control nodes CN send the messages m c → v according to equation (13). After at most Imax iteration according to equations (13) and (15), the final decision according to c ^ = s i G n [ ω c + Σ c N ( v ) m c v ]
Figure DE102018200617A1_0053
met. For odd dv and no quenching in the channel, the algorithm E corresponds to the Gallager B decoding algorithm with a threshold of b = ω + d v - 1 2 .
Figure DE102018200617A1_0054
which also makes the algorithm E is vulnerable to the GJS attack.

Die Erfindung nutzt die vom Algorithmus E bekannten Auslöschungen, um einerseits die Fehlerkorrekturfähigkeit und andererseits eine erhöhte Anzahl an Fehlern dekodieren zu können. Dies kann bei der Nutzung von MDPC-Codes in einem kryptographischen System nach McEliece genutzt werden, um die Sicherheit zu erhöhen. In einem Kodierungssystem besteht die Möglichkeit, das Verfahren zur Dekodierung einer größeren Anzahl an Fehlern zu nutzen.The invention uses the deletions known from the algorithm E in order to be able to decode the error correction capability on the one hand and an increased number of errors on the other hand. This can be exploited when using MDPC codes in a McEliece cryptographic system to increase security. In a coding system, it is possible to use the method for decoding a larger number of errors.

Die 1, 2 und 3 zeigen die Simulationsergebnisse für einen Code aus C für den oben genannten BF-Algorithmus („BF decoding“), einen MF-Algorithmus (MF-1 decoding“) und den Algorithmus E („Algorithm E“). Die Figuren zeigen jeweils die Nachrichtenfehlerrate FER für einen bestimmten Simulationspunkt SP. In den Simulationsergebnissen sind jeweils 45 Simulationen enthalten, die in vier unterschiedliche Gruppen µ(h0) = 0, µ(h0) = 1, µ(h0) = 2 und µ(h0) = 3 unterteilt sind. Die vier Gruppen unterscheiden sind im Hinblick auf die für die Simulationen gewählte Struktur des Fehlermusters. Die für die unterschiedlichen Algorithmen gewählte Anzahl an Fehlern e ist in der Legende angegeben, wobei jeweils e = 100 gewählt wurde. Daneben sind in der Legende weitere, für den jeweiligen Algorithmus spezifische Parameter (MF-Dekodierungsalgorithmus gemäß 1: Wahrscheinlichkeiten p*, pdec; BF-Dekodierungsalgorithmus gemäß 2: δ; Algorithmus E gemäß 3: Gewichtungsfaktor ω) angegeben, die dem Fachmann bekannt sind.The 1 . 2 and 3 show the simulation results for a code from C for the above-mentioned BF algorithm ("BF decoding"), an MF algorithm (MF-1 decoding ") and the algorithm E (" Algorithm E "). The figures each show the message error rate FER for a particular simulation point SP. The simulation results contain 45 simulations, which are subdivided into four different groups μ (h 0 ) = 0, μ (h 0 ) = 1, μ (h 0 ) = 2 and μ (h 0 ) = 3. The four groups differ with respect to the structure of the error pattern chosen for the simulations. The number of errors e selected for the different algorithms is given in the legend, with e = 100 selected in each case. In addition, in the legend further, for the respective algorithm specific parameters (MF decoding algorithm according to 1 : Probabilities p *, p dec ; BF decoding algorithm according to 2 : δ; Algorithm E according to 3 : Weighting factor ω), which are known in the art.

Die Ergebnisse in den 1 bis 3 zeigen, dass mit Ausnahme des MF-Dekodierungsalgorithmus (1) alle betrachteten Schemata gegen GJS-Angriffe anfällig sind, da die Nachrichtenfehlerrate FER von der Klasse der Struktur des Fehlermusters abhängt. Für das MF-Dekodierungsschema in 1 wurde die Wahrscheinlichkeit p e ( l )

Figure DE102018200617A1_0055
so gewählt, dass die Nachrichtenfehlerrate FER für alle in dem Abstandsprofil D(ho) auftretenden Multiplizitäten ähnlich ist. Daher kann das Abstandsprofil D(ho) nicht rekonstruiert werden, wenn das MF-Dekodierungsschema mit der geeigneten Wahl von pe verwendet wird. Da Simulationen SP verschiedener Codes aus C sehr ähnliche Ergebnisse zeigen, wird vermutet, dass die Wahl von p e ( l )
Figure DE102018200617A1_0056
eher vom Codeensemble als vom Code C selbst abhängt.The results in the 1 to 3 show that with the exception of the MF decoding algorithm ( 1 ) all considered schemes are vulnerable to GJS attacks because the message error rate FER depends on the class of the structure of the error pattern. For the MF decoding scheme in 1 became the probability p e ( l )
Figure DE102018200617A1_0055
is chosen such that the message error rate FER is similar for all multiplicities occurring in the distance profile D (ho). Therefore, the distance profile D (ho) can not be reconstructed if the MF decoding scheme with the appropriate choice of p e is used. Since simulations of SP different codes from C show very similar results, it is believed that the choice of p e ( l )
Figure DE102018200617A1_0056
depends on the code ensemble rather than code C itself.

Die Erfindung nutzt modifizierte Message Passing (MP)-Dekodierungsalgorithmen, die Löschungen erlauben. Die Verfahren erlauben es, MP-Dekodierungsalgorithmen in einer probabilistischen Weise zu modifizieren, um sie für eine geeignete Wahl der Dekodierungsparameter gegen den GJS-Angriff widerstandsfähig zu machen.The invention utilizes modified message passing (MP) decoding algorithms that allow deletions. The methods allow for modifying MP decoding algorithms in a probabilistic manner to render them resistant to appropriate choice of decoding parameters against GJS attack.

Der Grundgedanke des erfindungsgemäßen Verfahrens ist, dass die von den variablen Knoten VN zu den Kontrollknoten CN (sog. VN-CN-Nachrichten) gesendeten Nachrichten bei jeder Iteration mit einer gegebenen Wahrscheinlichkeit modifiziert werden. Insbesondere erfolgt die Modifikation durch den MP-Dekodierer derart, dass die Nachrichten mv→c unter bestimmten Bedingungen mit einer gegebenen Wahrscheinlichkeit p e ( l )

Figure DE102018200617A1_0057
gelöscht (d.h. auf 0 (Null) gesetzt) werden. Dies führt gleichzeitig auch zu einer verbesserten Fehlerkorrekturfähigkeit.The basic idea of the method according to the invention is that the messages sent by the variable nodes VN to the control nodes CN (so-called VN-CN messages) are modified with a given probability each iteration. In particular, the modification by the MP decoder is such that the messages m v → c under certain conditions with a given probability p e ( l )
Figure DE102018200617A1_0057
deleted (ie to 0 (zero) set). At the same time, this also leads to an improved error correction capability.

Im den folgenden beiden Ausführungsbeispielen, die in den Figuren als REMP-1 (Random Erasure Message Passing-1) und REMP-2 (Random Erasure Message Passing-2) bezeichnet sind, wird dieses Verfahren genutzt, um den Algorithmus E zu modifizieren.In the following two embodiments, which are referred to in the figures as REMP-1 (Random Erasure Message Passing-1) and REMP-2 (Random Erasure Message Passing-2), this method is used to modify the algorithm E.

Gemäß einer ersten Variante (REMP-1) wird der Algorithmus E so modifiziert, dass jede Nicht-Null-Nachricht mv→c bei einer Iteration / mit einer Wahrscheinlichkeit p e ( l )

Figure DE102018200617A1_0058
gelöscht wird. An den variablen Knoten VN wird dabei zuerst eine temporäre Ausgabenachricht m ˜ v c = s i g n [ ω c + c ' N ( v ) c m c ' v ]
Figure DE102018200617A1_0059
berechnet.According to a first variant (REMP-1), the algorithm E is modified so that each non-zero message m v → c at one iteration / with a probability p e ( l )
Figure DE102018200617A1_0058
is deleted. At first, a temporary output message is sent to the variable node VN m ~ v c = s i G n [ ω c + Σ c ' N ( v ) c m c ' v ]
Figure DE102018200617A1_0059
calculated.

Wenn die Nachricht m̃v→c keine Löschung enthält, d.h. wenn m̃v→c ≠ 0, dann sendet der variable Knoten VN m v c = { m ˜ c v m i t   d e r   W a h r s c h e i n l i c h k e i t   1   p e ( l ) 0   m i t  d e r   W a h r s c h e i n l i c h k e i t p e ( l )

Figure DE102018200617A1_0060
und mv→c = 0 sonst. Bei den Kontrollknoten CN wird die gleiche Operation wie im Algorithmus E durchgeführt (siehe Gleichung (13)). Die endgültige Entscheidung nach höchstens Imax Iterationen der Gleichungen (13) und (16) wird durch Gleichung (18) getroffen.If the message m v → c contains no deletion, ie if m v → c ≠ 0, then the variable node sends VN m v c = { m ~ c v m i t d e r W a H r s c H e i n l i c H k e i t 1 - p e ( l ) 0 m i t d e r W a H r s c H e i n l i c H k e i t p e ( l )
Figure DE102018200617A1_0060
and m v → c = 0 else. At the control nodes CN, the same operation as in the algorithm E is performed (see Equation (13)). The final decision on at most Imax iterations of equations (13) and (16) is made by equation (18).

Gemäß der zweiten Variante (REMP-2) erfolgt eine Modifikation von Algorithmus E derart, dass die Nachrichten mv→c bei der Iteration 1 mit einer Wahrscheinlichkeit p e ( l )

Figure DE102018200617A1_0061
gelöscht werden (d.h. auf einen Wert gemäß mv→c = 0 gesetzt werden), wenn sie nicht dem entsprechenden Chiffriertext-Bit c entsprechen. Bei den variablen Knoten VN wird zuerst eine temporäre Ausgabenachricht gemäß m ˜ v c = s i g n [ ω c + c ' N ( v ) c m c ' v ]
Figure DE102018200617A1_0062
berechnet. Wenn die Nachricht m̃v→c nicht dem Chiffriertext-Bit c entspricht, d.h. wenn Gleichung m̃v→c = -c erhalten wird, sendet der variable Knoten VN m v c = { m ˜ c v mit der Whrscheinlichkeit  1   p e ( l ) 0  mit der Wahrscheinlichkeit p e ( l )
Figure DE102018200617A1_0063
und andernfalls mv→c = m̃c→v. An den Kontrollknoten CN wird die gleiche Operation wie im Algorithmus E gemäß Gleichung (13) durchgeführt. Die endgültige Entscheidung nach höchstens Imax Iterationen der Gleichungen (13) und (17) erfolgt gemäß c ^ = s i g n [ ω c + c N ( v ) m c v ]
Figure DE102018200617A1_0064
According to the second variant (REMP-2), a modification of algorithm E takes place such that the messages m v → c in the iteration 1 with a probability p e ( l )
Figure DE102018200617A1_0061
be cleared (ie set to a value according to m v → c = 0) if they do not correspond to the corresponding ciphertext bit c. At the variable nodes VN, a temporary output message is first determined according to m ~ v c = s i G n [ ω c + Σ c ' N ( v ) c m c ' v ]
Figure DE102018200617A1_0062
calculated. If the message m v → c does not correspond to the ciphertext bit c, ie if equation m v → c = -c is obtained, the variable node sends VN m v c = { m ~ c v with the probability 1 - p e ( l ) 0 with the probability p e ( l )
Figure DE102018200617A1_0063
and otherwise m v → c = m c → v . At the control node CN, the same operation as in the algorithm E according to equation (13) is performed. The final decision on at most Imax iterations of equations (13) and (17) is made in accordance with c ^ = s i G n [ ω c + Σ c N ( v ) m c v ]
Figure DE102018200617A1_0064

Die Wahrscheinlichkeit p e ( l )

Figure DE102018200617A1_0065
kann wieder verringert werden, wenn l ansteigt.The probability p e ( l )
Figure DE102018200617A1_0065
can be reduced again as l increases.

Das erfindungsgemäße Vorgehen kann analog auf den BP-Algorithmus übertragen werden.The procedure according to the invention can be transferred analogously to the BP algorithm.

In den 4 und 5 ist die Widerstandsfähigkeit der vorgeschlagenen Dekodierungsschemata gegen den GJS-Angriff erkennbar, wobei REMP-1 (4) und REMP-2 (5) die erste und zweite Variante der Modifikation des Algorithmus E („Algorithm E“) bezeichnen. Die 4 und zeigen wieder jeweils die Nachrichtenfehlerrate FER für einen bestimmten Simulationspunkt SP. In den Simulationsergebnissen sind jeweils 45 Simulationen enthalten, die in die vier unterschiedliche Gruppen µ(h0) = 0, µ(h0) = 1, µ(h0) = 2 und µ(h0) = 3 unterteilt sind, die sich im Hinblick auf die für die Simulationen gewählte Struktur des Fehlermusters unterscheiden.In the 4 and 5 the resistance of the proposed decoding schemes against the GJS attack is evident, with REMP-1 ( 4 ) and REMP-2 ( 5 ) designate the first and second variants of the modification of the algorithm E ("Algorithm E"). The 4 and again show the message error rate FER for a particular simulation point SP. The simulation results contain 45 simulations, which are subdivided into the four different groups μ (h 0 ) = 0, μ (h 0 ) = 1, μ (h 0 ) = 2 and μ (h 0 ) = 3, the differ with regard to the structure of the error pattern chosen for the simulations.

Die für die Algorithmen REMP-1 und REMP-2 gewählte Anzahl an Fehlern e ist in der Legende angegeben, wobei für den Algorithmus REMP-1 e = 100 und für den Algorithmus REMP-2 e = 106 gewählt wurde. Daneben sind in der Legende weitere, für den jeweiligen Algorithmus REMP-1 und REMP-2 sowie den Vergleichsalgorithmus E („Algorithm E“) spezifische Parameter angegeben. Die Wahrscheinlichkeiten pe sind für die Algorithmen REMP-1 und REMP-2 unterschiedlich gewählt worden, wobei der Gewichtungsfaktor ω gleich ist. Die Werte und Simulationspunkte des Vergleichsalgorithmus E entsprechen denen aus 3.The number of errors e selected for the algorithms REMP-1 and REMP-2 is given in the legend, with the algorithm REMP-1 e = 100 and the algorithm REMP-2 e = 106. In addition, the legend specifies further parameters specific to the respective algorithm REMP-1 and REMP-2 as well as the comparison algorithm E ("Algorithm E"). The probabilities p e have been chosen differently for the algorithms REMP-1 and REMP-2, wherein the weighting factor ω is equal. The values and simulation points of the comparison algorithm E correspond to those of 3 ,

Für die die Algorithmen REMP-1 und REMP-2 wurden Monte-Carlo-Simulationen für zufällig ausgewählte C-Codes durchgeführt, die bis zu 200 Dekodierungsfehler (Nachrichtenfehler) mit Imax = 50 Iterationen erzeugt haben. Für jede Multiplizität in µ(h0) wurden 11 verschiedene Fehlersätze d (Simulationspunkte SP) simuliert. Die Simulationsergebnisse in den 4 und 5 zeigen, dass die REMP-1- und REMP-2-Dekodierungsschemata für eine geeignete Parameterwahl eine ähnliche Nachrichtenfehlerrate FER für alle auftretenden Multiplizitäten µ(h0) aufweisen. Daher ist die Rekonstruktion des Abstandsprofils D(ho) von der beobachteten FER nicht möglich.For the algorithms REMP-1 and REMP-2, Monte Carlo simulations were performed for randomly chosen C codes that produced up to 200 decoding errors (message errors) with Imax = 50 iterations. For each multiplicity in μ (h 0 ), 11 different error rates d (simulation points SP) were simulated. The simulation results in the 4 and 5 show that the REMP-1 and REMP-2 decoding schemes are suitable for a Parameter selection have a similar message error rate FER for all occurring multiplicities μ (h 0 ). Therefore, reconstruction of the distance profile D (ho) from the observed FER is not possible.

Für die Wahl der Parameter, die den geheimen Schlüssel verbergen, ist die Nachrichtenfehlerrate FER der REMP-2-Dekodierung bei einem Fehlergewicht e = 106 etwas schlechter als bei der REMP-1-Dekodierung bei einem Fehlergewicht e = 100. Aufgrund des möglichen höheren Fehlergewichts erscheint die zweite Variante (REMP-2) gegenüber der ersten Variante (REMP-1) verbessert zu sein.For the choice of the parameters hiding the secret key, the message error rate FER of the REMP-2 decoding is slightly worse with an error weight e = 106 than with the REMP-1 decoding with an error weight e = 100. Because of the possible higher error weight the second variant (REMP-2) appears to be improved compared to the first variant (REMP-1).

Um die Struktur von H(X) zu verbergen, ist die Wahl des Wahrscheinlichkeitswerts p e ( l )

Figure DE102018200617A1_0066
für ein bestimmtes Fehlergewicht e entscheidend. Wenn der Wahrscheinlichkeitswert p e ( l )
Figure DE102018200617A1_0067
zu groß gewählt wird, dreht sich das Bild um, d.h. höhere Multiplizitäten haben eine höhere Nachrichtenfehlerrate FER als niedrigere Multiplizitäten. Daher sollte das Fehlergewicht e nach dem Dekodieren berechnet werden, und Verschlüsselungen, die mit einem anderen Fehlergewicht als e erzeugt wurden, sollten zurückgewiesen werden, um Angriffe zu verhindern, die diesen Effekt ausnutzen.To hide the structure of H (X) is the choice of the probability value p e ( l )
Figure DE102018200617A1_0066
decisive for a certain error weight e. If the probability value p e ( l )
Figure DE102018200617A1_0067
is too large, the picture turns around, ie higher multiplicities have a higher message error rate FER than lower multiplicities. Therefore, the error weight e should be calculated after decoding, and encryptions generated with a different error weight than e should be rejected to prevent attacks that exploit this effect.

6 zeigt ein Diagramm, das die Nachrichtenfehlerrate FER in Abhängigkeit des Gewichts des Fehlermusters WEP für verschiedene MP-Dekodierverfahren im Vergleich zeigt. Es ist ohne weiteres ersichtlich, dass die erfindungsgemäßen Verfahren (wieder mit REMP-1 und REMP-2 bezeichnet) gegenüber den bekannten Hard-Decision-Dekodierern eine erhöhte Effizienz aufweisen. Bei einer Nachrichtenfehlerrate FER von 10-2 beträgt das Gewicht des Fehlermusters WEP für den Algorithmus E (Alg. E) 97, während die erfindungsgemäßen Dekodierverfahren REMP-1 und REMP-2 ein Fehlermustergewicht WEP von 102 erreichen. 6 FIG. 12 is a graph comparing the message error rate FER versus the weight of the error pattern WEP for various MP decoding methods. It is readily apparent that the methods of the present invention (again referred to as REMP-1 and REMP-2) have increased efficiency over the known hard-decision decoders. At a message error rate FER of 10 -2 , the weight of the error pattern WEP for the algorithm E (Alg. E) is 97, while the inventive decoding methods REMP-1 and REMP-2 reach an error pattern weight WEP of 102.

7 zeigt einen erfindungsgemäßen Dekodierer DEC, dem an einem Eingang der Chiffretext c zugeführt wird. Der Dekodierer DEC ist dazu ausgebildet, das oben beschriebene Verfahren (REMP-1 und/oder REMP-2) auszuführen. An einem Ausgang des Dekodierers wird die entschlüsselte Nachricht ĉ ≈mG erhalten. 7 shows a decoder DEC according to the invention, which is supplied to an input of the ciphertext c. The decoder DEC is configured to execute the method described above (REMP-1 and / or REMP-2). At an output of the decoder the decrypted message ĉ ≈mG is obtained.

Publikationenpublications

  • [1] Robert J. McEliece, „A Public-Key Cryptosystem based on Algebraic Coding Theory“ DSN Progress Report, Bd. 4244 (1978), S. 114-116 .[1] Robert J. McEliece, "A Public-Key Cryptosystem based on Algebraic Coding Theory," DSN Progress Report, Vol. 4244 (1978), pp. 114-116 ,
  • [2] E. R. Berlekamp, R. J. McEliece, and H. C. A. Van Tilborg, „On the Inherent Intractability of Certain Coding Problems,“ IEEE Transactions on Information Theory, Bd. 24, Nr. 3, S. 384-386, Mai 1978 .[2] HE Berlekamp, RJ McEliece, and HCA Van Tilborg, "On the Inherent Intractability of Certain Coding Problems," IEEE Transactions on Information Theory, Vol. 24, No. 3, pp. 384-386, May 1978 ,
  • [3] K. Kobara and H. Imai, „Semantically Secure McEliece Public-Key Cryptosystems-Conversions for McEliece PKC,“ in Public Key Cryptography, Bd. 1992, Springer, 2001, S. 19-35 .[3] K. Kobara and H. Imai, "Semantically Secure McEliece Public-Key Cryptosystems Conversions for McEliece PKC," in Public Key Cryptography, Vol. 1992, Springer, 2001, pp. 19-35 ,
  • [4] R. L. Rivest, A. Shamir, and L. Adleman, „A Method for Obtaining Digital Signatures and Public-Key Cryptosystems“, Communications on the ACM, Bd. 21, Nr. 2, S. 120-126, 1978 .[4] RL Rivest, A. Shamir, and L. Adleman, "A Method for Obtaining Digital Signatures and Public-Key Cryptosystems", Communications on the ACM, Vol. 21, No. 2, pp. 120-126, 1978 ,
  • [5] P. W. Shor, „Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer,“ SIAM review, Bd. 41, Nr. 2, S. 303-332, 1999 .[5] PW Shor, "Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer," SIAM review, Vol. 41, No. 2, pp. 303-332, 1999 ,
  • [6] T. P. Berger, P.-L. Cayrel, P. Gaborit, and A. Otmani, „Reducing key length of the McEliece cryptosystem.“ AfricaCrypt, Bd. 5580, S. 77-97, 2009 .[6] TP Berger, P.-L. Cayrel, P. Gaborit, and A. Otmani, "Reducing key length of the McEliece cryptosystem." Africa Crypt, Vol. 5580, pp. 77-97, 2009 ,
  • [7] P. Gaborit, „Shorter Keys for Code Based Cryptography,“ in Proceedings of the 2005 International Workshop on Coding and Cryptography (WCC 2005), 2005, S. 81-91 .[7] P. Gaborit, "Shorter Keys for Code Based Cryptography," in Proceedings of the 2005 International Workshop on Coding and Cryptography (WCC 2005), 2005, pp. 81-91 ,
  • [8] C. Monico, J. Rosenthal, and A. Shokrollahi, „Using Low Density Parity Check Codes in the McEliece Cryptosystem,“ in Information Theory, 2000. Proceedings. IEEE International Symposium on. IEEE, 2000, S. 215 .[8th] C. Monico, J. Rosenthal, and A. Shokrollahi, "Using Low Density Parity Check Codes in the McEliece Cryptosystem," in Information Theory, 2000. Proceedings. IEEE International Symposium on. IEEE, 2000, p. 215 ,
  • [9] M. Baldi, F. Chiaraluce, R. Garello, and F. Mininni, „Quasi-Cyclic Low-Density Parity-Check Codes in the McEliece Cryptosystem,“ in IEEE International Conference on Communications (ICC), 2007. IEEE, 2007, S. 951-956 .[9] M. Baldi, F. Chiaraluce, R. Garello, and F. Mininni, "Quasi-Cyclic Low-Density Parity Check Codes in the McEliece Cryptosystem," in the IEEE International Conference on Communications (ICC), 2007. IEEE, 2007, Pp. 951-956 ,
  • [10] R. Misoczki, J.-P. Tillich, N. Sendrier, and P. S. Barreto, „MDPC-McEliece: New McEliece Variants from Moderate Density Parity-Check Codes,“ in IEEE International Symposium on Information Theory (ISIT). IEEE, 2013, S. 2069-2073 .[10] R. Misoczki, J.-P. Tillich, N. Sendrier, and PS Barreto, "MDPC-McEliece: New McEliece Variants from Moderate Density Parity Check Codes," in the IEEE International Symposium on Information Theory (ISIT). IEEE, 2013, pp. 2069-2073 ,
  • [12] Q. Guo, T. Johansson, and P. Stankovski, „A Key Recovery Attack on MDPC with CCA Security Using Dekoding Errors,“ in Advances in Cryptology-ASIA-CRYPT 2016: 22nd International Conference on the Theory and Application of Cryptology and Information Security, Hanoi, Vietnam, December 4-8, 2016, Proceedings, Part I, 22. Springer, 2016, pp. 789-815 .[12] Q. Guo, T. Johansson, and P. Stankovski, "A Key Recovery Attack on MDPC with CCA Security Using Decoding Errors," in Advances in Cryptology-ASIA-CRYPT 2016: 22nd International Conference on the Theory and Application of Cryptology and Information Security, Hanoi, Vietnam, December 4-8, 2016, Proceedings, Part I, 22nd Springer, 2016, pp. 789-815 ,
  • [13] N. Miladinovic and M. P. Fossorier, „Improved Bit-Flipping Dekoding of Low-Density Parity-Check Codes,“ IEEE Transactions on Information Theory, vol. 51, no. 4, pp. 1594-1606, 2005 .[13] N. Miladinovic and MP Fossorier, "Improved Bit-Flipping Dekoding of Low-Density Parity-Check Codes," IEEE Transactions on Information Theory, vol. 51, no. 4, pp. 1594-1606, 2005 ,
  • [14] T. Richardson and R. Urbanke, „The capacity of low-density parity-check codes under message-passing decoding“, IEEE Trans. Inf. Theory, Bd. 47, Nr. 2, S. 599-618, Feb. 2001 .[14] T. Richardson and R. Urbanke, "The capacity of low-density parity-check codes under message passing decoding," IEEE Trans. Inf. Theory, Vol. 47, No. 2, pp. 599-618, Feb. 2001 ,
  • [15] N. Sendrier, „Code-Based Cryptography: State of the Art and Perspectives,“ IEEE Security & Privacy, vol. 15, no. 4, pp. 44-50, Aug. 2017 [15] N. Sendrier, "Code-Based Cryptography: State of the Art and Perspectives," IEEE Security & Privacy, vol. 15, no. 4, pp. 44-50, Aug. 2017
  • [16] C. Lee, „Some Properties of Nonbinary Error-Correcting Codes,“ IRE Transactions on Information Theory, vol. 4, no. 2, pp. 77-82, Jun. 1958 .[16] C. Lee, "Some Properties of Nonbinary Error-Correcting Codes," IRE Transactions on Information Theory, vol. 4, no. 2, pp. 77-82, Jun. 1958 ,
  • [17] T. Fabsic, V. Hromada, P. Stankovski, P. Zajac, Q. Guo, and T. Johansson, „A Reaction Attack on the QC-LDPC McEliece Cryptosystem,“ in International Workshop on Post-Quantum Cryptography, 2017, pp. 51-68 .[17] T. Fabsic, V. Hromada, P. Stankovski, P. Zajac, Q. Guo, and T. Johansson, "A Reaction Attack on the QC-LDPC McEliece Cryptosystem," in International Workshop on Post-Quantum Cryptography, 2017, pp , 51-68 ,
  • [18] P. S. L. M. Barreto, S. Gueron, T. G ueneysu, R. Misoczki, E. Persichetti, N. Sendrier, and J.-P. Tillich, „CAKE: Code-Based Algorithm for Key Encapsulation,“ Cryptology ePrint Archive, Report 2017/757, 2017, http://eprint.iacr.org/2017/757 .[18] PSLM Barreto, S. Gueron, T. G ueneysu, R. Misoczki, E. Persichetti, N. Sendrier, and J.-P. Tillich, "CAKE: Code-Based Algorithms for Key Encapsulation," Cryptology ePrint Archive, Report 2017/757, 2017, http://eprint.iacr.org/2017/757 ,
  • [19] M. Tanner, „A recursive approach to low complexity codes,“ IEEE Trans. Inf. Theory, vol. 27, no. 5, pp. 533-547, Sep. 1981 [19] M. Tanner, "A recursive approach to low-complexity codes," IEEE Trans. Inf. Theory, vol. 27, no. 5, pp. 533-547, Sep. 1981
  • [20] W. Ryan and S. Lin, Channel codes - Classical and modern. New York, NY, USA: Cambridge University Press, 2009 [20] W. Ryan and S. Lin, Channel codes - Classical and modern. New York, NY, USA: Cambridge University Press, 2009
  • [21] R. Gallager, Low-density parity-check codes. Cambridge, MA, USA: MIT Press, 1963 [21] R. Gallager, low density parity check codes. Cambridge, MA, USA: MIT Press, 1963

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte Nicht-PatentliteraturCited non-patent literature

  • Robert J. McEliece, „A Public-Key Cryptosystem based on Algebraic Coding Theory“ DSN Progress Report, Bd. 4244 (1978), S. 114-116 [0077]Robert J. McEliece, "A Public-Key Cryptosystem Based on Algebraic Coding Theory" DSN Progress Report, Vol. 4244 (1978), pp. 114-116 [0077]
  • E. R. Berlekamp, R. J. McEliece, and H. C. A. Van Tilborg, „On the Inherent Intractability of Certain Coding Problems,“ IEEE Transactions on Information Theory, Bd. 24, Nr. 3, S. 384-386, Mai 1978 [0077]E.R. Berlekamp, R.J. McEliece, and H.C.A. Van Tilborg, "On the Inherent Intractability of Certain Coding Issues," IEEE Transactions on Information Theory, Vol. 24, No. 3, pp. 384-386, May 1978 [0077]
  • K. Kobara and H. Imai, „Semantically Secure McEliece Public-Key Cryptosystems-Conversions for McEliece PKC,“ in Public Key Cryptography, Bd. 1992, Springer, 2001, S. 19-35 [0077]K. Kobara and H. Imai, "Semantically Secure McEliece Public-Key Cryptosystems Conversions for McEliece PKC," in Public Key Cryptography, Vol. 1992, Springer, 2001, pp. 19-35. [0077]
  • R. L. Rivest, A. Shamir, and L. Adleman, „A Method for Obtaining Digital Signatures and Public-Key Cryptosystems“, Communications on the ACM, Bd. 21, Nr. 2, S. 120-126, 1978 [0077]R.L. Rivest, A. Shamir, and L. Adleman, "A Method for Obtaining Digital Signatures and Public-Key Cryptosystems", Communications on the ACM, Vol. 21, No. 2, pp. 120-126, 1978 [0077]
  • P. W. Shor, „Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer,“ SIAM review, Bd. 41, Nr. 2, S. 303-332, 1999 [0077]P.W. Shor, "Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on Quantum Computer," SIAM review, Vol. 41, No. 2, pp. 303-332, 1999 [0077]
  • T. P. Berger, P.-L. Cayrel, P. Gaborit, and A. Otmani, „Reducing key length of the McEliece cryptosystem.“ AfricaCrypt, Bd. 5580, S. 77-97, 2009 [0077]T.P. Berger, P.-L. Cayrel, P. Gaborit, and A. Otmani, "Reducing key length of the McEliece cryptosystem." Africa Crypt, Vol. 5580, pp. 77-97, 2009 [0077]
  • P. Gaborit, „Shorter Keys for Code Based Cryptography,“ in Proceedings of the 2005 International Workshop on Coding and Cryptography (WCC 2005), 2005, S. 81-91 [0077]P. Gaborit, "Shorter Keys for Code Based Cryptography," in Proceedings of the 2005 International Workshop on Coding and Cryptography (WCC 2005), 2005, pp. 81-91 [0077]
  • C. Monico, J. Rosenthal, and A. Shokrollahi, „Using Low Density Parity Check Codes in the McEliece Cryptosystem,“ in Information Theory, 2000. Proceedings. IEEE International Symposium on. IEEE, 2000, S. 215 [0077]C. Monico, J. Rosenthal, and A. Shokrollahi, "Using Low Density Parity Check Codes in the McEliece Cryptosystem," in Information Theory, 2000. Proceedings. IEEE International Symposium on. IEEE, 2000, p. 215 [0077]
  • M. Baldi, F. Chiaraluce, R. Garello, and F. Mininni, „Quasi-Cyclic Low-Density Parity-Check Codes in the McEliece Cryptosystem,“ in IEEE International Conference on Communications (ICC), 2007. IEEE, 2007, S. 951-956 [0077]M. Baldi, F. Chiaraluce, R. Garello, and F. Mininni, "Quasi-Cyclic Low-Density Parity Check Codes in the McEliece Cryptosystem," in the IEEE International Conference on Communications (ICC), 2007. IEEE, 2007, Pp. 951-956 [0077]
  • R. Misoczki, J.-P. Tillich, N. Sendrier, and P. S. Barreto, „MDPC-McEliece: New McEliece Variants from Moderate Density Parity-Check Codes,“ in IEEE International Symposium on Information Theory (ISIT). IEEE, 2013, S. 2069-2073 [0077]R. Misoczki, J.-P. Tillich, N. Sendrier, and P.S. Barreto, "MDPC-McEliece: New McEliece Variants from Moderate Density Parity Check Codes," in the IEEE International Symposium on Information Theory (ISIT). IEEE, 2013, pp. 2069-2073 [0077]
  • Q. Guo, T. Johansson, and P. Stankovski, „A Key Recovery Attack on MDPC with CCA Security Using Dekoding Errors,“ in Advances in Cryptology-ASIA-CRYPT 2016: 22nd International Conference on the Theory and Application of Cryptology and Information Security, Hanoi, Vietnam, December 4-8, 2016, Proceedings, Part I, 22. Springer, 2016, pp. 789-815 [0077]Q. Guo, T. Johansson, and P. Stankovski, "A Key Recovery Attack on MDPC with CCA Security Using Decoding Errors," in Advances in Cryptology-ASIA-CRYPT 2016: 22nd International Conference on the Theory and Application of Cryptology and Information Security, Hanoi, Vietnam, December 4-8, 2016, Proceedings, Part I, 22nd Springer, 2016, pp. 789-815 [0077]
  • N. Miladinovic and M. P. Fossorier, „Improved Bit-Flipping Dekoding of Low-Density Parity-Check Codes,“ IEEE Transactions on Information Theory, vol. 51, no. 4, pp. 1594-1606, 2005 [0077]N. Miladinovic and M. P. Fossorier, "Improved Bit-Flipping Decoding of Low-Density Parity-Check Codes," IEEE Transactions on Information Theory, vol. 51, no. 4, pp. 1594-1606, 2005 [0077]
  • T. Richardson and R. Urbanke, „The capacity of low-density parity-check codes under message-passing decoding“, IEEE Trans. Inf. Theory, Bd. 47, Nr. 2, S. 599-618, Feb. 2001 [0077]T. Richardson and R. Urbanke, "The capacity of low-density parity-check codes under message passing decoding," IEEE Trans. Inf. Theory, Vol. 47, No. 2, pp. 599-618, Feb. 2001 [0077]
  • N. Sendrier, „Code-Based Cryptography: State of the Art and Perspectives,“ IEEE Security & Privacy, vol. 15, no. 4, pp. 44-50, Aug. 2017 [0077]N. Sendrier, "Code-Based Cryptography: State of the Art and Perspectives," IEEE Security & Privacy, vol. 15, no. 4, pp. 44-50, Aug. 2017 [0077]
  • C. Lee, „Some Properties of Nonbinary Error-Correcting Codes,“ IRE Transactions on Information Theory, vol. 4, no. 2, pp. 77-82, Jun. 1958 [0077]C. Lee, "Some Properties of Nonbinary Error-Correcting Codes," IRE Transactions on Information Theory, vol. 4, no. 2, pp. 77-82, Jun. 1958 [0077]
  • T. Fabsic, V. Hromada, P. Stankovski, P. Zajac, Q. Guo, and T. Johansson, „A Reaction Attack on the QC-LDPC McEliece Cryptosystem,“ in International Workshop on Post-Quantum Cryptography, 2017, pp. 51-68 [0077]T. Fabsic, V. Hromada, P. Stankovski, P. Zajac, Q. Guo, and T. Johansson, "A Reaction Attack on the QC-LDPC McEliece Cryptosystem," in International Workshop on Post-Quantum Cryptography, 2017, pp , 51-68 [0077]
  • P. S. L. M. Barreto, S. Gueron, T. G ueneysu, R. Misoczki, E. Persichetti, N. Sendrier, and J.-P. Tillich, „CAKE: Code-Based Algorithm for Key Encapsulation,“ Cryptology ePrint Archive, Report 2017/757, 2017, http://eprint.iacr.org/2017/757 [0077]P.S.L.M. Barreto, S. Gueron, T. G ueneysu, R. Misoczki, E. Persichetti, N. Sendrier, and J.-P. Tillich, "CAKE: Code-Based Algorithms for Key Encapsulation," Cryptology ePrint Archive, Report 2017/757, 2017, http://eprint.iacr.org/2017/757 [0077]
  • M. Tanner, „A recursive approach to low complexity codes,“ IEEE Trans. Inf. Theory, vol. 27, no. 5, pp. 533-547, Sep. 1981 [0077]M. Tanner, "A recursive approach to low-complexity codes," IEEE Trans. Inf. Theory, vol. 27, no. 5, pp. 533-547, Sep. 1981 [0077]
  • W. Ryan and S. Lin, Channel codes - Classical and modern. New York, NY, USA: Cambridge University Press, 2009 [0077]W. Ryan and S. Lin, Channel codes - Classical and modern. New York, NY, USA: Cambridge University Press, 2009 [0077]
  • R. Gallager, Low-density parity-check codes. Cambridge, MA, USA: MIT Press, 1963 [0077]R. Gallager, low density parity check codes. Cambridge, MA, USA: MIT Press, 1963 [0077]

Claims (17)

Verfahren zum Dekodieren einer Nachricht, insbesondere einer mit einem öffentlichen Schlüssel verschlüsselten Nachricht eines asymmetrischen kryptographischen Systems, unter Nutzung eines graphbasierten Message Passing (MP)-Algorithmus' mit variablen Knoten und Kontrollknoten, die durch Kanten verbunden sind, wobei zur Dekodierung der Nachricht entlang der Kanten iterativ Nachrichten von den variablen Knoten zu den Kontrollknoten und Nachrichten von den Kontrollknoten zu den variablen Knoten gesendet werden, dadurch gekennzeichnet, dass die Nachrichten von den variablen Knoten zu den Kontrollknoten mit einer vorgegebenen Wahrscheinlichkeit modifiziert werden.A method for decoding a message, in particular a public key encrypted message of an asymmetric cryptographic system, using a variable-node graph-based message passing (MP) algorithm and control nodes connected by edges, wherein for decoding the message along the Edges iteratively send messages from the variable nodes to the control nodes and messages from the control nodes to the variable nodes, characterized in that the messages from the variable nodes to the control nodes are modified with a predetermined probability. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass durch den MP-Algorithmus ein ternäres Nachrichtenalphabet {-1, 0, +1} verwendet wird, wobei 0 eine Auslöschung anzeigt, und die Modifikation ein Auslöschen der Nachrichten von den variablen Knoten zu den Kontrollknoten umfasst.Method according to Claim 1 , Characterized in that is used by the MP algorithm, a ternary message alphabet {-1, 0, +1}, where 0 an erasure indicating and the modification comprises a canceling of the messages from the variable nodes to the check nodes. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Modifikation der Nachricht von den variablen Knoten zu den Kontrollknoten unabhängig vom Wert des Chiffretext-Bit c E {+1, -1} erfolgt.Method according to Claim 1 or 2 , characterized in that the modification of the message from the variable nodes to the control nodes is independent of the value of the ciphertext bit c E {+1, -1}. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass an den variablen Knoten zuerst eine temporäre Ausgabenachricht m ˜ v c = s i g n [ ω c + c ' N ( v ) c m c ' v ]
Figure DE102018200617A1_0068
berechnet wird, wobei c das Chiffretext-Bit, ω ein heuristischer Gewichtungsfaktor, mc'→v die zweiten Nachrichten und N ( v )
Figure DE102018200617A1_0069
die Nachbarschaftsknoten des variablen Knoten v sind.
Method according to Claim 3 , characterized in that at the variable node first a temporary output message m ~ v c = s i G n [ ω c + Σ c ' N ( v ) c m c ' v ]
Figure DE102018200617A1_0068
where c is the ciphertext bit, ω is a heuristic weighting factor, m c '→ v is the second message and N ( v )
Figure DE102018200617A1_0069
are the neighborhood nodes of the variable node v.
Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass dann, wenn die temporäre Ausgabenachricht m̃v→c keine Löschung enthält, die variablen Knoten als Nachricht m v c = { m ˜ c v m i t   d e r   W a h r s c h e i n l i c h k e i t   1   p e ( l ) 0   m i t   d e r   W a h r s c h e i n l i c h k e i t p e ( l )
Figure DE102018200617A1_0070
senden und ansonsten mv→c = 0 als erste Nachrichten senden.
Method according to Claim 4 , characterized in that, if the temporary output message m v → c contains no deletion, the variable nodes as a message m v c = { m ~ c v m i t d e r W a H r s c H e i n l i c H k e i t 1 - p e ( l ) 0 m i t d e r W a H r s c H e i n l i c H k e i t p e ( l )
Figure DE102018200617A1_0070
send and otherwise send m v → c = 0 as the first messages.
Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Nachrichten mv→c von den variablen Knoten zu den Kontrollknoten bei der Iteration 1 mit der vorgegebenen Wahrscheinlichkeit p e ( l )
Figure DE102018200617A1_0071
gelöscht werden, wenn sie nicht dem entsprechenden Chiffriertext-Bit c entsprechen.
Method according to Claim 1 or 2 , characterized in that the messages m v → c from the variable nodes to the control nodes in the iteration 1 with the predetermined probability p e ( l )
Figure DE102018200617A1_0071
be deleted if they do not correspond to the corresponding ciphertext bit c.
Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass an den variablen Knoten zuerst eine temporäre Ausgabenachricht gemäß m ˜ v c = s i g n [ ω c + c ' N ( v ) c m c ' v ]
Figure DE102018200617A1_0072
berechnet wird, wobei c das Chiffretext-Bit, ω ein heuristischer Gewichtungsfaktor, mc'→v die zweiten Nachrichten und N ( v )
Figure DE102018200617A1_0073
die Nachbarschaftsknoten des variablen Knoten v sind.
Method according to Claim 6 , characterized in that at the variable node first a temporary output message according to m ~ v c = s i G n [ ω c + Σ c ' N ( v ) c m c ' v ]
Figure DE102018200617A1_0072
where c is the ciphertext bit, ω is a heuristic weighting factor, m c '→ v is the second message and N ( v )
Figure DE102018200617A1_0073
are the neighborhood nodes of the variable node v.
Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass die variablen Knoten, wenn die temporäre Ausgabenachricht m̃v→c nicht dem Chiffriertext-Bit c entspricht, als Nachricht m v c = { m ˜ c v mit der Wahrscheinlichkeit 1 p e ( l ) 0  mit der Wahrscheinlichkeit p e ( l )
Figure DE102018200617A1_0074
und andernfalls mv→c = m̃c→v als Nachrichten senden.
Method according to Claim 7 , characterized in that the variable nodes, if the temporary output message m v → c does not correspond to the ciphertext bit c, as a message m v c = { m ~ c v with the probability 1 - p e ( l ) 0 with the probability p e ( l )
Figure DE102018200617A1_0074
and otherwise send m v → c = m c → v as messages.
Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Kontrollknoten die Nachrichten m c v = v ' N ( c ) v m v ' c
Figure DE102018200617A1_0075
an die benachbarten variablen Knoten senden, wobei mv'→c erste Nachrichten und N ( c )
Figure DE102018200617A1_0076
die Nachbarschaftsknoten des Kontrollknotens c sind.
Method according to one of the preceding claims, characterized in that the control nodes receive the messages m c v = Π v ' N ( c ) v m v ' c
Figure DE102018200617A1_0075
to the adjacent variable nodes, where m v '→ c first messages and N ( c )
Figure DE102018200617A1_0076
are the neighborhood nodes of control node c.
Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass eine endgültige Entscheidung für den Wert des Chiffretext-Bits ĉ des variablen Knotens nach einer Anzahl an vorgegebenen Iterationen getroffen wird gemäß c ^ = s i g n [ ω c + c N ( v ) m c v ] .
Figure DE102018200617A1_0077
Method according to one of the preceding claims, characterized in that a final decision is made for the value of the ciphertext bit ĉ of the variable node after a number of predetermined iterations according to c ^ = s i G n [ ω c + Σ c N ( v ) m c v ] ,
Figure DE102018200617A1_0077
Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass jeder variable Knoten VN mit einem Chiffretext-Bit c E {+1, -1} initialisiert wird und in der ersten Iteration als erste Nachricht mv→c = c an alle benachbarten Kontrollknoten c N ( v )
Figure DE102018200617A1_0078
aussendet.
Method according to one of the preceding claims, characterized in that each variable node VN is initialized with a ciphertext bit c E {+1, -1} and in the first iteration as the first one Message m v → c = c to all neighboring control nodes c N ( v )
Figure DE102018200617A1_0078
sending out.
Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die vorgegebene Wahrscheinlichkeit über die Anzahl an Iterationen variabel ist.Method according to one of the preceding claims, characterized in that the predetermined probability over the number of iterations is variable. Verfahren nach Anspruch 12, dadurch gekennzeichnet, dass die vorgegebene Wahrscheinlichkeit mit zunehmender Anzahl der Iterationen geringer wird.Method according to Claim 12 , characterized in that the predetermined probability decreases with increasing number of iterations. Computerprogrammprodukt, das direkt in den internen Speicher eines digitalen Computers geladen werden kann und Softwarecodeabschnitte umfasst, mit denen die Schritte gemäß einem der Ansprüche 1 bis 11 ausgeführt werden, wenn das Produkt auf einem Computer läuft.A computer program product that can be loaded directly into the internal memory of a digital computer and includes software code portions that perform the steps of any one of Claims 1 to 11 running when the product is running on a computer. Verwendung des Verfahrens gemäß einem der Ansprüche 1 bis 11 in einem asymmetrischen kryptographischen System, insbesondere nach McEliece.Use of the method according to one of Claims 1 to 11 in an asymmetric cryptographic system, especially McEliece. Verwendung des Verfahrens gemäß einem der Ansprüche 1 bis 11 zur Dekodierung in der Nachrichtenübertragung.Use of the method according to one of Claims 1 to 11 for decoding in the news broadcast. Dekodierer zum Dekodieren einer Nachricht, insbesondere einer mit einem öffentlichen Schlüssel verschlüsselten Nachricht eines asymmetrischen kryptographischen Systems, der dazu ausgebildet ist, einen graphbasierten Message Passing (MP)-Algorithmus mit variablen Knoten und Kontrollknoten auszuführen, die durch Kanten verbunden sind, wobei zur Dekodierung der Nachricht entlang der Kanten iterativ Nachrichten von den variablen Knoten zu den Kontrollknoten und Nachrichten von den Kontrollknoten zu den variablen Knoten gesendet werden, dadurch gekennzeichnet, dass dieser dazu eingerichtet ist, die Nachrichten von den variablen Knoten zu den Kontrollknoten mit einer vorgegebenen Wahrscheinlichkeit zu modifizieren, insbesondere auszulöschen.A decoder for decoding a message, in particular a public-key encrypted message of an asymmetric cryptographic system, adapted to execute a variable-node graph-based message passing (MP) algorithm and control nodes connected by edges, wherein for decoding the Message along the edges, iteratively sending messages from the variable nodes to the control nodes and messages from the control nodes to the variable nodes, characterized in that it is arranged to modify the messages from the variable nodes to the control nodes with a predetermined probability, especially extinguish.
DE102018200617.2A 2018-01-16 2018-01-16 Method for decoding an encrypted message of an asymmetric cryptographic system Active DE102018200617B4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102018200617.2A DE102018200617B4 (en) 2018-01-16 2018-01-16 Method for decoding an encrypted message of an asymmetric cryptographic system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102018200617.2A DE102018200617B4 (en) 2018-01-16 2018-01-16 Method for decoding an encrypted message of an asymmetric cryptographic system

Publications (2)

Publication Number Publication Date
DE102018200617A1 true DE102018200617A1 (en) 2019-07-18
DE102018200617B4 DE102018200617B4 (en) 2020-02-13

Family

ID=67068438

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018200617.2A Active DE102018200617B4 (en) 2018-01-16 2018-01-16 Method for decoding an encrypted message of an asymmetric cryptographic system

Country Status (1)

Country Link
DE (1) DE102018200617B4 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113938273A (en) * 2021-09-30 2022-01-14 湖南遥昇通信技术有限公司 Symmetric encryption method and system capable of resisting vector parallel computing attack

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1838000A2 (en) * 2006-03-21 2007-09-26 Samsung Electronics Co., Ltd. Apparatus and method for transmitting/receiving data in a communication system
WO2016006968A1 (en) * 2014-07-11 2016-01-14 Samsung Electronics Co., Ltd. Method and apparatus of joint security advanced ldpc cryptcoding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1838000A2 (en) * 2006-03-21 2007-09-26 Samsung Electronics Co., Ltd. Apparatus and method for transmitting/receiving data in a communication system
WO2016006968A1 (en) * 2014-07-11 2016-01-14 Samsung Electronics Co., Ltd. Method and apparatus of joint security advanced ldpc cryptcoding

Non-Patent Citations (20)

* Cited by examiner, † Cited by third party
Title
C. Lee, „Some Properties of Nonbinary Error-Correcting Codes," IRE Transactions on Information Theory, vol. 4, no. 2, pp. 77-82, Jun. 1958
C. Monico, J. Rosenthal, and A. Shokrollahi, „Using Low Density Parity Check Codes in the McEliece Cryptosystem," in Information Theory, 2000. Proceedings. IEEE International Symposium on. IEEE, 2000, S. 215
E. R. Berlekamp, R. J. McEliece, and H. C. A. Van Tilborg, „On the Inherent Intractability of Certain Coding Problems," IEEE Transactions on Information Theory, Bd. 24, Nr. 3, S. 384-386, Mai 1978
K. Kobara and H. Imai, „Semantically Secure McEliece Public-Key Cryptosystems-Conversions for McEliece PKC," in Public Key Cryptography, Bd. 1992, Springer, 2001, S. 19-35
M. Baldi, F. Chiaraluce, R. Garello, and F. Mininni, „Quasi-Cyclic Low-Density Parity-Check Codes in the McEliece Cryptosystem," in IEEE International Conference on Communications (ICC), 2007. IEEE, 2007, S. 951-956
M. Tanner, „A recursive approach to low complexity codes," IEEE Trans. Inf. Theory, vol. 27, no. 5, pp. 533-547, Sep. 1981
N. Miladinovic and M. P. Fossorier, „Improved Bit-Flipping Dekoding of Low-Density Parity-Check Codes," IEEE Transactions on Information Theory, vol. 51, no. 4, pp. 1594-1606, 2005
N. Sendrier, „Code-Based Cryptography: State of the Art and Perspectives," IEEE Security & Privacy, vol. 15, no. 4, pp. 44-50, Aug. 2017
P. Gaborit, „Shorter Keys for Code Based Cryptography," in Proceedings of the 2005 International Workshop on Coding and Cryptography (WCC 2005), 2005, S. 81-91
P. S. L. M. Barreto, S. Gueron, T. G ueneysu, R. Misoczki, E. Persichetti, N. Sendrier, and J.-P. Tillich, „CAKE: Code-Based Algorithm for Key Encapsulation," Cryptology ePrint Archive, Report 2017/757, 2017, http://eprint.iacr.org/2017/757
P. W. Shor, „Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer," SIAM review, Bd. 41, Nr. 2, S. 303-332, 1999
Q. Guo, T. Johansson, and P. Stankovski, „A Key Recovery Attack on MDPC with CCA Security Using Dekoding Errors," in Advances in Cryptology-ASIA-CRYPT 2016: 22nd International Conference on the Theory and Application of Cryptology and Information Security, Hanoi, Vietnam, December 4-8, 2016, Proceedings, Part I, 22. Springer, 2016, pp. 789-815
R. Gallager, Low-density parity-check codes. Cambridge, MA, USA: MIT Press, 1963
R. L. Rivest, A. Shamir, and L. Adleman, „A Method for Obtaining Digital Signatures and Public-Key Cryptosystems", Communications on the ACM, Bd. 21, Nr. 2, S. 120-126, 1978
R. Misoczki, J.-P. Tillich, N. Sendrier, and P. S. Barreto, „MDPC-McEliece: New McEliece Variants from Moderate Density Parity-Check Codes," in IEEE International Symposium on Information Theory (ISIT). IEEE, 2013, S. 2069-2073
Robert J. McEliece, „A Public-Key Cryptosystem based on Algebraic Coding Theory" DSN Progress Report, Bd. 4244 (1978), S. 114-116
T. Fabsic, V. Hromada, P. Stankovski, P. Zajac, Q. Guo, and T. Johansson, „A Reaction Attack on the QC-LDPC McEliece Cryptosystem," in International Workshop on Post-Quantum Cryptography, 2017, pp. 51-68
T. P. Berger, P.-L. Cayrel, P. Gaborit, and A. Otmani, „Reducing key length of the McEliece cryptosystem." AfricaCrypt, Bd. 5580, S. 77-97, 2009
T. Richardson and R. Urbanke, „The capacity of low-density parity-check codes under message-passing decoding", IEEE Trans. Inf. Theory, Bd. 47, Nr. 2, S. 599-618, Feb. 2001
W. Ryan and S. Lin, Channel codes - Classical and modern. New York, NY, USA: Cambridge University Press, 2009

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113938273A (en) * 2021-09-30 2022-01-14 湖南遥昇通信技术有限公司 Symmetric encryption method and system capable of resisting vector parallel computing attack
CN113938273B (en) * 2021-09-30 2024-02-13 湖南遥昇通信技术有限公司 Symmetric encryption method and system capable of resisting quantitative parallel computing attack

Also Published As

Publication number Publication date
DE102018200617B4 (en) 2020-02-13

Similar Documents

Publication Publication Date Title
US20170104590A1 (en) Method and Apparatus for Error Correcting Code Based Public Key Encryption Schemes
Misoczki et al. MDPC-McEliece: New McEliece variants from moderate density parity-check codes
Suresh et al. Strong secrecy for erasure wiretap channels
DE112011100327T5 (en) Efficient homomorphic encryption method for bilinear forms
Rigby et al. Modified belief propagation decoders for quantum low-density parity-check codes
Hooshmand et al. Reducing the key length of McEliece cryptosystem using polar codes
Heide et al. A perpetual code for network coding
Esmaeili et al. New secure channel coding scheme based on randomly punctured quasi‐cyclic‐low density parity check codes
Vasseur Post-quantum cryptography: a study of the decoding of QC-MDPC codes
CN107786327B (en) Safe and reliable transmission method based on LDPC code
Popovska-Mitrovikj et al. 4-Sets-Cut-Decoding algorithms for random codes based on quasigroups
DE102018200617B4 (en) Method for decoding an encrypted message of an asymmetric cryptographic system
Wang Revised Quantum Resistant Public Key Encryption Scheme RLCE and IND-CCA2 Security for McEliece Schemes.
Baldi et al. Improving the efficiency of the LDPC code-based McEliece cryptosystem through irregular codes
DE102018200616B4 (en) Asymmetric cryptographic system and method for generating a public key for the asymmetric cryptographic system
DE102018221399B4 (en) Asymmetric cryptographic system and method for decoding an encrypted message
Mafakheri et al. An Efficient Secure Channel Coding Scheme based on Polar Codes.
DE102019207941B4 (en) Method for efficient decoding of transmitted data
DE102019200256B4 (en) Nesters
Guo et al. A p-ary MDPC scheme
DE102022128556A1 (en) METHOD AND SYSTEM FOR ERROR CORRECTION CODING BASED ON GENERALIZED CONCATENATED CODES WITH RESTRICTED ERROR VALUES FOR CODE-BASED CRYPTOGRAPHY
DE102019200402B3 (en) Method for checking the security of a key pair of a cryptographic system based on algebraic codes
Khayami et al. A joint encryption-encoding scheme using QC-LDPC codes based on finite geometry
DE102014208996B3 (en) Procedure for recovering lost and / or corrupted data
Kruglik et al. On the secrecy capacity of distributed storage with locality and availability

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final