WO2013152725A1 - New cryptographic systems using pairing with errors - Google Patents

New cryptographic systems using pairing with errors Download PDF

Info

Publication number
WO2013152725A1
WO2013152725A1 PCT/CN2013/074053 CN2013074053W WO2013152725A1 WO 2013152725 A1 WO2013152725 A1 WO 2013152725A1 CN 2013074053 W CN2013074053 W CN 2013074053W WO 2013152725 A1 WO2013152725 A1 WO 2013152725A1
Authority
WO
WIPO (PCT)
Prior art keywords
matrix
distribution
user
key
entries
Prior art date
Application number
PCT/CN2013/074053
Other languages
French (fr)
Inventor
Jintai Ding
Original Assignee
Jintai Ding
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jintai Ding filed Critical Jintai Ding
Priority to CN201380019518.3A priority Critical patent/CN104396184B/en
Priority to US16/678,383 priority patent/USRE48644E1/en
Priority to KR1020147027625A priority patent/KR102116877B1/en
Priority to US15/881,531 priority patent/USRE47841E1/en
Priority to EP13776224.1A priority patent/EP2837128B1/en
Priority to US16/678,335 priority patent/USRE48643E1/en
Priority to US14/491,992 priority patent/US9246675B2/en
Publication of WO2013152725A1 publication Critical patent/WO2013152725A1/en

Links

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0847Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving identity based encryption [IBE] schemes
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction

Definitions

  • This invention is related to the construction of cryptographic systems, in particular, key exchange (KE) systems, key distribution (KD) systems and identity-based-encryption (IBE) systems, which are based on essentially the same mathematical principle, pairing with errors.
  • KE key exchange
  • KD key distribution
  • IBE identity-based-encryption
  • KD key distribution
  • KD key distribution
  • Shamir proposed another kind of public key encryption system [SHA] .
  • a person or an entity's public key is generated with a public algorithm from the information that can identify the person or the entity uniquely.
  • the information may include the person's name, residential address, birthday, finger print information, e-mail address, social security number and etc. Since the public key is determined by the public information that can identify the person, this type of public key cryptosystem is called an identity-based encryption (IBE) system.
  • IBE identity-based encryption
  • IBE Identity-based-encryption
  • a sender encrypts a message for a given receiver using the receiver's public key based on the identity of the receiver.
  • the receiver decrypts the message using the the receiver's private key.
  • the receiver obtains the private key from a central server, which has a system to generate and distribute the IBE private key for the legitimate user securely.
  • An IBE system does not demand the sender to search for the receiver's public key, but rather, a sender in an IBE system derives any receiver's corresponding public key using an algorithm on the information that identifies the receiver, for example, an email address, an ID number or other information.
  • Current IBE systems are very complicated and not efficient in terms of computations, since the bilinear paring over elliptic curves is very computationally intensive. These systems based on pairing over elliptic curves can also be broken efficiently if we have a quantum computer as showed in the work of Shor [SHO] . There are also constructions based on lattices, but those are also rather complicated systems for applications [ABB] [ABVVW] [BKPW] . Therefore it is important and desirable that we have secure and efficient IBE systems.
  • This invention first contains a novel method for two parties A and B to perform an secure KE over an open communication channel.
  • This method is based on the computation of pairing of the same bilinear form in two different ways but each with different small errors.
  • each users will choose a private matrix SA, SB respectively with small entries following certain error distributions secretly and a public matrix M randomly.
  • each user will compute the multiplication of the user's secret matrix with the publicly chosen matrix but with small errors, exchange the new matrices, and then perform the computation of pairing of SA and 3 ⁇ 4 over the same bilinear form based on M in two different ways but each with different small errors.
  • This kind of mathematical computation is called pairing with errors.
  • the shared key is derived from the pairings with a rounding technique.
  • This invention second contains a novel method to build a KD system with a central server or authority.
  • the central server or authority assigns each user i a public ID as a matrix with small entries or establish the ID of each user as a matrix A ⁇ with small entries following certain error distributions with the information that can identify the user uniquely, and, in a secure way, gives each user a private key based on certain multiplication of this ID matrix with the central server or authority's secret master key M, another matrix, but with small errors.
  • any two users in the system will compute the pairing of the two ID matrices of the users with the same bilinear form based on the master key matrix M in two different ways but each with different small errors to derive a shared key between these two users with certain rounding technique.
  • This method can be viewed as an extension of the idea of the learning with error problem discovered by Regev in 2005 [Reg].
  • the security of this system depends on the hardness of the problem related to pairing with errors. This system involves only matrix multiplication and therefore is very efficient.
  • This invention third contains a novel method to build a IBE system with a central server or authority.
  • the central server or authority assigns each user i a public ID Ai as a matrix with small entries following certain certain error distributions or establish the ID of each user as a matrix with small entries following certain certain error distributions with the information that can identify the user uniquely.
  • Each user is given by the central server or authority a private key 3 ⁇ 4 based on certain multiplication of this ID matrix with the central server or authority's master private key S, another matrix, but with errors related to one part of the master public key M, another matrix.
  • the central server or authority will establish another half of the mater key as the multiplication of M and S with small errors, which we call M ⁇ .
  • any user who wishes to send the user i a message in the system will compute public key of i which consists of M and a paring of M and Ai of the bilinear form based on the master secret key matrix S, then encrypt the message using the encryption system based on the MLWE problem, and the user i will use the secret key 3 ⁇ 4 to decrypt the message.
  • This method can be viewed as an extension of the idea of the learning with error problem discovered by REGEV in 2005.
  • the security of this system depends the harness of certain lattice problem, which can be mathematically proven hard. This system involves only matrix multiplication and therefore is very efficient.
  • a LWE problem can be described as follows. First, we have a parameter n, a (prime) modulus q , and an error probability distribution ⁇ on the finite ring (field) F q with q elements. To simplify the exposition, we will take q to be a odd prime and but we can also work on any whole number except that we may need to make slight modifications.
  • each element is represented by the set ⁇ — (q— l)/2, .., 0, (q— l)/2 ⁇ .
  • an error distribution we mean a distribution we mean a distribution such that there is a high probability we will select an element, which is small. There are many such selections and the selection directly affect the security of the system. One should select good error distribution to make sure the system works well and securely.
  • ⁇ on F q be the probability distribution obtained by selecting an element A in FTM randomly and uniformly, choosing e G F q according to ⁇ , and outputting (A, ⁇ A, S > +e), where + is the addition that is performed in F q .
  • A is a square matrices of the size n x n and, S and e of the size n x 1.
  • Tls ove r F q be the probability distribution obtained by selecting an n x n matrix A, whose each entry are chosen in F q uniformly and independently, choosing e as a n x l vector over F q with entries chosen according to certain error distribution ⁇ ⁇ , for example, each entries follows an error distribution ⁇ independently, and outputting (A, Ax S+e), where + is the addition that is performed in F q .
  • An algorithm that solves a LWE with modulus q and error distribution ⁇ ⁇ , if, for any vector S in F q , with any number of independent sample (s) from 3 ⁇ 4 )( ⁇ , it outputs S (with high probability).
  • ⁇ , ⁇ 2 over F q be the probability distribution obtained by selecting an n x n matrix A, whose each entry are chosen in F q uniformly and independently, choosing e as a n x n matrix over F q with entries following certain error distribution ⁇ ⁇ 2 , for exmaple, an distribution chosen according to the error distribution ⁇ independently, and outputting (A, A x S + e) , where + is the addition that is performed in FTM .
  • Such a product can be mathematically viewed as computing the bilinear paring of the row vectors of A with column vectors of C.
  • EA , EB , EA C , EB C are matrices with small entries following the same ( or different) error distributions. Then we have two way to compute the product ABC with small errors or differences between these two matrices. We call such a computation pairing with errors. All our constructions depends on such a paring with errors and on the fact that the two different paring are close to each other if A and C are also small.
  • Alice and Bob will first publicly select F q , n and a n x n matrix M over F q uniformly and randomly, where q is of size of a polynomial of n, for example q i3 ⁇ 4 n 3 , and an error distribution ⁇ ⁇ ⁇ to be a distribution over n x n matrices over F q , for example, a distribution that each component are independent and each component follow certain error distribution like the discrete error distribution ⁇ ⁇ as in the case of LWE, namely a discrete normal distribution over F q center around 0 with standard deviation approximately All the information above is public. They jointly and publicly choose a small (prime) integer t (t « n) .
  • t is a small integer (t « n).
  • M B *3 ⁇ 4 + ie B .
  • each party will compute the residues of these entries modular t in T ⁇ , and for the entries not in T 1 ; which is in T 2 , they will add q— l)/2 to each entry and compute the residue modular q first (into the range of [— q— l)/4, q— 1)/4] ⁇ ) then the residue modular t. That gives a shared key between these two users.
  • Si and 3 ⁇ 4 can follow different kind of error distributions.
  • a ⁇ x io + a ⁇ x + ... + ⁇ ⁇ - ⁇ ⁇ ⁇ ⁇ ,
  • the RLWE/ j9jX problem is parameterized by an polynomial f x) of degree n, a prime number q and an error distribution ⁇ over lZ q . It is defined as follows.
  • ⁇ 3 ⁇ 4 is uniformly random in lZ q and 3 ⁇ 4 is selected following certain error distribution ⁇ .
  • the error distribution ⁇ is the discrete Gaussian distribution Z1 ⁇ 2 TMj(T for some n » ⁇ > w( ⁇ og ) > 1 ;
  • Alice and Bob will first publicly select all the parameters for the RLWEf tqtX including n 3 or similar polynomial functions of n), n, f (x) and ⁇ . In addition, they will select a random element M over lZ q uniformly. All the information above is public.
  • each party chooses its own secret Sj as an element in lZ q according to the error distribution ⁇ , and independently also as an element following the error distribution ⁇ , but jointly choose a small prime integer t (t « n)
  • t is a small integer (t « n).
  • M B Ms B + te B .
  • the problem is to find an algorithm to derive KB (or KA) modular t or KB + (q— l) /2 (or KA + (q— l) /2) modular q (into the range of [-(q-l)/4, (q-l)/4]) and then modular t with a high probability.
  • KB or KA
  • KB + (q— l) /2 or KA + (q— l) /2) modular q (into the range of [-(q-l)/4, (q-l)/4]
  • the system can be essentially understood as that the master key of a central server is a symmetric matrix M of size n x n and each user's identity can be seen as a row vector Hi of size n.
  • the central server gives each user the secret Hi x M. Then two users can derive the shared key as Hi x M x H 1 -.
  • the symmetric property of M ensures that
  • the central server For each user index as i, the central server gives it a ( in general not symmetric) matrix Ai ( as an ID) with small entries following error distribution ⁇ ⁇ ⁇ .
  • the ID matrix of each user is public and it can also be generated with information that can identify the user like email address, name and etc.
  • the central server For each user, the central server distribute securely a secret:
  • the user j When the user j wants to establish a shared key with the user i, the user j will collect all the entries (including their positions in the matrix) in K j that are in the range of (—(q— l)/4, (q— l)/4), namely those entries which are closer to 0 than (q— l)/2. Then user j will send to the user i a list of the positions of the entries in the matrix (only the position not the values of the entries themselves) that are randomly selected from the collection, which is tagged by 0, and a list of entries not in the list tagged by 0. Then the user i will select the same entries in its own matrix Ei x A j . Now they have a shared list of common entry positions, therefore the corresponding entries of the matrix. Then each user will compute the residue of these entries modular t tagged by 1 and compute the residue of the sum of each of these entries tagged by 0 with (q— l)/2 to build a new identical ordered list of values, which will be their shared secret
  • the central server will also select a random element M in lZ q following uniform distribution.
  • the central server will assign an public ID as Ai, where Ai should be in the form of a chosen small element in TZ q , namely following an error distribution like ⁇ .
  • a message m is represented as n x n matrix with binary entries of 0, 1 or n x n matrix with entries in the range modular t, namely 0, l.., t— 1.
  • a sender chooses a n x n small matrix B similar to S namely following an error distribution ⁇ ⁇ ⁇ , for example, each entries independently and randomly follows the distribution ⁇ ⁇ . Then the sender compute the encrypted message as:
  • e ⁇ and e 2 are error matrices selected independently following some error distribution like e.
  • B x e + e 2 — ei x S can be viewed as a error terms, which is determined by the distribution of the following random variable.
  • the central server will also select a random element M following uniform distribution or similar distribution, but make sure that M has an inverse. If we could not find one first time, we will try again till we find one. We have a high probability of success to find such a M when q is large. Then the central serve will compute
  • the central server will assign an public ID as A i; where is small following certain error distribution ⁇ ⁇ ⁇ , and it can be generated from information that can identify the user.
  • the central server will first select a secret S in R as the secret master key, where S is a selected small element follow certain error distributions ⁇ .
  • the central server will also select a random element M in R following uniform distribution and make sure that M has an inverse. If we could not find one first time, we will try again till we find one. We have a high probability of success to find such a M when q is large. Then the central serve will computer
  • the central server will assign an public ID as A i; where Ai is a small element in TZ q , and it follows error distribution ⁇ .
  • each fi, g(x) is a extremely sparse matrix with very few terms, for example, 2 or 3 terms none-zero.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Complex Calculations (AREA)

Abstract

Using the same mathematical principle of paring with errors, which can be viewed as an extension of the idea of the LWE problem, this invention gives constructions of a new key exchanges system, a new key distribution system and a new identity-based encryption system. These new systems are efficient and have very strong security property including provable security and resistance to quantum computer attacks.

Description

NEW CRYPTOGRAPHIC SYSTEMS USING PAIRING WITH ERRORS
Background
[1] The present disclosure claims priority to the U.S. provisional patent application with Ser. No. 61623272, entitled " New methods for secure communications and secure information systems" , filed April 12, 2012, which is incorporated herein by reference in its entirety and for all purposes.
[2] This invention is related to the construction of cryptographic systems, in particular, key exchange (KE) systems, key distribution (KD) systems and identity-based-encryption (IBE) systems, which are based on essentially the same mathematical principle, pairing with errors.
[3] In our modern communication systems like Internet, cell phone, and etc, to protect the secrecy of the information concerned, we need to encrypt the message. There are two different ways to do this. In the first case, we use symmetric cryptosystems to perform this task, where the sender uses the same key to encrypt the message as the key that the receiver uses to decrypt the message. Symmetric systems demand that the sender and the receiver have a way to exchange such a shared key securely. In an open communication channel without any central authority, like wireless communication, this demands a way to perform such a key exchange (KE) in the open between two parties. In a system with a central server, like a cell phone system within one cell company, this demands an efficient and scalable key distribution (KD) system such that any two users can derive a shared key via the key distribution (KD) system established by the central server. Therefore it is important and desirable that we have secure and efficient KE systems and KD systems. The first KE system was proposed by Dime and Hellman [DiHe] , whose security is based on the hardness of discrete logarithm problems. This system can be broken by future quantum computers as showed in the work of Shor [SHO] . There are many key-distribution systems including the system using pairing over quadratic forms [BSHKVY] , and the one based on bilinear paring over elliptic curves by Boneh and Boyen (in USA Patent 7,590,236) . But the existing systems have either the problem of computation efficiency or scalability. For instance, the bilinear paring over elliptic curves is very computationally intensive.
[4] In the second case, we use asymmetric systems, namely public key cryptographic systems, for encryption, where the receiver has a set of a public key and a private key, and the sender has only the public key. The sender uses the public key to encrypt messages, the receiver uses the private key to decrypt the messages and only the entity who has the private key can decrypt the messages. In an usual public key system, we need to make sure the authenticity of the public keys and therefore each public key needs to have a certificate, which is a digital signature provided by a trusted central authority. The certificate is used to verify that the public key belongs to the legitimate user, the receiver of a message. To make public key encryption system fully work, we need to use such a system, which is called a public key infrastructure (PKI) system.
[5] In 1984, Shamir proposed another kind of public key encryption system [SHA] . In this new system, a person or an entity's public key is generated with a public algorithm from the information that can identify the person or the entity uniquely. For example, in the case of a person, the information may include the person's name, residential address, birthday, finger print information, e-mail address, social security number and etc. Since the public key is determined by the public information that can identify the person, this type of public key cryptosystem is called an identity-based encryption (IBE) system.
[6] There are a few Identity-based-encryption (IBE) public key cryptosystems, and currently, the (best) one being practically used is the IBE system based on bilinear paring over elliptic curves invented by Boneh and Franklin ( in USA Patent: 7,113,594). In IBE systems, a sender encrypts a message for a given receiver using the receiver's public key based on the identity of the receiver. The receiver decrypts the message using the the receiver's private key. The receiver obtains the private key from a central server, which has a system to generate and distribute the IBE private key for the legitimate user securely. An IBE system does not demand the sender to search for the receiver's public key, but rather, a sender in an IBE system derives any receiver's corresponding public key using an algorithm on the information that identifies the receiver, for example, an email address, an ID number or other information. Current IBE systems are very complicated and not efficient in terms of computations, since the bilinear paring over elliptic curves is very computationally intensive. These systems based on pairing over elliptic curves can also be broken efficiently if we have a quantum computer as showed in the work of Shor [SHO] . There are also constructions based on lattices, but those are also rather complicated systems for applications [ABB] [ABVVW] [BKPW] . Therefore it is important and desirable that we have secure and efficient IBE systems.
[7] Clearly, there are still needs for more efficient and secure KE, KD and IBE systems for practical applications.
BRIEF SUMMARY OF THE INVENTION
[8] This invention first contains a novel method for two parties A and B to perform an secure KE over an open communication channel. This method is based on the computation of pairing of the same bilinear form in two different ways but each with different small errors. In the KE process, each users will choose a private matrix SA, SB respectively with small entries following certain error distributions secretly and a public matrix M randomly. Then each user will compute the multiplication of the user's secret matrix with the publicly chosen matrix but with small errors, exchange the new matrices, and then perform the computation of pairing of SA and ¾ over the same bilinear form based on M in two different ways but each with different small errors. This kind of mathematical computation is called pairing with errors. The shared key is derived from the pairings with a rounding technique. This method can be viewed as an extension of the idea of the learning with errors (LWE) problem discovered by Regev in 2005 [Reg]. The security of this system depends the hardness of certain lattice problem, which can be mathematically proven hard [DiLi]. This system involves only matrix multiplication and therefore is very efficient. Such a system can also resist the future quantum computer attacks.
[9] This invention second contains a novel method to build a KD system with a central server or authority. In this system, the central server or authority assigns each user i a public ID as a matrix with small entries or establish the ID of each user as a matrix A^ with small entries following certain error distributions with the information that can identify the user uniquely, and, in a secure way, gives each user a private key based on certain multiplication of this ID matrix with the central server or authority's secret master key M, another matrix, but with small errors. Then any two users in the system will compute the pairing of the two ID matrices of the users with the same bilinear form based on the master key matrix M in two different ways but each with different small errors to derive a shared key between these two users with certain rounding technique. This method can be viewed as an extension of the idea of the learning with error problem discovered by Regev in 2005 [Reg]. The security of this system depends on the hardness of the problem related to pairing with errors. This system involves only matrix multiplication and therefore is very efficient.
[10] This invention third contains a novel method to build a IBE system with a central server or authority. In this system, the central server or authority assigns each user i a public ID Ai as a matrix with small entries following certain certain error distributions or establish the ID of each user as a matrix with small entries following certain certain error distributions with the information that can identify the user uniquely. Each user is given by the central server or authority a private key ¾ based on certain multiplication of this ID matrix with the central server or authority's master private key S, another matrix, but with errors related to one part of the master public key M, another matrix. The central server or authority will establish another half of the mater key as the multiplication of M and S with small errors, which we call M\. Then any user who wishes to send the user i a message in the system will compute public key of i which consists of M and a paring of M and Ai of the bilinear form based on the master secret key matrix S, then encrypt the message using the encryption system based on the MLWE problem, and the user i will use the secret key ¾ to decrypt the message. This method can be viewed as an extension of the idea of the learning with error problem discovered by REGEV in 2005. The security of this system depends the harness of certain lattice problem, which can be mathematically proven hard. This system involves only matrix multiplication and therefore is very efficient.
[11] In our constructions, we can replace matrices by elements in ideal lattice, and we can also use other type of rounding techniques. We can also build the system in a distributed way where several servers can work together to build KD and IBE systems.
[12] In short, we use the same mathematical principle of paring with errors, which can be viewed as an extension of the idea of the LWE problem, to build secure and more efficient KE, KD and IBE systems.
[13] Though this invention has been described with specific embodiments thereof, it is clear that many variations, alternatives, modifications will become apparent to those who are skilled in the art of cryptography. Therefore, the preferred embodiments of the invention as set forth herein, are intended to be illustrative, not limiting. Various changes may be made without departing from the scope and spirit of the invention as set forth herein and defined in the claims. The claims in this invention are based on the U.S. provisional patent application with Ser. No. 61623272, entitled "New methods for secure communications and secure information systems" , filed April 12, 2012, only more technical details are added.
DETAILED DESCRIPTION OF THE INVENTION 1.1 The basic idea of pairing with errors [14] The learning with errors (LWE) problem, introduced by Regev in 2005 [Reg] , and its extension, the ring learning with errors (RLWE) problem [LPR] have broad application in cryptographic constructions with some good provable secure properties. The main claim is that they are as hard as certain worst-case lattice problems and hence the related cryptographic constructions.
[15] A LWE problem can be described as follows. First, we have a parameter n, a (prime) modulus q , and an error probability distribution κ on the finite ring (field) Fq with q elements. To simplify the exposition, we will take q to be a odd prime and but we can also work on any whole number except that we may need to make slight modifications.
[16] In Fq, each element is represented by the set {— (q— l)/2, .., 0, (q— l)/2}. In this exposition, by " an error" distribution, we mean a distribution we mean a distribution such that there is a high probability we will select an element, which is small. There are many such selections and the selection directly affect the security of the system. One should select good error distribution to make sure the system works well and securely.
[17] Let ΤΙ on Fq be the probability distribution obtained by selecting an element A in F™ randomly and uniformly, choosing e G Fq according to κ, and outputting (A, < A, S > +e), where + is the addition that is performed in Fq. An algorithm that solves the LWE problem with modulus q and error distribution κ, if, for any S in Fq , with an arbitrary number of independent samples from Tls,K, it outputs S (with high probability).
[18] To achieve the provable security of the related cryptographic constructions based on the LWE problem, one chooses q to be specific polynomial functions of n, that is q is replaced by a polynomial functions of n, which we will denote as q(n), κ to be certain discrete version of normal distribution centered around 0 with the standard deviation σ = aq >
Figure imgf000005_0001
and elements of Fq are represented by integers in the range [—(q— l)/2, (q— l)/2)], which we denote clS
[19] In the original encryption system based on the LWE problem, one can only encrypt one bit a time, therefore the system is rather inefficient and it has a large key size. To further improve the efficiency of the cryptosystems based on the LWE problem, a new problem, which is a LWE problem based on a quotient ring of the polynomial ring Fq[x] [LPR], was proposed. This is called the ring LWE (RLWE) problem. In the cryptosystems based on the RLWE problem, their security is reduced to hard problems on a subclass of lattices, the class of ideal lattices, instead of general lattices.
[20] Later, a new variant of LWE was proposed in [ACPS] . This variant of the LWE problem is based on the LWE problem. We will replace a vector A with a matrix A of size m x n, and S also with a matrix of size n x 1, such that they are compatible to perform matrix multiplication A x S. We also replace e with a compatible matrix of size m x 1. We will work on the same finite field with q elements.
[21] To simplify the exposition, we will only present, in detail, for the case where A is a square matrices of the size n x n and, S and e of the size n x 1.
[22] Let Tls over Fq be the probability distribution obtained by selecting an n x n matrix A, whose each entry are chosen in Fq uniformly and independently, choosing e as a n x l vector over Fq with entries chosen according to certain error distribution κη, for example, each entries follows an error distribution κ independently, and outputting (A, Ax S+e), where + is the addition that is performed in Fq . An algorithm that solves a LWE with modulus q and error distribution κη, if, for any vector S in Fq , with any number of independent sample (s) from ¾)(ίη , it outputs S (with high probability). [23] For the case that we choose a small S, namely entries of S are chosen independently according to also the error distribution κη, we call this problem a small LWE problem (SLWE) . If we further impose the condition A to be symmetric, we call it a small symmetric LWE problem (SSLWE) . If we choose the secret S randomly and independently from the set —ζ, , . , 0, l.., z with z a fixed small positive integer, we call such a problem uniformly small LWE problem (USLWE) .
[24] For practical applications, we can choose S and e with different kind of error distributions.
[25] Due to the results in [ACPS] , we know If the secret 5"s coordinates and the error e's entries are sampled independently from the LWE error distribution κσ, the corresponding LWE problem is as hard as LWE with a uniformly random secret S. This shows that the SLWE problem is as hard as the corresponding LWE problem. The same is true for the case of the RLWE problem that if one can solve the Ring LWE problem with a small secret namely the element S being small, then one can solve it with an uniform secret.
[26] We further extend the problem to a full matrix form.
[27] Let ΤΙ ,κ 2 over Fq be the probability distribution obtained by selecting an n x n matrix A, whose each entry are chosen in Fq uniformly and independently, choosing e as a n x n matrix over Fq with entries following certain error distribution κη2 , for exmaple, an distribution chosen according to the error distribution κ independently, and outputting (A, A x S + e) , where + is the addition that is performed in F™ . An algorithm that solves a LWE with modulus q and error distribution κη2 , if, for any n x n matrix S in F™, with any number of independent sample(s) from Tls,K 2 > it outputs S (with a high probability) .
[28] We call this problem matrix LWE problem(MLWE) . For the case where we choose a small S, namely entries of S also follows the error distribution κη2 , we call this problem a small MLWE problem (SMLWE) . If we further impose the condition A to be symmetric, we call it a small symmetric MLWE problem (SSMLWE) . If we choose the secret S randomly and independently from the set —z, .., 0, l .. , z with z a fixed small positive integer, we call such a problem uniformly small MLWE problem (USMLWE) . It is clear the MLWE problem is nothing but put n LWE problem together and sharing the same matrices. Therefore it is as hard as the corresponding LWE problem.
[29] We can use different error distributions for S and e.
[30] The mathematical principle behind our construction comes from the fact of associativity of matrices multiplications of three matrices A, B and C:
A x B x C = (A x B) x C = A x (B x C) .
Such a product can be mathematically viewed as computing the bilinear paring of the row vectors of A with column vectors of C.
[31] For two matrices A and B with small entries following certain error distributions, for example, with entries following some error distributions, instead of computing this product directly, we can first compute
AB + Ea,
then compute
(AB + EA)C or (AB + EA)C + EAC,
or we will compute
BC + EC, then compute
A(BC + EC) or (AB + EA) C + EBC,
where EA , EB , EAC, EBC are matrices with small entries following the same ( or different) error distributions. Then we have two way to compute the product ABC with small errors or differences between these two matrices. We call such a computation pairing with errors. All our constructions depends on such a paring with errors and on the fact that the two different paring are close to each other if A and C are also small.
[32] We can mathematically prove the theorem that an MLWE problem is as hard as the corresponding LWE problem with the same parameters. This provides the foundation of the provable security of our constructions
1.2 The construction of the new KE systems based on paring with errors
[33] Two parties Alice and Bob decide to do a key exchange (KE) over an open channel. This means that the communication of Alice and Bob are open to anyone including malicious attackers. To simplify the exposition, we will assume in this part all matrices involves are n x n matrices. But they do not have to be like this, and they can be matrices of any sizes except that we need to choose the compatible sizes such that the matrix multiplications performed are well defined.
[34] Their key change protocol will go step by step as follows.
(1) Alice and Bob will first publicly select Fq, n and a n x n matrix M over Fq uniformly and randomly, where q is of size of a polynomial of n, for example q i¾ n3, and an error distribution κηι to be a distribution over n x n matrices over Fq, for example, a distribution that each component are independent and each component follow certain error distribution like the discrete error distribution κσ as in the case of LWE, namely a discrete normal distribution over Fq center around 0 with standard deviation approximately
Figure imgf000007_0001
All the information above is public. They jointly and publicly choose a small (prime) integer t (t « n) .
(2) Then each party chooses its own secret Si ( i = A, B) as a n x n matrix chosen according to the error distribution κηι , also as a n x n matrix following the error distribution. For Alice, she computes
MA = MSA + teA,
where t is a small integer (t « n).
For Bob, he computes
MB = *¾ + ieB.
(3) Both parties exchange Mi in the open communication channel. This means both Mi ( i = A, B) are public, but keep Si and ej (i = A, B ), secret.
(4) Alice computes:
KA = SA x MB = S^M'SB + tSAeB.
Bob computes:
KB =
Figure imgf000007_0002
x SB = SAM'SB + teASB. (5) Both of them will perform a rounding technique to derive the shared key as follows:
(a) Bob will make a Ust Ti of all positions of the entries of KB such that these entries are in the range of [— q— l)/4, q— l)/4] and a list T2 of all positions which are not in the range of [—(q— l)/4, (q— l)/4] . Then Bob will send to Alice the list
Ά.
(b) Then each party will compute the residues of these entries modular t in T\, and for the entries not in T1 ; which is in T2, they will add q— l)/2 to each entry and compute the residue modular q first (into the range of [— q— l)/4, q— 1)/4]^) then the residue modular t. That gives a shared key between these two users.
[35] The reason that Alice and Bob can derive from KA and KB a shared secret to be the exchanged key via certain rounding techniques as in the case above is exactly that and Si are small, therefore KA and KB are close. We call this system a SMLWE key exchange protocol. We can derive the provable security of this more efficient system [Dili] .
[36] In term of both communication and computation efficiency, the new system is very good. The two parties need to exchange n2 entries in Fq, and each perform 2η2·8 computations (with Strassen fast matrix multiplication [STR]) to derive n2 bits if t = 2.
[37] Si and ¾ can follow different kind of error distributions.
[38] We can prove the theorem that if we choose the same system parameters, namely n and q, the matrix SLWE key exchange protocol is provably secure if the error distribution is properly chosen [DiLi] . The proof relies on the the mathematical hardness of the following pairing with error problem.
[39] Assume that we are given
(1) an n x n matrix M, a prime integer q, a small positive integer t, and an error distribution κη and ;
(2)
MA' = MSA' + teA
and
MB' = *¾ + ieB,
where 1 vector follows the error distribution κη and the entries of n x 1 vectors S also follows the same error distribution;
(3) and the fact that
KB L = MA t x SBL = (S^' M'SB' + t eA , SB' >
is in the range of [—(q— l)/4, (q— l)/4] or not;
the problem is to find an algorithm to derive
KA' = (SA' y x MB = (S' M'SB' + t < SA' , eB >
modular t if KB' is in the range of [—(q— l)/4, (q— l)/4], otherwise KA' + q— l)/2 first modular q then modular t, with a high probability. We call such a problem a pairing with error problem (PEP). [40] The proof follows from the fact that the SMLWE problem is as hard as the SLWE problem, since the matrix version can be viewed as just assembling multiple SLWE samples into one matrix SLWE sample.
[41] We note here that we can choose also rectangular matrix for the construction as long as we make sure the sizes are matching in terms of matrix multiplications, but parameters need to be chosen properly to ensure the security.
[42] Similarly we can build a key exchange system based on the ring learning with errors problem (RLWE) [LPR] , we will a variant of the RLWE problem described in [LNV] .
[43] For the RLWE problem, we consider the rings 1Z = Z[x] / f (x) , and lZq = TZ/qTZ, where f x) is a degree n polynomial in Z[x] , Z is the ring of integers, and q is a prime integer. Here q is an odd (prime) and elements in Zq = Fq = Z/q are represented by elements: — q— l)/2, —1 , 0, 1 , .., (g— l)/2, which can be viewed as elements in Z when we talk about norm of an element. Any element in lZq is represented by a degree n— 1 polynomial, which can also be viewed as a vector with its corresponding coefficients as its entries. For an element
a{x) = io + a\x + ... + αη-\χη~ λ ,
we define
|| || = max|<¾ [ ,
the l norm of the vector (ao, <¾ , an-i) and we treat this vector as an element in Zn and <2j an element in Z. We can also choose q to be even positive number and things need slight modification.
[44] The RLWE/j9jX problem is parameterized by an polynomial f x) of degree n, a prime number q and an error distribution χ over lZq. It is defined as follows.
[45] Let the secret s be an element in TZq, a uniformly chosen random ring element. The problem is to find s, given any polynomial number of samples of the pair
Figure imgf000009_0001
where <¾ is uniformly random in lZq and ¾ is selected following certain error distribution χ.
[46] The hardness of such a problem is based on the fact that the ¾ are computationally indistinguishable from uniform in lZq. One can show [LPR] that solving the RLWE/j9jX problem above is known to give us a quantum algorithm that solves short vector problems on ideal lattices with related parameters. We believe that the latter problem is exponentially hard.
[47] We will here again use the facts in [ACPS] , [LPR] that the RLWE/j9jX problem is equivalent to a variant where the secret s is sampled from the error distribution χ rather than being uniform in lZq and the error element ¾ are multiples of some small integer t.
[48] To derive the provable security, we need consider the RLWE problem with specific choices of the parameters.
• We choose f x) to be the cyclotomic polynomial xn + 1 for n = 2U, a power of two;
• The error distribution χ is the discrete Gaussian distribution Z½™j(T for some n » σ > w( ^og ) > 1 ;
• q = 1 (mod 2n) and q a polynomial of n and q i¾ n3;
• t a small prime and t « n « q.
We can also use other parameters for practical applications.
[49] There are two key facts in the RLWE/j9jX setting defined above, which are needed for our key exchange system. (1) The length of a vector drawn from a discrete Gaussian of with standard deviation σ is bounded by an, namely,
Figure imgf000010_0001
for X chosen according to χ.
(2) The multiplication in the ring lZq increases from the norms of the constituent elements in a reasonable scale, that is,
l| x y(mod f(x)) \\ < n|| ||||y||,
for 1, 7 G lZq and the norm is the l norm defined above.
[50] With the RLWEJj9jX setting above, we are now ready to have two parties Alice and Bob to do a key exchange over an open channel. It goes step by step as follows.
(1) Alice and Bob will first publicly select all the parameters for the RLWEftqtX including n3 or similar polynomial functions of n), n, f (x) and χ. In addition, they will select a random element M over lZq uniformly. All the information above is public.
(2) Then each party chooses its own secret Sj as an element in lZq according to the error distribution χ , and independently also as an element following the error distribution χ, but jointly choose a small prime integer t (t « n)
For Alice, she computes
MA = MsA + teA,
where t is a small integer (t « n).
For Bob, he computes
MB = MsB + teB.
(3) Both parties exchange Mi. This means both Mi are public, but certainly keep Sj and Ci secret.
(4) Alice computes:
KA = SA X Mb = sAMsB + teBsA.
Bob computes:
KB = MA x sB = sAMsB + teAsB.
(5) Both of them will perform a rounding technique to derive the shared key as follows:
(a) Bob will then make a list of size n, and this list consists of pairs in the form of where i = 0, n— 1, and j = 1 if the x% coefficient of KB is in the range of [—(q— l)/4, (q— l)/4] otherwise j = 0.
(b) Then Bob will send this list to Alice. Then each will compute the residue of the corresponding entries modular t in the following way:
for an element of the list
1) if j = 1, each will compute the i-th entry of KA and KB modular t respectively;
= 0; each will add q— l)/2 to the i-th entry of KA and KB modular q back to range of [—(q— l)/4, (q— l)/4] then compute the residues modular t.
[51] We can use different distributions for Sj and
[52] That will give a shared key between these two users. We call this system a RLWE key exchange system. We can deduce that there is a very low probability of failure of this key exchange system. We note here that the commutativity and the associativity of the ring lZq play a key role in this construction.
[53] In terms of security analysis, we can show the provable security of the system following the hardness of the RLWE/j9jX problem by using a similar PEP over the ring Rq[OiU].
[54] Assume that we are given
• a random element M in Rq, prime integers t, q and the error distribution χ with parameters selected as in the RLWEJj9jX above;
• MA = MSA + t&A and MB = MSB + te e , where follows the error distribution χ and Si also follows the error distribution χ;
• and the fact that the coefficients x% of KB = MA x SB = SAMSB + t&A^B is in the range of [—(q— l)/4, (q— l)/4] or not;
the problem is to find an algorithm to derive KB (or KA) modular t or KB + (q— l) /2 (or KA + (q— l) /2) modular q (into the range of [-(q-l)/4, (q-l)/4]) and then modular t with a high probability. We call such a problem a pairing with error problem over a ring(RPE).
[55] It is nearly a parallel extension of the proof of the provable security of the case of SLWE key exchange system to the RLWE key exchange system. We conclude that the RLWE key exchange system is provable secure based on the hardness of the RLWE/j9jX problem.
[56] With the same parameters q and n, this system can be very efficient due to the possibility doing fast multiplication over the ring lZq using FFT type of algorithms.
1.3 The construction of the new KD systems based on paring with errors
[57] Over a large network, key distribution among the legitimate users is a critical problem. Often, in the key distribution systems, a difficult problem is how to construct a system, which is truly efficient and scalable. For example, in the case of the constructions of [BSHKVY] , the system can be essentially understood as that the master key of a central server is a symmetric matrix M of size n x n and each user's identity can be seen as a row vector Hi of size n. The central server gives each user the secret Hi x M. Then two users can derive the shared key as Hi x M x H1-. The symmetric property of M ensures that
Figure imgf000011_0001
However, large number of users can collaborate to derive the master key. If one can collect enough (essentially n) Hi x M, which then can be used to find the master key M and therefore break the system.
[58] We will build a truly scalable key distribution system using the pairing with error with a trusted central server, which can be viwed as a combination of the idea above and the idea of the LWE.
[59] We work again over the finite field Fq, whose elements are represented by— q— l) /2, ..., 0, ..., (g - l) /2. We cho OSe Q ~ n3 or other similar polynomial function of n, we choose again κηι to be an error distribution over the space of n x n matrices, for example, an distribution each component are independent, and each component follows error distribution κσ, the discrete distribution as in the case of LWE, namely a discrete normal distribution over Fq centered around 0 with standard deviation approximately
Figure imgf000011_0002
The choice of these parameters can be modified. [60] The key distribution system is set up step by step as follows.
(1) We have a central server, which will select a symmetric randomly chosen n x n matrix S, as a master key, whose entries are in Fq:
S = S*.
(2) For each user index as i, the central server gives it a ( in general not symmetric) matrix Ai ( as an ID) with small entries following error distribution κηι . The ID matrix of each user is public and it can also be generated with information that can identify the user like email address, name and etc.
(3) For each user, the central server distribute securely a secret:
Figure imgf000012_0001
where is a matrix (not symmetric) selected following certain error distribution, such as κη2. This is kept private for each user.
[61] To obtain a secret key shared between the user i and the user j , the user i computes
Ki = Ei x Aj t = AiSAj t + teiA);
and the user j computes
K3 = Ai x {EjY = AiS1 A + tAte = AtSA + tAte .
This is possible because the IDs are public. They then can use the following simple rounding method to derive a shared key between the two users.
• When the user j wants to establish a shared key with the user i, the user j will collect all the entries (including their positions in the matrix) in Kj that are in the range of (—(q— l)/4, (q— l)/4), namely those entries which are closer to 0 than (q— l)/2. Then user j will send to the user i a list of the positions of the entries in the matrix ( only the position not the values of the entries themselves) that are randomly selected from the collection, which is tagged by 0, and a list of entries not in the list tagged by 0. Then the user i will select the same entries in its own matrix Ei x Aj . Now they have a shared list of common entry positions, therefore the corresponding entries of the matrix. Then each user will compute the residue of these entries modular t tagged by 1 and compute the residue of the sum of each of these entries tagged by 0 with (q— l)/2 to build a new identical ordered list of values, which will be their shared secret key.
[62] Because S symmetric, we have that
Λ . a A t — Λ . t A t therefore the user j derives
AiSAj -\- tAiCj. The difference between the results computed by the two users is:
Figure imgf000013_0001
= SA + tetA) - ( SA + tAte))
= tciAj
Figure imgf000013_0002
This difference is small since t is small and &iA- and ^j are small, which is due to the fact that ej, ej, Ai and Aj are all small. This allows us to get a common key for i and j by certain rounding techniques and therefore build a key distribution system.
[63] Since the error terms for both matrices, are small, the corresponding selected entries with tag 1 in AiSAj (without
Figure imgf000013_0003
are essentially within the range of [(— (q— l)/4, (q— l)/4] or very close. Therefore the error terms will not push those selected terms in AiSAj over either (—(q— l)/2 or (q— l)/2), that is when added the error terms, those selected entries will not need any further modular q operation but just add them as integers, since each element is represented as an integer in the range of [(— (q— l)/2(q— l)/2)]. The same argument goes with entries tagged by 0. These ensures that the process give a shared key between these two users.
[64] From the way matrices Ki, Kj are constructed, we know that each entry of Ki and Kj follows uniform distribution. Therefore we expect that each time the size of the first list selected by the user j from the matrix Kj should be around n2. Therefore this system can provide the shared secret with enough bits if we choose proper n.
[65] Also we can build a version of this system with none symmetric matrices, in this case, the central serve needs to compute more matrices like AiS + e and A S + e'. Then it is possible, we can do the same kind of key distribution. This system again is less efficient.
[66] On the other hand, since the RLWE problem can be viewed as a specialized commutative version of matrix-based LWE since an element in the ring can be view as a homomorphism on the ring. We can use the RLWE to build a key distribution in the same way.
[67] Now let us look at why this key distribution is scalable. Clearly each user will have a pair Ai and I¾ = A^S + tei, and many users together can get many pairs, then to find the secret master key S is to solve the corresponding MLWE problem, except that, in this case, we impose the symmetric condition on the secret S. It is not difficult to argue again that this problem is as hard as a LWE problem, since given a LWE problem, we can convert it also into such a MLWE problem with symmetric secret matrix. Therefore, it is easy to see that this system is indeed scalable.
[68] In terms of the provable security of the system, the situation is similar to the work done in the paper [DiLi]. We can give a provable security argument along the same line.
[69] As we said before, since RLWE can be viewed as a special case MLWE, we will use the RLWE to build a very simple key distribution system.
[70] We will choose the ring lZq to be Fq[x]/xn + 1. To ensure the provable security, we need to choose parameter properly n, q, properly, for exmaple n = 2k, q = lmo<i(2n) [LPR]. For provable secure systems, we assume that we will follow the conventional assumptions on these parameters, and the assumption on the error distribution like χ in [LPR].
[71] This construction is essentially based on the systems of above. We assume that we have a ring lZq with a properly defined learning with error problem on the ring lZq with erro distribution χ. The problem is defined as follows: We are given a pair (A, E), where
E = A x S + te',
A, S where e' are elements in R, t is small integer, e' is an error element following the distribution of χ, S is a fixed element and A is select randomly following uniform distribution, and the problem is to find the secret S.
[72] With a central server, we can build a simple key distribution system as follows.
(1) The central server will also select a random element M in lZq following uniform distribution.
(2) For each user, the central server will assign an public ID as Ai, where Ai should be in the form of a chosen small element in TZq, namely following an error distribution like χ.
(3) Each member is given a secret key by the central server:
Figure imgf000014_0001
where ¾ follows an error distribution χ.
(4) // two user i and j wants to build a shared key, one user, say i can use the ID matrix of j, namely Ai; the its secret key to build a shared key with j by computing
Kt = Aj x Si = AjMAi + tAjei,
and j can use its secret key to build a shared key with i by computing
Kj = Ai x Sj = AjMAi + tAtej,
then derive the shared key with the rounding teachnique as follows:
(a) i will then make a list of size n, and this list consists of pairs in the form of ( , b), where a = 0, n— 1, and b = 1 if the xa coefficient of Ki is in the range °f [- (<? - !)/4, (q - l)/4] otherwise 6 = 0.
(b) i will send this list to j . Then each will compute the residue of the corresponding entries modular t in the following way:
for an element of the list (a, b),
1) if b = 1, each will compute the a-th entry of Ki and Kj modular t respectively;
2) if b = 0, each will add q— l)/2 to the a-th entry of Ki and Kj modular q back to range of [—(q— l)/4, (q— l)/4] then compute the residues modular t.
[73] Since Ai and are small elements in TZq, we have Ai x is also small. This ensures that we indeed have a shared secret key. This, therefore, gives an key-distribution system.
[74] Here we use very much the fact that in a RLWE problem that the multiplication is commutative. The key feature of our construction is that it is simple and straight forward. The provable security of the system is also straightforward.
1.4 The construction of the new IBE systems based on paring with errors [75] We will first build a new public key encryption based on MLWE. To build an encryption system, we choose similar parameter g ¾ n3 or n4 or similar polynomial functions of n, we choose again κηι to be an error distribution, for example the error distribution with each component are independent, and each component follow the same discrete distribution κσ as in the case of LWE, namely a discrete normal distribution over Fq center around 0 with standard deviation approximately
Figure imgf000015_0001
Surely we can also select high dimensional Gaussian distribution, which should be very convenient for the purpose to provable security. We select this simple distribution to simplify the argument concerning the validity of the encryption system. We can surelt choose other parameters.
[76] With such a setting, we can build an encryption system as in the case of the MLWE problem as follows:
(1) We select an n x n matrix S, whose entries are small following an error distribution κηι , for example, each entries independently and randomly follows the distribution
(2) In the setting of the MLWE, we will derive one output pair (A, E), where
E = A x S + e,
or
E = A x S + te,
and t is small, t « n, and they form the public key of our encryption system. Here e follow certain error distributions, for example the distribution we use above.
(3) S is the private key of the cryptosystem.
(4) A message m is represented as n x n matrix with binary entries of 0, 1 or n x n matrix with entries in the range modular t, namely 0, l.., t— 1.
(5) A sender chooses a n x n small matrix B similar to S namely following an error distribution κηι , for example, each entries independently and randomly follows the distribution κσ . Then the sender compute the encrypted message as:
(D1, D2) = (B x A + el 7 B x E + e2 + m{q/2)), or
((£>ι, D2) = (B x A + tei, B x E + te2 + m,
where e\ and e2 are error matrices selected independently following some error distribution like e.
(6) To decrypt, the legitimate, in the first case, computes
D2 - D1 x S = (BE + e2 + m(q/2) - (BA + eJS) = eE + e2 - eiS + m{q/2), where everything is done in Fq, and we can check on each entry of the matrix, if it is near 0, we output 0, and if it is near q— l)/2 we output 1, or we divide them by q— l)/2 performed as a real number division and round them to 0 or 1 and the output will be the plaintext m; or in the second case, the legitimate user computes
D2 - D1 x S = (BE + te2 + m - (BA + =, teE + te2 - texS + m, then modular t. This will be the plaintext m. [77] A, B, ei can follow different error distributions.
[78] With large n, the output can give us the right plaintext with as high probability as demanded. The reason we could decrypt with high probability comes from the following.
D2 - D1 x S
= BE + e2 + m(q/2) - (BA + e)S
= B x (A x S + e) + e2 + m(q/2) - (BA + ¾) x S
Figure imgf000016_0001
B x e + e2— ei x S can be viewed as a error terms, which is determined by the distribution of the following random variable. With proper choice of parameters, like in the case of KE or KD systems, the decryption process will surely return the right answer when n is large enough. The same argument goes with the second case.
[79] One key point of this new method is that on average, we can do the encryption much faster in terms of per bit speed because we can use fast matrix multiplication [CW] to speed up the computation process.
[80] We note here that since matrix multiplication is not commutative, when we multiply two elements, the order is very important, unlike the case of the RLWE related systems.
[81] We can also use the same idea in the ring LWE (RLWE) [LPR] to do encryption, where all the elements are in the ring TZq, and we have
E = A x S + te,
t is small positive integer and the entries of S is also small following error distribution κηι . We encrypt a message as
( , D2) = {BA + te BE + te2 + m).
Then we decrypt by computing
(BE + te2 + m - B(AS + te1)) (mod t).
This works because
D2 - D1 x S
= BE + te2 + m - (BA + e^S
= B x (A x S + te) + te2 + m - (BA + tex) x S
= tB x e + te2 — tei x S + m
Since the error terms are small, by modular t, we certainly should get back the original plaintext.
[82] For the MLWE problem, we surely need to choose the distribution accordingly when we need to obtain the provable security of the system.
[83] There are several versions of identity-based encryption systems based on lattice related problems including the LWE problem [ABB] ,[ABVVW] ,[BKPW] . But they all look rather complicated. We can use the MLWE to build an identity-based encryption system.
[84] With a central server, we can build a simple identity-based encryption system as follows. (1) The central server will first select a secret n x n matrix S as the secret master key, where S is selected as a small element following certain error distribution κηι like error distributions like in KE and KD sytsems.
(2) The central server will also select a random element M following uniform distribution or similar distribution, but make sure that M has an inverse. If we could not find one first time, we will try again till we find one. We have a high probability of success to find such a M when q is large. Then the central serve will compute
Figure imgf000017_0001
where eis small following certain error distribution κηι .
(3) Then the central server will publicize M and Mi as the master public key.
(4) For each user, the central server will assign an public ID as Ai; where is small following certain error distribution κηι , and it can be generated from information that can identify the user.
(5) Each member is given a secret key:
S, = SA, + tM~xet,
where 's entries are small following the error distribution κ. Surely this is the same as given
MS, = MSA, + te„
since M is public.
(6) Anyone can use the ID, namely Ai, and the master public key to build a new public key for the user with ID Ai; which is given as the pair (Ai, Β , where
A, = M
and
B, = M A, = MSA, + teAi,
and it is used as the public key to encrypt any message use the MLWE encryption system above.
This gives an identity based encryption system.
[85] S, Ai, ej, e can also follow different error distributions.
[86] Since A^ and e are small, we have A^ x e is also small. W also have that
Figure imgf000017_0002
Sinc is also small and tej— is also small. Therefore ¾ is a
Figure imgf000017_0003
h the pair (Ai, Bi) as the problem input. Therefore ¾ is indeed a secret key that could be used for decryption. Therefore the construction works. We need to choose parameters properly to ensure security.
[87] The key feature of our construction is that it is simple and straight forward. The provable security of the system is also straightforward.
[88] we can extend this construction using the RLWE problem. We will choose the ring R to be Fq[x]/xn + 1. To ensure the provable security, we need to choose parameter properly n, q, properly, namely n = 2k, q = lmo<i(2n) [LPR] . But we can select other parameters for secure applications.
[89] This construction is directly based on the encryption systems of the RLWE[LPR] , namely, we assume that we have a ring R with a properly defined learning with error problem on the ring R. The problem is defined as follows: we are given a pair (A, E), where
E = A x S + te',
A, S where e' are elements in TZq, t is small integer, e' is an error element following an error distribution χ, S is a fixed element and A is select randomly following uniform distribution, and the problem is to find the secret S. We also know that one can build a public key encryption systems using the RLWE problem[LPR] , where A, and E serve as the public key, and the secret S, which needs to be small, serves as the private key. We can use the fact that in a ring-LWE problem that the multiplication is commutative.
[90] With a central server, we can build a simple identity-based encryption system as follows.
(1) The central server will first select a secret S in R as the secret master key, where S is a selected small element follow certain error distributions χ.
(2) The central server will also select a random element M in R following uniform distribution and make sure that M has an inverse. If we could not find one first time, we will try again till we find one. We have a high probability of success to find such a M when q is large. Then the central serve will computer
Figure imgf000018_0001
where e is small and follows error distribution χ.
(3) Then the central server will publicize M and Mi as the master public key.
(4) For each user, the central server will assign an public ID as Ai; where Ai is a small element in TZq, and it follows error distribution χ.
(5) Each member is given a secret key:
S, = SA, + tM~xet,
where ¾ small element in R, and it follow certain error distribution χ. Surely this is the same as given
MS, = MSA, + te,,
since M is public.
(6) Anyone can use the ID, namely Ai, and the master public key to build a new public key for the user with ID Ai, which is given as the pair (Ai, BA, where
A = M
and
Bi = ΑτΜλ = AtMS + tAte = MSA, + tA,e,
and it is used as the public key to encrypt any message.
This gives an identity based encryption system.
[91] The small elements like S, Ai, e, can follow different error distributions. [92] Since Ai and e are small elements in R, we have Ai x e is also small. We have that
Figure imgf000019_0001
= MSA, + tMM^e,) - MSA, + Att which is due to the fact that this is a commutative ring. Since e, Ai and are small, e— AiCi is also small and te— tAiCi is also small. Therefore ¾ is a solution to a ring LWE problem with the pair (Ai, BA as the problem input. Therefore ¾ is indeed a secret key that could be used for decryption.
[93] We can build easily a hierarchical IBE system using similar procedure, where each user can server as a central server.
[94] The key feature of our construction is that it is simple, straight forward and efficient. The provable security of the system is also straightforward.
[95] In the all the systems above using pairing with errors over the ring, one may use polynomials in the form of
f(x) = Y[ X) + g(x) ,
where each fi, g(x) is a extremely sparse matrix with very few terms, for example, 2 or 3 terms none-zero. Using this kind of polynomial can speed up the encryption and decryption computations.
LITERATURE CITED
[ABB] S. Agrawal, D. Boneh, X. Boyen: Efficient Lattice (H)IBE in the Standard Model. In proceedings of Eurocrypt 2010, Lecture Notes in Computer Science, Volume 6110, pp. 553-572, 2010.
[ABVVW] S. Agrawal, X. Boyen, V. Vaikuntanathan, P. Voulgaris, H. Wee: Fuzzy Identity Based Encryption from Lattices. IACR Cryptology ePrint Archive 2011: 414 (2011)
[ACPS] B. Applebaum, D. Cash, C. Peikert, A. Sahai; Fast Cryptographic Primitives and Circular-Secure Encryption Based on Hard Learning Problems. Advances in Cryptology- CRYPTO 2009, Lecture Notes in Computer Science, Volume 5677 pp 595-618, 2009
[BKPW] M. Bellare, E. Kiltz, C. Peikert, B. Waters: Identity-Based (Lossy) Trapdoor Functions and Applications. In Proceedings of EUROCRYPT 2012, Lecture Notes in Computer Science, Volume 7237, pp 228-245 2012.
[BSHKVY] C. Blundo, A. De Santis, A. Herzberg, S. Kutten, U. Vaccaro, M. Yung: Perfectly-Secure Key Distribution for Dynamic Conferences, in Advances in Cryptology- Crypto 92, Lecture Notes in Computer Science, Volume 740, pp 471-486, 1993
[BKW] A. Blum, A. Kalai, and H. Wasserman. Noise-tolerant learning, the parity problem, and the statistical query model. Journal of the ACM, 50(4), pp506-19, 2003.
[COP] D. Coppersmith, Shmuel Winograd, Matrix multiplication via arithmetic progressions, Journal of Symbolic Computation - Special issue on computational algebraic complexity archive 9 (3), pp 251-280, 1990
[DiHe] W. Dime, M. Hellman, New directions in cryptography, IEEE Transactions on Information Theory 22 (6), pp 644-54, 1976. [DiLi] J. Ding, X. Lin, A Simple Provably Secure Key Exchange Scheme Based on the Learning with Errors Problem, Cryptology ePrint Archive, Report 688, 2012
[LNV] K. Lauter, M. Naehrig, V. Vaikuntanathan, Can Homomorphic Encryption be Practical?, Cryptology ePrint Archive, Report 2011/405, 2011, http://eprint.iacr.org,
[LPR] V. Lyubashevsky, C. Peikert, O. Regev, On ideal lattices and learning with errors over rings In Eurocrypt 2010
[REG] O. Regev, On lattices, learning with errors, random linear codes, and cryptography, in Proceedings of the 37th Annual ACM Symposium on Theory of Computing -STOC05, ACM, pp 84-93, 2005
[SHA] A. Shamir, Identity-based cryptosystems and signature schemes, in Advances in Cryptology-Crypto '84, Lecture Notes in Computer Science, Vol. 196, Springer- Verlag, pp. 47-53, 1984
[SHO] P. Shor, Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer, SIAM Journal of Computing 26, pp. 1484-1509, 1997.
[STR] V. Strassen, Gaussian Elimination is not Optimal, Numer. Math. 13, p. 354-356,

Claims

CLAIM [1] Claim 1. Method for establishing a key exchange over an open channel between a first party A and a second party B, comprising: (1) openly selecting, by Party A and Party B together, parameters, n, q and small whole number t, (t « n), where q is an odd prime, and an error distribution κηι to be a distribution over n x n matrix over Fq, a n x n matrix M over Fq uniformly and randomly, where q is of size of a polynomial of n like n3 , and elements of Fq are represented by integers in the range [—(q— l)/2, (q— l)/2)]; (2) choosing, by each party privately, its own secret matrix Si ( i = A, B) a n x n matrix chosen according to the error distribution κηι , and error matrix ei , ( i = A, B ) as a n x n matrix following the error distribution κηι ; computing by Party A MA = MSA + teA, where t is a small integer (t « n); computing by Party B MB = *¾ + teB. (3) Both parties exchange Mi in the open communication channel; (4) computing by Patty A : KA = SA x MB = ¾ *¾ + tSAeB; computing by Party B: KB = MA x SB = ¾ *¾ + teASB; (5) performing by both Party A and Party B a rounding technique to derive the shared key, comprising: (a) making by Party B a list T\ of all positions of the entries of KB such that these entries are in the range of [—(q— l)/4, (q— l)/4] and a list T2 of all positions which are not in the range of [—(q— l)/4, (q— l)/4] then sending by Party B to Party A the list T\ . (b) computing by each party privately the residues of these entries modular t in T\, and for the entries not in T1; which is in T2, adding q— l)/2 to each entry and computing the residue modular q first (into the range of [—(q— l)/4, (q— 1)/4]^ then the residue modular t, which gives a shared key between these two parties. [2] Claim 2. Method, for a central server, building a key distribution (KD) system, comprising: (1) selecting, by the central server, parameters select parameters, n, q and small whole number t, (t « n), where q is an odd prime, q is of size of a polynomial of n like n3 and elements of Fq are represented by integers in the range [—(q— l)/2, (q— l)/2)] an error distribution κηι a distribution over n x n matrix over Fq, ; and selecting by the central server a symmetric randomly chosen n x n matrix S over Fq as a master key; (2) giving, by the central server, to each user index as i, a general matrix Ai as an ID with small entries following error distribution κηι , where the ID matrix of each user is public and the central server have also a choice to generate the ID with information that can identify the user; (3) distributing, by the central server, for each user securely a secret: where ¾ is a matrix selected following error distribution κηι and this is kept private for each user; obtaining a secret key shared between the User i and the User j comprising: computing by the User i: Ki = Ei Ajt = ASAjt + teiAjt and computing by the User j K3 = Ai x (EjY = AiS1 A + tAte) = AtSA) + tAte)- then two users deriving a shared key between the two users using the following simple rounding method, comprising: • assuming the User j wants to establish a shared key with the user i, collecting by the user j all the entries (including their positions in the matrix) in Kj that are in the range of (—(q— l)/4, (q— l)/4), namely those entries which are closer to 0 than (q— l)/2; sending by the User j to the user i a list of the positions of the entries in the matrix ( only the position not the values of the entries themselves) that are randomly selected from the collection, which is tagged by 0, and a list of entries not in the list tagged by 0; then selecting by the user i the same entries in its own matrix Ei x Aj, which gives them a shared list of common entry positions, therefore the corresponding entries of the matrix; then computing by each user the residue of these entries modular t tagged by 1 and compute the residue of the sum of each of these entries tagged by 0 with q— l)/2 which build a new identical ordered list of values, their shared secret key. [3] Claim 3. Method, for a central, building an identity-based encryption system, comprising:
(1) selecting by the central server parameters, n, q and small whole number t, (t « n), where q is an odd prime, q is of size of a polynomial of n like n3 and elements of Fq are represented by integers in the range [—(q— l)/2, (q— l)/2)] and an error distribution κηι to be a distribution over n x n matrix over Fq; and selecting by the central server a secret n x n matrix S as the secret master key, where S is selected as a small element following certain error distribution κηι ;
(2) selecting by the central server a random element M following uniform distribution, but making sure that M has an inverse: if the central server could not find one first time, it will try again till it finds one; then computing by the central server
Figure imgf000023_0001
where e is small following certain error distribution κηι ;
(3) then publicizing by the central server M and M as the master public key;
(4) assigning by the central server for each user indexed by i an public ID as Ai, where Ai is small following certain error distribution κηι , and the central server has a choice to generate it information that can identify the user i;
(5) giving by the central server for each user, namely, the User i, a secret key:
S, = SA, + tM~xet,
where ¾ 's entries are small following the error distribution κ;
(6) then establishing by anyone using the ID, Ai, and the master public key, a new public key for the user with ID Ai, which is given as the pair (Ai, ΒΛ, where
A = M
and
Bt = ΜλΑτ = MSA, + teAi;
and using by anyone as the public key to encrypt any message use the MLWE encryption system described in the Description section.
[4] Claim 4. The method according to Claim 1, wherein q is a polynomial function of degree 2 or higher, or a similar function, and is the a distribution that each component are independent and each component follow certain error distribution like the discrete error distribution κσ, namely a discrete normal distribution over Fq center around 0 with standard deviation approximately /n, or a similar distribution.
[5] Claim 5. The method according to Claim 2, wherein q is a polynomial function of degree 2 or higher, or a similar function, is the a distribution that each component are independent and each component follow certain error distribution like the discrete error distribution κσ, namely a discrete normal distribution over Fq center around 0 with standard deviation approximately
Figure imgf000023_0002
or a similar distribution.
[6] Claim 6. The method according to Claim 3, wherein q is a polynomial function of degree 2 or higher, or a similar function, is the a distribution that each component are independent and each component follow certain error distribution like the discrete error distribution κσ, namely a discrete normal distribution over Fq center around 0 with standard deviation approximately
Figure imgf000023_0003
or a similar distribution.
[7] Claim 7. The method according to Claim 1, wherein the matrices is rectangular as long as the matrix multiplication is compatible and the parameters are adjusted accordingly.
[8] Claim 8. The method according to Claim 2, wherein the matrices is rectangular as long as the matrix multiplication is compatible and the parameters are adjusted accordingly.
[9] Claim 9. The method according to Claim 1, wherein the matrices are replaced with elements of the ring TZq = Fq[x\/ f x) with f(x) = xn + 1 and the parameters is adjusted accordingly.
[10] Claim 10. The method according to Claim 2, wherein the matrices are replaced with elements of the ring TZq = Fq[x\/ f x) with f (x) = xn + 1 and the parameters is adjusted accordingly.
[11] Claim 11. The method according to Claim 3, wherein the matrices are replaced with elements of the ring lZq = Fq
Figure imgf000024_0001
with f (x) = xn + 1 and the parameters is adjusted accordingly.
[12] Claim 12. The method according to Claim 2, wherein the procedure for two users i and j to derive a shared key is modified such that the roles of i and j are exchanged.
[13] Claim 13. The method according to Claim 2, wherein several central servers to work together to build a distributed KD system.
[14] Claim 14. The method according to Claim 3, wherein several central servers to work together to build a distributed IBE system.
[15] Claim 15. The method according to Claim 3, wherein the procedure is extended further to build a hierarchical IBE system, where each user servers as a lower level central server.
[16] Claim 16. The method according to Claim 1 , wherein the rounding technique is replaced with a similar technique.
[17] Claim 17. The method according to Claim 1, wherein the matrices are replaced
Figure imgf000024_0002
with elements of the ring lZq = Fq / f x) with f(x) = xn + 1, the parameters is adjusted accordingly, and the polynomial elements used are selected in the form of f x) = Y[ fi(x) + g(x) , where each fi, g(x) is a sparse matrix with very few terms terms none-zero.
[18] Claim 18. The method g to Claim 2, wherein the matrices are replaced with elements of the ring lZq = Fq
Figure imgf000024_0003
with f(x) = xn + 1, the parameters is adjusted accordingly, and the polynomial elements used are selected in the form of f x) = Y[ fi(x) + g(x) , where each fi, g(x) is a sparse matrix with very few terms terms none-zero.
[19] Claim 19. The method according to Claim 3, wherein the matrices are replaced with elements of the ring lZq = Fq [x]/ f (x) with f x) = xn + 1, the parameters is adjusted accordingly, and the polynomial elements used are selected in the form of f x) = Y[ fi(x) + g(x) , where each fi, g(x) is a sparse matrix with very few terms terms none-zero.
PCT/CN2013/074053 2012-04-12 2013-04-11 New cryptographic systems using pairing with errors WO2013152725A1 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CN201380019518.3A CN104396184B (en) 2012-04-12 2013-04-11 Xinmi City's code system based on wrong pairing
US16/678,383 USRE48644E1 (en) 2012-04-12 2013-04-11 Cryptographic system using pairing with errors
KR1020147027625A KR102116877B1 (en) 2012-04-12 2013-04-11 New cryptographic systems using pairing with errors
US15/881,531 USRE47841E1 (en) 2012-04-12 2013-04-11 Cryptographic system using pairing with errors
EP13776224.1A EP2837128B1 (en) 2012-04-12 2013-04-11 New cryptographic systems using pairing with errors
US16/678,335 USRE48643E1 (en) 2012-04-12 2013-04-11 Cryptographic system using pairing with errors
US14/491,992 US9246675B2 (en) 2012-04-12 2013-04-11 Cryptographic systems using pairing with errors

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261623272P 2012-04-12 2012-04-12
US61/623,272 2012-04-12

Publications (1)

Publication Number Publication Date
WO2013152725A1 true WO2013152725A1 (en) 2013-10-17

Family

ID=49327117

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/074053 WO2013152725A1 (en) 2012-04-12 2013-04-11 New cryptographic systems using pairing with errors

Country Status (6)

Country Link
US (4) USRE48644E1 (en)
EP (1) EP2837128B1 (en)
KR (1) KR102116877B1 (en)
CN (1) CN104396184B (en)
TW (1) TWI502947B (en)
WO (1) WO2013152725A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015184991A1 (en) * 2014-06-04 2015-12-10 Jintai Ding Improvements on cryptographic systems using pairing with errors
WO2015200164A1 (en) * 2014-06-26 2015-12-30 Intel Corporation Chaotic-based synchronization for secure network communications
US20220078011A1 (en) * 2018-09-12 2022-03-10 Koninklijke Philips N.V. Public/private key system with decreased public key size
EP3854024A4 (en) * 2019-11-28 2022-05-18 Seoul National University R&DB Foundation Identity-based encryption method based on lattices

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10764042B2 (en) 2015-09-08 2020-09-01 Jintai Ding Password based key exchange from ring learning with errors
CN105281914B (en) * 2015-09-24 2018-11-02 西安电子科技大学 A kind of secret handshake method based on lattice password
JP7421766B2 (en) * 2015-11-13 2024-01-25 バッジ インコーポレイテッド Public key/private key biometric authentication system
KR101880517B1 (en) * 2016-11-10 2018-07-20 서울대학교산학협력단 Public Key Crypto-Method Based on LWE
KR101905689B1 (en) * 2016-11-18 2018-12-05 서울대학교산학협력단 Calculating apparatus for encrypting message by public key and method thereof
CN107566121B (en) * 2016-11-18 2020-03-10 上海扈民区块链科技有限公司 Efficient secret consensus method
US10133603B2 (en) 2017-02-14 2018-11-20 Bank Of America Corporation Computerized system for real-time resource transfer verification and tracking
EP3364596A1 (en) * 2017-02-15 2018-08-22 Koninklijke Philips N.V. Key exchange devices and method
CN106685663B (en) * 2017-02-15 2019-07-19 华中科技大学 The encryption method and circuit of error problem concerning study in a kind of annulus
US10454892B2 (en) 2017-02-21 2019-10-22 Bank Of America Corporation Determining security features for external quantum-level computing processing
US10447472B2 (en) 2017-02-21 2019-10-15 Bank Of America Corporation Block computing for information silo
US10243976B2 (en) 2017-02-24 2019-03-26 Bank Of America Corporation Information securities resource propagation for attack prevention
US10489726B2 (en) 2017-02-27 2019-11-26 Bank Of America Corporation Lineage identification and tracking of resource inception, use, and current location
US10440051B2 (en) 2017-03-03 2019-10-08 Bank Of America Corporation Enhanced detection of polymorphic malicious content within an entity
US10284496B2 (en) 2017-03-03 2019-05-07 Bank Of America Corporation Computerized system for providing resource distribution channels based on predicting future resource distributions
EP3373505A1 (en) * 2017-03-06 2018-09-12 Koninklijke Philips N.V. Device and method for sharing a matrix for use in a cryptographic protocol
US10437991B2 (en) 2017-03-06 2019-10-08 Bank Of America Corporation Distractional variable identification for authentication of resource distribution
US10270594B2 (en) 2017-03-06 2019-04-23 Bank Of America Corporation Enhanced polymorphic quantum enabled firewall
US10412082B2 (en) 2017-03-09 2019-09-10 Bank Of America Corporation Multi-variable composition at channel for multi-faceted authentication
US11120356B2 (en) 2017-03-17 2021-09-14 Bank Of America Corporation Morphing federated model for real-time prevention of resource abuse
US10440052B2 (en) 2017-03-17 2019-10-08 Bank Of America Corporation Real-time linear identification of resource distribution breach
US11055776B2 (en) 2017-03-23 2021-07-06 Bank Of America Corporation Multi-disciplinary comprehensive real-time trading signal within a designated time frame
US10476854B2 (en) 2017-04-20 2019-11-12 Bank Of America Corporation Quantum key distribution logon widget
US10516543B2 (en) 2017-05-08 2019-12-24 Amazon Technologies, Inc. Communication protocol using implicit certificates
US10798086B2 (en) 2017-05-08 2020-10-06 Amazon Technologies, Inc. Implicit certificates using ring learning with errors
US10511591B2 (en) * 2017-05-08 2019-12-17 Amazon Technologies, Inc. Generation of shared secrets using pairwise implicit certificates
US10630655B2 (en) * 2017-05-18 2020-04-21 Robert Bosch Gmbh Post-quantum secure private stream aggregation
WO2019076706A1 (en) * 2017-10-17 2019-04-25 Koninklijke Philips N.V. Configurable device for lattice-based cryptography
EP3474484A1 (en) * 2017-10-17 2019-04-24 Koninklijke Philips N.V. Cryptographic device with updatable shared matrix
CN111418182B (en) * 2017-12-08 2023-10-27 索尼公司 Information processing apparatus, registration apparatus, information processing method, registration method, and computer program
WO2019231392A1 (en) 2018-05-30 2019-12-05 华为国际有限公司 Key exchange system, method, and apparatus
CN108923907B (en) * 2018-06-20 2021-01-29 中国科学院重庆绿色智能技术研究院 Homomorphic inner product method based on modular fault-tolerant learning problem
DE102018122278A1 (en) * 2018-09-12 2020-03-12 Infineon Technologies Ag Perform a cryptographic operation
CN109861821B (en) * 2019-02-26 2020-10-30 清华大学 Error coordination method for LWE public key password
KR102424856B1 (en) 2019-05-09 2022-07-22 구글 엘엘씨 Compression and indeterminate expansion of RLWE ciphertexts
US11128454B2 (en) 2019-05-30 2021-09-21 Bong Mann Kim Quantum safe cryptography and advanced encryption and key exchange (AEKE) method for symmetric key encryption/exchange
CN114521319B (en) * 2019-09-26 2023-12-05 维萨国际服务协会 Lattice-based signature with uniform secret
US11366897B1 (en) * 2020-01-17 2022-06-21 Wells Fargo Bank, N.A. Systems and methods for layered quantum computing detection
US11334667B1 (en) 2020-01-17 2022-05-17 Wells Fargo Bank, N.A. Systems and methods for disparate quantum computing threat detection
CN113541933B (en) * 2020-04-17 2023-07-25 赵运磊 Efficient compact encryption method based on grids
CN113541952B (en) * 2020-04-17 2023-07-25 赵运磊 Digital signature method based on lattice
US11637700B2 (en) 2020-08-14 2023-04-25 Samsung Electronics Co., Ltd. Method and apparatus with encryption based on error variance in homomorphic encryption
CN115276984B (en) * 2022-07-29 2024-03-29 山东大学 Key exchange method and system based on GR-LWE problem

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030081774A1 (en) * 2001-10-26 2003-05-01 Paul Lin Method and apparatus for dynamic generation of symmetric encryption keys and exchange of dynamic symmetric key infrastructure
US20080046732A1 (en) * 2006-08-15 2008-02-21 Motorola, Inc. Ad-hoc network key management
US20090154711A1 (en) 2007-12-18 2009-06-18 Jho Namsu Multi-party key agreement method using bilinear map and system therefor
US7590236B1 (en) 2004-06-04 2009-09-15 Voltage Security, Inc. Identity-based-encryption system

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6263437B1 (en) * 1998-02-19 2001-07-17 Openware Systems Inc Method and apparatus for conducting crypto-ignition processes between thin client devices and server devices over data networks
US7577250B2 (en) * 2004-08-12 2009-08-18 Cmla, Llc Key derivation functions to enhance security
JP4422981B2 (en) * 2003-06-12 2010-03-03 パナソニック株式会社 Cryptographic communication system
JP5690465B2 (en) * 2004-11-11 2015-03-25 サーティコム コーポレーション Custom Static Diffie-Hellman Group
CN1870499B (en) * 2005-01-11 2012-01-04 丁津泰 Method for generating multiple variable commom key password system
US8224018B2 (en) * 2006-01-23 2012-07-17 Digimarc Corporation Sensing data from physical objects
US20070271606A1 (en) * 2006-05-17 2007-11-22 Amann Keith R Apparatus and method for establishing a VPN tunnel between a wireless device and a LAN
US8107397B1 (en) * 2006-06-05 2012-01-31 Purdue Research Foundation Protocol for secure and energy-efficient reprogramming of wireless multi-hop sensor networks
US7864952B2 (en) * 2006-06-28 2011-01-04 Voltage Security, Inc. Data processing systems with format-preserving encryption and decryption engines
US9276739B2 (en) * 2006-06-30 2016-03-01 Koninklijke Philips N.V. Method and apparatus for encrypting/decrypting data
TW200807998A (en) 2006-07-25 2008-02-01 Nat Univ Tsing Hua Pair-wise key pre-distribution method for wireless sensor network
US7987367B2 (en) * 2006-08-30 2011-07-26 Samsung Electronics Co., Ltd. Method and apparatus for key agreement between devices using polynomial ring
US20090327141A1 (en) * 2007-04-18 2009-12-31 Rabin Michael O Highly efficient secrecy-preserving proofs of correctness of computation
TWI351207B (en) * 2007-10-29 2011-10-21 Inst Information Industry Key management system and method for wireless networks
US20090204823A1 (en) * 2008-02-07 2009-08-13 Analog Devices, Inc. Method and apparatus for controlling system access during protected modes of operation
US9172713B2 (en) * 2008-09-24 2015-10-27 Neustar, Inc. Secure domain name system
TWI428002B (en) * 2010-06-29 2014-02-21 Univ Vanung Key exchange systems and methods for remote mutual identification
US8621227B2 (en) * 2010-12-28 2013-12-31 Authernative, Inc. System and method for cryptographic key exchange using matrices
US9288083B2 (en) * 2011-03-17 2016-03-15 Georgia Tech Research Corporation Enhanced lattice reduction systems and methods
US8297510B1 (en) * 2011-06-30 2012-10-30 Vladimir Yakshtes Mathematical method of 2D barcode authentication and protection for embedded processing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030081774A1 (en) * 2001-10-26 2003-05-01 Paul Lin Method and apparatus for dynamic generation of symmetric encryption keys and exchange of dynamic symmetric key infrastructure
US7590236B1 (en) 2004-06-04 2009-09-15 Voltage Security, Inc. Identity-based-encryption system
US20080046732A1 (en) * 2006-08-15 2008-02-21 Motorola, Inc. Ad-hoc network key management
US20090154711A1 (en) 2007-12-18 2009-06-18 Jho Namsu Multi-party key agreement method using bilinear map and system therefor

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LYUBASHEVSKY VADIM ET AL.: "LECTURE NOTES IN COMPUTER SCIENCE; [LECTURE NOTES IN COMPUTER SCIENCE", 30 May 2010, SPRINGER VERLAG, article "On Ideal Lattices and Learning with Errors over Rings", pages: 1 - 23
SHAFI GOLDWASSER ET AL.: "THEORY OF CRYPTOGRAPHY", 19 March 2012, SPRINGER BERLIN HEIDELBERG, article "Bounded-Collusion IBE from Key Homomorphism", pages: 564 - 581

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015184991A1 (en) * 2014-06-04 2015-12-10 Jintai Ding Improvements on cryptographic systems using pairing with errors
WO2015200164A1 (en) * 2014-06-26 2015-12-30 Intel Corporation Chaotic-based synchronization for secure network communications
US9438422B2 (en) 2014-06-26 2016-09-06 Intel Corporation Chaotic-based synchronization for secure network communications
US10411889B2 (en) 2014-06-26 2019-09-10 Intel Corporation Chaotic-based synchronization for secure network communications
US20220078011A1 (en) * 2018-09-12 2022-03-10 Koninklijke Philips N.V. Public/private key system with decreased public key size
US11909877B2 (en) * 2018-09-12 2024-02-20 Koninklijke Philips N.V. Public/private key system with decreased public key size
EP3854024A4 (en) * 2019-11-28 2022-05-18 Seoul National University R&DB Foundation Identity-based encryption method based on lattices

Also Published As

Publication number Publication date
EP2837128A4 (en) 2015-04-08
US20150067336A1 (en) 2015-03-05
EP2837128A1 (en) 2015-02-18
TW201404106A (en) 2014-01-16
CN104396184B (en) 2017-12-01
CN104396184A (en) 2015-03-04
USRE48644E1 (en) 2021-07-13
USRE48643E1 (en) 2021-07-13
KR20150032928A (en) 2015-03-31
EP2837128B1 (en) 2019-02-27
US9246675B2 (en) 2016-01-26
KR102116877B1 (en) 2020-06-03
USRE47841E1 (en) 2020-02-04
TWI502947B (en) 2015-10-01

Similar Documents

Publication Publication Date Title
US9246675B2 (en) Cryptographic systems using pairing with errors
US7590236B1 (en) Identity-based-encryption system
Sen Homomorphic encryption-theory and application
WO2015184991A1 (en) Improvements on cryptographic systems using pairing with errors
Anand et al. Identity-based cryptography techniques and applications (a review)
Lv et al. Group key agreement for secure group communication in dynamic peer systems
Hrestak et al. Homomorphic encryption in the cloud
WO2017041669A1 (en) Password based key exchange from ring learning with er-rors
Zouari et al. A privacy-preserving homomorphic encryption scheme for the internet of things
Dutta et al. Overview of key agreement protocols
Kalyani et al. Survey on identity based and hierarchical identity based encryption schemes
Wang et al. New identity-based key-encapsulation mechanism and its applications in cloud computing
Patel et al. Comparative evaluation of elliptic curve cryptography based homomorphic encryption schemes for a novel secure multiparty computation
Qin et al. Strongly secure and cost-effective certificateless proxy re-encryption scheme for data sharing in cloud computing
Wade et al. The Iso-ElGamal Cryptographic Scheme
Yeh et al. P2P email encryption by an identity-based one-way group key agreement protocol
Kumar et al. Multi-level secret sharing scheme for mobile ad-hoc networks
Kalyani et al. New Hierarchical Identity Based Encryption with maximum hierarchy.
El-Yahyaoui et al. A Like ELGAMAL Cryptosystem But Resistant To Post-Quantum Attacks
Li et al. Chosen-ciphertext secure multi-use unidirectional attribute-based proxy re-encryptions
Liu et al. CCA-secure publicly verifiable public key encryption scheme without pairings
Anbhuvizhi et al. A Study On Cipher-Text Attribute Based Encryption Using Secret Sharing Schemes
Gupta et al. Revocable key identity based cryptography without key escrow problem
Chen et al. A novel k-out-of-n oblivious transfer protocols based on bilinear pairings
Lv et al. ID-based authenticated group key agreement from bilinear maps

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13776224

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14491992

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2013776224

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 20147027625

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE