IP Library Granted Patent US 9,166,785
Granted Patent B2
US 9,166,785 · App. 14/104,409 · Granted Oct 20, 2015

Cryptography processing device and cryptography processing method

Inventors: Masaya Yasuda (Kawasaki, JP); Takeshi Shimoyama (Shinagawa, JP); Jun Kogure (Kawasaki, JP)
Assignee: FUJITSU LIMITED
H04L9/0861H04L9/008H04L9/08
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 9,166,785
App. No.
14/104,409
Granted
Oct 20, 2015
Kind
B2
Abstract

A device that uses homomorphic encryption is disclosed. The device includes a public key data generator configured to generate public key data, and a secret key data generator configured to generate secret key data that includes, as a secret key, an integer that is an element of a matrix obtained as a product of the first public key matrix element and an inverse matrix of the secret key matrix and that is not a multiple of the plain text space size.

Claims (232)

1. A cryptography processing device, comprising:

an input device configured to obtain from an external environment an input of a dimension of a key generation vector, in which each element is equal to or smaller than a maximum bit length and elements except for a first element are integers that are multiples of a plain text space size, an input of the maximum bit length and an input of the plain text space size, the plain text space size being a number of types of symbols that a plain text to be encrypted may take; and

a processor configured to

generate the key generation vector using the dimension, the maximum bit length and the plain text space size,

generate a secret key matrix from the key generation vector,

generate a public key matrix from the secret key matrix,

generate public key data including a first public key matrix element, which is a discriminant of the public key matrix, a second public key matrix element, which is an integer, the dimension, and the plain text space size,

generate secret key data that includes, as a secret key, an integer that is an element of a matrix obtained as a product of the first public key matrix element and an inverse matrix of the secret key matrix and that is not a multiple of the plain text space size,

encrypt the plain text using the public key data so as to obtain cryptography data, and

output the obtained cryptography data.

2. The cryptography processing device according to claim 1 , wherein:

when the key generation vector is written as v=(v 0 , v 1 , . . . , v n-1 ), the secret key matrix is

[

v

0

v

1

v

2

v

n

-

1

-

v

n

-

1

v

0

v

1

v

n

-

2

-

v

n

-

2

-

v

n

-

1

v

0

v

n

-

3

-

v

1

-

v

2

-

v

3

v

0

]

.

3. The cryptography processing device according to claim 1 , wherein:

the public key matrix is a Hermite normal form of the secret key matrix.

4. The cryptography processing device according to claim 1 , wherein:

the prescribed condition to be satisfied by the public key matrix is that the public key matrix is in a form of

[

d

0

0

0

r

1

0

0

*

0

1

0

*

0

0

1

]

,

where d and r are integers.

5. The cryptography processing device according to claim 1 , wherein

the processor is further configured to

obtain a first polynomial from a first vector by using a first conversion polynomial,

obtain a second polynomial from a second vector by using a second conversion polynomial,

obtain a first weight related to a concealment distance of the first vector and a second weight related to a concealment distance of the second vector,

obtain a first encryption polynomial, a second encryption polynomial, a first encryption weight, and a second encryption weight by encrypting each of the first polynomial, the second polynomial, the first weight, and the second weight by using the public key data,

obtain an encryption concealment distance that corresponds to encryption of a concealment distance of the first vector and the second vector from the first encryption polynomial, the second encryption polynomial, the first encryption weight, and the second encryption weight, and

decrypt the encryption concealment distance by using the secret key data.

6. The cryptography processing device according to claim 5 , wherein:

the weight is a Hamming weight and the concealment distance is a Hamming distance.

7. A cryptography processing method comprising:

obtaining, by using an input device, from an external environment an input of a dimension of a key generation vector, in which each element is equal to or smaller than a maximum bit length and elements except for a first element are integers that are multiples of a plain text space size, an input of the maximum bit length and an input of the plain text space size, the plain text space size being a number of types of symbols that a plain text to be encrypted may take;

generating the key generation vector using the dimension, the maximum bit length and the plain text space size by using a processor;

generating a secret key matrix from the key generation vector by using the processor;

generating a public key matrix from the secret key matrix;

generating public key data including a first public key matrix element, which is a discriminant of the public key matrix, a second public key matrix element, which is an integer, the dimension, and the plain text space size by using the processor; and

generating secret key data that includes, as a secret key, an integer that is an element of a matrix obtained as a product of the first public key matrix element and an inverse matrix of the secret key matrix and that is not a multiple of the plain text space size by using the processor;

encrypting, by using the processor, the plain text using the public key data so as to obtain cryptography data; and

outputting, by using the processor, the obtained cryptography data.

8. The cryptography processing method according to claim 7 , wherein:

when the key generation vector is written as v=(v 0 , v 1 , . . . , v n-1 ), the secret key matrix is

[

v

0

v

1

v

2

v

n

-

1

-

v

n

-

1

v

0

v

1

v

n

-

2

-

v

n

-

2

-

v

n

-

1

v

0

v

n

-

3

-

v

1

-

v

2

-

v

3

v

0

]

.

9. The cryptography processing method according to claim 7 , wherein:

the public key matrix is a Hermite normal form of the secret key matrix.

10. The cryptography processing method according to claim 7 , wherein:

the prescribed condition to be satisfied by the public key matrix is that the public key matrix is in a form of

[

d

0

0

0

r

1

0

0

*

0

1

0

*

0

0

1

]

,

where d and r are integers.

11. The cryptography processing method according to claim 7 , the method further comprising:

obtaining a first polynomial from a first vector by using a first conversion polynomial;

obtaining a second polynomial from a second vector by using a second conversion polynomial by using the processor;

obtaining a first weight related to a concealment distance of the first vector and a second weight related to a concealment distance of the second vector by using the processor;

obtaining a first encryption polynomial, a second encryption polynomial, a first encryption weight, and a second encryption weight by encrypting each of the first polynomial, the second polynomial, the first weight, and the second weight by using the public key data by using the processor;

obtaining an encryption concealment distance that corresponds to encryption of a concealment distance of the first vector and the second vector from the first encryption polynomial, the second encryption polynomial, the first encryption weight, and the second encryption weight by using the processor; and

decrypting the encryption concealment distance by using the secret key data by using the processor.

12. The cryptography processing method according to claim 11 , wherein:

the weight is a Hamming weight and the concealment distance is a Hamming distance.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2014
From: YASUDA, MASAYA; SHIMOYAMA, TAKESHI; KOGURE, JUN
To: FUJITSU LIMITED
Reel/Frame 032975/0841 →
Priority Claims (1)
JP 2012-286259 · Dec 27, 2012 · national
Continuity (1)
Related Publication 20140185797A1 · Jul 3, 2014