IP Library › Granted Patent US 11,522,671
Granted Patent B2
US 11,522,671 · App. 16/652,850 · Granted Dec 6, 2022

Homomorphic inference device, homomorphic inference method, computer readable medium, and privacy-preserving information processing system

Inventor: Ryo Hiromasa (Tokyo, JP)
Assignee: Mitsubishi Electric Corporation
H04L9/008G06N5/04H04L9/0618
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,522,671
App. No.
16/652,850
Granted
Dec 6, 2022
Kind
B2
Abstract

A range determination unit ( 412 ) takes as input an input ciphertext C i resulting from encrypting input data, determines whether a value obtained from the input data is within a reference range, and generates a range ciphertext a j depending on a determined result. A result generation unit ( 413 ) performs a homomorphic operation on the range ciphertext a j generated by the range determination unit ( 412 ), so as to generate a result ciphertext D of a result of performing inference including a non-polynomial operation on the input data. An output unit ( 414 ) outputs the result ciphertext D.

Claims (1030)

1. A homomorphic inference device comprising:

processing circuitry executing an intermediate layer of a neural network performing recognition on an encrypted message, wherein in performing the recognition, the processing circuitry is configured to:

take as input an input ciphertext resulting from encrypting input data, determine whether a value obtained from the input data is greater than 0, generate a ciphertext resulting from encrypting 1 as a range ciphertext when the value obtained from the input data is greater than 0, and generate a ciphertext resulting from encrypting 0 as the range ciphertext when the value obtained from the input data is equal to or less than 0; and

perform a homomorphic operation of computing a product of the generated range ciphertext and a ciphertext of the value obtained from the input data, so as to generate a result ciphertext of a result of computing a rectified linear unit (ReLU) function,

wherein the processing circuitry generates a j , which is the range ciphertext, as indicated in Formula 1, and

generates D, which is the result ciphertext, as indicated in Formula 2

for

⁢

i

=

1

,

…

,

n

⁢

A

i

:=

{

C

i

⁢

G

-

1

(

A

i

-

1

)

if

⁢

w

i

=

1

SwitchKey

KS

s

⁡

(

1

/

X

)

→

s

⁡

(

x

)

(

C

i

(

1

/

X

)

)

⁢

G

-

1

(

A

i

-

1

)

otherwise

,

for

⁢

j

=

0

,

…

,

L

-

1

⁢

a

i

:=

SampleExtract

(

A

n

⁢

G

-

1

(

t

j

(

X

)

,

0

)

[

Formula

⁢

1

]

where

n is an integer of 1 or more,

C i is an input ciphertext resulting from encrypting input data x i ,

X is a variable constituting a polynomial of a polynomial ring in the ring variant of Gentry-Sahai-Waters (RGSW) encryption,

G is a tensor product of g and I 2

G −1 is a process to convert each integer element of a matrix into a binary representation,

g:=(1, 2, 2 2 , . . . , 2 L−1 ),

L is a minimum integer equal to or more than log q,

q is a positive integer,

I 2 is a 2×2 identity matrix, and

w i is weight data in a neural network

[Formula 2]

for j= 0, . . . , L −1),

a′ j,k :=SwitchKey KS s→s ( a j ),

A ′:=( a′ j,k ) j=0, . . . ,L−1;k=0,1 ,

D:=A′G −1 ( A n )

where A′ is the range ciphertext, and D is the result ciphertext.

2. A homomorphic inference device comprising:

processing circuitry executing an intermediate layer of a neural network performing recognition on an encrypted message, wherein in performing the recognition, the processing circuitry is configured to:

take as input an input ciphertext resulting from encrypting input data, determine whether a value obtained from the input data is greater than 0, generate a ciphertext resulting from encrypting 1 as a range ciphertext when the value obtained from the input data is greater than 0, and generate a ciphertext resulting from encrypting 0 as the range ciphertext when the value obtained from the input data is equal to or less than 0; and

perform a homomorphic operation of computing a sum of a product of a ciphertext resulting from encrypting 1 and the range ciphertext and a product of a ciphertext resulting from encrypting −1 and a value obtained by subtracting the range ciphertext from the ciphertext resulting from encrypting 1, so as to generate a result ciphertext of a result of computing a Sign function that takes as input an integer and outputs a sign of the integer,

wherein the processing circuitry generates ai, which is the range ciphertext, as indicated in Formula 3, and

generates D, which is the result ciphertext, as indicated in Formula 4

for

⁢

i

=

1

,

…

,

n

[

Formula

⁢

3

]

A

i

:=

{

C

i

⁢

G

-

1

(

A

i

-

1

)

if

⁢

w

i

=

1

SwitchKey

K

⁢

S

s

⁡

(

1

/

X

)

→

s

⁡

(

x

)

(

C

i

(

1

/

X

)

)

⁢

G

-

1

(

A

i

-

1

)

otherwise

,

for

⁢

j

=

0

,

…

,

L

-

1

a

i

:=

SampleExtract

(

A

n

⁢

G

-

1

(

t

j

(

X

)

,

0

)

where

n is an integer of 1 or more,

Ci is an input ciphertext resulting from encrypting input data xi,

X is a variable constituting a polynomial of a polynomial ring in the ring variant of Gentry-Sahai-Waters (RGSW) encryption,

G is a tensor product of g and I 2 ,

G −1 is a process to convert each integer element of a matrix into a binary representation,

g :=(1,2,2 2 , . . . ,2 L−1 ),

L is a minimum integer equal to or more than log q,

g is a positive integer,

I 2 is a 2×2 identity matrix, and

w i is weight data in a neural network

[Formula 4]

for j= 0, . . . , L −1),

a′ j,k :=SwitchKey KS s→s ( a j ),

A ′:=( a′ j,k ) j=0, . . . ,L−1;k=0,1 ,

D:=X·GG −1 ( A ′)+ X −1 G −1 GG −1 ( A ′)

where A′ is the range ciphertext, and D is the result ciphertext.

3. A homomorphic inference method, wherein the method executes an intermediate layer of a neural network performing recognition on an encrypted image, and wherein, in performing the recognition, the method comprises:

taking as input an input ciphertext resulting from encrypting input data, determining whether a value obtained from the input data is greater than 0, generating a ciphertext resulting from encrypting 1 as a range ciphertext when the value obtained from the input data is greater than 0, and generating a ciphertext resulting from encrypting 0 as the range ciphertext when the value obtained from the input data is equal to or less than 0; and

performing a homomorphic operation of computing a product of the range ciphertext and a ciphertext of the value obtained from the input data, so as to generate a result ciphertext of a result of computing a rectified linear unit (ReLU) function,

wherein the processing circuitry generates a j , which is the range ciphertext, as indicated in Formula 1, and

generates D, which is the result ciphertext, as indicated in Formula 2

for

⁢

i

=

1

,

…

,

n

[

Formula

⁢

1

]

A

i

:=

{

C

i

⁢

G

-

1

(

A

i

-

1

)

if

⁢

w

i

=

1

SwitchKey

K

⁢

S

s

⁡

(

1

/

X

)

→

s

⁡

(

x

)

(

C

i

(

1

/

X

)

)

⁢

G

-

1

(

A

i

-

1

)

otherwise

,

for

⁢

j

=

0

,

…

,

L

-

1

a

i

:=

SampleExtract

(

A

n

⁢

G

-

1

(

t

j

(

X

)

,

0

)

where

n is an integer of 1 or more,

C i is an input ciphertext resulting from encrypting input data x i ,

X is a variable constituting a polynomial of a polynomial ring in the ring variant of Gentry-Sahai-Waters (RGSW) encryption,

G is a tensor product of g and I 2 ,

G −1 is a process to convert each integer element of a matrix into a binary representation,

g:=(1, 2, 2 2 , . . . , 2 L−1 ),

L is a minimum integer equal to or more than log q,

q is a positive integer,

I 2 is a 2×2 identity matrix, and

w i is weight data in a neural network

[Formula 2]

for j= 0, . . . , L −1),

a′ j,k :=SwitchKey KS s→s ( a j ),

A ′:=( a′ j,k ) j=0, . . . ,L−1;k=0,1 ,

D:=A′G −1 ( A n )

where A′ is the range ciphertext, and D is the result ciphertext.

4. A homomorphic inference method, wherein the method executes an intermediate layer of a neural network performing recognition on an encrypted image, and wherein, in performing the recognition, the method comprises: comprising:

taking as input an input ciphertext resulting from encrypting input data, determining whether a value obtained from the input data is greater than 0, generating a ciphertext resulting from encrypting 1 as a range ciphertext when the value obtained from the input data is greater than 0, and generating a ciphertext resulting from encrypting 0 as the range ciphertext when the value obtained from the input data is equal to or less than 0; and

performing a homomorphic operation of computing a sum of a product of a ciphertext resulting from encrypting 1 and the range ciphertext and a product of a ciphertext resulting from encrypting −1 and a value obtained by subtracting the range ciphertext from the ciphertext resulting from encrypting 1, so as to generate a result ciphertext of a result of computing a Sign function that takes as input an integer and outputs a sign of the integer

wherein the processing circuitry generates a j , which is the range ciphertext, as indicated in Formula 3, and

generates D, which is the result ciphertext, as indicated in Formula 4

for

⁢

i

=

1

,

…

,

n

[

Formula

⁢

3

]

A

i

:=

{

C

i

⁢

G

-

1

(

A

i

-

1

)

if

⁢

w

i

=

1

SwitchKey

K

⁢

S

s

⁡

(

1

/

X

)

→

s

⁡

(

x

)

(

C

i

(

1

/

X

)

)

⁢

G

-

1

(

A

i

-

1

)

otherwise

,

for

⁢

j

=

0

,

…

,

L

-

1

a

i

:=

SampleExtract

(

A

n

⁢

G

-

1

(

t

j

(

X

)

,

0

)

where

n is an integer of 1 or more,

C i is an input ciphertext resulting from encrypting input data x i ,

X is a variable constituting a polynomial of a polynomial ring in the ring variant of Gentry-Sahai-Waters (RGSW) encryption,

G is a tensor product of g and I 2 ,

G −1 is a process to convert each integer element of a matrix into a binary representation,

g:=(1, 2, 2 2 , . . . , 2 L−1 ),

L is a minimum integer equal to or more than log q,

q is a positive integer,

I 2 is a 2×2 identity matrix, and

w i is weight data in a neural network

[Formula 4]

for j= 0, . . . , L −1),

a′ j,k :=SwitchKey KS s→s ( a j ),

A ′:=( a′ j,k ) j=0, . . . ,L−1;k=0,1 ,

D:=X·GG −1 ( A ′)+ X −1 G −1 GG −1 ( A ′)

where A′ is the range ciphertext, and D is the result ciphertext.

5. A non-transitory computer readable medium storing a homomorphic inference program for causing a computer to execute an intermediate layer of a neural network performing recognition on an encrypted message, wherein in performing the recognition, the program causes the computer to execute:

a range determination process to take as input an input ciphertext resulting from encrypting input data, determine whether a value obtained from the input data is greater than 0, generate a ciphertext resulting from encrypting 1 as a range ciphertext when the value obtained from the input data is greater than 0, and generate a ciphertext resulting from encrypting 0 as the range ciphertext when the value obtained from the input data is equal to or less than 0; and

a result generation process to perform a homomorphic operation of computing a product of the range ciphertext generated by the range determination process and a ciphertext of the value obtained from the input data, so as to generate a result ciphertext of a result of computing a rectified linear unit (ReLU) function,

wherein the processing circuitry generates a j , which is the range ciphertext, as indicated in Formula 1, and

generates D, which is the result ciphertext, as indicated in Formula 2

for

⁢

i

=

1

,

…

,

n

[

Formula

⁢

1

]

A

i

:=

{

C

i

⁢

G

-

1

(

A

i

-

1

)

if

⁢

w

i

=

1

SwitchKey

K

⁢

S

s

⁡

(

1

/

X

)

→

s

⁡

(

x

)

(

C

i

(

1

/

X

)

)

⁢

G

-

1

(

A

i

-

1

)

otherwise

,

for

⁢

j

=

0

,

…

,

L

-

1

a

i

:=

SampleExtract

(

A

n

⁢

G

-

1

(

t

j

(

X

)

,

0

)

where

n is an integer of 1 or more,

C i is an input ciphertext resulting from encrypting input data x i ,

X is a variable constituting a polynomial of a polynomial ring in the ring variant of Gentry-Sahai-Waters (RGSW) encryption,

G is a tensor product of g and I 2 ,

G −1 is a process to convert each integer element of a matrix into a binary representation,

g:=(1, 2, 2 2 , . . . , 2 L−1 ),

L is a minimum integer equal to or more than log q,

q is a positive integer,

I 2 is a 2×2 identity matrix, and

w i is weight data in a neural network

[Formula 2]

for j= 0, . . . , L −1),

a′ j,k :=SwitchKey KS s→s ( a j ),

A ′:=( a′ j,k ) j=0, . . . ,L−1;k=0,1 ,

D:=A′G −1 ( A n )

where A′ is the range ciphertext, and D is the result ciphertext.

6. A non-transitory computer readable medium storing a homomorphic inference program for causing a computer to execute an intermediate layer of a neural network performing recognition on an encrypted message, wherein in performing the recognition, the program causes the computer to execute:

a range determination process to take as input an input ciphertext resulting from encrypting input data, determine whether a value obtained from the input data is greater than 0, generate a ciphertext resulting from encrypting 1 as a range ciphertext when the value obtained from the input data is greater than 0, and generate a ciphertext resulting from encrypting 0 as the range ciphertext when the value obtained from the input data is equal to or less than 0; and

a result generation process to perform a homomorphic operation of computing a sum of a product of a ciphertext resulting from encrypting 1 and the range ciphertext and a product of a ciphertext resulting from encrypting −1 and a value obtained by subtracting the range ciphertext from the ciphertext resulting from encrypting 1, so as to generate a result ciphertext of a result of computing a Sign function that takes as input an integer and outputs a sign of the integer,

wherein the processing circuitry generates a j , which is the range ciphertext, as indicated in Formula 3, and

generates D, which is the result ciphertext, as indicated in Formula 4

for

⁢

i

=

1

,

…

,

n

[

Formula

⁢

3

]

A

i

:=

{

C

i

⁢

G

-

1

(

A

i

-

1

)

if

⁢

w

i

=

1

SwitchKey

K

⁢

S

s

⁡

(

1

/

X

)

→

s

⁡

(

x

)

(

C

i

(

1

/

X

)

)

⁢

G

-

1

(

A

i

-

1

)

otherwise

,

for

⁢

j

=

0

,

…

,

L

-

1

a

i

:=

SampleExtract

(

A

n

⁢

G

-

1

(

t

j

(

X

)

,

0

)

where

n is an integer of 1 or more,

C i is an input ciphertext resulting from encrypting input data x i ,

X is a variable constituting a polynomial of a polynomial ring in the ring variant of Gentry-Sahai-Waters (RGSW) encryption,

G is a tensor product of g and I 2 ,

G −1 is a process to convert each integer element of a matrix into a binary representation,

g:=(1, 2, 2 2 , . . . , 2 L−1 ),

L is a minimum integer equal to or more than log q,

q is a positive integer,

I 2 is a 2×2 identity matrix, and

w i is weight data in a neural network

[Formula 4]

for j= 0, . . . , L −1),

a′ j,k :=SwitchKey KS s→s ( a j ),

A ′:=( a′ j,k ) j=0, . . . ,L−1;k=0,1 ,

D:=X·GG −1 ( A ′)+ X −1 G −1 GG −1 ( A ′)

where A′ is the range ciphertext, and D is the result ciphertext.

7. A privacy-preserving information processing system comprising:

an encryption device to encrypt input data to generate an input ciphertext;

a homomorphic inference device to take as input the input ciphertext generated by the encryption device, and generate a result ciphertext of a result of computing a rectified linear unit (ReLU) function; and

a decryption device to decrypt the result ciphertext generated by the homomorphic inference device, so as to generate result data indicating the result,

wherein the homomorphic inference device includes

processing circuitry to:

take as input the input ciphertext, determine whether a value obtained from the input data is greater than 0, generate a ciphertext resulting from encrypting 1 as a range ciphertext when the value obtained from the input data is greater than 0, and generate a ciphertext resulting from encrypting 0 as the range ciphertext when the value obtained from the input data is equal to or less than 0; and

perform a homomorphic operation of computing a product of the generated range ciphertext and a ciphertext of the value obtained from the input data, so as to generate the result ciphertext, and

wherein the homomorphic operation is utilized as a function of an intermediate layer of a neural network performing recognition on an encrypted image, and

wherein the processing circuitry generates a j , which is the range ciphertext, as indicated in Formula 1, and

generates D, which is the result ciphertext, as indicated in Formula 2

for

⁢

i

=

1

,

…

,

n

[

Formula

⁢

1

]

A

i

:=

{

C

i

⁢

G

-

1

(

A

i

-

1

)

if

⁢

w

i

=

1

SwitchKey

K

⁢

S

s

⁡

(

1

/

X

)

→

s

⁡

(

x

)

(

C

i

(

1

/

X

)

)

⁢

G

-

1

(

A

i

-

1

)

otherwise

,

for

⁢

j

=

0

,

…

,

L

-

1

a

i

:=

SampleExtract

(

A

n

⁢

G

-

1

(

t

j

(

X

)

,

0

)

where

n is an integer of 1 or more,

C i is an input ciphertext resulting from encrypting input data x i ,

X is a variable constituting a polynomial of a polynomial ring in the ring variant of Gentry-Sahai-Waters (RGSW) encryption,

G is a tensor product of g and I 2 ,

G −1 is a process to convert each integer element of a matrix into a binary representation,

g:=(1, 2, 2 2 , . . . , 2 L−1 ),

L is a minimum integer equal to or more than log q,

q is a positive integer,

I 2 is a 2×2 identity matrix, and

w i is weight data in a neural network

[Formula 2]

for j= 0, . . . , L −1),

a′ j,k :=SwitchKey KS s→s ( a j ),

A ′:=( a′ j,k ) j=0, . . . ,L−1;k=0,1 ,

D:=A′G −1 ( A n )

where A′ is the range ciphertext, and D is the result ciphertext.

8. A privacy-preserving information processing system comprising:

an encryption device to encrypt input data to generate an input ciphertext;

a homomorphic inference device to take as input the input ciphertext generated by the encryption device, and generate a result ciphertext of a result of computing a Sign function that takes as input an integer and outputs a sign of the integer; and

a decryption device to decrypt the result ciphertext generated by the homomorphic inference device, so as to generate result data indicating the result,

wherein the homomorphic inference device includes

processing circuitry to:

take as input the input ciphertext, determine whether a value obtained from the input data is greater than 0, generate a ciphertext resulting from encrypting 1 as a range ciphertext when the value obtained from the input data is greater than 0, and generate a ciphertext resulting from encrypting 0 as the range ciphertext when the value obtained from the input data is equal to or less than 0; and

perform a homomorphic operation of computing a sum of a product of a ciphertext resulting from encrypting 1 and the range ciphertext and a product of a ciphertext resulting from encrypting −1 and a value obtained by subtracting the range ciphertext from the ciphertext resulting from encrypting 1, so as to generate the result ciphertext, and

wherein the homomorphic operation is utilized as a function of an intermediate layer of a neural network performing recognition on an encrypted image, and

wherein the processing circuitry generates a j , which is the range ciphertext, as indicated in Formula 3, and

generates D, which is the result ciphertext, as indicated in Formula 4

for

⁢

i

=

1

,

…

,

n

[

Formula

⁢

3

]

A

i

:=

{

C

i

⁢

G

-

1

(

A

i

-

1

)

if

⁢

w

i

=

1

SwitchKey

K

⁢

S

s

⁡

(

1

/

X

)

→

s

⁡

(

x

)

(

C

i

(

1

/

X

)

)

⁢

G

-

1

(

A

i

-

1

)

otherwise

,

for

⁢

j

=

0

,

…

,

L

-

1

a

i

:=

SampleExtract

(

A

n

⁢

G

-

1

(

t

j

(

X

)

,

0

)

where

n is an integer of 1 or more,

C i is an input ciphertext resulting from encrypting input data x i ,

X is a variable constituting a polynomial of a polynomial ring in the ring variant of Gentry-Sahai-Waters (RGSW) encryption,

G is a tensor product of g and I 2 ,

G −1 is a process to convert each integer element of a matrix into a binary representation,

g:=(1, 2, 2 2 , . . . , 2 L−1 ),

L is a minimum integer equal to or more than log q,

q is a positive integer,

I 2 is a 2×2 identity matrix, and

w i is weight data in a neural network

[Formula 4]

for j= 0, . . . , L −1),

a′ j,k :=SwitchKey KS s→s ( a j ),

A ′:=( a′ j,k ) j=0, . . . ,L−1;k=0,1 ,

D:=X·GG −1 ( A ′)+ X −1 G −1 GG −1 ( A ′)

where A′ is the range ciphertext, and D is the result ciphertext.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2020
From: HIROMASA, RYO
To: MITSUBISHI ELECTRIC CORPORATION
Reel/Frame 052294/0399 →
Continuity (1)
Related Publication 20200235908A1 · Jul 23, 2020
Cited By (2)
US 12,483,381 US 12,634,116