Skip to main content
QUICK REVIEW

[論文レビュー] Secret-Sharing for NP from Indistinguishability Obfuscation

Ilan Komargodski, Moni Naor|arXiv (Cornell University)|Jan 1, 2014
Cryptography and Data Security被引用数 4
ひとこと要約

この論文は、証明者暗号と単方向関数に基づき、NP に属する任意の単調関数のための計算的秘密分散スキームの構築を提示する。これは完全性結果を確立する:任意の単調NP完全関数のための秘密分散が可能であるならば、NP に属するすべての単調関数のための秘密分散が可能であることを示し、暗号理論における長年の未解決問題を解決する。

ABSTRACT

A computational secret-sharing scheme is a method that enables a dealer, that has a secret, to distribute this secret among a set of parties such that a qualified subset of parties can efficiently reconstruct the secret while any unqualified subset of parties cannot efficiently learn anything about the secret. The collection of qualified subsets is defined by a Boolean function. It has been a major open problem to understand which (monotone) functions can be realized by a computational secret-sharing schemes. Yao suggested a method for secret-sharing for any function that has a polynomial-size monotone circuit (a class which is strictly smaller than the class of monotone functions in P). Around 1990 Rudich raised the possibility of obtaining secret-sharing for all monotone functions in NP: In order to reconstruct the secret a set of parties must be qualified and provide a witness attesting to this fact. Recently, Garg et al. (STOC 2013) put forward the concept of witness encryption, where the goal is to encrypt a message relative to a statement in for a language L in NP such that anyone holding a witness to the statement can decrypt the message, however, if x is not in L, then it is computationally hard to decrypt. Garg et al. showed how to construct several cryptographic primitives from witness encryption and gave a candidate construction. One can show that computational secret-sharing implies witness encryption for the same language. Our main result is the converse: we give a construction of a computational secret-sharing scheme for any monotone function in NP assuming witness encryption for NP and one-way functions. As a consequence we get a completeness theorem for secret-sharing: computational secret-sharing scheme for any single monotone NP-complete function implies a computational secret-sharing scheme for every monotone function in NP.

研究の動機と目的

  • NP に属するすべての単調関数のための計算的秘密分散スキームを構築できるかどうかという未解決問題を解決すること。
  • 証明者暗号と計算的秘密分散の関係、特にNP言語の文脈における関係を調査すること。
  • 秘密分散の完全性定理を確立し、単一のNP完全単調関数のための秘密分散が、NP に属するすべての単調NP関数のための秘密分散を可能にすることを示すこと。
  • 最近の暗号的プリミティブ(例:証明者暗号)を活用して、単調回路と単調関数の間のギャップを埋めること。

提案手法

  • 暗号化はNPの文に紐付けられ、復号には有効な証明者が必要となる、証明者暗号を基盤とするプリミティブを用いる。
  • 秘密を証明者暗号のインスタンスに符号化することで秘密分散スキームを構築し、有効な証明者を持つ資格を持つ参加者だけが秘密を再構築できるようにする。
  • 計算的安全性を保証するため、単方向関数を活用し、有効な証明者を持たない不正な参加者が秘密を学習できないようにする。
  • 多項式時間計算を許容しても、資格のない参加者集合は秘密について何らかの情報を効率的に得られないようにする。
  • 有効な証明者が提供された場合に秘密を効率的に再構築できるように設計されており、アクセス構造の単調性を維持する。
  • 任意の単調NP関数のための秘密分散問題を、証明者暗号と単方向関数の存在に還元する。

実験結果

リサーチクエスチョン

  • RQ1多項式サイズの単調回路を持つ関数に限らず、NP に属するすべての単調関数のための計算的秘密分散スキームを構築できるか?
  • RQ2NP言語の文脈において、証明者暗号と計算的秘密分散の関係は何か?
  • RQ3単一の単調NP完全関数のための秘密分散スキームが、NP に属するすべての単調関数のためのスキームを意味するか?
  • RQ4秘密分散の安全性を、証明者暗号と単方向関数の破壊の困難性に還元できるか?

主な発見

  • 証明者暗号と単方向関数の存在を仮定すれば、NP に属する任意の単調関数のための計算的秘密分散スキームが構築可能である。
  • 構築により完全性結果が確立され、任意の単調NP完全関数のための秘密分散が、NP に属するすべての単調関数のための秘密分散を意味する。
  • 有効な証明者を持つ資格を持つ部分集合のみが秘密を再構築可能であり、資格のない部分集合は計算的に何らかの情報を得られない。
  • この結果により、多項式サイズの単調回路を持つ関数に限らない秘密分散への拡張が可能となり、長年の未解決問題が解決された。
  • 証明者暗号が、すべての単調NP関数のための秘密分散スキームを構築するのに十分であることが示され、強力な暗号的同等性が確立された。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。