(k,n)しきい値秘密分散法では、最初に、秘密情報S(整数)の保有者がSからn個のシェアと呼ばれる値を生成する。
次に、秘密保有者は、シェア保有者(1~n)に各シェアを秘密裏に渡す。秘密保有者は、この後、秘密情報を消去する。
秘密情報の復元には、k人のシェア保有者が協力してk個のシェアを収集し、所定の計算をすることにより、秘密データSを復元できる。このときkをしきい値と定義する。
代表的な(k,n)しきい値法であるShamirの(k,n)しきい値秘密分散法は、以下のように構成される。
分散: 定数項を秘密情報Sとするランダムなk-1次多項式
f(x)=ak-1xk-1+…+ a1x+a0
を生成する。ここで、ak-1,…, a1はランダムな整数であり、a0が秘密データSである。
シェア保有者の識別子をiとしたとき、シェア保有者にはシェアとして(i, f(i))を配布する。
復元時、k人のシェア保有者が(i, f(i))を持ち寄ることにより、a0=Sを求める。
秘密情報Sの復元は、下記の式に従って行う。復元に協力するk人のシェア保有者の識別子を{i1,…,ik}とする。このとき、各シェア保有者の保有するシェアについて、
f(i1)=ak-1i1k-1+…+a1i1+a0
…
f(ik)=ak-1ikk-1+…+a1ik+a0
が成り立つ。ここで、(i1, f(i1)),…,(ik, f(ik))が与えられれば、未知変数をak-1,…,a0のk個とするk変数1次方程式がk個与えられる。したがって、この連立方程式より、すべての未知変数を求めることが可能であり、秘密情報Sを復元できる。
実際に秘密情報を復元する際には、ラグランジュ補間が利用される。
下記は、(3,4)の例である。2次方程式中の3つの変数を確定するために、3組以上の(i, f(i))があれば、秘密データSを復元できる。