IP Library › Granted Patent US 11,558,171
Granted Patent B2
US 11,558,171 · App. 17/081,862 · Granted Jan 17, 2023

Apparatus and method for encryption, apparatus and method for converting ciphertext

Inventors: Joo Hee Lee (Seoul, KR); Duk Jae Moon (Seoul, KR); Hyo Jin Yoon (Seoul, KR); Ji Hoon Cho (Seoul, KR); Eun Kyung Kim (Seoul, KR); Seong Kwang Kim (Daejeon, KR); Joo Young Lee (Daejeon, KR); Jin Cheol Ha (Daejeon, KR); Won Seok Choi (Daejeon, KR)
Assignees: SAMSUNG SDS CO., LTD.; Korea Advanced Institute of Science and Technology
H04L9/008
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,558,171
App. No.
17/081,862
Granted
Jan 17, 2023
Kind
B2
Abstract

A method for encryption according to an embodiment includes generating a ciphertext for a secret key that is an integer vector by using an integer-based first homomorphic encryption algorithm, generating a key stream that is the integer vector from a nonce and the secret key by using a key stream generator, encoding the key stream by using a message encoding function of the first homomorphic encryption algorithm, encoding a message that is a real vector by using a message encoding function of a real number-based second homomorphic encryption algorithm, generating a ciphertext for the message by using a result of the encoding of the key stream and a result of the encoding of the message, and transmitting the nonce, the ciphertext for the secret key, and the ciphertext for the message to an apparatus for converting a ciphertext.

Claims (68)

1. A method for encryption, the method comprising:

generating a first ciphertext for a secret key that is an integer vector by using an integer-based first homomorphic encryption algorithm;

generating a key stream that is an integer vector from a nonce and the secret key by using a key stream generator;

encoding the key stream by using a message encoding function of the first homomorphic encryption algorithm;

encoding a message that is a real vector by using a message encoding function of a real number-based second homomorphic encryption algorithm;

generating a second ciphertext for the message by using a result of the encoding of the key stream and a result of the encoding of the message; and

transmitting the nonce, the first ciphertext for the secret key, and the second ciphertext for the message to an apparatus for converting a ciphertext.

2. The method for encryption of claim 1 , wherein the first homomorphic encryption algorithm is a homomorphic encryption algorithm that supports modulo operations with a prime number t as a modulus.

3. The method for encryption of claim 2 , wherein a message space of the first homomorphic encryption algorithm is a vector space over a finite field with the prime number t as a modulus, and

the nonce, the secret key, the key stream, and the second ciphertext for the message are elements of the vector space.

4. The method for encryption of claim 1 , wherein the key stream generator includes a generation function for generating a random vector of a preset length based on the nonce and a counter, and r (where, r≥1) round functions sequentially applied to the secret key based on the random sequence.

5. The method for encryption of claim 1 , wherein a message space of the second homomorphic encryption algorithm is a real space or a complex space, and

the message is an element of the real space or the complex space.

6. The method for encryption of claim 1 , wherein the generating of the ciphertext includes generating the second ciphertext for the message by performing a modulo addition on the result of the encoding of the key stream and the result of the encoding of the message with the prime number t as a modulo.

7. A method for converting a ciphertext, the method comprising:

receiving, from an apparatus for encryption, a nonce, a first ciphertext for a secret key that is an integer vector, and a second ciphertext for a message that is a real vector;

generating a third ciphertext for a key stream used by the apparatus for encryption to generate the second ciphertext for the message, based on the nonce and the first ciphertext for the secret key; and

converting the second ciphertext for the message by using the third ciphertext for the key stream and the second ciphertext for the message,

wherein the first ciphertext for the secret key is a ciphertext encrypted by using an integer-based first homomorphic encryption algorithm,

the second ciphertext for the message is a ciphertext encrypted by using a result of encoding the key stream using a message encoding function of the first homomorphic encryption algorithm and a result of encoding the message using a message encoding function of a real number-based second homomorphic encryption algorithm,

the key stream is an integer vector generated from the nonce and the secret key by using a key stream generator,

the generating of the third ciphertext for the key stream includes generating the third ciphertext for the keystream using a homomorphic operation based on the first homomorphic encryption algorithm for the key stream generator, and

the converting includes converting the second ciphertext for the message into a ciphertext based on the second homomorphic encryption algorithm.

8. The method for converting a ciphertext of claim 7 , wherein the first homomorphic encryption algorithm is a homomorphic encryption algorithm that supports modulo operations with a prime number t as a modulus.

9. The method for converting a ciphertext of claim 8 , wherein a message space of the first homomorphic encryption algorithm is a vector space over a finite field with the prime number t as a modulus, and

the nonce, the secret key, the key stream, and the second ciphertext for the message are elements of the vector space.

10. The method for converting a ciphertext of claim 7 , wherein the key stream generator includes a generation function for generating a random vector of a preset length based on the nonce and a counter, and r (where, r≥1) round functions sequentially applied to the secret key based on the random sequence.

11. The method for converting a ciphertext of claim 7 , wherein a message space of the second homomorphic encryption algorithm is a real space or a complex space, and

the message is an element of the real space or the complex space.

12. The method for converting a ciphertext of claim 7 , wherein the second ciphertext for the message is a ciphertext generated by performing a modulo addition on a result of encoding the key stream and a result of encoding the message with the prime number t as a modulo, and

