JP5078632B2 - 秘密計算システム、秘密計算方法、および秘密計算プログラム - Google Patents
秘密計算システム、秘密計算方法、および秘密計算プログラム Download PDFInfo
- Publication number
- JP5078632B2 JP5078632B2 JP2008010928A JP2008010928A JP5078632B2 JP 5078632 B2 JP5078632 B2 JP 5078632B2 JP 2008010928 A JP2008010928 A JP 2008010928A JP 2008010928 A JP2008010928 A JP 2008010928A JP 5078632 B2 JP5078632 B2 JP 5078632B2
- Authority
- JP
- Japan
- Prior art keywords
- secret
- data
- fragment
- logic circuit
- circuit function
- 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.)
- Active
Links
Images
Description
論理回路関数f(x,y)と、yへの入力となるビット列mBとを保有する秘密計算装置Bは、以下の(a)〜(d)を実行することにより、論理回路関数f(x,mB)を秘匿化する。そして、秘密計算装置81Bは、論理回路関数f(x,mB)を秘匿化したデータTgを秘密計算装置81Aに送る。
(a) 秘密計算装置81Bは、論理回路関数f(x,mB)の各ワイヤーiに対して、固定長の乱数
(b) 次に、秘密計算装置81Bはランダムビットciを生成する。
(c) 更に、秘密計算装置81Bは、
(d)次に、秘密計算装置81Bは、i,jを入力ワイヤー、kを出力ワイヤーとする論理ゲートgに対して、4つのラベル付きデータ
xへの入力となるビット列mAを保有する秘密計算装置81Aは、秘密計算装置81Bと1−out−of−2 Oblivious Transferプロトコルを実行する。これにより、秘密計算装置81Aは、mAのビットbを入力とするワイヤーに対応するデータ
まず、秘密計算装置91Bは、以下の(a)〜(d)を実行することにより、論理回路関数fを秘匿化する。そして、秘密計算装置91Bは、論理回路関数fを秘匿化したデータTgを、論理回路関数fの秘匿化データとして秘密計算装置91Aに送信する。
(a) 秘密計算装置91Bは論理回路関数fの各ワイヤーiに対して、固定長の乱数
(b) 次に、秘密計算装置91Bは、ランダムビットciを生成する。
(c) 更に、秘密計算装置91Bは、
(d) 更に、秘密計算装置91Bは、i,jを入力ワイヤー、kを出力ワイヤーとする論理ゲートgに対して、4つのラベル付きデータ
各変換装置901〜90Nが、秘密計算装置91A,91Bとともに、proxy 1−out−of−2 Oblivious Transferを実行することにより、秘密計算装置91Aはmの各ビットbの入力ワイヤーiに対応するデータ
A.C.Yao, How to generate and exchange secrets,Proc. of FOCS ’86, pp.162−167,IEEE Press,1986. S.Even, O.Goldreich and A.Lempel,A randomized protocol for signing contracts, Communications of the ACM,Vol.28,No.6,pp.637−647,1985. M.Naor, B.Pinkas, and R.Sumner,Privacy preserving auctions and mechanism design,Proc. of ACM EC ’99,pp.129−139,ACM Press,1999.
第1の秘密計算装置と、第3の秘密計算装置と、前記論理回路関数fを保有している第2の秘密計算装置と、を有し、
前記第3の秘密計算装置は、ランダムなデータW=(W0,W1)を生成し、前記第1の入力値mAが分割演算子*で2つに分割された一方の断片tから、前記断片tの各ビットbに対応したデータWbを生成し、前記データWbを前記第1の秘密計算装置に送信し、前記データW=(W0,W1)を前記第2の秘密計算装置に送信し、
前記第2の秘密計算装置は、前記第1の入力値mAが分割された他方の断片s、前記論理回路関数f、および前記データWから、前記データWbを入力として前記演算結果f(mA)を求めることができる、前記断片sを埋め込んだ論理回路関数fを秘匿化したデータTを生成し、前記第1の秘密計算装置に送信し、
前記第1の秘密計算装置は、前記データTと前記データWbとを入力とし、前記演算結果f(mA)を算出する。
前記第2の秘密計算装置は、前記断片s、前記論理回路関数f、および前記データWに加えて更に前記入力値mBを用いて、前記データWbを入力として前記演算結果f(mA,mB)を求めることができる、前記断片sを埋め込んだ論理回路関数f(x,mB)を秘匿化したデータTを生成し、前記第1の秘密計算装置に送信し、
前記第1の秘密計算装置は、前記データTと前記データWbとを入力とし、前記第1および第2の入力値mA,mBに対する論理回路関数f(x,y)の演算結果f(mA,mB)を算出するとしてもよい。
図1は、第1の実施例による秘密計算システムの構成を示すブロック図である。図1を参照すると、秘密計算システムは、秘密計算装置11A,11B,11Cからなるシステムであり、入力値mA,mBを秘匿したまま、論理回路関数f(x,y)の演算結果f(mA,mB)を算出する。
論理回路関数f(x,y)のxへの入力となるビット列mAを保有する秘密計算装置11Aは、入力値mAを
秘密計算装置11Cは、論理回路関数fにおける入力値mAの入力ワイヤーi毎に、ランダムビットci、および固定長の乱数とciの組
論理回路関数f(x,y)、yへの入力となるビット列mB、および秘密計算装置11Aから受け取った断片sを保有する秘密計算装置Bは、以下の(a)〜(d)を実行することにより、論理回路関数f(x,mB)を秘匿化する。
(a) f(x,mB)の各ワイヤーiに対して、固定長の乱数
(b) 次に、秘密計算装置11Bはランダムビットciを生成する。ただし、mAの入力ワイヤーに対しては秘密計算装置11Cから受け取ったciを対応させる。
(c) 更に、秘密計算装置11Bは、
(d) i,jを入力ワイヤー、kを出力ワイヤーとする論理ゲートgに対して、4つのラベル付きデータ
図3は、第2の実施例による秘密計算システムの構成を示すブロック図である。第2の実施例は、第1の実施例の入力値mAに相当する入力値mが複数である点で第1の実施例と異なる。また、第2の実施例では、第1の実施例の入力値mBに相当する入力値が無い。また、第2の実施例では、複数の変換装置がそれぞれに入力値mを保有しており、その入力値mを断片s,tに分割し、sとtを秘密計算装置に提供する点で第1の実施例と異なる。
各変換装置201〜20Nは、保有しているデータmに対して、
秘密計算装置21Cは、論理回路関数fにおける入力ワイヤーi毎にランダムビットci、および固定長の乱数とciの組
秘密計算装置21Bは、以下の(a)〜(d)を実行し、論理回路関数fを秘匿化する。
(a) 秘密計算装置21Bは論理回路関数fの各ワイヤーiに対して、固定長の乱数
(b) 次に、秘密計算装置21Bはランダムビットciを生成する。ただし、mAの入力ワイヤーに対しては秘密計算装置11Cから受け取ったciを対応させる。
(c) 更に、秘密計算装置21Bは、
(d) 更に、秘密計算装置21Bは、i,jを入力ワイヤー、kを出力ワイヤーとする論理ゲートgに対して、4つのラベル付きデータ
秘密計算装置21Aは、データTgおよび
(第5のステップ)
更に、秘密計算装置21Aは
201〜20N 変換装置
Claims (10)
- 第1の入力値mAを秘匿したままで、該第1の入力値mAに対する論理回路関数fの演算結果f(mA)を算出する秘密計算システムであって、
第1の秘密計算装置と、第3の秘密計算装置と、前記論理回路関数fを保有している第2の秘密計算装置と、を有し、
前記第3の秘密計算装置は、ランダムなデータW=(W0,W1)を生成し、前記第1の入力値mAが分割演算子*で2つに分割された一方の断片tから、前記断片tの各ビットbに対応したデータWbを生成し、前記データWbを前記第1の秘密計算装置に送信し、前記データW=(W0,W1)を前記第2の秘密計算装置に送信し、
前記第2の秘密計算装置は、前記第1の入力値mAが分割された他方の断片s、前記論理回路関数f、および前記データWから、前記データWbを入力として前記演算結果f(mA)を求めることができる、前記断片sを埋め込んだ論理回路関数fを秘匿化したデータTを生成し、前記第1の秘密計算装置に送信し、
前記第1の秘密計算装置は、前記データTと前記データWbとを入力とし、前記演算結果f(mA)を算出する、秘密計算システム。 - 前記第1の秘密計算装置は、前記第1の入力値mAを保有しており、前記第1の入力値mAを分割演算子*で断片sと断片tの2つに分割し、前記断片sを前記第2の秘密計算装置に送信し、前記断片tを前記第3の秘密計算装置に送信する、請求項1に記載の秘密計算システム。
- 前記論理回路関数fは、2つの入力値を入力とする論理回路関数f(x,y)であり、第2の入力値mBを前記第2の秘密計算装置が保有しており、
前記第2の秘密計算装置は、前記断片s、前記論理回路関数f、および前記データWに加えて更に前記入力値mBを用いて、前記データWbを入力として前記演算結果f(mA,mB)を求めることができる、前記断片sを埋め込んだ論理回路関数f(x,mB)を秘匿化したデータTを生成し、前記第1の秘密計算装置に送信し、
前記第1の秘密計算装置は、前記データTと前記データWbとを入力とし、前記第1および第2の入力値mA,mBに対する論理回路関数f(x,y)の演算結果f(mA,mB)を算出する、請求項1または2に記載の秘密計算システム。 - 前記第1の入力値mAを、mA=s*tを満たすように、前記断片s,tに分割し、前記断片tを前記第3の秘密計算装置に送信し、前記断片sを前記第2の秘密計算装置に送信する変換装置を更に有する、請求項1に記載の秘密計算システム。
- 第1、第2、および第3の秘密計算装置により、第1の入力値mAを秘匿したままで、該第1の入力値mAに対する論理回路関数fの演算結果f(mA)を算出するための秘密計算方法であって、
第2の秘密計算装置にて前記論理回路関数fを保持しておき、
前記第3の秘密計算装置において、ランダムなデータW=(W0,W1)を生成し、前記第1の入力値mAが分割演算子*で2つに分割された一方の断片tから、前記断片tの各ビットbに対応したデータWbを生成し、前記データWbを前記第1の秘密計算装置に送信し、前記データW=(W0,W1)を前記第2の秘密計算装置に送信し、
前記第2の秘密計算装置において、前記第1の入力値mAが分割された他方の断片s、前記論理回路関数f、および前記データWから、前記データWbを入力として前記演算結果f(mA)を求めることができる、前記断片sを埋め込んだ論理回路関数fを秘匿化したデータTを生成し、前記第1の秘密計算装置に送信し、
前記第1の秘密計算装置において、前記データTと前記データWbとを入力とし、前記演算結果f(mA)を算出する、秘密計算方法。 - 前記第1の秘密計算装置において、前記第1の入力値mAを保有しており、前記第1の入力値mAを分割演算子*で断片sと断片tの2つに分割し、前記断片sを前記第2の秘密計算装置に送信し、前記断片tを前記第3の秘密計算装置に送信する、請求項5に記載の秘密計算方法。
- 前記論理回路関数fは、2つの入力値を入力とする論理回路関数f(x,y)であり、第2の入力値mBを前記第2の秘密計算装置にて保有しており、
前記第2の秘密計算装置において、前記断片s、前記論理回路関数f、および前記データWに加えて更に前記入力値mBを用いて、前記データWbを入力として前記演算結果f(mA,mB)を求めることができる、前記断片sを埋め込んだ論理回路関数f(x,mB)を秘匿化したデータTを生成し、前記第1の秘密計算装置に送信し、
前記第1の秘密計算装置において、前記データTと前記データWbとを入力とし、前記第1および第2の入力値mA,mBに対する論理回路関数f(x,y)の演算結果f(mA,mB)を算出する、請求項5または6に記載の秘密計算方法。 - 3台のコンピュータをそれぞれ第1、第2、および第3の秘密計算装置として動作させ、第1の入力値mAを秘匿したままで、該第1の入力値mAに対する論理回路関数fの演算結果f(mA)を算出する秘密計算プログラムであって、
前記第3の秘密計算装置が、ランダムなデータW=(W0,W1)を生成し、前記第1の入力値mAが分割演算子*で2つに分割された一方の断片tから、前記断片tの各ビットbに対応したデータWbを生成し、前記データWbを前記第1の秘密計算装置に送信し、前記データW=(W0,W1)を前記第2の秘密計算装置に送信する手順と、
前記論理回路関数fを保有している前記第2の秘密計算装置が、前記第1の入力値mAが分割された他方の断片s、前記論理回路関数f、および前記データWから、前記データWbを入力として前記演算結果f(mA)を求めることができる、前記断片sを埋め込んだ論理回路関数fを秘匿化したデータTを生成し、前記第1の秘密計算装置に送信する手順と、
前記第1の秘密計算装置が、前記データTと前記データWbとを入力とし、前記演算結果f(mA)を算出する手順と、をそれぞれ第1、第2、および第3の秘密計算装置としてコンピュータに実行させるための秘密計算プログラム。 - 前記第1の秘密計算装置が、前記第1の入力値mAを保有しており、前記第1の入力値mAを分割演算子*で断片sと断片tの2つに分割し、前記断片sを前記第2の秘密計算装置に送信し、前記断片tを前記第3の秘密計算装置に送信する、請求項8に記載の秘密計算プログラム。
- 前記論理回路関数fは、2つの入力値を入力とする論理回路関数f(x,y)であり、第2の入力値mBを前記第2の秘密計算装置が保有しており、
前記第2の秘密計算装置が、前記断片s、前記論理回路関数f、および前記データWに加えて更に前記入力値mBを用いて、前記データWbを入力として前記演算結果f(mA,mB)を求めることができる、前記断片sを埋め込んだ論理回路関数f(x,mB)を秘匿化したデータTを生成し、前記第1の秘密計算装置に送信し、
前記第1の秘密計算装置が、前記データTと前記データWbとを入力とし、前記第1および第2の入力値mA,mBに対する論理回路関数f(x,y)の演算結果f(mA,mB)を算出する、請求項8または9に記載の秘密計算プログラム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008010928A JP5078632B2 (ja) | 2008-01-21 | 2008-01-21 | 秘密計算システム、秘密計算方法、および秘密計算プログラム |
EP09703675.0A EP2242032B1 (en) | 2008-01-21 | 2009-01-21 | Secure computing system, secure computing method, secure computing apparatus and program therefor |
US12/812,916 US9300469B2 (en) | 2008-01-21 | 2009-01-21 | Secure computing system, secure computing method, secure computing apparatus, and program therefor |
CN200980102192.4A CN101911153B (zh) | 2008-01-21 | 2009-01-21 | 秘密计算系统、秘密计算方法、秘密计算装置 |
PCT/JP2009/050857 WO2009093603A1 (ja) | 2008-01-21 | 2009-01-21 | 秘密計算システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008010928A JP5078632B2 (ja) | 2008-01-21 | 2008-01-21 | 秘密計算システム、秘密計算方法、および秘密計算プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009175194A JP2009175194A (ja) | 2009-08-06 |
JP5078632B2 true JP5078632B2 (ja) | 2012-11-21 |
Family
ID=41030402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008010928A Active JP5078632B2 (ja) | 2008-01-21 | 2008-01-21 | 秘密計算システム、秘密計算方法、および秘密計算プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5078632B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5047198B2 (ja) * | 2008-01-21 | 2012-10-10 | 日本電信電話株式会社 | 秘密計算システム、秘密計算方法、秘密計算装置、検証装置、およびプログラム |
JP5337076B2 (ja) * | 2010-02-24 | 2013-11-06 | 日本電信電話株式会社 | 秘密計算システム、秘密計算方法、不正使用防止方法 |
-
2008
- 2008-01-21 JP JP2008010928A patent/JP5078632B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2009175194A (ja) | 2009-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11095428B2 (en) | Hybrid system and method for secure collaboration using homomorphic encryption and trusted hardware | |
US10033708B2 (en) | Secure computation using a server module | |
JP5047198B2 (ja) | 秘密計算システム、秘密計算方法、秘密計算装置、検証装置、およびプログラム | |
EP2901613A1 (en) | Input consistency verification for two-party secure function evaluation | |
Jayapandian et al. | Secure and efficient online data storage and sharing over cloud environment using probabilistic with homomorphic encryption | |
EP3447963A1 (en) | Method for protecting data | |
KR20240005674A (ko) | 사이퍼제닉스 기반 생태계 보안 플랫폼들 | |
CN111783129A (zh) | 一种保护隐私的数据处理方法及系统 | |
WO2016050276A1 (en) | Method and system for providing a secure update of code on a memory-constrained device | |
WO2009093603A1 (ja) | 秘密計算システム | |
Folkerts et al. | REDsec: Running encrypted discretized neural networks in seconds | |
JP5078632B2 (ja) | 秘密計算システム、秘密計算方法、および秘密計算プログラム | |
US20060269055A1 (en) | Method and apparatus for improving performance and security of DES-CBC encryption algorithm | |
Ajmal et al. | Cloud computing platform: Performance analysis of prominent cryptographic algorithms | |
JP6844897B2 (ja) | ビット分解秘密計算装置、ビット結合秘密計算装置、方法およびプログラム | |
TWI488478B (zh) | 執行對稱加密的技術 | |
JP6053983B2 (ja) | 暗号システム、署名システム、暗号プログラム及び署名プログラム | |
WO2015166701A1 (ja) | 暗号化方法、プログラム、および、システム | |
Buell | Modern symmetric ciphers—Des and Aes | |
WO2019111319A1 (ja) | 秘密等号判定システム、秘密等号判定方法および秘密等号判定プログラム記録媒体 | |
KR102019558B1 (ko) | 내재적 인증서를 사용하는 전자서명에 대한 효율적인 서명 검증 방법 | |
JP5103408B2 (ja) | 秘密計算システム、秘密計算方法、秘密計算プログラム | |
US11095429B2 (en) | Circuit concealing apparatus, calculation apparatus, and program | |
JP5578422B2 (ja) | 暗号化通信システム、送信装置、受信装置、暗号化/復号化方法およびそれらのプログラム | |
CN113330712A (zh) | 采用基于排列群的加密技术的加密系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100118 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120612 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120731 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120821 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120828 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150907 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5078632 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |