WO2022079894A1 - 秘密指数部統一システム、秘密指数部統一装置、秘密指数部統一方法、秘密和計算システム、秘密積和計算システム、プログラム - Google Patents
秘密指数部統一システム、秘密指数部統一装置、秘密指数部統一方法、秘密和計算システム、秘密積和計算システム、プログラム Download PDFInfo
- Publication number
- WO2022079894A1 WO2022079894A1 PCT/JP2020/039081 JP2020039081W WO2022079894A1 WO 2022079894 A1 WO2022079894 A1 WO 2022079894A1 JP 2020039081 W JP2020039081 W JP 2020039081W WO 2022079894 A1 WO2022079894 A1 WO 2022079894A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- max
- share
- secret
- floating point
- dif
- Prior art date
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 125
- 238000000034 method Methods 0.000 title claims description 25
- 239000013598 vector Substances 0.000 claims abstract description 63
- 238000005516 engineering process Methods 0.000 abstract 1
- 238000012545 processing Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 13
- 238000006243 chemical reaction Methods 0.000 description 12
- 230000009466 transformation Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 239000000654 additive Substances 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 238000000354 decomposition reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/723—Modular exponentiation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/544—Methods 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/556—Logarithmic or exponential functions
Definitions
- the present invention relates to a secret calculation technique, and particularly to a technique for performing a plurality of floating-point exponential unit unified operations in a secret calculation.
- Secret calculation is a method of obtaining the result of a specified operation without restoring the encrypted numerical value (see, for example, Reference Non-Patent Document 1).
- Reference In the method of Non-Patent Document 1 encryption is performed by distributing a plurality of information whose numerical values can be restored to three secret computing devices, and addition / subtraction, constant sum, multiplication, and constant multiplication are performed without restoring the numerical values.
- Logical operation negative, logical product, logical sum, exclusive logical sum
- data format conversion integer, binary number
- W is a predetermined constant of 3 or more
- a protocol that realizes secret calculation by cooperative calculation by W secret computing devices is called a multi-party protocol.
- Non-Patent Document 1 Koji Chida, Hiroki Hamada, Dai Igarashi, Katsumi Takahashi, “Reconsideration of Lightweight Verifiable 3-Party Concealed Function Calculation,” In CSS, 2010.
- Non-Patent Document 2 Korean Patent Application Laida, Koji Chida, Hiroki Hamada, Dai Igarashi, Katsumi Takahashi, “Reconsideration of Lightweight Verifiable 3-Party Concealed Function Calculation,” In CSS, 2010.
- Non-Patent Document 1 and Non-Patent Document 2 as documents relating to a protocol and implementation of secret calculation for performing floating-point arithmetic. In order to calculate the sum of floating point numbers, it is necessary to unify the exponential part of the floating point numbers to be added.
- an object of the present invention is to provide a secret calculation technique that efficiently unifies the exponential part of the floating point number.
- P is a prime number
- Q is a rank of a remainder ring, and it is composed of three or more secret exponent unit unifying devices, and shares a floating point vector ( ⁇ a, ⁇ ⁇ ) ([[ ⁇ a).
- ⁇ (Caret) represents a superscript.
- x y ⁇ z means that y z is a superscript for x
- x y ⁇ z means that y z is a subscript for x
- _ (underscore) represents a subscript.
- x y_z means that y z is a superscript for x
- x y_z means that y z is a subscript for x.
- [[x]] y represents the mod y element x (k, n)-secretly shared share.
- secret sharing for example, Shamir secret sharing or duplicate secret sharing can be used.
- the mod y element x is represented by (k, n)-replica secret-shared share with ⁇ x >> y . Since (k, n) -replication secret sharing is (k, n) -secret sharing, the protocol applicable to (k, n) -secret sharing is (k, n) -replication secret sharing. Can also be applied.
- the share is expressed as ⁇ x >> y , it means that the property of duplicate secret sharing is used.
- (k, k) -replica secret sharing is called (k, k) -additive secret sharing.
- the mod y element x is represented by (k, k) -additive secret-shared share by ⁇ x> y .
- [[x]] 2 ⁇ m represents a share in which m shares of the format [[x]] 2 are arranged. Note that [[x]] 2 ⁇ m may be regarded as a bit representation of a numerical value.
- X ⁇ y means that x and y are equal as real numbers on the computer. That is, it means that the difference between x and y is within a certain error range.
- a / d represents the value of integer division with the decimal point truncated. Therefore, integer division by a power of 2 is equivalent to a right shift. Also, for two numbers a and d, (a / d) Re represents the value of real division.
- Ceiling (a) represents the smallest integer greater than or equal to a for the number a.
- Floating-point 2 b a (where a and b represent the mantissa and exponent, respectively) is referred to as the floating-point (a, b). Also, m floating point numbers 2 b_0 a 0 , 2 b_1 a 1 ,..., 2 b_m-1 a m-1 (however, a i and bi (0 ⁇ i ⁇ m) have a mantissa and an exponent, respectively.
- ⁇ a (a 0 , a 1 ,..., a m-1 )
- ⁇ b (b 0 , b 1 ,..., b m-1 )
- the length m of the vector ⁇ a (a 0 , a 1 ,..., a m-1 ) may be expressed as
- step2 Party 0 and party 1 share a random number r 01 . Also, party 1 and party 2 share a random number r 12 .
- ⁇ ⁇ >> p 01 represents the share held by party 0 and party 1 with respect to the share ⁇ ⁇ >> p .
- ⁇ a> P 0 represents the share held by party 0 with respect to share ⁇ a> P.
- ⁇ ⁇ >> p 12 represents the share held by parties 1 and 2 with respect to the share ⁇ ⁇ >> p .
- ⁇ a> P 1 represents the share held by party 1 with respect to share ⁇ a> P.
- ⁇ ⁇ >> p 20 represents the share held by party 2 and party 0 with respect to the share ⁇ ⁇ >> p .
- step1 Calculate the share ⁇ ⁇ >> p using the modulus transformation.
- the modulus transformation for example, the modulus transformation using the above-mentioned quotient transfer can be used.
- step3 Calculate ⁇ f L >> p using mod 2 ⁇ mod p conversion.
- step7 Calculate [[f L ]] P using mod 2 ⁇ mod P conversion.
- u is the right shift amount that can be covered by one shift amount concealed right shift (specifically, the amount in the range of 1 to M'-M bits), and d is the right in the range of 1 to M-1 bits.
- the amount of shift required to shift is the number of times the hidden right shift is executed.
- step2 Calculate the share ⁇ ⁇ >> p using the modulus transformation.
- the modulus transformation for example, the modulus transformation using the above-mentioned quotient transfer can be used.
- f d-1 for f L f d- 2 for f d-1 , and so on.
- F 0 , f 1 ,..., f d-1 , f L with such properties are called transitive flags.
- step4 Calculate ⁇ f 1 >> p , ⁇ f 2 >> p ,..., ⁇ f d-1 >> p , ⁇ f L >> p using mod 2 ⁇ mod p conversion ..
- step8 mod 2 ⁇ mod P Use the conversion to calculate [[f 0 ]] P , [[f 1 ]] P ,..., [[f d-1 ]] P , [[f L ]] P ..
- step1 Let u be an integer that satisfies u ⁇ M'-M + 1. Also, let [R, R'] be the range of the right shift amount covered by the divided right shift, and let d be an integer satisfying d ⁇ ceiling (((R'-R + 1) / u) Re ).
- ⁇ L indicates that the calculation of the part enclosed in parentheses can be omitted when it is not necessary to consider the shift amount larger than -R (for example, when it is known that the shift is to the right). Also, ⁇ 0 is not an extremely large value when it is not necessary to consider a shift amount smaller than -R'(for example, the right shift amount is larger than the value to which the shift amount concealed shift (No. 1) can be applied). If you know that), it means that you can omit the calculation of the part enclosed in parentheses.
- step2 Calculate the share ⁇ ⁇ >> p using the modulus transformation.
- the modulus transformation for example, the modulus transformation using the above-mentioned quotient transfer can be used.
- f d-1 for f L f d- 2 for f d-1 , and so on.
- F 0 , f 1 ,..., f d-1 , f L with such properties are called transitive flags.
- step4 Using mod 2 ⁇ mod p conversion, ⁇ f 1 >> p , ⁇ f 2 >> p ,..., ⁇ f d-1 >> p ⁇ , ⁇ f L >> p ⁇ L To calculate.
- step8 Using mod 2 ⁇ mod P conversion, ⁇ [[f 0 ]] P , ⁇ 0 [[f 1 ]] P ,..., [[f d-1 ]] P ⁇ , [[f L ]] Calculate P ⁇ L.
- step1 Obtain [[ ⁇ max ]] Q from [[ ⁇ ⁇ ]] Q using the maximum value calculation.
- step3 Using the shift amount concealed shift (2) or the shift amount concealed shift (3), the i element of the share [[ ⁇ a]] P [[a i ]] P and the share [[ ⁇ ⁇ dif ] ] A value obtained by shifting the numerical value a i by - ⁇ dif, i bit from the share ⁇ ⁇ ⁇ dif >> Q 's i element ⁇ ⁇ dif, i >> Q converted from Q to duplicate secret sharing.
- step4 Generate a share ([[ ⁇ b]] P , [[ ⁇ ⁇ max ]] Q ).
- step1 Share ([[ ⁇ a']] P , unify the exponent part of the element of the share ([[ ⁇ a]] P , [[ ⁇ ⁇ ]] Q ) using the unification of the exponential part of the floating point vector.
- step1 Share ([[ ⁇ a']] P , unify the exponent part of the element of the share ([[ ⁇ a]] P , [[ ⁇ ⁇ ]] Q ) using the unification of the exponential part of the floating point vector.
- FIG. 1 is a block diagram showing a configuration of a secret index unit unified system 10.
- the secret index unit unification system 10 includes W (W is a predetermined integer of 3 or more) secret index unit unification devices 100 1 , ..., 100 W.
- the secret index unit unifying device 100 1 , ..., 100 W are connected to the network 800 and can communicate with each other.
- the network 800 may be, for example, a communication network such as the Internet or a broadcast communication path.
- FIG. 2 is a block diagram showing the configuration of the secret index unit unified device 100 i (1 ⁇ i ⁇ W).
- FIG. 3 is a flowchart showing the operation of the secret index unit unified system 10.
- the secret index unit unifying device 100 i includes a maximum value calculation unit 110 i , a difference calculation unit 120 i , a mantissa unit calculation unit 130 i , an output unit 140 i , and a recording unit 190 i . ..
- Each component of the secret index unit unified device 100 i excluding the recording unit 190 i realizes the functions required for the secret calculation, that is, the functions of each component among the protocols described in ⁇ Technical Background>. It is configured to be able to perform the operations required above.
- the recording unit 190 i is a component unit that records information necessary for processing of the secret index unit unifying device 100 i .
- the secret index unit unification system 10 realizes the secret calculation of the exponent unit unification of the floating-point vector, which is a multi-party protocol, by the cooperative calculation by the W secret exponent unit unification device 100 i . Therefore, the maximum value calculation means 110 (not shown) of the secret index unit unified system 10 is composed of the maximum value calculation units 110 1 , ..., 110 W , and the difference calculation means 120 (not shown) is a difference calculation unit. 120 1 , ..., 120 W , the mantissa calculation means 130 (not shown) is composed of the mantissa calculation unit 130 1 , ..., 130 W , and the output means 140 (not shown) is an output unit. It is composed of 140 1 , ..., 140 W.
- the secret exponent unit unified system 10 shares the floating point vector ( ⁇ a, ⁇ ⁇ ) ([[ ⁇ a]] P , [[ ⁇ ⁇ ]] Q ).
- the maximum value calculation means 110 calculates the share [[ ⁇ max ]] Q from the share [[ ⁇ ⁇ ]] Q.
- the maximum value calculation means 110 may be configured so as to be able to execute, for example, the maximum value calculation.
- the mantissa part calculation means 130 may be configured to be able to execute, for example, a shift amount concealed shift (No. 2) or a shift amount concealed shift (No. 3).
- the output means 140 has a share ([[ ⁇ b]] P , [[ ⁇ ⁇ max ] from the share [[ ⁇ b]] P calculated in S130 and the share [[ ⁇ max ]] Q calculated in S110. ]] Generate Q ).
- FIG. 4 is a block diagram showing the configuration of the secret sum calculation system 20.
- the secret sum calculation system 20 includes W secret sum calculation devices 2001, ..., 200 W (W is a predetermined integer of 3 or more).
- the secret sum calculator 2001, ..., 200 W are connected to the network 800 and can communicate with each other.
- the network 800 may be, for example, a communication network such as the Internet or a broadcast communication path.
- FIG. 5 is a block diagram showing the configuration of the secret sum calculation device 200 i (1 ⁇ i ⁇ W).
- FIG. 6 is a flowchart showing the operation of the secret sum calculation system 20.
- the secret sum calculation device 200 i includes an exponential unit unification unit 210 i , a sum calculation unit 220 i , and a recording unit 290 i .
- Each component of the secret sum calculation device 200 i except the recording unit 290 i realizes the functions required for the secret calculation, that is, the functions of each component among the protocols described in ⁇ Technical Background>. It is configured to perform the operations required by.
- a specific functional configuration for realizing individual operations in the present invention for example, a configuration capable of executing the algorithms disclosed in each of Reference Non-Patent Documents 1 to 5 is sufficient, and these are conventional configurations. Since there is, a detailed explanation will be omitted.
- the recording unit 290 i is a component unit that records information necessary for processing of the secret sum calculation device 200 i .
- the secret sum calculation system 20 realizes the secret calculation of the floating-point vector sum, which is a multi-party protocol, by the cooperative calculation by the W secret sum calculation device 200 i . Therefore, the exponential unit unification means 210 (not shown) of the secret sum calculation system 20 is composed of the exponent unit unification unit 210 1 , ..., 210 W , and the sum calculation means 220 (not shown) is the sum calculation unit 220. It is composed of 1 , ..., 220 W.
- the exponent unit unifying means 210 unifies the floating point exponent part of the floating point vector ( ⁇ a, ⁇ ⁇ ) from the share ([[ ⁇ a]] P , [[ ⁇ ⁇ ]] Q ).
- m), and 2 ⁇ _i a i ⁇ 2 ⁇ _max a'i (0 ⁇ i ⁇ m) is satisfied).
- the exponential unit unification means 210 is configured by using, for example, each means included in the secret exponential unit unification system 10 (that is, the maximum value calculation means 110, the difference calculation means 120, the mantissa calculation means 130, and the output means 140). Just do it.
- the exponential unit unification unit 210 i of the secret sum calculation device 200 i is configured to include the maximum value calculation unit 110 i , the difference calculation unit 120 i , the mantissa unit calculation unit 130 i , and the output unit 140 i .
- FIG. 7 is a block diagram showing the configuration of the secret product-sum calculation system 30.
- the secret product-sum calculation system 30 includes W secret product-sum calculation devices 300 1 , ..., 300 W (W is a predetermined integer of 3 or more).
- the secret product-sum calculation device 300 1 , ..., 300 W are connected to the network 800 and can communicate with each other.
- the network 800 may be, for example, a communication network such as the Internet or a broadcast communication path.
- FIG. 8 is a block diagram showing the configuration of the secret product-sum calculation device 300 i (1 ⁇ i ⁇ W).
- FIG. 9 is a flowchart showing the operation of the secret product-sum calculation system 30.
- the secret product-sum calculation device 300 i includes an exponential unit unification unit 310 i , a product-sum calculation unit 320 i , and a recording unit 390 i .
- Each component of the secret product-sum calculation device 300 i except the recording unit 390 i realizes the functions required for the secret calculation, that is, the functions of each component among the protocols described in ⁇ Technical Background>. It is configured to be able to perform the operations required above.
- a specific functional configuration for realizing individual operations in the present invention for example, a configuration capable of executing the algorithms disclosed in each of Reference Non-Patent Documents 1 to 5 is sufficient, and these are conventional configurations. Since there is, a detailed explanation will be omitted.
- the recording unit 390 i is a component unit that records information necessary for processing of the secret product-sum calculation device 300 i .
- the secret product-sum calculation system 30 realizes the secret calculation of the floating-point vector product-sum, which is a multi-party protocol, by the cooperative calculation by the W secret product-sum calculation device 300 i . Therefore, the exponential unit unification means 310 (not shown) of the secret product-sum calculation system 30 is composed of the exponent unit unification unit 310 1 , ..., 310 W , and the product-sum calculation means 320 (not shown) is the sum of products. It is composed of calculation unit 320 1 , ..., 320 W.
- the exponential unit unifying means 310 floats from the share ([[ ⁇ a]] P , [[ ⁇ ⁇ ]] Q ) and the share ([[ ⁇ b]] P , [[ ⁇ ⁇ ]] Q ).
- the exponential unit unification means 310 is configured by using, for example, each means included in the secret exponential unit unification system 10 (that is, the maximum value calculation means 110, the difference calculation means 120, the mantissa calculation means 130, and the output means 140). Just do it.
- the exponential unit unification unit 310 i of the secret sum calculation device 300 i is configured to include the maximum value calculation unit 110 i , the difference calculation unit 120 i , the mantissa unit calculation unit 130 i , and the output unit 140 i .
- FIG. 10 is a diagram showing an example of a functional configuration of a computer that realizes each of the above-mentioned devices.
- the processing in each of the above-mentioned devices can be carried out by having the recording unit 2020 read a program for making the computer function as each of the above-mentioned devices and operating the control unit 2010, the input unit 2030, the output unit 2040, and the like.
- the device of the present invention is, for example, as a single hardware entity, an input unit to which a keyboard or the like can be connected, an output unit to which a liquid crystal display or the like can be connected, and a communication device (for example, a communication cable) capable of communicating outside the hardware entity.
- Communication unit CPU (Central Processing Unit, cache memory, registers, etc.) to which can be connected, RAM and ROM as memory, external storage device as hard hardware, and input, output, and communication units of these.
- CPU, RAM, ROM has a bus connecting so that data can be exchanged between external storage devices.
- a device (drive) or the like capable of reading and writing a recording medium such as a CD-ROM may be provided in the hardware entity.
- a physical entity equipped with such hardware resources there is a general-purpose computer or the like.
- the external storage device of the hardware entity stores a program required to realize the above-mentioned functions and data required for processing of this program (not limited to the external storage device, for example, reading a program). It may be stored in a ROM, which is a dedicated storage device). Further, the data obtained by the processing of these programs is appropriately stored in a RAM, an external storage device, or the like.
- each program stored in the external storage device (or ROM, etc.) and the data required for processing of each program are read into the memory as needed, and are appropriately interpreted and executed and processed by the CPU. ..
- the CPU realizes a predetermined function (each component represented by the above, ... section, ... means, etc.).
- the present invention is not limited to the above-described embodiment, and can be appropriately modified without departing from the spirit of the present invention. Further, the processes described in the above-described embodiment are not only executed in chronological order according to the order described, but may also be executed in parallel or individually depending on the processing capacity of the device that executes the processes or if necessary. ..
- the processing function in the hardware entity (device of the present invention) described in the above embodiment is realized by the computer, the processing content of the function that the hardware entity should have is described by the program. Then, by executing this program on the computer, the processing function in the above hardware entity is realized on the computer.
- the program that describes this processing content can be recorded on a computer-readable recording medium.
- the recording medium that can be read by a computer may be, for example, a magnetic recording device, an optical disk, a photomagnetic recording medium, a semiconductor memory, or the like.
- a hard disk device, a flexible disk, a magnetic tape or the like as a magnetic recording device, and an optical disk such as a DVD (DigitalVersatileDisc), a DVD-RAM (RandomAccessMemory), or a CD-ROM (CompactDiscReadOnly). Memory), CD-R (Recordable) / RW (ReWritable), etc., MO (Magneto-Optical disc), etc. as a magneto-optical recording medium, EEP-ROM (Electronically Erasable and Programmable-Read Only Memory), etc. as a semiconductor memory. Can be used.
- the distribution of this program is carried out, for example, by selling, transferring, renting, etc. a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Further, the program may be stored in the storage device of the server computer, and the program may be distributed by transferring the program from the server computer to another computer via the network.
- a computer that executes such a program first, for example, first stores a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. Then, when the process is executed, the computer reads the program stored in its own storage device and executes the process according to the read program. Further, as another execution form of this program, a computer may read the program directly from a portable recording medium and execute processing according to the program, and further, the program is transferred from the server computer to this computer. You may execute the process according to the received program one by one each time. In addition, the above processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition without transferring the program from the server computer to this computer. May be.
- the program in this embodiment includes information used for processing by a computer and equivalent to the program (data that is not a direct command to the computer but has a property that regulates the processing of the computer, etc.).
- the hardware entity is configured by executing a predetermined program on the computer, but at least a part of these processing contents may be realized in terms of hardware.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Theoretical Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Nonlinear Science (AREA)
- Complex Calculations (AREA)
Abstract
Description
従来、浮動小数点演算を行う秘密計算のプロトコルや実装に関する文献として、非特許文献1や非特許文献2がある。浮動小数点の和を計算するためには、加算の対象となる浮動小数点の指数部を統一する必要がある。
本発明の各実施形態における秘密計算は、既存の秘密計算上のプロトコルを用いて構築される。ここでは、まず記法について説明する。
Pを素数とする。例えば、メルセンヌ素数P=261-1とするとよい。pを素数Pのビット数とする。なお、p=|P|と表すこともある。Pがメルセンヌ素数であるとき、pは素数となる。例えば、P=261-1とすると、p=61となる。また、Qを剰余環の位数とする。位数Qは素数Pやそのビット数pとして用いる。また、位数Qは浮動小数点の指数部に用いることができる。位数Qを浮動小数点の指数部に用いる場合、例えば、Q=213-1とすることができる。
まず、本発明で用いる既存の秘密計算プロトコルについて説明する。加減算、定数和、乗算、定数倍、論理演算(否定、論理積、論理和、排他的論理和)、データ形式変換(整数、二進数)、指数関数の計算については、既存のプロトコルを用いる。その他本発明で用いる既存のプロトコルとして以下のものを用いる。
入力:数値xのシェア[[x]]y(数値xのシェア<<x>>y)
出力:数値xのシェア<x>y
具体的には、参考非特許文献2に記載の方法がある。
[(k, k)-加法的秘密分散から(k, n)-秘密分散(複製秘密分散)への変換]
入力:数値xのシェア<x>y
出力:数値xのシェア[[x]]y(数値xのシェア<<x>>y)
具体的には、参考非特許文献2に記載の方法がある。
入力:数値xのシェア[[x]]2(数値xのシェア<<x>>2)
出力:数値xのシェア[[x]]q(数値xのシェア<<x>>q)
具体的には、参考非特許文献2に記載の方法がある。
入力:数値xのシェア[[x]]q、シフト量ρ
出力:数値xをρビット右シフトして得られる数値のシェア[[x/2ρ]]q
具体的には、参考非特許文献3に記載の方法がある。
[一括シフト量公開右シフト]
入力:数値xのシェア[[x]]q、シフト量ρ0, …, ρm-1
出力:数値xをρ0ビット, …, ρm-1ビット右シフトして得られる数値のシェア[[x/2ρ_0]]q, …, [[x/2ρ_m-1]]q
具体的には、参考非特許文献4に記載の方法がある。
なお、自明な方法として、シフト量公開右シフトの繰り返しで、一括シフト量公開右シフトを構成することもできる。
入力:数値xのシェア<<x>>q
出力:数値xのシェア<<x>>r
具体的には、参考非特許文献2に記載の方法がある。
入力:数値xのシェア[[x]]q
パラメータ:入力される数値の最大ビット数M
出力:数値xのシェア[[x]]2^M
具体的には、参考非特許文献2に記載の方法がある。
続いて、本発明の秘密計算プロトコルについて説明する。
入力:数値aのシェア[[a]]P, ローテーション量(シフト量)ρ(≧0)のシェア<<ρ>>p
出力:数値aをρビット左シフトして得られる数値のシェア[[2ρa]]P
出力となるシェアは乗算や指数関数計算のプロトコル等を用いることで計算することもできるが、ランダム置換(参考非特許文献5参照)の考えを用いた方法で計算することもできる。具体例として、n=3の場合について説明する。
(ラウンド1)
step1:シェア[[a]]Pを、パーティ0、パーティ1がシェアを持つ(k, k)-加法的秘密分散<a>Pに変換する。
step5:パーティ0は<c>P 0=2(<<ρ>>^p)_20b1を計算する。
step7:シェア<c>Pを(k, n)-秘密分散のシェア[[c]]Pに変換する。
入力:数値aのシェア[[a]]P, シフト量ρのシェア<<ρ>>p
パラメータ:シフト量の上限値M
ただし、0≦ρ≦M, 数値aをMビット左シフトして得られる数値2Maはオーバーフローしないものとする。
step1:<<M-ρ>>pを計算する.
step2:乗法的ローテーションを用いて、数値aをM-ρビット左シフトして得られる数値のシェア[[2M-ρa]]Pを計算する。
入力:数値aのシェア[[a]]P、シフト量ρのシェア<<ρ>>Q(ただし、ρ≧0の場合は左シフト、ρ<0の場合は右シフトを表すものとする)
パラメータ:入力される数値のMSB(Most Significant Bit)位置のとりうる上限値M
出力:数値aをρビットシフトして得られる数値sのシェア[[s]]P
ここで、s=2ρaが成り立つ。
入力:数値aのシェア[[a]]P、シフト量ρのシェア<<ρ>>Q(ただし、ρ≧0の場合は左シフト、ρ<0の場合は右シフトを表すものとする)
パラメータ:入力される数値のMSB位置のとりうる上限値M、シェアが許容するMSB位置の上限値M’
出力:数値aをρビットシフトして得られる数値sのシェア[[s]]P
ここで、s=2ρaが成り立つ。
入力:数値aのシェア[[a]]P、シフト量ρのシェア<<ρ>>Q(ただし、ρ≧0の場合は左シフト、ρ<0の場合は右シフトを表すものとする)
パラメータ:入力される数値のMSB位置のとりうる上限値M、シェアが許容するMSB位置の上限値M’
出力:数値aをρビットシフトして得られる数値sのシェア[[s]]P
ここで、s=2ρaが成り立つ。
入力:ベクトル→aのシェア[[→a]]Q(ただし、→a=(a0, a1, …, am-1), ai(0≦i<m)はビット表現した整数である)
パラメータ:入力される数値の最大ビット数M
出力:最大値amaxのシェア[[amax]]Q(ただし、amax=max{a0, a1, …, am-1})
step1:ai(0≦i<m)の最左ビットai,M-1(0≦i<m)のORであるamax,M-1のシェア[[amax,M-1]]Q(ただし、amax,M-1=a0,M-1OR a1,M-1 OR…OR am-1,M-1)を計算する。
step3-1:0≦i<mに対して、[[bi,j]]Q=[[ai,j∧ei,j+1]]Qを計算する。
入力:浮動小数点数ベクトル(→a, →ρ)のシェア([[→a]]P, [[→ρ]]Q) (ただし、→a=(a0, a1, …, am-1), →ρ=(ρ0, ρ1, …, ρm-1))
出力:浮動小数点ベクトル(→a, →ρ)の指数部を統一した浮動小数点ベクトル(→b, →ρmax)のシェア([[→b]]P, [[→ρmax]]Q)(ただし、→b=(b0, b1, …, bm-1), →ρmax=(ρmax, ρmax, …, ρmax)(ただし、ρmax=max{ρ0, ρ1, …, ρm-1}, |→ρmax|=m)である)
ここで、2ρ_iai≒2ρ_maxbi (0≦i<m)が成り立つ。
入力:浮動小数点数ベクトル(→a, →ρ)のシェア([[→a]]P, [[→ρ]]Q) (ただし、→a=(a0, a1, …, am-1), →ρ=(ρ0, ρ1, …, ρm-1))
パラメータ:ベクトル長m
出力:浮動小数点ベクトル(→a, →ρ)の要素である浮動小数点の和である浮動小数点(b, σ)のシェア([[b]]P, [[σ]]Q)
ここで、Σ0≦i<m2ρ_iai≒2σbが成り立つ。
入力:浮動小数点ベクトル(→a, →ρ)のシェア([[→a]]P, [[→ρ]]Q) (ただし、→a=(a0, a1, …, am-1), →ρ=(ρ0, ρ1, …, ρm-1)), 浮動小数点ベクトル(→b, →σ)のシェア([[→b]]P, [[→σ]]Q) (ただし、→b=(b0, b1, …, bm-1), →σ=(σ0, σ1, …, σm-1))
パラメータ:ベクトル長m
出力:浮動小数点ベクトル(→a, →ρ)の要素である浮動小数点と浮動小数点ベクトル(→b, →σ)の要素である浮動小数点の積和である浮動小数点(c, τ)のシェア([[c]]P, [[τ]]Q)
ここで、Σ0≦i<m2ρ_i+σ_iaibi≒2τcが成り立つ。
以下、図1~図3を参照して秘密指数部統一システム10について説明する。図1は、秘密指数部統一システム10の構成を示すブロック図である。秘密指数部統一システム10は、W個(Wは3以上の所定の整数)の秘密指数部統一装置1001、…、100Wを含む。秘密指数部統一装置1001、…、100Wは、ネットワーク800に接続しており、相互に通信可能である。ネットワーク800は、例えば、インターネットなどの通信網あるいは同報通信路などでよい。図2は、秘密指数部統一装置100i(1≦i≦W)の構成を示すブロック図である。図3は、秘密指数部統一システム10の動作を示すフローチャートである。
以下、図4~図6を参照して秘密和計算システム20について説明する。図4は、秘密和計算システム20の構成を示すブロック図である。秘密和計算システム20は、W個(Wは3以上の所定の整数)の秘密和計算装置2001、…、200Wを含む。秘密和計算装置2001、…、200Wは、ネットワーク800に接続しており、相互に通信可能である。ネットワーク800は、例えば、インターネットなどの通信網あるいは同報通信路などでよい。図5は、秘密和計算装置200i(1≦i≦W)の構成を示すブロック図である。図6は、秘密和計算システム20の動作を示すフローチャートである。
以下、図7~図9を参照して秘密積和計算システム30について説明する。図7は、秘密積和計算システム30の構成を示すブロック図である。秘密積和計算システム30は、W個(Wは3以上の所定の整数)の秘密積和計算装置3001、…、300Wを含む。秘密積和計算装置3001、…、300Wは、ネットワーク800に接続しており、相互に通信可能である。ネットワーク800は、例えば、インターネットなどの通信網あるいは同報通信路などでよい。図8は、秘密積和計算装置300i(1≦i≦W)の構成を示すブロック図である。図9は、秘密積和計算システム30の動作を示すフローチャートである。
図10は、上述の各装置を実現するコンピュータの機能構成の一例を示す図である。上述の各装置における処理は、記録部2020に、コンピュータを上述の各装置として機能させるためのプログラムを読み込ませ、制御部2010、入力部2030、出力部2040などに動作させることで実施できる。
Claims (6)
- Pを素数、Qを剰余環の位数とし、
3個以上の秘密指数部統一装置で構成され、浮動小数点ベクトル(→a, →ρ)のシェア([[→a]]P, [[→ρ]]Q) (ただし、→a=(a0, a1, …, am-1), →ρ=(ρ0, ρ1, …, ρm-1))から、浮動小数点ベクトル(→a, →ρ)の指数部を統一した浮動小数点ベクトル(→b, →ρmax)のシェア([[→b]]P, [[→ρmax]]Q)(ただし、→b=(b0, b1, …, bm-1), →ρmax=(ρmax, ρmax, …, ρmax)(ただし、ρmax=max{ρ0, ρ1, …, ρm-1}, |→ρmax|=m)であり、2ρ_iai≒2ρ_maxbi(0≦i<m)を満たす)を計算する秘密指数部統一システムであって、
シェア[[→ρ]]Qから、シェア[[ρmax]]Qを計算する最大値計算手段と、
シェア[[→ρ]]Qとシェア[[ρmax]]Qから、シェア[[→ρdif]]Q=[[→ρ]]Q-[[→ρmax]]Qを計算する差分計算手段と、
シェア[[→a]]Pとシェア[[→ρdif]]Qから、0≦i<mを満たすiに対して、シェア[[→a]]Pの第i要素[[ai]]Pとシェア[[→ρdif]]Qを複製秘密分散に変換したシェア<<→ρdif>>Qの第i要素<<ρdif,i>>Qとから、数値aiを-ρdif,iビットシフトして得られる数値biのシェア[[bi]]P(ただし、bi=2-ρ_dif,iai)を計算することにより、シェア[[→b]]P=([[b0]]P, [[b1]]P, …, [[bm-1]]P)を計算する仮数部計算手段と、
シェア[[→b]]Pとシェア[[ρmax]]Qから、シェア([[→b]]P, [[→ρmax]]Q)を生成する出力手段と、
を含む秘密指数部統一システム。 - Pを素数、Qを剰余環の位数とし、
浮動小数点ベクトル(→a, →ρ)のシェア([[→a]]P, [[→ρ]]Q) (ただし、→a=(a0, a1, …, am-1), →ρ=(ρ0, ρ1, …, ρm-1))から、浮動小数点ベクトル(→a, →ρ)の指数部を統一した浮動小数点ベクトル(→b, →ρmax)のシェア([[→b]]P, [[→ρmax]]Q)(ただし、→b=(b0, b1, …, bm-1), →ρmax=(ρmax, ρmax, …, ρmax)(ただし、ρmax=max{ρ0, ρ1, …, ρm-1}, |→ρmax|=m)であり、2ρ_iai≒2ρ_maxbi(0≦i<m)を満たす)を計算する、3個以上の秘密指数部統一装置で構成される秘密指数部統一システムの中の秘密指数部統一装置であって、
シェア[[→ρ]]Qから、シェア[[ρmax]]Qを計算する最大値計算部と、
シェア[[→ρ]]Qとシェア[[ρmax]]Qから、シェア[[→ρdif]]Q=[[→ρ]]Q-[[→ρmax]]Qを計算する差分計算部と、
シェア[[→a]]Pとシェア[[→ρdif]]Qから、0≦i<mを満たすiに対して、シェア[[→a]]Pの第i要素[[ai]]Pとシェア[[→ρdif]]Qを複製秘密分散に変換したシェア<<→ρdif>>Qの第i要素<<ρdif,i>>Qとから、数値aiを-ρdif,iビットシフトして得られる数値biのシェア[[bi]]P(ただし、bi=2-ρ_dif,iai)を計算することにより、シェア[[→b]]P=([[b0]]P, [[b1]]P, …, [[bm-1]]P)を計算する仮数部計算部と、
シェア[[→b]]Pとシェア[[ρmax]]Qから、シェア([[→b]]P, [[→ρmax]]Q)を生成する出力部と、
を含む秘密指数部統一装置。 - Pを素数、Qを剰余環の位数とし、
3個以上の秘密指数部統一装置で構成される秘密指数部統一システムが、浮動小数点ベクトル(→a, →ρ)のシェア([[→a]]P, [[→ρ]]Q) (ただし、→a=(a0, a1, …, am-1), →ρ=(ρ0, ρ1, …, ρm-1))から、浮動小数点ベクトル(→a, →ρ)の指数部を統一した浮動小数点ベクトル(→b, →ρmax)のシェア([[→b]]P, [[→ρmax]]Q)(ただし、→b=(b0, b1, …, bm-1), →ρmax=(ρmax, ρmax, …, ρmax)(ただし、ρmax=max{ρ0, ρ1, …, ρm-1}, |→ρmax|=m)であり、2ρ_iai≒2ρ_maxbi(0≦i<m)を満たす)を計算する秘密指数部統一方法であって、
前記秘密指数部統一システムが、シェア[[→ρ]]Qから、シェア[[ρmax]]Qを計算する最大値計算ステップと、
前記秘密指数部統一システムが、シェア[[→ρ]]Qとシェア[[ρmax]]Qから、シェア[[→ρdif]]Q=[[→ρ]]Q-[[→ρmax]]Qを計算する差分計算ステップと、
前記秘密指数部統一システムが、シェア[[→a]]Pとシェア[[→ρdif]]Qから、0≦i<mを満たすiに対して、シェア[[→a]]Pの第i要素[[ai]]Pとシェア[[→ρdif]]Qを複製秘密分散に変換したシェア<<→ρdif>>Qの第i要素<<ρdif,i>>Qとから、数値aiを-ρdif,iビットシフトして得られる数値biのシェア[[bi]]P(ただし、bi=2-ρ_dif,iai)を計算することにより、シェア[[→b]]P=([[b0]]P, [[b1]]P, …, [[bm-1]]P)を計算する仮数部計算ステップと、
前記秘密指数部統一システムが、シェア[[→b]]Pとシェア[[ρmax]]Qから、シェア([[→b]]P, [[→ρmax]]Q)を生成する出力ステップと、
を含む秘密指数部統一方法。 - Pを素数、Qを剰余環の位数とし、
3個以上の秘密和計算装置で構成され、浮動小数点ベクトル(→a, →ρ)のシェア([[→a]]P, [[→ρ]]Q) (ただし、→a=(a0, a1, …, am-1), →ρ=(ρ0, ρ1, …, ρm-1))から、浮動小数点ベクトル(→a, →ρ)の要素である浮動小数点の和である浮動小数点(b, σ)のシェア([[b]]P, [[σ]]Q)(ただし、Σ0≦i<m2ρ_iai≒2σbを満たす)を計算する秘密和計算システムであって、
シェア([[→a]]P, [[→ρ]]Q)から、浮動小数点ベクトル(→a, →ρ)の浮動小数点の指数部を統一した浮動小数点ベクトル(→a’, →ρmax)のシェア([[→a’]]P, [[→ρmax]]Q)(ただし、→a’=(a’0, a’1, …, a’m-1), →ρmax=(ρmax, ρmax, …, ρmax)(ただし、ρmax=max{ρ0, ρ1, …, ρm-1}, |→ρmax|=m)であり、2ρ_iai≒2ρ_max a’i(0≦i<m)を満たす)を計算する指数部統一手段と、
シェア([[→a’]]P, [[→ρmax]]Q)から、シェア([[b]]P, [[σ]]Q)(ただし、b=Σ0≦i<ma’i, σ=ρmax)を計算する和計算手段と、
を含み、
前記指数部統一手段は請求項1に記載の秘密指数部統一システムに含まれる各手段を用いて構成される
秘密和計算システム。 - Pを素数、Qを剰余環の位数とし、
3個以上の秘密積和計算装置で構成され、浮動小数点ベクトル(→a, →ρ)のシェア([[→a]]P, [[→ρ]]Q) (ただし、→a=(a0, a1, …, am-1), →ρ=(ρ0, ρ1, …, ρm-1))と浮動小数点ベクトル(→b, →σ)のシェア([[→b]]P, [[→σ]]Q) (ただし、→b=(b0, b1, …, bm-1), →σ=(σ0, σ1, …, σm-1))から、浮動小数点ベクトル(→a, →ρ)の要素である浮動小数点と浮動小数点ベクトル(→b, →σ)の要素である浮動小数点の積和である浮動小数点(c, τ)のシェア([[c]]P, [[τ]]Q)(ただし、Σ0≦i<m2ρ_i+σ_iaibi≒2τcを満たす)を計算する秘密積和計算システムであって、
シェア([[→a]]P, [[→ρ]]Q)とシェア([[→b]]P, [[→σ]]Q)から、浮動小数点ベクトル(→a, →ρ)の浮動小数点の指数部を統一した浮動小数点ベクトル(→a’, →ρmax)のシェア([[→a’]]P, [[→ρmax]]Q)(ただし、→a’=(a’0, a’1, …, a’m-1), →ρmax=(ρmax, ρmax, …, ρmax)(ただし、ρmax=max{ρ0, ρ1, …, ρm-1}, |→ρmax|=m)であり、2ρ_iai≒2ρ_max a’i(0≦i<m)を満たす)と浮動小数点ベクトル(→b, →σ)の浮動小数点の指数部を統一した浮動小数点ベクトル(→b’, →σmax)のシェア([[→b’]]P, [[→σmax]]Q) (ただし、→b’=(b’0, b’1, …, b’m-1), →σmax=(σmax, σmax, …, σmax)(ただし、σmax=max{σ0, σ1, …, σm-1}, |→σmax|=m)であり、2σ_ibi≒2σ_maxb’i(0≦i<m)を満たす)を計算する指数部統一手段と、
シェア([[→a’]]P, [[→ρmax]]Q)とシェア([[→b’]]P, [[→σmax]]Q)から、シェア([[c]]P, [[τ]]Q)(ただし、c=Σ0≦i<ma’ib’i, τ=ρmax+σmax)を計算する積和計算手段と、
を含み、
前記指数部統一手段は請求項1に記載の秘密指数部統一システムに含まれる各手段を用いて構成される
秘密積和計算システム。 - 請求項2に記載の秘密指数部統一装置としてコンピュータを機能させるためのプログラム。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022556806A JP7452692B2 (ja) | 2020-10-16 | 2020-10-16 | 秘密指数部統一システム、秘密指数部統一装置、秘密指数部統一方法、秘密和計算システム、秘密積和計算システム、プログラム |
AU2020472126A AU2020472126B2 (en) | 2020-10-16 | 2020-10-16 | Secure exponent unification system, secure exponent unification apparatus, secure exponent unification method, secure sum computing system, secure sum-of-product computing system, and program |
EP20957723.8A EP4213135A4 (en) | 2020-10-16 | 2020-10-16 | SECRET EXPOSURE PART UNIFICATION SYSTEM, SECRET EXPOSURE PART UNIFICATION DEVICE, SECRET EXPOSURE PART UNIFICATION METHOD, SECRET SUM CALCULATION SYSTEM, SECRET SUM-PRODUCT CALCULATION SYSTEM AND PROGRAM |
CN202080106103.XA CN116368549A (zh) | 2020-10-16 | 2020-10-16 | 秘密指数部统一系统、秘密指数部统一装置、秘密指数部统一方法、秘密和计算系统、秘密积和计算系统、程序 |
US18/029,375 US20230359438A1 (en) | 2020-10-16 | 2020-10-16 | Secure exponent unification system, secure exponent unification apparatus, secure exponent unification method, secure sum computing system, secure sum-of-product computing system, and program |
PCT/JP2020/039081 WO2022079894A1 (ja) | 2020-10-16 | 2020-10-16 | 秘密指数部統一システム、秘密指数部統一装置、秘密指数部統一方法、秘密和計算システム、秘密積和計算システム、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/039081 WO2022079894A1 (ja) | 2020-10-16 | 2020-10-16 | 秘密指数部統一システム、秘密指数部統一装置、秘密指数部統一方法、秘密和計算システム、秘密積和計算システム、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022079894A1 true WO2022079894A1 (ja) | 2022-04-21 |
Family
ID=81209022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2020/039081 WO2022079894A1 (ja) | 2020-10-16 | 2020-10-16 | 秘密指数部統一システム、秘密指数部統一装置、秘密指数部統一方法、秘密和計算システム、秘密積和計算システム、プログラム |
Country Status (6)
Country | Link |
---|---|
US (1) | US20230359438A1 (ja) |
EP (1) | EP4213135A4 (ja) |
JP (1) | JP7452692B2 (ja) |
CN (1) | CN116368549A (ja) |
AU (1) | AU2020472126B2 (ja) |
WO (1) | WO2022079894A1 (ja) |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL198494A (ja) * | 1954-07-01 | |||
JP4092735B2 (ja) * | 1997-12-10 | 2008-05-28 | セイコーエプソン株式会社 | 情報処理システム及び暗号/復号システム |
CN100353342C (zh) * | 2003-09-26 | 2007-12-05 | 日本电信电话株式会社 | 标签隐私保护方法、标签装置、后端装置 |
US8655939B2 (en) * | 2007-01-05 | 2014-02-18 | Digital Doors, Inc. | Electromagnetic pulse (EMP) hardened information infrastructure with extractor, cloud dispersal, secure storage, content analysis and classification and method therefor |
US9245148B2 (en) * | 2009-05-29 | 2016-01-26 | Bitspray Corporation | Secure storage and accelerated transmission of information over communication networks |
CN101895453B (zh) * | 2010-07-19 | 2012-08-22 | 江苏省东方世纪网络信息有限公司 | 共享型总线主从通讯模式下地址自动识别的握手方法 |
US10778439B2 (en) * | 2015-07-14 | 2020-09-15 | Fmr Llc | Seed splitting and firmware extension for secure cryptocurrency key backup, restore, and transaction signing platform apparatuses, methods and systems |
US11294633B2 (en) * | 2017-01-20 | 2022-04-05 | Nippon Telegraph And Telephone Corporation | Secure computation system, secure computation device, secure computation method, and program |
AU2018338249B2 (en) * | 2017-09-21 | 2020-11-26 | Nippon Telegraph And Telephone Corporation | Secure reading apparatus, secure writing apparatus, method thereof, and program |
-
2020
- 2020-10-16 US US18/029,375 patent/US20230359438A1/en active Pending
- 2020-10-16 CN CN202080106103.XA patent/CN116368549A/zh active Pending
- 2020-10-16 EP EP20957723.8A patent/EP4213135A4/en active Pending
- 2020-10-16 JP JP2022556806A patent/JP7452692B2/ja active Active
- 2020-10-16 AU AU2020472126A patent/AU2020472126B2/en active Active
- 2020-10-16 WO PCT/JP2020/039081 patent/WO2022079894A1/ja unknown
Non-Patent Citations (7)
Title |
---|
IBUKI MISHINADAI IGARASHIKOKI HAMADARYO KIKUCHI: "Designs and Implementations of Efficient and Accurate Secret Logistic Regression", CSS2018, 2018 |
KIKUCHI, R.IKARASHI, D.MATSUDA, T.HAMADA, K.CHIDA, K.: "Lecture Notes in Computer Science", vol. 10946, 2018, SPRINGER, article "Efficient Bit-Decomposition and Modulus-Conversion Protocols with an Honest Majority", pages: 64 - 82 |
MEHRDAD ALIASGARI ; MARINA BLANTON ; YIHUA ZHANG ; AARON STEELE: "Secure Computation on Floating Point Numbers", IACR, INTERNATIONAL ASSOCIATION FOR CRYPTOLOGIC RESEARCH, vol. 20121210:185402, 10 December 2012 (2012-12-10), pages 1 - 31, XP061007014 * |
RANDMETS, J.: "Programming Language for Secure Multi-party Computation Application Development", PHD THESIS. UNIVERSITY OF TARTU, 2017 |
See also references of EP4213135A4 |
TAKUMA AMADA; MASAHIRO NARA; TAKASHI NISHIDE; HIROSHI YOSHIURA: "2A2-2 Multiparty Computation with Redued Communication Complexity for Floating Point Arithmetic", PREPRINTS OF THE 2018 SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY (SCIS 2018); 23-26/01/2018, vol. 2018, 23 January 2018 (2018-01-23) - 26 January 2018 (2018-01-26), JP, pages 1 - 8, XP009530168 * |
TAKUMA AMADAMASAHIRO NARATAKASHI NISHIDEHIROSHI YOSHIURA: "Multiparty Computation for Floating Point Arithmetic with Less Communication over Small Fields", IPSJ JOURNAL, vol. 60, no. 9, 2019, pages 1433 - 1447 |
Also Published As
Publication number | Publication date |
---|---|
AU2020472126B2 (en) | 2024-02-15 |
AU2020472126A1 (en) | 2023-05-25 |
JPWO2022079894A1 (ja) | 2022-04-21 |
CN116368549A (zh) | 2023-06-30 |
JP7452692B2 (ja) | 2024-03-19 |
US20230359438A1 (en) | 2023-11-09 |
EP4213135A1 (en) | 2023-07-19 |
EP4213135A4 (en) | 2024-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6766182B2 (ja) | 秘密計算システム、秘密計算装置、秘密計算方法、プログラム | |
JP7067632B2 (ja) | 秘密シグモイド関数計算システム、秘密ロジスティック回帰計算システム、秘密シグモイド関数計算装置、秘密ロジスティック回帰計算装置、秘密シグモイド関数計算方法、秘密ロジスティック回帰計算方法、プログラム | |
JP7092206B2 (ja) | 秘密シグモイド関数計算システム、秘密ロジスティック回帰計算システム、秘密シグモイド関数計算装置、秘密ロジスティック回帰計算装置、秘密シグモイド関数計算方法、秘密ロジスティック回帰計算方法、プログラム | |
JPWO2018135563A1 (ja) | 秘密計算システム、秘密計算装置、秘密計算方法、プログラム | |
CN111931241A (zh) | 基于隐私保护的线性回归特征显著性检验方法、装置 | |
WO2021029024A1 (ja) | 秘密ソフトマックス関数計算システム、秘密ソフトマックス関数計算装置、秘密ソフトマックス関数計算方法、秘密ニューラルネットワーク計算システム、秘密ニューラルネットワーク学習システム、プログラム | |
JPWO2020075797A1 (ja) | 秘密右シフト演算システム、秘密除算システム、それらの方法、秘密計算装置、およびプログラム | |
Thomsen et al. | Optimized reversible binary-coded decimal adders | |
JPWO2018008545A1 (ja) | 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム | |
JP7315032B2 (ja) | 暗号化データ分析装置、暗号化データ分析方法、プログラム | |
WO2022079894A1 (ja) | 秘密指数部統一システム、秘密指数部統一装置、秘密指数部統一方法、秘密和計算システム、秘密積和計算システム、プログラム | |
WO2022079890A1 (ja) | 秘密シフトシステム、秘密シフト装置、秘密シフト方法、プログラム | |
JP7359225B2 (ja) | 秘密最大値計算装置、方法及びプログラム | |
WO2023281693A1 (ja) | 秘密計算システム、装置、方法及びプログラム | |
WO2023233622A1 (ja) | 秘密計算装置、秘密計算方法、プログラム | |
WO2023281694A1 (ja) | 秘密計算システム、装置、方法及びプログラム | |
WO2021149101A1 (ja) | 秘密選択積計算システム、秘密選択積計算方法、秘密計算装置、およびプログラム | |
WO2021149098A1 (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: 20957723 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2022556806 Country of ref document: JP Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 2020957723 Country of ref document: EP Effective date: 20230411 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2020472126 Country of ref document: AU Date of ref document: 20201016 Kind code of ref document: A |