the converting includes converting the second ciphertext for the message into a ciphertext based on the second homomorphic encryption algorithm by performing a modulo subtraction on the third ciphertext for the key stream and the second ciphertext for the message with an integer q set in the second homomorphic encryption algorithm as a modulo.

13. An apparatus for encryption, the apparatus comprising:

a memory that stores one or more instructions; and

one or more processors that execute the one or more instructions,

wherein the one or more processors perform operations comprising:

generating a first ciphertext for a secret key that is an integer vector by using an integer-based first homomorphic encryption algorithm;

generating a key stream that is an integer vector from a nonce and the secret key by using a key stream generator;

encoding the key stream by using a message encoding function of the first homomorphic encryption algorithm;

encoding a message that is a real vector by using a message encoding function of a real number-based second homomorphic encryption algorithm;

generating a second ciphertext for the message by using a result of the encoding of the key stream and a result of the encoding of the message; and

transmitting the nonce, the first ciphertext for the secret key, and the second ciphertext for the message to an apparatus for converting a ciphertext.

14. The apparatus for encryption of claim 13 , wherein the first homomorphic encryption algorithm is a homomorphic encryption algorithm that supports modulo operations with a prime number t as a modulus.

15. The apparatus for encryption of claim 14 , wherein a message space of the first homomorphic encryption algorithm is a vector space over a finite field with the prime number t as a modulus, and

the nonce, the secret key, the key stream, and the second ciphertext for the message are elements of the vector space.

16. The apparatus for encryption of claim 13 , wherein the key stream generator includes a generation function for generating a random vector of a preset length based on the nonce and a counter, and r (where, r≥1) round functions sequentially applied to the secret key based on the random sequence.

17. The apparatus for encryption of claim 13 , wherein a message space of the second homomorphic encryption algorithm is a real space or a complex space, and

the message is an element of the real space or the complex space.

18. The apparatus for encryption of claim 13 , wherein the generating of the ciphertext includes generating the second ciphertext for the message by performing a modulo addition on the result of the encoding of the key stream and the result of the encoding of the message with the prime number t as a modulo.

19. An apparatus for converting a ciphertext, the apparatus comprising:

a memory that stores one or more instructions; and

one or more processors that execute the one or more instructions,

wherein the one or more processors perform operations comprising:

receiving, from an apparatus for encryption, a nonce, a first ciphertext for a secret key that is an integer vector, and a second ciphertext for a message that is a real vector;

generating a third ciphertext for a key stream used by the apparatus for encryption to generate the second ciphertext for the message, based on the nonce and the first ciphertext for the secret key; and

converting the second ciphertext for the message by using the third ciphertext for the key stream and the second ciphertext for the message;

the first ciphertext for the secret key is a ciphertext encrypted by using an integer-based first homomorphic encryption algorithm;

the second ciphertext for the message is a ciphertext encrypted by using a result of encoding the key stream using a message encoding function of the first homomorphic encryption algorithm and a result of encoding the message using a message encoding function of a real number-based second homomorphic encryption algorithm;

the key stream is an integer vector generated from the nonce and the secret key by using a key stream generator;

the generating of the third ciphertext for the key stream includes generating the third ciphertext for the keystream using a homomorphic operation based on the first homomorphic encryption algorithm for the key stream generator; and

the converting includes converting the second ciphertext for the message into a ciphertext based on the second homomorphic encryption algorithm.

20. The apparatus for converting a ciphertext of claim 19 , wherein the first homomorphic encryption algorithm is a homomorphic encryption algorithm that supports modulo operations with a prime number t as a modulus.

21. The apparatus for converting a ciphertext of claim 20 , wherein a message space of the first homomorphic encryption algorithm is a vector space over a finite field with the prime number t as a modulus, and

the nonce, the secret key, the key stream, and the second ciphertext for the message are elements of the vector space.

22. The apparatus for converting a ciphertext of claim 19 , wherein the key stream generator includes a generation function for generating a random vector of a preset length based on the nonce and a counter, and r (where, r≥1) round functions sequentially applied to the secret key based on the random sequence.

23. The apparatus for converting a ciphertext of claim 19 , wherein a message space of the second homomorphic encryption algorithm is a real space or a complex space, and

the message is an element of the real space or the complex space.

24. The apparatus for converting a ciphertext of claim 19 , wherein the second ciphertext for the message is a ciphertext generated by performing a modulo addition on a result of encoding the key stream and a result of encoding the message with the prime number t as a modulo, and

the converting includes converting the second ciphertext for the message into a ciphertext based on the second homomorphic encryption algorithm by performing a modulo subtraction on the third ciphertext for the key stream and the second ciphertext for the message with an integer q set in the second homomorphic encryption algorithm as a modulo.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2020
From: LEE, JOO HEE; MOON, DUK JAE; YOON, HYO JIN; CHO, JI HOON; KIM, EUN KYUNG; KIM, SEONG KWANG; LEE, JOO YOUNG; HA, JIN CHEOL; CHOI, WON SEOK
To: SAMSUNG SDS CO., LTD.; KOREA ADVANCED INSTITUTE OF SCIENCE AND TECHNOLOGY
Reel/Frame 054186/0689 →
Priority Claims (2)
KR 10-2020-0047585 · Apr 20, 2020 · national
KR 10-2020-0137067 · Oct 21, 2020 · national
Continuity (1)
Related Publication 20210328765A1 · Oct 21, 2021