IP Library Granted Patent US 12,412,487
Granted Patent B2
US 12,412,487 · App. 18/574,762 · Granted Sep 9, 2025

Secret calculation system, apparatus, method and program

Inventors: Ryo Kikuchi (Musashino, JP); Dai Ikarashi (Musashino, JP); Hiroki Sudo (Musashino, JP)
Assignee: NIPPON TELEGRAPH AND TELEPHONE CORPORATION
G09C5/00G06F17/16
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 12,412,487
App. No.
18/574,762
Granted
Sep 9, 2025
Kind
B2
Abstract

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.

Claims (24)

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 .

Assignments (2)
CHANGE OF NAME Recorded Aug 20, 2025
From: NIPPON TELEGRAPH AND TELEPHONE CORPORATION
To: NTT, INC.
Reel/Frame 072801/0812 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2023
From: KIKUCHI, RYO; IKARASHI, DAI; SUDO, HIROKI
To: NIPPON TELEGRAPH AND TELEPHONE CORPORATION
Reel/Frame 065971/0342 →
Continuity (1)
Related Publication 20250131855A1 · Apr 24, 2025
References Cited (6)
US 9043250B2 · Ling · 2015 [cited by examiner]
US 11038679B2 · Li · 2021 [cited by examiner]
US 11784800B2 · Wright · 2023 [cited by examiner]
US 20130246802A1 · Kerschbaum · 2013 [cited by examiner]
US 20210390465A1 · Werder · 2021 [cited by examiner]
Kikuchi et al., “Secure cross-sector customer-flow invention”, Symposium on Cryptography and Information Security, The Institute of Electronics, Information and Communication Engineers, Jan. 28-31, 2020, pp. 1-8 (16 pag… [cited by applicant]