DE102020126668A1 - Non-transitory, computer-readable medium on which program code is stored, decryption device and communication system comprising an encryption device and a decryption device - Google Patents

Non-transitory, computer-readable medium on which program code is stored, decryption device and communication system comprising an encryption device and a decryption device Download PDF

Info

Publication number
DE102020126668A1
DE102020126668A1 DE102020126668.5A DE102020126668A DE102020126668A1 DE 102020126668 A1 DE102020126668 A1 DE 102020126668A1 DE 102020126668 A DE102020126668 A DE 102020126668A DE 102020126668 A1 DE102020126668 A1 DE 102020126668A1
Authority
DE
Germany
Prior art keywords
message
coefficients
reference value
modified
decryption device
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.)
Pending
Application number
DE102020126668.5A
Other languages
German (de)
Inventor
Jeehyoung Lee
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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
Priority claimed from KR1020190172720A external-priority patent/KR20210081471A/en
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102020126668A1 publication Critical patent/DE102020126668A1/en
Pending legal-status Critical Current

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/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • 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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption

Abstract

Es wird ein nichtflüchtiges, computerlesbares Medium geschaffen. Das nichtflüchtige, computerlesbare Medium, auf dem Programmcode gespeichert ist, der, wenn er durch einen Prozessor ausgeführt wird, den Prozessor veranlasst, eine Nachricht basierend auf einem ersten verschlüsselten Text, einem zweiten verschlüsselten Text und einem privaten Schlüssel zu berechnen, einen Koeffizienten der Nachricht mit einem Referenzwert basierend auf einer Primzahl zu vergleichen, einen Koeffizienten einer modifizierten Nachricht basierend auf einem Vergleichsergebnis zwischen dem Koeffizienten der Nachricht und dem Referenzwert festzulegen, und die modifizierte Nachricht zu entschlüsseln.A non-transitory, computer-readable medium is created. The non-transitory, computer readable medium having stored thereon program code which, when executed by a processor, causes the processor to compute a message based on a first ciphertext, a second ciphertext, and a private key, a coefficient of the message to compare with a reference value based on a prime number, to set a coefficient of a modified message based on a comparison result between the coefficient of the message and the reference value, and to decrypt the modified message.

Description

QUERVERWEIS AUF VERWANDTE ANMELDUNGENCROSS REFERENCE TO RELATED APPLICATIONS

Diese Patentanmeldung beansprucht die Priorität der am 23. Dezember 2019 eingereichten koreanischen Patentanmeldung KR 10-2019-0172720 , deren gesamter Inhalt hiermit durch Verweis in den vorliegenden Text aufgenommen wird.This patent application claims priority from the Korean patent application filed on December 23, 2019 KR 10-2019-0172720 , the entire content of which is hereby incorporated by reference into the present text.

HINTERGRUNDBACKGROUND

Beispielhafte Ausführungsformen der erfinderischen Konzepte betreffen ein nichtflüchtiges, computerlesbares Medium, das einen Programmcode speichert, eine Entschlüsselungsvorrichtung und/oder ein Kommunikationssystem, das eine Verschlüsselungsvorrichtung und eine Entschlüsselungsvorrichtung umfasst.Exemplary embodiments of the inventive concepts relate to a non-transitory, computer-readable medium that stores a program code, a decryption device and / or a communication system comprising an encryption device and a decryption device.

Algorithmen zur Verschlüsselung mit öffentlichem Schlüssel wie beispielsweise RSA-Algorithmen (RSA: Rivest, Shamir, Adleman) basieren auf einer Faktorisierungsschwierigkeit oder Problemen bezüglich eines diskreten Logarithmus. Allerdings könnte die Sicherheit der Algorithmen zur Verschlüsselung mit öffentlichem Schlüssel durch einen Shor-Algorithmus, der einen Quantenberechnungen durchführenden Quantencomputer verwendet, aufgrund der Rechenleistung des Quantencomputers beeinträchtigt sein. Das US-amerikanische National Institute of Standards and Technology (NIST) standardisiert die Algorithmen zur Verschlüsselung mit öffentlichem Schlüssel, die in Umgebungen mit Quantencomputern sicher sind, allerdings kann eine solche Post-Quanten-Kryptografie Schwächen aufweisen.Public key encryption algorithms such as RSA algorithms (RSA: Rivest, Shamir, Adleman) are based on a factorization difficulty or problems with a discrete logarithm. However, the security of the public key encryption algorithms by a Shor algorithm using a quantum computer that performs quantum calculations may be compromised due to the computing power of the quantum computer. The US National Institute of Standards and Technology (NIST) standardizes the public key encryption algorithms that are secure in quantum computer environments, but such post-quantum cryptography can have weaknesses.

KURZFASSUNGSHORT VERSION

Beispielhafte Ausführungsformen der erfinderischen Konzepte schaffen ein nichtflüchtiges, computerlesbares Medium, das einen Programmcode speichert, eine Entschlüsselungsvorrichtung und/oder ein Kommunikationssystem, das eine Verschlüsselungsvorrichtung und eine Entschlüsselungsvorrichtung umfasst.Exemplary embodiments of the inventive concepts provide a non-transitory, computer-readable medium that stores program code, a decryption device, and / or a communication system that includes an encryption device and a decryption device.

Gemäß einigen beispielhaften Ausführungsformen veranlasst ein nichtflüchtiges, computerlesbares Medium, auf dem ein Programmcode gespeichert ist, wenn er von einem Prozessor ausgeführt wird, den Prozessor, eine Nachricht basierend auf einem ersten verschlüsselten Text, einem zweiten verschlüsselten Text und einem privaten Schlüssel zu berechnen; Koeffizienten der Nachricht mit einem Referenzwert zu vergleichen, um ein Vergleichsergebnis zu erzeugen, wobei der Referenzwert auf einer Primzahl basiert; basierend auf der Nachricht eine modifizierte Nachricht zu erzeugen, indem er die Koeffizienten der Nachricht basierend auf dem Vergleichsergebnis selektiv modifiziert; und die modifizierte Nachricht zu entschlüsseln.In accordance with some exemplary embodiments, a non-transitory computer readable medium having program code stored thereon, when executed by a processor, causes the processor to compute a message based on a first ciphertext, a second ciphertext, and a private key; Comparing coefficients of the message with a reference value in order to generate a comparison result, the reference value being based on a prime number; generate a modified message based on the message by selectively modifying the coefficients of the message based on the comparison result; and decrypt the modified message.

Gemäß einigen beispielhaften Ausführungsformen umfasst eine Entschlüsselungsvorrichtung eine Verarbeitungsschaltung, die dazu eingerichtet ist, eine Nachricht basierend auf einem ersten verschlüsselten Text, einem zweiten verschlüsselten Text und einem privaten Schlüssel zu berechnen, Koeffizienten der Nachricht mit einem Referenzwert zu vergleichen, um ein Vergleichsergebnis zu erzeugen, wobei der Referenzwert auf einer Primzahl basiert, basierend auf der Nachricht eine modifizierte Nachricht zu erzeugen, indem sie die Koeffizienten basierend auf dem Vergleichsergebnis selektiv modifiziert, und die modifizierte Nachricht zu entschlüsseln.According to some exemplary embodiments, a decryption device comprises a processing circuit which is configured to calculate a message based on a first encrypted text, a second encrypted text and a private key, to compare coefficients of the message with a reference value in order to generate a comparison result, wherein the reference value is based on a prime number, generating a modified message based on the message by selectively modifying the coefficients based on the comparison result, and decrypting the modified message.

Gemäß einigen beispielhaften Ausführungsformen umfasst ein Kommunikationssystem eine Verschlüsselungsvorrichtung und eine Entschlüsselungsvorrichtung. Die Verschlüsselungsvorrichtung kann dazu eingerichtet sein, einen ersten verschlüsselten Text basierend auf einem ersten öffentlichen Schlüssel zu berechnen und einen zweiten verschlüsselten Text basierend auf einem zweiten öffentlichen Schlüssel und einer Klartextnachricht zu berechnen. Die Entschlüsselungsvorrichtung kann dazu eingerichtet sein, einen privaten Schlüssel basierend auf einer Normalverteilung zu sampeln, den ersten öffentlichen Schlüssel aus einem Polynomring zu sampeln, den zweiten öffentlichen Schlüssel basierend auf dem privaten Schlüssel und dem ersten öffentlichen Schlüssel zu berechnen, den ersten verschlüsselten Text und den zweiten verschlüsselten Text von der Verschlüsselungsvorrichtung ansprechend auf Übermittlung des ersten öffentlichen Schlüssels und des zweiten öffentlichen Schlüssels an dieselbe zu erhalten, eine Übermittlungsnachricht basierend auf dem ersten verschlüsselten Text, dem zweiten verschlüsselten Text und dem privaten Schlüssel zu erzeugen, Koeffizienten der Übermittlungsnachricht mit einem Referenzwert zu vergleichen, um ein Vergleichsergebnis zu erzeugen, wobei der Referenzwert auf einer Primzahl basiert, basierend auf der Übermittlungsnachricht eine modifizierte Übermittlungsnachricht zu erzeugen, indem sie die Koeffizienten der Übermittlungsnachricht basierend auf dem Vergleichsergebnis selektiv modifiziert, und die modifizierte Übermittlungsnachricht zu entschlüsseln.According to some example embodiments, a communication system includes an encryption device and a decryption device. The encryption device can be configured to calculate a first encrypted text based on a first public key and to calculate a second encrypted text based on a second public key and a plain text message. The decryption device can be configured to sample a private key based on a normal distribution, to sample the first public key from a polynomial ring, to calculate the second public key based on the private key and the first public key, the first encrypted text and the receive second ciphertext from the encryption device in response to transmission of the first public key and the second public key thereto, generate a transmission message based on the first ciphertext, the second ciphertext and the private key, assign coefficients of the transmission message with a reference value compare to generate a comparison result, wherein the reference value is based on a prime number, based on the transmission message to generate a modified transmission message by using the coefficients n selectively modified the transmission message based on the comparison result, and to decrypt the modified transmission message.

FigurenlisteFigure list

Die obige sowie weitere Aufgaben und Merkmale der hier besprochenen erfinderischen Konzepte werden durch eine detaillierte Beschreibung beispielhafter Ausführungsformen derselben unter Bezugnahme auf die beiliegenden Zeichnungen verständlich.

  • 1 ist ein Blockschaltbild eines Kommunikationssystems gemäß einigen beispielhaften Ausführungsformen der erfinderischen Konzepte.
  • 2 ist ein Flussdiagramm, das ein Betriebsverfahren des Kommunikationssystems aus 1 darstellt.
  • 3 ist ein Flussdiagramm, das detaillierte Operationen eines Vorgangs S180 aus 2 detaillierter darstellt.
  • 4 ist ein Blockschaltbild, das ein Kommunikationssystem aus 1 gemäß einigen beispielhaften Ausführungsformen der erfinderischen Konzepte darstellt.
  • 5 ist ein Blockschaltbild, das ein Kommunikationssystem aus 1 gemäß einigen beispielhaften Ausführungsformen der erfinderischen Konzepte darstellt.
  • 6 ist ein Blockdiagramm, das eine Schlüsselerzeugungsschaltung aus 5 darstellt.
  • 7 ist ein Blockdiagramm, das eine Entschlüsselungsschaltung aus 5 darstellt.
  • 8 ist ein Blockdiagramm, das eine Verschlüsselungsschaltung aus 5 darstellt.
  • 9 ist ein Blockschaltbild, das eine Verschlüsselungs-/Entschlüsselungsvorrichtung gemäß einigen beispielhaften Ausführungsformen der erfinderischen Konzepte darstellt.
  • 10 ist ein Blockschaltbild, das eine Verschlüsselungs-/Entschlüsselungsvorrichtung gemäß einigen beispielhaften Ausführungsformen der erfinderischen Konzepte darstellt.
  • 11 ist ein Blockschaltbild, das eine elektronische Vorrichtung gemäß einigen beispielhaften Ausführungsformen der erfinderischen Konzepte darstellt.
  • 12 ist ein Blockschaltbild, das ein Kommunikationssystem gemäß einigen beispielhaften Ausführungsformen der erfinderischen Konzepte darstellt.
The above and other objects and features of the inventive concepts discussed herein will be understood from a detailed description of exemplary embodiments thereof with reference to the accompanying drawings.
  • 1 FIG. 13 is a block diagram of a communication system in accordance with some example embodiments of the inventive concepts.
  • 2 Fig. 13 is a flowchart showing an operating method of the communication system 1 represents.
  • 3 Fig. 13 is a flowchart showing detailed operations of a process S180 2 represents in more detail.
  • 4th is a block diagram that makes up a communication system 1 according to some example embodiments of the inventive concepts.
  • 5 is a block diagram that makes up a communication system 1 according to some example embodiments of the inventive concepts.
  • 6th Figure 13 is a block diagram showing a key generation circuit 5 represents.
  • 7th Figure 3 is a block diagram showing a decryption circuit 5 represents.
  • 8th Figure 3 is a block diagram showing an encryption circuit 5 represents.
  • 9 FIG. 13 is a block diagram illustrating an encryption / decryption device in accordance with some example embodiments of the inventive concepts.
  • 10 FIG. 13 is a block diagram illustrating an encryption / decryption device in accordance with some example embodiments of the inventive concepts.
  • 11 FIG. 3 is a block diagram illustrating an electronic device in accordance with some example embodiments of the inventive concepts.
  • 12th FIG. 3 is a block diagram illustrating a communication system in accordance with some example embodiments of the inventive concepts.

DETAILLIERTE BESCHREIBUNGDETAILED DESCRIPTION

Nachfolgend werden einige beispielhafte Ausführungsformen des erfinderischen Konzepts klar und im Detail beschrieben, sodass ein Fachmann die erfinderischen Konzepte leicht umsetzen kann.Some exemplary embodiments of the inventive concept are described clearly and in detail below, so that a person skilled in the art can easily implement the inventive concepts.

1 ist ein Blockschaltbild eines Kommunikationssystems gemäß einigen beispielhaften Ausführungsformen der erfinderischen Konzepte. 1 FIG. 13 is a block diagram of a communication system in accordance with some example embodiments of the inventive concepts.

Gemäß 1 kann ein Kommunikationssystem 1000 eine Entschlüsselungsvorrichtung 1100 und eine Verschlüsselungsvorrichtung 1200 umfassen. Die Entschlüsselungsvorrichtung 1100 und die Verschlüsselungsvorrichtung 1200 können basierend auf einem Verschlüsselungsalgorithmus gemäß einigen beispielhaften Ausführungsformen der erfinderischen Konzepte miteinander kommunizieren.According to 1 can be a communication system 1000 a decryption device 1100 and an encryption device 1200 include. The decryption device 1100 and the encryption device 1200 can communicate with one another based on an encryption algorithm according to some example embodiments of the inventive concepts.

Der Verschlüsselungsalgorithmus, der in dem Kommunikationssystem 1000 verwendet wird, kann auf einem Verschlüsselungsalgorithmus mit öffentlichem Schlüssel basieren. Der Verschlüsselungsalgorithmus mit öffentlichem Schlüssel kann ein Algorithmus zur asymmetrischen Verschlüsselung sein, der einen öffentlichen Schlüssel für eine Verschlüsselung verwendet und einen privaten (z. B. geheimen) Schlüssel für eine Entschlüsselung verwendet, ohne den gleichen Schlüssel für die Verschlüsselung und die Entschlüsselung zu verwenden.The encryption algorithm used in the communication system 1000 may be based on a public key encryption algorithm. The public key encryption algorithm may be an asymmetric encryption algorithm that uses a public key for encryption and uses a private (e.g., secret) key for decryption without using the same key for encryption and decryption.

Das Kommunikationssystem 1000 gemäß einigen beispielhaften Ausführungsformen der erfinderischen Konzepte kann einen Ring-Learning-With-Errors(RLWE)-Verschlüsselungsalgorithmus, der eine Art gitterbasierter Learning-With-Errors(LWE)-Verschlüsselungsalgorithmus ist, als Post-Quanten-Kryptografie verwenden, der selbst in einer Quantencomputerumgebung die Sicherheit sicherstellt. Der RLWE-Verschlüsselungsalgorithmus kann nicht nur eine verbesserte Sicherheit schaffen, sondem auch eine homomorphe Verschlüsslung, die dazu in der Lage ist, Daten zu durchsuchen oder zu analysieren. Die homomorphe Verschlüsselung ist eine Verschlüsselungstechnik, die bei verschlüsselten Daten eine Operation ohne die Entschlüsselung ausführen kann. Ein Operationsergebnis kann erzeugt werden, wenn eine Operation bei den Daten ausgeführt wird, und ein erstes Ergebnis kann erzeugt werden, wenn ein nachfolgendes Operationsergebnis verschlüsselt wird. Wenn die gleiche Operation bei den verschlüsselten Daten durchgeführt wird, kann ein zweites Ergebnis erzeugt werden. Basierend auf der homomorphen Verschlüsselung kann das erste Ergebnis das gleiche sein wie das zweite Ergebnis. Ebenso kann ein drittes Ergebnis erzeugt werden, wenn bei Daten eine Operation durchgeführt wird. Ein Operationsergebnis kann erzeugt werden, wenn die gleiche Operation bei verschlüsselten Daten durchgeführt wird, und ein viertes Ergebnis kann erzeugt werden, wenn ein nachfolgendes Operationsergebnis entschlüsselt wird. Basierend auf der homomorphen Verschlüsselung kann das dritte Ergebnis das gleiche sein wie das vierte Ergebnis.The communication system 1000 In accordance with some exemplary embodiments of the inventive concepts, a ring learning-with-errors (RLWE) encryption algorithm, which is a type of lattice-based learning-with-errors (LWE) encryption algorithm, can use as post-quantum cryptography that itself is in a Quantum computing environment ensures security. The RLWE encryption algorithm can not only provide improved security, but also homomorphic encryption that is able to search or analyze data. Homomorphic encryption is an encryption technique that can perform an operation on encrypted data without decryption. An operation result can be generated when an operation is performed on the data, and a first result can be generated when a subsequent operation result is encrypted. If the same operation is performed on the encrypted data, a second result can be generated. Based on the homomorphic encryption, the first result can be the same as the second result. A third result can also be generated when an operation is performed on data. An operation result can be generated when the same operation is performed on encrypted data, and a fourth result can be generated when a subsequent operation result is decrypted. Based on the homomorphic encryption, the third result can be the same as the fourth result.

Der RLWE-Verschlüsselungsalgorithmus des Kommunikationssystems 1000 kann eine Schlüsselerzeugungs-, eine Verschlüsselungs- und eine Entschlüsselungsoperation umfassen. Die Schlüsselerzeugungs- und die Entschlüsselungsoperation können durch die Entschlüsselungsvorrichtung 1100 ausgeführt (durchgeführt) werden und die Verschlüsselungsoperation kann durch die Verschlüsselungsvorrichtung 1200 ausgeführt werden.The RLWE encryption algorithm of the communication system 1000 may include key generation, encryption, and decryption operations. The key generation and decryption operations can be performed by the decryption device 1100 and the encryption operation can be performed by the encryption device 1200 are executed.

Die Entschlüsselungsvorrichtung 1100 kann den privaten Schlüssel „s“ aus einer Normalverteilung χ sampeln. Zum Beispiel kann die Normalverteilung χ eine diskrete gaußsche Fehlerverteilung sein. Zum Beispiel kann eine Standardabweichung σ der Normalverteilung χ kann kleiner sein als „2“, aber der Schutzumfang der erfinderischen Konzepte ist nicht darauf beschränkt. Die Entschlüsselungsvorrichtung 1100 kann einen Fehler „e“ aus der Normalverteilung χ sampeln. Der Fehler „e“ kann verwendet werden, um einen öffentlichen Schlüssel ao zu erzeugen. Der Fehler kann auch als Rauschen bezeichnet werden.The decryption device 1100 can sample the private key "s" from a normal distribution χ. For example, the normal distribution χ can be a discrete Gaussian error distribution. For example, a standard deviation σ of the normal distribution χ can be smaller than “2”, but the scope of the inventive concepts is not limited to this. The decryption device 1100 can sample an error “e” from the normal distribution χ. The error “e” can be used to generate a public key ao. The error can also be referred to as noise.

Es wird angenommen, dass f(x) = xn + 1, n = 2k, „n“ ist ein Sicherheitsparameter, „k“ ist eine natürliche Zahl, R = Z[x] / f(x) und Rq = Zq[x] / f(x). f(x) kann auch als Referenzpolynom bezeichnet werden. „R“ kann ein Ring ganzzahliger Polynome modulo f(x) sein. Zum Beispiel können Elemente des Rings R durch ganzzahlige Polynome mit einem Grad kleiner n wiedergegeben werden. Rq kann ein Ring ganzzahliger Polynome modulo f(x) und q sein, wobei „q“ eine Primzahl sein kann, die q ≡ 1 mod 2n erfüllt, und „≡“ eine Kongruenz bedeuten kann. Zum Beispiel können Elemente eines Rings Rq durch ganzzahlige Polynome mit einem Grad kleiner als n und Koeffizienten kleiner als q wiedergegeben werden.It is assumed that f (x) = x n + 1, n = 2 k , “n” is a security parameter, “k” is a natural number, R = Z [x] / f (x) and R q = Z q [x] / f (x). f (x) can also be referred to as a reference polynomial. “R” can be a ring of integer polynomials modulo f (x). For example, elements of the ring R can be represented by integer polynomials with a degree less than n. R q can be a ring of integer polynomials modulo f (x) and q, where “q” can be a prime number that satisfies q ≡ 1 mod 2n, and “≡” can mean congruence. For example, elements of a ring R q can be represented by integer polynomials with a degree less than n and coefficients less than q.

Die Entschlüsselungsvorrichtung 1100 kann einen öffentlichen Schlüssel ai aus dem Ring Rq sampeln und erzeugen. Die Entschlüsselungsvorrichtung 1100 kann den öffentlichen Schlüssel ao basierend auf dem öffentlichen Schlüssel ai und dem Fehler e berechnen und erzeugen. Zum Beispiel kann die Entschlüsselungsvorrichtung 1100 den öffentlichen Schlüssel ao berechnen, indem der öffentliche Schlüssel ai mit dem privaten Schlüssel s multipliziert wird, ein Parameter „t“ mit dem Fehler e multipliziert wird, und die zwei Multiplikationsergebnisse addiert werden. Zum Beispiel kann ao = -(a1*s + t*e) sein. Die Entschlüsselungsvorrichtung 1100 kann ein Vorzeichen des Additionsergebnisses umkehren oder kann bei dem Additionsergebnis eine Multiplikationsoperation oder eine Subtraktionsoperation ausführen. Der Parameter t kann eine ganze Zahl sein, die im Voraus bestimmt wird, und sie kann verwendet werden, um einen Raum einer Nachricht m, nachfolgend beschrieben, zu definieren.The decryption device 1100 can sample and generate a public key ai from the ring R q. The decryption device 1100 can calculate and generate the public key ao based on the public key ai and the error e. For example, the decryption device 1100 calculate the public key ao by multiplying the public key ai by the private key s, multiplying a parameter "t" by the error e, and adding the two multiplication results. For example, ao = - (a 1 * s + t * e). The decryption device 1100 may reverse a sign of the addition result, or may perform a multiplication operation or a subtraction operation on the addition result. The parameter t can be an integer determined in advance, and it can be used to define a space of a message m, described below.

Die Verschlüsselungsvorrichtung 1200 kann Fehler u, g und h aus der Normalverteilung χ sampeln. Die Verschlüsselungsvorrichtung 1200 kann einen verschlüsselten Text co basierend auf dem öffentlichen Schlüssel a0, den Fehlern u und g, dem Parameter t und der Nachricht m berechnen und erzeugen. Die Nachricht kann auch als Daten, Klartext, Klartextnachricht usw. bezeichnet werden. Der Raum der Nachricht m kann der Ring Rq oder ein Ring Rt sein. Obwohl nachfolgend angenommen wird, dass der Raum der Nachricht m der Ring Rt ist, ist der Umfang der erfinderischen Konzepte nicht darauf beschränkt. Rt kann Rt = Zt[x] / f(x) sein. t und q können jeweils relativ Primzahlen sein und zum Beispiel der Parameter t kann 2 sein, aber der Umfang der erfinderischen Konzepte ist nicht darauf beschränkt. Rt kann ein Ring ganzzahliger Polynome modulo sowohl f(x) als auch t sein. Zum Beispiel kann die Nachricht m durch ganzzahlige Polynome mit einem Grad kleiner als n und Koeffizienten kleiner als t wiedergegeben werden. Die Verschlüsselungsvorrichtung 1200 kann die Nachricht m erzeugen, indem Daten verschlüsselt werden, die an die Entschlüsselungsvorrichtung 1100 übermittelt werden sollen. In einigen beispielhaften Ausführungsformen können die Daten in der Verschlüsselungsvorrichtung 1200 erzeugt werden oder von einer externen Vorrichtung empfangen werden. Die Entschlüsselungsvorrichtung 1100 kann Daten in eine n-Bit-Nachricht m verschlüsseln und die n-Bit-Nachricht m kann ganzzahlige Polynome wiedergeben, die Elementen des Rings Rt entsprechen. Wenn n = 8 und die 8-Bit-Nachricht m 01011001 ist, so kann m = x6 + x4 + x3+ 1 sein.The encryption device 1200 can sample errors u, g and h from the normal distribution χ. The encryption device 1200 can calculate and generate an encrypted text co based on the public key a 0 , the errors u and g, the parameter t and the message m. The message can also be referred to as data, plain text, plain text message, and so on. The space of the message m can be the ring R q or a ring R t . Although the space of the message m is assumed below to be the ring R t , the scope of the inventive concepts is not limited thereto. R t can be R t = Z t [x] / f (x). t and q can each be relatively prime numbers and, for example, the parameter t can be 2, but the scope of the inventive concepts is not limited thereto. R t can be a ring of integer polynomials modulo both f (x) and t. For example, the message m can be represented by integer polynomials with a degree less than n and coefficients less than t. The encryption device 1200 can generate the message m by encrypting data sent to the decryption device 1100 should be transmitted. In some exemplary embodiments, the data in the encryption device 1200 generated or received from an external device. The decryption device 1100 can encode data into an n-bit message m and the n-bit message m can represent integer polynomials which correspond to elements of the ring R t. If n = 8 and the 8-bit message m is 01011001, then m = x 6 + x 4 + x 3 + 1.

Zum Beispiel kann die Verschlüsselungsvorrichtung 1200 den verschlüsselten Text co berechnen, indem der öffentliche Schlüssel ao und ein Fehler u multipliziert werden, der Parameter t und ein Fehler g multipliziert werden, und die zwei Multiplikationsergebnisse und die Nachricht m addiert werden. c0 kann zum Beispiel c0 = a0*u + t*g + m sein. Die Verschlüsselungsvorrichtung 1200 kann einen verschlüsselten Text c1 basierend auf dem öffentlichen Schlüssel a1, den Fehlern u und h und dem Parameter t berechnen und erzeugen. Zum Beispiel kann die Verschlüsselungsvorrichtung 1200 den verschlüsselten Text c1 berechnen, indem der öffentliche Schlüssel ai und der Fehler u multipliziert werden, der Parameter t und der Fehler h multipliziert werden, und die zwei Multiplikationsergebnisse addiert werden. c1 kann zum Beispiel c1 = a1*u + t*h sein.For example, the encryption device 1200 calculate the ciphertext co by multiplying the public key ao and an error u, multiplying the parameter t and an error g, and adding the two multiplication results and the message m. For example, c 0 can be c 0 = a 0 * u + t * g + m. The encryption device 1200 can calculate and generate an encrypted text c 1 based on the public key a 1 , the errors u and h and the parameter t. For example, the encryption device 1200 calculate the ciphertext c 1 by multiplying the public key ai and the error u, multiplying the parameter t and the error h, and adding the two multiplication results. For example, c 1 can be c 1 = a 1 * u + t * h.

Die Entschlüsselungsvorrichtung 1100 kann eine Nachricht ψ basierend auf den verschlüsselten Texten c0 und c1 und dem privaten Schlüssel s berechnen und erzeugen. Da die Nachricht ψ aus den verschlüsselten Texten c0 und c1 berechnet wird, die von der Verschlüsselungsvorrichtung 1200 übermittelt werden, kann die Nachricht ψ, um sie von der Nachricht m der Verschlüsselungsvorrichtung 1200 zu unterscheiden, als Übermittlungsnachricht ψ bezeichnet werden. Zum Beispiel kann die Entschlüsselungsvorrichtung 1100 die Übermittlungsnachricht ψ berechnen, indem der verschlüsselte Text c1 und der private Schlüsselt s multipliziert werden und das Multiplikationsergebnis und der verschlüsselte Text c0 addiert werden. Hier ist der private Schlüssel s der gleiche wie der private Schlüssel s der Schlüsselerzeugung.The decryption device 1100 can calculate and generate a message ψ based on the encrypted texts c 0 and c 1 and the private key s. Since the message ψ from the encrypted texts c 0 and c 1 is calculated by the encryption device 1200 can be transmitted, the message ψ to it from the message m of the encryption device 1200 to distinguish, be referred to as a transmission message ψ. For example, the decryption device 1100 calculate the transmission message ψ by multiplying the encrypted text c 1 and the private key s and adding the multiplication result and the encrypted text c 0. Here is the private key s of same as the private key s of the key generation.

Um die Klartextnachricht m der Verschlüsselungsvorrichtung 1200 zu erhalten, wird die Übermittlungsnachricht ψ entschlüsselt. Eine andere konventionelle Entschlüsselungsvorrichtung als die Entschlüsselungsvorrichtung 1100 kann die Übermittlungsnachricht ψ ebenfalls entschlüsseln. Allerdings kann abhängig von Größen der Fehler u, g und h, die durch die Verschlüsselungsvorrichtung 1200 verwendet werden, in der herkömmlichen Entschlüsselungsvorrichtung ein Fehler bei der Entschlüsselungsoperation auftreten, und es kann eine andere Nachricht als die Klartextnachricht m in der herkömmlichen Entschlüsselungsvorrichtung berechnet werden. Insbesondere wenn die Größen der Fehler u, g und h ein spezifisches Level (einen spezifischen Wert) überschreiten, kann die Nachricht, die eine andere ist als die Klartextnachricht m, in der herkömmlichen Entschlüsselungsvorrichtung berechnet oder wiederhergestellt werden. Die Fehler u, g und h in der Verschlüsselungsvorrichtung 1200 werden verwendet, um zu verringern oder zu verhindern, dass ein Angreifer die Klartextnachricht m leicht erhält. Das heißt, der RLWE-Verschlüsselungsalgorithmus verwendet ein Verfahren, bei dem absichtlich Fehler u, g und h addiert werden, sodass ein Angreifer die Klartextnachricht m nicht leicht erhalten kann. Wenn die Größen der Fehler u, g und h, die die Verschlüsselungsvorrichtung 1200 fähig ist, zu verwenden, aufgrund von Fehlern der Entschlüsselungsoperation begrenzt sind, was bei der herkömmlichen Entschlüsselungsvorrichtung aufgrund der Größen der Fehler u, g und h der Fall sein kann, tritt daher ein Problem auf, nämlich dass die Sicherheit des Verschlüsselungsalgorithmus schwach ist.To the plain text message m the encryption device 1200 the transmission message ψ is decrypted. A conventional decryption device other than the decryption device 1100 can also decrypt the transmission message ψ. However, depending on the sizes of the errors u, g and h generated by the encryption device 1200 can be used, an error occurs in the decryption operation in the conventional decryption apparatus, and a message other than the plain text message m may be calculated in the conventional decryption apparatus. In particular, when the sizes of the errors u, g and h exceed a specific level (specific value), the message other than the plain text message m can be calculated or recovered in the conventional decryption apparatus. The errors u, g and h in the encryption device 1200 are used to reduce or prevent an attacker from easily receiving the plaintext message m. That is, the RLWE encryption algorithm uses a method in which errors u, g and h are intentionally added so that an attacker cannot easily obtain the plain text message m. If the sizes of the errors u, g and h that the encryption device 1200 being able to use are limited due to errors in the decryption operation, which may be the case with the conventional decryption apparatus due to the sizes of the errors u, g and h, therefore, there arises a problem that the security of the encryption algorithm is weak.

Um das oben beschriebene Problem zu lösen, entschlüsselt die Entschlüsselungsvorrichtung 1100 gemäß einigen beispielhaften Ausführungsformen des erfinderischen Konzepts die Übermittlungsnachricht ψ nicht wie sie ist. Stattdessen kann die Entschlüsselungsvorrichtung 1100 eine modifizierte Übermittlungsnachricht ψ' berechnen und erzeugen, indem die Übermittlungsnachricht ψ modifiziert, geändert oder eingestellt wird. Zum Beispiel kann die Entschlüsselungsvorrichtung 1100 einen Koeffizienten der modifizierten Übermittlungsnachricht ψ' basierend auf einer Größe des Koeffizienten der Übermittlungsnachricht ψ festlegen. Da die Übermittlungsnachricht ψ abhängig von einer Dimension des Polynoms mehrere Koeffizienten umfassen kann, kann die Entschlüsselungsvorrichtung 1100 jeden Koeffizienten der modifizierten Übermittlungsnachricht ψ' festlegen. Die Entschlüsselungsvorrichtung 1100 kann den Koeffizienten der modifizierten Übermittlungsnachricht ψ' festlegen, indem sie eine Bestimmungsfunktion ζ verwendet. Gemäß 1 kann der Koeffizient der Übermittlungsnachricht ψ als coef(ψ) wiedergegeben werden, der Koeffizient der modifizierten Übermittlungsnachricht ψ', das heißt, der Koeffizient, der von der Bestimmungsfunktion ζ festgelegt wurde, kann als coef(ψ') ausgedrückt werden. Die modifizierte Übermittlungsnachricht ψ' kann auch als modifizierte ψ' bezeichnet werden.In order to solve the problem described above, the decryption device decrypts 1100 According to some exemplary embodiments of the inventive concept, the delivery message ψ is not as it is. Instead, the decryption device 1100 calculate and generate a modified transmission message ψ 'by modifying, changing or setting the transmission message ψ. For example, the decryption device 1100 define a coefficient of the modified transmission message ψ 'based on a size of the coefficient of the transmission message ψ. Since the transmission message ψ can include several coefficients depending on a dimension of the polynomial, the decryption device can 1100 define each coefficient of the modified transmission message ψ '. The decryption device 1100 can set the coefficient of the modified delivery message ψ 'by using a determination function ζ. According to 1 the coefficient of the delivery message ψ can be expressed as coef (ψ), the coefficient of the modified delivery message ψ ', that is, the coefficient set by the determination function ζ can be expressed as coef (ψ'). The modified transmission message ψ 'can also be referred to as modified ψ'.

