JP5937556B2 - 秘密計算装置、秘匿検索システム、秘密計算方法、秘匿検索方法、プログラム - Google Patents
秘密計算装置、秘匿検索システム、秘密計算方法、秘匿検索方法、プログラム Download PDFInfo
- Publication number
- JP5937556B2 JP5937556B2 JP2013203167A JP2013203167A JP5937556B2 JP 5937556 B2 JP5937556 B2 JP 5937556B2 JP 2013203167 A JP2013203167 A JP 2013203167A JP 2013203167 A JP2013203167 A JP 2013203167A JP 5937556 B2 JP5937556 B2 JP 5937556B2
- Authority
- JP
- Japan
- Prior art keywords
- random number
- secret
- search
- calculation
- prime
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
図10を参照して本実施例の秘匿検索システム1000の属性乱数生成動作について説明する。図10は本実施例の秘匿検索システム1000の属性乱数生成動作を示すシーケンス図である。図10に示すように、属性乱数が生成済みでない場合(図10のNOの枠内参照)、データ登録装置1のデータ登録部11の属性乱数生成要求部110は、n台の秘密計算装置間2−1、2−2、…、2−nに属性乱数生成要求を送信する(S110)。秘密計算装置2の属性乱数生成部21の素数生成部211は、第1素数pが第2素数qの2倍に1を加えた数と等しくなるように(p=2q+1)、第1素数p、第2素数qを生成する(S211)。なお、素数生成部211が秘密計算装置2内ではなく、データ登録装置1のデータ登録部11内に含まれる場合には、秘密計算装置2はステップS211を実行しない。この場合、秘密計算装置2の属性乱数生成部21は、データ登録装置1のデータ登録部11内の素数生成部211から第1素数p、第2素数qを取得する。属性乱数生成部21の属性乱数計算部212は、秘密計算により、1以上かつ第2素数q未満の属性乱数r(rは整数)を計算する(S212)。属性乱数生成部21の属性乱数断片分散保持部213は、属性乱数rの断片をn台の秘密計算装置間で分散保持する(S213)。ステップS212、S213の具体的な方法は、例えば参考非特許文献1の2章(Joint Random Non-Zero Sharing)に開示されている。属性乱数生成部21の属性乱数生成完了通知部214は、データ登録装置1のデータ登録部11に属性乱数生成の完了通知を送信する(S214)。
(参考非特許文献1)Naoto Kiribuchi, Ryo Kato, Takashi Nishide, Tsukasa Endo, and Hiroshi Yoshiura, “Accelerating Multiparty Computation by Efficient Random Number Bitwise-Sharing Protocols,” WISA 2011, LNCS 7115, pp. 187-202, 2012.
図11、図12を参照して本実施例の秘匿検索システム1000の検索乱数生成動作について説明する。図11、図12は本実施例の秘匿検索システム1000の検索乱数生成動作を示すシーケンス図である。図11に示すように、検索乱数が生成済みでない場合(図11のNOの枠内参照)、データ登録装置1のデータ登録部11の第1検索乱数生成要求部111は、第1検索乱数前処理部12に検索乱数の生成要求を送信する(S111)。データ登録装置1の第1検索乱数前処理部12の第1中間乱数生成部121は、1以上かつ第2素数q未満の中間乱数Rを生成する(S121)。第1検索乱数前処理部12の第1逆元計算部122は、中間乱数Rとその逆元R−1の積が、第2素数qを除数として1を被除数とした剰余と等しくなるように(R×R−1=1 mod q)、中間乱数Rの逆元R−1を計算する(S122)。第1検索乱数前処理部12の第1逆元断片分散保持部123は、逆元R−1の断片をn台の秘密計算装置間で分散保持する(S123)。
(参考非特許文献2)Aleksandr Yampolskiy, “Efficient Cryptographic Tools for Secure Distributed Computing,” PhD Thesis, Yale University, 2006.
図13、図14を参照して本実施例の秘匿検索システム1000のデータ検索時のタグ計算動作について説明する。図13、図14は本実施例の秘匿検索システム1000のデータ検索時のタグ計算動作を示すシーケンス図である。検索したいデータをxと表す。
図13に示すように、データ登録装置1のデータ登録部11の第1ハッシュ値生成部112は、暗号学的ハッシュ関数、例えばSHA−256に基づいて検索対象データxに対するハッシュ値wを生成する(S112)。データ登録部11の第1引数計算部113は、第1素数pを除数として、ハッシュ値wを中間乱数Rでべき乗した値(wR)を被除数とした剰余をタグ生成引数cとして計算する(c=wR mod p、S113)。データ登録部11の第1引数送信部114は、タグ生成引数cをn台の秘密計算装置2−1、2−2、…、2−nに送信する(S114)。
データ登録時にも同じ方法によってタグを生成し、対応する断片にタグを付与する。図15を参照して具体的に説明する。図15は本実施例の秘匿検索システム1000のデータ登録時のタグ計算動作を示すシーケンス図である。本明細書では本項が<属性乱数生成動作>の後に記載されているが、これに限らず、これらの実行の順序が逆になってもよい。図15に示すように、データ登録装置1のデータ登録部11の登録データ断片生成部115は、登録データの断片を生成する(S115)。データ登録部11の登録データ断片送信部116は、登録データの断片をn台の秘密計算装置2−1、2−2、…、2−nに送信する(S116)。秘密計算装置2のタグ生成部23のタグ計算部231は、前述同様にタグを計算する(S231A)。タグ生成部23のタグ保持部232は、前述同様、タグを保管部24に保持する(S232A)。タグ生成部23のタグ登録完了通知部233は、前述同様、データ登録装置1のデータ登録部11に断片登録の完了通知を送信する(S233A)。「登録データの断片の分散保持」については、タグの生成とは別の処理であり、背景技術の欄で説明した秘密計算における「入力された数値を断片と呼ばれるデータに変換してn台の秘密計算装置に保持させる」部分を指す。
検索時には、検索したいデータからタグを生成する。検索したいデータと登録したデータが同じならばタグも同じになるため、予め付与されたタグと検索時に生成したタグを比較し、一般的な検索(例えばハッシュ値探索)により検索が可能になる。図16を参照して具体的に説明する。図16は本実施例の秘匿検索システム1000のデータ検索動作を示すシーケンス図である。図16のシーケンスは、図14のシーケンスに続けて実行される。図16に示すように、秘密計算装置2の検索部25のデータ要求部251は、タグyを参照して、検索対象データの出力を保管部24に要求する(S251)。検索部25のデータ取得部252は、保管部24から検索対象データを取得する(S252)。検索実行部253は、検索を実行する(S253)。検索部25の検索結果送信部254は、検索結果をデータ検索装置3のデータ検索部31に送信する(S254)。
Claims (5)
- 第1素数が第2素数の2倍に1を加えた数と等しくなるものとし、
1以上かつ前記第2素数未満の属性乱数を計算する属性乱数計算部と、
nを2以上の整数とし、
前記属性乱数の断片をn台の秘密計算装置間で分散保持する属性乱数断片分散保持部と、
秘密計算の素数パラメタを前記第2素数とし、
1以上かつ前記第2素数未満の乱数である中間乱数とその逆元の積が前記第2素数を除数として1を被除数とした剰余と等しくなり、前記逆元の断片が前記n台の秘密計算装置間で分散保持されるものとし、
前記逆元と、前記属性乱数に基づき秘密計算によって検索乱数を求める検索乱数計算部と、
前記検索乱数の断片を前記n台の秘密計算装置間で分散保持する検索乱数断片分散保持部と、
前記分散保持された検索乱数のデータ形式をビット情報に変換する形式変換部と、
秘密計算によって、前記検索乱数の各ビットにおける秘密計算の前記素数パラメタを前記第1素数に変換する素数パラメタ変換部と、
前記第1素数を除数とし、検索対象データに対して生成されたハッシュ値を前記中間乱数でべき乗した値を被除数とした剰余であるタグ生成引数と、前記検索乱数の各ビットの断片から、秘密計算によってタグを計算するタグ計算部を含む
秘密計算装置。 - nを2以上の整数とし、n台の秘密計算装置と、データ登録装置とを含む秘匿検索システムであって、
前記秘密計算装置は、
第1素数が第2素数の2倍に1を加えた数と等しくなるものとし、
1以上かつ前記第2素数未満の属性乱数を計算する属性乱数計算部と、
前記属性乱数の断片を前記n台の秘密計算装置間で分散保持する属性乱数断片分散保持部を含み、
前記データ登録装置は、
1以上かつ前記第2素数未満の中間乱数を生成する中間乱数生成部と、
前記中間乱数とその逆元の積が、前記第2素数を除数として1を被除数とした剰余と等しくなるように、前記逆元を計算する逆元計算部と、
前記逆元の断片を前記n台の秘密計算装置間で分散保持する逆元断片分散保持部を含み、
前記秘密計算装置はさらに、
秘密計算の素数パラメタを前記第2素数とし、前記属性乱数と前記逆元に基づき、秘密計算によって検索乱数を求める検索乱数計算部と、
前記検索乱数の断片を前記n台の秘密計算装置間で分散保持する検索乱数断片分散保持部と、
前記分散保持された検索乱数のデータ形式をビット情報に変換する形式変換部と、
秘密計算によって、前記検索乱数の各ビットにおける秘密計算の前記素数パラメタを前記第1素数に変換する素数パラメタ変換部を含み、
前記データ登録装置はさらに、
ハッシュ関数に基づいて検索対象データに対するハッシュ値を生成するハッシュ値生成部と、
前記第1素数を除数として、前記ハッシュ値を前記中間乱数でべき乗した値を被除数とした剰余をタグ生成引数として計算する引数計算部と、
前記タグ生成引数を前記n台の秘密計算装置に送信する引数送信部を含み、
前記秘密計算装置はさらに、
前記タグ生成引数と前記検索乱数の各ビットの断片から、秘密計算によってタグを計算するタグ計算部を含む秘匿検索システム。 - 第1素数が第2素数の2倍に1を加えた数と等しくなるものとし、
1以上かつ前記第2素数未満の属性乱数を計算する属性乱数計算ステップと、
nを2以上の整数とし、
前記属性乱数の断片をn台の秘密計算装置間で分散保持する属性乱数断片分散保持ステップと、
秘密計算の素数パラメタを前記第2素数とし、
1以上かつ前記第2素数未満の乱数である中間乱数とその逆元の積が前記第2素数を除数として1を被除数とした剰余と等しくなり、前記逆元の断片が前記n台の秘密計算装置間で分散保持されるものとし、
前記逆元と、前記属性乱数に基づき秘密計算によって検索乱数を求める検索乱数計算ステップと、
前記検索乱数の断片を前記n台の秘密計算装置間で分散保持する検索乱数断片分散保持ステップと、
前記分散保持された検索乱数のデータ形式をビット情報に変換する形式変換ステップと、
秘密計算によって、前記検索乱数の各ビットにおける秘密計算の前記素数パラメタを前記第1素数に変換する素数パラメタ変換ステップと、
前記第1素数を除数とし、検索対象データに対して生成されたハッシュ値を前記中間乱数でべき乗した値を被除数とした剰余であるタグ生成引数と、前記検索乱数の各ビットの断片から、秘密計算によってタグを計算するタグ計算ステップを含む
秘密計算方法。 - nを2以上の整数とし、n台の秘密計算装置と、データ登録装置が実行する秘匿検索方法であって
前記秘密計算装置は、
第1素数が第2素数の2倍に1を加えた数と等しくなるものとし、
1以上かつ前記第2素数未満の属性乱数を計算する属性乱数計算ステップと、
前記属性乱数の断片を前記n台の秘密計算装置間で分散保持する属性乱数断片分散保持ステップを実行し、
前記データ登録装置は、
1以上かつ前記第2素数未満の中間乱数を生成する中間乱数生成ステップと、
前記中間乱数とその逆元の積が、前記第2素数を除数として1を被除数とした剰余と等しくなるように、前記逆元を計算する逆元計算ステップと、
前記逆元の断片を前記n台の秘密計算装置間で分散保持する逆元断片分散保持ステップを実行し、
前記秘密計算装置はさらに、
秘密計算の素数パラメタを前記第2素数とし、前記属性乱数と前記逆元に基づき、秘密計算によって検索乱数を求める検索乱数計算ステップと、
前記検索乱数の断片を前記n台の秘密計算装置間で分散保持する検索乱数断片分散保持ステップと、
前記分散保持された検索乱数のデータ形式をビット情報に変換する形式変換ステップと、
秘密計算によって、前記検索乱数の各ビットにおける秘密計算の前記素数パラメタを前記第1素数に変換する素数パラメタ変換ステップを実行し、
前記データ登録装置はさらに、
ハッシュ関数に基づいて検索対象データに対するハッシュ値を生成するハッシュ値生成ステップと、
前記第1素数を除数として、前記ハッシュ値を前記中間乱数でべき乗した値を被除数とした剰余をタグ生成引数として計算する引数計算ステップと、
前記タグ生成引数を前記n台の秘密計算装置に送信する引数送信ステップを実行し、
前記秘密計算装置はさらに、
前記タグ生成引数と前記検索乱数の各ビットの断片から、秘密計算によってタグを計算するタグ計算ステップを実行する秘匿検索方法。 - コンピュータを、請求項1に記載の秘密計算装置として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013203167A JP5937556B2 (ja) | 2013-09-30 | 2013-09-30 | 秘密計算装置、秘匿検索システム、秘密計算方法、秘匿検索方法、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013203167A JP5937556B2 (ja) | 2013-09-30 | 2013-09-30 | 秘密計算装置、秘匿検索システム、秘密計算方法、秘匿検索方法、プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015068999A JP2015068999A (ja) | 2015-04-13 |
JP5937556B2 true JP5937556B2 (ja) | 2016-06-22 |
Family
ID=52835711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013203167A Active JP5937556B2 (ja) | 2013-09-30 | 2013-09-30 | 秘密計算装置、秘匿検索システム、秘密計算方法、秘匿検索方法、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5937556B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3206200B1 (en) * | 2014-10-08 | 2020-12-09 | Nippon Telegraph and Telephone Corporation | Device, method and program for detecting positions of partial character strings |
US11157612B2 (en) * | 2017-05-25 | 2021-10-26 | Nippon Telegraph And Telephone Corporation | Secret tampering detection system, secret tampering detection apparatus, secret tampering detection method, and program |
CN112805770B (zh) * | 2018-10-10 | 2023-10-03 | 日本电信电话株式会社 | 秘密右移位运算***及方法、秘密除法运算***及方法、秘密计算装置以及记录介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4292835B2 (ja) * | 2003-03-13 | 2009-07-08 | 沖電気工業株式会社 | 秘密再構成方法、分散秘密再構成装置、及び秘密再構成システム |
JP4356687B2 (ja) * | 2005-12-06 | 2009-11-04 | 日本電気株式会社 | アンケート収集方法およびアンケート収集システム |
JP5369066B2 (ja) * | 2010-08-02 | 2013-12-18 | 日本電信電話株式会社 | リコメンデーションシステム、発言端末、検索端末、リコメンデーション方法 |
JP5351852B2 (ja) * | 2010-08-02 | 2013-11-27 | 日本電信電話株式会社 | 横断統計システム、発言端末、横断統計方法 |
JP5400740B2 (ja) * | 2010-10-05 | 2014-01-29 | 日本電信電話株式会社 | 検索可能暗号システム、検索可能暗号方法、ストレージ装置、検索装置、及び登録者装置 |
JP5412414B2 (ja) * | 2010-12-08 | 2014-02-12 | 株式会社日立製作所 | 検索可能暗号処理システム |
JP5486520B2 (ja) * | 2011-01-21 | 2014-05-07 | 日本電信電話株式会社 | セキュア集合関数システム、秘密集合関数装置、セキュア集合関数処理方法、セキュア集合関数プログラム |
JP2012248940A (ja) * | 2011-05-25 | 2012-12-13 | Mitsubishi Electric Corp | データ生成装置、データ生成方法、データ生成プログラム及びデータベースシステム |
-
2013
- 2013-09-30 JP JP2013203167A patent/JP5937556B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015068999A (ja) | 2015-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10489604B2 (en) | Searchable encryption processing system and searchable encryption processing method | |
Ball et al. | Garbled neural networks are practical | |
US9438412B2 (en) | Computer-implemented system and method for multi-party data function computing using discriminative dimensionality-reducing mappings | |
JP5975490B2 (ja) | 検索システム、検索方法、およびプログラム | |
US9646166B2 (en) | Masking query data access pattern in encrypted data | |
US9852306B2 (en) | Conjunctive search in encrypted data | |
CN110689349B (zh) | 一种区块链中的交易哈希值存储和搜索方法及装置 | |
WO2020216875A1 (en) | Methods and systems for privacy preserving evaluation of machine learning models | |
US20190058580A1 (en) | System and method for publication of private data using a blockchain network | |
JP2015535956A (ja) | コンテンツ隠蔽ブルームフィルタを用いたセキュアプライベートデータベースクエリ | |
US9235814B2 (en) | Machine learning memory management and distributed rule evaluation | |
US20120144185A1 (en) | Counting delegation using hidden vector encryption | |
WO2022072415A1 (en) | Privacy preserving machine learning using secure multi-party computation | |
WO2016072022A1 (ja) | 暗号化グラフの検索方法、暗号化グラフの検索システム及び計算機 | |
WO2019090841A1 (zh) | 一种加密文件的检索方法、***、终端设备及存储介质 | |
JP2023512725A (ja) | パターンの安全な照合および識別 | |
CN112765652B (zh) | 叶节点分类权值的确定方法、装置、及设备 | |
CN108351905A (zh) | 隐匿检索***、隐匿检索方法及隐匿检索程序 | |
Akavia et al. | Secure search on encrypted data via multi-ring sketch | |
CN115098649B (zh) | 基于双密钥不经意伪随机函数的关键词搜索方法和*** | |
US10831919B2 (en) | Method for confidentially querying an encrypted database | |
US10972261B1 (en) | Secure data processing | |
Abadi et al. | Feather: Lightweight multi-party updatable delegated private set intersection | |
WO2022076826A1 (en) | Privacy preserving machine learning via gradient boosting | |
KR20170122048A (ko) | 블룸 필터와 이진 트리를 이용한 암호 데이터 검색 시스템 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150731 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160422 |
|
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: 20160506 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160512 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5937556 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |