IP Library Granted Patent US 12,386,948
Granted Patent B2
US 12,386,948 · App. 18/565,091 · Granted Aug 12, 2025

Secure computation apparatus, secure computation system, secure computation method, and program

Inventors: Hiroki Sudo (Musashino, JP); Dai Ikarashi (Musashino, JP)
Assignee: NIPPON TELEGRAPH AND TELEPHONE CORPORATION
G06F21/52G06F21/71G06F2221/034
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,386,948
App. No.
18/565,091
Granted
Aug 12, 2025
Kind
B2
Abstract

A concealed operation result indicating concealed information of an Intersect operation result of X and Y is obtained while X={{x 0 , . . . , x n−1 }} and Y={{y 0 , . . . , y m−1 }} are concealed. A secure computation device obtains a sequence ([s], [M]) including [s] including n [B 0 ] and m [B 1 ] and [M] including [x 0 ], . . . , [x n−1 ] and [y 0 ], . . . , [y m−1 ], performs stable sorting on the sequence ([s], [M]) according to an order relationship of content represented by each of the elements M 0 , . . . , M n+m−1 to obtain a sequence ([s′], [M′]), obtain [eq q ] where eq q =T when M′ q =M′ q+1 and eq q =F otherwise and [seq q ] where seq q =T when s′ q =s′ q+1 and seq q =F otherwise, obtain [f q ] where f q =D 1 when eq q =T and seq q =F and f q =D 0 otherwise, and outputs [f q ] and [M′ q ]. Where, [α] is concealed information of α.

Claims (166)

1. A secure computation device that obtains a concealed operation result representing concealed information of an Intersect operation result between a first multiset X={{x 0 , . . . , x n−1 }} and a second multiset Y={{y 0 , . . . , y m−1 }} while concealing the first multiset X and the second multiset Y, the device comprising processing circuitry configured to:

(A) receive n first elements [x 0 ], . . . , [x n−1 ] and m second elements [y 0 ], . . . , [y m−1 ] as inputs, and obtain an input flagged sequence ([s], [M]) including a sequence [s]=([s 0 ], . . . , [s n−1 ], [s n ], . . . , [s n+m−1 ])=([B 0 ], . . . , [B 0 ], [B 1 ], . . . , [B 1 ]) including n first values [B 0 ] and m second values [B 1 ] and a sequence [M]=([M 0 ], . . . , [M n−1 ], [M n ], . . . , [M n+m−1 ])=([x 0 ], . . . , [x n−1 ], [y 0 ], . . . , [y m−1 ]) including first elements [x 0 ], . . . , [x n−1 ] and second elements [y 0 ], . . . , [y m−1 ] in which Bo and Bi are different from each other, each first value [s i ]=[B 0 ] is associated with each first element [M i ]=[x i ], and each second value [s j+n ]=[B 1 ] is associated with each second element [M j+n ]=[y j ], where n and m are positive integers, i=0, . . . , n−1, j=0, . . . , m−1, q=0, . . . , n+m−1, and [α] is concealed information of α;

(B) perform, by secure computation, stable sorting according to an order relation of content represented by each of elements M 0 , . . . , M n+m−1 corresponding to the sequence [M] for the input flagged sequence ([s], [M]) while maintaining a correspondence between [s q ] and [M q ], to obtain a sorted sequence ([s′], [M′]) including a sequence [s′]=([s′ 0 ], . . . , [s′ n+m−1 ]) of sorted values [s′ 0 ], . . . , [s′ n+m−1 ] and a sequence [M′]=([M′= 0 ], . . . , [M′ n+m−1 ]) of sorted elements [M′ 0 ], . . . , [M′ n+m−1 ];

(C) obtains obtain a first equality check result [eq q ] and a second equality check result [seq q ] by secure computation using the sorted sequence ([s′], [M′]), where eq q =T when M′q=M′ q+1 holds, eq q =F when M′q=M′ q+1 does not hold, eq n+m−1 =F, seq q =T when s′q=s′q+1 holds, seq q =F when s′q=s′q+1 does not hold, seq n+m−1 =F, and T and F are different from each other;

(D) obtain an output flag [f q ] by secure computation using the first equality check result [eq q ] and the second equality check result [seq q ], where, f q =D 1 when “eq q =T and seq q =F” holds, f q =Do when “eq q =T and seq q =F” does not hold, and Di and Do are different from each other; and

(E) output the concealed operation result including the output flag and the sorted element [M′ q ] of the sequence [M′] associated with each other.

2. The secure computation device according to claim 1 , wherein

(A) the processing circuitry is configured to obtain the input flagged sequence ([s], [M]) represented by:

(

[

s

]

,

[

M

]

)

=

(

[

s

0

]

[

M

0

]

[

s

n

-

1

]

[

M

n

-

1

]

[

s

n

]

[

M

n

]

[

s

n

+

m

-

1

]

[

M

n

+

m

-

1

]

)

=

(

[

B

0

]

[

x

0

]

[

B

0

]

[

x

n

-

1

]

[

B

1

]

[

y

0

]

[

B

1

]

[

y

m

-

1

]

)

