[go: up one dir, main page]

WO2019009180A1 - 秘密計算システム、秘密計算装置、秘密計算方法、プログラム、および記録媒体 - Google Patents

秘密計算システム、秘密計算装置、秘密計算方法、プログラム、および記録媒体 Download PDF

Info

Publication number
WO2019009180A1
WO2019009180A1 PCT/JP2018/024588 JP2018024588W WO2019009180A1 WO 2019009180 A1 WO2019009180 A1 WO 2019009180A1 JP 2018024588 W JP2018024588 W JP 2018024588W WO 2019009180 A1 WO2019009180 A1 WO 2019009180A1
Authority
WO
WIPO (PCT)
Prior art keywords
secret
computing device
unit
sharing
secure computing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2018/024588
Other languages
English (en)
French (fr)
Inventor
大 五十嵐
千田 浩司
亮 菊池
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Inc
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2019527663A priority Critical patent/JP6713585B2/ja
Priority to AU2018295722A priority patent/AU2018295722B2/en
Priority to CN201880042591.5A priority patent/CN110800034B/zh
Priority to EP18828174.5A priority patent/EP3651141B1/en
Priority to US16/624,101 priority patent/US11456862B2/en
Publication of WO2019009180A1 publication Critical patent/WO2019009180A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem

Definitions

  • the present invention relates to the field of cryptography, in particular to the field of secret computing.
  • Patent Document 1 has a problem that the number of times of addition and subtraction and the number of memory accesses are large.
  • An object of the present invention is to provide a technique for performing secret multiplication or secret product sum with the number of times of addition / subtraction multiplication and the number of memory accesses less than ever before.
  • the secret multiplication of the present invention is performed as follows.
  • the storage unit of the secret computing device P i and the storage unit of the secret computing device P + store the sub-shares a + ⁇ ⁇ a 0 , a 1 , a 2 ⁇ and b + ⁇ ⁇ b 0 , b 1 , b 2 ⁇ and, the storage unit and the secure computing apparatus P secure computing apparatus P i - and a storage unit of Sabushea a - stores - ⁇ A - and b - ⁇ B.
  • i ⁇ ⁇ 0, 1, 2 ⁇ , P + is P (i + 1) mod 3
  • P - is P (i-1) mod 3
  • a, b are arbitrary values
  • a ⁇ is ⁇ a 0
  • B ⁇ is a complement of b + in ⁇ b 0 , b 1 , b 2 ⁇ .
  • a shared portion and a secure computing apparatus P + shared portion of the secure computing apparatus P i share any value r +, sharing unit and the secure computing apparatus P secure computing apparatus P i - sharing unit and any value r of the -
  • the output of each secure computing apparatus P i outputs c + against secure computing apparatus P +, c + is input to the input portion of the secure computing apparatus P +.
  • the secret product sum of the present invention is performed as follows.
  • the storage unit of the secret computing device P i and the storage unit of the secret computing device P + have sub-shares a + (n) ⁇ ⁇ a 0 (n), a 1 (n), a 2 (n) ⁇ and b + (n ) ⁇ ⁇ b 0 (n) , b 1 (n), b 2 (n) ⁇ stores a storage unit and the secure computing apparatus secure computing apparatus P i P - the storage unit Sabushea a - ( n) ⁇ A - (n) and b - (n) ⁇ B - stores (n).
  • a shared portion and a secure computing apparatus P + shared portion of the secure computing apparatus P i share any value r +, sharing unit and the secure computing apparatus P secure computing apparatus P i - sharing unit and any value r of the - Share and the computing unit of the secret computing device P i Calculate Each secure computing apparatus P i outputs c + against secure computing apparatus P +, c + is input to the input portion of the secure computing apparatus P +.
  • the secret multiplication or the secret product sum can be performed with the number of times of addition and subtraction multiplication and the number of memory accesses which are smaller than those in the prior art.
  • FIG. 1 is a block diagram illustrating a secret calculation system of the embodiment.
  • FIG. 2 is a block diagram illustrating the secret computing device of the embodiment.
  • FIG. 3 is a conceptual diagram for explaining the secret multiplication of the embodiment.
  • FIG. 4 is a flowchart for explaining the secret calculation method of the embodiment.
  • FIG. 5 is a conceptual diagram for explaining the secret product sum of the embodiment.
  • FIG. 6 is a flowchart for explaining the secret calculation method of the embodiment.
  • multiplication ab ⁇ F of arbitrary values a, b ⁇ F is performed by secret calculation (secret multiplication).
  • F represents a finite field.
  • the secret sharing value of the multiplication result ab is obtained from the secret sharing value (share) of the arbitrary value a and the secret sharing value of the arbitrary value b. Details will be described below.
  • the secret computing system 1 of this embodiment includes three secret computing devices 11 -P 0 , 11 -P 1 and 11 -P 2 (secret computing devices P 0 , P 1 and P 2 ). Have.
  • the secret computing devices 11-P 0 , 11-P 1 and 11-P 2 are configured to be able to communicate via a communication network such as the Internet.
  • the secret computing device 11 -P (where P ⁇ ⁇ P 0 , P 1 , P 2 ⁇ ) of this embodiment is a storage unit 111 -P (storage and memory), an operation unit 112- P, a control unit 113-P, a sharing unit 114-P, and a communication unit 115-P.
  • the secret computer 11-P executes each process under the control of the control unit 113-P, and the data obtained by each process are stored one by one in the storage unit 111-P and read out as necessary.
  • the storage unit 111-P i of the secret computing device 11-P i stores the sub-shares a + ⁇ ⁇ a 0 , a 1 , a 2 ⁇ and b + ⁇ ⁇ b 0 , b 1 , b 2 ⁇ , and the secret
  • the storage unit 111-P + of the computing device 11-P + also stores sub-shares a + and b + .
  • the sub-share a + is any one element of ⁇ a 0 , a 1 , a 2 ⁇
  • the sub-share b + is any one element of ⁇ b 0 , b 1 , b 2 ⁇ .
  • Secure computing apparatus 11-P the storage unit 111-P i of i is Sabushea a - ⁇ A - and b - ⁇ B - stores a secret computing unit 11-P - the storage unit 111-P - also Sabushea a - and b - stores.
  • Sabushea a - the A - is any one element of
  • Sabushea b - the B - is any one element of.
  • i ⁇ ⁇ 0, 1, 2 ⁇ , P + is P (i + 1) mod 3 and P ⁇ is P (i-1) mod 3 .
  • (a 0 , a 1 ) (a 1 , a 2 ) (a 2 , a 0 ) is the secret sharing value of a
  • (b 0 , b 1 ) (b 1 , b 2 ) (b 2 , b 0 ) is the secret sharing value of b.
  • each secret calculation device 11-P i (where i ⁇ ⁇ 0, 1, 2 ⁇ ) performs the following secret calculation (FIGS. 3 and 4).
  • Sharing unit 114-P + and sharing unit 114-P i and secure computing apparatus 11-P + of the secure computing apparatus 11-P i share any value r + ⁇ F. That is, the sharing unit 114-P i and the sharing unit 114-P + obtain the same arbitrary value r + .
  • the shared arbitrary value r + is stored in the storage unit 111 -P i and the storage unit 111 -P + .
  • Examples of the arbitrary value r + include a pseudo random number, a true random number, a value selected from a plurality of predetermined values, an input value, a value obtained by another process, and the like. Sharing of the arbitrary value r + can be realized by a known method.
  • the sharing unit 114 -P i and the sharing unit 114 -P + may be shared among Conversely, by sending the information for specifying the + arbitrary value r + or any value r in the shared portion 114-P i from the shared portion 114-P +, sharing unit 114-P i and share part 114-P + And the arbitrary value r + may be shared.
  • a seed value is shared in advance between the sharing unit 114-P i and the sharing unit 114-P +, and the sharing unit 114-P i and the sharing unit 114-P + are predetermined using this seed value.
  • the arbitrary value r + may be shared between the sharing unit 114 -P i and the sharing unit 114 -P + .
  • An arbitrary value r + may be shared between the sharing unit 114-P i and the sharing unit 114-P + using a known key exchange algorithm (step S11).
  • the sharing unit 114 -P i and the sharing unit 114 -P + it may be shared - any value r between.
  • an arbitrary value r ⁇ may be shared.
  • the arbitrary value r ⁇ may be shared between the sharing unit 114 -P i and the sharing unit 114 -P ⁇ .
  • Any value r with the - - sharing unit 114-P and share part 114-P i using known key exchange algorithms may be shared (step S12).
  • the sharing unit 114-P 0 and the sharing unit 114-P 1 share the arbitrary value r 01 ⁇ F by the processes of steps S11 and S12, and the sharing unit 114-P 1 and the sharing unit 114- P 2 and share any value r 12 ⁇ F, a sharing unit 114-P 2 and sharing unit 114-P 0 share any value r 20 ⁇ F.
  • c + (a + + a -) (b + + b -) -a - b - + r + -r - ⁇ F the calculated outputs.
  • the communication unit 115-P i of each secret calculation device 11-P i transmits c + to the secret calculation device 11-P + (outputs c + ) (step S14).
  • the c + is received (input) by the communication unit 115-P + of the secret computing device 11-P + .
  • Secure computing apparatus 11-P - values transmitted from c - - is calculated communication unit 115-P in - the arithmetic unit 112-P when the denoted, the communication unit 115-P for each secure computing apparatus 11-P i i is c - to receive (step S15).
  • the communication unit 115-P 0 of the secure computing apparatus 11-P 0 transmits a c 1 against secure computing apparatus 11-P 1
  • c 1 is the communication of the secure computing apparatus 11-P 1 115-P 1 is received.
  • the communication unit 115-P 1 of the secure computing apparatus 11-P 1 transmits the c 2 against secure computing apparatus 11-P 2
  • c 2 is received by the communication unit 115-P 2 of the secure computing apparatus 11-P 2 Be done.
  • the communication unit 115-P 2 of the secure computing apparatus 11-P 2 transmits the c 0 with respect to secure computing apparatus 11-P 0, c 0 is received by the communication unit 115-P 0 of the secure computing apparatus 11-P 0 (Steps S14 and S15).
  • step S15 C received in step S15 -, and, c + obtained in step S13 is stored in the storage unit 111-P i of each secure computing apparatus 11-P i.
  • (c 0 , c 1 ) is stored in the storage unit 111-P 0 of the secret calculation device 11-P 0
  • (c 1 , c 2 ) is the storage unit of the secret calculation device 11-P 1
  • (c 2 , c 0 ) is stored in the storage unit 111-P 2 of the secret calculation device 11-P 2 .
  • Each secure computing apparatus 11-P i stored in the storage unit 111-P i of (c -, c +) is may be further input of another secure computing apparatus (not shown), the multiplication result ab
  • the multiplication result ab may be restored and output as an input of a restoration device (not shown) that performs the restoration of.
  • the secret multiplication can be performed with the number of times of addition / subtraction multiplication and the number of times of memory access less than those of the conventional method described in Patent Document 1. That is, in the conventional method described in Patent Document 1, each secret calculation device stores the value obtained by performing the addition and subtraction multiplication by itself using the secret sharing value stored in the memory, and the like. It is necessary to receive the values obtained by performing the addition and subtraction multiplication by the secret computing device, to store them in the memory, and to perform the addition and subtraction multiplication using these values stored in the memory. Therefore, in the method of Patent Document 1, the number of times of addition and subtraction and the number of memory accesses are large.
  • the value obtained by performing the addition and subtraction multiplication using the secret sharing value stored in the memory and the value obtained by performing the addition and subtraction multiplication with another secret calculation device are operated as they are. Since the result is a sub-share, the number of times of addition and subtraction and the number of memory accesses are smaller than in the method of Patent Document 1.
  • the access time to the memory is a bottleneck in improving the overall computation speed, but with the method of this embodiment, the number of memory accesses can be reduced, so the computation speed is greatly improved. it can.
  • c XY a - b + + a + b - a when calculating -r ZX -, b +, a +, b - reads, writes the resultant c XY.
  • c - a - b - a when calculating the + c ZX + r ZX -, b -, reads c ZX, c - writes. This requires one multiplication and three additions / subtractions.
  • the number of reads is 40%
  • the number of writes is 33%
  • the number of multiplications is 50%
  • the number of additions / subtractions is 63%.
  • the sum of products a (0) b (0) +... + A (a) for arbitrary values a (0),..., A (N-1) and b (0),. N-1) b (N-1) ⁇ F is performed by secret calculation (secret product sum).
  • F represents a finite field
  • N is a positive integer (for example, an integer of 2 or more).
  • the product-sum result a (0) b (0) from the secret sharing value of the arbitrary value a (n) for n 0,..., N ⁇ 1 and the secret sharing value of the arbitrary value b (n).
  • +... + A (N-1) b (N-1) is obtained. Details will be described below.
  • the secret computing system 2 of this embodiment includes three secret computing devices 21 -P 0 , 21 -P 1 and 21 -P 2 (secret computing devices P 0 , P 1 and P 2 ). Have.
  • the secret computing devices 21-P 0 , 21-P 1 and 21-P 2 are configured to be able to communicate via a communication network such as the Internet.
  • the secret computing device 21 -P (where P ⁇ ⁇ P 0 , P 1 , P 2 ⁇ ) of this embodiment is a storage unit 211 -P (storage and memory), an operation unit 212- P, a control unit 213-P, a sharing unit 114-P, and a communication unit 115-P.
  • the secret computing device 21-P executes each process under the control of the control unit 213-P, and the data obtained by each process are stored one by one in the storage unit 211-P and read out as necessary.
  • the subshare a 0 (n), a 1 (n), a 2 (n) ⁇ F satisfying 1 (n) + a 2 (n) ⁇ F is secret-distributed, and the arbitrary value b (n) is b (n)
  • Secret sharing is performed on subshares b 0 (n), b 1 (n), b 2 (n) ⁇ F that satisfy the following equation: b 0 (n) + b 1 (n) + b 2 (n) ⁇ F.
  • n 0, ..., are stored Sabushea a + a (n) and b + (n) for n-1.
  • Each sub-share a + (n) is one element of ⁇ a 0 (n), a 1 (n), a 2 (n) ⁇ , and each sub-share b + (n) is ⁇ b 0 (n) , B 1 (n), b 2 (n) ⁇ is one element.
  • Each sub-share a ⁇ (n) is any one element of A ⁇ (n)
  • each sub-share b ⁇ (n) is any one element of B ⁇ (n).
  • the subshares (a 2 (n), a 0 (n)) and (b 2 (n), b 0 (n)) for N ⁇ 1 are stored.
  • (a 0 (n), a 1 (n)) (a 1 (n), a 2 (n)) (a 2 (n), a 0 (n)) is the secret sharing value of a (n) (B 0 (n), b 1 (n)) (b 1 (n), b 2 (n)) (b 2 (n), b 0 (n)) is the secret sharing of b (n) It is a value.
  • each secret calculation device 21-P i (where i ⁇ ⁇ 0, 1, 2 ⁇ ) performs the following secret calculation (FIGS. 5 and 6).
  • Sharing unit 114-P + and sharing unit 114-P i and secure computing apparatus 21-P + of the secure computing apparatus 21-P i share any value r + ⁇ F.
  • the shared arbitrary value r + is stored in the storage unit 211-P i and the storage unit 211-P + .
  • the specific value r + and the specific example of the sharing process are as described in the first embodiment (step S21).
  • a specific example of the arbitrary value r ⁇ and the sharing process is as described in the first embodiment (step S22).
  • the sharing unit 114-P 0 and the sharing unit 114-P 1 share the arbitrary value r 01 ⁇ F by the processes of steps S21 and S22, and the sharing unit 114-P 1 and the sharing unit 114- P 2 and share any value r 12 ⁇ F, a sharing unit 114-P 2 and sharing unit 114-P 0 share any value r 20 ⁇ F.
  • the calculation unit 212-P 0 of the secure computing apparatus 21-P 0 Calculation and output
  • the calculation unit 212-P 1 of the secret calculation device 21-P 1 Is calculated and output
  • the operation unit 212-P 2 of the secret calculation device 21-P 2 Are calculated and output (step S23).
  • the communication unit 115-P i of each secret calculation device 21-P i transmits c + to the secret calculation device 21-P + (outputs c + ) (step S24).
  • the c + is received (inputted) by the communication unit 115-P + of the secret computing device 21-P + .
  • Secure computing apparatus 21-P - values transmitted from c - - is calculated communication unit 115-P in - the arithmetic unit 212-P when the denoted, the communication unit 115-P for each secure computing apparatus 21-P i i is c - to receive (step S25).
  • the communication unit 115-P 0 of the secure computing apparatus 21-P 0 transmits a c 1 against secure computing apparatus 21-P 1
  • c 1 is the communication of the secure computing apparatus 21-P 1 115-P 1 is received.
  • the communication unit 115-P 1 of the secure computing apparatus 21-P 1 transmits the c 2 against secure computing apparatus 21-P 2
  • c 2 is received by the communication unit 115-P 2 of the secure computing apparatus 21-P 2 Be done.
  • the communication unit 115-P 2 of the secure computing apparatus 21-P 2 transmits the c 0 with respect to secure computing apparatus 21-P 0, c 0 is received by the communication unit 115-P 0 of the secure computing apparatus 21-P 0 (Steps S24 and S25).
  • C 0 , c 1 ) (c 1 , c 2 ) (c 2 , c 0 ) is the product-sum result a (0) b (0) +... + A (N-1) b (N-1) It is a value.
  • each secure computing apparatus 21-P i (c -, c +) it is may be further input of another secure computing apparatus (not shown)
  • the product-sum result + a (N-1) b (N-1) is input to a restoration apparatus (not shown) for restoring a (0) b (0) +. .. + A (N ⁇ 1) b (N ⁇ 1) may be restored and output.
  • the present invention is not limited to the above-described embodiment.
  • the various processes described above may be performed not only in chronological order according to the description, but also in parallel or individually depending on the processing capability of the apparatus that executes the process or the necessity.
  • Each of the above-described devices is, for example, a general-purpose or dedicated computer including a processor (hardware processor) such as a CPU (central processing unit) and a memory such as a RAM (random-access memory) and a ROM (read-only memory). Is configured by executing a predetermined program.
  • the computer may have one processor or memory, or may have a plurality of processors or memory.
  • This program may be installed in a computer or may be stored in advance in a ROM or the like.
  • an electronic circuit circuitry
  • a part or all of the processing units are configured using an electronic circuit that realizes a processing function without using a program. May be
  • the electronic circuit that constitutes one device may include a plurality of CPUs.
  • the processing content of the function that each device should have is described by a program.
  • the above processing functions are realized on a computer by executing this program on a computer.
  • the program describing the processing content can be recorded in a computer readable recording medium.
  • An example of a computer readable recording medium is a non-transitory recording medium. Examples of such recording media are magnetic recording devices, optical disks, magneto-optical recording media, semiconductor memories and the like.
  • This program is distributed, for example, by selling, transferring, lending, etc. a portable recording medium such as a DVD, a CD-ROM or the like recording the program. Furthermore, this program may be stored in a storage device of a server computer, and the program may be distributed by transferring the program from the server computer to another computer via a network.
  • a computer that executes such a program first temporarily stores a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. At the time of execution of processing, this computer reads a program stored in its own storage device and executes processing in accordance with the read program. As another execution form of this program, the computer may read the program directly from the portable recording medium and execute processing in accordance with the program, and further, each time the program is transferred from the server computer to this computer Alternatively, processing may be performed sequentially according to the received program.
  • the configuration described above is also executed by a so-called ASP (Application Service Provider) type service that realizes processing functions only by executing instructions and acquiring results from the server computer without transferring the program to this computer. Good.
  • ASP Application Service Provider
  • At least a part of these processing functions may be realized by hardware.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Storage Device Security (AREA)

Abstract

PiとP+がa+∈{a0,a1,a2}およびb+∈{b0,b1,b2}を格納しており、PiとP-がa-∈A-およびb-∈B-を格納している。ただし、P+=P(i+1)mod3、P-=P(i-1)mod3、a,bが任意値であり、a=a0+a1+a2およびb=b0+b1+b2を満たし、A-は{a0,a1,a2}におけるa+の補集合、B-は{b0,b1,b2}におけるb+の補集合である。PiとP+がr+を共有し、PiとP-がr-を共有し、Piがc+=(a++a-)(b++b-)-a-b-+r+-r-を計算する。PiはP+にc+を送る。

Description

秘密計算システム、秘密計算装置、秘密計算方法、プログラム、および記録媒体
 本発明は、暗号技術分野に関し、特に秘密計算技術分野に関する。
 複数の秘密計算装置間で値の受け渡しを行い、各秘密計算装置が他の秘密計算装置から受け取った値を用いて秘密乗算や秘密積和などの秘密計算を行う方式がある(例えば、特許文献1等参照)。
特許6006842号公報
 しかし、特許文献1に記載された方式は加減乗算数回数およびメモリアクセス回数が多いという課題がある。
 本発明の目的は、従来よりも少ない加減乗算数回数およびメモリアクセス回数で秘密乗算または秘密積和を行う技術を提供することである。
 本発明の秘密乗算は次のように行われる。秘密計算装置Pの記憶部と秘密計算装置Pの記憶部とがサブシェアa∈{a,a,a}およびb∈{b,b,b}を格納しており、秘密計算装置Pの記憶部と秘密計算装置Pの記憶部とがサブシェアa∈Aおよびb∈Bを格納している。ただし、i∈{0,1,2}であり、PがP(i+1)mod3であり、PがP(i-1)mod3であり、a,bが任意値であり、a,a,aがa=a+a+aを満たすサブシェアであり、b,b,bがb=b+b+bを満たすサブシェアであり、Aは{a,a,a}におけるaの補集合であり、Bは{b,b,b}におけるbの補集合である。秘密計算装置Pの共有部と秘密計算装置Pの共有部とが任意値rを共有し、秘密計算装置Pの共有部と秘密計算装置Pの共有部とが任意値rを共有し、秘密計算装置Pの演算部がc=(a+a)(b+b)-a+r-rを計算する。各秘密計算装置Pの出力部は秘密計算装置Pに対してcを出力し、秘密計算装置Pの入力部にcが入力される。
 本発明の秘密積和は次のように行われる。秘密計算装置Pの記憶部と秘密計算装置Pの記憶部とがサブシェアa(n)∈{a(n),a(n),a(n)}およびb(n)∈{b(n),b(n),b(n)}を格納しており、秘密計算装置Pの記憶部と秘密計算装置Pの記憶部とがサブシェアa(n)∈A(n)およびb(n)∈B(n)を格納している。ただし、i∈{0,1,2}であり、PがP(i+1)mod3であり、PがP(i-1)mod3であり、a(n),b(n)が任意値であり、a(n),a(n),a(n)がa(n)=a(n)+a(n)+a(n)を満たすサブシェアであり、b(n),b(n),b(n)がb(n)=b(n)+b(n)+b(n)を満たすサブシェアであり、Nが正整数であり、n=0,…,N-1であり、A(n)は{a(n),a(n),a(n)}におけるa(n)の補集合であり、B(n)は{b(n),b(n),b(n)}におけるb(n)の補集合である。秘密計算装置Pの共有部と秘密計算装置Pの共有部とが任意値rを共有し、秘密計算装置Pの共有部と秘密計算装置Pの共有部とが任意値rを共有し、秘密計算装置Pの演算部が
Figure JPOXMLDOC01-appb-M000004
を計算する。各秘密計算装置Pは秘密計算装置Pに対してcを出力し、秘密計算装置Pの入力部にcが入力される。
 これにより、従来よりも少ない加減乗算数回数およびメモリアクセス回数で秘密乗算または秘密積和を行うことができる。
図1は実施形態の秘密計算システムを例示したブロック図である。 図2は実施形態の秘密計算装置を例示したブロック図である。 図3は実施形態の秘密乗算を説明するための概念図である。 図4は実施形態の秘密計算方法を説明するためのフロー図である。 図5は実施形態の秘密積和を説明するための概念図である。 図6は実施形態の秘密計算方法を説明するためのフロー図である。
 以下、図面を用いて本発明の実施形態を説明する。
 [第1実施形態]
 第1実施形態では、任意値a,b∈Fの乗算ab∈Fを秘密計算で行う(秘密乗算)。ただし、Fは有限体を表す。この秘密乗算では、任意値aの秘密分散値(シェア)と任意値bの秘密分散値とから乗算結果abの秘密分散値を得る。以下に詳細に説明する。
 <構成>
 図1に例示するように、本形態の秘密計算システム1は、3個の秘密計算装置11-P,11-P,11-P(秘密計算装置P,P,P)を有する。秘密計算装置11-P,11-P,11-Pは、インターネットなどの通信網を通じた通信が可能なように構成されている。図2に例示するように、本形態の秘密計算装置11-P(ただし、P∈{P,P,P})は、記憶部111-P(ストレージおよびメモリ)、演算部112-P、制御部113-P、共有部114-P、および通信部115-Pを有する。秘密計算装置11-Pは、制御部113-Pの制御のもとで各処理を実行し、各処理で得られたデータは、逐一、記憶部111-Pに格納され、必要に応じて読み出される。
 <事前処理>
 事前処理により、任意値aがa=a+a+a∈Fを満たすサブシェアa,a,a∈Fに秘密分散されており、任意値bがb=b+b+b∈Fを満たすサブシェアb,b,b∈Fに秘密分散されている。秘密計算装置11-Pの記憶部111-Pはサブシェアa∈{a,a,a}およびb∈{b,b,b}を格納しており、秘密計算装置11-Pの記憶部111-Pもサブシェアaおよびbを格納している。サブシェアaは{a,a,a}の何れか1つの要素であり、サブシェアbは{b,b,b}の何れか1つの要素である。秘密計算装置11-Pの記憶部111-Pはサブシェアa∈Aおよびb∈Bを格納しており、秘密計算装置11-Pの記憶部111-Pもサブシェアaおよびbを格納している。サブシェアaはAの何れか1つの要素であり、サブシェアbはBの何れか1つの要素である。ただし、Aは{a,a,a}におけるaの補集合であり(A={a,a,a}-{a})、Bは{b,b,b}におけるbの補集合である(B={b,b,b}-{b})。また、i∈{0,1,2}であり、PはP(i+1)mod3であり、PはP(i-1)mod3である。図3の例では、秘密計算装置11-Pの記憶部111-Pにサブシェア(a,a)および(b,b)が格納されており、秘密計算装置11-Pの記憶部111-Pにサブシェア(a,a)および(b,b)が格納されており、秘密計算装置11-Pの記憶部111-Pにサブシェア(a,a)および(b,b)が格納されている。なお、(a,a)(a,a)(a,a)はaの秘密分散値であり、(b,b)(b,b)(b,b)はbの秘密分散値である。
 <秘密計算>
 この事前処理が行われたことを前提に、各秘密計算装置11-P(ただし、i∈{0,1,2})は以下の秘密計算を行う(図3および図4)。
 各秘密計算装置11-Pの共有部114-Pと秘密計算装置11-Pの共有部114-Pとが任意値r∈Fを共有する。すなわち、共有部114-Pおよび共有部114-Pは互いに同一の任意値rを得る。共有された任意値rは記憶部111-Pおよび記憶部111-Pに格納される。任意値rの例は、擬似乱数、真正乱数、予め定められた複数の値から選択された値、入力値、別処理で得られた値などである。任意値rの共有は公知の方法によって実現できる。例えば、共有部114-Pから共有部114-Pに任意値rまたは任意値rを特定するための情報を送ることで、共有部114-Pと共有部114-Pとの間で任意値rが共有されてもよい。逆に、共有部114-Pから共有部114-Pに任意値rまたは任意値rを特定するための情報を送ることで、共有部114-Pと共有部114-Pとの間で任意値rが共有されてもよい。予め共有部114-Pと共有部114-Pとの間でシード値を共有しておき、共有部114-Pおよび共有部114-Pがこのシード値を用いて予め定められた処理を行うことで、共有部114-Pと共有部114-Pとの間で任意値rが共有されてもよい。公知の鍵交換アルゴリズムを用いて共有部114-Pと共有部114-Pとの間で任意値rが共有されてもよい(ステップS11)。
 各秘密計算装置11-Pの共有部114-Pと秘密計算装置11-Pの共有部114-Pとが任意値r∈Fを共有する。すなわち、共有部114-Pおよび共有部114-Pは互いに同一の任意値rを得る。共有された任意値rは記憶部111-Pおよび記憶部111-Pに格納される。任意値rの例は、擬似乱数、真正乱数、予め定められた複数の値から選択された値、入力値、別処理で得られた値などである。任意値rの共有は公知の方法によって実現できる。例えば、共有部114-Pから共有部114-Pに任意値rまたは任意値rを特定するための情報を送ることで、共有部114-Pと共有部114-Pとの間で任意値rが共有されてもよい。逆に、共有部114-Pから共有部114-Pに任意値rまたは任意値rを特定するための情報を送ることで、共有部114-Pと共有部114-Pとの間で任意値rが共有されてもよい。あるいは、予め共有部114-Pと共有部114-Pとの間でシード値を共有しておき、共有部114-Pおよび共有部114-Pがこのシード値を用いて予め定められた処理を行うことで、共有部114-Pと共有部114-Pとの間で任意値rが共有されてもよい。公知の鍵交換アルゴリズムを用いて共有部114-Pと共有部114-Pとの間で任意値rが共有されてもよい(ステップS12)。
 図3の例では、ステップS11およびS12の処理により、共有部114-Pと共有部114-Pとが任意値r01∈Fを共有し、共有部114-Pと共有部114-Pとが任意値r12∈Fを共有し、共有部114-Pと共有部114-Pとが任意値r20∈Fを共有する。
 各秘密計算装置11-Pの演算部112-Pが、記憶部111-Pから読み込んだa,a,b,b,r,rを用い、c=(a+a)(b+b)-a+r-r∈Fを計算して出力する。図3の例では、秘密計算装置11-Pの演算部112-Pがc=(a+a)(b+b)-a+r01-r20∈Fを計算して出力し、秘密計算装置11-Pの演算部112-Pがc=(a+a)(b+b)-a+r12-r01∈Fを計算して出力し、秘密計算装置11-Pの演算部112-Pがc=(a+a)(b+b)-a+r20-r12∈Fを計算して出力する(ステップS13)。
 各秘密計算装置11-Pの通信部115-Pは秘密計算装置11-Pに対してcを送信する(cを出力する)(ステップS14)。cは秘密計算装置11-Pの通信部115-Pで受信(入力)される。秘密計算装置11-Pの演算部112-Pで計算されて通信部115-Pから送信された値をcと表記すると、各秘密計算装置11-Pの通信部115-Pはcを受信する(ステップS15)。図3の例では、秘密計算装置11-Pの通信部115-Pが秘密計算装置11-Pに対してcを送信し、cが秘密計算装置11-Pの通信部115-Pで受信される。秘密計算装置11-Pの通信部115-Pが秘密計算装置11-Pに対してcを送信し、cが秘密計算装置11-Pの通信部115-Pで受信される。秘密計算装置11-Pの通信部115-Pが秘密計算装置11-Pに対してcを送信し、cが秘密計算装置11-Pの通信部115-Pで受信される(ステップS14,S15)。
 ステップS15で受信されたc、および、ステップS13で得られたcは、各秘密計算装置11-Pの記憶部111-Pに格納される。図3の例では、(c,c)が秘密計算装置11-Pの記憶部111-Pに格納され、(c,c)が秘密計算装置11-Pの記憶部111-Pに格納され、(c,c)が秘密計算装置11-Pの記憶部111-Pに格納される。
 本形態のc,c,cはab=c+c+c∈Fを満たす乗算結果abのサブシェアであり、(c,c)(c,c)(c,c)は乗算結果abの秘密分散値である。これらの秘密分散値(c,c)(c,c)(c,c)の何れか2個が得られれば乗算結果abを復元できる。すなわち、c+c+c=abを満たす。図3の例では、
+c+c
=(a+a)(b+b)-a+r01-r20+(a+a)(b+b)-a+r12-r01+(a+a)(b+b)-a+r20-r12
=a+a+a+a+a+a+a+a+a
=(a+a+a)(b+b+b
=ab
となる。
 各秘密計算装置11-Pの記憶部111-Pに格納された(c,c)はさらに別の秘密計算装置(図示せず)の入力とされてもよいし、乗算結果abの復元を行う復元装置(図示せず)の入力とされて乗算結果abが復元されて出力されてもよい。
 <本形態の特徴>
 以上のように本形態では、特許文献1に記載された従来方式よりも少ない加減乗算数回数およびメモリアクセス回数で秘密乗算を行うことができる。すなわち、特許文献1に記載された従来方式では、各秘密計算装置は、メモリに格納された秘密分散値等を用いて自ら加減乗算を行って得た値をメモリに保存しておき、他の秘密計算装置で加減乗算を行って得られた値を受信してメモリに保存し、メモリに保存されたこれらの値を用いてさらに加減乗算を行う必要があった。そのため、特許文献1の方式は、加減乗算数回数およびメモリアクセス回数が多かった。これに対し、本形態では、メモリに格納された秘密分散値等を用いて自ら加減乗算を行って得た値、および、他の秘密計算装置で加減乗算を行って得られた値がそのまま演算結果のサブシェアとなるため、特許文献1の方式よりも加減乗算数回数およびメモリアクセス回数が少ない。特に、演算速度の速い秘密計算ではメモリへのアクセス時間が全体の演算速度を向上する上でのボトルネックとなるが、本形態の方式ではメモリアクセス回数を削減できるため、演算速度を大幅に向上できる。例えば、従来技術の秘密乗算では、cXY=a+a-rZXを計算するときにa,b,a,bを読み込み、得られたcXYを書き込む。これには乗算を2回、加減算を2回行う必要がある。さらに、従来技術の秘密乗算では、c=a+cZX+rZXを計算するときにa,b,cZXを読み込み、cを書き込む。これには乗算を1回、加減算を3回行う必要がある。またさらに、従来技術の秘密乗算では、c=a+cXY+rXYを計算するときにa,b,cXYを読み込み、得られたcを書き込む。これには乗算を1回、加減算を3回行う必要がある。そのため、パーティあたりで合計、読込を10回、書込を3回、乗算を4回、加減算を8回行う必要があった。これに対し、本形態の場合、秘密計算装置10-Pはc=(a+a)(b+b)-a+r-rを計算するときにa,b,a,bを読み込み、得られたcを書き込む。そのため、パーティあたり、合計で読込4回、書込1回、乗算2回、加減算5回を行えばよい。従来技術と比較した場合、本形態では読込回数を40%、書込回数を33%、乗算回数を50%、加減算回数を63%にできる。
 [第2実施形態]
 第2実施形態では、任意値a(0),…,a(N-1)およびb(0),…,b(N-1)に対する積和a(0)b(0)+…+a(N-1)b(N-1)∈Fを秘密計算で行う(秘密積和)。ただし、Fは有限体を表し、Nは正整数(例えば、2以上の整数)である。この秘密積和では、n=0,…,N-1についての任意値a(n)の秘密分散値と任意値b(n)の秘密分散値とから積和結果a(0)b(0)+…+a(N-1)b(N-1)の秘密分散値を得る。以下に詳細に説明する。
 <構成>
 図1に例示するように、本形態の秘密計算システム2は、3個の秘密計算装置21-P,21-P,21-P(秘密計算装置P,P,P)を有する。秘密計算装置21-P,21-P,21-Pは、インターネットなどの通信網を通じた通信が可能なように構成されている。図2に例示するように、本形態の秘密計算装置21-P(ただし、P∈{P,P,P})は、記憶部211-P(ストレージおよびメモリ)、演算部212-P、制御部213-P、共有部114-P、および通信部115-Pを有する。秘密計算装置21-Pは、制御部213-Pの制御のもとで各処理を実行し、各処理で得られたデータは、逐一、記憶部211-Pに格納され、必要に応じて読み出される。
 <事前処理>
 事前処理により、n=0,…,N-1(ただし、Nは正整数、例えば、Nは2以上の整数)についての任意値a(n)がa(n)=a(n)+a(n)+a(n)∈Fを満たすサブシェアa(n),a(n),a(n)∈Fに秘密分散されており、任意値b(n)がb(n)=b(n)+b(n)+b(n)∈Fを満たすサブシェアb(n),b(n),b(n)∈Fに秘密分散されている。秘密計算装置21-Pの記憶部211-Pは、n=0,…,N-1についてのサブシェアa(n)∈{a(n),a(n),a(n)}およびb(n)∈{b(n),b(n),b(n)}を格納しており、秘密計算装置21-Pの記憶部211-Pも、n=0,…,N-1についてのサブシェアa(n)およびb(n)を格納している。各サブシェアa(n)は{a(n),a(n),a(n)}の何れか1つの要素であり、各サブシェアb(n)は{b(n),b(n),b(n)}の何れか1つの要素である。秘密計算装置21-Pの記憶部211-Pは、n=0,…,N-1についてのサブシェアa(n)∈A(n)およびb(n)∈B(n)を格納しており、秘密計算装置21-Pの記憶部211-Pも、n=0,…,N-1についてのサブシェアa(n)およびb(n)を格納している。各サブシェアa(n)はA(n)の何れか1つの要素であり、各サブシェアb(n)はB(n)の何れか1つの要素である。ただし、A(n)は{a(n),a(n),a(n)}におけるa(n)の補集合であり(A(n)={a(n),a(n),a(n)}-{a(n)})、B(n)は{b(n),b(n),b(n)}におけるb(n)の補集合である(B(n)={b(n),b(n),b(n)}-{b(n)})。また、i∈{0,1,2}であり、PはP(i+1)mod3であり、PはP(i-1)mod3である。図5の例では、秘密計算装置21-Pの記憶部211-Pに、n=0,…,N-1についてのサブシェア(a(n),a(n))および(b(n),b(n))が格納されており、秘密計算装置21-Pの記憶部211-Pに、n=0,…,N-1についてのサブシェア(a(n),a(n))および(b(n),b(n))が格納されており、秘密計算装置21-Pの記憶部211-Pに、n=0,…,N-1についてのサブシェア(a(n),a(n))および(b(n),b(n))が格納されている。なお、(a(n),a(n))(a(n),a(n))(a(n),a(n))はa(n)の秘密分散値であり、(b(n),b(n))(b(n),b(n))(b(n),b(n))はb(n)の秘密分散値である。
 <秘密計算>
 この事前処理が行われたことを前提に、各秘密計算装置21-P(ただし、i∈{0,1,2})は以下の秘密計算を行う(図5および図6)。
 各秘密計算装置21-Pの共有部114-Pと秘密計算装置21-Pの共有部114-Pとが任意値r∈Fを共有する。共有された任意値rは記憶部211-Pおよび記憶部211-Pに格納される。任意値rおよびその共有処理の具体例は第1実施形態で説明した通りである(ステップS21)。
 各秘密計算装置21-Pの共有部114-Pと秘密計算装置21-Pの共有部114-Pとが任意値r∈Fを共有する。共有された任意値rは記憶部211-Pおよび記憶部211-Pに格納される。任意値rおよびその共有処理の具体例は第1実施形態で説明した通りである(ステップS22)。
 図5の例では、ステップS21およびS22の処理により、共有部114-Pと共有部114-Pとが任意値r01∈Fを共有し、共有部114-Pと共有部114-Pとが任意値r12∈Fを共有し、共有部114-Pと共有部114-Pとが任意値r20∈Fを共有する。
 各秘密計算装置21-Pの演算部212-Pが、記憶部211-Pから読み込んだ、n=0,…,N-1についてのa(n),a(n),b(n),b(n),r,rを用い、
Figure JPOXMLDOC01-appb-M000005
を計算して出力する。図5の例では、秘密計算装置21-Pの演算部212-P
Figure JPOXMLDOC01-appb-M000006
を計算して出力し、秘密計算装置21-Pの演算部212-P
Figure JPOXMLDOC01-appb-M000007
を計算して出力し、秘密計算装置21-Pの演算部212-P
Figure JPOXMLDOC01-appb-M000008
を計算して出力する(ステップS23)。
 各秘密計算装置21-Pの通信部115-Pは秘密計算装置21-Pに対してcを送信する(cを出力する)(ステップS24)。cは秘密計算装置21-Pの通信部115-Pで受信(入力)される。秘密計算装置21-Pの演算部212-Pで計算されて通信部115-Pから送信された値をcと表記すると、各秘密計算装置21-Pの通信部115-Pはcを受信する(ステップS25)。図5の例では、秘密計算装置21-Pの通信部115-Pが秘密計算装置21-Pに対してcを送信し、cが秘密計算装置21-Pの通信部115-Pで受信される。秘密計算装置21-Pの通信部115-Pが秘密計算装置21-Pに対してcを送信し、cが秘密計算装置21-Pの通信部115-Pで受信される。秘密計算装置21-Pの通信部115-Pが秘密計算装置21-Pに対してcを送信し、cが秘密計算装置21-Pの通信部115-Pで受信される(ステップS24,S25)。
 ステップS25で受信されたc、および、ステップS23で得られたcは、各秘密計算装置21-Pの記憶部211-Pに格納される。図5の例では、(c,c)が秘密計算装置21-Pの記憶部211-Pに格納され、(c,c)が秘密計算装置21-Pの記憶部211-Pに格納され、(c,c)が秘密計算装置21-Pの記憶部211-Pに格納される。
 本形態のc,c,cはa(0)b(0)+…+a(N-1)b(N-1)=c+c+c∈Fを満たす積和結果a(0)b(0)+…+a(N-1)b(N-1)のサブシェアである。(c,c)(c,c)(c,c)は積和結果a(0)b(0)+…+a(N-1)b(N-1)の秘密分散値である。これらの秘密分散値(c,c)(c,c)(c,c)の何れか2個が得られれば積和結果a(0)b(0)+…+a(N-1)b(N-1)を復元できる。すなわち、c+c+c=a(0)b(0)+…+a(N-1)b(N-1)を満たす。
 各秘密計算装置21-Pの記憶部211-Pに格納された(c,c)はさらに別の秘密計算装置(図示せず)の入力とされてもよいし、積和結果a(0)b(0)+…+a(N-1)b(N-1)の復元を行う復元装置(図示せず)の入力とされて積和結果a(0)b(0)+…+a(N-1)b(N-1)が復元されて出力されてもよい。
 <本形態の特徴>
 以上のように本形態では、特許文献1に記載された従来方式よりも少ない加減乗算数回数およびメモリアクセス回数で秘密積和を行うことができる。
 なお、本発明は上述の実施の形態に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。また、第2実施形態の任意値rがn=0,…,N-1のそれぞれに対応するr(n)であってもよいし、任意値rがn=0,…,N-1のそれぞれに対応するr(n)であってもよい。例えば、図5の例において、任意値r01がn=0,…,N-1のそれぞれに対応するr01(n)∈Fであってもよいし、任意値r20がn=0,…,N-1のそれぞれに対応するr20(n)∈Fであってもよい。
 上記の各装置は、例えば、CPU(central processing unit)等のプロセッサ(ハードウェア・プロセッサ)およびRAM(random-access memory)・ROM(read-only memory)等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される。このコンピュータは1個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めROM等に記録されていてもよい。また、CPUのようにプログラムが読み込まれることで機能構成を実現する電子回路(circuitry)ではなく、プログラムを用いることなく処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。1個の装置を構成する電子回路が複数のCPUを含んでいてもよい。
 上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
 このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
 このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。
 コンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されるのではなく、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。
1,2 秘密計算システム
11-P 秘密計算装置

Claims (9)

  1.  秘密計算装置Pと秘密計算装置Pと秘密計算装置Pとを有し、
     i∈{0,1,2}であり、PがP(i+1)mod3であり、PがP(i-1)mod3であり、a,bが任意値であり、a,a,aがa=a+a+aを満たすサブシェアであり、b,b,bがb=b+b+bを満たすサブシェアであり、
     前記秘密計算装置Pの記憶部と前記秘密計算装置Pの記憶部とが前記サブシェアa∈{a,a,a}およびb∈{b,b,b}を格納しており、
     前記秘密計算装置Pの記憶部と前記秘密計算装置Pの記憶部とが前記サブシェアa∈Aおよびb∈Bを格納しており、Aは{a,a,a}におけるaの補集合であり、Bは{b,b,b}におけるbの補集合であり、
     前記秘密計算装置Pの共有部と前記秘密計算装置Pの共有部とが任意値rを共有し、
     前記秘密計算装置Pの共有部と前記秘密計算装置Pの共有部とが任意値rを共有し、
     前記秘密計算装置Pの演算部がc=(a+a)(b+b)-a+r-rを計算し、
     前記秘密計算装置Pの出力部が前記秘密計算装置Pに対してcを出力し、前記秘密計算装置Pの入力部にcが入力される、秘密計算システム。
  2.  秘密計算装置Pと秘密計算装置Pと秘密計算装置Pとを有し、
     i∈{0,1,2}であり、PがP(i+1)mod3であり、PがP(i-1)mod3であり、a(n),b(n)が任意値であり、a(n),a(n),a(n)がa(n)=a(n)+a(n)+a(n)を満たすサブシェアであり、b(n),b(n),b(n)がb(n)=b(n)+b(n)+b(n)を満たすサブシェアであり、Nが正整数であり、n=0,…,N-1であり、
     前記秘密計算装置Pの記憶部と前記秘密計算装置Pの記憶部とが前記サブシェアa(n)∈{a(n),a(n),a(n)}およびb(n)∈{b(n),b(n),b(n)}を格納しており、
     前記秘密計算装置Pの記憶部と前記秘密計算装置Pの記憶部とが前記サブシェアa(n)∈A(n)およびb(n)∈B(n)を格納しており、A(n)は{a(n),a(n),a(n)}におけるa(n)の補集合であり、B(n)は{b(n),b(n),b(n)}におけるb(n)の補集合であり、
     前記秘密計算装置Pの共有部と前記秘密計算装置Pの共有部とが任意値rを共有し、
     前記秘密計算装置Pの共有部と前記秘密計算装置Pの共有部とが任意値rを共有し、
     前記秘密計算装置Pの演算部が
    Figure JPOXMLDOC01-appb-M000001
    を計算し、
     前記秘密計算装置Pの出力部が前記秘密計算装置Pに対してcを出力し、前記秘密計算装置Pの入力部にcが入力される、秘密計算システム。
  3.  i∈{0,1,2}であり、PがP(i+1)mod3であり、PがP(i-1)mod3であり、a,bが任意値であり、a,a,aがa=a+a+aを満たすサブシェアであり、b,b,bがb=b+b+bを満たすサブシェアであり、
     秘密計算装置Pに格納された前記サブシェアa∈{a,a,a}およびb∈{b,b,b}、ならびに、秘密計算装置Pに格納された前記サブシェアa∈Aおよびb∈Bを格納する記憶部と(ただし、Aは{a,a,a}におけるaの補集合であり、Bは{b,b,b}におけるbの補集合である)、
     前記秘密計算装置Pとの間で任意値rを共有し、前記秘密計算装置Pとの間で任意値rを共有する共有部と、
     c=(a+a)(b+b)-a+r-rを計算する演算部と、
     cを前記秘密計算装置Pに対して出力する出力部と、
    を有する秘密計算装置。
  4.  i∈{0,1,2}であり、PがP(i+1)mod3であり、PがP(i-1)mod3であり、a(n),b(n)が任意値であり、a(n),a(n),a(n)がa(n)=a(n)+a(n)+a(n)を満たすサブシェアであり、b(n),b(n),b(n)がb(n)=b(n)+b(n)+b(n)を満たすサブシェアであり、
     秘密計算装置Pに格納された前記サブシェアa(n)∈{a(n),a(n),a(n)}およびb(n)∈{b(n),b(n),b(n)}、ならびに、秘密計算装置Pに格納された前記サブシェアa(n)∈A(n)およびb(n)∈B(n)を格納する記憶部と(ただし、A(n)は{a(n),a(n),a(n)}におけるa(n)の補集合であり、B(n)は{b(n),b(n),b(n)}におけるb(n)の補集合である)、
     前記秘密計算装置Pとの間で任意値rを共有し、前記秘密計算装置Pとの間で任意値rを共有する共有部と、
    Figure JPOXMLDOC01-appb-M000002
    を計算する演算部と、
     cを前記秘密計算装置Pに対して出力する出力部と、
    を有する秘密計算装置。
  5.  請求項4の秘密計算装置であって、前記任意値rがr(n)であり、前記任意値rがr(n)である、秘密計算装置。
  6.  i∈{0,1,2}であり、PがP(i+1)mod3であり、PがP(i-1)mod3であり、a,bが任意値であり、a,a,aがa=a+a+aを満たすサブシェアであり、b,b,bがb=b+b+bを満たすサブシェアであり、
     秘密計算装置Pに格納された前記サブシェアa∈{a,a,a}およびb∈{b,b,b}、ならびに、秘密計算装置Pに格納された前記サブシェアa∈Aおよびb∈Bが秘密計算装置Pの記憶部に格納されており、Aは{a,a,a}におけるaの補集合であり、Bは{b,b,b}におけるbの補集合であり、
     前記秘密計算装置Pの共有部が、前記秘密計算装置Pとの間で任意値rを共有し、前記秘密計算装置Pとの間で任意値rを共有するステップと、
     前記秘密計算装置Pの演算部が、c=(a+a)(b+b)-a+r-rを計算するステップと、
     前記秘密計算装置Pの出力部が前記秘密計算装置Pに対してcを出力するステップと、
    を有する秘密計算方法。
  7.  i∈{0,1,2}であり、PがP(i+1)mod3であり、PがP(i-1)mod3であり、a(n),b(n)が任意値であり、a(n),a(n),a(n)がa(n)=a(n)+a(n)+a(n)を満たすサブシェアであり、b(n),b(n),b(n)がb(n)=b(n)+b(n)+b(n)を満たすサブシェアであり、
     秘密計算装置Pに格納された前記サブシェアa(n)∈{a(n),a(n),a(n)}およびb(n)∈{b(n),b(n),b(n)}、ならびに、秘密計算装置Pに格納された前記サブシェアa(n)∈A(n)およびb(n)∈B(n)が秘密計算装置Pの記憶部に格納されており、A(n)は{a(n),a(n),a(n)}におけるa(n)の補集合であり、B(n)は{b(n),b(n),b(n)}におけるb(n)の補集合であり、
     前記秘密計算装置Pの共有部が、前記秘密計算装置Pとの間で任意値rを共有し、前記秘密計算装置Pとの間で任意値rを共有するステップと、
     前記秘密計算装置Pの演算部が、
    Figure JPOXMLDOC01-appb-M000003
    を計算するステップと、
     前記秘密計算装置Pの出力部が前記秘密計算装置Pに対してcを出力するステップと、
    を有する秘密計算方法。
  8.  請求項3または4の秘密計算装置としてコンピュータを機能させるためのプログラム。
  9.  請求項3または4の秘密計算装置としてコンピュータを機能させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
PCT/JP2018/024588 2017-07-05 2018-06-28 秘密計算システム、秘密計算装置、秘密計算方法、プログラム、および記録媒体 Ceased WO2019009180A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2019527663A JP6713585B2 (ja) 2017-07-05 2018-06-28 秘密計算システム、秘密計算装置、秘密計算方法、プログラム、および記録媒体
AU2018295722A AU2018295722B2 (en) 2017-07-05 2018-06-28 Secure computation system, secure computation apparatus, secure computation method, program, and recording medium
CN201880042591.5A CN110800034B (zh) 2017-07-05 2018-06-28 秘密计算系统、秘密计算装置、秘密计算方法、程序以及记录介质
EP18828174.5A EP3651141B1 (en) 2017-07-05 2018-06-28 Secure computing system, secure computing device, secure computing method, program, and recording medium
US16/624,101 US11456862B2 (en) 2017-07-05 2018-06-28 Secure computation system, secure computation apparatus, secure computation method, and recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017132034 2017-07-05
JP2017-132034 2017-07-05

Publications (1)

Publication Number Publication Date
WO2019009180A1 true WO2019009180A1 (ja) 2019-01-10

Family

ID=64950957

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/024588 Ceased WO2019009180A1 (ja) 2017-07-05 2018-06-28 秘密計算システム、秘密計算装置、秘密計算方法、プログラム、および記録媒体

Country Status (6)

Country Link
US (1) US11456862B2 (ja)
EP (1) EP3651141B1 (ja)
JP (1) JP6713585B2 (ja)
CN (1) CN110800034B (ja)
AU (1) AU2018295722B2 (ja)
WO (1) WO2019009180A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021024398A1 (ja) * 2019-08-07 2021-02-11

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110457936B (zh) * 2019-07-01 2020-08-14 阿里巴巴集团控股有限公司 数据交互方法、装置和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS606842B2 (ja) 1978-12-15 1985-02-21 極東開発工業株式会社 運搬車における収容々器の蓋体開閉装置
JP2012078446A (ja) * 2010-09-30 2012-04-19 Nippon Telegr & Teleph Corp <Ntt> 不正検知方法、秘密計算システム、計算装置、計算プログラム
JP6006842B1 (ja) * 2015-07-22 2016-10-12 日本電信電話株式会社 秘密計算装置、その方法、およびプログラム

Family Cites Families (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4292835B2 (ja) * 2003-03-13 2009-07-08 沖電気工業株式会社 秘密再構成方法、分散秘密再構成装置、及び秘密再構成システム
US8085938B2 (en) * 2004-02-10 2011-12-27 Ntt Communications Corporation Secret information management scheme based on secret sharing scheme
US7949867B2 (en) * 2006-07-19 2011-05-24 Rel-Id Technologies, Inc. Secure communications
US8756422B2 (en) * 2006-12-29 2014-06-17 Ceelox Patents, LLC System and method for secure and/or interactive dissemination of information
JP4917453B2 (ja) * 2007-02-22 2012-04-18 Kddi株式会社 閾値秘密分散装置、閾値秘密分散方法、秘密情報復元方法およびプログラム
JP4304215B2 (ja) * 2007-03-23 2009-07-29 株式会社東芝 秘密分散装置、方法及びプログラム
CN102017510B (zh) * 2007-10-23 2013-06-12 赵运磊 自封闭联合知识证明和Diffie-Hellman密钥交换方法与结构
US8520854B2 (en) * 2008-08-28 2013-08-27 Red Hat, Inc. Sharing a secret using polynomials over polynomials
US8638926B2 (en) * 2009-02-26 2014-01-28 Red Hat, Inc. Sharing a secret with modular inverses
WO2012011565A1 (ja) * 2010-07-23 2012-01-26 日本電信電話株式会社 秘密分散システム、分散装置、分散管理装置、取得装置、秘密分散方法、プログラム、及び記録媒体
CN103141056B (zh) * 2010-10-06 2015-08-26 日本电信电话株式会社 秘密分散系统、秘密分散装置、秘密分散方法、秘密分类方法、秘密分散程序
JP5450839B2 (ja) * 2011-01-24 2014-03-26 日本電信電話株式会社 秘匿積和計算方法、秘匿積和計算システム、計算装置、及びそれらのプログラム
US9064123B2 (en) * 2011-03-10 2015-06-23 Nippon Telegraph And Telephone Corporation Secure product-sum combination system, computing apparatus, secure product-sum combination method and program therefor
US9219604B2 (en) * 2011-05-09 2015-12-22 Cleversafe, Inc. Generating an encrypted message for storage
IL213662A0 (en) * 2011-06-20 2011-11-30 Eliphaz Hibshoosh Key generation using multiple sets of secret shares
US8719573B2 (en) * 2012-01-27 2014-05-06 Intuit Inc. Secure peer discovery and authentication using a shared secret
JP6008316B2 (ja) * 2012-08-24 2016-10-19 パナソニックIpマネジメント株式会社 秘密分散装置および秘密分散プログラム
US20140177825A1 (en) * 2012-12-20 2014-06-26 Protegrity Corporation Asymmetric Tokenization
JP5784662B2 (ja) * 2013-03-13 2015-09-24 株式会社東芝 暗号化データ演算システム、装置及びプログラム
US9449177B1 (en) * 2013-03-13 2016-09-20 Hrl Laboratories, Llc General protocol for proactively secure computation
US9202076B1 (en) * 2013-07-26 2015-12-01 Symantec Corporation Systems and methods for sharing data stored on secure third-party storage platforms
EP3057079A4 (en) * 2013-10-10 2017-06-07 Nippon Telegraph And Telephone Corporation Secret parallel processing device, secret parallel processing method, and program
EP3057078B1 (en) * 2013-10-10 2019-08-28 Nippon Telegraph And Telephone Corporation Secret quotient transfer device, secret quotient transfer method, and program therefor
US10074293B2 (en) * 2014-01-17 2018-09-11 Nippon Telegraph And Telephone Corporation Secret calculation method, secret calculation system, sorting device, and program
JP6009698B2 (ja) * 2014-01-17 2016-10-19 日本電信電話株式会社 秘密計算方法、秘密計算システム、ランダム置換装置及びプログラム
US10114851B2 (en) * 2014-01-24 2018-10-30 Sachet Ashok Shukla Systems and methods for verifiable, private, and secure omic analysis
EP3860041B1 (en) * 2014-06-18 2023-03-15 Visa International Service Association Efficient methods for authenticated communication
AU2015296901B2 (en) * 2014-08-01 2019-10-10 Commonwealth Scientific And Industrial Research Organisation Generating shares of secret data
US10091000B2 (en) * 2014-09-24 2018-10-02 Intel Corporation Techniques for distributing secret shares
JP6283119B2 (ja) * 2014-10-07 2018-02-21 日本電信電話株式会社 秘密計算システム、中継装置、それらの方法、プログラム、および記録媒体
CN107111965B (zh) * 2014-12-26 2020-11-10 日本电信电话株式会社 秘密篡改检测系统和方法、秘密计算装置、以及记录介质
WO2016113738A1 (en) * 2015-01-15 2016-07-21 B. G. Negev Technologies And Applications Ltd., At Ben-Gurion University Secret shared random access machine
JP5889454B1 (ja) * 2015-02-23 2016-03-22 日本電信電話株式会社 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム
JP5968484B1 (ja) * 2015-03-18 2016-08-10 日本電信電話株式会社 シェア復旧システム、シェア復旧方法、およびプログラム
JP5864004B1 (ja) * 2015-03-18 2016-02-17 日本電信電話株式会社 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム
WO2016148281A1 (ja) * 2015-03-19 2016-09-22 日本電気株式会社 秘匿文字列計算システム及び方法と装置並びにプログラム
US10749671B2 (en) * 2015-04-03 2020-08-18 Nec Corporation Secure computation system, server apparatus, secure computation method, and program
US10721063B2 (en) * 2015-05-07 2020-07-21 Nec Corporation Secure computation data utilization system, method, apparatus and non-transitory medium
US9813234B2 (en) * 2015-05-11 2017-11-07 The United States of America, as represented by the Secretery of the Air Force Transferable multiparty computation
JP5957120B1 (ja) * 2015-05-12 2016-07-27 日本電信電話株式会社 秘密分散方法、秘密分散システム、分散装置、およびプログラム
JP6034927B1 (ja) * 2015-07-27 2016-11-30 日本電信電話株式会社 秘密計算システム、秘密計算装置、およびプログラム
JP6023858B1 (ja) * 2015-08-17 2016-11-09 日本電信電話株式会社 計算システム、計算装置、その方法、およびプログラム
US9768953B2 (en) * 2015-09-30 2017-09-19 Pure Storage, Inc. Resharing of a split secret
WO2017065122A1 (ja) * 2015-10-13 2017-04-20 日本電信電話株式会社 秘密認証符号付加装置、秘密認証符号付加方法、およびプログラム
CN108140335B (zh) * 2015-10-13 2020-12-29 日本电信电话株式会社 秘密随机数合成装置、秘密随机数合成方法以及记录介质
US10382409B2 (en) * 2015-11-25 2019-08-13 Visa International Service Association Secure multi-party protocol
US11108748B2 (en) * 2015-12-16 2021-08-31 Visa International Service Association Systems and methods for secure multi-party communications using a proxy
JP6541048B2 (ja) * 2016-07-06 2019-07-10 日本電信電話株式会社 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
WO2018008545A1 (ja) * 2016-07-06 2018-01-11 日本電信電話株式会社 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
CN109416894B (zh) * 2016-07-06 2021-12-31 日本电信电话株式会社 秘密计算系统、秘密计算装置、秘密计算方法及记录介质
US20190109701A1 (en) * 2016-08-02 2019-04-11 X-Logos, LLC Methods and systems for enhanced data-centric homomorphic encryption sorting using geometric algebra
US20190044697A1 (en) * 2016-08-02 2019-02-07 X-Logos, LLC Methods and systems for enhanced data-centric homomorphic encryption searching using geometric algebra
WO2018034079A1 (ja) * 2016-08-18 2018-02-22 日本電気株式会社 秘密計算システム、秘密計算方法、秘密計算装置、分散情報生成装置およびそれらの方法とプログラム
CN106452745B (zh) * 2016-09-27 2019-07-02 中国农业大学 一种秘密数据共享的验证方法及装置
CN106453285B (zh) * 2016-09-27 2019-07-23 中国农业大学 一种秘密数据共享的验证方法及装置
WO2018061391A1 (ja) * 2016-09-30 2018-04-05 日本電気株式会社 秘密計算システム、秘密計算装置、秘密計算方法および秘密計算プログラム
EP3573041A4 (en) * 2017-01-18 2020-06-03 Nippon Telegraph And Telephone Corporation METHOD FOR SAFE CALCULATION, SYSTEM FOR SAFE CALCULATION, DEVICE FOR SAFE CALCULATION AND PROGRAM
US10547592B2 (en) * 2017-01-19 2020-01-28 Hewlett Packard Enterprise Development Lp Computing a global sum that preserves privacy of parties in a multi-party environment
CN110199338B (zh) * 2017-01-20 2022-09-20 日本电信电话株式会社 秘密计算系统、秘密计算装置、秘密计算方法、记录介质
CN110199339B (zh) * 2017-01-20 2022-07-12 日本电信电话株式会社 秘密计算系统、秘密计算装置、秘密计算方法、记录介质
EP3602422B1 (en) * 2017-03-22 2022-03-16 Visa International Service Association Privacy-preserving machine learning
US11128452B2 (en) * 2017-03-25 2021-09-21 AVAST Software s.r.o. Encrypted data sharing with a hierarchical key structure
JP6973868B2 (ja) * 2017-05-18 2021-12-01 日本電気株式会社 秘密計算方法、装置、およびプログラム
JP6810393B2 (ja) * 2017-05-18 2021-01-06 日本電気株式会社 数値分散装置、送信情報生成装置、秘密計算装置、方法、プログラム、および秘密計算システム
JP6844897B2 (ja) * 2017-05-18 2021-03-17 日本電気株式会社 ビット分解秘密計算装置、ビット結合秘密計算装置、方法およびプログラム
US11314506B2 (en) * 2017-05-18 2022-04-26 Nec Corporation Secure computation device, comparison method, comparison program recording medium, and secure computation system
CN110622232B (zh) * 2017-05-25 2023-01-13 日本电信电话株式会社 秘密篡改探测系统、秘密篡改探测装置、秘密篡改探测方法以及程序
US10313133B2 (en) * 2017-06-21 2019-06-04 Visa International Service Association Secure communications providing forward secrecy

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS606842B2 (ja) 1978-12-15 1985-02-21 極東開発工業株式会社 運搬車における収容々器の蓋体開閉装置
JP2012078446A (ja) * 2010-09-30 2012-04-19 Nippon Telegr & Teleph Corp <Ntt> 不正検知方法、秘密計算システム、計算装置、計算プログラム
JP6006842B1 (ja) * 2015-07-22 2016-10-12 日本電信電話株式会社 秘密計算装置、その方法、およびプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
See also references of EP3651141A4
TAKI, YUTARO ET AL.: "General solution of lightweight N party secure function calculation and application to distributed secure storage in information bank", PROCEEDINGS OF MULTIMEDIA, DISTRIBUTED, COOPERATIVE, AND MOBILE (DICOMO 2016) SYMPOSIUM, 21 June 2017 (2017-06-21), pages 779 - 784, XP009517662 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021024398A1 (ja) * 2019-08-07 2021-02-11
WO2021024398A1 (ja) * 2019-08-07 2021-02-11 日本電気株式会社 秘密計算システム、秘密計算方法、および秘密計算プログラム
US20220277110A1 (en) * 2019-08-07 2022-09-01 Nec Corporation Secure computation system, secure computation method, and secure computation program
JP7359212B2 (ja) 2019-08-07 2023-10-11 日本電気株式会社 秘密計算システム、秘密計算方法、および秘密計算プログラム

Also Published As

Publication number Publication date
EP3651141A4 (en) 2021-03-24
CN110800034A (zh) 2020-02-14
JPWO2019009180A1 (ja) 2020-04-09
AU2018295722A1 (en) 2020-01-16
EP3651141B1 (en) 2021-12-08
US20200213097A1 (en) 2020-07-02
AU2018295722B2 (en) 2020-11-19
US11456862B2 (en) 2022-09-27
EP3651141A1 (en) 2020-05-13
CN110800034B (zh) 2023-05-02
JP6713585B2 (ja) 2020-06-24

Similar Documents

Publication Publication Date Title
CN101017557B (zh) 用于密码处理的图形处理单元
CN113542228B (zh) 基于联邦学习的数据传输方法、装置以及可读存储介质
US11764943B2 (en) Methods and systems for somewhat homomorphic encryption and key updates based on geometric algebra for distributed ledger/blockchain technology
US11374735B2 (en) Processing apparatus, processing method, storage medium, and encryption processing system
US10748454B2 (en) Secret computation apparatus, method for the same, and program
US8300810B2 (en) Method for securely encrypting or decrypting a message
JP6556659B2 (ja) ニューラルネットワークシステム、シェア計算装置、ニューラルネットワークの学習方法、プログラム
Hutter et al. NaCl’s crypto_box in hardware
EP3573041A1 (en) Secure computation method, secure computation system, secure computation device, and program
WO2019009180A1 (ja) 秘密計算システム、秘密計算装置、秘密計算方法、プログラム、および記録媒体
US12113890B2 (en) Homomorphic encryption using smart contracts
EP3483867A1 (en) Secret computation system, secret computation device, secret computation method, and program
CN113191893B (zh) 数据风险预测方法、装置、电子设备、介质及程序产品
JPWO2019039380A1 (ja) シェア生成装置、シェア変換装置、秘密計算システム、シェア生成方法、シェア変換方法、プログラム、および記録媒体
CN113064899A (zh) 资产类证券型通证交易凭证的存储方法、装置和电子设备
CN115694775B (zh) 密文处理方法、密文处理装置、电子设备和存储介质
US8521793B1 (en) Method and system for scalable modulo mathematical computation
JP6933293B2 (ja) 秘密計算装置、秘密計算方法、プログラム、および記録媒体
CN117336042A (zh) 密文解密方法、装置、存储介质及电子装置
Huang et al. Secure Neural Network Prediction in the Cloud-Based Open Neural Network Service
CN117332864A (zh) 变量模加运算器、量子点加运算器及密文解密方法
JP2002215022A (ja) 有限体データ記録媒体、有限体データ演算方法及びその装置、そのプログラム
Wieser et al. NaCl’s crypto box in hardware
JP2005043637A (ja) 暗号処理装置、および暗号処理演算方法、並びにコンピュータ・プログラム
JP2004221895A (ja) セキュリティ評価装置、セキュリティ装置、セキュリティ評価方法、及びセキュリティプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18828174

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019527663

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018295722

Country of ref document: AU

Date of ref document: 20180628

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2018828174

Country of ref document: EP

Effective date: 20200205