IP Library Granted Patent US 11,288,985
Granted Patent B2
US 11,288,985 · App. 17/004,211 · Granted Mar 29, 2022

Encryption device, decryption device, encryption method, decryption method, encryption program product, and decryption program product

Inventor: Koichiro Akiyama (Setagaya, JP)
Assignee: KABUSHIKI KAISHA TOSHIBA
G09C1/00H04L9/3026H04L2209/08H04L2209/12
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,288,985
App. No.
17/004,211
Granted
Mar 29, 2022
Kind
B2
Abstract

An encryption device includes hardware processors to: acquire a public key including an identification polynomial f(t) and a multivariable indeterminate equation X having elements of a ring F p [t]/g(t) as coefficients; disperse and embed a message m as coefficients of plaintext polynomial factors m i having, as coefficients, polynomials with a limited degree among the elements of the ring; generate a plaintext polynomial M by multiplying the plaintext polynomial factors m i ; randomly generate a random polynomial r having as a coefficient an element of the ring; randomly generate a noise polynomial e having as coefficients polynomials with a limited degree among the elements of the ring; and generate a ciphertext by encryption processing of performing an operation including adding, subtracting, or multiplying the identification polynomial f(t), the random polynomial r, the noise polynomial e, and the multivariable indeterminate equation X to, from, or by the plaintext polynomial M.

Claims (38)

1. An encryption device comprising instructions stored in a memory and one or more hardware processors executing the instructions to:

acquire a public key including a multivariable indeterminate equation X(x 1 , . . . , x l ) and an identification polynomial f(t), the multivariable indeterminate equation X(x 1 , . . . , x l ) having, as coefficients, elements of a ring F p [t]/g(t) (where F p [t] represents a univariate polynomial ring on a finite field F p and g(t) represents a modular polynomial);

disperse and embed a message m as coefficients of a plurality of plaintext polynomial factors m i (x 1 , . . . , x l ) (i=1, . . . , k) having, as coefficients, polynomials with a limited degree among the elements of the ring F p [t]/g(t);

generate a plaintext polynomial M(x 1 , . . . , x l ) by multiplying the plaintext polynomial factors m i (x 1 , . . . , x l ) (i=1, . . . , k);

randomly generate a random polynomial r(x 1 , . . . , x l ) having, as a coefficient, an element of the ring F p [t]/g(t);

randomly generate a noise polynomial e(x 1 , . . . , x l ) having, as coefficients, polynomials with a limited degree among the elements of the ring F p [t]/g(t);

generate a ciphertext c(x 1 , . . . , x l )=E pk (M,f,r,e;X) by executing encryption processing of performing an operation including at least one of adding, subtracting, and multiplying the identification polynomial f(t), the random polynomial r(x 1 , . . . , x l ), the noise polynomial e(x 1 , . . . , x l ), and the multivariable indeterminate equation X(x 1 , . . . , x l ) to, from, or by the plaintext polynomial M(x 1 , . . . , x l ); and

output, as an output of the encryption device, the ciphertext; and

transmit, by the encryption device, the ciphertext to a decryption device.

2. The encryption device according to claim 1 , wherein a degree ds of a solution of the multivariable indeterminate equation X(x 1 , . . . , x l ) and a maximum value d m of a degree of the coefficients included in the plaintext polynomial factor m i (x 1 , . . . , x l ) (i=1, . . . ,k) satisfy d s ≥1(d m +1).

3. The encryption device according to claim 1 , wherein a degree d f of the identification polynomial f(t), the number D m of the plaintext polynomial factors m i (x 1 , . . . , x l ), a degree d s of a solution of the multivariable indeterminate equation X(x 1 , . . . , x l ), and a maximum value d e of a degree of the coefficients included in the noise polynomial e(x 1 , . . . , x l ) satisfy d f >D m (d s +d e ).

4. The encryption device according to claim 1 , wherein a degree n of the modular polynomial g(t), a degree d f of the identification polynomial f(t), a total degree D X of the multivariable indeterminate equation X(x 1 , . . . , x l ), a total degree D r of the random polynomial r(x 1 , . . . , x l ), a degree d s of a solution of the multivariable indeterminate equation X(x 1 , . . . , x l ), and a maximum value d e of a degree of the coefficients included in the noise polynomial e(x 1 , . . . , x l ) satisfy n>d f +(D x +D r )d s +d e .

