WO2016048775A1 - Xor-homomorphic cryptosystems with fast key generation - Google Patents
Xor-homomorphic cryptosystems with fast key generation Download PDFInfo
- Publication number
- WO2016048775A1 WO2016048775A1 PCT/US2015/050638 US2015050638W WO2016048775A1 WO 2016048775 A1 WO2016048775 A1 WO 2016048775A1 US 2015050638 W US2015050638 W US 2015050638W WO 2016048775 A1 WO2016048775 A1 WO 2016048775A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- mod
- ciphertext
- message
- accessing
- encryption
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/302—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
Definitions
- the common-key generation algorithm SETUP 310 takes on input some security parameter ⁇ and outputs some common parameters
- ENCRYPT 330 is a randomized algorithm that takes on input a public key upk and a plaintext m G M , and returns a ciphertext C. We write C ⁇ - ENCRYPT upk (m).
- the adversary ⁇ ( ⁇ A 1 , ⁇ A 2 ) is given the public key upk and so can encrypt any message of its choice.
- the adversary can mount chosen-plaintext attacks (CPA).
- CPA chosen-plaintext attacks
- a method for communicating a message m comprising:
- a computer program product stored in non-transitory computer-readable storage media comprising computer-executable instructions is presented for:
- FIG. 3 shows exemplary system according to the present principles
- map ⁇ yields a homomorphism from T v to G p .
- ⁇ (oo) 1.
- the group (T p ) 2 has (p— l)/2 elements.
- Proposition 1 The scheme is IND-CPA under the quadratic residuosity assumption.
- the scheme is I N D-CPA secure under the QR assumption.
- DECRYPT usk .
- FIG. 1 illustrates a block diagram of an exemplary system in which various aspects of the exemplary embodiments of the present principles may be implemented.
- System 100 may be embodied as a device including the various components described below and is configured to perform the processes described above. Examples of such devices, include, but are not limited to, personal computers, laptop computers, smartphones, tablet computers, digital multimedia set top boxes, digital television receivers, personal video recording systems, connected home appliances, and servers.
- System 100 may be communicatively coupled to other similar systems, and to trusted third parties via a communication channel as shown in Figure 2 and as known by those skilled in the art to implement the exemplary cryptosystems described above.
- System 100 may also include an encryption/decryption module 130 configured to process data to provide an encrypted message or decrypted message.
- Encryption/decryption module 130 represents the module(s) that may be included in a device to perform the encryption and/or decryption functions.
- a device may include one or both of the encryption and decryption modules, for example, encryption may be done on a regular PC since encryption does not involve secret key so that the PC need not include secure memory for storing the encryption key.
- Decryption requires secret keys (i.e., the decryption key) and is done in a secure device, for example a smart card. As memory is expensive on smart card, the encryption functionality may not always be provided on a smart card.
- one or more of the processor(s) 110, memory 120, storage device 140 and encryption/decryption module 130 may store one or more of the various items during the performance of the processes discussed herein above, including, but not limited to a public key, a private keys, encrypted messages, equations, formula, matrices, variables, operations, and operational logic.
- one or more of the above-identified components may receive and/or store the information (e.g., to be encrypted) and/or the ciphertext (e.g., to be decrypted, to be operated on homomorphically, resulting from encryption).
- the above-identified components may receive and/or store the encryption function(s) and/or the decryption function(s), as described herein above.
- the exemplary embodiments of this invention may be carried out by computer software implemented by the processor 110 or by hardware, or by a combination of hardware and software.
- the exemplary embodiments of this invention may be implemented by one or more integrated circuits.
- the memory 120 may be of any type appropriate to the technical environment and may be implemented using any appropriate data storage technology, such as optical memory devices, magnetic memory devices, semiconductor-based memory devices, fixed memory and removable memory, as non- limiting examples.
- the processor 110 may be of any type appropriate to the technical environment, and may encompass one or more of microprocessors, general purpose computers, special purpose computers and processors based on a multi-core architecture, as non-limiting examples.
- Figures 4 and 5 show exemplary flow charts according to the present principles.
- the flow charts illustrate the homomorphic crypto processes discussed above.
- the processes of Figures 4 and 5 may be executed by e.g., a processor 110 of Figure 1.
- the processes may represent, e.g., computer program products having the computer-executable instructions which may be stored in non-transitory computer- readable storage media 120 of Figure 1 as described before.
- Determining the information may include one or more of, for example, estimating the information, calculating the information, predicting the information, or retrieving the information from memory.
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
The present principles relate to cryptography, and more specifically, to homomorphic public-key encryption systems. Homomorphic encryption is a form of encryption which allows for combining two ciphertexts through a non-private operation that results in a third ciphertext which, when decrypted, yields a plaintext that is the combination of the corresponding two plaintexts through a specific operation. The present principles provide practical XOR homomorphic cryptosystems enjoying a fast key generation.
Description
XOR-HOMOMORPHIC CRYPTOSYSTEMS WITH
FAST KEY GENERATION
RELATED APPLICATION
This patent application claims the benefit of U.S. Provisional Application No.
62/055716 filed on September 26, 2014 and U.S. Provisional Application No. 62/098,378 filed on December 31, 2014, with the same title, and the disclosure of which is incorporated by reference herein in its entirety. Field of the Invention
The present principles relate to cryptography, and more specifically, to homomorphic public -key encryption systems. Homomorphic encryption is a form of encryption which allows for combining two ciphertexts through a non-private operation that results in a third ciphertext which, when decrypted, yields a plaintext that is the combination of the corresponding two plaintexts through a specific operation. The present principles provide practical XOR homomorphic cryptosystems enjoying a fast key generation.
Background Information
This section is intended to introduce the reader to various aspects of art, which may be related to various aspects of the present invention that are described and/or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present invention. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.
Public-key encryption
In order to better capture the property that users may share some common parameters in a homogeneous environment, the key generation algorithm is divided in two sub-algorithms: the common-key generation algorithm and the key generation algorithm.
Following the syntax of two articles: 1) Mihir Bellare, Alexandra Boldyreva, Anand Desai, and David Pointcheval. Key-privacy in public -key encryption. In
C. Boyd, editor, Advances in Cryptology - ASIACRYPT 2001 , volume 2248 of Lecture Notes in Computer Science, pages 566-582. Springer, 2001, and 2) Shafi Goldwasser and Silvio Micali. Probabilistic encryption. /. Comput. Syst. Sci. , 28(2):270-299, 1984, we define a public-key encryption scheme as a tuple of four algorithms (SETUP, KEYGEN, ENCRYPT, DECRYPT). The generalized flow diagram of the process is illustrated as process 300 in Figure 3. Functions of blocks in Figure 3 are described below.
Common-key generation The common-key generation algorithm SETUP 310 takes on input some security parameter κ and outputs some common parameters
PP t- SETUP(1K).
Key generation The key generation algorithm KEYGEN 320 is a randomized algorithm that takes on input PP and returns a matching pair of public key and secret
R
key for some user: (upk, usk) <- KEYGEN(PP).
Encryption Let M denote the message space. The encryption algorithm
ENCRYPT 330 is a randomized algorithm that takes on input a public key upk and a plaintext m G M , and returns a ciphertext C. We write C <- ENCRYPTupk(m).
Decryption The decryption algorithm DECRYPT 340 takes on input secret key usk (matching upk) and ciphertext C and returns the corresponding plaintext m or a special symbol 1 indicating that the ciphertext is invalid. We write m <-
DECRYPTusk(C) if C is a valid ciphertext and ± - DECRYPTusk(C) if it is not.
We require that, with non-negligible probability, DECRYPTusk(ENCRYPTupk(m)) = m for all messages m G M. The keys generated in process step 320 are provided as necessary for the encryption 330 and decryption 340. The specific processes associated with each of these steps as they relate to the present principles are described in further detail below.
Security notions
The notion of indistinguishability of encryptions (as described in Goldwasser and Micali article) captures a strong notion of data-privacy: The adversary should not learn any information whatsoever about a plaintext given its encryption beyond the length of the plaintext.
We view an adversary <A as a pair (c Z1, c Z2) of probabilistic algorithms. This corresponds to adversary Λ running in two stages. In the "find" stage, algorithm ·Λ1 takes on input public parameters PP and a public key upk and outputs two (different) equal-size messages m0 and m1 G M and some state information s. In the "guess" stage, algorithm ·Λ2 receives a challenge ciphertext C which is the encryption of mb under upk and where b is chosen at random in {0,1}· The goal of ·Λ2 is to recover the value of b from s and C.
A public-key encryption scheme is said semantically secure (or indistinguishable) if
PP <- SETUP(1K), (upk, usk) <- KEYGEN(PP),
Pr (mo. m-L. s) - c/Zi CPP, upk), : Jl2 (s, C = b
b <- {0,1}, C <- ENCRYPTupk(m¾)
is negligible in the security parameter for any polynomial-time adversary Λ; the probability is taken over the random coins of the experiment according to the distribution induced by SETUP and KEYGEN and over the random coins of the adversary.
As we are in the public -key setting, the adversary Λ = (<A1, <A2) is given the public key upk and so can encrypt any message of its choice. In other words, the adversary can mount chosen-plaintext attacks (CPA). Hence, we write I N D-CPA the security notion achieved by a semantically secure encryption scheme.
Remark 1. As messages m0 and m1 are supposed to be different, when the message space is M = {0,1}, the previous relation simplifies to
. 7 <- , , ^ upk
Complexity assumptions
It is useful to introduce some notation. Let N = pq be the product of two (odd) primes p and q. The Jacobi symbol modulo N of an integer a is denoted by 7w(a) . The set of integers whose Jacobi symbol is 1 is denoted by N, N = {a G
¾ l/iv (a) = 1); the set of quadratic residues is denoted by QMW , QMW = {a G ¾ I a) = Jq (a) = 1}· Note that Q N is a subset of JN.
Definition 1 (Quadratic Residuosity Assumption) Let RSAGen be a probabilistic algorithm which, given a security parameter κ, outputs primes p and q and their product N = pq . The Quadratic Residuosity (QR) assumption asserts that the success probability defined as the distance
R R
Pr [ V(x, N) = l \x ^ QRN] - Pr [ V(x, N) = l \x ^ N \ QRN] is negligible for any probabilistic polynomial-time distinguisher D ; the probabilities are taken over the experiment of running (N, p, q) <- RSAGen ( 1K) and choosing at random x G QRN and x G JN \ QRN.
As noted before, Homomorphic encryption is a form of encryption which allows for combining two ciphertexts through a non-private operation that results in a third ciphertext which, when decrypted, yields a plaintext that is the combination of the corresponding two plaintexts through a specific operation. Mathematically, for two ciphertexts C1 = ENCRYPT ^-L) and C2 = ENCRYPT(m2) , there exists a non- private operation d such that dC2 = ENCRYPT ^! * m2) for some specific operation *. Examples of known operations * include the modular addition and the modular multiplication. This application is concerned with the XOR operation, or equivalently, the addition modulo 2.
Only two XOR homomorphic cryptosystems are known to date: the Goldwasser-Micali cryptosystem, (see Goldwasser and Micali article above) and a recent cryptosystem by Clear, Hughes, and Tewari (see Michael Clear, Arthur Hughes, and Hitesh Tewari. Homomorphic encryption with access policies: Characterization and new constructions. In A. Youssef, A. Nitaj, and A. E. Hassanien, editors, Progress in Cryptology — AFRICACRYPT 2013, volume 7918 of Lecture Notes in Computer Science, pages 61-87. Springer, 2013). Both cryptosystems rely on the quadratic residuosity assumption. The Goldwasser-Micali cryptosystem is practical but incurs an expensive key generation, which is computationally intensive. The cryptosystem by Clear et al. has ciphertexts four times longer than Goldwasser- Micali' s— but can be made only twice longer in the usual public-key setting (as
described in the article, the scheme is an identity-based cryptosystem).
In addition, another article in the field is Compression in finite fields and torus-based cryptography. SIAM J. Comput., 37(5): 1401-1428, 2008 by Karl Rubin and Alice Silverberg.
SUMMARY OF THE INVENTION
The present invention recognizes the need to improve the existing systems and methods for implementing crytosystems, especially homomorphic public -key crytosystems systems.
In accordance with an aspect of the present principles, a method for communicating a message m is presented, comprising:
accessing the message m;
accessing a public key u pkj = (ffj) for user i, where Rt = rt 2 mod N, G (Έ/ΝΈ)Χ, and N is a composite integer;
generating a ciphertext C = {ε, c], where ε = -l)mJN t) and c = t + ^ mod N, and t G (Z/NZ)X ; and
transmitting the ciphertext C = {ε, c] to a device via a communication channel.
In accordance with another aspect of the present principles, an apparatus for communicating a message m is presented, comprising:
a processor configured to access the message m, the processor further configured to accessing a public key u pkj = {ff;} for user i, where ffj = mod N, rt G (Έ/ΝΈ)Χ, and N is a composite integer;
an encryptor configured to generate ciphertext C = {ε, c], where ε = -l)mJN t) and c = t + ^ mod N, and t G (Z/NZ)X ; and
a communication interface, coupled to a communication channel, configured to transmit the ciphertext C = {ε, c] via the communication channel.
In accordance with another aspect of the present principles, an apparatus for processing a ciphertext is presented, comprising:
a communication interface, coupled to a communication channel, configured
to receive the ciphertext C = {ε, c] via the communication channel; and
a processor configured to access the ciphertext C = {ε, c], where ε = (-l)mJN (t) and c = t + mod N, and t G (Έ/ΝΈ)Χ, and N is a composite integer; and
the processor generates a plaintext message m by accessing a private key uskj = (rj) for user i, where G (Έ/ΝΈ)Χ and determining τ = JN(c + 2r ) and
In accordance with another aspect of the present principles, a method for processing a ciphertext is presented, comprising:
receiving the ciphertext C = {ε, c] via the communication channel; and accessing the ciphertext C = {ε, c], where ε = (-l)mJN (t) and c = t + mod N, and t G (Έ/ΝΈ)Χ, and N is a composite integer; and
generating a plaintext message m by accessing a private key uskj = {>;} for user i, where rt G (Έ/ΝΈ)Χ and determining τ = JN (c + 2r ) and m =—— .
In accordance with another aspect of the present principles, a computer program product stored in non-transitory computer-readable storage media comprising computer-executable instructions is presented for:
accessing the message m;
accessing a public key u pkj = (ffj) for user i, where Rt = rt 2 mod N, Ti G (Έ/ΝΈ)Χ, and N is a composite integer;
generating a ciphertext C = {ε, c], where ε = (-l)m and c = t + mod N, and t G (Z/NZ)X ; and
transmitting the ciphertext C = {ε, c] to a device via a communication channel.
In accordance with another aspect of the present principles, a computer program product stored in non-transitory computer-readable storage media comprising computer-executable instructions is presented for:
receiving the ciphertext C = {ε, c] via the communication channel; and
accessing the ciphertext C = {ε, c), where ε = (-l)mJN (t) and c = t + mod N, and t G (Έ/ΝΈ)Χ, and N is a composite integer; and
generating a plaintext message m by accessing a private key uskj = {>;} for user i, where rt G (Έ/ΝΈ)Χ and determining τ = JN (c + 2r ) and m =—— .
DETAILED DESCRIPTION OF THE DRAWINGS
The above-mentioned and other features and advantages of this invention, and the manner of attaining them, will become more apparent and the invention will be better understood by reference to the following description of embodiments of the invention taken in conjunction with the accompanying drawings, wherein:
Figure 1 shows an exemplary apparatus according to the present principles;
Figure 2 shows another exemplary apparatus according to the present principles;
Figure 3 shows exemplary system according to the present principles; and
Figures 4 and 5 show exemplary processes according to the present principles. The examples set out herein illustrate exemplary embodiments of the invention. Such examples are not to be construed as limiting the scope of the invention in any manner.
DETAILED DESCRIPTION
The present principles provide practical XOR homomorphic cryptosystems enjoying a fast key generation. In our case, the key generation involves a mere modular squaring. Moreover, the ciphertext size is the same as in the Goldwasser- Micali cryptosystem. Extra useful properties offered by the proposed cryptosystems include:
• very fast key generation;
• homomorphic property with regards to the XOR operation (or equivalently addition modulo 2);
· almost free encryption of the complementary value;
• strong security guarantees.
Main ideas
Let p be an odd prime, let Δ G IFp x, and let δ2 = A. Define the multiplicative group
Gp = {x + Sy\x, y Ep and x2 -Ay2 = 1).
Where it is defined, consider the map
u + δ
ψ Wp→ Gp,u i→
u— δ' ease the notation, we augment Wp with a special symbol∞ and define ψ ∞ = 1. There are two cases to distinguish:
1. If δ £ Wp then Gp = [ip(u)\u G IFp U {∞}}—see [4, Section 2];
2. If δ G IFp then Gp = {ip(u)\u G IFp U {∞}, u≠ ±δ}.
(Observe that 0 £ Gp when δ E Wp.)
We are interested in the second case. From now on, we will suppose that δ G IFp x and thus that Δ G QRp. For convenience, we write Tp = Wp \ {±£}) U (oo). We so have Gp = ψ(Τρ). Clearly, map
Tp→ Gp is injective and thus defines a bijection. Indeed, suppose ψ(ΐί1) = ψ(ΐί2) for some ux,u2 G Tp. This implies (i½ + δ) (u2— δ) = (u2 + δ)(ΜΧ— δ) and in turn u = u2. The inverse map is given
δ(ν+1)
by ψ : Gp → Τρ,ν i→
v-1
Furthermore, map ψ yields a homomorphism from Tv to Gp. We have ^(oo) = 1. Let uXl u2 ETp\ {∞}. We have:
and, if ux≠—u2,
where u3 =
Consequently, Tp endows a group structure. Its order is #Tp = p— 1. We write Tp multiplicatively and use © to denote its group law. We have:
• the neutral element is∞:
!i 0∞ =∞ 0 ii = u for all u G Tp; the inverse of u G Tp \ {∞) is— u:
oo ot erw se.
Remark that 0 is of order 2 as an element of Tp, namely 0 © 0 = oo. Remark also that for u G Tp, u≠ 0, oo, we have u © 0 = A/u.
Let (Tp)2 c p represent the subgroup of squares in Tp:
The group (Tp)2 has (p— l)/2 elements.
Let ult u2 G Tp. Define w1 = u1 ® and w2 = u2 © u2. Then letting u3 : = u © u2 we get:
w3 : = w1 © w2
= (ι½ © U-L) © (u2 © u2) = (u © u2) © (U-L © u2) = u3 © u3.
The previous setting naturally extends through Chinese remaindering. Let N = pq be an RSA (Rivest-Shamir-Adleman) modulus. Then (Tp)2 x (Tq)2 is a group and has order φ(Ν). Our idea is to see ciphertexts as elements of this group and to exploit the underlying algebraic structure. Note that the application of Eq. (1)
requires gcd ( t, N) = gcd ( t2 — ff;, N) = 1 , where gcd stands for greatest common divisor.
Exemplary embodiments
First exemplary embodiment The exemplary embodiments are now described in the framework of the flow diagram of Figure 3. Our first cryptosystem is defined as follows.
SETUP(1K) Given a security parameter κ, SETUP generates an RSA modulus N = pq where p and q are prime. The factorization of N is erased. The public parameters are PP = {N}.
KEYGEN(PP) For user i, key generation algorithm KEYGEN picks at random G (Έ/ΝΈ) Χ and sets ff; = r 2 mod N. It outputs the public key u pk; = {ff;} and matching private key uskj = {r¾}.
ENCRYPTupk. (m) To encrypt a message m G {0,1} for user i, ENCRYPT chooses at random t G (Έ/ΝΈ) Χ with gcd ( t2 — Rt, N) = 1 and computes
Ri
ε = (- l)m JN (t) and c = t + - mod N.
The returned ciphertext is C = {ε, c}.
DECRYPTusk. (C) From ciphertext C = { , c], DECRYPT first computes τ = JN (c + 2rt) using secret key rt . If τ £ {±1} it returns 1; otherwise it returns plaintext m as
1— ε · τ
m = .
2 An alternative, we see from Eq. (1) that the decryption algorithm can evaluate τ as T = JN (c - 2η) .
In a practical implementation, for better efficiency, the encryption algorithm can randomly draw t G Έ/ΝΈ. Similarly, the key generation algorithm can randomly draw G Έ/ΝΈ.
Homomorphic property
Let C1 = (s1, c1) and C2 = (£2, c2) be the respective encryption of messages
mx and m2 under the public key of user i. Then C3 = (ε3, c3) with
is the encryption of message m3 = m m2 (under the public key of user i).
Proof. Using the © operator, observe that 7 = 7 ® 7·
From Eq. (2), we get:
ε3 - ± 2η) = ε1·ε2 ■ ]N(c c2 + Rt ± 2 (¾ +
= ε1·ε2 ± 2η) (c2 ± 2η))
as desired.
Remark that given the encryption of a message m G {0,1}, it is easy to get the encryption of the complementary value, namely —im: = \— m = m®\. If C = (ε, c) is the encryption of m then C = (— ε, c) is the encryption of—an.
Security analysis
Proposition 1. The scheme is IND-CPA under the quadratic residuosity assumption.
Proof. Assume there exists an IND-CPA adversary Λ that can break the scheme with probability e. We will use Λ to decide whether a random element w in N is a quadratic residue modulo N or not.
Consider the following distinguisher T(w,N) for solving the QR problem:
1. Define ff; = w, set upkj = (ffj), and give (N, upkj) to Λ
Choose a random bit b G {0,1} and compute the encryption of b under public key upkj as Cb = {¾, cb] where ¾ = (— 1)6/J(0 and cb = t + RJt mod N for some random element t G (Έ/ΝΈ)Χ with gcd ( t2—
Give C& = {eb, cb) to c Z and obtain its guess
4. li b' = b return 1; otherwise return 0.
There are two cases to consider.
Case 1 Suppose first that w is a quadratic residue modulo N. Clearly, D returns 1 exactly when Λ wins in the IN D-CPA game. We thus have Pr [ D(w, N) l |w G QRN] = e.
Case 2 Suppose now that w G \ QIR^. We have cb— t -\- Ri/t mod with Rt = w G JN \ Q N. Consider also t1( t2, t3 G (Έ/ΝΈ)Χ such that
t1 = t (mod p), t1 = RJt (mod q);
t2≡ RJt (mod p), t2≡t (mod q);
t3≡ RJt (mod p), t3≡ RJt (mod q).
(Note that the condition gcd ( t2 - ffj, N) = 1 implies gcd ( ^2 - ffj, N) = gcd ( t2 2 - Ru N) = gcd ( t3 2 - R0 N) = 1.)
In c Z's view, from cb, the four possible values t, tl 5 t2, and t3 are equally likely since cb≡t + Ri/t≡ tx + Riltx≡t2 + Rt/t2≡t3 + Rt/t3 (mod N). At the same time, since Rt G JN \ QRN we also have JN(t) = JN(t3)≠ /«(ίχ) = JN(t2). The probability of JL recovers ]N(t) from cb is therefore -— note that b carries no information on JN(t) since b is random in {0,1}. As a result, D will return 1 with probability
which must be negligible by the QR assumption. Hence, the scheme is I N D-CPA
secure under the QR assumption.
Second exemplary embodiment
It is easy to see that if C = {ε, c] with ε = (—l)mJN(t) and c = t + R t mod N is the encryption of a message m G {0,1} then so is C: = {ε', c'} where ε' = ε · JN (— 1) have
Ε' = (-ΙΓ = (-i)m;w(- = ε■;*(-!)■
One of the two equivalent ciphertexts C = {ε, c] and C = {ε' , c'} is (at least) one bit shorter than the other one. Let £ represent the bit- length of RSA modulus N. This means that one of C or C needs at most £ bits for its representation.
Proof. If c≥ 2i_1 (i.e., if c is exactly an £-bit integer) then
c' = N - c≤ {2{ - 1) - 2'-1 = 2'-1 - 1 < 2*-
As a result, c or c' is at most an ( — l)-bit integer. The result follows by noting that the Jacobi symbol (1 or—1) can be represented with a single bit (e.g., the sign bit).
Here is an implementation of the resulting cryptosystem.
SETUP(1K) Given a security parameter κ, SETUP generates an RSA modulus N = pq where p and q are prime. The factorization of N is erased. The public parameters are PP = {N}.
KEYGEN (PP) For user i, key generation algorithm KEYGEN picks at random G Έ/ΝΈ and sets Rt = rt 2 mod N. It outputs the public key upkj = (ffj) and matching private key uskj = ( ).
ENCRYPTupk. (m) To encrypt a message m G {0,1} for user i, ENCRYPT chooses at random t G Έ/ΝΈ and computes ε = (-l)mJN(t) and δ = ί + mod N.
Define c = min ( c, N— c). If c = c then define ε = έ; otherwise define ε = έ · JN (— 1). The returned ciphertext is C = {ε, c}.
DECRYPTusk. (C) From ciphertext C = { , c}, DECRYPT first computes Τ = JN(C + 2 ) using secret key η. If τ £ {±1} it returns 1; otherwise it returns plaintext m as
Remark that as an alternative, the decryption algorithm can evaluate τ as τ = JN(c - 2η).
Third exemplary embodiment
Assume now primes p and q satisfy the extra condition p≡ q (mod 4). In this case, we know that Jp(—1) = Jq (—1) and therefore JN(— 1) = 1. Note that it is easily verified that N is the product of two primes that are congruent modulo 4 by checking that N≡ 1 (mod 4).
SETUP(1K) Given a security parameter κ, SETUP generates an RSA modulus N = pq where p and q are prime and p≡ q (mod 4). The factorization of N is erased. The public parameters are PP = {N}.
KEYGEN(PP) For user i, key generation algorithm KEYGEN picks at random rt G Έ/ΝΈ and sets Rt = rt 2 mod N. It outputs the public key u pkj = (ffj) and matching private key uskj = ( ).
ENCRYPTupk. (m) To encrypt a message m G {0,1} for user i, ENCRYPT chooses at random t G Έ/ΝΈ and computes
Ri
ε = (-l)m;w(t) and c = t + - mod N.
Define c = min ( c, N— c). The returned ciphertext is C = {ε, c}.
DECRYPTusk. (C) From ciphertext C = { , c], DECRYPT first computes τ = JN(c + 2 ) using secret key . If τ £ {±1} it returns 1; otherwise it returns plaintext m as
Remark that as an alternative, the decryption algorithm can evaluate τ as τ = 7«(£ - 2 ).
As noted before, there are several advantages for the proposed cryptosystems: very fast key generation;
homomorphic property w.r.t. the XOR operation (or equivalently addition modulo 2);
• almost free encryption of the complementary value;
• strong security guarantees.
The proposed encryption schemes can be used in any application requiring efficient public-key encryption provably secure in the standard model when the homomorphism property with respect to the XOR operation is needed. The homomorphism property is a central ingredient in a number of applications, including, but not limited to, electronic voting, private information retrieval, or secure multiparty computation. In essence, it allows a third party to obtain the decryption of a ciphertext encrypted under some user's public key in a way that this user learns nothing about the corresponding plaintext.
Here is an illustration for an XOR-homomorphic encryption scheme E. Suppose that C is the encryption of some secret bit b under Alice's public key upk^: C = £UpkA (b). The goal of Bob is to obtain the value of b.
Bob Alice . Let C = £upkA (b
. Choose a random bit β £ {0,1}
. Compute C = Cd£upkA ( )
c
1. Decrypt C and obtain b' = b 0 β b . Recover b as b = b' © β
FIG. 1 illustrates a block diagram of an exemplary system in which various aspects of the exemplary embodiments of the present principles may be implemented. System 100 may be embodied as a device including the various components described
below and is configured to perform the processes described above. Examples of such devices, include, but are not limited to, personal computers, laptop computers, smartphones, tablet computers, digital multimedia set top boxes, digital television receivers, personal video recording systems, connected home appliances, and servers. System 100 may be communicatively coupled to other similar systems, and to trusted third parties via a communication channel as shown in Figure 2 and as known by those skilled in the art to implement the exemplary cryptosystems described above.
The system 100 may include at least one processor 110 configured to execute instructions loaded therein for implementing the various processes as discussed above. Processor 110 may include embedded memory, input output interface and various other circuitries as known in the art. The system 100 may also include at least one memory 120 (e.g., a volatile memory device, a non- volatile memory device). System 100 may additionally include a storage device 140, which may include nonvolatile memory, including, but not limited to, EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, magnetic disk drive, and/or optical disk drive. The storage device 140 may comprise an internal storage device, an attached storage device and/or a network accessible storage device, as non-limiting examples. System 100 may also include an encryption/decryption module 130 configured to process data to provide an encrypted message or decrypted message. Encryption/decryption module 130 represents the module(s) that may be included in a device to perform the encryption and/or decryption functions. As is known, a device may include one or both of the encryption and decryption modules, for example, encryption may be done on a regular PC since encryption does not involve secret key so that the PC need not include secure memory for storing the encryption key. Decryption however, requires secret keys (i.e., the decryption key) and is done in a secure device, for example a smart card. As memory is expensive on smart card, the encryption functionality may not always be provided on a smart card. The encryption and/or decryption may be performed using shared resources as known to those skilled in the art. Additionally, encryption/decryption module 130 may be implemented as a separate element of system 100 or may be incorporated within processors 110 as a combination of hardware and software as known to those skilled in the art.
Program code to be loaded onto processors 110 to perform the various processes described hereinabove may be stored in storage device 140 and subsequently loaded onto memory 120 for execution by processors 110. In accordance with the exemplary embodiments of the present principles, one or more of the processor(s) 110, memory 120, storage device 140 and encryption/decryption module 130 may store one or more of the various items during the performance of the processes discussed herein above, including, but not limited to a public key, a private keys, encrypted messages, equations, formula, matrices, variables, operations, and operational logic.
The system 100 may also include communication interface 150 that enables communication with other devices via communication channel 160. The communication interface 150 may include, but is not limited to a transceiver configured to transmit and receive data from communication channel 160. The communication interface may include, but is not limited to, a modem or network card and the communication channel may be implemented within a wired and/or wireless medium. The various components of system 100 may be connected or communicatively coupled together using various suitable connections, including, but not limited to internal buses, wires, and printed circuit boards.
As a non-limiting example, one or more of the above-identified components may receive and/or store the information (e.g., to be encrypted) and/or the ciphertext (e.g., to be decrypted, to be operated on homomorphically, resulting from encryption). As a further non-limiting example, one or more of the above-identified components may receive and/or store the encryption function(s) and/or the decryption function(s), as described herein above.
The exemplary embodiments of this invention may be carried out by computer software implemented by the processor 110 or by hardware, or by a combination of hardware and software. As a non-limiting example, the exemplary embodiments of this invention may be implemented by one or more integrated circuits. The memory 120 may be of any type appropriate to the technical environment and may be implemented using any appropriate data storage technology, such as optical memory devices, magnetic memory devices, semiconductor-based memory devices, fixed memory and removable memory, as non- limiting examples. The processor 110 may be of any type appropriate to the technical environment, and may encompass one or more of microprocessors, general purpose computers, special purpose computers and
processors based on a multi-core architecture, as non-limiting examples.
Figure 2 illustrates an arrangement wherein data is exchanged between two terminals 210 and 220 in accordance with the present principles. Each of the terminals 210 and 220 include encryptor/decryptor modules 230 and 240, respectively, and may additionally include each of the other components of system 100 described above, as appropriate. Terminals 210 and 220 are communicatively coupled to each other via communication channel 250, which may be implemented via wired and/or wireless medium. Additionally, arrangement 200 may include a trusted third party 260 communicatively coupled to terminals 210 and 220, wherein third party 260 may in some cases, among other things, generate common parameters and the keys, distribute them to the terminals, certify the public keys generated, and/or generate common keys in a manner known to those skilled in the art. Following key generation, a message can be encrypted and decrypted by the terminals as described above, and transmitted and received via communication channel 250.
Figures 4 and 5 show exemplary flow charts according to the present principles. The flow charts illustrate the homomorphic crypto processes discussed above. The processes of Figures 4 and 5 may be executed by e.g., a processor 110 of Figure 1. The processes may represent, e.g., computer program products having the computer-executable instructions which may be stored in non-transitory computer- readable storage media 120 of Figure 1 as described before.
The foregoing has provided by way of exemplary embodiments and non- limiting examples a description of the method and systems contemplated by the inventor. It is clear that various modifications and adaptations may become apparent to those skilled in the art in view of the description. However, such various modifications and adaptations fall within the scope of the teachings of the various embodiments described above.
The embodiments described herein may be implemented in, for example, a method or a process, an apparatus, a software program, a data stream, or a signal. Even if only discussed in the context of a single form of implementation (for example, discussed only as a method), the implementation of features discussed above may also be implemented in other forms (for example, an apparatus or program). An apparatus may be implemented in, for example, appropriate hardware, software, and firmware. The methods may be implemented in, for example, an apparatus such as, for example, a processor, which refers to processing devices in general, including, for example, a
computer, a microprocessor, an integrated circuit, or a programmable logic device. Processors also include communication devices, such as, for example, computers, cell phones, portable/personal digital assistants ("PDAs"), and other devices that facilitate communication of information between end-users.
Reference to "one embodiment" or "an embodiment" or "one implementation" or "an implementation" of the present principles, as well as other variations thereof, mean that a particular feature, structure, characteristic, and so forth described in connection with the embodiment is included in at least one embodiment of the present principles. Thus, the appearances of the phrase "in one embodiment" or "in an embodiment" or "in one implementation" or "in an implementation", as well any other variations, appearing in various places throughout the specification are not necessarily all referring to the same embodiment.
Additionally, this application or its claims may refer to "determining" various pieces of information. Determining the information may include one or more of, for example, estimating the information, calculating the information, predicting the information, or retrieving the information from memory.
Further, this application or its claims may refer to "accessing" various pieces of information. Accessing the information may include one or more of, for example, receiving the information, retrieving the information (for example, from memory), storing the information, processing the information, transmitting the information, moving the information, copying the information, erasing the information, calculating the information, determining the information, predicting the information, or estimating the information.
Additionally, this application or its claims may refer to "receiving" various pieces of information. Receiving is, as with "accessing", intended to be a broad term. Receiving the information may include one or more of, for example, accessing the information, or retrieving the information (for example, from memory). Further, "receiving" is typically involved, in one way or another, during operations such as, for example, storing the information, processing the information, transmitting the information, moving the information, copying the information, erasing the information, calculating the information, determining the information, predicting the information, or estimating the information.
As will be evident to one of skill in the art, implementations may produce a variety of signals formatted to carry information that may be, for example, stored or
transmitted. The information may include, for example, instructions for performing a method, or data produced by one of the described embodiments. For example, a signal may be formatted to carry the bitstream of a described embodiment. Such a signal may be formatted, for example, as an electromagnetic wave (for example, using a radio frequency portion of spectrum) or as a baseband signal. The formatting may include, for example, encoding a data stream and modulating a carrier with the encoded data stream. The information that the signal carries may be, for example, analog or digital information. The signal may be transmitted over a variety of different wired and/or wireless links, as is known. The signal may be stored on a processor-readable medium.
While several embodiments have been described and illustrated herein, those of ordinary skill in the art will readily envision a variety of other means and/or structures for performing the functions and/or obtaining the results and/or one or more of the advantages described herein, and each of such variations and/or modifications is deemed to be within the scope of the present embodiments. More generally, those skilled in the art will readily appreciate that all parameters, dimensions, materials, and configurations described herein are meant to be exemplary and that the actual parameters, dimensions, materials, and/or configurations will depend upon the specific application or applications for which the teachings herein is/are used. Those skilled in the art will recognize, or be able to ascertain using no more than routine experimentation, many equivalents to the specific embodiments described herein. It is, therefore, to be understood that the foregoing embodiments are presented by way of example only and that, within the scope of the appended claims and equivalents thereof, the embodiments disclosed may be practiced otherwise than as specifically described and claimed. The present embodiments are directed to each individual feature, system, article, material and/or method described herein. In addition, any combination of two or more such features, systems, articles, materials and/or methods, if such features, systems, articles, materials and/or methods are not mutually inconsistent, is included within the scope of the present embodiments.
Claims
1. A method for communicating a message m, comprising:
accessing the message m;
accessing a public key upkj = (ffj) for user i, where Rt = rt 2 mod N, rt G
(Έ/ΝΈ)Χ, and N is a composite integer;
generating a ciphertext C = {ε, c], where
ε = (-l)m;w(t) and c = t + ^ mod N, and t G (Έ/ΝΈ Χ ; and
transmitting the ciphertext C = {ε, c] via a communication channel.
2. The method of claim 1 , wherein N = pq, and p and q are prime.
3. The method of claim 1 , wherein the message m G {0,1}·
4. The method of claim 1 , further comprising a step of substituting t with - 1, and therefore C = , c} with e = (-l)mJN(-t) and c = -t + mod N.
5. The method of claim 1 , wherein c is instead chosen to be min ( + mod N,—t +
-^ mod jv) = min((t + mod N), N - (t + ^ mod N)) ; and if c = t + ^ mod N, then ε = (-l)mJN (t), otherwise ε = (-l)m/w(-t) = (-l)m/w(t)
6. The method of claim 5, wherein N is such that JN(—1 = 1 and ε = (— l)m JN(t).
7. The method of claim 6, wherein N = pq and p≡ q (mod 4).
8. An apparatus for communicating a message m, comprising:
a processor configured to access the message m, the processor further configured to accessing a public key u pkj = (ffj) for user i, where Rt = rt 2 mod N, rt G (Έ/ΝΈ)Χ, and N is a composite integer;
an encryptor configured to generate ciphertext C = {ε, c], where
ε = (-l)m;w(t) and c = t + ^ mod N, and t G (Έ/ΝΈ) ; and
a communication interface, coupled to a communication channel, configured to transmit the ciphertext C = {ε, c] via the communication channel.
9. The apparatus of claim 8, wherein N = pq, and p and q are prime.
10. The apparatus of claim 8, wherein the message m G {0,1}·
11. The apparatus of claim 8, wherein t is substituted with - t, and therefore C = {ε, c] with e = (-l)m;w(-t) and c = -t + ^ mod N.
then ε = (-l)m/w (t); otherwise ε = (-l)m/w(-t) = (-l)m/w( ■ /«(-!)·
13. The apparatus of claim 12, wherein N is such that JN(—1 = 1 and ε = (— l)m JN(t).
14. The apparatus of claim 13, wherein N
15. An apparatus for processing a ciphertext, comprising:
a communication interface, coupled to a communication channel, configured to receive the ciphertext C = {ε, c] via the communication channel; and
a processor configured to access the ciphertext C = {ε, c], where
ε = (-l)mJN(t) and c = t + mod N, and t G (Έ/ΝΈ)Χ, and N is a composite integer, and
the processor generates a plaintext message m by accessing a private key uskj =
1— ε·τ
(rj) for user i, where ri G (Έ/ΝΈ)Χ and determining τ = JN (c + 2r;) and m =—— .
16. The apparatus of claim 15, wherein N = pq, and p and q are prime.
17. The apparatus of claim 15, wherein the message m G {0,1}·
18. The apparatus of claim 15, wherein t is substituted with - t, and therefore C = {ε, c] with e = (-l)m -t) and c = -t +—t mod N.
19. The apparatus of claim 18, wherein c is instead chosen to be
min (t + ^ mod N -t + ^ mod jv) = min((t + γ mod N), N - (t + ^ mod N)), and if c = t + ^ mod N, then ε = (-l mJN (t , otherwise ε = (-l)m/w(-t) =
(-i)m;w( · ;«(-!)·
20. The apparatus of claim 19, wherein N is such that JN(—1 = 1 and ε = (— l)m JN(t).
21. The apparatus of claim 20, wherein N = pq and p≡ q (mod 4).
22. The apparatus of claim 15, wherein τ is evaluated as τ = JN(c— 2rt) instead.
23. A method for processing a ciphertext, comprising:
receiving the ciphertext C = {ε, c] via the communication channel;
accessing the ciphertext C = {ε, c], where
ε = (-l)mJN(t) and c = t + mod N, and t G (Έ/ΝΈ)Χ, and N is a composite integer; and
generating a plaintext message m by accessing a private key uskj = {r for user i, where ri G (Έ/ΝΈ)Χ and determining τ = JN (c + 2r;) and m =—— .
24. The method of claim 23, wherein τ is evaluated as τ = JN (c— 2rt) instead.
25. A computer program product stored in non-transitory computer-readable storage media comprising computer-executable instructions for:
accessing the message m;
accessing a public key upkj = (ffj) for user i, where Rt = rt 2 mod N, rt G
(Έ/ΝΈ)Χ, and N is a composite integer;
generating a ciphertext C = {ε, c], where
ε = (-l)m;w(t) and c = t + ^ mod N, and t G (Έ/ΝΈ Χ ; and
transmitting the ciphertext C = {ε, c] via a communication channel.
26. A computer program product stored in non-transitory computer-readable storage media comprising computer-executable instructions for:
receiving the ciphertext C = {ε, c] via the communication channel;
accessing the ciphertext C = {ε, c], where
ε = (-l)m and c = t + mod N, and t G (Έ/ΝΈ)Χ, and N is a composite integer; and
generating a plaintext message m by accessing a private key uskj = {r;} for user i,
1— ε·τ
where r¾ G (Έ/ΝΈ)Χ and determining τ = JN (c + 2η) and m = .
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462055716P | 2014-09-26 | 2014-09-26 | |
US62/055,716 | 2014-09-26 | ||
US201462098378P | 2014-12-31 | 2014-12-31 | |
US62/098,378 | 2014-12-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016048775A1 true WO2016048775A1 (en) | 2016-03-31 |
Family
ID=54207793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2015/050638 WO2016048775A1 (en) | 2014-09-26 | 2015-09-17 | Xor-homomorphic cryptosystems with fast key generation |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2016048775A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10972252B2 (en) | 2019-06-18 | 2021-04-06 | International Business Machines Corporation | Compressible (F)HE with applications to PIR |
CN117992989A (en) * | 2024-03-29 | 2024-05-07 | 浪潮(北京)电子信息产业有限公司 | A decryption method, system, device and storage medium |
-
2015
- 2015-09-17 WO PCT/US2015/050638 patent/WO2016048775A1/en active Application Filing
Non-Patent Citations (3)
Title |
---|
CLIFFORD COCKS: "An Identity Based Encryption Scheme Based on Quadratic Residues", SECURITY IN COMMUNICATION NETWORKS : THIRD INTERNATIONAL CONFERENCE ; REVISED PAPERS / SCN 2002, AMALFI, ITALY, SEPTEMBER 11 - 13, 2002; [LECTURE NOTES IN COMPUTER SCIENCE , ISSN 0302-9743], SPRINGER VERLAG, DE, vol. 2260, 17 December 2001 (2001-12-17), pages 360 - 363, XP002267993, ISBN: 978-3-540-24128-7 * |
MARC JOYE: "On Identity-Based Cryptosystems from Quadratic Residuosity", 18 August 2014 (2014-08-18), XP055234204, Retrieved from the Internet <URL:http://joye.site88.net/papers/gcocks.pdf> * |
MICHAEL CLEAR ET AL: "Homomorphic Encryption with Access Policies: Characterization and New Constructions", 22 June 2013, PROGRESS IN CRYPTOLOGY AFRICACRYPT 2013, SPRINGER BERLIN HEIDELBERG, BERLIN, HEIDELBERG, PAGE(S) 61 - 87, ISBN: 978-3-642-38552-0, XP047028501 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10972252B2 (en) | 2019-06-18 | 2021-04-06 | International Business Machines Corporation | Compressible (F)HE with applications to PIR |
US10985904B2 (en) | 2019-06-18 | 2021-04-20 | International Business Machines Corporation | Compressible (F)HE with applications to PIR |
US11394526B2 (en) | 2019-06-18 | 2022-07-19 | International Business Machines Corporation | Compressible (F)HE with applications to PIR |
US11502821B2 (en) | 2019-06-18 | 2022-11-15 | International Business Machines Corporation | Compressible (F)HE with applications to PIR |
CN117992989A (en) * | 2024-03-29 | 2024-05-07 | 浪潮(北京)电子信息产业有限公司 | A decryption method, system, device and storage medium |
CN117992989B (en) * | 2024-03-29 | 2024-06-11 | 浪潮(北京)电子信息产业有限公司 | A decryption method, system, device and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9172529B2 (en) | Hybrid encryption schemes | |
CN106161034B (en) | RSA decryption using multiplicative secret sharing | |
US8429408B2 (en) | Masking the output of random number generators in key generation protocols | |
US10749675B2 (en) | Homomorphic white box system and method for using same | |
US20170061833A1 (en) | Method for ciphering and deciphering digital data, based on an identity, in a multi-authorities context | |
Iyer et al. | A novel idea on multimedia encryption using hybrid crypto approach | |
Karakra et al. | A-rsa: augmented rsa | |
US12120217B2 (en) | Strong fully homomorphic white-box and method for using same | |
US9356783B2 (en) | Method for ciphering and deciphering, corresponding electronic device and computer program product | |
RU2459275C1 (en) | Method for unit coding of m message represented in binary form | |
Alomair et al. | Information Theoretically Secure Encryption with Almost Free Authentication. | |
Sahu et al. | An enhanced version of RSA to increase the security | |
EP2571192A1 (en) | Hybrid encryption schemes | |
Gobi et al. | A comparative study on the performance and the security of RSA and ECC algorithm | |
WO2016073056A2 (en) | Method and apparatus for computing over cocks ciphertexts | |
CA2742530C (en) | Masking the output of random number generators in key generation protocols | |
WO2016048775A1 (en) | Xor-homomorphic cryptosystems with fast key generation | |
WO2016048784A1 (en) | Anonymous identity-based cryptosystems | |
WO2016073058A2 (en) | Method and apparatus for secure elgamal-type cryptography | |
WO2016073059A2 (en) | Public-key encryption with keyword search | |
WO2016048776A1 (en) | Key-private cryptosystems based on the quadratic residuosity | |
WO2016048777A1 (en) | Identity-based xor homomorphic cryptosystems | |
Joye | A key-private cryptosystem from the quadratic residuosity | |
Rastaghi | Cryptanalysis and Improvement of Akleylek et al.'s cryptosystem | |
AlSa'deh et al. | A-RSA: augmented RSA |
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: 15771422 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 15771422 Country of ref document: EP Kind code of ref document: A1 |