WO2021124520A1 - 秘密乱数生成システム、秘密計算装置、秘密乱数生成方法、およびプログラム - Google Patents

秘密乱数生成システム、秘密計算装置、秘密乱数生成方法、およびプログラム Download PDF

Info

Publication number
WO2021124520A1
WO2021124520A1 PCT/JP2019/049883 JP2019049883W WO2021124520A1 WO 2021124520 A1 WO2021124520 A1 WO 2021124520A1 JP 2019049883 W JP2019049883 W JP 2019049883W WO 2021124520 A1 WO2021124520 A1 WO 2021124520A1
Authority
WO
WIPO (PCT)
Prior art keywords
random number
secret
pseudo
random
share
Prior art date
Application number
PCT/JP2019/049883
Other languages
English (en)
French (fr)
Inventor
敦謙 市川
Original Assignee
日本電信電話株式会社
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 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to EP19956189.5A priority Critical patent/EP4080488B1/en
Priority to CN201980103026.XA priority patent/CN114830210A/zh
Priority to PCT/JP2019/049883 priority patent/WO2021124520A1/ja
Priority to JP2021565263A priority patent/JP7327511B2/ja
Priority to US17/781,723 priority patent/US20230004356A1/en
Publication of WO2021124520A1 publication Critical patent/WO2021124520A1/ja

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • 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
    • 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
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Definitions

  • the present invention relates to secret calculation technology and privacy protection technology.
  • Non-Patent Document 2 discloses a method of generating secret random noise according to a binomial distribution by using secret calculation. Since the noise following the binomial distribution is used to satisfy the output privacy protection standard called differential privacy, it can be said that Non-Patent Document 2 is a useful technique for achieving output privacy protection in secret calculation.
  • Non-Patent Document 2 there is a problem that a communication amount corresponding to the noise range is required when generating noise. Since the noise range is enormous depending on the range of the calculation result to be protected and the protection strength, a large amount of communication is required to achieve sufficient protection strength for any calculation. I will end up with. From the viewpoint of speeding up secret calculation, reducing this amount of communication has been a major issue.
  • An object of the present invention is to generate a secret random number that follows a binomial distribution without going through sequential communication in view of the above technical problems.
  • the secret random number generation system of one aspect of the present invention is a secret random number generation system that includes a plurality of secret calculation devices and generates a secret value of a random number that follows a binomial distribution, and is a secret calculation.
  • the device includes a storage unit that stores a pseudo-random function and at least one set of keys and a polynomial, a pseudo-random number generator that calculates a pseudo-random function using each key and obtains a pseudo-random number corresponding to each key, and each.
  • It includes a bit counting unit that counts the number of 1s included in the pseudo-random number, and a random number share generation unit that obtains the sum of products of the number of 1s and the output of the polynomial corresponding to the number of 1s as a random number share.
  • FIG. 1 is a diagram illustrating a functional configuration of a secret random number generation system.
  • FIG. 2 is a diagram illustrating the functional configuration of the secret calculation device.
  • FIG. 3 is a diagram illustrating a processing procedure of the secret random number generation method.
  • FIG. 4 is a diagram illustrating a functional configuration of a computer.
  • Shamir's Secret Sharing method is a method of distributing the secret value s into n fragments by a random polynomial f and restoring the secret value s from any t fragments (for example, Reference 1). reference).
  • a shared one fragment in which a certain value is dispersed
  • a secret value a set of all shares
  • the concealed value of a certain value / is expressed as [ ⁇ ]
  • the i-th share of the concealed value [ ⁇ ] is expressed as [ ⁇ ] i .
  • n is an integer of 3 or more
  • t is an integer satisfying n ⁇ 2t-1.
  • Pseudo-random secret sharing is a method of using a pseudo-random function to generate a share of uniform random numbers without communication (see, for example, Reference 2).
  • K ⁇ ⁇ 0, 1 ⁇ ⁇ ⁇ Z p is a function that outputs a random number on a (almost) uniform finite field Z p by inputting a secret key and a bit string of length ⁇ .
  • K represents a key space.
  • each party When random number generation is required, each party generates pseudo-random numbers using a commonly used value a such as a time stamp. Specifically, when each party P i is included in the set A j and has the key set ⁇ k A_j ⁇ , each party P i is [r] i ⁇ ⁇ j PRF (k A_j , a) ⁇ f Calculate A_j (i). However, where J is the number of sets A to which party P i belongs, j is each integer greater than or equal to 1 and less than or equal to J.
  • N ( ⁇ 3) secret calculation devices cooperate to calculate a secret value of a random value according to a binomial distribution.
  • N ( ⁇ 3) secret calculation devices cooperate to calculate a secret value of a random value according to a binomial distribution.
  • the secret random number generation system 100 of the embodiment includes, for example, n ( ⁇ 3) secret calculation devices 1 1 , ..., 1 n, as shown in FIG.
  • the secret computing devices 1 1 , ..., 1 n are connected to the communication network 9, respectively.
  • the communication network 9 is a circuit-switched or packet-switched communication network configured so that each connected device can communicate with each other.
  • the Internet LAN (Local Area Network), WAN (Wide Area Network). Etc. can be used. It should be noted that each device does not necessarily have to be able to communicate online via the communication network 9.
  • the information to be input to the secret calculation device 1 1 , ..., 1 n is stored in a portable recording medium such as a magnetic tape or a USB memory, and the portable recording medium is offline to the secret calculation device 1 1 , ..., 1 n. It may be configured to be input with.
  • the secret computing device 1 i is configured by loading a special program into, for example, a publicly known or dedicated computer having a central processing unit (CPU), a main storage device (RAM: Random Access Memory), and the like. It is a special device.
  • the secret calculation device 1 i executes each process under the control of the central processing unit, for example.
  • the data input to the secret computing device 1i and the data obtained in each process are stored in, for example, the main storage device, and the data stored in the main storage device is read out to the central arithmetic processing unit as needed. It is used for other processing.
  • At least a part of each processing unit of the secret calculation device 1i may be configured by hardware such as an integrated circuit.
  • Each storage unit included in the secret computing device 1 i is, for example, a main storage device such as RAM (Random Access Memory), an auxiliary storage device composed of a hard disk, an optical disk, or a semiconductor memory element such as a flash memory. Alternatively, it can be configured with middleware such as a relational database or key value store.
  • a main storage device such as RAM (Random Access Memory)
  • auxiliary storage device composed of a hard disk, an optical disk, or a semiconductor memory element such as a flash memory.
  • middleware such as a relational database or key value store.
  • the parameter storage unit 10 contains a pseudo-random function PRF: K ⁇ ⁇ 0, 1 ⁇ ⁇ ⁇ ⁇ 0, 1 ⁇ L , J keys ⁇ k A_1 ,..., k A_J ⁇ , and J polynomials ⁇ f. A_1 (x),..., f A_J (x) ⁇ are stored.
  • step S11 the pseudo-random number generator 11 uses each key k A_j and parameter a stored in the parameter storage unit 10 for each integer j of 1 or more and J or less, and uses the pseudo-random function PRF (k A_j , a). ) Is calculated.
  • Parameter a is a parameter that can be commonly used among all secret arithmetic units 1 1 , ..., 1 n , such as a time stamp.
  • the pseudo-random number generation unit 11 outputs the pseudo-random number p A_j calculated from each key k A_j to the bit counting unit 12.
  • step S12 the bit counting unit 12 obtains the number r A_j of 1 included in each pseudo-random number p A_j for each integer j of 1 or more and J or less.
  • the bit counting unit 12 outputs the number r A_j of 1 obtained from each pseudo-random number p A_j to the random number share generation unit 13.
  • step S13 the random number share generation unit 13 calculates the product sum [r] i ⁇ ⁇ j r A_j ⁇ f A_j (i) of the number r A_j of 1 and the output of the polynomial f A_j (i).
  • i is the number of the secret computing device.
  • the random number share generation unit 13 outputs the share [r] i of the random number r to the output unit 14.
  • step S14 the output unit 14 outputs the share [r] i of the random number r.
  • the L-bit pseudo-random number p A which is the output of the pseudo-random function PRF (k A , a), follows the binomial distribution Bin (L, 1/2) in which the number r A of 1 is included.
  • nCn-t + 1 represents the number of combinations that select different n-t + 1 from n different.
  • all of these calculations can be calculated locally, eliminating the need for communication between parties.
  • the present invention utilizes this property to obtain the share [r] i of random numbers according to the binomial distribution Bin (N, 1/2) without each party communicating with each other, and conceal the random number r as a whole system. It produces the value [r].
  • sequential communication in secret random number generation is eliminated based on the pseudo-random secret sharing method.
  • the amount of communication is greatly reduced as compared with the conventional method.
  • a secret random number according to a binomial distribution that can be used for output privacy protection of a secret calculation result can be generated without using sequential communication.
  • an amount of communication proportional to the noise range N is required.
  • the program that describes this processing content can be recorded on a computer-readable recording medium.
  • the computer-readable recording medium may be, for example, a magnetic recording device, an optical disk, a photomagnetic recording medium, a semiconductor memory, or the like.
  • the distribution of this program is carried out, for example, by selling, transferring, or renting a portable recording medium such as a DVD or CD-ROM on which the program is recorded.
  • 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 a network.
  • a computer that executes such a program first stores, for example, 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. Each time, the processing according to the received program may be executed sequentially. 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 to be 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 of defining the processing of the computer, etc.).
  • the present device is configured by executing a predetermined program on the computer, but at least a part of these processing contents may be realized by hardware.

Landscapes

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

Abstract

逐次の通信を介することなく二項分布に従う秘密乱数を生成する。秘密計算装置(1i)は、二項分布に従う乱数rのシェア[r]iを生成する。パラメータ記憶部(10)は、疑似ランダム関数PRFと少なくとも1組の鍵kAおよび多項式fAとを記憶する。疑似乱数生成部(11)は、各鍵kAを用いて疑似ランダム関数PRF(kA, a)を計算して各鍵kAに対応する疑似乱数pAを得る。ビット計数部(12)は、各疑似乱数pAに含まれる1の個数rAを数える。乱数シェア生成部(13)は、1の個数rAと1の個数rAに対応する多項式fA(i)の出力との積和を乱数rのシェア[r]iとして得る。

Description

秘密乱数生成システム、秘密計算装置、秘密乱数生成方法、およびプログラム
 この発明は、秘密計算技術およびプライバシ保護技術に関する。
 昨今、個人情報を始めとするプライバシデータの活用需要が高まる中、情報を秘密にしたままで様々な計算を行える秘密計算技術が注目を集めつつある。秘密計算は、様々な応用例に富む有用な技術である(例えば、非特許文献1参照)。しかしながら、秘密計算は計算結果の正確さ(正当性)が保証されているがゆえ、「出力プライバシ」と呼ばれる計算結果のプライバシをカバーできていない。出力プライバシの保護には、例えばランダムノイズによる計算結果の撹拌などが必要であり、秘密計算においてもこうした撹拌、ひいてはランダムノイズの生成が1つの技術的課題となる。
 こうした課題に対し、非特許文献2には、秘密計算を用いて、二項分布に従う秘密のランダムノイズを生成する方法が開示されている。二項分布に従うノイズは差分プライバシと呼ばれる出力プライバシ保護基準を満たすために用いられることから、非特許文献2は秘密計算において出力プライバシ保護を達成する有用な技術であると言える。
桐淵直人,五十嵐大,濱田浩気,菊池亮,"プログラマブルな秘密計算ライブラリMEVAL3",暗号と情報セキュリティシンポジウム(SCIS),2018年 C. Dwork, K, Kenthapadi, F. McSherry, I. Mironov, M. Naor, "Our data, ourselves: privacy via distributed noise generation", Advances in Cryptology, EUROCRYPT, LNCS 4004, pp. 486-503, 2006.
 しかしながら、非特許文献2では、ノイズ生成の際に、ノイズの値域に応じた通信量が必要となってしまう課題がある。ノイズの値域は、保護対象である計算結果の値域と保護強度に依存して莫大となることから、任意の計算に対して十分な保護強度を達成するためには、それだけ多くの通信量を必要としてしまう。秘密計算の高速化の観点から、この通信量を削減することが大きな課題となっていた。
 この発明の目的は、上記のような技術的課題に鑑みて、逐次の通信を介することなく二項分布に従う秘密乱数を生成することである。
 上記の課題を解決するために、この発明の一態様の秘密乱数生成システムは、複数の秘密計算装置を含み、二項分布に従う乱数の秘匿値を生成する秘密乱数生成システムであって、秘密計算装置は、疑似ランダム関数と少なくとも1組の鍵および多項式とを記憶する記憶部と、各鍵を用いて疑似ランダム関数を計算して各鍵に対応する疑似乱数を得る疑似乱数生成部と、各疑似乱数に含まれる1の個数を数えるビット計数部と、1の個数と当該1の個数に対応する多項式の出力との積和を乱数のシェアとして得る乱数シェア生成部と、を含む。
 この発明によれば、逐次の通信を介することなく二項分布に従う秘密乱数を生成することができる。この秘密乱数を用いて計算結果の撹拌を行うことで、秘密計算における出力プライバシを効率的に保護することができる。
図1は、秘密乱数生成システムの機能構成を例示する図である。 図2は、秘密計算装置の機能構成を例示する図である。 図3は、秘密乱数生成方法の処理手順を例示する図である。 図4は、コンピュータの機能構成を例示する図である。
 本明細書において、下付き添え字中の「_」(アンダースコア)は、左側の文字に右側の文字が下付き添え字で付されることを表す。すなわち、「ab_c」は、aにbcが下付き添え字で付されていることを表す。
 まず、本発明で前提とする既存技術について説明する。
 <シャミアの秘密分散法>
 シャミアの秘密分散法は、秘密の値sをランダムな多項式fによりn個の断片に分散し、また、任意のt個の断片から秘密の値sを復元する方法である(例えば、参考文献1参照)。以下、ある値を分散した1個の断片を「シェア」と呼び、すべてのシェアの集合を「秘匿値」と呼ぶ。ある値・の秘匿値は[・]と表し、秘匿値[・]のi番目のシェアは[・]iと表す。ただし、nは3以上の整数であり、tはn≧2t-1を満たす整数である。
 〔参考文献1〕A. Shamir, "How to share a secret," Communications of the ACM, Vol. 22, No. 11, pp. 612-613, 1979.
 シャミアの秘密分散法では、まず、位数pの有限体Zp上の秘密sに対し、有限体Zp上のt-1次多項式f(x)=rt-1xt-1+…+r1x1+sを選択する。ただし、各riは有限体Zp上のランダムな値である。このとき、秘密sのシェア[s]1, …, [s]nそれぞれを、例えば[s]i=f(i)として得ることができる。秘密sを復元する場合は、重複しない任意のt個以上のシェアを用いて多項式補間を行い、多項式f(x)の定数項sを求める。
 <疑似ランダム秘密分散>
 擬似ランダム秘密分散は、擬似ランダム関数を用いて、通信を介さずに一様乱数のシェアを生成する方法である(例えば、参考文献2参照)。
 〔参考文献2〕R. Cramer, I. Damgard, and Y. Ishai, "Share conversion, pseudorandom secret-sharing and applications to secure computation," Theory of Cryptography, LNCS 3378, pp. 342-362, 2005.
 擬似ランダム関数PRF: K×{0, 1}α→Zpを、秘密鍵と長さαのビット列を入力として、(ほぼ)一様な有限体Zp上の乱数を出力する関数である。ここで、Kは鍵空間を表す。また、シャミアの秘密分散法におけるシェアをn台のパーティP1, …, Pnでそれぞれ分散して所持する場合を考える。このとき、以下のようにして、乱数rのシェア[r]1, …, [r]nをnパーティで共有する。
 1.まず事前に、擬似ランダム関数の鍵を一部のパーティの間で共有しておく。具体的には、Aをnパーティの中からn-t+1パーティを選んだ集合とし、集合Aに含まれるn-t+1パーティ全員で鍵kA∈Kを共有する。逆に、集合Aに含まれないt-1パーティは鍵kAに関する情報を得ない。同様にして、想定し得るすべての集合Aについて、それぞれ別の鍵kAを共有する。また別途、すべての集合Aについて、それぞれに対応するt次多項式fAを共有する。ただし、fA(0)=1かつfA(i)=0(Piが集合Aに含まれないとき)を満たすものとする。
 2.乱数生成が必要となった際には、各パーティが、例えばタイムスタンプなど共通に用いられる値aにより、疑似乱数生成を行う。具体的には、各パーティPiが集合Ajに含まれ、鍵集合{kA_j}を持っているとき、各パーティPiが[r]i←ΣjPRF(kA_j, a)・fA_j(i)を計算する。ただし、JをパーティPiが属する集合Aの数として、jは1以上J以下の各整数である。
 上記の処理により各パーティPiが得られるシェア[r]iは、疑似乱数r=ΣAPRF(kA, a)のシェアとなっている。
 <二項分布>
 Lビットの一様乱数r∈{0, 1}Lに含まれる1の個数は、二項分布Bin(L, 1/2)に従う乱数となることが知られている。擬似ランダム関数PRF: K×{0, 1}α→{0, 1}Lが十分な一様性を持つならば、疑似乱数PRF(k, a)に含まれる1の個数もまた同様に二項分布Bin(L, 1/2)に従うと言える。
 [実施形態]
 以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
 実施形態の秘密乱数生成システムは、N(≧3)台の秘密計算装置が協調して、二項分布に従うランダムな値の秘匿値を計算する。本実施形態では、シャミアの秘密分散法に基づくマルチパーティ計算を用いることを想定する。
 実施形態の秘密乱数生成システム100は、例えば、図1に示すように、n(≧3)台の秘密計算装置11, …, 1nを含む。本実施形態では、秘密計算装置11, …, 1nはそれぞれ通信網9へ接続される。通信網9は、接続される各装置が相互に通信可能なように構成された回線交換方式もしくはパケット交換方式の通信網であり、例えばインターネットやLAN(Local Area Network)、WAN(Wide Area Network)などを用いることができる。なお、各装置は必ずしも通信網9を介してオンラインで通信可能である必要はない。例えば、秘密計算装置11, …, 1nへ入力する情報を磁気テープやUSBメモリなどの可搬型記録媒体に記憶し、その可搬型記録媒体から秘密計算装置11, …, 1nへオフラインで入力するように構成してもよい。
 実施形態の秘密乱数生成システム100に含まれる秘密計算装置1i(i=1, …, n)は、例えば、図2に示すように、パラメータ記憶部10、疑似乱数生成部11、ビット計数部12、乱数シェア生成部13、および出力部14を備える。この秘密計算装置1i(i=1, …, n)が他の秘密計算装置1j(j=1, …, n、ただしi≠j)と協調しながら後述する各ステップの処理を行うことにより本実施形態の秘密乱数生成方法が実現される。
 秘密計算装置1iは、例えば、中央演算処理装置(CPU: Central Processing Unit)、主記憶装置(RAM: Random Access Memory)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。秘密計算装置1iは、例えば、中央演算処理装置の制御のもとで各処理を実行する。秘密計算装置1iに入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて中央演算処理装置へ読み出されて他の処理に利用される。秘密計算装置1iの各処理部は、少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。秘密計算装置1iが備える各記憶部は、例えば、RAM(Random Access Memory)などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリ(Flash Memory)のような半導体メモリ素子により構成される補助記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。
 以下、図3を参照しながら、実施形態の秘密乱数生成システム100が実行する秘密乱数生成方法の処理手続きを説明する。
 パラメータ記憶部10には、疑似ランダム関数PRF: K×{0, 1}α→{0, 1}Lと、J個の鍵{kA_1, …, kA_J}と、J個の多項式{fA_1(x), …, fA_J(x)}とが記憶されている。
 ステップS11において、疑似乱数生成部11は、1以上J以下の各整数jについて、パラメータ記憶部10に記憶された各鍵kA_jとパラメータaとを用いて、疑似ランダム関数PRF(kA_j, a)を計算する。パラメータaは、例えばタイムスタンプなど、すべての秘密計算装置11, …, 1nの間で共通に利用できるパラメータである。疑似乱数生成部11は、各鍵kA_jから計算した疑似乱数pA_jをビット計数部12へ出力する。
 ステップS12において、ビット計数部12は、1以上J以下の各整数jについて、各疑似乱数pA_jに含まれる1の個数rA_jを求める。ビット計数部12は、各疑似乱数pA_jから求めた1の個数rA_jを乱数シェア生成部13へ出力する。
 ステップS13において、乱数シェア生成部13は、1の個数rA_jと多項式fA_j(i)の出力との積和[r]i←ΣjrA_j・fA_j(i)を計算する。ただし、iは秘密計算装置の番号である。この[r]iは乱数r=ΣArAのシェアとなっている。乱数シェア生成部13は、乱数rのシェア[r]iを出力部14へ出力する。
 ステップS14において、出力部14は、乱数rのシェア[r]iを出力する。
 疑似ランダム関数PRF(kA, a)の出力であるLビットの疑似乱数pAは、これに含まれる1の個数rAが二項分布Bin(L, 1/2)に従う。同様に、各パーティで共有するすべての鍵kAにより計算した計N=(nCn-t+1)×Lビットの乱数に含まれる1の個数rは、二項分布Bin(N, 1/2)に従うこととなる。ここで、nCn-t+1は異なるn個から異なるn-t+1個を選ぶ組み合わせの数を表す。この1の個数rはr=ΣArAを満たす。また、これらの計算はすべてローカルで計算可能であるため、パーティ間の通信は不要である。本発明は、この性質を利用して、各パーティが互いに通信を行うことなく、二項分布Bin(N, 1/2)に従う乱数のシェア[r]iを求め、システム全体として乱数rの秘匿値[r]を生成するものである。
 本発明では、疑似ランダム秘密分散法に基づき、秘密乱数生成における逐次の通信を不要化した。このとき、一様乱数を生成する疑似ランダム秘密分散法を、二項分布に従う乱数を生成できるよう変更することで、従来法に比べ通信量を大きく削減した。このように、本発明によれば、秘密計算結果の出力プライバシ保護などに用いることのできる二項分布に従う秘密乱数を、逐次の通信を介することなく生成することができる。従来の方法では、秘密乱数生成のたびにノイズの値域Nに比例する量の通信を必要としていた。
 以上、この発明の実施の形態について説明したが、具体的な構成は、これらの実施の形態に限られるものではなく、この発明の趣旨を逸脱しない範囲で適宜設計の変更等があっても、この発明に含まれることはいうまでもない。実施の形態において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
 [プログラム、記録媒体]
 上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムを図4に示すコンピュータの記憶部1020に読み込ませ、制御部1010、入力部1030、出力部1040などに動作させることにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
 この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
 また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
 このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
 また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

Claims (4)

  1.  複数の秘密計算装置を含み、二項分布に従う乱数の秘匿値を生成する秘密乱数生成システムであって、
     前記秘密計算装置は、
     疑似ランダム関数と少なくとも1組の鍵および多項式とを記憶する記憶部と、
     前記各鍵を用いて前記疑似ランダム関数を計算して前記各鍵に対応する疑似乱数を得る疑似乱数生成部と、
     前記各疑似乱数に含まれる1の個数を数えるビット計数部と、
     前記1の個数と当該1の個数に対応する前記多項式の出力との積和を前記乱数のシェアとして得る乱数シェア生成部と、
     を含む秘密乱数生成システム。
  2.  二項分布に従う乱数の秘匿値を生成する秘密乱数生成システムで用いられる秘密計算装置であって、
     疑似ランダム関数と少なくとも1組の鍵および多項式とを記憶する記憶部と、
     前記各鍵を用いて前記疑似ランダム関数を計算して前記各鍵に対応する疑似乱数を得る疑似乱数生成部と、
     前記各疑似乱数に含まれる1の個数を数えるビット計数部と、
     前記1の個数と当該1の個数に対応する前記多項式の出力との積和を前記乱数のシェアとして得る乱数シェア生成部と、
     を含む秘密計算装置。
  3.  二項分布に従う乱数の秘匿値を生成する秘密乱数生成システムが実行する秘密乱数生成方法であって、
     記憶部に、疑似ランダム関数と少なくとも1組の鍵および多項式とが記憶されており、
     疑似乱数生成部が、前記各鍵を用いて前記疑似ランダム関数を計算して前記各鍵に対応する疑似乱数を得、
     ビット計数部が、前記各疑似乱数に含まれる1の個数を数え、
     乱数シェア生成部が、前記1の個数と当該1の個数に対応する前記多項式の出力との積和を前記乱数のシェアとして得る、
     秘密乱数生成方法。
  4.  請求項2に記載の秘密計算装置としてコンピュータを機能させるためのプログラム。