5. A decryption device comprising instructions stored in a memory and one or more hardware processors executing the instructions to:

acquire a public key including a multivariable indeterminate equation X(x 1 , . . . , x l ) and an identification polynomial f(t), the multivariable indeterminate equation X(x 1 , . . . , x l ) having, as coefficients, elements of a ring F p [t]/g(t) (where F p [t] represents a univariate polynomial ring on a finite field F p and g(t) represents a modular polynomial);

acquire, as a private key, a zero point u(x 1 , . . . , x l )=(u x1 (t), . . . , u xl (t)) of the multivariable indeterminate equation X(x 1 , . . . , x l );

generate a univariate polynomial h(t) by substituting the zero point u into a ciphertext c(x 1 , . . . , x l );

obtain a univariate polynomial μ(t) as a remainder of division of the univariate polynomial h(t) by the identification polynomial f(t);

acquire a first factor by factorizing the univariate polynomial μ(t) on the finite field F p ;

obtain, by combining the first factor, a second factor resulting from substituting the zero point u into a factor of a plaintext polynomial that is a product of a plurality of plaintext polynomial factors m i (x 1 , . . . , x l ) (i=1, . . . , k) having, as coefficients, polynomials with a limited degree among elements of the ring F p [t]/g(t);

restore the plaintext polynomial factor m i (x 1 , . . . , x l ) by

deriving simultaneous linear equations by using the second factor and the zero point u, and

solving the simultaneous linear equations;

extract a plaintext vector from the plaintext polynomial factors m i (x 1 , . . . , x l ) and decrypt a message m by calculating a product of elements of the plaintext vector;

extract an authenticator from the message m and verifies the authenticator; and

output, as a decryption result, the message m for which the verification of the authenticator has succeeded,

whrein the decryption device receives the ciphertext from an encryption device.

6. The decryption device according to claim 5 , wherein

the authenticator is calculated by performing a predetermined operation from encryption target data, and

the message m includes the encryption target data and the authenticator.

7. An encryption program product comprising a non-transitory computer-readable recording medium on which an executable program is recorded, the program instructing a computer to:

acquire a public key including a multivariable indeterminate equation X(x 1 , . . . , x l ) and an identification polynomial f(t), the multivariable indeterminate equation X(x 1 , . . . , x l ) having, as coefficients, elements of a ring F p [t]/g(t) (where F p [t] represents a univariate polynomial ring on a finite field F p and g(t) represents a modular polynomial);

disperse and embed a message m as coefficients of a plurality of plaintext polynomial factors m i (x 1 , . . . , x l ) (i=1, . . . , k) having, as coefficients, polynomials with a limited degree among the elements of the ring F p [t]/g(t);

generate a plaintext polynomial M(x 1 , . . . , x l ) by multiplying the plaintext polynomial factors m i (x 1 , . . . , x l ) (i=1, . . . , k);

randomly generate a random polynomial r(x 1 , . . . , x l ) having, as a coefficient, an element of the ring F p [t]/g(t);

randomly generate a noise polynomial e(x 1 , . . . , x l ) having, as coefficients, polynomials with a limited degree among the elements of the ring F p [t]/g(t);

generate a ciphertext c(x 1 , . . . , x l )=E p k(M,f,r,e;X) by executing encryption processing of performing an operation including at least one of adding, subtracting, and multiplying the identification polynomial f(t), the random polynomial r(x 1 , . . . , x l ), the noise polynomial e(x 1 , x l ), and the multivariable indeterminate equation X(x 1 , . . . , x l ) to, from, or by the plaintext polynomial M(x 1 , . . . , x l ); and

output, as an output of the encryption program product, the ciphertext; and

transmit the ciphertext to a decryption device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 25, 2020
From: AKIYAMA, KOICHIRO
To: KABUSHIKI KAISHA TOSHIBA
Reel/Frame 054470/0842 →
Priority Claims (1)
JP JP2020-019948 · Feb 7, 2020 · national
Continuity (1)
Related Publication 20210248928A1 · Aug 12, 2021
Cited By (1)
US 12,549,362