IP Library Granted Patent US 10,177,906
Granted Patent B2
US 10,177,906 · App. 14/687,465 · Granted Jan 8, 2019

Method and apparatus for encrypting data

Inventors: Jae Woo Seo (Suwon-si, KR); Yong Ho Hwang (Seoul, KR); Sungwook Kim (Seoul, KR)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
H04L9/0618G06F21/6227H04L9/0643H04L9/0662H04L9/0861H04L9/0869
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 10,177,906
App. No.
14/687,465
Granted
Jan 8, 2019
Kind
B2
Abstract

The method for performing encryption including generating a secret key or a parameter for encrypting plaintext; converting the plaintext into ciphertext by using the secret key or the parameter; and transmitting the ciphertext to a database.

Claims (254)

1. A method for performing encryption by an encryption apparatus, the method comprising:

determining, by a processor of the encryption apparatus, first plaintext x which is received by the encryption apparatus or is stored in a memory of the encryption apparatus;

generating, by the processor a secret key {α, β, γ, K} or a parameter N for encrypting the first plaintext x, wherein the parameter N is a number larger than a largest possible number from among first ciphertext C and represents an output range of the first ciphertext C;

converting, by the processor, the first plaintext x into first ciphertext C by using the secret key {α, β, γ, K} or the parameter N;

controlling, by the processor, the memory to store the first ciphertext C, wherein, from among the secret key {α, β, γ, K}, γ is a number between 0 and α (0<γ<α), β is a number between ½ and 1 (½<β<1), K is a pseudo-random number according to a pseudo-random function, and α is equal to 1 minus β (α=1−β),

determining second ciphertext corresponding to the output range from among ciphertext stored in the memory, wherein the stored ciphertext is arranged in order of values corresponding to the stored ciphertext in the memory; and

reconstructing, by the processor, the first plaintext by decrypting the second ciphertext.

2. The method of claim 1 , further comprising:

delivering a range query to the memory; and

receiving second ciphertext corresponding to the range query from the memory.

3. The method of claim 1 , wherein generating the secret key {α, β, γ, K} or the parameter N for encrypting the first plaintext x comprises determining the parameter N and the secret key {α, β, γ, K} by using a bit size d of the first plaintext x.

4. The method of claim 2 , further comprising reconstructing second plaintext from the second ciphertext by using the parameter N or the secret key {α, β, γ, K}.

5. The method of claim 1 , wherein converting the first plaintext x into the first ciphertext C comprises:

determining, by the processor, a set of secret key vectors a based on the parameter N, the secret key {α, β, γ, K}, and the first plaintext x; and

converting, by the processor, the first plaintext x into the first ciphertext C using the set of secret key vectors α,

wherein:

the first plaintext x is a d-bit binary number, and x d-j is a bit value of the first plaintext x at the (d−j)th position, where (1≤j≤d), according to:

x:=(x d-1 , x d-2 , . . . , x 0 ),

the set of the secret key vectors a comprises one or more secret key vectors a i , where (0≤i≤d), according to:

a i :=(a 0 , a 1 , . . . , a d ), and

the first ciphertext C is determined according to the equation:

C=a 0 +a 1 (2 x d-1 −1)+ . . . a d (2 x 0 −1)= a 0 +Σ i=1 d (2 x d-i −1)) a 1 , where (0≤ i≤d ).

6. The method of claim 5 , wherein generating the secret key {α, β, γ, K} or the parameter N comprises generating, by the processor, both the secret key {α, β, γ, K} and the parameter N.

7. The method of claim 5 , wherein the secret key vector a i , with (0≤i≤d), is defined by:

a

i

=

{

F

0

(

K

,

0

)

,

if

i

=

0

,

where

(

α

N

F

0

(

K

,

0

)

β

N

)

F

i

(

K

,

x

d

-

i

)

,

if

1

i

d

,

where

(

α

N

γ

i

F

i

(

K

,

x

d

-

i

)

β

N

γ

i

)

,

wherein F i , with (0≤i≤d), is a function.

8. The method of claim 7 , wherein F i , with (0≤i≤d), is a cryptographic hash function or a pseudo-random function.

9. An encryption apparatus comprising:

a memory; and

a processor configured to:

determine first plaintext x which is received by the encryption apparatus or is stored in the memory of the encryption apparatus;

generate a secret key {α, β, γ, K} or a parameter N for encrypting the first plaintext x, wherein the parameter N is a number larger than a largest possible number from among first ciphertext C and represents an output range of the first ciphertext C,

convert the first plaintext x into first ciphertext C by using the secret key {α, β, γ, K} or the parameter N,

controlling the memory to store the first ciphertext C,

wherein, from among the secret key {α, β, γ, K}, γ is a number between 0 and α (0<γ<α), β is a number between ½ and 1 (½<β<1), K is a pseudo-random number according to a pseudo-random function, and α is equal to 1 minus β (α=1−β),

determine second ciphertext corresponding to the output range from among ciphertext stored in the memory, wherein the stored ciphertext is arranged in order of values corresponding to the stored ciphertext in the memory; and

reconstruct the first plaintext by decrypting the second ciphertext.

10. The encryption apparatus of claim 9 , wherein the processor is further configured to:

deliver a range query to the memory, and

receive second ciphertext corresponding to the range query from the memory.

11. The encryption apparatus of claim 9 , wherein the processor is configured to determine the parameter N and the secret key {α, β, γ, K} by using a bit size d of the first plaintext x.

12. The encryption apparatus of claim 10 , wherein the processor is further configured to reconstruct second plaintext from the second ciphertext by using the parameter N or the secret key {α, β, γ, K}.

13. The encryption apparatus of claim 9 ,

wherein the processor is further configured to:

determine a set of secret key vectors a based on the parameter N, the secret key {α, β, γ, K}, and the first plaintext x, and

convert the first plaintext x into the first ciphertext C by using the set of the secret key vectors a, and

wherein:

the first plaintext x is a d-bit binary number, and x d-j is a bit value of plaintext x at the (d−j)th position, where (1≤j≤d), according to:

x:=(x d-1 , x d-2 , . . . , x 0 ),

the set of the secret key vectors a comprises one or more secret key vectors a i , where (0≤i≤d), according to:

a i :=(a 0 , a 1 , . . . , a d ), and

the first ciphertext C is determined according to the equation:

C=a 0 +a 1 (2 x d-1 −1)+ . . . a d (2 x 0 −1)= a 0 +Σ i=1 d (2 x d-i −1)) a 1 , where (0≤ i≤d ).

14. The encryption apparatus of claim 13 , wherein the processor is configured to generate both the secret key {α, β, γ, K} and the parameter N.

15. The encryption apparatus of claim 13 , wherein the secret key vector a i , with (0≤i≤d), is defined by:

a

i

=

{

F

0

(

K

,

0

)

,

if

i

=

0

,

where

(

α

N

F

0

(

K

,

0

)

β

N

)

F

i

(

K

,

x

d

-

i

)

,

if

1

i

d

,

where

(

α

N

γ

i

F

i

(

K

,

x

d

-

i

)

β

N

γ

i

)

,

wherein F i , with (0≤i≤d), is a function.

16. The encryption apparatus of claim 15 , wherein F i , with (0≤i≤d), is a cryptographic hash function or a pseudo-random function.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2015
From: SEO, JAE WOO; HWANG, YONG HO; KIM, SUNGWOOK
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 035423/0525 →
Priority Claims (1)
KR 10-2014-0057838 · May 14, 2014 · national
Continuity (1)
Related Publication 20170063528A1 · Mar 2, 2017