Secret calculation system, apparatus, method and program

US12412487B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12412487-B2
Application numberUS-202118574762-A
CountryUS
Kind codeB2
Filing dateJul 8, 2021
Priority dateJul 8, 2021
Publication dateSep 9, 2025
Grant dateSep 9, 2025

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A secure computation device 1 n of a secure computation system according to an aspect of this invention includes a first calculation unit 11 n , a second calculation unit 12 n , a third calculation unit 13 n , a fourth calculation unit 14 n , a fifth calculation unit 15 n , a sixth calculation unit 16 n , a seventh calculation unit 17 n , and an output unit 18 n . By calculation being performed in cooperation of these, a group by count operation can be performed on a table to which a flag is added.

First claim

Opening claim text (preview).

The invention claimed is: 1. A secure computation system comprising a plurality of secure computation devices in which m is a number of records and is an integer of 1 or more, k → is a vector of a key k → =(k 1 , . . . , k m ), f → is a vector of a flag f → =(f 1 , . . . , f m ), [α] is a ciphertext of α with α set as any value or any vector, and a predetermined operation using α as a ciphertext is possible, wherein the plurality of secure computation devices comprises processing circuitry configured to: generate a ciphertext [f′ → ] and a ciphertext [k′ → ] of a vector f′ → and a vector k′ → obtained by sorting the vector f → and the vector k → , respectively, with a vector obtained by concatenating negative of the vector f → and the vector k → set as a key, using a ciphertext [f → ] of the vector f → and a ciphertext [k → ] of the vector k → ; generate a ciphertext [e′ → ] of a vector e′ → including e i (i=1, . . . , m) as an element by generating a ciphertext [e′ m ] of e′ m such that e′ i =0 is satisfied when f′ i =1 and k′ i ≠k′ i+1 or f′ i =1 and f 1+1 =0 are satisfied or otherwise e′ i =1 is satisfied, and e′ m =0 is satisfied when f′ m =1 is satisfied or otherwise e′ m =1 is satisfied, with i=1, . . . , m−1 set, using the ciphertext [f′ → ] and the ciphertext [k′ → ]; generate a ciphertext [m′] of m′ with a result obtained by subtracting a number of records having a flag of 0 from the m set as m′, using at least the m; generate a ciphertext [x → ] of a vector x → including x i (i=1, . . . , m) as an element by generating a ciphertext [x i ] of x i having a value of i when an element e i =0 is satisfied, the element e i being an element of the vector e → , and a value of m′ when an element e i =1 is satisfied, the element e i being an element of the vector e → , with i=1, . . . , m set, using the ciphertext [e′ → ]; obtain a ciphertext [x′ → ], a ciphertext [k″ → ], and a ciphertext [e″ → ] of a vector x′ → , a vector k″ → , and a vector e″ → obtained by sorting the vector x → , the vector k′ → , and the vector e′ → , respectively, with the vector e′ → set as a key, using the ciphertext [e′ → ], the ciphertext [x → ], and the ciphertext [k′ → ]; generate a ciphertext [c → ] of a vector c → including c i (i=1, . . . , m) as an element by generating a ciphertext [c i ] of c i that is a value obtained by subtracting an element x′ i−1 from an element x′ i of the vector x′ → with a ciphertext [x′ 1 ] of an element x′ 1 of the vector x′ → set as a ciphertext [c 1 ] and with i=2, . . . , m set, using the ciphertext [x″ → ]; and calculate a ciphertext [e′″ → ] of a vector e′″ → including a value obtained by subtracting each element of the vector e″ → from 1, using the ciphertext [e″ → ]. 2. The secure computation system according to claim 1 , wherein the processing circuitry further configured to output the ciphertext [k″ → ], the ciphertext [c → ], and the ciphertext [e′″ → ]. 3. The secure computation system according to claim 1 , wherein the processing circuitry further configured to output a result obtained by deleting an element corresponding to an element indicating a dummy record among elements e i ′″ of a vector e′″ → from the ciphertext [k″ → ] and the ciphertext [c → ], using the ciphertext [k″ → ], the ciphertext [c → ], and the ciphertext [e′″ → ]. 4. A secure computation device of the secure computation system according to claim 1 . 5. A secure computation method in which m is a number of records and is an integer of 1 or more, k → is a vector of a key k → =(k 1 , . . . , k m ), f → is a vector of a flag f → =(f 1 , . . . , f m ), [α] is a ciphertext of α with α set as any value or any vector, and a predetermined operation using α as a ciphertext is possible, the secure computation method comprising: a first calculation step in which a plurality of first calculation units generates a ciphertext [f′ → ] and a ciphertext [k′ → ] of a vector f′ → and a vector k′ → obtained by sorting the vector f → and the vector k → , respectively, with a vector obtained by concatenating negative of the vector f → and the vector k → set as a key, using a ciphertext [f → ] of the vector f → and a ciphertext [k → ] of the vector k → ; a second calculation step in which a plurality of second calculation units generates a ciphertext [e′ → ] of a vector e′ → including e i (i=1, . . . , m) as an element by generating a ciphertext [e′ m ] of e′ m such that e′ i =0 is satisfied when f′ i =1 and k′ i ≠k′ i+1 or f′ i =1 and f′ i+1 =0 are satisfied or otherwise e′ i =1 is satisfied, and e′ m =0 is satisfied when f′ m =1 is satisfied or otherwise e′ m =1 is satisfied, with i=1, . . . , m−1 set, using the ciphertext [f′ → ] and the ciphertext [k′ → ]; a third calculation step in which a plurality of third calculation units generates a ciphertext [m′] of m′ with a result obtained by subtracting a number of records having a flag of 0 from the m set as m′, using at least the m; a fourth calculation step in which a plurality of fourth calculation units generates a ciphertext [x → ] of a vector x → including x i (i=1, . . . , m) as an element by generating a ciphertext [x i ] of x i having a value of i when an element e i =0 is satisfied, the element e i being an element of the vector e → , and a value of m′ when an element e i =1 is satisfied, the element ei being an element of the vector e → , with i=1, . . . , m set, using the ciphertext [e′ → ]; a fifth calculation step in which a plurality of fifth calculation units obtains a ciphertext [x′ → ], a ciphertext [k″ → ], and a ciphertext [e″ → ] of a vector x′ → , a vector k″ → , and a vector e″ → obtained by sorting the vector x → , the vector k′ → , and the vector e′ → , respectively, with the vector e′ → set as a key, using the ciphertext [e′ → ], the ciphertext [x → ], and the ciphertext [k′ → ]; a sixth calculation step in which a plurality of sixth calculation units generates a ciphertext [c → ] of a vector c → including c i (i=1, . . . , m) as an element by generating a ciphertext [c i ] of c i that is a value obtained by subtracting an element x′ i−1 from an element x′ i of the vector x′ → with a ciphertext [x′ 1 ] of an element x′ 1 of the vector x′ → set as a ciphertext [c 1 ] and with i=2, . . . , m set, using the ciphertext [x′ → ]; and a seventh calculation step in which a plurality of seventh calculation units calculates a ciphertext [e′″ → ] of a vector e′″ → including a value obtained by subtracting each element of the vector e″ → from 1, using the ciphertext [e″ → ]. 6. A non-transitory computer readable medium that stores a program for causing a computer to function as each step of the secure computation method according to claim 5 .

Assignees

Inventors

Classifications

  • Matrix or vector computation {, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization (matrix transposition G06F7/78)} · CPC title

  • involving homomorphic encryption · CPC title

  • Secret sharing or secret splitting, e.g. threshold schemes · CPC title

  • Secure multiparty computation, e.g. millionaire problem · CPC title

  • Providing cryptographic facilities or services · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12412487B2 cover?
A secure computation device 1 n of a secure computation system according to an aspect of this invention includes a first calculation unit 11 n , a second calculation unit 12 n , a third calculation unit 13 n , a fourth calculation unit 14 n , a fifth calculation unit 15 n , a sixth calculation unit 16 n , a seventh calculation unit 17 n , and an output unit 18 n . By…
Who is the assignee on this patent?
Nippon Telegraph & Telephone
What technology area does this patent fall under?
Primary CPC classification G09C5/00. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 09 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).