(B) the processing circuitry is configured to obtain the sorted sequence ([s′], [M′]) represented by:

(

[

s

]

,

[

M

]

)

=

(

[

s

0

]

[

M

0

]

[

s

n

+

m

-

1

]

[

M

n

+

m

-

1

]

)

a sequence of M′ 0 , . . . , M′ n+m−1 is a stable sorting result of a sequence of the elements M 0 , . . . , M n+m−1 according to an order relation of content represented by each of the elements M 0 , . . . , M n+m−1 , and

each sorted value [s′ q ] is an element [s r ] associated with an element [M r ] stably sorted into each sorted element [M′ q ] by secure computation, and r=0, . . . , n+m−1.

3. A secure computation system having the secure computation device according to claim 1 .

4. A secure computation method of a secure computation device that obtains a concealed operation result representing concealed information of an Intersect operation result between a first multiset X={{x 0 , . . . , x n−1 }} and a second multiset Y={{y 0 , . . . , y m−1 }} while concealing the first multiset X and the second multiset Y, the method comprising:

(A) an input flag adding step of receiving n first elements [x 0 ], . . . , [x n−1 ] and m second elements [y 0 ], . . . , [y m−1 ] as inputs, and obtaining an input flagged sequence ([s], [M]) including a sequence [s]=([s 0 ], . . . , [s n−1 ], [s n ], . . . , [s n+m−1 ])=([B 0 ], . . . , [B 0 ], [B 1 ], . . . , [B 1 ]) including n first values [B 0 ] and m second values [B 1 ] and a sequence [M]=([M 0 ], . . . , [M n−1 ], [M n ], . . . , [M n+m−1 ])=([x 0 ], . . . , [x n−1 ], [y 0 ], . . . , [y m−1 ]) including first elements [x 0 ], . . . , [x n−1 ] and second elements [y 0 ], . . . , [y m−1 ] in which B 0 and B 1 are different from each other, each first value [s i ]=[B 0 ] is associated with each first element [M i ]=[x i ], and each second value [s j+n ]=[B 1 ] is associated with each second element [M j+n ]=[y j ], where n and m are positive integers, i=0, . . . , n−1, j=0, . . . , m−1, q=0, . . . , n+m−1, and [α] is concealed information of α;

(B) a stable sorting step of performing stable sorting according to an order relation of content represented by each of elements M 0 , . . . , M n+m−1 corresponding to the sequence [M] for the input flagged sequence ([s], [M]) while maintaining a correspondence between [s q ] and [M q ] by secure computation, to obtain a sorted sequence ([s′], [M′]) including a sequence [s′]=([s′ 0 ], . . . , [s′ n+m−1 ]) of sorted values [s′ 0 ], . . . , [s′ n+m−1 ] and a sequence [M′]=([M′ 0 ], . . . , [M′ n+m−1 ]) of sorted elements [M′ 0 ], . . . , [M′ n+m−1 ];

(C) an equality check step of obtaining a first equality check result [eq q ] and a second equality check result [seq q ] by secure computation using the sorted sequence ([s′], [M′]), where eq q =T when M′ q =M′ q+1 holds, eq q =F when M′ q =M′ q+1 does not hold, eq n+m−1 =F, seq q =T when s′ q =S′ q+1 holds, seq q =F when s′ q =S′ q+1 does not hold, seq n+m−1 =F, and T and F are different from each other;

(D) an output flag generation step of obtaining an output flag [f q ] by secure computation using the first equality check result [eq q ] and the second equality check result [seq q ], where f q =D 1 when “eq q =T and seq q =F” holds, f q =D 0 when “eq q =T and seq q =F” does not hold, and Di and Do are different from each other; and

(E) an output flag adding step of outputting the concealed operation result including the output flag [f q ] and the sorted element [M′ q ] of the sequence [M′] associated with each other.

5. A non-transitory computer-readable recording medium storing a program for causing a computer to function as the secure computation device according to claim 1 .

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 Nov 29, 2023
From: SUDO, HIROKI; IKARASHI, DAI
To: NIPPON TELEGRAPH AND TELEPHONE CORPORATION
Reel/Frame 065692/0994 →
Continuity (1)
Related Publication 20240273180A1 · Aug 15, 2024
References Cited (11)
US 11949778B1 · Chopra · 2024 [cited by examiner]
US 12250297B1 · Falk · 2025 [cited by examiner]
US 20190036679A1 · Hirano · 2019 [cited by examiner]
US 20210011953A1 · Ikarashi · 2021 [cited by examiner]
US 20220051467A1 · Woop · 2022 [cited by examiner]
US 20220078023A1 · Nicolas · 2022 [cited by examiner]
US 20220100889A1 · Tan · 2022 [cited by examiner]
US 20220222366A1 · Nagaraja · 2022 [cited by examiner]
US 20230102374A1 · Zhu · 2023 [cited by examiner]
US 20230359631A1 · Badrinarayanan · 2023 [cited by examiner]
Hamada et al., “Improved Algorithms for Computing Relational Algebra Operators for Secure Function Evaluation”, The Institute of Electronics, Information and Communication Engineers, Technical Report of IEICE, LOIS2012-… [cited by applicant]