コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

利用者:Roget/試訳/Shamirの秘密分散法

en:Shamir's Secret Sharing 12:24, 2 February 2009


Shamirの秘密分散法とは暗号理論における秘密分散を実現する方式の1つである。 秘密はいくつかの部分に分けられ、各参加者に分け与えられる。秘密を復元するには、いくつか、または、全てを集めることが必要である。

全員が集まって秘密を復元するのは現実的では無い。 そこで我々は閾値方式を用いる。これはLiuの問題として知られる。 "11人の科学者が秘密のプロジェクトに参加しているとしよう。キャビネットに書類を保管する。キャビネットの鍵は6人以上が一度に集まらないと開けられないようにしたい。"

Shamir's Secret Sharing is an algorithm in cryptography. It is a form of secret sharing, where a secret is divided into parts, giving each participant its own unique part, where some of the parts or all of them are needed in order to reconstruct the secret.

Counting on all participants to combine together the secret might be impractical, and therefore we may use the threshold scheme, as demonstrated by Liu's problem: "11 scientists are working on a secret project. They wish to lock up the documents in a cabinet so that the cabinet can be opened if and only if 6 or more of the scientists are present".

数学的な定義

[編集]

Mathematical definition

[編集]

目標はデータを、以下の条件を満たす、データに分割することである。

  1. 個以上のを集めれば、簡単にを計算できる。
  2. 個以下のを集めても、を完全に決定できない(どのような値にも等確率でなり得る)。

このような方式は閾値分散法と呼ばれる。もし、ならば、すべての参加者が集まらないと秘密を復元できない。

Formally, our goal is to divide some data (e.g., the safe combination) into pieces in such a way that:

  1. Knowledge of any or more pieces makes easily computable.
  2. Knowledge of any or fewer pieces leaves completely undetermined (in the sense that all its possible values are equally likely).

This scheme is called threshold scheme. If then all participants are required together to reconstruct the secret.

Shamir's secret-sharing scheme

[編集]

シャミアの秘密分散法

[編集]

Adi Shamirのアイデアは閾値法である: 2点あれば, その点を通る直線を一意に定義できる. 同様に3点あれば放物線を, 4点あれば3次曲線を定義できる. すなわち, 点で, 次数の1変数多項式を一意に定義できる.

今, 秘密となる自然数を分散する閾値法を構成したいとしよう. (とする.) は方式の強さを決定するパラメータである.

ランダムに個のを取り, とする. 多項式を構成する. 個の点をこの多項式で評価する. たとえば, とし, を計算する. 参加者は各点 (多項式への入力と評価のペア) を受け取る. 任意の個のペアを与えられたととき, ???を用いて多項式の係数を決定できる. 後, を求めればそれが秘密である.

(あとでReed-Solomon符号へリンクする. あと有限体使ってないのでこれは厳密には間違いか?)

The essential idea of Adi Shamir's threshold scheme is that 2 points are sufficient to define a line, 3 points are sufficient to define a parabola, 4 points to define a cubic curve and so forth. That is, it takes points to define a polynomial of degree .

Suppose we want to use threshold scheme to share our secret (without loss of generality, some number) where . The decision of values for and controls the strength of the system.

Choose at random coefficients , and let . Build polynomial . Let us construct any points out of it, for instance set to retrieve . Every participant is given a point (a pair of input to the polynomial and output). Given any subset of of these pairs, we can find the coefficients of the polynomial by polynomial curve fitting, and then evaluate , which is the secret.

Usage

[編集]

Example

[編集]

準備

[編集]

秘密がATMの4桁の数 1234 であるとする.

Suppose that our secret is our ATM code: 1234 .

この秘密を6つに 分割し, 3つ 集まれば元の秘密が復元できるようにする. 乱数として2つの数 166, 94 を選んだとする.

We wish to divide the secret into 6 parts , where any subset of 3 parts is sufficient to reconstruct the secret. At random we obtain 2 numbers: 166, 94.

シェアを生成する多項式は:

Our polynomial to produce secret shares (points) is therefore:

となる.

この多項式から以下の6点を構成する.

We construct 6 points from the polynomial:

各ユーザに異なる点 を配布する.

We give each participant a different single point (both and ).

復元

[編集]

3点からもとの秘密を復元することができる.

In order to reconstruct the secret any 3 points will be enough.

の3点を考える.

Let us consider .

ラグランジュの補完公式より,

We will compute Lagrange basis polynomials:

従って,

となる.

秘密は定数項であったので, を得る.

Recall that the secret is the free coefficient, which means that , and we are done.

性質

[編集]

Shamirのは以下の特徴を持つ.

  1. 安全性: 情報理論的安全性を有する.
  2. 最小性: 各シェアはオリジナルのデータのサイズより大きくなることはない.
  3. 拡張性: が固定された場合, 新しいシェアを加えても, またシェアが失われたとしても (すなわち, 科学者が解雇者がまたは死んだ場合), 他のシェアを変更する必要はない.
  4. 動的: 秘密を変更することなく安全性を高めることが出来る. しかし, この場合, 多項式を変更する必要があり, 新しいシェアを再配布する必要がある.
  5. 可変性: 階層が重要な組織においては, 各ユーザーの重要度により与えるシェアの個数を変えることができる. 例えば, 社長はひとりで鍵を開けることが出来るが, 秘書は3人集まらないと鍵を開けることが出来ない, と設定することができる.

Some of the useful properties of Shamir's threshold scheme are:

  1. Secure: Information theoretic security.
  2. Minimal: The size of each piece does not exceed the size of the original data.
  3. Extensible: When is kept fixed, pieces can be dynamically added or deleted (e.g., when scientists are fired or suddenly die) without affecting the other pieces.
  4. Dynamic: Security can be easily enhanced without changing the secret, but by changing the polynomial occasionally (keeping the same free term) and constructing new shares to the participants.
  5. Flexible: In organizations where hierarchy is important, we can supply each participant different number of pieces according to his importance inside the organization. For instance, the president can unlock the safe alone, whereas 3 secretaries are required together to unlock it.

See also

[編集]

References

[編集]
  • Liu, C. L. (1968), Introduction to Combinatorial Mathematics, New York: McGraw-Hill .
  • Dawson, E.; Donovan, D. (1994), “The breadth of Shamir's secret-sharing scheme”, Computers & Security 13: 69–78 .
[編集]


[Category:Cryptographic algorithms]

[de:Shamir's Secret Sharing] [es:Esquema de Shamir] [ru:Схема разделения секрета Шамира]