PCT/JP2019/049883 2019-12-19 2019-12-19 秘密乱数生成システム、秘密計算装置、秘密乱数生成方法、およびプログラム WO2021124520A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP19956189.5A EP4080488B1 (en) 2019-12-19 2019-12-19 Secret random number generation system, secret calculation device, secret random number generation method, and program
CN201980103026.XA CN114830210A (zh) 2019-12-19 2019-12-19 秘密随机数生成系统、秘密计算装置、秘密随机数生成方法以及程序
PCT/JP2019/049883 WO2021124520A1 (ja) 2019-12-19 2019-12-19 秘密乱数生成システム、秘密計算装置、秘密乱数生成方法、およびプログラム
JP2021565263A JP7327511B2 (ja) 2019-12-19 2019-12-19 秘密乱数生成システム、秘密計算装置、秘密乱数生成方法、およびプログラム
US17/781,723 US20230004356A1 (en) 2019-12-19 2019-12-19 Secure random number generation system, secure computation apparatus, secure random number generation method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/049883 WO2021124520A1 (ja) 2019-12-19 2019-12-19 秘密乱数生成システム、秘密計算装置、秘密乱数生成方法、およびプログラム

Publications (1)

Publication Number Publication Date
WO2021124520A1 true WO2021124520A1 (ja) 2021-06-24

Family

ID=76477424

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/049883 WO2021124520A1 (ja) 2019-12-19 2019-12-19 秘密乱数生成システム、秘密計算装置、秘密乱数生成方法、およびプログラム

Country Status (5)

Country Link
US (1) US20230004356A1 (ja)
EP (1) EP4080488B1 (ja)
JP (1) JP7327511B2 (ja)
CN (1) CN114830210A (ja)
WO (1) WO2021124520A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024013814A1 (ja) * 2022-07-11 2024-01-18 日本電信電話株式会社 秘匿ノイズ生成システム、秘匿ノイズ生成方法及びプログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070083493A1 (en) * 2005-10-06 2007-04-12 Microsoft Corporation Noise in secure function evaluation

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6693508B2 (ja) * 2015-04-03 2020-05-13 日本電気株式会社 秘密計算システム、サーバ装置、秘密計算方法、および、プログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070083493A1 (en) * 2005-10-06 2007-04-12 Microsoft Corporation Noise in secure function evaluation

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
A. SHAMIR: "How to share a secret", COMMUNICATIONS OF THE ACM, vol. 22, no. 11, 1979, pages 612 - 613, XP000565227, DOI: 10.1145/359168.359176
C. DWORKK, KENTHAPADIF. MCSHERRYI. MIRONOVM. NAOR: "Our data, ourselves: privacy via distributed noise generation", ADVANCES IN CRYPTOLOGY, EUROCRYPT, LNCS, vol. 4004, 2006, pages 486 - 503
DAHL, MORTEN ET AL.: "Private Data Aggregation on a Budget", CRYPTOLOGY EPRINT ARCHIVE: REPORT 2017 / 643, 2017, pages 1 - 36, XP061023771, Retrieved from the Internet <URL:https://eprint.iacr.org/2017/643> [retrieved on 20200730] *
NAOTO KIRIBUCHIDAI IKARASHIKOKI HAMADARYO KIKUCHI: "MEVAL3: A Library for Programmable Secure Computation", SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY (SCIS, 2018
R. CRAMERI. DAMGARDY. ISHAI: "Share conversion, pseudorandom secret-sharing and applications to secure computation", THEORY OF CRYPTOGRAPHY, LNCS, vol. 3378, 2005, pages 342 - 362, XP047029379
See also references of EP4080488A4

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024013814A1 (ja) * 2022-07-11 2024-01-18 日本電信電話株式会社 秘匿ノイズ生成システム、秘匿ノイズ生成方法及びプログラム

Also Published As

Publication number Publication date
JP7327511B2 (ja) 2023-08-16
EP4080488B1 (en) 2024-02-28
CN114830210A (zh) 2022-07-29
EP4080488A4 (en) 2023-08-16
EP4080488A1 (en) 2022-10-26
US20230004356A1 (en) 2023-01-05
JPWO2021124520A1 (ja) 2021-06-24

Similar Documents

Publication Publication Date Title
JP6095792B2 (ja) 秘密ビット分解装置、秘密モジュラス変換装置、秘密ビット分解方法、秘密モジュラス変換方法、プログラム
Çetin et al. Private queries on encrypted genomic data
Wu et al. Secure and efficient outsourced k-means clustering using fully homomorphic encryption with ciphertext packing technique
US11764943B2 (en) Methods and systems for somewhat homomorphic encryption and key updates based on geometric algebra for distributed ledger/blockchain technology
JP5762232B2 (ja) プライバシを保護したまま暗号化された要素の順序を選択するための方法およびシステム
Catrina Round-efficient protocols for secure multiparty fixed-point arithmetic
WO2020075797A1 (ja) 秘密右シフト演算システム、秘密除算システム、それらの方法、秘密計算装置、およびプログラム
WO2017065123A1 (ja) 秘密乱数合成装置、秘密乱数合成方法、およびプログラム
Jeng et al. An efficient key-management scheme for hierarchical access control based on elliptic curve cryptosystem
JPWO2018135511A1 (ja) 秘密計算方法、秘密計算システム、秘密計算装置、およびプログラム
WO2021124519A1 (ja) 秘密乱数生成システム、秘密計算装置、秘密乱数生成方法、およびプログラム
Oliveira et al. Fast point multiplication algorithms for binary elliptic curves with and without precomputation
JP2023063430A (ja) 暗号システム、鍵生成装置、暗号化装置、復号装置、方法及びプログラム
KR101553986B1 (ko) 분산 데이터 저장, 복원 시스템 및 방법
WO2021124520A1 (ja) 秘密乱数生成システム、秘密計算装置、秘密乱数生成方法、およびプログラム
JP2020519968A (ja) ビット分解秘密計算装置、ビット結合秘密計算装置、方法およびプログラム
Crampton Cryptographically-enforced hierarchical access control with multiple keys
WO2020152831A1 (ja) 情報処理装置、秘密計算方法及びプログラム
JP6693503B2 (ja) 秘匿検索システム、サーバ装置、秘匿検索方法、検索方法、およびプログラム
JP2017223822A (ja) 暗号文処理システム、暗号文処理サーバ、及び暗号文処理方法
WO2023243141A1 (ja) 連合学習システム及び連合学習方法
WO2024028961A1 (ja) 暗号システム、方法及びプログラム
CN108040068B (zh) 基于云安全平台的快速访问控制系统
WO2022153383A1 (ja) 秘密関係代数演算システム、秘密計算装置、秘密関係代数演算方法、およびプログラム
JPWO2018211653A1 (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: 19956189

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021565263

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: 2019956189

Country of ref document: EP

Effective date: 20220719