Zum Beispiel wenn coef (ψ) größer ist als ein Referenzwert q/2 (>; oder vielmehr (≥)) und coef(ψ) gerade ist, kann die Entschlüsselungsvorrichtung 1100 coef(ψ') als 1 (coef(ψ') = 1) festlegen, indem sie coef(ψ) zu 1 modifiziert. Wenn coef(ψ) größer ist als der Referenzwert q/2 (>; oder größer gleich (≥)) und coeff(ψ) ungerade ist, kann die Entschlüsselungsvorrichtung 1100 coef(ψ') 0 als (coef(ψ') = 0) festlegen, indem sie coef (ψ) zu 0 modifiziert. Wenn coef (ψ) kleiner ist als der Referenzwert q/2 (<; kleiner gleich (≤)), kann die Entschlüsselungsvorrichtung 1100 coef(ψ) beibehalten und kann coef(ψ') als coef (ψ) festlegen. Zum Beispiel kann die Entschlüsselungsvorrichtung 1100 den Referenzwert q/2 berechnen, indem sie bei der Primzahl q eine Divisionsoperation durchführt sowie eine Rundungsoperation, eine Abrundungsoperation oder eine Aufrundungsoperation bei einem Ergebnis der Divisionsoperation eines Divisor „2“ durchführt. Selbstverständlich ist der Referenzwert nicht auf q/2 beschränkt. Die Entschlüsselungsvorrichtung 1100 kann den Referenzwert berechnen, indem eine Divisionsoperation eines Divisors, der eine natürlich Zahl ist, die nicht 2 ist, bei der Primzahl durchgeführt wird und die Rundungsoperation, die Abrundungsoperation oder die Aufrundungsoperation bei einem Ergebnis der Divisionsoperation durchgeführt wird.For example, if coef (ψ) is greater than a reference value q / 2 (>; or rather (≥)) and coef (ψ) is even, the decryption device can 1100 Set coef (ψ ') as 1 (coef (ψ') = 1) by modifying coef (ψ) to 1. If coef (ψ) is greater than the reference value q / 2 (>; or greater than or equal to (≥)) and coeff (ψ) is odd, the decryption device can 1100 Set coef (ψ ') 0 as (coef (ψ') = 0) by modifying coef (ψ) to 0. If coef (ψ) is less than the reference value q / 2 (<; less than or equal to (≤)), the decryption device can 1100 coef (ψ) and can specify coef (ψ ') as coef (ψ). For example, the decryption device 1100 calculate the reference value q / 2 by performing a division operation on the prime number q, a rounding operation, a rounding operation, or a rounding operation on a result of the division operation of a divisor “2”. Of course, the reference value is not limited to q / 2. The decryption device 1100 can calculate the reference value by performing a division operation of a divisor other than a natural number other than 2 on the prime number and performing the rounding operation, the rounding down operation, or the rounding up operation on a result of the dividing operation.

Zum Beispiel kann die Übermittlungsnachricht ψ einen Koeffizienten aufweisen, der größer (oder gleich) dem Referenzwert q/2 ist, aber die modifizierte Übermittlungsnachricht ψ' weist keinen Koeffizienten auf, der größer (oder gleich) dem Referenzwert q/2 ist. In einigen beispielhaften Ausführungsformen, wenn alle Koeffizienten der Übermittlungsnachricht ψ kleiner sind als der Referenzwert q/2, kann die modifizierte Übermittlungsnachricht ψ' die gleiche sein wie die Übermittlungsnachricht ψ.For example, the delivery message ψ may have a coefficient that is greater than (or equal to) the reference value q / 2, but the modified delivery message ψ 'does not have a coefficient that is greater than (or equal to) the reference value q / 2. In some exemplary embodiments, if all the coefficients of the delivery message ψ are less than the reference value q / 2, the modified delivery message ψ 'may be the same as the delivery message ψ.

Die Entschlüsselungsvorrichtung 1100 kann die modifizierte Übermittlungsnachricht ψ' entschlüsseln, die einen Koeffizienten aufweist, der durch die Bestimmungsfunktion ζ anstelle der Übermittlungsnachricht ψ festgelegt wurde. Zum Beispiel kann die Entschlüsselungsvorrichtung 1100 eine Entschlüsselungsnachricht m'' berechnen, indem sie eine Modulo-Operation (z. B. ψ' mod t) bei der modifizierten Übermittlungsnachricht ψ' durchführt, und kann die Klartextnachricht m wiederherstellen. Der Divisor der Modulo-Operation der Entschlüsselung kann zum Beispiel der Parameter t sein. Der Parameter t kann, zum Beispiel, 2 sein, aber die erfinderischen Konzepte sind nicht darauf beschränkt. Hier ist der Parameter t der gleiche wie der Parameter t der Schlüsselerzeugung. Da die Entschlüsselungsvorrichtung 1100 den Koeffizienten der Übermittlungsnachricht ψ festlegt und die modifizierte Übermittlungsnachricht ψ', welche den festgelegten Koeffizienten aufweist, anstelle der Übermittlungsnachricht ψ entschlüsselt, kann die Entschlüsselungsvorrichtung 1100 ein Problem adressieren, bei dem Größen der Fehler u, g und h, die in der Verschlüsselungsvorrichtung 1200 verwendet werden, aufgrund eines Entschlüsselungsfehlers der Übermittlungsnachricht ψ beschränkt sind.The decryption device 1100 can decrypt the modified transmission message ψ ', which has a coefficient which was determined by the determination function ζ instead of the transmission message ψ. For example, the decryption device 1100 calculate a decryption message m "by performing a modulo operation (e.g. ψ 'mod t) on the modified transmission message ψ', and can restore the plaintext message m. The divisor of the modulo operation of the decryption can be, for example, the parameter t. The parameter t can be 2, for example, but the inventive concepts are not limited to this. Here is the one Parameter t the same as the key generation parameter t. As the decryption device 1100 defines the coefficient of the transmission message ψ and the modified transmission message ψ ', which has the specified coefficient, instead of the transmission message ψ decrypts, the decryption device 1100 to address a problem where the sizes of the errors u, g and h present in the encryption device 1200 are restricted due to a decryption failure of the transmission message ψ.

Nachfolgend werden Beispiele für eine Operation der herkömmlichen Entschlüsselungsvorrichtung beschrieben, welche die Übermittlungsnachricht ψ entschlüsselt, sowie die Entschlüsselungsvorrichtung 1100, die die modifizierte Übermittlungsnachricht ψ' entschlüsselt. Allerdings ist der Umfang der erfinderischen Konzepte nicht auf unten beschriebene numerische Werte beschränkt. Es wird angenommen, dass n gleich 8 ist, q gleich 257 und t gleich 2 ist. Es wird angenommen, dass die Klartextnachricht m {Grad (7)} [1. 0. 0. 0. 0. 1. 1. 1.] ist (z. B. m = x7 + x2 + x1 + 1). Es wird angenommen, dass die Entschlüsselungsvorrichtung 1100 den öffentlichen Schlüssel ao von {Grad (7)} [161. - 207. -91. -170. 100. -76. -49. -185.] (z. B. a0 = 161x7 - 207x6 - 91x5 - 170x4 + 100x3 - 76x2 - 49x1 - 185) und den öffentlichen Schlüssel ai von {Grad (7)} [77. -118. - 150. 173. 167. 133. 5. -183.] (z. B. a1 = 77x7 - 118x6 - 150x5 + 173x4 + 167x3 + 133x2 + 5X 1 - 183) erzeugt. Es wird angenommen, dass die Verschlüsselungsvorrichtung 1200 den verschlüsselten Text co von {Grad (7)} [-25. 125. 234. 89. -48. -44. -3. -67.] (z. B. c0 = -25x7 + 125x6 + 234x5 + 89x4 - 48x3 - 44x2 - 3x1 - 67) und den verschlüsselten Text c1 von {Grad (7)} [216. -136. 5. -39. -13. 21. -176.] (z. B. c1 = 216x7 - 136x6 + 178x5 + 5x4 - 39x3 - 13x2 + 21x1 - 176) aus den oben beschriebenen öffentlichen Schlüsseln a0 und a1 erzeugt. Es wird angenommen, dass die Entschlüsselungsvorrichtung 1100 die Übermittlungsnachricht ψ von {Grad (7)} [-11. 253. 2. -2. 0. -5. -3. -254.] (z. B. ψ = -11x7 + 253x6 + 2x5 - 2x4 - 5x2 - 3x1 - 254) aus den oben beschriebenen verschlüsselten Texten c0 und c1 berechnet.The following describes examples of an operation of the conventional decryption device which decrypts the transmission message ψ and the decryption device 1100 that decrypts the modified transmission message ψ '. However, the scope of the inventive concepts is not limited to the numerical values described below. It is assumed that n is 8, q is 257, and t is 2. It is assumed that the plaintext message is m {degree (7)} [1. 0. 0. 0. 0. 1. 1. 1.] (e.g. m = x 7 + x 2 + x 1 + 1). It is assumed that the decryption device 1100 the public key ao of {grade (7)} [161. - 207. -91. -170. 100-76. -49. -185.] (E.g. a 0 = 161x 7 - 207x 6 - 91x 5 - 170x 4 + 100x 3 - 76x 2 - 49x 1 - 185) and the public key ai of {degree (7)} [77. -118. - 150, 173, 167, 133, 5. -183.] (E.g. a 1 = 77x 7 - 118x 6 - 150x 5 + 173x 4 + 167x 3 + 133x 2 + 5 X 1 - 183). It is assumed that the encryption device 1200 the ciphertext co of {degree (7)} [-25. 125, 234, 89. -48. -44. -3. -67.] (E.g. c 0 = -25x 7 + 125x 6 + 234x 5 + 89x 4 - 48x 3 - 44x 2 - 3x 1 - 67) and the encrypted text c 1 of {degree (7)} [ 216. -136. 5. -39. -13. 21. -176.] (E.g. c 1 = 216x 7 - 136x 6 + 178x 5 + 5x 4 - 39x 3 - 13x 2 + 21x 1 - 176) are generated from the public keys a 0 and a 1 described above. It is assumed that the decryption device 1100 the transmission message ψ of {degree (7)} [-11. 253. 2nd -2. 0. -5. -3. -254.] (E.g. ψ = -11x 7 + 253x 6 + 2x 5 - 2x 4 - 5x 2 - 3x 1 - 254) calculated from the encrypted texts c 0 and c 1 described above.

Die herkömmliche Entschlüsselungsvorrichtung wird die Übermittlungsnachricht ψ entschlüsseln und kann eine Modulo-Operation des Divisors, der einen Parameter t aufweist, bei der Übermittlungsnachricht ψ durchführen. Die herkömmliche Entschlüsselungsvorrichtung kann eine Entschlüsselungsnachricht m' von {Grad (7)} [1. 1. 0. 0. 0. 1. 1. 0.] (z. B. m' = x7 + x6 + x2 + x1) als Ergebnis der Entschlüsselung berechnen. Die Entschlüsselungsnachricht m' der herkömmlichen Entschlüsselungsvorrichtung unterscheidet sich von der Klartextnachricht m.The conventional decryption device will decrypt the transmission message ψ and can perform a modulo operation of the divisor having a parameter t on the transmission message ψ. The conventional decryption apparatus can decrypt a decryption message m 'of {degree (7)} [1. 1. 0. 0. 0. 1. 1. 0.] (e.g. m '= x 7 + x 6 + x 2 + x 1 ) as the result of the decryption. The decryption message m 'of the conventional decryption device differs from the plain text message m.

Dagegen kann die Entschlüsselungsvorrichtung 1100 die modifizierte Übermittlungsnachricht ψ' berechnen, indem die Übermittlungsnachricht ψ modifiziert wird. Die Entschlüsselungsvorrichtung 1100 kann jeden der Koeffizienten der modifizierten Übermittlungsnachricht ψ' festlegen und kann die modifizierte Übermittlungsnachricht ψ' von {Grad (7)} [-11. 0. 2. -2. 0. -5. -3. 1.] (z. B. ψ' = -11x7 + 2x5 - 2x4 - 5x2 - 3x1 + 1) berechnen. In Bezug auf die Übermittlungsnachricht ψ und die modifizierte Übermittlungsnachricht ψ' kann die Entschlüsselungsvorrichtung 1100 die Koeffizienten beibehalten (-11, 2, -2, 0, -5, -3) aus x7, x5, x4, x3, x2, x1, die kleiner sind als der Referenzwert 257/2, basierend auf der Bestimmungsfunktion ζ, kann den Koeffizienten 253 von x6, der größer ist als der Referenzwert 257/2 und ungerade ist, zu 0 modifizieren, und kann den Koeffizienten - 254 von x0, der größer ist als der Referenzwert 257/2 und gerade ist, zu 1 modifizieren. Die Entschlüsselungsvorrichtung 1100 kann eine Modulo-Operation bei einem Divisor, der einen Parameter t aufweist, bei der modifizierten Übermittlungsnachricht ψ' durchführen. Die Entschlüsselungsvorrichtung 1100 kann die Entschlüsselungsnachricht m'' (z. B. m'' = x7 + x2 + x1 + 1) von {Grad (7)} [1. 0. 0. 0. 0. 1. 1. 1.] als Ergebnis der Entschlüsselung berechnen. Die Entschlüsselungsnachricht m'' der Entschlüsselungsvorrichtung 1100 ist die gleiche wie die Klartextnachricht m. Das heißt, die herkömmliche Entschlüsselungsvorrichtung berechnet die Entschlüsselungsnachricht m' anders als die Klartextnachricht m, aber die Entschlüsselungsvorrichtung 1100 kann die Entschlüsselungsnachricht m'', die mit der Klartextnachricht m identisch ist, ungeachtet der Größen der Fehler u, g und h berechnen.On the other hand, the decryption device 1100 calculate the modified delivery message ψ 'by modifying the delivery message ψ. The decryption device 1100 can set each of the coefficients of the modified delivery message ψ 'and can set the modified delivery message ψ' from {grade (7)} [-11. 0. 2. -2. 0. -5. -3. 1.] (e.g. ψ '= -11x 7 + 2x 5 - 2x 4 - 5x 2 - 3x 1 + 1). With regard to the transmission message ψ and the modified transmission message ψ ', the decryption device 1100 keep the coefficients (-11, 2, -2, 0, -5, -3) from x 7 , x 5 , x 4 , x 3 , x 2 , x 1 that are smaller than the reference value 257/2 , based on the determination function ζ, can use the coefficient 253 of x 6 , which is greater than the reference value 257/2 and is odd, modify to 0, and can modify the coefficient -254 of x 0 that is greater than the reference value 257/2 and even is to modify 1. The decryption device 1100 can perform a modulo operation on a divisor that has a parameter t on the modified transmission message ψ '. The decryption device 1100 the decryption message m "(e.g. m" = x 7 + x 2 + x 1 + 1) of {degree (7)} [1. 0. 0. 0. 0. 1. 1. 1.] as the result of the decryption. The decryption message m ″ from the decryption device 1100 is the same as the plain text message m. That is, the conventional decryption device calculates the decryption message m 'differently from the plain text message m, but the decryption device calculates 1100 can compute the decryption message m ″, which is identical to the plain text message m, regardless of the sizes of the errors u, g and h.

2 ist ein Flussdiagramm, das ein Betriebsverfahren des Kommunikationssystems aus 1 darstellt. Vorgänge S110 und S120, die durch die Entschlüsselungsvorrichtung 1100 durchgeführt werden, können einer Schlüsselerzeugung des RLWE-Verschlüsselungsalgorithmus entsprechen, Vorgänge S140 und S150, die durch die Verschlüsselungsvorrichtung 1200 durchgeführt werden, können der Verschlüsselung des RLWE-Verschlüsselungsalgorithmus entsprechen, und Vorgänge S170 und S190, die durch die Entschlüsselungsvorrichtung 1100 durchgeführt werden, können der Entschlüsselung des RLWE-Verschlüsselungsalgorithmus entsprechen. 2 Fig. 13 is a flowchart showing an operating method of the communication system 1 represents. Operations S110 and S120 made by the decryption device 1100 operations can correspond to a key generation of the RLWE encryption algorithm S140 and S150 by the encryption device 1200 can correspond to the encryption of the RLWE encryption algorithm, and operations S170 and S190 made by the decryption device 1100 can correspond to the decryption of the RLWE encryption algorithm.

In Vorgang S110 kann die Entschlüsselungsvorrichtung 1100 den öffentlichen Schlüssel ai aus dem Ring Rq sampeln, kann den privaten Schlüssel s aus der Normalverteilung χ sampeln und kann den Fehler e aus der Normalverteilung χ sampeln. Wie oben beschrieben, ist f(x) ein ganzzahliger Polynom n. Grades. Zum Beispiel sind der öffentliche Schlüssel ai, der private Schlüssel s und der Fehler e jeweils ein ganzzahliges Polynom n-1. Grades und können Koeffizienten aufweisen, die kleiner sind als die Primzahl q.In process S110 can the decryption device 1100 sample the public key ai from the ring R q , can sample the private key s from the normal distribution χ and can sample the error e from the normal distribution χ. As described above, f (x) is an integer polynomial of the nth degree. For example, the public key ai, the private key s, and the error e are each an integer polynomial n-1. Degree and can have coefficients that are smaller than the prime number q.

In Vorgang S120 kann die Entschlüsselungsvorrichtung 1100 den öffentlichen Schlüssel ao basierend auf dem privaten Schlüssel s und dem öffentlichen Schlüssel ai berechnen. Die Entschlüsselungsvorrichtung 1100 kann den öffentlichen Schlüssel ao berechnen, indem sie den Fehler e zu dem Multiplikationsergebnis des privaten Schlüssels s und des öffentlichen Schlüssels ai addiert. Der öffentliche Schlüssel ao ist zum Beispiel ein ganzzahliges Polynom n-1. Grades und kann Koeffizienten aufweisen, die kleiner sind als die Primzahl q.In process S120 can the decryption device 1100 calculate the public key ao based on the private key s and the public key ai. The decryption device 1100 can calculate the public key ao by adding the error e to the multiplication result of the private key s and the public key ai. The public key ao is, for example, an integer polynomial n-1. Degree and can have coefficients that are smaller than the prime number q.

In Vorgang S130 kann die Entschlüsselungsvorrichtung 1100 öffentliche Schlüssel (pk = (a0 und a1)) an die Verschlüsselungsvorrichtung 1200 übermitteln (bereitstellen oder ausgeben). Die Verschlüsselungsvorrichtung 1200 kann die öffentlichen Schlüssel (pk = (a0 und a1)) von der Entschlüsselungsvorrichtung 1100 erhalten.In process S130 can the decryption device 1100 public key (pk = (a 0 and a 1 )) to the encryption device 1200 transmit (provide or output). The encryption device 1200 can get the public key (pk = (a 0 and a 1 )) from the decryption device 1100 receive.

In Vorgang S140 kann die Verschlüsselungsvorrichtung 1200 die Fehler u, g und h aus der Normalverteilung χ sampeln. Die Normalverteilung χ, die durch die Entschlüsselungsvorrichtung 1100 verwendet wird, kann sich von der Normalverteilung χ unterscheiden, die durch die Verschlüsselungsvorrichtung 1200 verwendet wird. Zum Beispiel sind die Fehler u, g und h jeweils ein ganzzahliges Polynom n-1. Grades und können Koeffizienten aufweisen, die kleiner sind als die Primzahl q.In process S140 can the encryption device 1200 sample the errors u, g and h from the normal distribution χ. The normal distribution χ obtained by the decryption device 1100 used may differ from the normal distribution χ given by the encryption device 1200 is used. For example, the errors u, g, and h are each an integer polynomial n-1. Degree and can have coefficients that are smaller than the prime number q.

In Vorgang S150 kann die Verschlüsselungsvorrichtung 1200 die verschlüsselten Texte co und c1 berechnen. Die Verschlüsselungsvorrichtung 1200 kann den verschlüsselten Text co basierend auf dem öffentlichen Schlüssel ao und der Klartextnachricht m berechnen. Zum Beispiel ist die Klartextnachricht m ein ganzzahliges Polynom n-1. Grades und kann Koeffizienten aufweisen, die kleiner sind als der Parameter t. In einem anderen Beispiel ist die Klartextnachricht m ein ganzzahliges Polynom n-1. Grades und kann Koeffizienten aufweisen, die kleiner sind als die Primzahl q. Die Verschlüsselungsvorrichtung 1200 kann den verschlüsselten Text co berechnen, indem sie das Multiplikationsergebnis des öffentlichen Schlüssels ao und des Fehlers u, das Multiplikationsergebnis des Parameters t und des Fehlers g, sowie die Klartextnachricht m addiert. Die Verschlüsselungsvorrichtung 1200 kann einen verschlüsselten Text c1 basierend auf dem öffentlichen Schlüssel ai berechnen. Die Verschlüsselungsvorrichtung 1200 kann den verschlüsselten Text c1 berechnen, indem sie das Multiplikationsergebnis des öffentlichen Schlüssels ai und des Fehlers u sowie das Multiplikationsergebnis des Parameters t und des Fehlers h addiert. Zum Beispiel sind die verschlüsselten Texte co und c1 ein ganzzahliges Polynom n-1. Grades und können Koeffizienten aufweisen, die kleiner sind als die Primzahl q.In process S150 can the encryption device 1200 calculate the encrypted texts co and c 1. The encryption device 1200 can calculate the encrypted text co based on the public key ao and the plain text message m. For example, the plain text message m is an integer polynomial n-1. Degree and can have coefficients that are smaller than the parameter t. In another example, the plaintext message m is an integer polynomial n-1. Degree and can have coefficients that are smaller than the prime number q. The encryption device 1200 can calculate the encrypted text co by adding the multiplication result of the public key ao and the error u, the multiplication result of the parameter t and the error g, and the plaintext message m. The encryption device 1200 can calculate an encrypted text c 1 based on the public key ai. The encryption device 1200 can calculate the encrypted text c 1 by adding the multiplication result of the public key ai and the error u and the multiplication result of the parameter t and the error h. For example, the encrypted texts co and c 1 are an integer polynomial n-1. Degree and can have coefficients that are smaller than the prime number q.

In Vorgang S160 kann die Verschlüsselungsvorrichtung 1200 die verschlüsselten Texte (ct = (c0 und c1)) an die Entschlüsselungsvorrichtung 1100 übermitteln. Die Entschlüsselungsvorrichtung 1100 kann die verschlüsselten Texte (ct = (c0 und c1)) von der Verschlüsselungsvorrichtung 1200 empfangen.In process S160 can the encryption device 1200 the encrypted texts (ct = (c 0 and c 1 )) to the decryption device 1100 to transfer. The decryption device 1100 can receive the encrypted texts (ct = (c 0 and c 1 )) from the encryption device 1200 receive.

In Vorgang S170 kann die Entschlüsselungsvorrichtung 1100 die Übermittlungsnachricht ψ basierend auf den verschlüsselten Texten c0 und c1 sowie dem privaten Schlüssel s berechnen. Die Entschlüsselungsvorrichtung 1100 kann die Übermittlungsnachricht ψ berechnen, indem sie das Multiplikationsergebnis des verschlüsselten Textes c1 und des privaten Schlüssels s zu dem verschlüsselten Text c0 addiert. Die Übermittlungsnachricht ψ ist zum Beispiel ein ganzzahliges Polynom n-1. Grades und kann Koeffizienten aufweisen, die kleiner sind als die Primzahl q.In process S170 can the decryption device 1100 calculate the transmission message ψ based on the encrypted texts c 0 and c 1 and the private key s. The decryption device 1100 can calculate the transmission message ψ by adding the multiplication result of the encrypted text c 1 and the private key s to the encrypted text c 0 . The transmission message ψ is, for example, an integer polynomial n-1. Degree and can have coefficients that are smaller than the prime number q.

In Vorgang S180 kann die Entschlüsselungsvorrichtung 1100 die modifizierte Übermittlungsnachricht ψ' berechnen, indem sie die Übermittlungsnachricht ψ modifiziert. Die modifizierte Übermittlungsnachricht ψ' ist zum Beispiel ein ganzzahliges Polynom n-1. Grades und kann Koeffizienten aufweisen, die kleiner sind als die Primzahl q. Die Entschlüsselungsvorrichtung 1100 kann den Koeffizienten der modifizierten Übermittlungsnachricht ψ' abhängig von dem Vergleichsergebnis des Koeffizienten der Übermittlungsnachricht ψ und des Referenzwertes q/2 basierend auf der Primzahl q festlegen.In process S180 can the decryption device 1100 calculate the modified delivery message ψ 'by modifying the delivery message ψ. The modified transmission message ψ 'is, for example, an integer polynomial n-1. Degree and can have coefficients that are smaller than the prime number q. The decryption device 1100 can determine the coefficient of the modified transmission message ψ 'depending on the result of the comparison of the coefficient of the transmission message ψ and the reference value q / 2 based on the prime number q.

In Vorgang S190 kann die Entschlüsselungsvorrichtung 1100 die modifizierte Übermittlungsnachricht ψ' entschlüsseln und kann die Entschlüsselungsnachricht m'' berechnen. Die Entschlüsselungsvorrichtung 1100 kann zum Beispiel eine Modulo-Operation bei einem Divisor, der einen Parameter t aufweist, bei der modifizierten Übermittlungsnachricht ψ' durchführen.In process S190 can the decryption device 1100 decrypt the modified transmission message ent 'and can calculate the decryption message m''. The decryption device 1100 can, for example, perform a modulo operation on a divisor that has a parameter t on the modified transmission message ψ '.

3 ist ein Flussdiagramm, das detaillierte Operationen eines Vorgangs S180 aus 2 detaillierter darstellt. 3 Fig. 10 is a flow chart showing detailed operations of a process S180 out 2 represents in more detail.

Gemäß 2 und 3 kann die Entschlüsselungsvorrichtung 1100 in Vorgang S181 festlegen, ob der Koeffizient coef (ψ) der Übermittlungsnachricht ψ größer (>; oder größer gleich (>)) dem Referenzwert q/2 ist. Wie oben beschrieben, kann die Entschlüsselungsvorrichtung 1100 eine Divisionsoperation bei der Primzahl q sowie eine Rundungsoperation, eine Abrundungsoperation oder eine Aufrundungsoperation bei einem Ergebnis der Divisionsoperation des Divisors 2 durchführen und kann das Ausführungsergebnis der Divisionsoperation und der Rundungsoperation, der Abrundungsoperation oder der Aufrundungsoperation als Referenzwert berechnen. Die Entschlüsselungsvorrichtung 1100 kann zum Beispiel coef ψ und den Referenzwert q/2 vergleichen.According to 2 and 3 can the decryption device 1100 in process S181 specify whether the coefficient coef (ψ) of the transmission message ψ is greater than (>; or greater than or equal to (>)) the reference value q / 2. As described above, the decryption device 1100 a division operation on the prime q and a rounding operation, a rounding operation or a rounding operation on a result of the division operation of the divisor 2 and can calculate the execution result of the division operation and the rounding operation, the rounding down operation or the rounding up operation as a reference value. The decryption device 1100 can for example, compare coef ψ and the reference value q / 2.

Wenn coef(ψ) > q/2 oder coef(ψ) ≥ q/2, kann die Entschlüsselungsvorrichtung 1100 in Vorgang S182 überprüfen, ob coef(ψ) gerade oder ungerade ist. Zum Beispiel kann die Entschlüsselungsvorrichtung 1100 eine Divisionsoperation des Divisors 2 bei coef(ψ) durchführen und einen Rest überprüfen. Die Entschlüsselungsvorrichtung 1100 kann coef (ψ) durch 2 dividieren und kann den Rest überprüfen. Hier rührt 2 von dem oben beschriebenen Parameter t.If coef (ψ)> q / 2 or coef (ψ) ≥ q / 2, the decryption device can 1100 in process S182 check if coef (ψ) is odd or even. For example, the decryption device 1100 perform a division operation of divisor 2 at coef (ψ) and check a remainder. The decryption device 1100 can divide coef (ψ) by 2 and check the remainder. Here 2 comes from the parameter t described above.

Wenn coef (ψ) ungerade ist, kann die Entschlüsselungsvorrichtung 1100 in Vorgang S183 coef(ψ'), welcher ein Koeffizient der modifizierten Übermittlungsnachricht ψ' ist, als 0 festlegen und kann coef (ψ) zu 0 modifizieren. Wenn coef (ψ) gerade ist, kann die Entschlüsselungsvorrichtung 1100 in Vorgang S184 coef(ψ') als 1 festlegen und kann coef (ψ) zu 1 modifizieren. Wenn coef (ψ) < q/2 oder coef(ψ) ≤ q/2, kann die Entschlüsselungsvorrichtung 1100 in Vorgang S185 coef(ψ') als coef(ψ) festlegen und kann coef(ψ) beibehalten.If coef (ψ) is odd, the decoder can 1100 in process S183 Set coef (ψ '), which is a coefficient of the modified transmission message ψ', to be 0 and can modify coef (ψ) to be 0. If coef (ψ) is even, the decryption device can 1100 in process S184 Define coef (ψ ') as 1 and can modify coef (ψ) to 1. If coef (ψ) <q / 2 or coef (ψ) ≤ q / 2, the decryption device can 1100 in process S185 Specify coef (ψ ') as coef (ψ) and can keep coef (ψ).

Oben unter Bezugnahme auf 3 beschriebene Vorgänge S181 bis S185 gelten für einige beispielhafte Ausführungsformen, in denen der Parameter t 2 beträgt. Der Parameter t kann zum Beispiel 2 oder mehr betragen. Anders als die Darstellung aus 3 kann die Entschlüsselungsvorrichtung 1100 in Vorgang S182 coef(ψ) durch den Parameter t dividieren und den Rest überprüfen. Anders als die Darstellung aus 3 kann die Entschlüsselungsvorrichtung 1100 in Vorgang S183 und Vorgang S184 coef(ψ') als einen einer Mehrzahl an Werten festlegen und kann coef (ψ) basierend auf dem Rest zu dem entsprechenden Wert modifizieren. Die Mehrzahl an Werte können Werte sein, die der Rest aufweisen kann. Zusammengefasst: wenn coef(ψ) kleiner gleich dem Referenzwert q/2 ist, kann coef(ψ') coef (ψ) sein. Wenn coef (ψ) größer gleich dem Referenzwert q/2 ist, kann coef(ψ') zu einem der Werte modifiziert werden, die der Rest aufweisen kann, wenn der coef (ψ) durch den Parameter t dividiert wird.Above with reference to 3 operations described S181 to S185 apply to some exemplary embodiments in which the parameter t is 2. The parameter t can be, for example, 2 or more. Different from the representation 3 can the decryption device 1100 in process S182 Divide coef (ψ) by the parameter t and check the remainder. Different from the representation 3 can the decryption device 1100 in process S183 and process S184 set coef (ψ ') as one of a plurality of values and can modify coef (ψ) to the appropriate value based on the remainder. The majority of values can be values that the remainder can have. In summary: if coef (ψ) is less than or equal to the reference value q / 2, then coef (ψ ') can be coef (ψ). If coef (ψ) is greater than or equal to the reference value q / 2, coef (ψ ') can be modified to one of the values that the remainder can have if the coef (ψ) is divided by the parameter t.

4 ist ein Blockdiagramm, das ein Kommunikationssystem aus 1 gemäß einigen beispielhaften Ausführungsform des erfinderischen Konzepts darstellt. 4th Figure 3 is a block diagram showing a communication system 1 according to some exemplary embodiments of the inventive concept.

Gemäß 1 und 4 kann ein Kommunikationssystem 1000a ein Beispiel für das Kommunikationssystem 1000 aus 1 sein, sodass eine Entschlüsselungsvorrichtung 1100a ein Beispiel für die Entschlüsselungsvorrichtung 1100 aus 1 sein kann und eine Verschlüsselungsvorrichtung 1200a ein Beispiel für die Verschlüsselungsvorrichtung 1200 aus 1 sein kann.According to 1 and 4th can be a communication system 1000a an example of the communication system 1000 out 1 so be a decryption device 1100a an example of the decryption device 1100 out 1 can be and an encryption device 1200a an example of the encryption device 1200 out 1 can be.

Die Entschlüsselungsvorrichtung 1100a kann einen Prozessor 1110, einen Speicher 1120 und eine Schnittstellenschaltung 1130 umfassen, die über einen internen Bus miteinander kommunizieren. Der Prozessor 1110 kann einen Entschlüsselungsprogrammcode ausführen, der in dem Speicher 1120 als Hardware-Vorrichtung gespeichert ist. Der Prozessor 1110 kann zum Beispiel mehrere homogene oder heterogene Kerne und einen Cache-Speicher usw. umfassen, den sich die mehreren Kerne teilen. Die mehreren homogenen oder heterogenen Kerne können eine zentrale Verarbeitungseinheit (Central Processing Unit, CPU), eine Bildsignalverarbeitungseinheit (Image Signal Processing Unit, ISP), eine digitale Signalverarbeitungseinheit (Digital Signal Processing Unit, DSP), eine Grafikverarbeitungseinheit (Graphics Processing Unit, GPU), eine Vision Processing Unit (VPU) und eine neuronale Verarbeitungseinheit (Neural Processing Unit, NPU) umfassen. Der Prozessor 1110 kann Verarbeitungsvorgänge durchführen, wie beispielsweise Abrufen, Ausführen, Anfordern von Daten sowie Speichern von Daten für Anweisungen des Entschlüsselungsprogrammcodes und arithmetische Operationen. Der Prozessor 1110 kann zum Beispiel den Speicher 1120 und die Schnittstellenschaltung 1130 steuern. Die Anzahl an Prozessoren 1110 kann eins oder mehr betragen.The decryption device 1100a can have a processor 1110 , a memory 1120 and an interface circuit 1130 that communicate with each other via an internal bus. The processor 1110 can execute a decryption program code stored in the memory 1120 is stored as a hardware device. The processor 1110 for example, may include multiple homogeneous or heterogeneous cores and a cache memory, etc. shared by the multiple cores. The multiple homogeneous or heterogeneous cores can have a central processing unit (CPU), an image signal processing unit (ISP), a digital signal processing unit (DSP), a graphics processing unit (GPU) , a vision processing unit (VPU) and a neural processing unit (NPU). The processor 1110 can perform processing operations such as fetching, executing, requesting data and storing data for instructions of the decryption program code and arithmetic operations. The processor 1110 can for example the memory 1120 and the interface circuit 1130 Taxes. The number of processors 1110 can be one or more.

Der Speicher 1120 kann ein nichtflüchtiges, computerlesbares Medium sein, welches den Entschlüsselungsprogrammcode speichert, der durch den Prozessor 1110 ausführbar ist, das heißt, eine Hardware-Vorrichtung. Der Speicher 1120 kann zum Beispiel unter Verwendung verschiedener Speichervorrichtungen implementiert werden, wie beispielsweise einer dynamischen Direktzugriffsspeicher(DRAM)-Vorrichtung, einer statischen Direktzugriffsspeicher(SRAM)-Vorrichtung, einer Thyristor-Direktzugriffsspeicher(TRAM)-Vorrichtung, einer NAND-Flash-Speichervorrichtung und einer NOR-Flash-Speichervorrichtung, einer resistiven Direktzugriffsspeicher(RRAM)-Vorrichtung, einer ferroelektrischen Direktzugriffsspeicher(FRAM)-Vorrichtung, einer Phasenänderungs-Direktzugriffsspeicher(PRAM)-Vorrichtung, einer magnetischen Direktzugriffsspeicher(MRAM)-Vorrichtung usw. Die Anzahl an Speichern 1120 kann eins oder mehr betragen. Zudem kann der Speicher 1120 mit einer externen Vorrichtung implementiert werden, die fähig ist, mit der Entschlüsselungsvorrichtung 1100 zu kommunizieren.The memory 1120 may be a non-transitory, computer readable medium that stores the decryption program code generated by the processor 1110 is executable, that is, a hardware device. The memory 1120 For example, it can be implemented using various storage devices such as a dynamic random access memory (DRAM) device, a static random access memory (SRAM) device, a thyristor random access memory (TRAM) device, a NAND flash memory device, and a NOR Flash memory device, a resistive random access memory (RRAM) device, a ferroelectric random access memory (FRAM) device, a phase change random access memory (PRAM) device, a magnetic random access memory (MRAM) device, etc. The number of memories 1120 can be one or more. In addition, the memory 1120 be implemented with an external device capable of using the decryption device 1100 to communicate.

Der Entschlüsselungsprogrammcode, der in dem Speicher 1120 gespeichert ist und von dem Prozessor 1110 ausgeführt wird, kann Anweisungen zur Schlüsselerzeugung und Entschlüsselung des RLWE-Verschlüsselungsalgorithmus umfassen, der oben unter Bezugnahme auf 1 bis 3 beschrieben ist. Zum Beispiel kann der Prozessor 1110 eine Schlüsselerzeugung und eine Entschlüsselung des oben unter Bezugnahme auf 1 bis 3 beschriebenen RLWE-Verschlüsselungsalgorithmus durchführen, indem er den Entschlüsselungsprogrammcode ausführt, der in dem Speicher 1120 gespeichert ist, und kann Vorgänge S110, S120, S170, S180 umfassend S181 bis S185 und S190 durchführen. Zudem kann der Prozessor 1110, während obige Operationen durchgeführt werden, die Normalverteilung χ, die Zahlen k und q, den Sicherheitsparameter n, den Parameter t, die öffentlichen Schlüssel a0 und a1, den privaten Schlüssel s, den Fehler e, die verschlüsselten Texte c0 und c1, die Übermittlungsnachricht ψ, die modifizierte Übermittlungsnachricht ψ' und das Operationszwischenergebnis (oder -ergebnisse) der oben beschriebenen Operationen erzeugen und kann die erzeugte Information in dem Speicher 1120 speichern.The decryption program code that is in memory 1120 is stored and used by the processor 1110 may include instructions for key generation and decryption of the RLWE encryption algorithm described above with reference to FIG 1 to 3 is described. For example, the processor can 1110 key generation and decryption of the above with reference to FIG 1 to 3 perform described RLWE encryption algorithm by executing the decryption program code that is in the memory 1120 is stored and can operations S110 , S120 , S170 , S180 including S181 bis S185 and S190 carry out. In addition, the processor 1110 , while performing the above operations, the normal distribution χ, the numbers k and q, the security parameter n, the parameter t, the public keys a 0 and a 1 , the private key s, the error e, the encrypted texts c 0 and c 1 , the delivery message ψ, the modified delivery message ψ ', and the intermediate operation result (or results) of the operations described above and can generate the generated information in the memory 1120 to save.

Die Schnittstellenschaltung 1130 kann mit einer Schnittstellenschaltung 1230 der Verschlüsselungsvorrichtung 1200a basierend auf verschiedenen drahtlosen oder Wire-Protokollen als Hardware-Vorrichtung kommunizieren. Die Schnittstellenschaltung 1130 kann die öffentlichen Schlüssel ao und ai, die von dem Prozessor 1110 erzeugt und in dem Speicher 1120 gespeichert werden, an die Schnittstellenschaltung 1230 der Verschlüsselungsvorrichtung 1200a ansprechend auf eine Anfrage von dem Prozessor 1110 übermitteln. Die Schnittstellenschaltung 1130 kann die verschlüsselten Texte c0 und c1 empfangen, die von der Schnittstellenschaltung 1230 der Verschlüsselungsvorrichtung 1200a übermittelt werden, empfangen und kann die verschlüsselten Texte c0 und c1 dem Speicher 1120 oder dem Prozessor 1110 bereitstellen.The interface circuit 1130 can with an interface circuit 1230 the encryption device 1200a Communicate as a hardware device based on various wireless or wire protocols. The interface circuit 1130 can use the public keys ao and ai used by the processor 1110 generated and in the memory 1120 are stored to the interface circuit 1230 the encryption device 1200a in response to a request from the processor 1110 to transfer. The interface circuit 1130 can receive the encrypted texts c 0 and c 1 from the interface circuit 1230 the encryption device 1200a can be transmitted, received and the encrypted texts c 0 and c 1 the memory 1120 or the processor 1110 provide.

Die Verschlüsselungsvorrichtung 1200a kann einen Prozessor 1210, einen Speicher 1220 und die Schnittstellenschaltung 1230 umfassen, die über einen internen Bus miteinander kommunizieren. Der Prozessor 1210 kann einen Verschlüsselungsprogrammcode ausführen, der in dem Speicher 1220 als Hardware-Vorrichtung gespeichert ist. Der Prozessor 1210 kann zum Beispiel ähnlich wie der Prozessor 1110 implementiert werden. Der Prozessor 1210 kann Verarbeitungsvorgänge ausführen, wie beispielsweise Abrufen, Ausführen, Anfordern von Daten sowie Speichern von Daten für Anweisungen des Verschlüsselungsprogrammcodes und arithmetische Operationen. Der Prozessor 1210 kann zum Beispiel den Speicher 1220 und die Schnittstellenschaltung 1230 steuern. Die Anzahl an Prozessoren 1210 kann eins oder mehr betragen.The encryption device 1200a can have a processor 1210 , a memory 1220 and the interface circuit 1230 that communicate with each other via an internal bus. The processor 1210 can execute an encryption program code stored in the memory 1220 is stored as a hardware device. The processor 1210 can for example be similar to the processor 1110 implemented. The processor 1210 can perform processing operations such as fetching, executing, requesting data and storing data for instructions of the encryption program code and arithmetic operations. The processor 1210 can for example the memory 1220 and the interface circuit 1230 Taxes. The number of processors 1210 can be one or more.

Der Speicher 1220 kann ein nichtflüchtiges, computerlesbares Medium sein, welches einen Verschlüsselungsprogrammcode speichert, der durch den Prozessor 1210 ausführbar ist, das heißt, eine Hardware-Vorrichtung. Der Speicher 1220 kann zum Beispiel ähnlich wie der Speicher 1120 implementiert werden. Die Anzahl an Speichern 1220 kann eins oder mehr betragen. Zudem kann der Speicher 1220 mit einer externen Vorrichtung implementiert werden, die fähig ist, mit der Verschlüsselungsvorrichtung 1200a zu kommunizieren.The memory 1220 may be a non-transitory, computer readable medium that stores encryption program code generated by the processor 1210 is executable, that is, a hardware device. The memory 1220 can for example be similar to the memory 1120 implemented. The number of memories 1220 can be one or more. In addition, the memory 1220 be implemented with an external device capable of using the encryption device 1200a to communicate.

Der Verschlüsselungsprogrammcode, der in dem Speicher 1220 gespeichert ist und von dem Prozessor 1210 ausgeführt wird, kann Anweisungen bezüglich einer Verschlüsselung des RLWE-Verschlüsselungsalgorithmus umfassen, der oben unter Bezugnahme auf 1 bis 3 beschrieben ist. Zum Beispiel kann der Prozessor 1210 eine oben unter Bezugnahme auf 1 bis 3 beschriebene Verschlüsselung des RLWE-Verschlüsselungsalgorithmus durchführen, indem er den Verschlüsselungsprogrammcode ausführt, der in dem Speicher 1220 gespeichert ist, und kann Vorgänge S140 und S150 durchführen. Zudem kann der Prozessor 1210, während er obige Operationen durchführt, die Normalverteilung χ, die Zahlen k und q, den Sicherheitsparameter n, den Parameter t, die öffentlichen Schlüssel ao und ai, die Fehler u, g und h, die verschlüsselten Texte c0 und c1 und das Operationszwischenergebnis (oder -ergebnisse) der oben beschriebenen Operationen erzeugen und kann die erzeugte Information in dem Speicher 1220 speichern.The encryption program code that is in memory 1220 is stored and used by the processor 1210 may include instructions regarding encryption of the RLWE encryption algorithm described above with reference to FIG 1 to 3 is described. For example, the processor can 1210 one above with reference to 1 to 3 perform described encryption of the RLWE encryption algorithm by executing the encryption program code that is in the memory 1220 is stored and can operations S140 and S150 carry out. In addition, the processor 1210 , while performing the above operations, the normal distribution χ, the numbers k and q, the security parameter n, the parameter t, the public keys ao and ai, the errors u, g and h, the encrypted texts c 0 and c 1 and das Intermediate operation result (or results) of the operations described above and can generate the generated information in the memory 1220 to save.

Die Schnittstellenschaltung 1230 kann mit der Schnittstellenschaltung 1130 der Entschlüsselungsvorrichtung 1100a basierend auf verschiedenen Wire- oder drahtlosen Protokollen als Hardware-Vorrichtung kommunizieren. Die Schnittstellenschaltung 1230 kann die verschlüsselten Texte co und ci, die von dem Prozessor 1210 erzeugt werden und in dem Speicher 1220 gespeichert sind, ansprechend auf eine Anfrage von dem Prozessor 1210 an die Schnittstellenschaltung 1130 der Entschlüsselungsvorrichtung 1100a übermitteln. Die Schnittstellenschaltung 1230 kann die öffentlichen Schlüssel ao und ai empfangen, die von der Schnittstellenschaltung 1130 der Entschlüsselungsvorrichtung 1100a übermittelt werden, und kann die öffentlichen Schlüssel ao und ai dem Speicher 1220 oder dem Prozessor 1210 bereitstellen.The interface circuit 1230 can with the interface circuit 1130 the decryption device 1100a Communicate as a hardware device based on various wire or wireless protocols. The interface circuit 1230 can read the encrypted texts co and ci sent by the processor 1210 are generated and in the memory 1220 in response to a request from the processor 1210 to the interface circuit 1130 the decryption device 1100a to transfer. The interface circuit 1230 can receive the public keys ao and ai from the interface circuit 1130 the decryption device 1100a can be transmitted, and the public keys ao and ai to the store 1220 or the processor 1210 provide.

5 ist ein Blockschaltbild, das ein Kommunikationssystem aus 1 gemäß einigen beispielhaften Ausführungsformen der erfinderischen Konzepte darstellt. 5 is a block diagram that makes up a communication system 1 according to some example embodiments of the inventive concepts.

Gemäß 1, 4 und 5 kann ein Kommunikationssystem 1000b ein Beispiel für das Kommunikationssystem 1000 aus 1 sein, sodass die Entschlüsselungsvorrichtung 1100b ein Beispiel für die Entschlüsselungsvorrichtung 1100 aus 1 sein kann und die Verschlüsselungsvorrichtung 1200b ein Beispiel für die Verschlüsselungsvorrichtung 1200 aus 1 sein kann. Es wird vorwiegend ein Unterschied zwischen dem Kommunikationssystem 1000b und dem Kommunikationssystem 1000a beschrieben. Das Kommunikationssystem 1000a kann ein Beispiel für das Kommunikationssystem 1000 sein, das in Form von Hardware und Software implementiert ist. Das Kommunikationssystem 1000b dagegen kann ein Beispiel für das Kommunikationssystem 1000 sein, das in Form von Hardware implementiert ist.According to 1 , 4th and 5 can be a communication system 1000b an example of the communication system 1000 out 1 be so the decryption device 1100b an example of the decryption device 1100 out 1 can be and the encryption device 1200b an example of the encryption device 1200 out 1 can be. It will mainly a difference between the communication system 1000b and the communication system 1000a described. The communication system 1000a can be an example of the communication system 1000 implemented in the form of hardware and software. The communication system 1000b on the other hand, can be an example of the communication system 1000 implemented in the form of hardware.

Die Entschlüsselungsvorrichtung 1100b kann eine Schlüsselerzeugungsschaltung 1140, eine Entschlüsselungsschaltung 1150 und die Schnittstellenschaltung 1130 umfassen, die über einen internen Bus miteinander kommunizieren. Die Schlüsselerzeugungsschaltung 1140 kann die Schlüsselerzeugung des oben unter Bezugnahme auf 1 bis 3 beschriebenen RLWE-Verschlüsselungsalgorithmus durchführen und kann Vorgänge S110 und S120 durchführen. Die Schlüsselerzeugungsschaltung 1140 kann, während sie die oben beschriebenen Operationen bzw. Vorgänge durchführt, die Normalverteilung χ, die Zahlen k und q, den Sicherheitsparameter n, den Parameter t, die öffentlichen Schlüssel a0 und a1, den privaten Schlüssel s, den Fehler e und das Operationszwischenergebnis (oder -ergebnisse) der oben beschriebenen Operationen erzeugen und speichern. Ein Speicherort kann zum Beispiel ein interner Speicher der Schlüsselerzeugungsschaltung 1140 oder ein Speicher der Entschlüsselungsvorrichtung 1100b sein. Die Entschlüsselungsschaltung 1150 kann die Entschlüsselung des oben unter Bezugnahme auf 1 bis 3 beschriebenen RLWE-Verschlüsselungsalgorithmus durchführen und kann Vorgänge S170, S180 einschließlich S181 bis S185 und S190 durchführen. Die Entschlüsselungsschaltung 1150 kann, während sie obige Operationen bzw. Vorgänge durchführt, die verschlüsselten Texte co und ci, die Übermittlungsnachricht ψ, die modifizierte Übermittlungsnachricht ψ' und das Operationszwischenergebnis (oder -ergebnisse) oben beschriebener Operationen erzeugen und speichern. Der Speicherort kann zum Beispiel ein interner Speicher der Entschlüsselungsschaltung 1150 oder der Speicher der Entschlüsselungsvorrichtung 1100b sein. Die Entschlüsselungsvorrichtung 1100b kann zum Beispiel ferner den Prozessor 1110 und den Speicher 1120 aus 4 umfassen. Die Schnittstellenschaltung 1130 der Entschlüsselungsvorrichtung 1100b kann auf ähnliche Art und Weise wie die Interface-Schaltung 1130 aus 4 implementiert werden. Die Schlüsselerzeugungsschaltung 1140, die Entschlüsselungsschaltung 1150 und die Interface-Schaltung 1130 können jeweils analoge Schaltung(en), digitale (Schaltungen), logische (Schaltungen) usw. umfassen, um oben beschriebene Operationen durchzuführen.The decryption device 1100b can be a key generation circuit 1140 , a decryption circuit 1150 and the interface circuit 1130 that communicate with each other via an internal bus. The key generation circuit 1140 can be the key generation of the above with reference to 1 to 3 RLWE encryption algorithm described and can perform operations S110 and S120 carry out. The key generation circuit 1140 can, while performing the operations or processes described above, the normal distribution χ, the numbers k and q, the security parameter n, the parameter t, the public keys a 0 and a 1 , the private key s, the error e and that Generate and save intermediate operation result (or results) of the operations described above. A storage location can, for example, be an internal memory of the key generation circuit 1140 or a memory of the decryption device 1100b be. The decryption circuit 1150 can decipher the above by referring to 1 to 3 RLWE encryption algorithm described and can perform operations S170 , S180 including S181 to S185 and S190 carry out. The decryption circuit 1150 can, while performing the above operations, generate and store the encrypted texts co and ci, the transmission message ψ, the modified transmission message ψ 'and the intermediate operation result (or results) of the operations described above. The storage location can, for example, be an internal memory of the decryption circuit 1150 or the memory of the decryption device 1100b be. The decryption device 1100b can, for example, also use the processor 1110 and the memory 1120 out 4th include. The interface circuit 1130 the decryption device 1100b can be done in a similar way as the interface circuit 1130 out 4th implemented. The key generation circuit 1140 who have favourited the decryption circuit 1150 and the interface circuit 1130 may each include analog circuit (s), digital (circuits), logic (circuits), etc. to perform operations described above.

Die Verschlüsselungsvorrichtung 1200b kann eine Verschlüsselungsschaltung 1240 und die Interface-Schaltung 1230 umfassen, die über einen internen Bus miteinander kommunizieren. Die Verschlüsselungsschaltung 1240 kann die Verschlüsselung des oben unter Bezugnahme auf 1 bis 3 beschriebenen RLWE-Verschlüsselungsalgorithmus durchführen und kann Vorgänge S140 und S150 durchführen. Die Verschlüsselungsschaltung 1240 kann, während sie die oben beschriebenen Operationen durchführt, die Normalverteilung χ, die Zahlen k und q, den Sicherheitsparameter n, den Parameter t, die öffentlichen Schlüssel ao und ai, die Fehler u, g und h, die verschlüsselten Texte c0 und c1 und das (die) Operationszwischenergebnis(se) der oben beschriebenen Operationen erzeugen und speichern. Der Speicherort kann zum Beispiel ein interner Speicher der Verschlüsselungsschaltung 1240 oder ein Speicher der Verschlüsselungsvorrichtung 1200b sein. Die Verschlüsselungsvorrichtung 1200b kann zum Beispiel ferner den Prozessor 1210 und den Speicher 1220 aus 4 umfassen. Die Interface-Schaltung 1230 der Verschlüsselungsvorrichtung 1200b kann auf ähnliche Art und Weise implementiert werden wie die Interface-Schaltung 1230 aus 4. Die Verschlüsselungsschaltung 1240 und die Interface-Schaltung 1230 können analoge Schaltung(en), digitale Schaltung(en), logische Schaltung(en) usw. umfassen, um oben beschriebene Operationen durchzuführen.The encryption device 1200b can use an encryption circuit 1240 and the interface circuit 1230 that communicate with each other via an internal bus. The encryption circuit 1240 can encrypt the above with reference to 1 to 3 RLWE encryption algorithm described and can perform operations S140 and S150 carry out. The encryption circuit 1240 can, while performing the operations described above, the normal distribution χ, the numbers k and q, the security parameter n, the parameter t, the public keys ao and ai, the errors u, g and h, the encrypted texts c 0 and c 1 and generate and store the intermediate operation result (s) of the operations described above. The storage location can, for example, be an internal memory of the encryption circuit 1240 or a memory of the encryption device 1200b be. The encryption device 1200b can, for example, also use the processor 1210 and the memory 1220 out 4th include. The interface circuit 1230 the encryption device 1200b can be implemented in a similar way to the interface circuit 1230 out 4th . The encryption circuit 1240 and the interface circuit 1230 may include analog circuit (s), digital circuit (s), logic circuit (s), etc. to perform operations described above.

6 ist ein Blockdiagramm, das eine Schlüsselerzeugungsschaltung aus 5 darstellt. 6th Figure 13 is a block diagram showing a key generation circuit 5 represents.

Gemäß 5 und 6 kann die Schlüsselerzeugungsschaltung 1140 eine Verarbeitungsschaltung umfassen, die dazu eingerichtet ist, die Funktionen eines Samplers 1141, eines Multiplikators 1142, eines Multiplikators 1143 und eines Addierers 1144 durchzuführen.According to 5 and 6th can the key generation circuit 1140 a processing circuit which is adapted to perform the functions of a sampler 1141 , a multiplier 1142 , a multiplier 1143 and an adder 1144 perform.

Der Sampler 1141 kann die Normalverteilung χ erzeugen und kann den privaten Schlüssel s und den Fehler e aus der Normalverteilung χ erzeugen. Zudem kann der Sampler 1141 den öffentlichen Schlüssel ai aus dem Ring Rq sampeln. Der Multiplikator 1142 kann den Parameter t und den Fehler e multiplizieren und kann das Multiplikationsergebnis te dem Addierer 1144 bereitstellen. Der Multiplikator 1142 kann den öffentlichen Schlüssel ai mit dem privaten Schlüssel s multiplizieren und kann das Multiplikationsergebnis a1*s dem Addierer 1144 bereitstellen. Der Addierer 1144 kann die zwei Multiplikationsergebnisse te und a1*s addieren und den öffentlichen Schlüssel ao berechnen. Obwohl nicht dargestellt, kann der Addierer 1144 ferner eine interne Schaltung umfassen, die ein Vorzeichen des Additionsergebnisses umkehrt, oder bei dem Additionsergebnis eine Multiplikationsoperation oder Subtraktionsoperation durchführt. Die Schlüsselerzeugungsschaltung 1140 kann die öffentlichen Schlüssel ao und ai dem Speicher von der Interface-Schaltung 1130 oder der Entschlüsselungsvorrichtung 1100b bereitstellen. Die Schlüsselerzeugungsschaltung 1140 kann den privaten Schlüssel s der Entschlüsselungsschaltung 1150 bereitstellen. Ungeachtet des Implementierungsverfahrens wird der private Schlüssel s nicht außerhalb der Entschlüsselungsvorrichtung 1100b bereitgestellt.The sampler 1141 can generate the normal distribution χ and can generate the private key s and the error e from the normal distribution χ. In addition, the sampler 1141 sample the public key ai from the ring R q. The multiplier 1142 can multiply the parameter t and the error e and can send the multiplication result te to the adder 1144 provide. The multiplier 1142 can multiply the public key ai by the private key s and can give the multiplication result a 1 * s to the adder 1144 provide. The adder 1144 can add the two multiplication results te and a 1 * s and calculate the public key ao. Although not shown, the adder 1144 further comprise an internal circuit that reverses a sign of the addition result or performs a multiplication operation or subtraction operation on the addition result. The key generation circuit 1140 can transfer the public keys ao and ai to the memory of the interface circuit 1130 or the decryption device 1100b provide. The key generation circuit 1140 can use the private key s of the decryption circuit 1150 provide. Regardless of the implementation method, the private key s is not left outside the decryption device 1100b provided.

7 ist ein Blockdiagramm, das eine Entschlüsselungsschaltung aus 5 darstellt. 7th Figure 3 is a block diagram showing a decryption circuit 5 represents.

Gemäß 5 und 7 kann die Entschlüsselungsschaltung 1150 eine Verarbeitungsschaltung umfassen, die dazu eingerichtet ist, Funktionen eines Rechners 1151 durchzuführen, einschließlich eines Multiplikators 1152 und eines Addierers 1153, eines Vergleichers 1154, eines Entscheiders 1155 und eines Operators 1156.According to 5 and 7th can the decryption circuit 1150 a processing circuit which is set up to include functions of a computer 1151 perform, including a multiplier 1152 and an adder 1153 , a comparator 1154 , a decision maker 1155 and an operator 1156 .

Der Multiplikator 1152 kann den verschlüsselten Text c1 und den privaten Schlüssel s multiplizieren und kann das Multiplikationsergebnis c1s dem Addierer 1153 bereitstellen. Der Addierer 1153 kann das Multiplikationsergebnis c1s und den verschlüsselten Text c0 addieren und die Übermittlungsnachricht ψ berechnen. Der Vergleicher 1154 kann die Übermittlungsnachricht ψ mit dem Referenzwert q/2 vergleichen und das Vergleichsergebnis CR dem Entscheider 1155 bereitstellen. Der Entscheider 1155 kann den Koeffizienten der modifizierten Übermittlungsnachricht ψ' basierend auf dem Vergleichsergebnis CR festlegen und kann die modifizierte Übermittlungsnachricht ψ' dem Operator 1156 bereitstellen. Der Operator 1156 kann die Entschlüsselungsoperation bei der modifizierten Übermittlungsnachricht ψ' ausführen (z. B. einer Modulo-Operation, wobei der Divisor den Parameter t aufweist) und kann die Entschlüsselungsnachricht m'' erzeugen.The multiplier 1152 can multiply the encrypted text c 1 and the private key s and can send the multiplication result c 1 s to the adder 1153 provide. The adder 1153 can add the multiplication result c 1 s and the encrypted text c 0 and calculate the transmission message ψ. The comparator 1154 can compare the transmission message ψ with the reference value q / 2 and the comparison result CR to the decision maker 1155 provide. the decider 1155 can set the coefficient of the modified delivery message ψ 'based on the comparison result CR, and can send the modified delivery message ψ' to the operator 1156 provide. The operator 1156 can perform the decryption operation on the modified transmission message ψ '(e.g. a modulo operation, the divisor having the parameter t) and can generate the decryption message m''.

Der Entscheider 1155 kann eine Verarbeitungsschaltung umfassen, die dazu eingerichtet ist, die Funktionen eines Überprüfers 1155_1, eines Multiplexers 1155_2 und eines Multiplexers 1155_3 durchzuführen.the decider 1155 may include processing circuitry that is configured to perform the functions of a verifier 1155_1 , a multiplexer 1155_2 and a multiplexer 1155_3 perform.

Der Überprüfer 1155_1 kann überprüfen, ob coef (ψ) gerade oder ungerade ist. Zum Beispiel kann der Überprüfer 1155_1 eine Divisionsoperation, bei der der Divisor der Parameter t ist, bei coef (ψ) durchführen und kann den Rest überprüfen. Der Überprüfer 1155_1 kann dem Multiplexer 1155_2 ein Prüfergebnis (oder den Rest) bereitstellen. Der Multiplexer 1155_2 kann basierend auf dem Prüfergebnis aus einer Mehrzahl von Werten (0, 1) einen auswählen und den ausgewählten Wert dem Multiplexer 1155_3 bereitstellen. Der Multiplexer 1155_2 kann basierend auf einem Prüfergebnis, das angibt, dass der coef (ψ) gerade ist, 1 auswählen. Der Multiplexer 1155_2 kann basierend auf einem Prüfergebnis, das angibt, dass der coef (ψ) ungerade ist, 0 auswählen. 7 betrifft einige beispielhafte Ausführungsformen, bei denen der Parameter t 2 ist und die Anzahl mehrerer Werte, die der Multiplexer 1155_2 auswählen kann, kann 2 oder mehr sein, abhängig von dem Wert des Parameters t, der 2 oder mehr beträgt. Der Multiplexer 1155_3 kann basierend auf dem Vergleichsergebnis CR coef(ψ) oder einen Wert (0 oder 1) auswählen, der von dem Multiplexer 1155_2 ausgewählt wurde und kann den ausgewählten Wert als coef(ψ') ausgeben. Der Multiplexer 1155_3 kann coef(ψ) basierend auf einem Vergleichsergebnis CR auswählen, das angibt, dass coef (ψ) < q/2 oder coef (ψ) ≤ q/2 ist. Der Multiplexer 1155_3 kann einen Wert (0 oder 1) auswählen, der durch den Multiplexer 1155_2 ausgewählt wird, basierend auf einem Vergleichsergebnis CR, das angibt, dass coef(ψ) > q/2 oder coef(ψ) ≥ q/2 ist.The reviewer 1155_1 can check whether coef (ψ) is even or odd. For example, the reviewer can 1155_1 perform a division operation in which the divisor is the parameter t at coef (ψ) and can check the remainder. The reviewer 1155_1 can the multiplexer 1155_2 provide a test result (or the rest). The multiplexer 1155_2 can select one from a plurality of values (0, 1) based on the test result and the selected value to the multiplexer 1155_3 provide. The multiplexer 1155_2 may select 1 based on a check result indicating that the coef (ψ) is even. The multiplexer 1155_2 may select 0 based on a check result indicating that the coef (ψ) is odd. 7th relates to some exemplary embodiments where the parameter t is 2 and the number of multiple values that the multiplexer takes 1155_2 can be 2 or more depending on the value of the parameter t, which is 2 or more. The multiplexer 1155_3 can, based on the comparison result, select CR coef (ψ) or a value (0 or 1) to be used by the multiplexer 1155_2 has been selected and can output the selected value as coef (ψ '). The multiplexer 1155_3 may select coef (ψ) based on a comparison result CR indicating that coef (ψ) <q / 2 or coef (ψ) ≤ q / 2. The multiplexer 1155_3 can select a value (0 or 1) to be passed by the multiplexer 1155_2 is selected based on a comparison result CR indicating that coef (ψ)> q / 2 or coef (ψ) ≥ q / 2.

8 ist ein Blockdiagramm, das eine Verschlüsselungsschaltung aus 5 darstellt. 8th Figure 3 is a block diagram showing an encryption circuit 5 represents.

Gemäß 5 und 8 kann die Verschlüsselungsschaltung 1240 eine Verarbeitungsschaltung umfassen, die dazu eingerichtet ist, die Funktionen eines Samplers 1241, eines Multiplikators 1242, eines Multiplikators 1243, eines Encoders 1244, eines Addierers 1245, eines Multiplikators 1246, eines Multiplikators 1247 und eines Addierers 1248 durchzuführen.According to 5 and 8th can the encryption circuit 1240 a processing circuit which is adapted to perform the functions of a sampler 1241 , a multiplier 1242 , a multiplier 1243 , an encoder 1244 , an adder 1245 , a multiplier 1246 , a multiplier 1247 and an adder 1248 perform.

Der Sampler 11241 kann die Normalverteilung χ erzeugen und kann die Fehler u, g und h aus der Normalverteilung χ sampeln. Der Sampler 1241 kann den Fehler u den Multiplikatoren 1242 und 1246 bereitstellen, kann den Fehler g dem Multiplikator 1243 bereitstellen, und kann den Fehler h dem Multiplikator 1247 bereitstellen. Der Multiplikator 1242 kann den öffentlichen Schlüssel ao und den Fehler u multiplizieren und kann dem Addierer 1245 das Multiplikationsergebnis aou bereitstellen. Der Multiplikator 1243 kann den Parameter t und den Fehler g multiplizieren und kann das Multiplikationsergebnis tg dem Addierer 1245 bereitstellen. Der Encoder 1244 kann Daten der Verschlüsselungsvorrichtung 1200b verschlüsseln und die Nachricht m erzeugen. Zum Beispiel kann der Encoder 1244 die Daten codieren, um eine n-Bit-Nachricht m zu erzeugen, die zu dem Ring gehört (Rt = Zt[x] / f(x)). Der Addierer 1245 kann zwei Multiplikationsergebnisse aou und tg und die Nachricht m addieren, um den verschlüsselten Text co zu erzeugen. Der Multiplikator 1246 kann den öffentlichen Schlüssel ai und den Fehler u multiplizieren und kann das Multiplikationsergebnis a1u dem Addierer 1248 bereitstellen. Der Multiplikator 1246 kann den Parameter t und den Fehler h multiplizieren und kann das Multiplikationsergebnis th dem Addierer 1248 bereitstellen. Der Addierer 1248 kann zwei Multiplikationsergebnisse a1u und th addieren, um den verschlüsselten Text c1 zu erzeugen.The sampler 11241 can generate the normal distribution χ and can sample the errors u, g and h from the normal distribution χ. The sampler 1241 can u make the mistake of the multipliers 1242 and 1246 can provide the error g to the multiplier 1243 provide, and can give the error h to the multiplier 1247 provide. The multiplier 1242 can multiply the public key ao and the error u and can use the adder 1245 provide the multiplication result aou. The multiplier 1243 can multiply the parameter t and the error g and can send the multiplication result tg to the adder 1245 provide. The encoder 1244 can data of the encryption device 1200b encrypt and generate the message m. For example, the encoder 1244 encode the data to produce an n-bit message m associated with the ring (Rt = Zt [x] / f (x)). The adder 1245 can add two multiplication results aou and tg and the message m to produce the ciphertext co. The multiplier 1246 can multiply the public key ai and the error u and can give the multiplication result a 1 u to the adder 1248 provide. The multiplier 1246 can multiply the parameter t and the error h and can send the multiplication result th to the adder 1248 provide. The adder 1248 can add two multiplication results a 1 u and th to produce ciphertext c 1.

9 ist ein Blockschaltbild, das eine Verschlüsselungs-/Entschlüsselungsvorrichtung gemäß einigen beispielhaften Ausführungsformen der erfinderischen Konzepte darstellt. 9 FIG. 13 is a block diagram illustrating an encryption / decryption device in accordance with some example embodiments of the inventive concepts.

Gemäß 9 kann eine Verschlüsselungs-/Entschlüsselungsvorrichtung 2000a mit anderen (nicht dargestellten) elektronischen Vorrichtungen kommunizieren und kann die Schlüsselerzeugung, die Verschlüsselung und die Entschlüsselung des unter Bezugnahme auf 1 bis 8 beschriebenen RLWE durchführen.According to 9 can be an encryption / decryption device 2000a communicate with other electronic devices (not shown) and can perform key generation, encryption and decryption with reference to 1 to 8th carry out the RLWE described.

Die Verschlüsselungs-/Entschlüsselungsvorrichtung 2000a kann einen Prozessor 2110, einen Speicher 2120 und eine Interface-Schaltung 2130 umfassen, die über einen internen Bus miteinander kommunizieren. Zum Beispiel kann der Prozessor 2110 kann auf ähnliche Art und Weise implementiert werden wie die Prozessoren 1110 und 1210 und kann sowohl den Verschlüsselungsprogrammcode als auch den Entschlüsselungsprogrammcode ausführen, die in dem Speicher 2120 gespeichert sind. Der Speicher 2120 kann auf ähnliche Art und Weise implementiert sein wie die Speicher 1120 und 1220 und kann sowohl den Verschlüsselungsprogrammcode als auch den Entschlüsselungsprogrammcode speichern, die durch den Prozessor 2110 ausführbar sind. Die Interface-Schaltung 2130 kann auf ähnliche Art und Weise implementiert werden wie die Interface-Schaltung 1130 und 1230, kann die öffentlichen Schlüssel ao und ai an eine andere elektronische Vorrichtung übermitteln, kann die öffentlichen Schlüssel ao und ai von einer anderen elektronischen Vorrichtung empfangen, kann die verschlüsselten Texte co und c1 an eine andere elektronische Vorrichtung übermitteln oder kann die verschlüsselten Texte co und c1 von einer anderen elektronischen Vorrichtung empfangen.The encryption / decryption device 2000a can have a processor 2110 , a memory 2120 and an interface circuit 2130 that communicate with each other via an internal bus. For example, the processor can 2110 can be implemented in a similar way to the processors 1110 and 1210 and can execute both the encryption program code and the decryption program code stored in the memory 2120 are stored. The memory 2120 can be implemented in a similar way as the memories 1120 and 1220 and can store both the encryption program code and the decryption program code generated by the processor 2110 are executable. The interface circuit 2130 can be implemented in a similar way to the interface circuit 1130 and 1230 , can transmit the public keys ao and ai to another electronic device, can receive the public keys ao and ai from another electronic device, can transmit the encrypted texts co and c 1 to another electronic device, or can transmit the encrypted texts co and c 1 received from another electronic device.

10 ist ein Blockschaltbild, das eine Verschlüsselungs-/Entschlüsselungsvorrichtung gemäß einigen beispielhaften Ausführungsformen der erfinderischen Konzepte darstellt. 10 FIG. 13 is a block diagram illustrating an encryption / decryption device in accordance with some example embodiments of the inventive concepts.

Gemäß 10 kann eine Verschlüsselungs-/Entschlüsselungsvorrichtung 2000b die Interface-Schaltung 2130, eine Schlüsselerzeugungsschaltung 2140, eine Entschlüsselungsschaltung 2150 und eine Verschlüsselungsschaltung 2160 umfassen, die über einen internen Bus miteinander kommunizieren. Die Interface-Schaltung 2130 kann die gleiche oder im Wesentlichen die gleiche sein wie die Interface-Schaltung 2130 aus 9. Die Schlüsselerzeugungsschaltung 2140 kann die gleiche oder eine im Wesentlichen gleiche sein wie die Schlüsselerzeugungsschaltung 1140 aus 5. Die Entschlüsselungsschaltung 2150 kann die gleiche oder im Wesentlichen die gleiche sein wie die Entschlüsselungsschaltung 1150 aus 5. Die Verschlüsselungsschaltung 2160 kann die gleiche oder im Wesentlichen die gleiche sein wie die Verschlüsselungsschaltung 1240 aus 5.According to 10 can be an encryption / decryption device 2000b the interface circuit 2130 , a key generation circuit 2140 , a decryption circuit 2150 and an encryption circuit 2160 that communicate with each other via an internal bus. The interface circuit 2130 can be the same or substantially the same as the interface circuit 2130 out 9 . The key generation circuit 2140 may be the same or substantially the same as the key generation circuit 1140 out 5 . The decryption circuit 2150 may be the same or substantially the same as the decryption circuit 1150 out 5 . The encryption circuit 2160 may be the same or substantially the same as the encryption circuitry 1240 out 5 .

11 ist ein Blockschaltbild, das eine elektronische Vorrichtung gemäß einigen beispielhaften Ausführungsformen der erfinderischen Konzepte darstellt. 11 FIG. 3 is a block diagram illustrating an electronic device in accordance with some example embodiments of the inventive concepts.

Gemäß 11 kann eine elektronische Vorrichtung 3000 eine beispielhafte Implementierung von jeweils den Entschlüsselungsvorrichtungen 1100, 1100a und 1100b, den Verschlüsselungsvorrichtungen 1200, 1200a und 1200b oder den Verschlüsselungs-/Entschlüsselungsvorrichtungen 2000a und 2000b sein, die oben unter Bezugnahme auf 1 bis 10 beschrieben wurden.According to 11 can be an electronic device 3000 an exemplary implementation of each of the decryption devices 1100 , 1100a and 1100b , the encryption devices 1200 , 1200a and 1200b or the encryption / decryption devices 2000a and 2000b be that referring to the above 1 to 10 have been described.

Die elektronische Vorrichtung 3000 kann auch als Computer-System, Speichersystem, elektronisches System, Kommunikationssystem usw. bezeichnet werden. Zum Beispiel kann die elektronische Vorrichtung 3000 ein Desktop-Computer, ein Laptop-Computer, ein Tablet-Computer, eine mobile Vorrichtung, ein Smartphone, ein persönlicher digitaler Assistent (PDA), ein tragbarer Media Player (PMP), eine Wearable-Vorrichtung, eine Videospielkonsole, eine Workstation, ein Server, eine Datenverarbeitungsvorrichtung, die Internetprotokolle verwenden oder unterstützen kann, die von der MIPI Alliance (Mobile Industry Processor Interface Alliance) vorgeschlagen wurden, ein Haushaltsgerät, eine Blackbox, eine Drohne, eine Internet-der-Dinge(IoT)-Vorrichtung, eine Smartcard, eine Sicherheitsvorrichtung, usw. sein. Die elektronische Vorrichtung 3000 kann ein Ein-Chip-System 3100 umfassen. Das Ein-Chip-System 3100 kann einen Prozessor 3110, eine Verschlüsselungs-/Entschlüsselungseinrichtung 3120 und einen Speicher 3130 umfassen. Der Prozessor 3110 kann ein Beispiel für einen der oben erwähnten Prozessoren 1110, 1210 und 2110 sein. Die Verschlüsselungs-/Entschlüsselungseinrichtung 3120 kann mindestens einige oder alle Schlüsselerzeugungsschaltungen 1140 und 2140, Entschlüsselungsschaltungen 1150 und 2150 und Verschlüsselungsschaltungen 1240 und 2160 umfassen. Wie oben beschrieben, kann, wenn der RLWE-Verschlüsselungsalgorithmus in einer Kombination aus Hardware und Software implementiert wird, das Ein-Chip-System 3100 möglicherweise nicht die Verschlüsselungs-/Entschlüsselungseinrichtung 3120 enthalten. Der Speicher 3130 kann ein Beispiel für eine der vorstehend genannten Speicher 1120, 1220 und 2120 sein.The electronic device 3000 can also be referred to as a computer system, storage system, electronic system, communication system, etc. For example, the electronic device can 3000 a desktop computer, a laptop computer, a tablet computer, a mobile device, a smartphone, a personal digital assistant (PDA), a portable media player (PMP), a wearable device, a video game console, a workstation Server, a data processing device that can use or support Internet protocols proposed by the MIPI Alliance (Mobile Industry Processor Interface Alliance), a household appliance, a black box, a drone, an Internet of Things (IoT) device, a smart card , be a safety device, etc. The electronic device 3000 can be a one-chip system 3100 include. The one-chip system 3100 can have a processor 3110 , an encryption / decryption facility 3120 and a memory 3130 include. The processor 3110 can be an example of one of the processors mentioned above 1110 , 1210 and 2110 be. The encryption / decryption facility 3120 may include at least some or all of the key generation circuits 1140 and 2140 , Decryption circuits 1150 and 2150 and encryption circuits 1240 and 2160 include. As described above, when the RLWE encryption algorithm is implemented in a combination of hardware and software, the one-chip system can 3100 possibly not the encryption / decryption facility 3120 contain. The memory 3130 can be an example of one of the aforementioned memories 1120 , 1220 and 2120 be.

Die elektronische Vorrichtung 3000 kann eine Anzeige 3220 und einen Bildsensor 3230 umfassen. Das Ein-Chip-System 3100 kann ferner einen DigRF-Master 3141, einen Display-Serial-Interface(DSI)-Host 3150, einen Camera-Serial-Interface(CSI)-Host 3160 und eine physikalische Schicht 3142 umfassen. Der DSI-Host 3150 kann mit der DSI-Vorrichtung 3225 der Anzeige 3220 basierend auf der DSI kommunizieren. Eine Serialisierungseinrichtung SER kann in dem DSI-Host 3150 implementiert werden und eine Deserialisierungseinrichtung DES kann in der DSI-Vorrichtung 3225 implementiert werden. Der CSI-Host 3160 kann mit einer CSI-Vorrichtung 3235 des Bildsensors 3230 basierend auf dem CSI kommunizieren. Eine Deserialisierungseinrichtung (DES) kann in dem CSI-Host 3160 implementiert werden und eine Serialisierungseinrichtung SER kann in der CSI-Vorrichtung 3235 implementiert werden. Die elektronische Vorrichtung 3000 kann ferner einen Hochfrequenz(HF)-Chip 3240 umfassen, der mit dem Ein-Chip-System 3100 kommuniziert. Der HF-Chip 3240 kann eine physikalische Schicht 3242, ein DigRF-Slave 3244 und eine Antenne 3246 umfassen. Die physikalische Schicht 3242 und die physikalische Schicht 3142 können zum Beispiel Daten basierend auf einer DigRF-Schnittstelle miteinander austauschen, die durch eine MIPI-Allianz vorgeschlagen wird. Die elektronische Vorrichtung 3000 kann ferner einen Arbeitsspeicher 3250 und eine embedded/Card-Speichervorrichtung 3255 umfassen. Der Arbeitsspeicher 3250 und die embedded/Card-Speichervorrichtung 3255 können Daten bezüglich des Ein-Chip-Systems 3100 speichern oder ausgeben. Die Embedded-Speichervorrichtung 3255 kann in der elektronischen Vorrichtung 3000 eingebaut sein, und die Card-Speichervorrichtung 3255 kann in die elektronische Vorrichtung 3000 als entfernbare Vorrichtung eingelegt bzw. eingeführt werden. Die elektronische Vorrichtung 3000 kann über ein Kommunikationsmodul, wie beispielsweise WiMAX (Worldwide Interoperability for Microwave Access, 3260), WLAN (Wireless Local Area Network, 3262), UWB (Ultra-Breitband, 3264) usw., mit einer externen Vorrichtung/System kommunizieren. Die elektronische Vorrichtung 3000 kann ferner einen Lautsprecher 3270, ein Mikrofon 3275, eine Vorrichtung 3280 mit globalem Positionsbestimmungssystem (GPS) und einen Brückenchip 3285 umfassen.The electronic device 3000 can be an ad 3220 and an image sensor 3230 include. The one-chip system 3100 can also have a DigRF master 3141, a display serial interface (DSI) host 3150 , a camera serial Interface (CSI) host 3160 and a physical layer 3142 include. The DSI host 3150 can with the DSI device 3225 the display 3220 communicate based on the DSI. A serialization device SER can be in the DSI host 3150 and a deserializer DES can be implemented in the DSI device 3225 implemented. The CSI host 3160 can with a CSI device 3235 of the image sensor 3230 communicate based on the CSI. A deserialization facility (DES) may be in the CSI host 3160 can be implemented and a serializer SER can be implemented in the CSI device 3235 implemented. The electronic device 3000 can also use a radio frequency (RF) chip 3240 include that with the one-chip system 3100 communicates. The RF chip 3240 can be a physical layer 3242 , a DigRF slave 3244 and an antenna 3246 include. The physical layer 3242 and the physical layer 3142 can for example exchange data with one another based on a DigRF interface, which is proposed by a MIPI alliance. The electronic device 3000 can also have a working memory 3250 and an embedded / card memory device 3255 include. The RAM 3250 and the embedded / card memory device 3255 can data related to the one-chip system 3100 save or output. The embedded storage device 3255 can in the electronic device 3000 be installed, and the card storage device 3255 can into the electronic device 3000 inserted or introduced as a removable device. The electronic device 3000 can be via a communication module such as WiMAX (Worldwide Interoperability for Microwave Access, 3260 ), WLAN (Wireless Local Area Network, 3262 ), UWB (ultra-broadband, 3264 ) etc., communicate with an external device / system. The electronic device 3000 can also have a loudspeaker 3270 , a microphone 3275 , a device 3280 with global positioning system (GPS) and a bridge chip 3285 include.

12 ist ein Blockdiagramm, das ein Kommunikationssystem gemäß einigen beispielhaften Ausführungsformen der erfinderischen Konzepte darstellt. 12th FIG. 3 is a block diagram illustrating a communication system in accordance with some example embodiments of the inventive concepts.

Gemäß 1 und 12 kann das oben unter Bezugnahme auf 1 beschriebene Kommunikationssystem 1000 einem Teil eines Kommunikationssystems 4000 entsprechen. Das Kommunikationssystem 4000 kann einem Beispiel für ein IoT-Kommunikationssystem oder ein Machine-to-Machine(M2M)-Kommunikationssystem entsprechen. Das Kommunikationssystem 4000 kann eine Anwendungsschicht 4100, eine Vermittlungsschicht 4200 und eine Perception Layer 4300 umfassen. Die Perception Layer 4300 kann Endvorrichtungen 4310 bis 4340 umfassen.According to 1 and 12th can do that with reference to above 1 communication system described 1000 part of a communication system 4000 correspond. The communication system 4000 may correspond to an example of an IoT communication system or a machine-to-machine (M2M) communication system. The communication system 4000 can be an application layer 4100 , a network layer 4200 and a perception layer 4300 include. The Perception Layer 4300 can end devices 4310 to 4340 include.

Die Endvorrichtungen 4310 bis 4340 können zum Beispiel einen Sensor, ein Stellelement, usw. umfassen, das mit der Umgebung des Kommunikationssystems 4000 interagiert. Die Vermittlungsschicht 4200 kann Gateways 4210 und 4220 umfassen, kann die Endvorrichtungen 4310 bis 4340 der Perception Layer 4300 durch ein Netzwerk in Koordination mit dem der Anwendungsschicht 4100 suchen, finden und verbinden. Die Gateways 4210 und 4220 können Daten zwischen den Endvorrichtungen 4310 bis 4340 und einem Server 4110 in beide Richtungen übermitteln. Die Anwendungsschicht 4100 kann den Server 4110 (oder eine Cloud-Vorrichtung) umfassen, die mit Dienstleistungen und Funktionen für einen Nutzer ausgestattet ist. Der Server 4110 kann, zum Beispiel, Daten der Endvorrichtungen 4310 bis 4340 durch die Gateways 4210 und 4220 sammeln, verwalten oder analysieren und kann die Gateways 4210 und 4220 und die Endvorrichtungen 4310 und 4340 steuern. Die Komponenten 4110, 4210 bis 4220 und 4310 bis 4340 sind nicht auf die in 12 dargestellte Anzahl beschränkt und können miteinander über verschiedene Arten von Kabel- oder drahtlose Netzwerke kommunizieren. Die Komponenten 4110, 4210 bis 4220 und 4310 bis 4340 können zum Beispiel jeweils eine der Komponenten 1100, 1100a, 1100b, 1200, 1200a, 1200b, 2000a, 2000b und 3000 sein, die oben unter 1 bis 11 beschrieben wurden.The end devices 4310 to 4340 may include, for example, a sensor, actuator, etc. that is associated with the environment of the communication system 4000 interacts. The network layer 4200 can gateways 4210 and 4220 may include the end devices 4310 to 4340 the perception layer 4300 through a network in coordination with that of the application layer 4100 search, find and connect. The gateways 4210 and 4220 can data between the end devices 4310 to 4340 and a server 4110 Send in both directions. The application layer 4100 can the server 4110 (or a cloud device) equipped with services and functions for a user. The server 4110 can, for example, end device data 4310 to 4340 through the gateways 4210 and 4220 collect, manage or analyze and can use the gateways 4210 and 4220 and the end devices 4310 and 4340 Taxes. The components 4110 , 4210 to 4220 and 4310 to 4340 are not on the in 12th The number shown is limited and can communicate with each other over various types of wired or wireless networks. The components 4110 , 4210 to 4220 and 4310 to 4340 can, for example, each have one of the components 1100 , 1100a , 1100b , 1200 , 1200a , 1200b , 2000a , 2000b and 3000 be that above below 1 to 11 have been described.

Gemäß einigen beispielhaften Ausführungsformen der erfinderischen Konzepte kann das Problem adressiert werden, dass eine Größe von Fehlern u, g und h, die in der Verschlüsselungsvorrichtung verwendet werden, aufgrund des Entschlüsselungsfehlers der Übermittlungsnachricht ψ limitiert ist, da eine Entschlüsselungsvorrichtung eines Kommunikationssystems einen Koeffizienten einer Übermittlungsnachricht ψ festlegt, die aus verschlüsselten Texten c0 und c1 berechnet wurde, die von einer Verschlüsselungsvorrichtung übermittelt wurden, und eine modifizierte Übermittlungsnachricht ψ', die einen festgelegten Koeffizienten aufweist, anstelle der Übermittlungsnachricht ψ entschlüsselt.According to some exemplary embodiments of the inventive concepts, the problem can be addressed that a size of errors u, g and h used in the encryption device is limited due to the decryption error of the transmission message ψ, since a decryption device of a communication system uses a coefficient of a transmission message ψ which was calculated from encrypted texts c 0 and c 1 that were transmitted by an encryption device, and a modified transmission message, ', which has a specified coefficient, instead of the transmission message decrypts.

Die Komponenten der oben erläuterten Kommunikationssysteme, einschließlich der diskreten Verschlüsselungsvorrichtung und der Entschlüsselungsvorrichtung aus, zum Beispiel, 4 und 5, oder der kombinierten Verschlüsselungs-/Entschlüsselungsvorrichtung aus, zum Beispiel, 9 und 10, können in einer Verarbeitungsschaltung implementiert werden, wie beispielsweise Hardware, die (eine) analoge Schaltung(en), (eine) digitale Schaltung(en) und/oder (eine) logische Schaltung(en) umfasst, wie in 5-8 und 10 dargestellt, eine Hardware-/Software-Kombination, wie beispielsweise ein Prozessor, der Software ausführt, wie in 4 und 9 dargestellt, oder einer Kombination daraus.The components of the communication systems discussed above, including the discrete encryption device and the decryption device from, for example, 4th and 5 , or the combined encryption / decryption device, for example, 9 and 10 , may be implemented in processing circuitry, such as hardware comprising analog circuit (s), digital circuit (s), and / or logic circuit (s), as in FIG 5-8 and 10 illustrated, a hardware / software combination, such as a processor executing software, such as in 4th and 9 shown, or a combination thereof.

Zum Beispiel kann die Verarbeitungsschaltung eine zentrale Verarbeitungseinheit (CPU) umfassen, eine arithmetisch-logische Einheit (ALU), einen digitalen Signalprozessor, einen Mikrocomputer, ein Field Programmable Gate Array (FPGA), eine programmierbare Logikeinheit, einen Mikroprozessor, eine anwendungsspezifische integrierte Schaltung (ASIC) usw., sie ist aber nicht darauf beschränkt.For example, the processing circuit can comprise a central processing unit (CPU), an arithmetic-logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable logic unit, a microprocessor, an application-specific integrated circuit ( ASIC) etc., but it is not limited to this.

Die Verarbeitungsschaltung kann eine Spezial-Verarbeitungsschaltung sein, die eine Entschlüsselungsnachricht m'' berechnet, die mit einer Klartextnachricht m identisch ist, ungeachtet der Größe der Fehler u, g und h, indem aus einer Übermittlungsnachricht ψ eine modifizierte Übermittlungsnachricht ψ' erzeugt wird, sodass die modifizierte Übermittlungsnachricht ψ' ein ganzzahliges Polynom n-1. Grades ist und Koeffizienten aufweist, die kleiner sind als die Primzahl q. Daher kann die Spezial-Verarbeitungsschaltung das Funktionieren der Kommunikationssysteme selbst verbessern, indem sie das Problem adressieren, bei dem eine Größe der in der Verschlüsselungsvorrichtung verwendeten Fehler u, g und h aufgrund eines Entschlüsselungsfehlers der Übermittlungsnachricht ψ beschränkt ist.The processing circuit can be a special processing circuit which calculates a decryption message m ″ which is identical to a plain text message m, regardless of the size of the errors u, g and h, by generating a modified transmission message ψ 'from a transmission message ψ, so that the modified transmission message ψ 'is an integer polynomial n-1. Degree and has coefficients that are smaller than the prime number q. Therefore, the special processing circuit can improve the functioning of the communication systems themselves by addressing the problem that a size of the errors u, g and h used in the encryption apparatus is limited due to a decryption error of the delivery message ψ.

Die oben beschriebenen Inhalte sind einige beispielhafte Ausführungsformen zur Implementierung der erfinderischen Konzepte. Die erfinderischen Konzepte können nicht nur die oben beschriebenen beispielhaften Ausführungsformen umfassen, sondern auch beispielhafte Ausführungsformen, bei denen eine Konstruktion einfach oder auf leichte Art und Weise geändert werden kann. Zudem können die erfinderischen Konzepte auch Technologien umfassen, die unter Verwendung von beispielhaften Ausführungsformen auf einfache Weise verändert wurden, um sie in Zukunft zu implementieren.The contents described above are some exemplary embodiments for implementing the inventive concepts. The inventive concepts may include not only the exemplary embodiments described above, but also exemplary embodiments in which a construction can be changed simply or easily. In addition, the inventive concepts can also include technologies that have been modified in a simple manner using exemplary embodiments in order to implement them in the future.

ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED 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 was 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 PatentliteraturPatent literature cited

  • KR 1020190172720 [0001]KR 1020190172720 [0001]

Claims (20)

Nichtflüchtiges, computerlesbares Medium, auf dem ein Programmcode gespeichert ist, der, wenn er von einem Prozessor ausgeführt wird, den Prozessor veranlasst: eine Nachricht basierend auf einem ersten verschlüsselten Text, einem zweiten verschlüsselten Text einem privaten Schlüssel zu berechnen; Koeffizienten der Nachricht mit einem Referenzwert zu vergleichen, um ein Vergleichsergebnis zu erzeugen, wobei der Referenzwert auf einer Primzahl basiert; basierend auf der Nachricht eine modifizierte Nachricht zu erzeugen, indem er die Koeffizienten der Nachricht basierend auf dem Vergleichsergebnis selektiv modifiziert; und die modifizierte Nachricht zu entschlüsseln.Non-transitory, computer-readable medium that stores program code that, when executed by a processor, causes the processor to: calculate a message based on a first ciphertext, a second ciphertext, a private key; Comparing coefficients of the message with a reference value in order to generate a comparison result, the reference value being based on a prime number; generate a modified message based on the message by selectively modifying the coefficients of the message based on the comparison result; and decrypt the modified message. Nichtflüchtiges, computerlesbares Medium nach Anspruch 1, wobei der Programmcode, wenn er ausgeführt wird, den Prozessor veranlasst, die modifizierte Nachricht zu erzeugen, indem er einen jeweiligen der Koeffizienten der Nachricht ansprechend darauf, dass der jeweilige der Koeffizienten der Nachricht größer ist als der Referenzwert, selektiv modifiziert und den jeweiligen der Koeffizienten der Nachricht ansprechend darauf, dass der jeweilige der Koeffizienten der Nachricht kleiner ist als der Referenzwert, beibehält.Non-transitory, computer-readable medium after Claim 1 wherein the program code, when executed, causes the processor to generate the modified message by selectively modifying a respective one of the coefficients of the message in response to the respective one of the coefficients of the message being greater than the reference value and the respective one of the Maintains coefficients of the message in response to the fact that the respective one of the coefficients of the message is less than the reference value. Nichtflüchtiges, computerlesbares Medium nach Anspruch 2, wobei der Programmcode, wenn er ausgeführt wird, den Prozessor veranlasst, die Koeffizienten der Nachricht selektiv zu modifizieren, indem er den jeweiligen der Koeffizienten in der modifizierten Nachricht ansprechend darauf, dass der jeweilige der Koeffizienten der Nachricht größer ist als der Referenzwert und der jeweilige der Koeffizienten der Nachricht gerade ist, auf einen ersten Wert einstellt und den jeweiligen der Koeffizienten in der modifizierten Nachricht ansprechend darauf, dass der jeweilige der Koeffizienten der Nachricht größer ist als der Referenzwert und der jeweilige der Koeffizienten der Nachricht ungerade ist, auf einen zweiten Wert einstellt.Non-transitory, computer-readable medium after Claim 2 wherein the program code, when executed, causes the processor to selectively modify the coefficients of the message by changing the respective one of the coefficients in the modified message in response to the respective one of the coefficients of the message being greater than the reference value and the respective the coefficient of the message is even, and sets the respective one of the coefficients in the modified message to a second value in response to the respective one of the coefficients of the message being greater than the reference value and the respective one of the coefficients of the message being odd adjusts. Nichtflüchtiges, computerlesbares Medium nach Anspruch 1, wobei der Programmcode, wenn er ausgeführt wird, den Prozessor veranlasst, den Referenzwert durch eine Divisionsoperation bei der Primzahl und entweder eine Rundungsoperation, eine Abrundungsoperation oder eine Aufrundungsoperation bei einem Ergebnis der Divisionsoperation von einem Divisor 2 zu berechnen.Non-transitory, computer-readable medium after Claim 1 wherein the program code, when executed, causes the processor to calculate the reference value by a division operation on the prime number and either a rounding operation, a rounding operation or a rounding operation on a result of the division operation by a divisor 2. Nichtflüchtiges, computerlesbares Medium nach Anspruch 1, wobei der Programmcode, wenn er ausgeführt wird, den Prozessor veranlasst, die Nachricht zu berechnen, indem er eine Multiplikationsoperation bei dem zweiten verschlüsselten Text und dem privaten Schlüssel ausführt, um ein Multiplikationsergebnis zu erzeugen; und eine Additionsoperation bei dem Multiplikationsergebnis und dem ersten verschlüsselten Text ausführt.Non-transitory, computer-readable medium after Claim 1 wherein the program code, when executed, causes the processor to compute the message by performing a multiplication operation on the second ciphertext and the private key to produce a multiplication result; and performing an addition operation on the multiplication result and the first ciphertext. Nichtflüchtiges, computerlesbares Medium nach Anspruch 1, wobei der Programmcode, wenn er ausgeführt wird, den Prozessor veranlasst, die modifizierte Nachricht zu entschlüsseln, indem er bei der modifizierten Nachricht eine Modulo-Operation ausführt.Non-transitory, computer-readable medium after Claim 1 wherein the program code, when executed, causes the processor to decrypt the modified message by performing a modulo operation on the modified message. Nichtflüchtiges, computerlesbares Medium nach Anspruch 6, wobei ein Divisor der Modulo-Operation „2“ ist.Non-transitory, computer-readable medium after Claim 6 , where a divisor of the modulo operation is “2”. Entschlüsselungsvorrichtung aufweisend: Verarbeitungsschaltung, die dazu eingerichtet ist, eine Nachricht basierend auf einem ersten verschlüsselten Text, einem zweiten verschlüsselten Text einem privaten Schlüssel zu berechnen, Koeffizienten der Nachricht mit einem Referenzwert zu vergleichen, um ein Vergleichsergebnis zu erzeugen, wobei der Referenzwert auf einer Primzahl basiert, basierend auf der Nachricht eine modifizierte Nachricht zu erzeugen, indem sie die Koeffizienten basierend auf dem Vergleichsergebnis selektiv modifiziert, und die modifizierte Nachricht zu entschlüsseln.Having decryption device: Processing circuitry which is set up to calculate a message based on a first encrypted text, a second encrypted text and a private key, To compare coefficients of the message with a reference value in order to generate a comparison result, the reference value being based on a prime number, generate a modified message based on the message by selectively modifying the coefficients based on the comparison result, and decrypt the modified message. Entschlüsselungsvorrichtung nach Anspruch 8, wobei die Verarbeitungsschaltung dazu eingerichtet ist, die modifizierte Nachricht zu erzeugen, indem sie einen jeweiligen der Koeffizienten der Nachricht, ansprechend darauf, dass der jeweilige der Koeffizienten der Nachricht größer ist als der Referenzwert, selektiv modifiziert und den jeweiligen der Koeffizienten der Nachricht ansprechend darauf, dass der jeweilige der Koeffizienten der Nachricht kleiner ist als der Referenzwert, beibehält.Decryption device according to Claim 8 wherein the processing circuitry is configured to generate the modified message by selectively modifying a respective one of the coefficients of the message in response to the respective one of the coefficients of the message being greater than the reference value and the respective one of the coefficients of the message in response thereto that the respective one of the coefficients of the message is smaller than the reference value, maintains. Entschlüsselungsvorrichtung nach Anspruch 9, wobei die Verarbeitungsschaltung dazu eingerichtet ist, die Koeffizienten der Nachricht selektiv zu modifizieren, indem sie den jeweiligen der Koeffizienten in der modifizierten Nachricht ansprechend darauf, dass der jeweilige der Koeffizienten der Nachricht größer ist als der Referenzwert und der jeweilige der Koeffizienten der Nachricht gerade ist, auf einen ersten Wert einstellt und den jeweiligen der Koeffizienten in der modifizierten Nachricht ansprechend darauf, dass der jeweilige der Koeffizienten der Nachricht größer ist als der Referenzwert und der jeweilige der Koeffizienten der Nachricht ungerade ist, auf einen zweiten Wert einstellt.Decryption device according to Claim 9 , wherein the processing circuitry is adapted to selectively modify the coefficients of the message by the respective one of the coefficients in the modified message in response to the fact that the respective one of the coefficients of the message is greater than the Reference value and the respective one of the coefficients of the message is even, sets to a first value and the respective one of the coefficients in the modified message in response to the fact that the respective one of the coefficients of the message is greater than the reference value and the respective one of the coefficients of the message is odd, sets to a second value. Entschlüsselungsvorrichtung nach Anspruch 8, wobei die Verarbeitungsschaltung dazu eingerichtet ist, den Referenzwert durch eine Divisionsoperation bei der Primzahl und entweder eine Rundungsoperation, eine Abrundungsoperation oder eine Aufrundungsoperation bei einem Ergebnis des Divisionsoperations eines Divisors „2“ zu berechnen.Decryption device according to Claim 8 wherein the processing circuit is configured to calculate the reference value by a division operation on the prime number and either a rounding operation, a rounding operation or a rounding operation on a result of the division operation of a divisor “2”. Entschlüsselungsvorrichtung nach Anspruch 8, wobei die Verarbeitungsschaltung dazu eingerichtet ist, die Nachricht zu berechnen, indem sie eine Multiplikationsoperation bei dem zweiten verschlüsselten Text und dem privaten Schlüssel ausführt, um ein Multiplikationsergebnis zu erzeugen; und eine Additionsoperation bei dem Multiplikationsergebnis und dem ersten verschlüsselten Text ausführt.Decryption device according to Claim 8 wherein the processing circuit is arranged to calculate the message by performing a multiplication operation on the second ciphertext and the private key to produce a multiplication result; and performing an addition operation on the multiplication result and the first ciphertext. Entschlüsselungsvorrichtung nach Anspruch 8, wobei die Verarbeitungsschaltung dazu eingerichtet ist, die modifizierte Nachricht zu entschlüsseln, indem sie bei der modifizierten Nachricht eine Modulo-Operation ausführt.Decryption device according to Claim 8 wherein the processing circuit is set up to decrypt the modified message by performing a modulo operation on the modified message. Entschlüsselungsvorrichtung nach Anspruch 13, wobei ein Divisor der Modulo-Operation „2“ ist.Decryption device according to Claim 13 , where a divisor of the modulo operation is “2”. Kommunikationssystem aufweisend: eine Verschlüsselungsvorrichtung, die dazu eingerichtet ist, einen ersten verschlüsselten Text basierend auf einem ersten öffentlichen Schlüssel zu berechnen und einen zweiten verschlüsselten Text basierend auf einem zweiten öffentlichen Schlüssel und einer Klartextnachricht zu berechnen; und eine Entschlüsselungsvorrichtung, die dazu eingerichtet ist, einen privaten Schlüssel basierend auf einer Normalverteilung zu sampeln, den ersten öffentlichen Schlüssel aus einem Polynomring zu sampeln, den zweiten öffentlichen Schlüssel basierend auf dem privaten Schlüssel und dem ersten öffentlichen Schlüssel zu berechnen, den ersten verschlüsselten Text und den zweiten verschlüsselten Text von der Verschlüsselungsvorrichtung ansprechend auf Übermittlung des ersten öffentlichen Schlüssels und des zweiten öffentlichen Schlüssels an dieselbe zu erhalten, eine Übermittlungsnachricht basierend auf dem ersten verschlüsselten Text, dem zweiten verschlüsselten Text und dem privaten Schlüssel zu erzeugen, Koeffizienten der Übermittlungsnachricht mit einem Referenzwert zu vergleichen, um ein Vergleichsergebnis zu erzeugen, wobei der Referenzwert auf einer Primzahl basiert, basierend auf der Übermittlungsnachricht eine modifizierte Übermittlungsnachricht zu erzeugen, indem sie die Koeffizienten der Übermittlungsnachricht basierend auf dem Vergleichsergebnis selektiv modifiziert, und die modifizierte Übermittlungsnachricht zu entschlüsseln.Communication system having: an encryption device that is set up to calculate a first ciphertext based on a first public key and calculate a second ciphertext based on a second public key and a plain text message; and a decryption device which is set up to sample a private key based on a normal distribution, sample the first public key from a polynomial ring, calculate the second public key based on the private key and the first public key, receive the first encrypted text and the second encrypted text from the encryption device in response to transmission of the first public key and the second public key thereto, generate a delivery message based on the first encrypted text, the second encrypted text and the private key, To compare coefficients of the transmission message with a reference value in order to generate a comparison result, the reference value being based on a prime number, to generate a modified transmission message based on the transmission message by selectively modifying the coefficients of the transmission message based on the comparison result, and decrypt the modified delivery message. Kommunikationssystem nach Anspruch 15, wobei die Entschlüsselungsvorrichtung dazu eingerichtet ist, die modifizierte Übermittlungsnachricht zu erzeugen, indem sie den jeweiligen der Koeffizienten in der modifizierten Übermittlungsnachricht ansprechend darauf, dass der jeweilige der Koeffizienten der Übermittlungsnachricht größer ist als der Referenzwert und der jeweilige der Koeffizienten der Übermittlungsnachricht gerade ist, auf einen ersten Wert einstellt, den jeweiligen der Koeffizienten in der modifizierten Übermittlungsnachricht ansprechend darauf, dass der jeweilige der Koeffizienten der Übermittlungsnachricht größer ist als der Referenzwert und der jeweilige der Koeffizienten der Übermittlungsnachricht ungerade ist, auf einen zweiten Wert einstellt, und den jeweiligen der Koeffizienten der Übermittlungsnachricht, ansprechend darauf, dass der jeweilige der Koeffizienten der Übermittlungsnachricht kleiner ist als der Referenzwert, beibehält.Communication system according to Claim 15 , wherein the decryption device is set up to generate the modified transmission message by the respective one of the coefficients in the modified transmission message in response to the fact that the respective one of the coefficients of the transmission message is greater than the reference value and the respective one of the coefficients of the transmission message is even sets a first value, the respective one of the coefficients in the modified transmission message in response to the fact that the respective one of the coefficients of the transmission message is greater than the reference value and the respective one of the coefficients of the transmission message is odd, sets the respective one of the coefficients of the Transmission message, in response to the fact that the respective one of the coefficients of the transmission message is less than the reference value, maintains. Kommunikationssystem nach Anspruch 15, wobei die Entschlüsselungsvorrichtung ferner dazu eingerichtet ist, den zweiten öffentlichen Schlüssel zu berechnen, indem sie eine erste Multiplikationsoperation bei dem privaten Schlüssel und dem ersten öffentlichen Schlüssel ausführt, und eine erste Additionsoperation bei einem Ergebnis der ersten Multiplikationsoperation und einem ersten Fehler, der aus der ersten Normalverteilung gesampelt wurde, ausführt.Communication system according to Claim 15 , wherein the decryption device is further configured to calculate the second public key by performing a first multiplication operation on the private key and the first public key, and a first addition operation on a result of the first multiplication operation and a first error resulting from the first normal distribution was sampled. Kommunikationssystem nach Anspruch 17, wobei die Verschlüsselungsvorrichtung ferner dazu eingerichtet ist: den ersten verschlüsselten Text zu berechnen, indem sie eine zweite Multiplikationsoperation bei dem ersten öffentlichen Schlüssel und einem zweiten Fehler, der aus einer zweiten Normalverteilung gesampelt wurde, ausführt, eine dritte Multiplikationsoperation bei einem dritten Fehler ausführt, der aus der zweiten Normalverteilung und einem Parameter gesampelt wurde, und eine zweite Additionsoperation bei Multiplikationsergebnissen der zweiten und der dritten Multiplikationsoperation ausführt; und den zweiten verschlüsselten Text zu berechnen, indem sie eine vierte Multiplikationsoperation bei dem zweiten öffentlichen Schlüssel und dem zweiten Fehler ausführt, eine fünfte Multiplikationsoperation bei einem vierten Fehler ausführt, der aus der zweiten Normalverteilung und dem Parameter gesampelt wurde, und eine dritte Additionsoperation bei Multiplikationsergebnissen der vierten und der fünften Multiplikationsoperation und der Klartextnachricht ausführt.Communication system according to Claim 17 wherein the encryption device is further configured to: calculate the first ciphertext by performing a second multiplication operation on the first public key and a second error sampled from a second normal distribution, performing a third multiplication operation on a third error, which has been sampled from the second normal distribution and a parameter, and performs a second addition operation on multiplication results of the second and third multiplication operations; and calculate the second ciphertext by performing a fourth multiply operation on the second public key and the second error, performing a fifth multiplying operation on a fourth error sampled from the second normal distribution and the parameter, and a third adding operation on Performs multiplication results of the fourth and fifth multiplication operations and the plaintext message. Kommunikationssystem nach Anspruch 18, wobei die Entschlüsselungsvorrichtung ferner dazu eingerichtet ist, die Übermittlungsnachricht zu berechnen, indem sie eine sechste Multiplikationsoperation bei dem ersten verschlüsselten Text und dem privaten Schlüssel ausführt, und eine vierte Additionsoperation bei einem Multiplikationsergebnis der sechsten Multiplikationsoperation und des zweiten verschlüsselten Textes ausführt.Communication system according to Claim 18 wherein the decryption device is further configured to calculate the transmission message by executing a sixth multiplication operation on the first encrypted text and the private key, and executing a fourth addition operation on a multiplication result of the sixth multiplication operation and the second encrypted text. Kommunikationssystem nach Anspruch 15, wobei die Entschlüsselungsvorrichtung dazu eingerichtet ist, die Klartextnachricht wiederherzustellen, indem sie bei der modifizierten Übermittlungsnachricht eine Modulo-Operation ausführt.Communication system according to Claim 15 wherein the decryption device is set up to restore the plain text message by performing a modulo operation on the modified transmission message.
DE102020126668.5A 2019-12-23 2020-10-12 Non-transitory, computer-readable medium on which program code is stored, decryption device and communication system comprising an encryption device and a decryption device Pending DE102020126668A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2019-0172720 2019-12-23
KR1020190172720A KR20210081471A (en) 2019-12-23 2019-12-23 Non-transitory computer-readable medium storing program code, decryption device, and communication system including encryption device and decryption device
US16/990,073 US11496295B2 (en) 2019-12-23 2020-08-11 Non-transitory computer-readable medium storing program code, decryption device, and communication system including encryption device and decryption device
US16/990,073 2020-08-11

Publications (1)

Publication Number Publication Date
DE102020126668A1 true DE102020126668A1 (en) 2021-06-24

Family

ID=76205981

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020126668.5A Pending DE102020126668A1 (en) 2019-12-23 2020-10-12 Non-transitory, computer-readable medium on which program code is stored, decryption device and communication system comprising an encryption device and a decryption device

Country Status (1)

Country Link
DE (1) DE102020126668A1 (en)

Similar Documents

Publication Publication Date Title
DE112015005893B4 (en) Systems and Methods for a Multi-Value Packing Scheme for Homomorphic Encryption
DE60113678T2 (en) GENERATOR FOR PSEUDO RANDOM COUNTS
DE112018000215T5 (en) Secure private post-quantum stream aggregation
CN111553483A (en) Gradient compression-based federated learning method, device and system
US20110040820A1 (en) Secure Multi-Party Computation of Normalized Sum-Type Functions
DE102018122278A1 (en) Perform a cryptographic operation
CN109214201A (en) A kind of data sharing method, terminal device and computer readable storage medium
US11496295B2 (en) Non-transitory computer-readable medium storing program code, decryption device, and communication system including encryption device and decryption device
US20160210472A1 (en) Secret parallel processing device, secret parallel processing method, and program
CN112926073A (en) Federal learning modeling optimization method, apparatus, medium, and computer program product
EP4270266A1 (en) Method and apparatus for updating machine learning model
CN107454975B (en) Encryption system and key generation device
CN111970106B (en) Short ciphertext attribute-based encryption method and system supporting full homomorphism in lattice
WO2016188859A1 (en) Method for safeguarding the information security of data transmitted via a data bus and data bus system
Drăgan et al. On the asymptotic idealness of the Asmuth-Bloom threshold secret sharing scheme
CN111555880A (en) Data collision method and device, storage medium and electronic equipment
CN112202562A (en) RSA key generation method, computer device and medium
WO2016195551A1 (en) Method and encryption node for encrypting message
CN116488919B (en) Data processing method, communication node and storage medium
Shah et al. Paillier cryptosystem based mean value computation for encrypted domain image processing operations
DE102020126668A1 (en) Non-transitory, computer-readable medium on which program code is stored, decryption device and communication system comprising an encryption device and a decryption device
CN109698812A (en) Information ciphering method and device, information decryption method and device and security system
EP3804216B1 (en) System and asynchronous protocol for verifiable secret sharing
Qaid et al. Encrypting image by using fuzzy logic algorithm
CN114726524B (en) Target data sorting method and device, electronic equipment and storage medium

Legal Events

Date Code Title Description
R012 Request for examination validly filed