JP4288966B2 - Secret sharing apparatus, secret reconfiguration apparatus, secret sharing reconfiguration system, secret sharing method, and secret reconfiguration method - Google Patents

Secret sharing apparatus, secret reconfiguration apparatus, secret sharing reconfiguration system, secret sharing method, and secret reconfiguration method Download PDF

Info

Publication number
JP4288966B2
JP4288966B2 JP2003061369A JP2003061369A JP4288966B2 JP 4288966 B2 JP4288966 B2 JP 4288966B2 JP 2003061369 A JP2003061369 A JP 2003061369A JP 2003061369 A JP2003061369 A JP 2003061369A JP 4288966 B2 JP4288966 B2 JP 4288966B2
Authority
JP
Japan
Prior art keywords
secret
polynomial
radix
information
calculating
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.)
Expired - Fee Related
Application number
JP2003061369A
Other languages
Japanese (ja)
Other versions
JP2004274320A (en
Inventor
靖子 松村
聰 中川
康平 圓藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2003061369A priority Critical patent/JP4288966B2/en
Publication of JP2004274320A publication Critical patent/JP2004274320A/en
Application granted granted Critical
Publication of JP4288966B2 publication Critical patent/JP4288966B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、秘密とする情報、例えば、暗号化や認証における秘密鍵を分散して管理するための秘密分散装置、秘密再構成装置、秘密分散再構成システム、秘密分散方法、及び秘密再構成方法に関するものである。
【0002】
【従来の技術】
情報の秘匿のための暗号化に用いる秘密鍵や認証を行うための秘密などの重要な秘密情報を保管する場合、その秘密情報の紛失や破壊の心配と、その秘密情報の盗難の心配がある。秘密情報を紛失や破壊により失ってしまうことへの対策としては、その秘密情報のコピーを作成し保管することが考えられるが、秘密情報のコピーが増えることにより、その秘密情報の盗難の危険性が増してしまう。この問題を解決する方法として、秘密分散法がある。秘密分散法を実施するシステムにおいては、秘密分散装置(演算装置)が、もとの秘密情報を複数の分散情報に分散(符号化)させ、関係者である各メンバ(演算・記憶装置)にそれらの複数の分散情報をそれぞれ配布しておき、もとの秘密情報を得る必要がある場合には、秘密再構成装置(演算装置)が、必要なメンバから分散情報を集め、もとの秘密情報の再構成(復元)を行なう。
【0003】
秘密分散法の一つに、Shamir法(シャミア法:Shamir's method)と呼ばれる(k,n)しきい値秘密分散法がある(例えば、後述する非特許文献1及び2参照)。非特許文献1に記述された(k,n)しきい値秘密分散法においては、秘密情報をn(nは2以上の整数)個の分散情報に符号化し、k(kはn以下の整数)個以上の分散情報が集まれば、もとの秘密情報を復元することができるが、k−1個以下の分散情報を集めても、もとの秘密情報を全く知ることができないという性質を、多項式補間を用いることにより実現している。
【0004】
また、非特許文献2に記述された(k,n)しきい値秘密分散法においては、上記性質を、中国人剰余定理の異なる法に制限を加え、それらの法を予め決定しておくことにより実現している。中国人剰余定理は、互いに素な値で法をとる連立合同式の解法であり、
「次の連立一次合同式(ここで、法m,m,…,mは互いに素である。)、
x≡a(mod.m
x≡a(mod.m

x≡a(mod.m
は、解を持ち、その解xは、法m×m×…×m(mod.m×m×…×m)のもとに一意に決まる。」
というのもである。なお、解xは、a及びm(i=1,2,…,t)で記述することができる。
【0005】
【非特許文献1】
岡本龍明他、「現代暗号」(産業図書)、第214−216ページ
【非特許文献2】
チャールズ・アスムス他、「ア・モジュラー・アプローチ・トゥー・キー・セーフガーディング」、アイ・トリプル・イー・トランザクションズ・オン・インフォーメーション・セオリー、IT−29号、第2番、1983年3月、第208−210ページ(CHARLES ASMUTH ET AL., "A MODULAR APPROACH TO KEY SAFEGUARDING", IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. IT-29, NO.2, MARCH 1983, pp.208-210)
【0006】
【発明が解決しようとする課題】
上記した従来の(k,n)しきい値秘密分散法においては、分散情報の配布先である各メンバの権限はすべて同等なものとみなすことを前提としている。すなわち、分散情報の配布を受けたk人のメンバから分散情報を集めれば、もとの秘密情報を復元できる。
【0007】
ところで、分散情報の配布先である各メンバの権限を同じにするのではなく、各メンバの権限に差異を設けたい場合がある。例えば、権限レベルが上からレベル3、レベル5、レベル7と3通り存在するような組織で、その組織の重要な秘密情報を秘密分散して保管するような場合である。この場合には、レベル3の権限を持つ人であれば3人集まると秘密情報の復元が可能になり(各メンバの権限が高レベル)、レベル5の権限を持つ人であれば5人集まると秘密情報の復元が可能になり(各メンバの権限が中レベル)、レベル7の権限を持つ人であれば7人集まると秘密情報の復元が可能になる(各メンバの権限が低レベル)ものとする。権限レベルがレベル3、レベル5、レベル7と3通り存在する(k,n)しきい値秘密分散法としては、分散情報を105個以上とし、105個の分散情報が集まればもとの秘密情報を再構成できる(k,n)しきい値秘密分散法、即ち、「(105,105以上)しきい値秘密分散法」を考えることができる。ここで、105は、3,5,7の最小公倍数である。この場合には、レベル3の人には1人当たり35個の分散情報を配布し、レベル5の人には1人当たり21個の分散情報を配布し、レベル7の人には1人当たり15個の分散情報を配布することになる。
【0008】
しかしながら、この場合には、秘密情報を分散(符号化)するときに秘密分散装置が実行する計算量、分散情報を保管する各メンバの記憶装置が保管しなければならない情報量、及び秘密情報を再構成(復元)するときに秘密再構成装置が実行する計算量が多くなってしまうという問題があった。
【0009】
そこで、本発明は、上記したような従来技術の課題を解決するためになされたものであり、その目的は、生成しなければならない分散情報の情報量及び保管しなければならない分散情報の情報量の増加を抑制しつつ、各メンバの権限レベルに応じた秘密分散を行うことができる秘密分散装置、秘密分散再構成システム、及び秘密分散方法を提供することである。
【0010】
また、本発明の他の目的は、権限レベルに応じて秘密分散された分散情報からもとの秘密情報を再構成することができる秘密再構成装置、秘密分散再構成システム、及び秘密再構成方法を提供することである。
【0011】
【課題を解決するための手段】
本発明に係る秘密分散装置は、もとの秘密情報から、複数のメンバのそれぞれに配布される分散情報を生成する装置であって、上記もとの秘密情報及び上記各メンバの権限レベルが入力され、上記権限レベルのそれぞれに相当するメンバID、上記もとの秘密情報に対応付けられた分散情報を生成するための基数、及び、上記基数から上記もとの秘密情報を算出するときに用いられる秘密IDを算出するID基数生成手段と、上記ID基数生成手段により算出された上記基数及び上記メンバIDから、上記各メンバに配布する分散情報を算出する分散情報生成手段とを有する。
【0012】
また、本発明に係る秘密再構成装置は、上記秘密分散装置で秘密分散された情報を再構成する装置であって、秘密再構成する際に集められた上記メンバIDから、上記もとの秘密情報が再構成できるか否かを判定する判定手段と、上記判定手段で、再構成が可能であると判定された場合に、集められた上記メンバID及び分散情報から上記もとの秘密情報を再構成する秘密再構成手段とを有する。
【0013】
【発明の実施の形態】
以下に、▲1▼各メンバの権限レベルに応じた秘密分散を行うことができる秘密分散装置、秘密分散再構成システム、及び秘密分散方法、並びに、▲2▼各メンバの権限レベルに応じて秘密分散された情報からもとの秘密を再構成することができる秘密再構成装置、秘密分散再構成システム、及び秘密再構成方法を説明する。なお、各メンバ、秘密分散装置、及び秘密再構成装置は、コンピュータのような演算記憶装置により構成される。また、秘密分散再構成システムは、各メンバ、秘密分散装置、秘密再構成装置、及びこれらを接続するネットワーク(専用回線又はインターネット等のような通信手段)から構成される。さらに、秘密分散再構成システムは、後述する基数の桁数等の公開情報を保持する記憶保持装置を含む場合もある。さらにまた、秘密分散装置及び秘密再構成装置を、秘密分散方法及び秘密再構成方法の両方を実施できる1台の装置として構成することもできる。また、特定のメンバ(演算記憶装置)が、秘密分散装置の機能、秘密再構成装置の機能、又はこれら両方の機能を兼ね備えるように構成することもできる。
【0014】
≪1.第1の実施形態≫
以下に、本発明の第1の実施形態に係る秘密分散装置(秘密分散方法)及び、秘密再構成装置(秘密再構成方法)を説明する。第1の実施形態においては、中国人剰余定理の性質を用いる(k,n)しきい値秘密分散法において、メンバIDは予め決定することなく、さらに、各メンバID間の制約を設けることなく、もとの秘密情報の分散時に各メンバの権限レベルに応じたメンバIDを生成することにより、所望の権限レベルに応じた分散情報を生成している。
【0015】
第1の実施形態に係る秘密分散方法は、例えば、秘密分散装置100(図1及び図2)により実施することができ、第1の実施形態に係る秘密再構成方法は、例えば、秘密再構成装置110(図3)により実施することができる。また、▲1▼秘密分散装置100、▲2▼秘密再構成装置110、▲3▼複数のメンバ(演算記憶装置)、▲4▼秘密再構成装置110が利用可能な状態に基数の桁数Nや秘密ID_Pを保管する記憶保持装置、及び、▲5▼これらの装置を接続する回線は、秘密分散再構成システムを構成する。なお、本明細書において、記号「_」(アンダーバー)は、「構成部材の名称」と「その符号」との間のスペースを意味する。
【0016】
≪1−1.秘密分散装置100の構成≫
図1は、第1の実施形態に係る秘密分散装置100の構成を概略的に示すブロック図である。ここでは、分散させたいもとの秘密情報Sをn人のメンバに分散する場合を説明する。図1に示されるように、秘密分散装置100には、分散させたいもとの秘密情報S、及び、分散情報が配布される各メンバの権限レベルL,L,…,Lがn個入力される。また、秘密分散装置100は、各メンバに配布される分散情報X,X,…,Xをn個と、各メンバに配布されるメンバID(メンバ識別データ)m,m,…,mをn個と、もとの秘密情報Sを再構成するために必要な補助情報である基数の桁数N及び秘密ID(秘密識別データ)Pとを出力する。
【0017】
ここで、権限レベルは、「最低L人集まればもとの秘密情報Sを再構成することができる」という“L”で表す。このため、権限レベルが低いほど、権限が高いことになる。例えば、権限レベルが“2”のメンバが2人集まれば(すなわち、2人のメンバが保持する分散情報を集めれば)、もとの秘密情報Sを再構成できるが、権限レベルが“6”のメンバは6人集まらないともとの秘密情報Sを再構成することができない。なお、権限レベルが“2”のメンバは、権限レベルが“6”のメンバの3人分の分散情報を持っていると考えられるので、権限レベルが“2”のメンバ1人と、権限レベルが“6”のメンバ3人の、合計4人が集まれば、もとの秘密情報Sを再構成できるものとする。
【0018】
図1に示されるように、第1の実施形態に係る秘密分散装置100は、ID生成部101と、基数生成部102と、分散情報生成部103とを有する。ID生成部101と基数生成部102とは、分散情報を生成するために必要な情報を生成する部分であり、これらをまとめてID基数生成部104と呼ぶ。
【0019】
[ID生成部101の説明]
まず、予め、各メンバに配布する分散情報の最低桁数NXminが決められているものとする。図1に示されるように、秘密分散装置100へ入力される、もとの秘密情報S及び各メンバの権限レベルL,L,…,Lは、ID生成部101へ入力される。ID生成部101は、秘密ID_P、基数の桁数N、及び、権限レベルに応じた分散情報を生成する際に使用されるメンバID_m,m,…,mを生成する。ID生成部101は、生成した秘密ID_P及び基数の桁数Nを基数生成部102へ出力し、生成したメンバID_m,m,…,mを分散情報生成部103へ出力する。また、生成した基数の桁数N及び秘密ID_Pは、もとの秘密情報Sを再構成するときに利用されるので、ID生成部101は、生成した基数の桁数N及び秘密ID_Pを、後述する秘密再構成装置110が利用することができる記憶保持装置へも出力する。基数の桁数N及び秘密ID_Pは公開してもよい値であるので、各メンバに配布しておいたり、掲示板の役割をするような記憶保持装置に保存しておいたりしてもよいが、秘密再構成時に、秘密再構成装置110が利用できる状態になっていなければならない。
【0020】
図2は、図1のID生成部101の構成を詳細に示すブロック図である。図2に示されるように、ID生成部101は、範囲指定素数選択部1011と、基数桁数生成部1012と、最大値選択部1013と、メンバID桁数生成部1014と、桁数指定素数選択部1015とを主要な構成としている。
【0021】
[範囲指定素数選択部1011の説明]
図2に示されるように、ID生成部101へ入力される秘密情報Sは、範囲指定素数選択部1011へ入力される。範囲指定素数選択部1011は、基数Yを秘密ID_Pで割ったときの剰余がもとの秘密情報Sとなるように、もとの秘密情報Sを正整数とみなし、その正整数よりも大きな素数を選択し、その素数を秘密ID_Pとして出力する。この出力される秘密ID_Pは、ID生成部101の出力の一つとなる。
【0022】
[最大値選択部1013の説明]
図2に示されるように、ID生成部101へ入力される各メンバの権限レベルL,L,…,Lは、最大値選択部1013へ入力される。最大値選択部1013は、入力された権限レベルL,L,…,Lのうち最大値をとるもの(すなわち、権限の最も低い権限レベル)を選択し、基数桁数生成部1012へ出力する。
【0023】
[基数桁数生成部1012の説明]
図2に示されるように、基数桁数生成部1012は、最大値選択部1013から出力された権限レベルL,L,…,Lの最大値を受け取り、その受け取った値をもとにして基数の桁数Nを生成し、出力する。図1に示される基数Yは、秘密情報Sを分散させるために生成される値である。基数Yは、その基数YをメンバID_m,m,…,mで割ったときの剰余の各々が分散情報X,X,…,Xであり、基数Yを秘密ID_Pで割ったときの剰余が分散させたいもとの秘密情報Sであるような値である。基数桁数生成部1012は、予め決められている分散情報の最低桁数NXminと入力される権限レベルの最大値とを乗算する乗算手段を備えており、その乗算結果を基数の桁数Nとして出力する。この出力される基数の桁数Nは、メンバID桁数生成部1014へ入力されると同時に、ID生成部101の出力の一つとなる。
【0024】
[メンバID桁数生成部1014の説明]
図2に示されるように、ID生成部101へ入力される各メンバの権限レベルL,L,…,Lは、最大値選択部1013へとともに、メンバID桁数生成部1014へ入力される。メンバID桁数生成部1014は、基数桁数生成部1012から出力される基数の桁数Nと、ID生成部101へ入力される権限レベルL,L,…,Lを受け取り、各々の権限レベルに対するメンバIDの桁数を生成し、桁数指定素数選択部1015へ出力する。メンバID桁数生成部1014は、各権限レベルL,L,…,Lに対して、基数の桁数Nを各権限レベルL,L,…,Lで割った商を算出する除算手段を備えており、その除算結果(小数点以下は切り上げにする)を各メンバIDの桁数として出力する。
【0025】
[桁数指定素数選択部1015の説明]
図2に示されるように、桁数指定素数選択部1015は、メンバID桁数生成部1014からのメンバIDの桁数をメンバの人数分だけ受け取り、受け取ったメンバIDの桁数となるような素数を各々選択し、選択した素数をメンバID_m,m,…,mとして出力する。この出力されるメンバID_m,m,…,mは、ID生成部101の出力の一つとなる。
【0026】
[基数生成部102の説明]
図1に示されるように、基数生成部102は、秘密分散装置101へ入力されるもとの秘密情報Sと、ID生成部101から出力された秘密ID_P及び基数の桁数Nとを受け取り、それらをもとにして基数Yを生成する。基数生成部102は、生成した基数Yを分散情報生成部103へ出力する。基数生成部102は、秘密ID_P、もとの秘密情報S、及び基数の桁数Nから、基数Yを生成する。基数Yは、秘密ID_Pで割ったときの剰余がもとの秘密情報Sになるような桁数Nの値である。したがって、基数Yは、例えば、次のように算出することができる。秘密ID_Pの桁数をNとすると、桁数N−Nである乱数Rを生成し、乱数Rと秘密ID_Pを乗算した結果に秘密情報Sを加算した結果を、基数Yとする。すなわち、
Y=S+RP …(1)
となるような計算を行う。このようにすると、基数Yを秘密ID_Pで割ったときの剰余が秘密情報Sとなり、乱数R(桁数がN−N)と秘密ID_P(桁数がN)の乗算結果の桁数が(N−N)+N=Nとなるので、基数Yの桁数もNとすることができる。
【0027】
[分散情報生成部103の説明]
図1に示されるように、分散情報生成部103へは、基数生成部102から基数Yが、ID生成部101からメンバID_m,m,…,mが入力され、各メンバに配布する分散情報X,X,…,X及びメンバID_m,m,…,mを出力する。分散情報生成部103は、基数Yを各メンバID_m,m,…,mで割ったときの剰余を計算する剰余演算手段を有しており、各剰余演算結果を分散情報X,X,…,Xとして出力する。ID生成部101から出力される基数の桁数N及び秘密ID_P、並びに、分散情報生成部103から出力される分散情報X,X,…,X及びメンバID_m,m,…,mが、秘密分散装置100からの出力となる。
【0028】
≪1−2.秘密再構成装置110の構成≫
図3は、第1の実施形態に係る秘密再構成装置110の構成を概略的に示すブロック図である。ここでは、再構成させるために集まったメンバをk人(k≦n)とする場合を説明する。すなわち、k人のメンバ(演算記憶装置)から分散情報が集められた場合を説明する。図3に示されるように、秘密再構成装置110には、集まったk人のメンバのメンバID_mi1,mi2,…,mikと、集まったk人のメンバが保持する分散情報Xi1,Xi2,…,Xikと、もとの秘密を再構成するために必要な補助情報である基数の桁数N及び秘密ID_Pとが入力され、秘密再構成装置110は、再構成された秘密情報S又は再構成エラー情報を出力する。秘密再構成装置110に入力されるメンバIDや分散情報は、集まったメンバk人分だけ(すなわち、k個のメンバID_mi1,mi2,…,mikと、k個の分散情報Xi1,Xi2,…,Xik)入力される。メンバID及び分散情報が秘密再構成装置110に入力する順番は、秘密分散装置100がそれらを出力する順番と同じである必要はない。また、基数の桁数N及び秘密ID_Pは、前述したように、秘密再構成装置110が利用できる状態になっている(例えば、秘密再構成装置110がアクセス可能な記憶保持装置に保存されていたり、集まったメンバが持っていてそれを入力として提供してもらうことができる状態にある)。
【0029】
図3に示されるように、秘密再構成装置110は、メンバID判定部111と、基数再構成部112と、秘密分離部113とを有する。基数再構成部112及び秘密分離部113は、秘密を再構成する部分であるため、まとめて秘密再構成部114と呼ぶ。
【0030】
[メンバID判定部111の説明]
図3に示されるように、秘密再構成装置110へ入力されるメンバID_mi1,mi2,…,mik、その分散情報Xi1,Xi2,…,Xik、及び基数の桁数Nは、メンバID判定部111へ入力される。メンバID判定部111は、入力される基数の桁数N及びメンバID_mi1,mi2,…,mikをもとに、秘密を再構成するために、十分な権限を持つメンバが十分な人数だけ集まっているかどうかを判定し、その判定結果(メンバID判定結果と呼ぶ)を基数再構成部112へ出力する。メンバID判定結果は、「十分な権限を持つメンバが十分な人数だけ集まっている」ならば「再構成可能」の判定結果であり、そうでないならば「再構成不可能」の判定結果である。メンバID判定部111は、入力されるすべてのメンバIDを掛け合わせる乗算手段を備えており、入力されるメンバID(すなわち、集まった各メンバのメンバID)すべてを掛け合わせる。その乗算結果の桁数と入力される基数の桁数Nとを比較し、乗算結果の桁数が基数の桁数Nに等しいか、それより大きいならば、秘密情報Sを再構成することができる(この秘密再構成可能性は、中国人剰余定理を用いて証明することができる)。したがって、上記の乗算結果の桁数が基数の桁数Nに等しいか、それより大きいならば、「再構成可能」の判定結果を出力し、秘密情報Sの再構成処理に進む。そうでないならば、「再構成不可能」の判定結果を出力する。
【0031】
[基数再構成部112の説明]
図3に示されるように、秘密再構成装置110へ入力されるメンバID_mi1,mi2,…,mik及びその分散情報Xi1,Xi2,…,Xikは、基数再構成部112へ入力される。基数再構成部112は、メンバID判定部111からメンバID判定結果を受け取り、メンバID判定結果が再構成不可能という判定結果の場合、再構成エラー情報を、秘密分離部113へ出力する。そうでない場合には、基数再構成部112は、入力されるメンバID_mi1,mi2,…,mik及びその分散情報Xi1,Xi2,…,Xikより、基数Yを求めるべく演算を行い、求められた基数Yを秘密分離部113へ出力する。基数Yは、例えば、次のようにして求めることができる。各分散情報Xi1,Xi2,…,XikにメンバIDから計算される2種類の係数Mi1,Mi2,…,Mik及びIi1,Ii2,…,Iikを乗算して足し合わせたものを、集まったメンバのメンバIDの積
M=mi1×mi2×…×mik
で剰余をとる(mod.Mの計算をする)ことによってを計算する。すなわち、
Y=Mi1i1i1+Mi2i2i2+…+Mikikik (mod.M) …(2)
を計算することにより基数Yを求める。乗算される各係数は次のように計算する。入力されるメンバID_mi1,mi2,…,mikのうち、掛け合わせる分散情報に対するメンバID以外をすべて掛け合わせたものを、それぞれMi1,Mi2,…,Mikとし、それらMi1,Mi2,…,Mikに対し、掛け合わせる分散情報に対するメンバIDの法(剰余をとる、mod.mijの計算をする)のもとでの逆元をIi1,Ii2,…,Iikとする。すなわち、Xijの係数Mij及びIij(j=1,2,…,k)は、
ij=mi1×mi2×…×mik/mij=M/mij …(3)
ij=(Mij−1 (mod.mij) …(4)
を計算することにより、求めることができる。
【0032】
上記式(3)の計算は、計算式の上では、集まったすべてのメンバIDを掛け合わせた上で、Mijに対応するメンバID_mijで割り算しているが、実際には、Mijに対応するメンバID_mij以外のメンバIDを掛け合わせるだけという実施方法もある(この方法の場合には、乗算1回及び割り算1回を減らすことができる)。また、上記式(4)の計算は、メンバID_mijの法(剰余をとる、mod.mijの計算をする)のもとでの逆元を求める計算であるが、このような逆元を求める計算は、ユークリッドの互除法を用いて行うことができる。また、特に、メンバID_mijが素数である場合には、mijの剰余をとることにより有限体が生成できるので、mijの法のもとでの逆元計算は、
(Mij−1=(Mij (mod.mij) …(5)
r=mij−2 …(6)
で計算することもできる。ただし、他の方式を用いてもよい。
【0033】
[秘密分離部113の説明]
図3に示されるように、秘密再構成装置110へ入力される秘密ID_Pは、秘密分離部113へ入力される。秘密分離部113は、基数再構成部112から、基数Yを受け取り、この基数Yと入力される秘密ID_Pから、秘密情報Sを求めるべく演算を行い、求められた秘密情報Sを秘密分離部113から出力する。秘密分離部113は、剰余演算手段を備えており、基数Yを秘密ID_Pで割ったときの剰余を秘密情報Sとして出力する。また、基数再構成部112からの出力が再構成エラー情報であった場合には、秘密分離部113は、秘密情報Sを再構成する代わりに、そのまま再構成エラー情報を出力する。秘密分離部113からの出力が秘密再構成装置110の出力となる。
【0034】
≪1−3.秘密分散装置100の動作≫
次に、図1の秘密分散装置100の動作を説明する。秘密分散装置100は、分散させたいもとの秘密情報Sをn人のメンバに分散情報として分散させる際に、各メンバの権限レベルL,L,…,Lに応じて、メンバID_m,m,…,mを生成し、そのメンバIDに該当する分散情報X,X,…,Xを生成して出力する。図4は、秘密分散装置100の動作を示すフローチャートである。
【0035】
図4に示されるように、まず、入力される秘密情報S及び各メンバの権限レベルL,L,…,Lから、秘密ID_Pと、基数Yと、各メンバに配布するメンバID_m,m,…,mとを計算する(ステップS11)。このステップS11は、図1のID基数生成部104の動作に相当する。ステップS11のさらに詳細なフローチャートを、図5に示す。
【0036】
図5に示されるように、ステップS11においては、まず、秘密情報Sから秘密ID_Pを計算し(ステップS111)、さらに、権限レベルL,L,…,Lから基数の桁数Nを計算する(ステップS112)。ステップS111とステップS112は、図5に示されるように並列に動作させてもよいし、プログラムソフトウェアで実行させるように直列に動作させてもよい。直列に動作させるときは、ステップS111とステップS112のどちらを先に動作してもよい。このステップS111は、図2の範囲指定素数選択部1011の動作に相当し、秘密ID_Pは、秘密情報Sよりも大きな素数を選択することにより計算される。ステップS112は、図2の最大値選択部1013及び基数桁数生成部1012の動作に相当する。基数の桁数Nは、最大値選択部1013で権限レベルL,L,…,Lのうち最大値をとるもの(すなわち、権限の最も低い権限レベル)を選択して基数桁数生成部1012へ入力し、予め決められた分散情報の最低桁数NXminと入力される権限レベルの最大値とを乗算することにより計算される。
【0037】
次に、図5に示されるように、権限レベルL,L,…,L及び基数の桁数Nから、メンバIDを計算し(ステップS1131及びS1132)、秘密情報S、秘密ID_P、及び基数の桁数Nから、基数Yを計算する(ステップS114)。ステップS1131とステップS1132とを合わせたステップを、まとめてステップS113とする。ステップS113とステップS114は、図5に示されるように並列に動作させてもよいし、プログラムソフトウェアで実行させるように直列に動作させてもよい。直列に動作させるときは、ステップS113とステップS114のどちらを先に動作させてもよい。ステップS1131は、図2のメンバID桁数生成部1014の動作に相当し、各メンバIDの桁数は、基数の桁数Nを各権限レベルL,L,…,Lで割ることにより(小数点以下は切り上げにする)計算される。ステップS1132は、図2の桁数指定素数選択部1015の動作に相当し、各メンバIDは、各メンバIDの桁数となる素数を選択することにより計算される。ステップS114は、図1の基数生成部102の動作に相当し、基数Yは、秘密ID_Pの桁数をNとして桁数N−Nである乱数Rを生成し、乱数Rと秘密ID_Pを乗算した結果に秘密情報Sを加算することにより計算される(前述した式(1)参照)。
【0038】
図4に示されるように、ステップS11の次に、基数Y及びメンバID_m,m,…,mから、分散情報X,X,…,Xを計算する(ステップS12)。このステップS12は、図1の分散情報生成部103の動作に相当し、各分散情報X,X,…,Xは、基数Yを各メンバID_m,m,…,mで割ったときの剰余を求めることにより計算される。以上の動作により、秘密分散装置100は、各メンバの権限レベルL,L,…,Lに応じて、メンバID_m,m,…,mを生成し、そのメンバIDに対する分散情報X,X,…,Xを生成して出力する。
【0039】
≪1−4.秘密再構成装置110の動作≫
次に、図3の秘密再構成装置110の動作を説明する。秘密再構成装置110は、秘密情報Sを再構成するために集まったk人のメンバ(演算記憶装置)から集められたメンバID_mi1,mi2,…,mik及び分散情報Xi1,Xi2,…,Xikから、秘密情報Sを再構成する。そのとき、秘密の再構成のために十分な権限レベルを持つメンバが十分な人数分集まっているならば、秘密情報Sを再構成することができ、そうでないならば、秘密情報Sを再構成することができない。図6は、秘密再構成装置110の動作を示すフローチャートである。
【0040】
図6に示されるように、まず、入力されるメンバID_mi1,mi2,…,mik及び基数の桁数Nから、メンバID判定結果を計算する(ステップS21)。ステップS21の処理は、図3のメンバID判定部111の動作に相当し、メンバID判定結果は、入力されるすべてのメンバID(すなわち、集まったメンバのメンバID)を掛け合わせた乗算結果の桁数と基数の桁数Nとを比較し、乗算結果の桁数が基数の桁数Nに等しいか、それより大きいならば、「再構成可能」と計算され、そうでないならば、「再構成不可能」と計算される。
【0041】
次に、図6に示されるように、メンバID判定結果が再構成可能かどうかで動作が分かれる(ステップS22)。もし、ステップS22における判定結果がYes(はい)ならば(すなわち、再構成可能ならば)、秘密情報Sを再構成するためにステップS23に進み、No(いいえ)であるならば(すなわち、再構成不可能ならば)、再構成エラー情報を出力して(ステップS24)終了する。
【0042】
図6に示されるように、ステップS22における判定結果がYesならば、入力されるメンバID_mi1,mi2,…,mik、分散情報Xi1,Xi2,…,Xik、及び秘密ID_Pから秘密情報Sを計算する(ステップS23)。ステップS23は、図3の秘密再構成部114の動作に相当する。ステップS23のさらに詳細なフローチャートを、図7に示す。
【0043】
図7に示されるように、ステップS23においては、まず、メンバID_mi1,mi2,…,mik及び分散情報Xi1,Xi2,…,Xikから基数Yを計算する(ステップS231)。ステップS231は、図3の基数再構成部112の動作に相当する。基数Yは、例えば、次のようにして計算される。各分散情報Xi1,Xi2,…,XikにメンバIDから計算される2つの係数Mi1,Mi2,…,Mik及びIi1,Ii2,…,Iikを乗算して足し合わせたものを、集まったメンバのメンバIDの積
M=mi1×mi2×…×mik
で剰余をとる(mod.Mの計算をする)ことによって計算される(前述した式(2)、(3)、(4)参照)。
【0044】
次に、図7に示されるように、基数Yから秘密情報Sを計算する(ステップS232)。ステップS232は、図3の秘密分離部113の動作に相当し、秘密情報Sは、基数Yを秘密ID_Pで割ったときの剰余をとることによって計算される。ステップS23において秘密情報Sが求められると、秘密情報Sを出力し動作を終了する。
【0045】
≪1−5.第1の実施形態の効果≫
前述したように、従来のShamir法においては、各メンバには同等な権限を与えるか、権限が高いに人には複数個の分散情報を与える(この場合には、値の小さい権限レベルは、値の大きい権限レベルの約数でなければならないといった、権限レベルのとり得る値に制約がある)、といった方法しかとることができず、メンバが余分に大きな分散情報を持たなければいけない場合が生じていた。また、中国人剰余定理の性質を用いる(k,n)しきい値秘密分散法の場合にも、各メンバID間に制約があり、各メンバIDが予め決められているので、Shamir法と同様な制限がある。これに対し、第1の実施形態によれば、秘密分散装置100において、秘密情報を分散させるときに、各メンバの権限レベルL,L,…,Lに応じたメンバID_m,m,…,mを生成し、さらにメンバID_m,m,…,m間にはそれぞれが素数(すなわち、それぞれが互いに素)であるということ以外には制約を設けないようにし、また、中国人剰余定理の性質を利用した秘密分散法を採用したため、所望の権限レベルL,L,…,Lに応じた分散情報X,X,…,Xを生成させることができる。このため、第1の実施形態の秘密分散装置100、秘密分散再構成システム、及び秘密分散方法によれば、生成しなければならない分散情報の情報量及び保管しなければならない分散情報の情報量の増加を抑制しつつ、各メンバの権限レベルに応じた秘密分散を行うことができる。また、第1の実施形態の秘密再構成装置110、秘密分散再構成システム、及び秘密再構成方法によれば、権限レベルに応じて秘密分散された情報を再構成することができる。
【0046】
≪2.第2の実施形態≫
以下に、本発明の第2の実施形態に係る秘密分散装置(秘密分散方法)及び、秘密再構成装置(秘密再構成方法)を説明する。第2の実施形態においては、第1の実施形態と同様に、中国人剰余定理の性質を用いる(k,n)しきい値秘密分散法において、メンバIDは予め決定することなく、さらに、各メンバID間の制約を設けることなくメンバの権限に応じたメンバIDを分散時に生成することにより、所望の権限に応じた分散情報を生成させている。第2の実施形態が第1の実施形態と異なる点は、もとの秘密、メンバID、秘密ID、基数、及び分散情報を、有限体上の要素を係数に持つ多項式として取り扱っている点である。したがって、演算上極端に桁数の異なる数値同士の計算を行うことを避けたり、未知の桁数の演算を行う必要がなくなるので、ハードウェアで実装する際にも効率的になるという特徴がある。
【0047】
第2の実施形態に係る秘密分散方法は、例えば、秘密分散装置200(図8及び図9)により実施することができ、第2の実施形態に係る秘密再構成方法は、例えば、秘密再構成装置210(図10)により実施することができる。また、▲1▼秘密分散装置200、▲2▼秘密再構成装置210、▲3▼複数のメンバ(演算記憶装置)、▲4▼秘密再構成装置210が利用可能な状態に基多項式の次数Nや秘密ID多項式P(x)を保管する記憶保持装置、及び、▲5▼これらの装置を接続する回線は、秘密分散再構成システムを構成する。
【0048】
≪2−1.秘密分散装置200の構成≫
図8は、第2の実施形態に係る秘密分散装置200の構成を概略的に示すブロック図である。秘密分散装置200は、第1の実施形態の秘密分散装置100に類似した構成を持つ。しかし、第1の実施形態においては、各メンバに配布する分散情報やメンバIDなどは整数値をとるように構成していたが、第2の実施形態においては、整数値の代わりにある有限体上の多項式をとるように構成している。
【0049】
第2の実施形態の説明においては、用いる有限体をGF(q)(qは素数、又は素数のべき乗とする)と予め決めておき、この有限体上の多項式は、係数が有限体GF(q)上の値をとるものを取り扱うことにする。第1の実施形態と同様に、分散させたいもとの秘密情報Sをn人のメンバに分散する場合を説明する。図8に示されるように、秘密分散装置200には、分散させたいもとの秘密情報S、及び、分散させる各メンバの権限レベルL,L,…,Lが入力される。また、秘密分散装置200は、各メンバに配布される分散情報多項式X(x),X(x),…,X(x)と、各メンバに配布されるメンバID多項式m(x),m(x),…,m(x)と、もとの秘密を再構成するために必要な補助情報である基多項式の次数N及び秘密ID多項式P(x)を出力する。権限レベルの意味は、第1の実施形態の場合と同じである。
【0050】
図8に示されるように、第2の実施形態に係る秘密分散装置200は、ID生成部201と、基多項式生成部202と、分散情報多項式生成部203とを有する。ID生成部201と基多項式生成部202は、分散情報を生成するのに必要な情報を生成する部分であるため、これらをまとめてID基多項式生成部204と呼ぶ。
【0051】
[ID生成部201の説明]
まず、予め、各メンバに配布する分散情報多項式の最低次数NXminが決められているものとする。図8に示されるように、秘密分散装置200へ入力される、もとの秘密情報S及び各メンバの権限レベルL,L,…,Lは、ID生成部201へ入力される。ID生成部201は、秘密ID多項式P(x)、基多項式の次数N、秘密情報Sを多項式の形式に変換した秘密多項式S(x)、及びメンバID多項式m(x),m(x),…,m(x)を生成する。また、ID生成部201は、秘密ID多項式P(x)、秘密多項式S(x)、及び基多項式の次数Nを基多項式生成部202へ出力し、メンバID多項式m(x),m(x),…,m(x)を分散情報多項式生成部203へ出力する。また、生成した基多項式の次数N及び秘密ID多項式P(x)は、後述する秘密再構成装置210が利用することができる記憶保持装置へも出力する。第1の実施形態と同様に、基多項式の次数N及び秘密ID多項式P(x)は公開してもよい値なので、各メンバに配っておいたり、掲示板の役割をするような記憶保持装置に保存しておいたりしてもよいが、秘密再構成時に、秘密再構成装置201が利用できる状態になっていなければならない。
【0052】
図9は、図8のID生成部201の構成を詳細に示すブロック図である。図9に示されるように、ID生成部201は、多項式変換部2011と、次数範囲指定既約多項式選択部2012と、基多項式次数生成部2013と、最大値選択部1013と、メンバID多項式次数生成部2014と、次数指定既約多項式選択部2015とを主要な構成としている。
【0053】
[多項式変換部2011の説明]
図9に示されるように、ID生成部201へ入力される秘密情報Sは、多項式変換部2011へ入力され、秘密多項式S(x)に変換され、その秘密多項式S(x)がID生成部201の出力として出力される。秘密情報Sから秘密多項式S(x)への変換は、例えば、係数に用いる有限体GF(q)上のqの値がSよりも大きい場合には、S(x)=x+Sという、定数項がSの一次多項式とすることができる。また、ただ単に定数項のみの多項式S(x)=Sとする(この場合は、多項式変換部2011においては、なにも処理をする必要がないことになる)こともできる。また、秘密をy個に分割し
(例えば、秘密をビット展開し、それをLSB(最下位ビット)又はMSB(最上位ビット)からy個に分割したり、又は、S=S+S+…+SになるようにSに分割する)、
S(x)=S+Sx+S+…+Sy−1
のようにy−1次多項式とすることもできる。
【0054】
さらに、秘密情報Sが有限体GF(q)の拡大体GF(q)の要素であるならば、生成多項式g(x)で割ったときの剰余で記述する多項式表現された多項式を秘密多項式S(x)として用いることもできる。数値である秘密情報Sから一意に多項式へ変換でき、また、逆に多項式から一意にもとの秘密情報Sへ変換できるならば、どのような変換方法を採ってもよい。第2の実施形態における説明においては、秘密情報Sは正の整数値をとるものとしているので、それを多項式に変換する必要があるが、もしも入力される秘密情報Sが既に多項式である場合には、例えば、秘密情報Sが有限体GF(q)の拡大体GF(q)の要素で、生成多項式g(x)で割ったときの剰余で記述する多項式表現されている場合には、多項式へ変換する必要はない。したがって、秘密情報Sの記述方法によって、多項式変換部2011が必要ではない(多項式変換部2011ではなにも処理をしない)場合もある。
【0055】
[次数範囲指定既約多項式選択部2012の説明]
図9に示されるように、次数範囲指定既約多項式選択部2012は、多項式変換部2011から入力される秘密多項式S(x)の次数を算出し、その秘密多項式S(x)の次数よりも大きな次数を持つ既約多項式P(x)を選択し、その既約多項式を秘密ID多項式P(x)として出力する。既約多項式とは、その多項式よりも小さい次数のどの多項式(1次以上の多項式)でも割り切ることのできない多項式である。この出力される秘密ID多項式P(x)は、ID生成部201の出力の一つとなる。
【0056】
[最大値選択部1013の説明]
図9に示されるように、ID生成部201へ入力される各メンバの権限レベルL,L,…,Lは、最大値選択部1013へ入力される。第1の実施形態の最大値選択部1013と同様に、第2の実施形態の最大値選択部1013には、権限レベルL,L,…,Lが入力され、最大値選択部1013は、入力された権限レベルのうち最大値をとるもの(すなわち、権限の最も低い権限レベル)を選択し、基多項式次数生成部2013へ出力する。
【0057】
[基多項式次数生成部2013の説明]
図9に示されるように、基多項式次数生成部2013は、最大値選択部1013からの出力を受け取り、その受け取った値をもとにして基多項式の次数Nを生成し、出力する。基多項式Y(x)とは、秘密情報S(すなわち秘密多項式S(x))を分散させるために生成する多項式である。基多項式Y(x)は、その基多項式Y(x)を各メンバID多項式m(x),m(x),…,m(x)で割ったときの剰余各々が分散情報多項式X(x),X(x),…,X(x)であり、基多項式Y(x)を秘密ID多項式P(x)で割ったときの剰余が、分散させたいもとの秘密情報Sの多項式を変換した秘密多項式S(x)であるような多項式である。基多項式次数生成部2013は、予め決められている分散情報多項式の最低次数NXminと入力される権限レベルの最大値とを乗算する乗算手段を備えており、その乗算結果を基多項式の次数Nとして出力する。この出力される基多項式の次数Nは、メンバID多項式次数生成部2014へ入力されると同時に、ID生成部201の出力の一つとなる。
【0058】
[メンバID多項式次数生成部2014の説明]
図9に示されるように、ID生成部201へ入力される各メンバの権限レベルL,L,…,Lは、最大値選択部1013へとともに、メンバID多項式次数生成部2014へ入力される。メンバID多項式次数生成部2014は、基多項式次数生成部2013から出力される基多項式の次数Nと、ID生成部201へ入力される権限レベルL,L,…,Lを受け取り、各々の権限レベルに対するメンバID多項式の次数を生成し、次数指定既約多項式選択部2015へ出力する。メンバID多項式次数生成部2014は、各権限レベルL,L,…,Lに対して、基多項式の次数Nを各権限レベルL,L,…,Lで割った商を算出する除算手段を備えており、その除算結果(すなわち、商(ただし、小数点は切り上げにする))を各メンバID多項式の次数として出力する。
【0059】
[次数指定既約多項式選択部2015の説明]
図9に示されるように、次数指定既約多項式選択部2015は、メンバID多項式次数生成部2014からのメンバID多項式の次数をメンバの人数分だけ受け取り、受け取ったメンバID多項式の次数となるような既約多項式を各々選択し、選択した既約多項式をメンバID多項式m(x),m(x),…,m(x)として出力する。この出力されるメンバID多項式m(x),m(x),…,m(x)は、ID生成部201の出力の一つとなる。
【0060】
[基多項式生成部202の説明]
図8に示されるように、基多項式生成部202は、ID生成部201から秘密ID多項式P(x)、秘密多項式S(x)、及び基多項式の次数Nを受け取り、それらをもとにして基多項式Y(x)を生成する。基多項式生成部202は、生成した基多項式Y(x)を分散情報多項式生成部203へ出力する。基多項式生成部202は、秘密ID多項式P(x)、秘密多項式S(x)、及び基多項式の次数Nから、基多項式Y(x)を生成する。基多項式Y(x)は、秘密ID多項式P(x)で割ったときの剰余がもとの秘密多項式S(x)になる次数Nの多項式である。したがって、基多項式Y(x)は、例えば、次のように算出することができる。秘密ID多項式P(x)の次数をNとすると、次数N−Nであり、各次数の係数が乱数となっている多項式R(x)(乱数多項式と呼ぶ)を生成し、乱数多項式R(x)と秘密ID多項式P(x)を乗算した結果に秘密多項式S(x)を加算した結果を、基多項式Y(x)とする。すなわち、
Y(x)=S(x)+R(x)P(x) …(7)
となるような計算を行う。このようにすると、基多項式Y(x)を秘密ID多項式P(x)で割ったときの剰余が秘密多項式S(x)となり、乱数多項式R(x)(次数がN−N)と秘密ID多項式P(x)(次数がN)の乗算結果の多項式の次数が(N−N)+N=Nとなるので、基多項式Y(x)の次数もNとすることができる(ただし、次数範囲指定既約多項式生成部2012の説明の欄に記述したように、秘密多項式S(x)は、秘密ID多項式P(x)よりも次数は小さいという前提がある)。
【0061】
[分散情報多項式生成部203の説明]
図8に示されるように、分散情報多項式生成部203へは、基多項式生成部202から基多項式Y(x)が、ID生成部201からメンバID多項式m(x),m(x),…,m(x)が入力され、分散情報多項式生成部203は、各メンバに配布する分散情報多項式X(x),X(x),…,X(x)を生成し、生成された分散情報多項式X(x),X(x),…,X(x)及びメンバID多項式m(x),m(x),…,m(x)を出力する。分散情報多項式生成部203は、基多項式を各メンバID多項式m(x),m(x),…,m(x)で割ったときの剰余を計算する剰余演算手段を備えており、各剰余演算結果を分散情報多項式X(x),X(x),…,X(x)として出力する。ID生成部201から出力される基多項式の次数N及び秘密ID多項式P(x)、並びに、分散情報多項式生成部203から出力される分散情報多項式X(x),X(x),…,X(x)及びメンバID多項式m(x),m(x),…,m(x)が、秘密分散装置200からの出力となる。
【0062】
≪2−2.秘秘密再構成装置210の構成≫
図10は、第2の実施形態に係る秘密再構成装置210の構成を概略的に示すブロック図である。ここでは、再構成させるために集まったメンバをk人(k≦n)とする場合を説明する。図10に示されるように、秘密再構成装置210には、集まったk人のメンバのメンバID多項式mi1(x),mi2(x),…,mik(x)と、集まったk人のメンバが保持する分散情報多項式Xi1(x),Xi2(x),…,Xik(x)と、もとの秘密を再構成するために必要な補助情報である基多項式の次数N及び秘密ID多項式P(x)とが入力され、再構成された秘密情報S又は再構成エラー情報を出力する。秘密再構成装置210に入力されるメンバID多項式や分散情報多項式は、集まったメンバk人分だけ(すなわち、k個のメンバID多項式mi1(x),mi2(x),…,mik(x)と、k個の分散情報多項式Xi1(x),Xi2(x),…,Xik(x))が入力される。メンバID多項式及び分散情報多項式を入力する順番は、秘密分散装置200がそれらを出力する順番と同じである必要はない。また、基多項式の次数N及び秘密ID多項式P(x)は、前述したように、秘密再構成装置210が利用できる状態になっている(例えば、秘密再構成装置210がアクセス可能な記憶保持装置に保存されていたり、集まったメンバが持っていてそれを入力として提供してもらったり、といったことができる状態にある)。
【0063】
図10に示されるように、秘密再構成装置210は、メンバID多項式判定部211と、基多項式再構成部212と、秘密多項式分離部213と、多項式変換部214とを有する。基多項式再構成部212及び秘密多項式分離部213は、秘密多項式を再構成する部分であるため、まとめて秘密多項式再構成部215と呼ぶ。
【0064】
[メンバID多項式判定部211の説明]
図10に示されるように、秘密再構成装置210へ入力されるメンバID多項式mi1(x),mi2(x),…,mik(x)、その分散情報多項式Xi1(x),Xi2(x),…,Xik(x)、及び基多項式の次数Nは、メンバID多項式判定部211へ入力される。メンバID多項式判定部211は、入力される基多項式の次数NとメンバID多項式mi1(x),mi2(x),…,mik(x)をもとに、もとの秘密情報を再構成するために、十分な権限を持つメンバが十分な人数だけ集まっているかどうかを判定し、その判定結果(メンバID多項式判定結果と呼ぶ)を基多項式再構成部212へ出力する。メンバID多項式判定結果は、「十分な権限を持つメンバが十分な人数だけ集まっている」ならば「再構成可能」の判定結果であり、そうでないならば「再構成不可能」の判定結果である。メンバID多項式判定部211は、入力されるすべてのメンバID多項式を掛け合わせる乗算手段を備えており、入力されるメンバID多項式(すなわち、集まったメンバのメンバID多項式)すべてを掛け合わせる。その乗算結果の多項式の次数と入力される基多項式の次数Nとを比較し、乗算結果の多項式の次数が基多項式の次数Nと等しいか、それより大きいならば、秘密情報S(秘密多項式S(x))を再構成することができる(この秘密再構成可能性は、第1の実施形態の場合と同様に、中国人剰余定理で証明することができる)。したがって、上記のように乗算結果の多項式の次数が多項式の次数Nに等しいか、それより大きいならば、「再構成可能」の判定結果を出力し、秘密情報S(すなわち秘密多項式S(x))の再構成処理に進む。そうでないならば、「再構成不可能」の判定結果を出力する。
【0065】
[基多項式再構成部212の説明]
図10に示されるように、秘密再構成装置210へ入力されるメンバID多項式mi1(x),mi2(x),…,mik(x)及びその分散情報多項式Xi1(x),Xi2(x),…,Xik(x)は、基多項式再構成部212へ入力される。基多項式再構成部212は、メンバID多項式判定部211からメンバID多項式判定結果を受け取り、メンバID多項式判定結果が再構成不可能という判定結果の場合、再構成エラー情報を秘密多項式分離部213へ出力する。そうでない場合には、入力されるメンバID多項式mi1(x),mi2(x),…,mik(x)及び分散情報多項式Xi1(x),Xi2(x),…,Xik(x)より、基多項式Y(x)を求めるべく演算を行い、求められた基多項式Y(x)を秘密多項式分離部213へ出力する。基多項式Y(x)は、例えば、次のようにして求めることができる。各分散情報多項式Xi1(x),Xi2(x),…,Xik(x)に、メンバID多項式から計算される2つの係数多項式Mi1(x),Mi2(x),…,Mik(x)及びIi1(x),Ii2(x),…,Iik(x)を乗算して足し合わせたものを、集まったメンバのメンバID多項式の積
M(x)=mi1(x)×mi2(x)×…×mik(x)
で剰余をとる(mod.M(x)の計算をする)ことによって計算する。
【0066】
すなわち、
Y(x)
=Mi1(x)Ii1(x)Xi1(x)
+Mi2(x)Ii2(x)Xi2(x)
+…
+Mik(x)Iik(x)Xik(x) (mod.M(x)) …(8)
を計算することにより基多項式Y(x)を求める。乗算される各係数多項式は次のように計算する。入力されるメンバID多項式mi1(x),mi2(x),…,mik(x)のうち、掛け合わせる分散情報多項式に対するメンバID多項式以外をすべて掛け合わせたものを、それぞれMi1(x),Mi2(x),…,Mik(x)とし、それらMi1(x),Mi2(x),…,Mik(x)に対し、掛け合わせる分散情報多項式に対するメンバID多項式の法(剰余をとる、mod.mij(x)の計算をする)のもとでの逆元多項式をIi1(x),Ii2(x),…,Iik(x)とする。すなわち、Xij(x)の係数Mij(x)及びIij(x)は(j=1,2,…,k)、
ij(x)
=mi1(x)×mi2(x)×…×mik(x)/mij(x)
=M(x)/mij(x) …(9)
ij(x)=(Mij(x))−1(mod.mij(x)) …(10)
を計算することにより、求めることができる。
【0067】
上記式(9)の計算は、計算式の上では、集まったすべてのメンバID多項式を掛け合わせた上で、Mij(x)に対応するメンバID多項式mij(x)で割り算しているが、実際には、Mij(x)に対応するメンバID多項式mij(x)以外のメンバID多項式で掛け合わせるだけという実施方法もある(この方法を採用した場合には、乗算1回及び割り算1回を減らすことができる)。また、上記式(10)の計算は、メンバID多項式mij(x)の法(剰余をとる、mod.mij(x)の計算をする)のもとでの逆元を求める計算であるが、このような逆元を求める計算は、ユークリッドの互除法を用いて行うことができる。また、特に、メンバID多項式mij(x)が既約多項式である場合には、mij(x)の剰余をとることにより有限体が生成できるので、mij(x)の法のもとでの逆元計算は、
(Mij(x))−1=(Mij(x))(mod.mij(x)) …(11)
r=q−2 …(12)
m=deg(mij(x)) …(13)
で計算することもできる。上記式(12)において、qは、多項式の係数に用いている有限体GF(q)の個数であり、上記式(13)において、deg(mij(x))は、mij(x)の次数を算出することを意味している。また、逆元を求めるにあたっては、他の方式を用いてもよい。
【0068】
[秘密多項式分離部213の説明]
図10に示されるように、秘密再構成装置210へ入力される秘密ID多項式P(x)は、秘密多項式分離部213へ入力される。秘密多項式分離部213は、基多項式再構成部212から、基多項式Y(x)を受け取り、この基多項式Y(x)と入力される秘密ID多項式P(x)から、秘密多項式S(x)を求めるべく演算を行う。求められた秘密多項式S(x)は、多項式変換部214へ出力する。秘密多項式再構成部213は、剰余演算手段を備えており、基多項式Y(x)を秘密ID多項式P(x)で割ったときの剰余を秘密多項式S(x)として計算して出力する。また、基多項式再構成部212からの出力が再構成エラー情報ならば、秘密多項式分離部213は、秘密多項式S(x)を再構成する代わりにそのまま再構成エラー情報を多項式変換部214へ出力する。
【0069】
[多項式変換部214の説明]
図10に示されるように、多項式変換部214においては、秘密多項式分離部213から入力された秘密多項式S(x)をもとの秘密情報Sへ戻す操作を行い、秘密情報Sを求め出力する。また、秘密多項式分離部213からの出力が再構成エラー情報であった場合には、多項式変換部214は、秘密情報Sを求める代わりにそのまま再構成エラー情報を出力する。多項式変換部214での変換は、秘密分散装置200での多項式変換部2011の逆の変換を行う。前述した多項式変換部2011の説明と同様に、第2の実施形態における説明においては、秘密情報Sは正の整数値をとるものとしているので、それを多項式に変換する必要がある。しかし、もしも入力される秘密情報Sがすでに多項式である場合、例えば、秘密情報Sが有限体GF(q)の拡大体GF(q)の要素で、生成多項式g(x)で割ったときの剰余で記述する多項式表現されている場合には、秘密分散装置において特に多項式へ変換する必要がなく、秘密再構成装置においても、もとに戻す変換を必要としない。したがって、秘密情報Sの記述方法によって、多項式変換部214が必要ではない(すなわち、多項式変換部214ではなにも処理をしない)場合がある。
【0070】
さらに、秘密分散装置200における説明で挙げた例をもとに説明すると、例えば、多項式変換部2011において、秘密情報Sから秘密多項S(x)式への変換に、S(x)=x+Sという、定数項がSの一次多項式を用いるような変換をした場合(係数に用いる有限体GF(q)上のqの値がSよりも大きい場合)には、多項式変換部214は、秘密多項式S(x)の定数項を秘密情報Sとして出力する。また、定数項のみで秘密多項式S(x)が成っている場合(すなわちS(x)=Sの場合)、多項式変換部214においては、なにも処理をせずにそのまま出力する。また、多項式変換部2011において、秘密をy個に分割し、
S(x)=S+Sx+S+…+Sy−1
のようにy−1次多項式とするような変換をした場合には、多項式変換部214においては、秘密多項式S(x)の各係数S,S,…,Sを組み合わせる(分割と逆の処理を行う。すなわち、秘密をビット展開してそれをy個に分割した場合には、それぞれを連接させることをしたり、S=S+S+…+SになるようにSに分割した場合には、それぞれを足し合わせる)
ことにより、秘密情報Sに変換する。さらに、もとの秘密が有限体GF(q)の拡大体GF(q)の要素であり、生成多項式g(x)で割ったときの剰余で記述する多項式表現された多項式がS(x)となっている場合には、そのまま(多項式表現のまま)出力するか、もとの表現形式に変換して出力する。多項式変換部214からの出力が秘密再構成装置210の出力となる。
【0071】
≪2−3.秘密分散装置200の動作≫
次に、図8の秘密分散装置200の動作を説明する。秘密分散装置200は、分散させたいもとの秘密情報Sをn人のメンバに分散情報として分散させる際に、各メンバの権限レベルL,L,…,Lに応じて、メンバID多項式m(x),m(x),…,m(x)を生成し、そのメンバID多項式に該当する分散情報X(x),X(x),…,X(x)を生成して出力する。図11は、秘密分散装置200の動作を示すフローチャートである。
【0072】
図11に示されるように、まず、入力される秘密情報S及び各メンバの権限レベルL,L,…,Lから、秘密ID多項式P(x)と、基多項式Y(x)と、各メンバに配布するメンバID多項式m(x),m(x),…,m(x)とを計算する(ステップS31)。このステップS31は、図8のID基多項式生成部204の動作に相当する。ステップS31のさらに詳細なフローチャートを、図12に示す。
【0073】
図12に示されるように、ステップS31においては、まず、秘密情報Sから秘密多項式S(x)を計算(ステップS311)する。このステップS311は、図9の多項式変換部2011の動作に相当する。ここでの変換は、前述した多項式変換部2011の構成で説明したとおり、有限体GF(q)(有限体は予め決められている)の係数をとる多項式に変換する。数値である秘密情報Sから一意に多項式へ変換でき、また、逆に多項式から一意にもとの秘密情報Sへ変換できるならば、どのような変換方法を採ってもよい。
【0074】
次に、図12に示されるように、秘密多項式S(x)から秘密ID多項式P(x)を計算し(ステップS312)、さらに、権限レベルL,L,…,Lから基多項式の次数Nを計算する(ステップS313)。ステップS312とステップS313は、図12に示されるように並列に動作させてもよいし、プログラムソフトウェアで実行させるように直列に動作させてもよい。直列に動作させるときは、ステップS312とステップS313のどちらを先に実行してもよい。このステップS312は、図9の次数範囲指定既約多項式選択部2012の動作に相当し、秘密ID多項式P(x)は、秘密多項式S(x)の次数よりも大きな次数を持つ既約多項式を選択することにより計算される。ステップS313は、図9の最大値選択部1013及び基多項式次数生成部2013の動作に相当する。基多項式の次数Nは、最大値選択部1013で権限レベルL,L,…,Lのうち最大値をとるもの(すなわち、権限の最も低い権限レベル)を選択して基多項式次数生成部2013へ入力し、予め決められた分散情報の最低桁数NXminと入力される権限レベルの最大値とを乗算することにより計算される。
【0075】
次に、図12に示されるように、権限レベルL,L,…,L及び基多項式の次数Nから、メンバID多項式を計算し(ステップS3141、S3142)、秘密多項式S(x)、秘密ID多項式P(x)、及び基多項式の次数Nから、基多項式Y(x)を計算する(ステップS315)。ステップS3141とステップS3142とを合わせたステップを、まとめてステップS314とする。ステップS314とステップS315は、図12に示されるように並列に動作させてもよいし、プログラムソフトウェアで実行させるように直列に動作させてもよい。直列に動作させるときは、ステップS314とステップS315のどちらを先に実行してもよい。ステップS3141は、図9のメンバID多項式次数生成部2014の動作に相当し、各メンバID多項式の次数は、基多項式の次数Nを各権限レベルL,L,…,Lで割ることにより(小数点以下は切り上げにする)計算される。
【0076】
図12に示されるステップS3142は、図9の次数指定既約多項式選択部2015の動作に相当し、各メンバID多項式は、各メンバID多項式の次数となる既約多項式を選択することにより計算される。ステップS315は、図8の基多項式生成部202の動作に相当し、基多項式Y(x)は、秘密ID多項式P(x)の次数をNとして次数N−Nである乱数係数の多項式R(x)(乱数多項式)を生成し、乱数多項式R(x)と秘密ID多項式P(x)を乗算した結果に秘密多項式S(x)を加算することにより計算される(前述した式(7)参照)。
【0077】
図11に示されるように、ステップS31の次に、基多項式Y(x)及びメンバID多項式m(x),m(x),…,m(x)から、分散情報多項式X(x),X(x),…,X(x)を計算する(ステップS32)。このステップS32は、図8の分散情報多項式生成部203の動作に相当し、各分散情報多項式X(x),X(x),…,X(x)は、基多項式Y(x)を各メンバID多項式m(x),m(x),…,m(x)で割ったときの剰余を求めることにより計算される。以上の動作により、秘密分散装置200は、各メンバの権限レベルL,L,…,Lに応じて、メンバID多項式m(x),m(x),…,m(x)を生成し、そのメンバID多項式に対する分散情報多項式X(x),X(x),…,X(x)を生成して出力する。
【0078】
≪2−4.秘密再構成装置210の動作≫
次に、図10の秘密再構成装置210の動作を説明する。秘密再構成装置210は、秘密情報Sを再構成するために集まったk人のメンバから集められたメンバID多項式mi1(x),mi2(x),…,mik(x)及び分散情報多項式Xi1(x),Xi2(x),…,Xik(x)から、秘密情報Sを再構成する。そのとき、秘密の再構成のために十分な権限レベルを持つメンバが十分な人数分集まっているならば、秘密情報Sを再構成することができ、そうでないならば、秘密情報Sを再構成することができない。図13は、秘密再構成装置210の動作を示すフローチャートである。
【0079】
図13に示されるように、まず、入力されるメンバID多項式mi1(x),mi2(x),…,mik(x)及び基多項式の次数Nから、メンバID多項式判定結果を計算する(ステップS31)。ステップS41の処理は、図10のメンバID多項式判定部211の動作に相当し、メンバID多項式判定結果は、入力されるすべてのメンバID多項式(すなわち、集まったメンバのメンバID多項式)を掛け合わせた乗算結果の多項式の次数と基多項式の次数Nとを比較し、乗算結果の多項式の次数が基多項式の次数Nに等しいか、それより大きいならば、「再構成可能」と計算され、そうでないならば、「再構成不可能」と計算される。
【0080】
次に、メンバID多項式判定結果が再構成可能かどうかで動作が分かれる(ステップS42)。もし、ステップS42の結果がYesならば(すなわち、再構成可能ならば)、秘密情報Sを再構成するためにステップS43に進み、そうでないならば(すなわち、再構成不可能ならば)、再構成エラー情報を出力して(ステップS44)終了する。
【0081】
図13に示されるように、ステップS42における判定結果がYesならば、入力されるメンバID多項式mi1(x),mi2(x),…,mik(x)、分散情報多項式Xi1(x),Xi2(x),…,Xik(x)、及び秘密ID多項式P(x)から秘密情報Sを計算する(ステップS43)。ステップS43は、図10の秘密再構成部215の動作に相当する。ステップS43のさらに詳細なフローチャートを、図14に示す。
【0082】
図14に示されるように、ステップS43においては、まず、メンバID多項式mi1(x),mi2(x),…,mik(x)及び分散情報多項式Xi1(x),Xi2(x),…,Xik(x)から基多項式Y(x)を計算する(ステップS431)。ステップS431は、図10の基多項式再構成部212の動作に相当する。基多項式Y(x)は、例えば、次のようにして計算される。各分散情報多項式Xi1(x),Xi2(x),…,Xik(x)にメンバID多項式から計算される2つの係数多項式Mi1(x),Mi2(x),…,Mik(x)及びIi1(x),Ii2(x),…,Iik(x)を乗算して足し合わせたものを、集まったメンバのメンバID多項式の積
M(x)=mi1(x)×mi2(x)×…×mik(x)
で剰余をとる(mod.M(x)の計算をする)ことによって計算される(前述した式(8)、(9)、(10)参照)。
【0083】
次に、図14に示されるように、基多項式Y(x)から秘密多項式S(x)を計算する(ステップS432)。ステップS432は、図10の秘密多項式分離部213の動作に相当し、秘密多項式S(x)は、基多項式Y(x)を秘密ID多項式P(x)で割ったときの剰余をとることによって計算される。
【0084】
次に、図14に示されるように、秘密多項式S(x)から秘密情報Sを計算する(ステップS433)。ステップS433は、図10の多項式変換部214の動作に相当する。ここでの変換は、先の多項式変換部214の構成の説明したとおり、有限体GF(q)(有限体は予め決められている)の係数をとる多項式から数値に変換し、多項式変換部2011とは逆の変換を行う。ステップS43において秘密情報Sが求められると、秘密情報Sを出力し動作を終了する。
【0085】
≪2−5.第2の実施形態の効果≫
第2の実施形態によれば、第1の実施形態と同様に、秘密分散装置200において、秘密情報を分散させるときに、各メンバの権限レベルL,L,…,Lに応じたメンバID多項式m(x),m(x),…,m(x)を生成し、さらにメンバID多項式m(x),m(x),…,m(x)間にはそれぞれが既約多項式であるということ以外には制約を設けないようにし、また、中国人剰余定理の性質を利用した秘密分散法を採用したため、所望の権限レベルL,L,…,Lに応じた分散情報多項式X(x),X(x),…,X(x)を生成させることができる。このため、第2の実施形態の秘密分散装置200、秘密分散再構成システム、及び秘密分散方法によれば、生成しなければならない分散情報の情報量及び保管しなければならない分散情報の情報量の増加を抑制しつつ、各メンバの権限レベルに応じた秘密分散を行うことができる。また、第2の実施形態の秘密再構成装置210、秘密分散再構成システム、及び秘密再構成方法によれば、権限レベルに応じて秘密分散された情報を再構成することができる。さらに、第2の実施形態によれば、有限体上の要素を係数に持つ多項式をメンバIDや分散情報などとして取り扱っているので、演算上極端に桁数の異なる数値同士の計算を行うことを避けたり、未知の桁数の演算を行う必要がなくなるので、ハードウェアで実装する際にも効率的になる。
【0086】
≪3.他の変形例≫
第1及び第2の実施形態の秘密再構成装置110,210において、メンバID判定部111及びメンバID多項式判定部211における判定結果(メンバID判定結果及びメンバID多項式判定結果)は、再構成不可能の判定結果である場合であっても、秘密分散装置110,210内の以降の処理ブロック(基数再構成部112、秘密再構成部113、基多項式再構成部212、秘密多項式再構成部213、多項式変換部214)へ順次渡されていったが、再構成不可能の判定結果の場合のみ、この判定結果を秘密分散装置110,210から直接出力し、上記処理ブロック(基数再構成部112、秘密再構成部113、基多項式再構成部212、秘密多項式再構成部213、多項式変換部214)を通さずに処理を終わらせることができるように構成することも可能である。
【0087】
また、第1の実施形態の秘密分散装置100のID生成部101においては、すべてのメンバID、及び秘密IDとしては、それぞれ素数を選択(範囲指定素数選択部1011、桁数指定素数選択部1015での処理)していたが、すべてのメンバIDのどの2つをとっても互いに素な関係にあるならば、メンバIDは必ずしも素数である必要がない。また、秘密IDは、必ずしも素数である必要がなく、自由に選択することができる。
【0088】
また、同様に、第2の実施形態の秘密分散装置200のID生成部201においては、すべてのメンバID多項式、秘密ID多項式としては、それぞれ既約多項式を選択(次数範囲指定既約多項式選択部2012、次数指定既約多項式選択部2015での処理)していたが、すべてのメンバID多項式のどの2つをとっても、互いに共通の因数となる多項式を持たないならば、メンバID多項式は必ずしも既約多項式である必要がない。また、秘密ID多項式は、必ずしも既約多項式である必要がなく、自由に選択することができる。
【0089】
第1の実施形態の秘密再構成装置110のメンバID判定部111においては、集まったメンバのメンバIDすべてを掛け合わせた値を生成してから、その生成された値の桁数と基数の桁数Nとを比較するように構成していたが、整数同士の掛け算結果の桁数は、掛け合わされる桁数の足し算結果とほぼ等しくなることから、集まったメンバのメンバIDの桁数をそれぞれ算出してから、算出された桁数をすべて足し合わせた結果と、基数の桁数Nとを比較するようにしてもよい。
【0090】
また、同様に、第2の実施形態の秘密再構成装置210のメンバID多項式判定部211においては、集まったメンバのメンバID多項式すべてを掛け合わせた多項式を生成してから、その生成された多項式の次数と基多項式の次数Nとを比較するように構成していたが、多項式同士の掛け算結果の次数は、掛け合わされる次数の足し算結果となることから、集まったメンバのメンバID多項式の次数をそれぞれ算出してから、算出された次数をすべて足し合わせた結果と、基多項式の次数Nとを比較するようにしてもよい。すなわち、次の値、
deg(mi1(x))
+deg(mi2(x))
+…
+deg(mik(x)) …(14)
と、基多項式の次数Nとを比較する。式(14)において、deg(mij(x))は、mij(x)の次数を算出することを意味している。
【0091】
【発明の効果】
以上説明したように、本発明の秘密分散装置、秘密分散再構成システム、及び秘密分散方法によれば、生成しなければならない分散情報の情報量及び保管しなければならない分散情報の情報量の増加を抑制しつつ、各メンバの権限レベルに応じた秘密分散を行うことができる。
【0092】
また、本発明の秘密再構成装置、秘密分散再構成システム、及び秘密再構成方法によれば、権限レベルに応じて秘密分散された情報を再構成することができる。
【図面の簡単な説明】
【図1】 本発明の第1の実施形態に係る秘密分散装置の構成を概略的に示すブロック図である。
【図2】 図1のID生成部の構成を示すブロック図である。
【図3】 本発明の第1の実施形態に係る秘密再構成装置の構成を概略的に示すブロック図である。
【図4】 本発明の第1の実施形態に係る秘密分散装置の動作を示すフローチャートである。
【図5】 図4のステップS11における動作を示すフローチャートである。
【図6】 本発明の第1の実施形態に係る秘密再構成装置の動作を示すフローチャートである。
【図7】 図6のステップS23における動作を示すフローチャートである。
【図8】 本発明の第2の実施形態に係る秘密分散装置の構成を概略的に示すブロック図である。
【図9】 図8のID生成部の構成を示すブロック図である。
【図10】 本発明の第2の実施形態に係る秘密再構成装置の構成を概略的に示すブロック図である。
【図11】 本発明の第2の実施形態に係る秘密分散装置の動作を示すフローチャートである。
【図12】 図11のステップS31における動作を示すフローチャートである。
【図13】 本発明の第2の実施形態に係る秘密再構成装置の動作を示すフローチャートである。
【図14】 図13のステップS43における動作を示すフローチャートである。
【符号の説明】
100 秘密分散装置、
101 ID生成部、
1011 範囲指定素数選択部、
1012 基数桁数生成部、
1013 最大値選択部、
1014 メンバID桁数生成部、
1015 桁数指定素数選択部、
102 基数生成部、
103 分散情報生成部、
104 ID基数生成部、
110 秘密再構成装置、
111 メンバID判定部、
112 基数再構成部、
113 秘密分離部、
114 秘密再構成部、
200 秘密分散装置、
201 ID生成部、
2011 多項式変換部、
2012 次数範囲指定既約多項式選択部、
2013 基多項式次数生成部、
2014 メンバID多項式次数生成部、
2015 次数指定既約多項式選択部、
202 基多項式生成部、
203 分散情報多項式生成部、
204 ID基多項式生成部、
210 秘密再構成装置、
211 メンバID多項式判定部、
212 基多項式再構成部、
213 秘密多項式分離部、
214 多項式変換部、
215 秘密多項式再構成部、
S もとの秘密、
,L,…,L 秘密分散装置に入力される権限レベル、
N 基数の桁数又は基多項式の次数、
P 秘密ID、
Y 基数、
,m,…,m 秘密分散装置から出力されるメンバID、
,X,…,X 秘密分散装置から出力される分散情報、
i1,mi2,…,mik 秘密再構成装置に入力されるメンバID、
i1,Xi2,…,Xik 秘密再構成装置に入力される分散情報、
S(x) 秘密多項式、
P(x) 秘密ID多項式、
Y(x) 基多項式、
m(x),m(x),…,m(x) 秘密分散装置から出力されるメンバID多項式、
X(x),X(x),…,X(x) 秘密分散装置から出力される分散情報多項式、
m(x)i1,m(x)i2,…,m(x)ik 秘密再構成装置に入力されるメンバID多項式、
X(x)i1,X(x)i2,…,X(x)ik 秘密再構成装置に入力される分散情報多項式。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a secret distribution device, a secret reconfiguration device, a secret distribution reconfiguration system, a secret distribution method, and a secret reconfiguration method for distributing and managing secret information, for example, a secret key in encryption and authentication It is about.
[0002]
[Prior art]
When storing important secret information such as a secret key used for encryption to conceal information or a secret for authentication, there is a risk of loss or destruction of the secret information and fear of theft of the secret information. . As a countermeasure against loss or destruction of confidential information, it is conceivable to make a copy of the confidential information and store it, but the risk of theft of confidential information due to an increase in the number of confidential information copies. Will increase. There is a secret sharing method as a method for solving this problem. In a system that implements the secret sharing method, a secret sharing device (arithmetic device) distributes (encodes) the original secret information into a plurality of pieces of shared information, and each member (calculation / storage device) that is a participant is involved. When it is necessary to distribute the multiple pieces of shared information and obtain the original secret information, the secret reconstruction device (arithmetic device) collects the shared information from the necessary members and Reconstruct (restore) information.
[0003]
One secret sharing method is a (k, n) threshold secret sharing method called the Shamir method (Shamir's method) (for example, see Non-Patent Documents 1 and 2 described later). In the (k, n) threshold secret sharing method described in Non-Patent Document 1, secret information is encoded into n (n is an integer of 2 or more) pieces of shared information, and k (k is an integer of n or less). ) If more than one piece of shared information is collected, the original secret information can be restored, but even if k-1 pieces or less of shared information are collected, the original secret information cannot be known at all. This is realized by using polynomial interpolation.
[0004]
Further, in the (k, n) threshold secret sharing method described in Non-Patent Document 2, the above properties are restricted to laws different from the Chinese remainder theorem, and those methods are determined in advance. It is realized by. The Chinese Remainder Theorem is a solution of simultaneous congruential equations that take modulo values.
"The following simultaneous linear congruence (where modulo m1, M2, ..., mtAre disjoint. ),
x≡a1(Mod.m1)
x≡a2(Mod.m2)
...
x≡at(Mod.mt)
Has a solution, and the solution x is the modulus m1× m2× ... × mt(Mod.m1× m2× ... × mt) Is uniquely determined. "
That is why. The solution x is aiAnd mi(I = 1, 2,..., T).
[0005]
[Non-Patent Document 1]
Okamoto Tatsuaki et al., “Contemporary Cryptography” (Industry Books), pages 214-216
[Non-Patent Document 2]
Charles Asmus et al., "A Modular Approach to Key Safe Guarding", I Triple E Transactions on Information Theory, IT-29, No. 2, March 1983 208-210 (CHARLES ASMUTH ET AL., "A MODULAR APPROACH TO KEY SAFEGUARDING", IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. IT-29, NO.2, MARCH 1983, pp.208-210)
[0006]
[Problems to be solved by the invention]
In the conventional (k, n) threshold value secret sharing method described above, it is assumed that the authority of each member who is a distribution information distribution destination is regarded as equivalent. In other words, the original secret information can be restored by collecting the shared information from the k members who received the distributed information.
[0007]
By the way, there is a case where it is desired to make a difference between the authority of each member, instead of making the authority of each member to which the distributed information is distributed the same. For example, in an organization where there are three levels of authority, level 3, level 5, and level 7 from the top, important confidential information of the organization is secretly distributed and stored. In this case, if three people have level 3 authority, it is possible to restore secret information (high authority of each member), and if they have level 5 authority, 5 people gather. The secret information can be restored (the authority of each member is medium level), and if the person has level 7 authority, the secret information can be restored when seven people gather (the authority of each member is low level) Shall. There are three (k, n) threshold secret sharing schemes with three authority levels: level 3, level 5, and level 7. The distributed secret is set to 105 or more, and if 105 pieces of distributed information are collected, the original secret is obtained. A (k, n) threshold secret sharing method that can reconstruct information, that is, “(105, 105 or more) threshold secret sharing method” can be considered. Here, 105 is the least common multiple of 3, 5, and 7. In this case, 35 shared information per person is distributed to level 3 persons, 21 distributed information per person is distributed to level 5 persons, and 15 per person is distributed to level 7 persons. Distributed information will be distributed.
[0008]
However, in this case, the amount of calculation executed by the secret sharing apparatus when the secret information is distributed (encoded), the amount of information that must be stored in the storage device of each member storing the distributed information, and the secret information There is a problem in that the amount of calculation executed by the secret reconstruction device increases when reconfiguration (restoration) is performed.
[0009]
Accordingly, the present invention has been made to solve the above-described problems of the prior art, and its purpose is to provide information amount of distributed information to be generated and information amount of distributed information to be stored. It is to provide a secret sharing apparatus, a secret sharing reconfiguration system, and a secret sharing method capable of performing secret sharing according to the authority level of each member while suppressing an increase in the number of members.
[0010]
Another object of the present invention is to provide a secret reconfiguration apparatus, a secret distribution reconfiguration system, and a secret reconfiguration method that can reconfigure original secret information from distributed information that is secret-distributed according to authority levels. Is to provide.
[0011]
[Means for Solving the Problems]
The secret sharing apparatus according to the present invention is an apparatus for generating shared information distributed to each of a plurality of members from the original secret information, wherein the original secret information and the authority level of each member are input. Used to calculate the original secret information from the member ID corresponding to each of the authority levels, the radix for generating shared information associated with the original secret information, and the radix. ID radix generation means for calculating a secret ID, and shared information generation means for calculating shared information distributed to each member from the radix calculated by the ID radix generation means and the member ID.
[0012]
The secret reconstruction device according to the present invention is a device for reconstructing information secret-distributed by the secret sharing device, wherein the original secret is collected from the member ID collected at the time of secret reconfiguration. A determination means for determining whether or not information can be reconfigured; and when the determination means determines that reconfiguration is possible, the original secret information is obtained from the collected member ID and shared information. And secret reconfiguration means for reconfiguration.
[0013]
DETAILED DESCRIPTION OF THE INVENTION
(1) Secret sharing apparatus, secret sharing reconfiguration system and secret sharing method capable of performing secret sharing according to authority level of each member, and (2) secret according to authority level of each member A secret reconstruction device, a secret sharing reconstruction system, and a secret reconstruction method that can reconstruct the original secret from the distributed information will be described. Each member, the secret sharing device, and the secret reconstruction device are configured by an arithmetic storage device such as a computer. The secret sharing reconfiguration system includes each member, a secret sharing device, a secret reconfiguring device, and a network (communication means such as a dedicated line or the Internet) connecting them. Further, the secret sharing reconfiguration system may include a storage holding device that holds public information such as the number of digits of a radix described later. Furthermore, the secret sharing apparatus and the secret reconfiguration apparatus can be configured as a single apparatus that can implement both the secret sharing method and the secret reconfiguration method. In addition, a specific member (arithmetic storage device) may be configured to have the function of the secret sharing apparatus, the function of the secret reconstruction device, or both functions.
[0014]
<< 1. First Embodiment >>
The secret sharing apparatus (secret sharing method) and secret reconfiguring apparatus (secret reconfiguring method) according to the first embodiment of the present invention will be described below. In the first embodiment, in the (k, n) threshold secret sharing method using the properties of the Chinese remainder theorem, the member ID is not determined in advance, and further, there is no restriction between the member IDs. The distributed information corresponding to the desired authority level is generated by generating the member ID corresponding to the authority level of each member when the original secret information is distributed.
[0015]
The secret sharing method according to the first embodiment can be implemented by, for example, the secret sharing apparatus 100 (FIGS. 1 and 2), and the secret reconfiguration method according to the first embodiment is, for example, secret reconfiguration. It can be implemented by the apparatus 110 (FIG. 3). Also, (1) secret sharing device 100, (2) secret reconfiguration device 110, (3) a plurality of members (calculation storage devices), and (4) radix digit N in a state in which secret reconfiguration device 110 can be used. And the storage holding device for storing the secret ID_P, and (5) the line connecting these devices constitute a secret sharing reconfiguration system. In the present specification, the symbol “_” (underscore) means a space between “the name of the component” and “the symbol”.
[0016]
<< 1-1. Configuration of secret sharing apparatus 100 >>
FIG. 1 is a block diagram schematically showing the configuration of the secret sharing apparatus 100 according to the first embodiment. Here, a case where the original secret information S to be distributed is distributed to n members will be described. As shown in FIG. 1, the secret sharing apparatus 100 includes the original secret information S to be distributed and the authority level L of each member to which the distributed information is distributed.1, L2, ..., LnN are input. Also, the secret sharing apparatus 100 can share information X distributed to each member.1, X2, ..., XnN and member ID (member identification data) m distributed to each member1, M2, ..., mnAnd the base digit number N and secret ID (secret identification data) P, which are auxiliary information necessary to reconstruct the original secret information S, are output.
[0017]
Here, the authority level is “minimum Li"Let the people gather, the original secret information S can be reconstructed"iTherefore, the lower the authority level, the higher the authority. For example, if two members with the authority level “2” gather (that is, if the distributed information held by the two members is collected) ), The original secret information S can be reconstructed, but the secret information S cannot be reconstructed unless six members with the authority level “6” are gathered, and the authority level is “2”. Since the member is considered to have shared information for three members with authority level “6”, one member with authority level “2” and three members with authority level “6” If the total of four people gather, the original secret information S can be reconstructed.
[0018]
As illustrated in FIG. 1, the secret sharing apparatus 100 according to the first embodiment includes an ID generation unit 101, a radix generation unit 102, and a shared information generation unit 103. The ID generation unit 101 and the radix generation unit 102 are portions that generate information necessary for generating shared information. These are collectively referred to as an ID radix generation unit 104.
[0019]
[Description of ID generation unit 101]
First, the minimum number of digits N of distributed information distributed to each member in advanceXminIs determined. As shown in FIG. 1, the original secret information S and authority level L of each member input to the secret sharing apparatus 1001, L2, ..., LnIs input to the ID generation unit 101. The ID generation unit 101 uses the member ID_m used when generating the shared information according to the secret ID_P, the number of base digits N, and the authority level.1, M2, ..., mnIs generated. The ID generation unit 101 outputs the generated secret ID_P and the base digit number N to the base generation unit 102, and generates the generated member ID_m1, M2, ..., mnIs output to the distributed information generation unit 103. Since the generated base digit number N and secret ID_P are used when reconstructing the original secret information S, the ID generation unit 101 sets the generated base digit number N and secret ID_P to be described later. To the storage holding device that can be used by the secret reconfiguring device 110. Since the number of digits of the radix N and the secret ID_P are values that may be disclosed, they may be distributed to each member or stored in a storage holding device that functions as a bulletin board. At the time of secret reconstruction, the secret reconstruction device 110 must be in a usable state.
[0020]
FIG. 2 is a block diagram showing in detail the configuration of the ID generation unit 101 of FIG. As shown in FIG. 2, the ID generation unit 101 includes a range designation prime number selection unit 1011, a radix digit number generation unit 1012, a maximum value selection unit 1013, a member ID digit number generation unit 1014, and a digit number designation prime number. The selection unit 1015 is the main component.
[0021]
[Description of Range Specified Prime Number Selection Unit 1011]
As shown in FIG. 2, the secret information S input to the ID generation unit 101 is input to the range designation prime number selection unit 1011. The range designation prime number selection unit 1011 regards the original secret information S as a positive integer so that the remainder when the radix Y is divided by the secret ID_P becomes the original secret information S, and a prime number larger than the positive integer And the prime number is output as a secret ID_P. The output secret ID_P is one of the outputs of the ID generation unit 101.
[0022]
[Description of Maximum Value Selection Unit 1013]
As shown in FIG. 2, the authority level L of each member input to the ID generation unit 1011, L2, ..., LnIs input to the maximum value selection unit 1013. The maximum value selection unit 1013 displays the input authority level L1, L2, ..., LnThe one having the maximum value (that is, the authority level with the lowest authority) is selected and output to the radix digit number generation unit 1012.
[0023]
[Description of Radix Digit Number Generation Unit 1012]
As shown in FIG. 2, the radix digit number generation unit 1012 outputs the authority level L output from the maximum value selection unit 1013.1, L2, ..., LnThe base number N is generated based on the received value and output. The radix Y shown in FIG. 1 is a value generated to distribute the secret information S. The radix Y is the member ID_m1, M2, ..., mnEach of the remainder when divided by1, X2, ..., XnAnd the value obtained by dividing the radix Y by the secret ID_P is the original secret information S to be distributed. The radix digit generation unit 1012 has a predetermined minimum number N of shared information.XminIs multiplied by the maximum value of the authority level inputted, and the multiplication result is output as the number of digits N of the radix. The output base digit number N is input to the member ID digit number generation unit 1014 and simultaneously becomes one of the outputs of the ID generation unit 101.
[0024]
[Description of Member ID Digit Number Generation Unit 1014]
As shown in FIG. 2, the authority level L of each member input to the ID generation unit 1011, L2, ..., LnIs input to the maximum value selection unit 1013 and to the member ID digit number generation unit 1014. The member ID digit number generation unit 1014 includes a radix digit number N output from the radix digit number generation unit 1012 and an authority level L input to the ID generation unit 101.1, L2, ..., LnIs generated, and the number of digits of the member ID for each authority level is generated and output to the digit number designation prime number selection unit 1015. The member ID digit number generation unit 1014 displays each authority level L1, L2, ..., LnFor each authority level L1, L2, ..., LnThe division means for calculating the quotient divided by ## EQU2 ## is output as the number of digits of each member ID.
[0025]
[Description of Digit Number Designating Prime Number Selection Unit 1015]
As shown in FIG. 2, the number-of-digits specifying prime number selection unit 1015 receives the number of member ID digits from the member ID digit number generation unit 1014 as many as the number of members, and becomes the number of digits of the received member ID. Select each prime number and select the selected prime number as member ID_m1, M2, ..., mnOutput as. This member ID_m to be output1, M2, ..., mnIs one of the outputs of the ID generation unit 101.
[0026]
[Description of Radix Generation Unit 102]
As shown in FIG. 1, the radix generation unit 102 receives the original secret information S input to the secret sharing apparatus 101, the secret ID_P output from the ID generation unit 101, and the number of digits N of the radix, Based on these, the radix Y is generated. The radix generation unit 102 outputs the generated radix Y to the distributed information generation unit 103. The radix generation unit 102 generates a radix Y from the secret ID_P, the original secret information S, and the number of digits N of the radix. The radix Y is a value of the number of digits N such that the remainder when divided by the secret ID_P becomes the original secret information S. Therefore, the radix Y can be calculated as follows, for example. Set the number of digits of secret ID_P to NPThen, the number of digits NNPThe result of adding the secret information S to the result of multiplying the random number R by the secret ID_P is defined as a radix Y. That is,
Y = S + RP (1)
Perform a calculation such that In this way, the remainder when the radix Y is divided by the secret ID_P becomes the secret information S, and the random number R (the number of digits is NN).P) And secret ID_P (the number of digits is NP) Of the multiplication result is (N−NP) + NPSince = N, the number of digits of the radix Y can also be N.
[0027]
[Description of Distributed Information Generation Unit 103]
As shown in FIG. 1, the radix Y from the radix generator 102 and the member ID_m from the ID generator 101 to the shared information generator 103.1, M2, ..., mnIs distributed and distributed information X distributed to each member1, X2, ..., XnAnd member ID_m1, M2, ..., mnIs output. The shared information generation unit 103 sets the radix Y to each member ID_m1, M2, ..., mnAnd a remainder calculation means for calculating the remainder when divided by, and each remainder calculation result is distributed information X1, X2, ..., XnOutput as. Radix number N and secret ID_P output from the ID generation unit 101 and shared information X output from the shared information generation unit 1031, X2, ..., XnAnd member ID_m1, M2, ..., mnIs output from the secret sharing apparatus 100.
[0028]
<< 1-2. Configuration of Secret Reconfiguration Device 110 >>
FIG. 3 is a block diagram schematically showing the configuration of the secret reconstruction device 110 according to the first embodiment. Here, a case will be described in which the number of members gathered for reconfiguration is k (k ≦ n). That is, a case where shared information is collected from k members (arithmetic storage devices) will be described. As shown in FIG. 3, the secret reconstruction device 110 includes member ID_m of the k members gathered.i1, Mi2, ..., mikAnd shared information X held by k membersi1, Xi2, ..., XikAnd the base digit number N and the secret ID_P, which are auxiliary information necessary for reconstructing the original secret, are input, and the secret reconfiguration apparatus 110 receives the reconfigured secret information S or reconfiguration error information. Is output. The member IDs and shared information input to the secret reconstruction device 110 are the same as the number of k members (that is, k member ID_m).i1, Mi2, ..., mikAnd k pieces of distributed information Xi1, Xi2, ..., Xik) Is input. The order in which the member ID and the shared information are input to the secret reconfiguration apparatus 110 does not have to be the same as the order in which the secret distribution apparatus 100 outputs them. Further, as described above, the radix digit number N and the secret ID_P can be used by the secret reconstruction device 110 (for example, stored in a storage holding device accessible by the secret reconstruction device 110). , Members of the collective have it and can provide it as input).
[0029]
As illustrated in FIG. 3, the secret reconfiguration apparatus 110 includes a member ID determination unit 111, a radix reconfiguration unit 112, and a secret separation unit 113. The radix reconstructing unit 112 and the secret separating unit 113 are parts for reconstructing the secret, and hence are collectively referred to as the secret reconfiguring unit 114.
[0030]
[Description of Member ID Determination Unit 111]
As shown in FIG. 3, the member ID_m input to the secret reconfiguration device 110i1, Mi2, ..., mik, Its distributed information Xi1, Xi2, ..., Xik, And the number of digits N of the radix are input to the member ID determination unit 111. The member ID determination unit 111 inputs the number of base digits N and the member ID_mi1, Mi2, ..., mikIn order to reconstruct the secret, it is determined whether or not a sufficient number of members having sufficient authority are gathered, and the determination result (referred to as member ID determination result) is sent to the radix reconstruction unit 112. Output. The member ID determination result is a determination result of “reconfigurable” if “a sufficient number of members having sufficient authority are gathered”, and a determination result of “non-reconfigurable” otherwise. . The member ID determination unit 111 includes multiplication means for multiplying all inputted member IDs, and multiplies all inputted member IDs (that is, member IDs of the collected members). The number of digits of the multiplication result is compared with the number of digits N of the input radix. If the number of digits of the multiplication result is equal to or larger than the number of digits N of the radix, the secret information S can be reconstructed. (This secret reconfigurability can be proved using the Chinese remainder theorem). Therefore, if the number of digits of the multiplication result is equal to or larger than the number of digits N of the radix, the determination result “reconfigurable” is output, and the process proceeds to the reconfiguration process of the secret information S. Otherwise, the determination result “unreconfigurable” is output.
[0031]
[Description of Radix Reconstruction Unit 112]
As shown in FIG. 3, the member ID_m input to the secret reconfiguration device 110i1, Mi2, ..., mikAnd its distributed information Xi1, Xi2, ..., XikIs input to the radix reconstruction unit 112. The radix reconfiguration unit 112 receives the member ID determination result from the member ID determination unit 111, and outputs the reconfiguration error information to the secret separation unit 113 if the member ID determination result is a determination result that the reconfiguration is not possible. Otherwise, the radix reconstruction unit 112 receives the input member ID_mi1, Mi2, ..., mikAnd its distributed information Xi1, Xi2, ..., XikThus, calculation is performed to obtain the radix Y, and the obtained radix Y is output to the secret separation unit 113. The radix Y can be obtained as follows, for example. Each distributed information Xi1, Xi2, ..., XikTwo types of coefficients M calculated from the member IDi1, Mi2, ..., MikAnd Ii1, Ii2, ..., IikThe product of the member IDs of the gathered members
M = mi1× mi2× ... × mik
By taking the remainder (calculating mod.M). That is,
Y = Mi1Ii1Xi1+ Mi2Ii2Xi2+ ... + MikIikXik  (Mod.M) (2)
To obtain the radix Y. Each coefficient to be multiplied is calculated as follows. Input member ID_mi1, Mi2, ..., mikOf these, all items other than the member ID for the distributed information to be multiplied are respectively Mi1, Mi2, ..., MikAnd Mi1, Mi2, ..., Mik, The member ID method for the distributed information to be multiplied (remainder, mod.mijThe inverse element under the calculationi1, Ii2, ..., IikAnd That is, XijCoefficient MijAnd Iij(J = 1, 2,..., K) is
Mij= Mi1× mi2× ... × mik/ Mij= M / mij    ... (3)
Iij= (Mij)-1  (Mod.mij(4)
Can be obtained by calculating.
[0032]
The above formula (3) is calculated by multiplying all the member IDs gathered on the formula, and then calculating MijMember ID_m corresponding toijIn fact, it is divided by MijMember ID_m corresponding toijThere is also an implementation method in which member IDs other than those are simply multiplied (in this method, one multiplication and one division can be reduced). In addition, the calculation of the above formula (4) is performed by calculating the member ID_mijModulo (mod.mijThe calculation for obtaining the inverse element can be performed by using the Euclidean mutual division method. In particular, member ID_mijM is a prime number, mijSince a finite field can be generated by taking the remainder ofijThe inverse calculation under the law of
(Mij)-1= (Mij)r  (Mod.mij(5)
r = mij-2 ... (6)
It can also be calculated with However, other methods may be used.
[0033]
[Description of Secret Separation Unit 113]
As shown in FIG. 3, the secret ID_P input to the secret reconstruction device 110 is input to the secret separation unit 113. The secret separation unit 113 receives the radix Y from the radix reconstruction unit 112, performs an operation to obtain the secret information S from the radix Y and the secret ID_P that is input, and the secret separation unit 113 Output from. The secret separation unit 113 includes a remainder calculation unit, and outputs the remainder when the radix Y is divided by the secret ID_P as secret information S. If the output from the radix reconstruction unit 112 is reconstruction error information, the secret separation unit 113 outputs the reconstruction error information as it is instead of reconstructing the secret information S. The output from the secret separation unit 113 becomes the output of the secret reconstruction device 110.
[0034]
<< 1-3. Operation of secret sharing apparatus 100 >>
Next, the operation of the secret sharing apparatus 100 in FIG. 1 will be described. When the secret sharing apparatus 100 distributes the original secret information S to be distributed to n members as shared information, the secret level L of each member1, L2, ..., LnDepending on the member ID_m1, M2, ..., mnAnd the distributed information X corresponding to the member ID1, X2, ..., XnIs generated and output. FIG. 4 is a flowchart showing the operation of the secret sharing apparatus 100.
[0035]
As shown in FIG. 4, first, the input secret information S and the authority level L of each member1, L2, ..., LnTo secret ID_P, radix Y, and member ID_m distributed to each member1, M2, ..., mnAre calculated (step S11). This step S11 corresponds to the operation of the ID radix generation unit 104 in FIG. A more detailed flowchart of step S11 is shown in FIG.
[0036]
As shown in FIG. 5, in step S11, first, a secret ID_P is calculated from the secret information S (step S111).1, L2, ..., LnThe number of radix digits N is calculated from (step S112). Step S111 and step S112 may be operated in parallel as shown in FIG. 5, or may be operated in series so as to be executed by program software. When operating in series, either step S111 or step S112 may be operated first. This step S111 corresponds to the operation of the range designation prime number selection unit 1011 in FIG. 2, and the secret ID_P is calculated by selecting a prime number larger than the secret information S. Step S112 corresponds to the operations of the maximum value selection unit 1013 and the radix digit generation unit 1012 in FIG. The number of digits of the radix N is the authority level L in the maximum value selection unit 1013.1, L2, ..., LnThe one having the maximum value (that is, the authority level with the lowest authority) is selected and input to the radix digit number generation unit 1012, and the predetermined minimum number N of the distributed information is determined.XminIs multiplied by the maximum authority level input.
[0037]
Next, as shown in FIG.1, L2, ..., LnAnd the member ID is calculated from the number of digits N of the radix (steps S1131 and S1132), and the radix Y is calculated from the secret information S, the secret ID_P, and the number of digits N of the radix (step S114). The combined step of step S1131 and step S1132 is collectively referred to as step S113. Step S113 and step S114 may be operated in parallel as shown in FIG. 5, or may be operated in series so as to be executed by program software. When operating in series, either step S113 or step S114 may be operated first. Step S1131 corresponds to the operation of the member ID digit number generation unit 1014 of FIG. 2, and the number of digits of each member ID is the number of digits N of the radix.1, L2, ..., LnIt is calculated by dividing by (rounded up after the decimal point). Step S1132 corresponds to the operation of the digit number specifying prime number selection unit 1015 in FIG. 2, and each member ID is calculated by selecting a prime number that is the number of digits of each member ID. Step S114 corresponds to the operation of the radix generation unit 102 of FIG. 1, and the radix Y is the number of digits of the secret ID_P as NPAs the number of digits N-NPIs generated by adding the secret information S to the result of multiplying the random number R and the secret ID_P (see the above-described equation (1)).
[0038]
As shown in FIG. 4, after step S11, the radix Y and member ID_m1, M2, ..., mnTo distributed information X1, X2, ..., XnIs calculated (step S12). This step S12 corresponds to the operation of the shared information generating unit 103 in FIG.1, X2, ..., XnUses the radix Y for each member ID_m1, M2, ..., mnCalculated by finding the remainder when divided by. With the above operation, the secret sharing apparatus 100 has the authority level L of each member.1, L2, ..., LnDepending on the member ID_m1, M2, ..., mnAnd the distributed information X for the member ID1, X2, ..., XnIs generated and output.
[0039]
<< 1-4. Operation of Secret Reconstruction Device 110 >>
Next, the operation of the secret reconstruction device 110 in FIG. 3 will be described. The secret reconstructing device 110 is a member ID_m collected from k members (calculation storage devices) gathered to reconstruct the secret information S.i1, Mi2, ..., mikAnd distributed information Xi1, Xi2, ..., XikFrom this, the secret information S is reconstructed. At that time, the secret information S can be reconstructed if a sufficient number of members having a sufficient authority level for reconstructing the secret are gathered. Otherwise, the secret information S is reconstructed. Can not do it. FIG. 6 is a flowchart showing the operation of the secret reconstruction device 110.
[0040]
As shown in FIG. 6, first, the member ID_m that is inputi1, Mi2, ..., mikAnd the member ID determination result is calculated from the number of digits N of the radix (step S21). The process of step S21 corresponds to the operation of the member ID determination unit 111 in FIG. 3, and the member ID determination result is a multiplication result obtained by multiplying all input member IDs (that is, the member IDs of the collected members). Compare the number of digits with the number of digits N in the radix. If the number of digits in the multiplication result is equal to or greater than the number of digits N in the radix, it is calculated as “reconfigurable”; It is calculated as “unconfigurable”.
[0041]
Next, as shown in FIG. 6, the operation is divided depending on whether or not the member ID determination result is reconfigurable (step S22). If the determination result in step S22 is Yes (ie, if reconfigurable), proceed to step S23 to reconstruct the secret information S, and if No (ie, reconfigure) If the configuration is not possible, the reconstruction error information is output (step S24) and the process is terminated.
[0042]
As shown in FIG. 6, if the determination result in step S22 is Yes, the input member ID_mi1, Mi2, ..., mik, Distributed information Xi1, Xi2, ..., XikAnd secret information S is calculated from secret ID_P (step S23). Step S23 corresponds to the operation of the secret reconstruction unit 114 in FIG. A more detailed flowchart of step S23 is shown in FIG.
[0043]
  As shown in FIG. 7, in step S23, first, member ID_mi1, Mi2, ..., mikAnd distributed information Xi1, Xi2, ..., XikThe radix Y is calculated from (step S231). Step S231 corresponds to the operation of the radix reconstruction unit 112 in FIG. The radix Y is calculated as follows, for example. Each distributed information Xi1, Xi2, ..., XikTwo coefficients M calculated from the member IDi1, Mi2, ..., MikAnd Ii1, Ii2, ..., IikThe product of the member IDs of the gathered members
M = mi1× mi2× ... × mik
By taking the remainder at (calculate mod.M)TotalIs calculated (refer to the above-mentioned formulas (2), (3), (4)).
[0044]
Next, as shown in FIG. 7, the secret information S is calculated from the radix Y (step S232). Step S232 corresponds to the operation of the secret separation unit 113 in FIG. 3, and the secret information S is calculated by taking the remainder when the radix Y is divided by the secret ID_P. When the secret information S is obtained in step S23, the secret information S is output and the operation is terminated.
[0045]
<< 1-5. Effects of the first embodiment >>
As described above, in the conventional Shamir method, equal authority is given to each member, or a plurality of distributed information is given to a person with high authority (in this case, the authority level with a small value is There are restrictions on the values that can be taken by the authority level, such as a divisor of the authority level with a large value), and there is a case where the member must have extra large distributed information. It was. Also, in the case of the (k, n) threshold secret sharing method using the Chinese remainder theorem, there are restrictions between member IDs, and each member ID is determined in advance, so that it is the same as the Shamir method. There are some restrictions. On the other hand, according to the first embodiment, when the secret sharing apparatus 100 distributes the secret information, the authority level L of each member1, L2, ..., LnMember ID_m according to1, M2, ..., mnAnd member ID_m1, M2, ..., mnIn the meantime, there is no restriction other than that each is a prime number (that is, each is relatively prime), and a secret sharing method using the property of the Chinese remainder theorem is adopted, so the desired authority level L1, L2, ..., LnDistributed information X according to1, X2, ..., XnCan be generated. For this reason, according to the secret sharing apparatus 100, secret sharing reconfiguration system, and secret sharing method of the first embodiment, the amount of shared information that must be generated and the amount of shared information that must be stored While suppressing the increase, secret sharing according to the authority level of each member can be performed. Further, according to the secret reconfiguration apparatus 110, the secret sharing reconfiguration system, and the secret reconfiguration method of the first embodiment, it is possible to reconfigure information that is secret-shared according to the authority level.
[0046]
≪2. Second Embodiment >>
The secret sharing apparatus (secret sharing method) and secret reconfiguring apparatus (secret reconfiguring method) according to the second embodiment of the present invention will be described below. In the second embodiment, as in the first embodiment, in the (k, n) threshold secret sharing method using the properties of the Chinese remainder theorem, the member ID is not determined in advance, By generating a member ID corresponding to the authority of the member at the time of distribution without providing a restriction between the member IDs, distributed information corresponding to the desired authority is generated. The second embodiment is different from the first embodiment in that the original secret, member ID, secret ID, radix, and distributed information are handled as a polynomial having elements on a finite field as coefficients. is there. Therefore, there is no need to perform calculations between numerical values with extremely different numbers of digits, or calculations with an unknown number of digits are eliminated, which makes it more efficient when implemented in hardware. .
[0047]
The secret sharing method according to the second embodiment can be implemented by, for example, the secret sharing apparatus 200 (FIGS. 8 and 9), and the secret reconfiguration method according to the second embodiment is, for example, secret reconfiguration. It can be implemented by the apparatus 210 (FIG. 10). In addition, (1) secret sharing apparatus 200, (2) secret reconstructing apparatus 210, (3) a plurality of members (arithmetic storage devices), and (4) base polynomial degree N in a state where secret reconfiguring apparatus 210 can be used. And the storage holding device for storing the secret ID polynomial P (x) and (5) the line connecting these devices constitute a secret sharing reconfiguration system.
[0048]
<< 2-1. Configuration of secret sharing apparatus 200 >>
FIG. 8 is a block diagram schematically showing the configuration of the secret sharing apparatus 200 according to the second embodiment. The secret sharing apparatus 200 has a configuration similar to the secret sharing apparatus 100 of the first embodiment. However, in the first embodiment, the distributed information distributed to each member, the member ID, and the like are configured to take integer values. In the second embodiment, however, a finite field is used instead of the integer values. It is configured to take the above polynomial.
[0049]
In the description of the second embodiment, a finite field to be used is determined in advance as GF (q) (q is a prime number or a power of a prime number), and a polynomial on this finite field has a coefficient finite field GF ( q) Let us deal with the ones with the above values. Similar to the first embodiment, a case where the original secret information S to be distributed is distributed to n members will be described. As shown in FIG. 8, the secret sharing apparatus 200 includes the original secret information S to be distributed and the authority level L of each member to be distributed.1, L2, ..., LnIs entered. Also, the secret sharing apparatus 200 has a shared information polynomial X distributed to each member.1(X), X2(X), ..., Xn(X) and member ID polynomial m distributed to each member1(X), m2(X), ..., mn(X) and the degree N of the base polynomial and the secret ID polynomial P (x), which are auxiliary information necessary for reconstructing the original secret, are output. The meaning of the authority level is the same as in the first embodiment.
[0050]
As illustrated in FIG. 8, the secret sharing apparatus 200 according to the second embodiment includes an ID generation unit 201, a base polynomial generation unit 202, and a distributed information polynomial generation unit 203. Since the ID generation unit 201 and the base polynomial generation unit 202 are portions that generate information necessary for generating shared information, they are collectively referred to as an ID base polynomial generation unit 204.
[0051]
[Description of ID generation unit 201]
First, the minimum order N of the distributed information polynomial distributed to each member in advanceXminIs determined. As shown in FIG. 8, the original secret information S and the authority level L of each member input to the secret sharing apparatus 2001, L2, ..., LnIs input to the ID generation unit 201. The ID generation unit 201 includes a secret ID polynomial P (x), a degree N of the base polynomial, a secret polynomial S (x) obtained by converting the secret information S into a polynomial form, and a member ID polynomial m1(X), m2(X), ..., mn(X) is generated. Further, the ID generation unit 201 outputs the secret ID polynomial P (x), the secret polynomial S (x), and the degree N of the base polynomial to the base polynomial generation unit 202, and the member ID polynomial m1(X), m2(X), ..., mn(X) is output to the distributed information polynomial generator 203. Further, the generated degree N of the base polynomial and the secret ID polynomial P (x) are also output to a memory holding device that can be used by the secret reconstructing device 210 described later. As in the first embodiment, the degree N of the base polynomial and the secret ID polynomial P (x) are values that may be disclosed, so that the memory holding device that is distributed to each member or serves as a bulletin board is used. Although it may be stored, the secret reconstruction device 201 must be in a usable state at the time of secret reconstruction.
[0052]
FIG. 9 is a block diagram showing in detail the configuration of the ID generation unit 201 in FIG. As shown in FIG. 9, the ID generation unit 201 includes a polynomial conversion unit 2011, an order range designation irreducible polynomial selection unit 2012, a base polynomial degree generation unit 2013, a maximum value selection unit 1013, and a member ID polynomial order. The generation unit 2014 and the degree designation irreducible polynomial selection unit 2015 are the main components.
[0053]
[Description of Polynomial Conversion Unit 2011]
As shown in FIG. 9, the secret information S input to the ID generation unit 201 is input to the polynomial conversion unit 2011 and converted into the secret polynomial S (x), and the secret polynomial S (x) is converted into the ID generation unit. 201 is output. For example, when the value of q on the finite field GF (q) used for the coefficient is larger than S, the conversion from the secret information S to the secret polynomial S (x) is a constant term S (x) = x + S. Can be a first order polynomial of S. Further, it is also possible to simply set the polynomial S (x) = S with only a constant term (in this case, there is no need to perform any processing in the polynomial converter 2011). Also, the secret is divided into y pieces
(E.g. bit-expand the secret and divide it into L pieces from LSB (least significant bit) or MSB (most significant bit), or S = S1+ S2+ ... + SyS to bei),
S (x) = S1+ S2x + S3x2+ ... + Syxy-1
It is also possible to use a y-1 order polynomial as follows.
[0054]
Further, the secret information S is an extension field GF (q of the finite field GF (q).m) Can be used as the secret polynomial S (x) as a polynomial expressed by a polynomial described by the remainder when divided by the generator polynomial g (x). Any conversion method may be adopted as long as the secret information S that is a numerical value can be uniquely converted to a polynomial, and conversely, the secret information S can be uniquely converted from a polynomial. In the description of the second embodiment, since the secret information S takes a positive integer value, it is necessary to convert it into a polynomial. If the secret information S to be input is already a polynomial, For example, the secret information S is an extension field GF (q of the finite field GF (q).m), And a polynomial expression described by the remainder when divided by the generator polynomial g (x), it is not necessary to convert it to a polynomial. Therefore, depending on the description method of the secret information S, the polynomial converter 2011 may not be necessary (the polynomial converter 2011 does not perform any processing).
[0055]
[Description of degree range irreducible polynomial selection unit 2012]
As shown in FIG. 9, the degree range designated irreducible polynomial selection unit 2012 calculates the order of the secret polynomial S (x) input from the polynomial conversion unit 2011, and the order range specified irreducible polynomial selection unit 2012 calculates the order of the secret polynomial S (x). An irreducible polynomial P (x) having a large degree is selected, and the irreducible polynomial is output as a secret ID polynomial P (x). An irreducible polynomial is a polynomial that cannot be divided by any polynomial of lower degree than that polynomial (polynomial of 1st order or higher). The output secret ID polynomial P (x) is one of the outputs of the ID generation unit 201.
[0056]
[Description of Maximum Value Selection Unit 1013]
As shown in FIG. 9, the authority level L of each member input to the ID generation unit 2011, L2, ..., LnIs input to the maximum value selection unit 1013. Similar to the maximum value selection unit 1013 of the first embodiment, the maximum value selection unit 1013 of the second embodiment has an authority level L1, L2, ..., LnIs selected, and the maximum value selection unit 1013 selects the authority level that takes the maximum value (that is, the authority level with the lowest authority) and outputs it to the base polynomial degree generation unit 2013.
[0057]
[Description of Base Polynomial Order Generation Unit 2013]
As shown in FIG. 9, the base polynomial order generation unit 2013 receives the output from the maximum value selection unit 1013, generates the base polynomial order N based on the received value, and outputs the base polynomial order N. The base polynomial Y (x) is a polynomial generated to distribute the secret information S (that is, the secret polynomial S (x)). The base polynomial Y (x) is obtained by replacing the base polynomial Y (x) with each member ID polynomial m1(X), m2(X), ..., mnEach remainder when divided by (x) is the variance information polynomial X1(X), X2(X), ..., Xn(X), and the remainder when the base polynomial Y (x) is divided by the secret ID polynomial P (x) is the secret polynomial S (x) obtained by converting the original secret information S polynomial to be distributed. Is a polynomial. The base polynomial degree generation unit 2013 generates a minimum degree N of a predetermined distributed information polynomial.XminIs multiplied by the maximum value of the authority level inputted, and the multiplication result is output as the degree N of the base polynomial. The order N of the output base polynomial is input to the member ID polynomial order generation unit 2014 and at the same time is one of the outputs of the ID generation unit 201.
[0058]
[Description of Member ID Polynomial Order Generation Unit 2014]
As shown in FIG. 9, the authority level L of each member input to the ID generation unit 2011, L2, ..., LnAre input to the maximum value selection unit 1013 and to the member ID polynomial degree generation unit 2014. The member ID polynomial degree generation unit 2014 includes a base polynomial degree N output from the base polynomial degree generation unit 2013, and an authority level L input to the ID generation unit 201.1, L2, ..., LnIs generated, and the degree of the member ID polynomial for each authority level is generated and output to the degree-specified irreducible polynomial selection unit 2015. The member ID polynomial degree generation unit 2014 determines each authority level L1, L2, ..., LnFor each power level L1, L2, ..., LnDividing means for calculating the quotient divided by (2) is provided, and the result of the division (that is, the quotient (however, the decimal point is rounded up)) is output as the degree of each member ID polynomial.
[0059]
[Explanation of degree-specified irreducible polynomial selector 2015]
As shown in FIG. 9, the degree-specified irreducible polynomial selection unit 2015 receives the degree of the member ID polynomial from the member ID polynomial degree generation unit 2014 for the number of members, and becomes the degree of the received member ID polynomial. Each irreducible polynomial is selected, and the selected irreducible polynomial is selected as a member ID polynomial m.1(X), m2(X), ..., mnOutput as (x). This member ID polynomial m to be output1(X), m2(X), ..., mn(X) is one of the outputs of the ID generation unit 201.
[0060]
[Description of the base polynomial generator 202]
As shown in FIG. 8, the base polynomial generation unit 202 receives the secret ID polynomial P (x), the secret polynomial S (x), and the degree N of the base polynomial from the ID generation unit 201, and based on them. A base polynomial Y (x) is generated. The base polynomial generation unit 202 outputs the generated base polynomial Y (x) to the distributed information polynomial generation unit 203. The base polynomial generation unit 202 generates a base polynomial Y (x) from the secret ID polynomial P (x), the secret polynomial S (x), and the degree N of the base polynomial. The base polynomial Y (x) is a polynomial of degree N in which the remainder when divided by the secret ID polynomial P (x) becomes the original secret polynomial S (x). Accordingly, the base polynomial Y (x) can be calculated as follows, for example. The order of the secret ID polynomial P (x) is NPThen the order NNPA polynomial R (x) (called a random number polynomial) in which the coefficient of each order is a random number is generated, and the result obtained by multiplying the random number polynomial R (x) by the secret ID polynomial P (x) is the secret polynomial S The result of adding (x) is a base polynomial Y (x). That is,
Y (x) = S (x) + R (x) P (x) (7)
Perform a calculation such that In this way, the remainder when the base polynomial Y (x) is divided by the secret ID polynomial P (x) becomes the secret polynomial S (x), and the random number polynomial R (x) (the order is NN).P) And secret ID polynomial P (x) (the order is NP) Of the multiplication result is (N−N)P) + NP= N, so the degree of the base polynomial Y (x) can also be set to N (however, as described in the description section of the degree range designated irreducible polynomial generator 2012, the secret polynomial S (x) is The order is smaller than the secret ID polynomial P (x)).
[0061]
[Description of Distributed Information Polynomial Generator 203]
As shown in FIG. 8, the variance information polynomial generator 203 receives the base polynomial Y (x) from the base polynomial generator 202 and the member ID polynomial m from the ID generator 201.1(X), m2(X), ..., mn(X) is input, and the distributed information polynomial generator 203 distributes the distributed information polynomial X distributed to each member.1(X), X2(X), ..., Xn(X) is generated, and the generated distributed information polynomial X1(X), X2(X), ..., Xn(X) and member ID polynomial m1(X), m2(X), ..., mn(X) is output. The distributed information polynomial generator 203 converts the base polynomial into each member ID polynomial m1(X), m2(X), ..., mn(X) is provided with a remainder calculation means for calculating a remainder when divided by (x), and each remainder calculation result is distributed information polynomial X1(X), X2(X), ..., XnOutput as (x). The degree N and the secret ID polynomial P (x) of the base polynomial output from the ID generation unit 201 and the shared information polynomial X output from the shared information polynomial generation unit 2031(X), X2(X), ..., Xn(X) and member ID polynomial m1(X), m2(X), ..., mn(X) is an output from the secret sharing apparatus 200.
[0062]
<< 2-2. Configuration of Secret Reconstruction Device 210 >>
FIG. 10 is a block diagram schematically showing the configuration of the secret reconfiguration apparatus 210 according to the second embodiment. Here, a case will be described in which the number of members gathered for reconfiguration is k (k ≦ n). As shown in FIG. 10, the secret reconstruction device 210 includes a member ID polynomial m of k members who have gathered.i1(X), mi2(X), ..., mik(X) and the distributed information polynomial X held by the k members gatheredi1(X), Xi2(X), ..., Xik(X) and the base polynomial degree N and the secret ID polynomial P (x), which are auxiliary information necessary for reconstructing the original secret, are input, and the reconstructed secret information S or the reconstruction error Output information. The member ID polynomials and distributed information polynomials input to the secret reconstruction device 210 are the same as k members (that is, k member ID polynomials m).i1(X), mi2(X), ..., mik(X) and k distributed information polynomials Xi1(X), Xi2(X), ..., Xik(X)) is input. The order in which the member ID polynomial and the distributed information polynomial are input need not be the same as the order in which the secret sharing apparatus 200 outputs them. Further, the degree N of the base polynomial and the secret ID polynomial P (x) are in a state where the secret reconstructing device 210 can be used as described above (for example, a storage holding device accessible by the secret reconfiguring device 210) Can be stored in the network, or can be held by members who have gathered and provided as input).
[0063]
As illustrated in FIG. 10, the secret reconstruction device 210 includes a member ID polynomial determination unit 211, a base polynomial reconstruction unit 212, a secret polynomial separation unit 213, and a polynomial conversion unit 214. Since the base polynomial reconstruction unit 212 and the secret polynomial separation unit 213 are portions that reconstruct the secret polynomial, they are collectively referred to as a secret polynomial reconstruction unit 215.
[0064]
[Description of Member ID Polynomial Determination Unit 211]
As shown in FIG. 10, the member ID polynomial m input to the secret reconstruction device 210.i1(X), mi2(X), ..., mik(X), the variance information polynomial Xi1(X), Xi2(X), ..., Xik(X) and the degree N of the base polynomial are input to the member ID polynomial determination unit 211. The member ID polynomial determination unit 211 receives the degree N of the input base polynomial and the member ID polynomial mi1(X), mi2(X), ..., mikBased on (x), in order to reconstruct the original secret information, it is determined whether a sufficient number of members having sufficient authority are gathered, and the determination result (referred to as a member ID polynomial determination result). ) To the base polynomial reconstruction unit 212. The member ID polynomial determination result is a determination result of “reconfigurable” if “a sufficient number of members having sufficient authority are gathered”, and a determination result of “unreconfigurable” otherwise. is there. The member ID polynomial determination unit 211 includes multiplication means for multiplying all input member ID polynomials, and multiplies all the input member ID polynomials (that is, the member ID polynomials of the collected members). The degree of the polynomial of the multiplication result is compared with the degree N of the input base polynomial. If the degree of the polynomial of the multiplication result is equal to or greater than the degree N of the base polynomial, the secret information S (secret polynomial S (X)) can be reconfigured (this secret reconfiguration possibility can be proved by the Chinese remainder theorem, as in the first embodiment). Therefore, if the degree of the polynomial of the multiplication result is equal to or larger than the degree N of the polynomial as described above, the determination result of “reconfigurable” is output, and the secret information S (ie, the secret polynomial S (x)) ). Otherwise, the determination result “unreconfigurable” is output.
[0065]
[Description of the base polynomial reconstruction unit 212]
  As shown in FIG. 10, the member ID polynomial m input to the secret reconstruction device 210.i1(X), mi2(X), ..., mik(X) and its variance information polynomial Xi1(X), Xi2(X), ..., Xik(X) is input to the base polynomial reconstruction unit 212. The base polynomial reconstruction unit 212 receives the member ID polynomial determination result from the member ID polynomial determination unit 211, and when the member ID polynomial determination result is a determination result that the reconfiguration is impossible, the reconstruction error information is sent to the secret polynomial separation unit 213. Output. Otherwise, the input member ID polynomial mi1(X), mi2(X), ..., mik(X) and distributed information polynomial Xi1(X), Xi2(X), ..., XikFrom (x), an operation is performed to obtain the base polynomial Y (x), and the obtained base polynomial Y (x) is output to the secret polynomial separator 213. The base polynomial Y (x) can be obtained as follows, for example. Each variance information polynomial Xi1(X), Xi2(X), ..., Xik(X) includes two coefficient polynomials M calculated from the member ID polynomial.i1(X), Mi2(X), ..., Mik(X) and Ii1(X), Ii2(X), ..., IikThe product of the member ID polynomials of the gathered members is obtained by multiplying (x) and adding up
M (x) = mi1(X) × mi2(X) × ... × mik(X)
By taking the remainder at (mod.M (x) is calculated)TotalCalculate.
[0066]
That is,
Y (x)
= Mi1(X) Ii1(X) Xi1(X)
+ Mi2(X) Ii2(X) Xi2(X)
+ ...
+ Mik(X) Iik(X) Xik(X) (mod.M (x)) (8)
To obtain the base polynomial Y (x). Each coefficient polynomial to be multiplied is calculated as follows. Input member ID polynomial mi1(X), mi2(X), ..., mik(X) is obtained by multiplying all except the member ID polynomial for the distributed information polynomial to be multiplied by Mi1(X), Mi2(X), ..., Mik(X) and Mi1(X), Mi2(X), ..., Mik(X) is the member ID polynomial method for the distributed information polynomial to be multiplied (remainder, mod.mijThe inverse polynomial under (x) is calculated as Ii1(X), Ii2(X), ..., Iik(X). That is, XijCoefficient M of (x)ij(X) and Iij(X) is (j = 1, 2,..., K),
Mij(X)
= Mi1(X) × mi2(X) × ... × mik(X) / mij(X)
= M (x) / mij(X) ... (9)
Iij(X) = (Mij(X))-1(Mod.mij(X)) (10)
Can be obtained by calculating.
[0067]
The above formula (9) is calculated by multiplying all the member ID polynomials gathered on the formula, and then calculating MijMember ID polynomial m corresponding to (x)ijDivide by (x), but in reality, MijMember ID polynomial m corresponding to (x)ijThere is also an implementation method in which only member ID polynomials other than (x) are multiplied (when this method is employed, one multiplication and one division can be reduced). Further, the calculation of the above equation (10) is performed by calculating the member ID polynomial m.ij(X) modulo (remainder, mod.mijThe calculation for obtaining the inverse element under (Calculate (x)) can be performed using the Euclidean algorithm. In particular, the member ID polynomial mijIf (x) is an irreducible polynomial, mijSince a finite field can be generated by taking the remainder of (x), mijThe inverse calculation under the method (x) is
(Mij(X))-1= (Mij(X))r(Mod.mij(X)) (11)
r = qm-2 ... (12)
m = deg (mij(X)) (13)
It can also be calculated with In the above equation (12), q is the number of finite fields GF (q) used for the coefficients of the polynomial, and in the above equation (13), deg (mij(X)) is mijThis means that the order of (x) is calculated. In obtaining the inverse element, another method may be used.
[0068]
[Description of Secret Polynomial Separation Unit 213]
As shown in FIG. 10, the secret ID polynomial P (x) input to the secret reconstruction device 210 is input to the secret polynomial separator 213. The secret polynomial separating unit 213 receives the base polynomial Y (x) from the base polynomial reconstruction unit 212, and from the secret ID polynomial P (x) input as the base polynomial Y (x), the secret polynomial S (x) Calculate to find The obtained secret polynomial S (x) is output to the polynomial converter 214. The secret polynomial reconstruction unit 213 includes a remainder calculation unit, and calculates and outputs the remainder when the base polynomial Y (x) is divided by the secret ID polynomial P (x) as the secret polynomial S (x). If the output from the base polynomial reconstruction unit 212 is reconstruction error information, the secret polynomial separation unit 213 outputs the reconstruction error information to the polynomial conversion unit 214 as it is instead of reconstructing the secret polynomial S (x). To do.
[0069]
[Description of Polynomial Converter 214]
As shown in FIG. 10, the polynomial converter 214 performs an operation to return the secret polynomial S (x) input from the secret polynomial separator 213 to the original secret information S, and obtains and outputs the secret information S. . If the output from the secret polynomial separator 213 is reconstruction error information, the polynomial converter 214 outputs the reconstruction error information as it is instead of obtaining the secret information S. The conversion by the polynomial conversion unit 214 is the reverse conversion of the polynomial conversion unit 2011 in the secret sharing apparatus 200. Similar to the description of the polynomial converter 2011 described above, in the description of the second embodiment, since the secret information S is a positive integer value, it is necessary to convert it to a polynomial. However, if the input secret information S is already a polynomial, for example, the secret information S is an extension field GF (q of the finite field GF (q).m), And the polynomial expression described by the remainder when divided by the generator polynomial g (x), there is no need to convert it to a polynomial in the secret sharing apparatus. No conversion is required. Therefore, depending on the description method of the secret information S, the polynomial converter 214 may not be necessary (that is, the polynomial converter 214 does not perform any processing).
[0070]
Further, based on the example given in the description of the secret sharing apparatus 200, for example, in the polynomial conversion unit 2011, S (x) = x + S is used for conversion from the secret information S to the secret polynomial S (x) equation. When the conversion is performed such that the constant term uses the first-order polynomial of S (when the value of q on the finite field GF (q) used for the coefficient is larger than S), the polynomial conversion unit 214 stores the secret polynomial S The constant term of (x) is output as secret information S. Further, when the secret polynomial S (x) is formed only by the constant term (that is, when S (x) = S), the polynomial conversion unit 214 outputs it as it is without performing any processing. In the polynomial transformation unit 2011, the secret is divided into y pieces,
S (x) = S1+ S2x + S3x2+ ... + Syxy-1
When the conversion is performed so that the polynomial is y−1 order, the polynomial conversion unit 214 uses each coefficient S of the secret polynomial S (x).1, S2, ..., Sy(The reverse process of the division is performed. That is, when the secret is bit-expanded and divided into y pieces, they can be connected or S = S1+ S2+ ... + SyS to beiIf you divide into two, add them together)
Thus, it is converted into secret information S. Furthermore, the original secret is an extension field GF (q of finite field GF (q).m) And the polynomial expressed by the remainder when divided by the generator polynomial g (x) is S (x), it is output as it is (as a polynomial expression), Convert to the original representation format and output. The output from the polynomial transformation unit 214 becomes the output of the secret reconstruction device 210.
[0071]
<< 2-3. Operation of secret sharing apparatus 200 >>
Next, the operation of the secret sharing apparatus 200 in FIG. 8 will be described. When the secret sharing apparatus 200 distributes the original secret information S to be distributed to n members as distributed information, the secret level L of each member1, L2, ..., LnDepending on the member ID polynomial m1(X), m2(X), ..., mn(X) is generated, and the distributed information X corresponding to the member ID polynomial is generated1(X), X2(X), ..., Xn(X) is generated and output. FIG. 11 is a flowchart showing the operation of the secret sharing apparatus 200.
[0072]
As shown in FIG. 11, first, the input secret information S and the authority level L of each member1, L2, ..., Ln, Secret ID polynomial P (x), base polynomial Y (x), and member ID polynomial m distributed to each member1(X), m2(X), ..., mn(X) is calculated (step S31). This step S31 corresponds to the operation of the ID base polynomial generator 204 in FIG. A more detailed flowchart of step S31 is shown in FIG.
[0073]
As shown in FIG. 12, in step S31, first, a secret polynomial S (x) is calculated from the secret information S (step S311). This step S311 corresponds to the operation of the polynomial converter 2011 in FIG. As described in the configuration of the polynomial conversion unit 2011 described above, this conversion is performed into a polynomial that takes coefficients of a finite field GF (q) (a finite field is determined in advance). Any conversion method may be adopted as long as the secret information S that is a numerical value can be uniquely converted to a polynomial, and conversely, the secret information S can be uniquely converted from a polynomial.
[0074]
Next, as shown in FIG. 12, the secret ID polynomial P (x) is calculated from the secret polynomial S (x) (step S312), and the authority level L1, L2, ..., LnThen, the degree N of the base polynomial is calculated (step S313). Step S312 and step S313 may be operated in parallel as shown in FIG. 12, or may be operated in series so as to be executed by program software. When operating in series, either step S312 or step S313 may be executed first. This step S312 corresponds to the operation of the degree range designated irreducible polynomial selection unit 2012 in FIG. 9, and the secret ID polynomial P (x) is an irreducible polynomial having an order larger than the order of the secret polynomial S (x). Calculated by selecting. Step S313 corresponds to the operations of the maximum value selection unit 1013 and the base polynomial degree generation unit 2013 in FIG. The degree N of the base polynomial is determined by the authority level L in the maximum value selection unit 1013.1, L2, ..., LnIs selected and input to the base polynomial degree generation unit 2013, and the predetermined minimum number N of distributed information is selected.XminIs multiplied by the maximum authority level input.
[0075]
Next, as shown in FIG.1, L2, ..., LnAnd the member ID polynomial from the degree N of the base polynomial (steps S3141, S3142), and from the degree N of the secret polynomial S (x), secret ID polynomial P (x), and base polynomial, the base polynomial Y (x) Is calculated (step S315). The combined step of step S3141 and step S3142 is collectively referred to as step S314. Step S314 and step S315 may be operated in parallel as shown in FIG. 12, or may be operated in series so as to be executed by program software. When operating in series, either step S314 or step S315 may be executed first. Step S3141 corresponds to the operation of the member ID polynomial degree generation unit 2014 shown in FIG. 9, and the order of each member ID polynomial is obtained by changing the degree N of the base polynomial to each authority level L.1, L2, ..., LnIt is calculated by dividing by (rounded up after the decimal point).
[0076]
Step S3142 shown in FIG. 12 corresponds to the operation of the degree-specified irreducible polynomial selection unit 2015 in FIG. 9, and each member ID polynomial is calculated by selecting an irreducible polynomial that is the degree of each member ID polynomial. The Step S315 corresponds to the operation of the base polynomial generation unit 202 in FIG. 8, and the base polynomial Y (x) sets the order of the secret ID polynomial P (x) to N.PAs order NNPIs generated by generating a polynomial R (x) (random number polynomial) of a random coefficient, and adding the secret polynomial S (x) to the result of multiplying the random number polynomial R (x) and the secret ID polynomial P (x). (Refer to the formula (7) described above).
[0077]
As shown in FIG. 11, after step S31, the base polynomial Y (x) and the member ID polynomial m1(X), m2(X), ..., mnFrom (x), the distributed information polynomial X1(X), X2(X), ..., Xn(X) is calculated (step S32). This step S32 corresponds to the operation of the distributed information polynomial generator 203 in FIG.1(X), X2(X), ..., Xn(X) represents the base polynomial Y (x) with each member ID polynomial m1(X), m2(X), ..., mnIt is calculated by calculating the remainder when dividing by (x). With the above operation, the secret sharing apparatus 200 has the authority level L of each member.1, L2, ..., LnDepending on the member ID polynomial m1(X), m2(X), ..., mn(X), and the variance information polynomial X for the member ID polynomial1(X), X2(X), ..., Xn(X) is generated and output.
[0078]
<< 2-4. Operation of Secret Reconstruction Device 210 >>
Next, the operation of the secret reconstruction device 210 in FIG. 10 will be described. The secret reconstruction device 210 has a member ID polynomial m collected from k members gathered to reconstruct the secret information S.i1(X), mi2(X), ..., mik(X) and distributed information polynomial Xi1(X), Xi2(X), ..., XikThe secret information S is reconstructed from (x). At that time, the secret information S can be reconstructed if a sufficient number of members having a sufficient authority level for reconstructing the secret are gathered. Otherwise, the secret information S is reconstructed. Can not do it. FIG. 13 is a flowchart showing the operation of the secret reconstruction device 210.
[0079]
As shown in FIG. 13, first, an input member ID polynomial mi1(X), mi2(X), ..., mikA member ID polynomial determination result is calculated from (x) and the degree N of the base polynomial (step S31). The process of step S41 corresponds to the operation of the member ID polynomial determination unit 211 of FIG. 10, and the member ID polynomial determination result is multiplied by all the member ID polynomials that are input (that is, the member ID polynomials of the gathered members). The degree of the polynomial of the multiplication result is compared with the degree N of the base polynomial, and if the degree of the polynomial of the multiplication result is equal to or greater than the degree N of the base polynomial, “reconfigurable” is calculated. If not, it is calculated as “non-reconfigurable”.
[0080]
Next, the operation is divided depending on whether or not the member ID polynomial determination result is reconfigurable (step S42). If the result of step S42 is Yes (ie if reconfigurable), proceed to step S43 to reconstruct the secret information S; otherwise (ie if not reconfigurable) The configuration error information is output (step S44), and the process ends.
[0081]
As shown in FIG. 13, if the determination result in step S42 is Yes, the input member ID polynomial mi1(X), mi2(X), ..., mik(X), distributed information polynomial Xi1(X), Xi2(X), ..., XikSecret information S is calculated from (x) and secret ID polynomial P (x) (step S43). Step S43 corresponds to the operation of the secret reconstruction unit 215 in FIG. A more detailed flowchart of step S43 is shown in FIG.
[0082]
  As shown in FIG. 14, in step S43, first, the member ID polynomial mi1(X), mi2(X), ..., mik(X) and distributed information polynomial Xi1(X), Xi2(X), ..., XikA base polynomial Y (x) is calculated from (x) (step S431). Step S431 corresponds to the operation of the base polynomial reconstruction unit 212 in FIG. The base polynomial Y (x) is calculated as follows, for example. Each variance information polynomial Xi1(X), Xi2(X), ..., Xik(X) Two coefficient polynomials Mi1 (x), Mi2 (x),..., M calculated from the member ID polynomialik(X) and Ii1(X), Ii2(X), ..., IikThe product of the member ID polynomials of the gathered members is obtained by multiplying (x) and adding up
M (x) = mi1(X) × mi2(X) × ... × mik(X)
By taking the remainder at (mod.M (x) is calculated)TotalIs calculated (see the above-mentioned formulas (8), (9) and (10)).
[0083]
Next, as shown in FIG. 14, a secret polynomial S (x) is calculated from the base polynomial Y (x) (step S432). Step S432 corresponds to the operation of the secret polynomial separator 213 in FIG. 10, and the secret polynomial S (x) is obtained by taking a remainder when the base polynomial Y (x) is divided by the secret ID polynomial P (x). Calculated.
[0084]
Next, as shown in FIG. 14, the secret information S is calculated from the secret polynomial S (x) (step S433). Step S433 corresponds to the operation of the polynomial converter 214 in FIG. In this conversion, as described in the configuration of the polynomial conversion unit 214, a polynomial that takes a coefficient of a finite field GF (q) (a finite field is determined in advance) is converted into a numerical value, and a polynomial conversion unit 2011 is converted. Reverse conversion is performed. When the secret information S is obtained in step S43, the secret information S is output and the operation is terminated.
[0085]
<< 2-5. Effect of Second Embodiment >>
According to the second embodiment, as in the first embodiment, when the secret sharing apparatus 200 distributes the secret information, the authority level L of each member1, L2, ..., LnMember ID polynomial m according to1(X), m2(X), ..., mn(X) is generated, and the member ID polynomial m1(X), m2(X), ..., mnSince (x) is not restricted except that each is an irreducible polynomial, and since the secret sharing method using the property of the Chinese remainder theorem is adopted, the desired authority level L1, L2, ..., LnDistributed information polynomial X according to1(X), X2(X), ..., Xn(X) can be generated. Therefore, according to the secret sharing apparatus 200, secret sharing reconfiguration system, and secret sharing method of the second embodiment, the amount of shared information that must be generated and the amount of shared information that must be stored While suppressing the increase, secret sharing according to the authority level of each member can be performed. Further, according to the secret reconfiguration apparatus 210, the secret sharing reconfiguration system, and the secret reconfiguration method of the second embodiment, it is possible to reconfigure the information that is secret-shared according to the authority level. Furthermore, according to the second embodiment, since polynomials having elements in a finite field as coefficients are handled as member IDs and distributed information, it is possible to calculate numerical values with extremely different numbers of digits in calculation. This eliminates the need to avoid or perform an operation with an unknown number of digits, which makes it more efficient when implemented in hardware.
[0086]
≪3. Other variations >>
In the secret reconstruction devices 110 and 210 of the first and second embodiments, the determination results (member ID determination result and member ID polynomial determination result) in the member ID determination unit 111 and member ID polynomial determination unit 211 are not reconfigurable. Even if the determination result is possible, subsequent processing blocks in the secret sharing apparatuses 110 and 210 (the radix reconstruction unit 112, the secret reconstruction unit 113, the base polynomial reconstruction unit 212, the secret polynomial reconstruction unit 213) , The polynomial conversion unit 214) is sequentially passed, but only in the case of a determination result that is not reconfigurable, this determination result is directly output from the secret sharing apparatus 110, 210, and the processing block (the radix reconfiguration unit 112). , The secret reconstruction unit 113, the base polynomial reconstruction unit 212, the secret polynomial reconstruction unit 213, and the polynomial conversion unit 214) can be terminated. It is also possible to configure the so that.
[0087]
In the ID generation unit 101 of the secret sharing apparatus 100 according to the first embodiment, prime numbers are selected as all member IDs and secret IDs (range designation prime number selection unit 1011, digit number designation prime number selection unit 1015). However, if any two of all member IDs are in a relatively prime relationship, the member IDs do not necessarily have to be prime numbers. The secret ID does not necessarily have to be a prime number, and can be freely selected.
[0088]
Similarly, in the ID generation unit 201 of the secret sharing apparatus 200 according to the second embodiment, irreducible polynomials are selected as all member ID polynomials and secret ID polynomials (degree range designation irreducible polynomial selection unit). However, if any two of all the member ID polynomials do not have polynomials that are common to each other, the member ID polynomial is not necessarily a member ID polynomial. It need not be a polynomial. Further, the secret ID polynomial does not necessarily need to be an irreducible polynomial, and can be freely selected.
[0089]
In the member ID determination unit 111 of the secret reconfiguration apparatus 110 according to the first exemplary embodiment, a value obtained by multiplying all the member IDs of the gathered members is generated, and then the number of digits of the generated value and the digit of the radix are generated. Although the number N is compared with the number N, the number of digits of the result of multiplication between the integers is almost equal to the result of addition of the number of digits to be multiplied. After the calculation, the result obtained by adding all the calculated numbers of digits may be compared with the number of digits N of the radix.
[0090]
Similarly, the member ID polynomial determination unit 211 of the secret reconstruction device 210 of the second exemplary embodiment generates a polynomial obtained by multiplying all the member ID polynomials of the gathered members, and then generates the generated polynomial. The degree of the basic polynomial and the degree N of the base polynomial are compared. However, since the degree of the multiplication result of the polynomials is the result of addition of the orders to be multiplied, the degree of the member ID polynomial of the gathered members May be calculated, and the result obtained by adding all the calculated orders may be compared with the degree N of the base polynomial. That is, the following value:
deg (mi1(X))
+ Deg (mi2(X))
+ ...
+ Deg (mik(X)) (14)
Are compared with the degree N of the base polynomial. In equation (14), deg (mij(X)) is mijThis means that the order of (x) is calculated.
[0091]
【The invention's effect】
As described above, according to the secret sharing apparatus, secret sharing reconfiguration system, and secret sharing method of the present invention, the amount of shared information that must be generated and the amount of shared information that must be stored are increased. It is possible to perform secret sharing according to the authority level of each member while suppressing the above.
[0092]
Further, according to the secret reconfiguration apparatus, secret sharing reconfiguration system, and secret reconfiguration method of the present invention, it is possible to reconfigure information that has been secret-shared according to the authority level.
[Brief description of the drawings]
FIG. 1 is a block diagram schematically showing a configuration of a secret sharing apparatus according to a first embodiment of the present invention.
FIG. 2 is a block diagram showing a configuration of an ID generation unit in FIG.
FIG. 3 is a block diagram schematically showing the configuration of a secret reconfiguration apparatus according to the first embodiment of the present invention.
FIG. 4 is a flowchart showing an operation of the secret sharing apparatus according to the first embodiment of the present invention.
FIG. 5 is a flowchart showing the operation in step S11 of FIG.
FIG. 6 is a flowchart showing an operation of the secret reconfiguration apparatus according to the first embodiment of the present invention.
FIG. 7 is a flowchart showing the operation in step S23 of FIG.
FIG. 8 is a block diagram schematically showing a configuration of a secret sharing apparatus according to a second embodiment of the present invention.
9 is a block diagram illustrating a configuration of an ID generation unit in FIG.
FIG. 10 is a block diagram schematically showing a configuration of a secret reconfiguration apparatus according to a second embodiment of the present invention.
FIG. 11 is a flowchart showing an operation of the secret sharing apparatus according to the second embodiment of the present invention.
FIG. 12 is a flowchart showing the operation in step S31 of FIG.
FIG. 13 is a flowchart showing an operation of the secret reconfiguration apparatus according to the second embodiment of the present invention.
FIG. 14 is a flowchart showing the operation in step S43 of FIG.
[Explanation of symbols]
100 secret sharing device,
101 ID generator,
1011 range designation prime number selection unit,
1012 Radix digit generation unit,
1013 Maximum value selection unit,
1014 member ID digit number generation part,
1015 digit number designation prime number selection part,
102 base generation unit,
103 shared information generator,
104 ID radix generator,
110 secret reconstruction device,
111 member ID determination unit,
112 Radix reconstruction part,
113 Secret separation part,
114 Secret reconstruction part,
200 secret sharing device,
201 ID generator,
2011 polynomial conversion unit,
2012 degree range designated irreducible polynomial selector,
2013 base polynomial order generation unit,
2014 member ID polynomial degree generation unit,
2015 degree-specified irreducible polynomial selector,
202 base polynomial generator,
203 distributed information polynomial generator,
204 ID base polynomial generator,
210 secret reconstruction device,
211 member ID polynomial determination unit,
212 base polynomial reconstruction unit,
213 secret polynomial separator,
214 polynomial conversion unit,
215 secret polynomial reconstruction unit,
S The original secret,
L1, L2, ..., Ln  The authority level entered in the secret sharing device,
N the number of digits in the radix or the degree of the base polynomial,
P secret ID,
Y radix,
m1, M2, ..., mn  Member ID output from the secret sharing device,
X1, X2, ..., Xn  Shared information output from the secret sharing device,
mi1, Mi2, ..., mik  Member ID input to the secret reconstruction device;
Xi1, Xi2, ..., Xik  Distributed information input to the secret reconstruction device,
S (x) secret polynomial,
P (x) secret ID polynomial,
Y (x) base polynomial,
m (x)1, M (x)2, ..., m (x)n  Member ID polynomial output from the secret sharing device,
X (x)1, X (x)2, ..., X (x)n  Distributed information polynomial output from the secret sharing device,
m (x)i1, M (x)i2, ..., m (x)ik  Member ID polynomial input to the secret reconstruction device;
X (x)i1, X (x)i2, ..., X (x)ik  Distributed information polynomial input to the secret reconstruction device.

Claims (34)

もとの秘密情報から、複数のメンバのそれぞれに配布される分散情報を生成する秘密分散装置において、
上記もとの秘密情報及び上記各メンバの権限レベルが入力され、上記権限レベルのそれぞれに相当するメンバID、上記もとの秘密情報に対応付けられた分散情報を生成するための基数、及び、上記基数から上記もとの秘密情報を算出するときに用いられる秘密IDを算出するID基数生成手段と、
上記ID基数生成手段により算出された上記基数及び上記メンバIDから、上記各メンバに配布する分散情報を算出する分散情報生成手段と
を有することを特徴とする秘密分散装置。
In the secret sharing apparatus that generates shared information distributed to each of a plurality of members from the original secret information,
The original secret information and the authority level of each member are input, a member ID corresponding to each of the authority levels, a radix for generating shared information associated with the original secret information, and ID radix generation means for calculating a secret ID used when calculating the original secret information from the radix;
A secret sharing apparatus, comprising: shared information generating means for calculating shared information distributed to each member from the base and member ID calculated by the ID radix generating means.
上記もとの秘密情報は、正の整数値を取り、
上記ID基数生成手段は、
上記権限レベルに応じた桁数を持つ正の整数で、他のメンバIDとはそれぞれ互いに素である数を上記メンバIDとして算出するメンバID生成手段と、
上記もとの秘密情報よりも大きい正の整数を上記秘密IDとして算出する秘密ID生成手段と、
上記秘密IDと正整数の乱数を掛け合わせた値に上記もとの秘密情報を加算して上記基数を算出する基数生成手段と
を有し、
上記分散情報生成手段が、上記基数を上記メンバIDで割ったときの剰余を上記各メンバに配布する上記分散情報として算出する
ことを特徴とする請求項1に記載の秘密分散装置。
The original secret information takes a positive integer value,
The ID radix generation means includes:
Member ID generating means for calculating, as the member ID, a positive integer having a number of digits corresponding to the authority level, each of which is relatively prime with other member IDs;
A secret ID generating means for calculating a positive integer larger than the original secret information as the secret ID;
Radix generation means for calculating the radix by adding the original secret information to a value obtained by multiplying the secret ID and a positive integer random number, and
2. The secret sharing apparatus according to claim 1, wherein the shared information generating unit calculates a remainder obtained by dividing the radix by the member ID as the shared information distributed to the members.
上記もとの秘密情報は、正の整数値を取り、
上記ID基数生成手段は、
上記権限レベルに応じた桁数を持つ素数で、他のメンバID及び秘密IDとは異なる数を上記メンバIDとして算出するメンバID生成手段と、
上記もとの秘密情報よりも大きい素数で、すべてのメンバIDとは異なる値を上記秘密IDとして算出する秘密ID生成手段と、
上記秘密IDと正整数の乱数を掛け合わせた値に上記もとの秘密情報を加算して上記基数を算出する基数生成手段と
を有し、
上記分散情報生成手段が、上記基数を上記メンバIDで割ったときの剰余を上記各メンバに配布する上記分散情報として算出する
ことを特徴とする請求項1に記載の秘密分散装置。
The original secret information takes a positive integer value,
The ID radix generation means includes:
A member ID generating means for calculating, as the member ID, a prime number having a number of digits corresponding to the authority level and different from other member IDs and secret IDs;
A secret ID generating means for calculating a value different from all member IDs as a prime number larger than the original secret information as the secret ID;
Radix generation means for calculating the radix by adding the original secret information to a value obtained by multiplying the secret ID and a positive integer random number, and
2. The secret sharing apparatus according to claim 1, wherein the shared information generating unit calculates a remainder obtained by dividing the radix by the member ID as the shared information distributed to the members.
上記ID基数生成手段は、
上記権限レベルの最大値を求める最大値選択手段と、
上記最大値選択手段により求められた最大値と予め決められたメンバIDの最小値を掛け合わせることにより、上記基数の桁数を算出する基数桁数生成手段と、
上記基数桁数生成手段により算出された基数の桁数となるように、上記正整数の乱数を選択する乱数選択手段と、
上記基数桁数生成手段により算出された基数の桁数を各権限レベルで割り算することにより各メンバIDの桁数を算出するメンバID桁数生成手段と、
上記メンバID桁数生成手段により算出された各メンバIDの桁数を持つ素数を各々選択する桁数指定素数選択手段と
を有することを特徴とする請求項3に記載の秘密分散装置。
The ID radix generation means includes:
Maximum value selection means for obtaining the maximum value of the authority level;
A radix digit generation means for calculating the number of digits of the radix by multiplying the maximum value obtained by the maximum value selection means and a minimum value of a predetermined member ID;
Random number selection means for selecting the positive integer random number so as to be the number of digits of the radix calculated by the radix digit generation means;
Member ID digit number generating means for calculating the number of digits of each member ID by dividing the number of digits of the radix calculated by the radix digit number generating means by each authority level;
4. The secret sharing apparatus according to claim 3, further comprising: a digit number designating prime number selecting unit that selects each prime number having the number of digits of each member ID calculated by the member ID digit number generating unit.
上記もとの秘密情報が多項式でない場合には、上記もとの秘密情報を多項式に変換する多項式変換手段をさらに有し、
上記ID基数生成手段は、
上記権限レベルに応じた次数を持つ多項式で、他のメンバIDとはそれぞれ互いに素である多項式をメンバIDとして算出するメンバID生成手段と、
上記もとの秘密情報を変換した多項式よりも大きい次数を持つ多項式を秘密IDとして算出する秘密ID生成手段と、
上記秘密IDと乱数の係数を持つ多項式とを掛け合わせた多項式に上記もとの秘密情報を変換した多項式を加算して得られた多項式である上記基数を算出する基多項式生成手段と
を有し、
上記分散情報生成手段が、上記基数を上記メンバIDで割ったときの剰余の多項式を、上記各メンバに配布する上記分散情報として算出する、
ことを特徴とする請求項1に記載の秘密分散装置。
If the original secret information is not a polynomial, the original secret information further comprises a polynomial conversion means for converting the original secret information into a polynomial,
The ID radix generation means includes:
Member ID generation means for calculating a polynomial having a degree corresponding to the authority level, and a polynomial that is mutually prime with other member IDs, as member IDs;
A secret ID generating means for calculating, as a secret ID, a polynomial having a higher order than the polynomial obtained by converting the original secret information;
A base polynomial generating means for calculating the radix that is a polynomial obtained by adding a polynomial obtained by converting the original secret information to a polynomial obtained by multiplying the secret ID and a polynomial having a random coefficient. ,
The shared information generating means calculates a polynomial of a remainder when the radix is divided by the member ID as the distributed information distributed to the members;
The secret sharing apparatus according to claim 1.
上記もとの秘密情報が多項式でない場合には、上記もとの秘密情報を多項式に変換する多項式変換手段をさらに有し、
上記ID基数生成手段は、
上記権限レベルに応じた次数を持つ既約多項式で、他のメンバID及び秘密IDとは異なる多項式をメンバIDとして算出するメンバID生成手段と、
上記もとの秘密情報を変換した多項式よりも大きい次数を持つ既約多項式で、すべてのメンバIDとは異なる多項式を秘密IDとして算出する秘密ID生成手段と、
上記秘密IDと乱数の係数を持つ多項式とを掛け合わせた多項式に上記もとの秘密情報を変換した多項式を加算して得られた多項式である上記基数を算出する基数生成手段と
を有し、
上記分散情報生成手段が、上記基数を上記メンバIDで割ったときの剰余の多項式を、上記各メンバに配布する上記分散情報として算出する
ことを特徴とする請求項1に記載の秘密分散装置。
If the original secret information is not a polynomial, the original secret information further comprises a polynomial conversion means for converting the original secret information into a polynomial,
The ID radix generation means includes:
Member ID generation means for calculating, as a member ID, a polynomial that is an irreducible polynomial having a degree corresponding to the authority level and different from other member IDs and secret IDs;
A secret ID generating means for calculating, as a secret ID, a polynomial that is an irreducible polynomial having an order larger than the polynomial obtained by converting the original secret information, and different from all member IDs;
A radix generation means for calculating the radix that is a polynomial obtained by adding the polynomial obtained by converting the original secret information to a polynomial obtained by multiplying the secret ID and a polynomial having a random coefficient;
2. The secret sharing apparatus according to claim 1, wherein the shared information generating unit calculates a remainder polynomial obtained by dividing the radix by the member ID as the shared information distributed to the members.
上記ID基数生成手段は、
上記権限レベルの最大値を求める最大値選択手段と、
上記最大値選択手段により求められた最大値と予め決められたメンバIDの次数の最小値を掛け合わせることにより上記基数の次数を算出する基数次数生成手段と、
上記基数次数生成手段により算出された上記基数の次数となるように、上記乱数の係数を持つ多項式を選択する乱数多項式選択手段と、
上記基数次数生成手段により算出された基数の次数を各権限レベルで割り算することにより各メンバIDの次数を算出するメンバID次数生成手段と、
上記メンバID次数生成手段により算出された各メンバIDの次数を持つ既約多項式を各々選択する次数指定既約多項式選択手段と
を有することを特徴とする請求項6に記載の秘密分散装置。
The ID radix generation means includes:
Maximum value selection means for obtaining the maximum value of the authority level;
A radix order generation means for calculating the order of the radix by multiplying the maximum value obtained by the maximum value selection means by a minimum value of the order of a predetermined member ID;
Random number polynomial selection means for selecting a polynomial having a coefficient of the random number so as to be the order of the radix calculated by the radix order generation means;
Member ID degree generation means for calculating the degree of each member ID by dividing the degree of the radix calculated by the radix degree generation means by each authority level;
7. The secret sharing apparatus according to claim 6, further comprising: degree-designated irreducible polynomial selection means for selecting each irreducible polynomial having the degree of each member ID calculated by the member ID order generation means.
上記請求項1から7までのいずれかに記載の秘密分散装置で秘密分散された情報を再構成する秘密再構成装置において、
秘密再構成する際に集められた上記メンバIDから、上記もとの秘密情報が再構成できるか否かを判定する判定手段と、
上記判定手段で、再構成が可能であると判定された場合に、集められた上記メンバID及び分散情報から上記もとの秘密情報を再構成する秘密再構成手段と
を有することを特徴とする秘密再構成装置。
In the secret reconfiguration apparatus for reconfiguring information secret-shared by the secret distribution apparatus according to any one of claims 1 to 7,
A judging means for judging whether or not the original secret information can be reconstructed from the member ID collected at the time of secret reconfiguration;
And a secret reconstructing means for reconstructing the original secret information from the collected member ID and shared information when it is determined by the determining means that reconfiguration is possible. Secret reconstruction device.
上記秘密再構成手段は、
基数を算出する基数再構成手段と、
基数を秘密IDで割ったときの剰余を算出する秘密分離手段と
を有し、
上記基数再構成手段は、
集まったメンバのメンバIDから各分散情報の係数を算出する係数算出手段と、
上記係数算出手段により算出された上記係数と分散情報とを掛け算する第1の乗算手段と、
上記第1の乗算手段による乗算結果を、集まったメンバ分だけ足し合わせる加算手段と、
上記加算手段による加算結果を、集まったメンバのメンバIDをすべて掛け合わせた値で割ったときの剰余を算出する剰余演算手段と
を有する
ことを特徴とする請求項8に記載の秘密再構成装置。
The secret reconstruction means is:
A radix reconstruction means for calculating a radix;
A secret separation means for calculating a remainder when the radix is divided by the secret ID, and
The radix reconstruction means is:
Coefficient calculation means for calculating the coefficient of each shared information from the member IDs of the gathered members;
First multiplication means for multiplying the coefficient calculated by the coefficient calculation means and the variance information;
Adding means for adding the multiplication results of the first multiplying means by the amount of members gathered;
9. The secret reconstruction device according to claim 8, further comprising: residue calculation means for calculating a remainder when the addition result obtained by the addition means is divided by a value obtained by multiplying all member IDs of the gathered members. .
上記基数再構成手段の上記係数算出手段が、各分散情報に対し、各分散情報に対するメンバID以外のメンバIDをすべて掛け合わせた値、及び、各分散情報に対するメンバIDの剰余をとる演算上における、上記各分散情報に対するメンバID以外のメンバIDをすべて掛け合わせた値の逆元、の2つの係数を算出し、
上記基数再構成手段の上記第1の乗算手段は、上記算出された2つの係数と分散情報との3つの値を掛け算する
ことを特徴とする請求項9に記載の秘密再構成装置。
In the calculation, the coefficient calculation means of the radix reconstruction means takes the value obtained by multiplying each shared information by a member ID other than the member ID for each shared information, and the remainder of the member ID for each shared information. , Calculate the two coefficients of the inverse element of the value obtained by multiplying all the member IDs other than the member IDs for each of the shared information,
The secret reconstruction device according to claim 9, wherein the first multiplication unit of the radix reconstruction unit multiplies three values of the calculated two coefficients and shared information.
上記判定手段は、
集まったメンバのメンバIDをすべて掛け合わせる第2の乗算手段と、
上記第2の乗算手段により掛け合わせた結果の桁数が、基数の桁数よりも大きいか否かを判定する桁数判定手段と
を有することを特徴とする請求項8から10までのいずれかに記載の秘密再構成装置。
The determination means is
A second multiplication means for multiplying all member IDs of the gathered members;
The number-of-digits judging means for judging whether or not the number of digits of the result of multiplication by the second multiplying means is larger than the number of digits of the radix. The secret reconstruction device described in 1.
上記判定手段は、
集まったメンバのメンバIDそれぞれの桁数を算出する桁数算出手段と、
上記桁数算出手段により算出されたそれぞれのメンバIDの桁数を足し合わせる加算手段と、
上記加算手段により足し合わせた結果が、基数の桁数よりも大きいか否かを判定する桁数判定手段と
を有することを特徴とする請求項8から10までのいずれかに記載の秘密再構成装置。
The determination means is
A digit number calculating means for calculating the number of digits of each member ID of the gathered members;
Adding means for adding up the number of digits of each member ID calculated by the number of digits calculating means;
11. The secret reconfiguration according to claim 8, further comprising: a digit number determining unit that determines whether or not a result obtained by adding by the adding unit is larger than a digit number of a radix. apparatus.
上記秘密再構成手段は、
基数を算出する基数再構成手段と、
基数を秘密IDで割ったときの剰余を算出する秘密分離手段と、
変換手段と
を有し、
上記基数再構成手段は、
集まったメンバのメンバIDから各分散情報の係数となる多項式を算出する係数多項式算出手段と、
上記係数多項式算出手段により算出された係数多項式と分散情報とを掛け算する第1の乗算手段と、
上記第1の乗算手段による掛け算の結果を、集まったメンバ分だけ足し合わせる加算手段と、
上記加算手段による加算結果を、集まったメンバのメンバIDをすべて掛け合わせた多項式で割ったときの剰余を算出する剰余演算手段と
を有し、
上記変換手段が、もとの秘密情報が多項式ではない場合に、上記秘密分離手段で算出された多項式をもとの秘密情報に変換する
ことを特徴とする請求項8に記載の秘密再構成装置。
The secret reconstruction means is:
A radix reconstruction means for calculating a radix;
Secret separation means for calculating the remainder when the radix is divided by the secret ID;
Conversion means, and
The radix reconstruction means is:
Coefficient polynomial calculating means for calculating a polynomial that is a coefficient of each distributed information from the member IDs of the gathered members;
First multiplication means for multiplying the coefficient polynomial calculated by the coefficient polynomial calculation means and the variance information;
Adding means for adding the result of multiplication by the first multiplying means by the number of members gathered;
Residue calculation means for calculating a remainder when the addition result by the addition means is divided by a polynomial obtained by multiplying all member IDs of the gathered members;
9. The secret reconstruction device according to claim 8, wherein, when the original secret information is not a polynomial, the conversion means converts the polynomial calculated by the secret separation means into the original secret information. .
上記基数再構成手段の上記係数算出手段は、各分散情報に対し、各分散情報に対するメンバID以外のメンバIDをすべて掛け合わせた多項式、及び、各分散情報に対するメンバIDの剰余をとる演算上における、上記各分散情報に対するメンバID以外のメンバIDをすべて掛け合わした多項式の逆元、の2つの係数となる多項式を算出する係数多項式算出手段を有し、
上記基数再構成手段の上記第1の乗算手段は、上記算出された2つの係数多項式と分散情報との3つの多項式を掛け算する
ことを特徴とする請求項13に記載の秘密再構成装置。
The coefficient calculating means of the radix reconfiguring means is an arithmetic operation that takes a polynomial obtained by multiplying each shared information by a member ID other than the member ID for each shared information, and a remainder of the member ID for each shared information. And a coefficient polynomial calculation means for calculating a polynomial that is two coefficients of an inverse element of a polynomial obtained by multiplying all member IDs other than the member ID for each of the distributed information,
The secret reconstruction device according to claim 13, wherein the first multiplication means of the radix reconstruction means multiplies three polynomials of the calculated two coefficient polynomials and variance information.
上記判定手段は、
集まったメンバのメンバIDをすべて掛け合わせる第2の乗算手段と、
上記第2の乗算手段により掛け合わせた結果の次数が、基数の次数よりも大きいか否かを判定する判定手段と、
を有することを特徴とする請求項8、13、14のいずれかに記載の秘密再構成装置。
The determination means is
A second multiplication means for multiplying all member IDs of the gathered members;
Determining means for determining whether the order of the result of multiplication by the second multiplying means is greater than the order of the radix;
15. The secret reconstruction device according to any one of claims 8, 13, and 14, characterized by comprising:
上記判定手段は、
集まったメンバのメンバIDそれぞれの次数を算出する次数算出手段と、
上記次数算出手段により算出されたそれぞれのメンバIDの次数を足し合わせる加算手段と、
上記加算手段により足し合わせた結果が、基数の次数よりも大きいか否かを判定する判定手段と、
を有することを特徴とする請求項8、13、14のいずれかに記載の秘密再構成装置。
The determination means is
Degree calculation means for calculating the degree of each member ID of the gathered members;
Adding means for adding the orders of the respective member IDs calculated by the order calculating means;
Determination means for determining whether the result of addition by the addition means is greater than the order of the radix;
15. The secret reconstruction device according to any one of claims 8, 13, and 14, characterized by comprising:
もとの秘密情報を分散する、上記請求項1、2、3、4のいずれか一つに記載の秘密分散装置と、
上記秘密再構成装置で分散された情報から、上記もとの秘密情報を再構成する、上記請求項8、9、10、11、12のいずれか一つに記載の秘密再構成装置と
を有することを特徴とする秘密分散再構成システム。
The secret sharing apparatus according to any one of claims 1, 2, 3, and 4, which distributes original secret information;
From the information distributed by the secret reconstructor reconstructs the original secret information, a secret reconstruction device mounting serial to any one of the preceding claims 8,9,10,11,12 A secret sharing reconfiguration system characterized by comprising:
もとの秘密情報を分散する、上記請求項1、5、6、7のいずれか一つに記載の秘密分散装置と、
上記秘密再構成装置で分散された情報から、上記もとの秘密情報を再構成する、上記請求項8、13、14、15、16のいずれか一つに記載の秘密再構成装置と
を有することを特徴とする秘密分散再構成システム。
The secret sharing apparatus according to any one of claims 1, 5, 6, and 7 that distributes original secret information;
The secret reconstruction device according to any one of claims 8, 13, 14, 15, and 16 that reconstructs the original secret information from information distributed by the secret reconstruction device. A secret sharing reconstruction system characterized by that.
ID基数生成手段と分散情報生成手段とを備える秘密分散装置において、もとの秘密情報から、複数のメンバのそれぞれに配布される分散情報を生成す秘密分散方法であって
上記ID基数生成手段が、上記もとの秘密情報及び上記各メンバの権限レベルが入力され、上記権限レベルのそれぞれに相当するメンバID、上記もとの秘密情報に対応付けられた分散情報を生成するための基数、及び、上記基数から上記もとの秘密情報を算出するときに用いられる秘密IDを算出するID基数生成工程と、
上記分散情報生成手段が、上記ID基数生成工程により算出された上記基数及び上記メンバIDから、上記各メンバに配布する分散情報を算出する分散情報生成工程と
を有することを特徴とする秘密分散方法。
In secret sharing device comprising a an ID radix generator and distributed information generation means, from the original secret information, a secret sharing method to generate a shared information is distributed to each of the plurality of members,
The ID radix generation means receives the original secret information and the authority level of each member, and generates a member ID corresponding to each of the authority levels and distributed information associated with the original secret information. An ID radix generation step for calculating a secret ID used when calculating the original secret information from the radix and the radix;
The shared information generating means includes: a distributed information generating step of calculating distributed information distributed to each member from the radix calculated in the ID radix generating step and the member ID. .
上記もとの秘密情報は、正の整数値を取り、
上記ID基数生成手段による上記ID基数生成工程は、
上記権限レベルに応じた桁数を持つ正の整数で、他のメンバIDとはそれぞれ互いに素である数を上記メンバIDとして算出するメンバID生成工程と、
上記もとの秘密情報よりも大きい正の整数を上記秘密IDとして算出する秘密ID生成工程と、
上記秘密IDと正整数の乱数を掛け合わせた値に上記もとの秘密情報を加算して上記基数を算出する基数生成工程と
を有し、
上記分散情報生成手段による上記分散情報生成工程において、上記基数を上記メンバIDで割ったときの剰余を上記各メンバに配布する上記分散情報として算出する
ことを特徴とする請求項19に記載の秘密分散方法。
The original secret information takes a positive integer value,
The ID radix generation step by the ID radix generation means is:
A member ID generation step of calculating, as the member ID, a positive integer having a number of digits corresponding to the authority level, each of which is relatively prime with other member IDs;
A secret ID generating step of calculating a positive integer larger than the original secret information as the secret ID;
A radix generation step of calculating the radix by adding the original secret information to a value obtained by multiplying the secret ID and a positive integer random number,
20. The secret according to claim 19, wherein, in the shared information generating step by the shared information generating means, a remainder when the radix is divided by the member ID is calculated as the shared information distributed to the members. Distribution method.
上記もとの秘密情報は、正の整数値を取り、
上記ID基数生成手段による上記ID基数生成工程は、
上記権限レベルに応じた桁数を持つ素数で、他のメンバID及び秘密IDとは異なる数を上記メンバIDとして算出するメンバID生成工程と、
上記もとの秘密情報よりも大きい素数で、すべてのメンバIDとは異なる値を上記秘密IDとして算出する秘密ID生成工程と、
上記秘密IDと正整数の乱数を掛け合わせた値に上記もとの秘密情報を加算して上記基数を算出する基数生成工程と
を有し、
上記分散情報生成手段による上記分散情報生成工程において、上記基数を上記メンバIDで割ったときの剰余を上記各メンバに配布する上記分散情報として算出する
ことを特徴とする請求項19に記載の秘密分散方法。
The original secret information takes a positive integer value,
The ID radix generation step by the ID radix generation means is:
A member ID generating step of calculating a number different from other member IDs and secret IDs as a prime number having the number of digits according to the authority level;
A secret ID generating step of calculating a value different from all member IDs as a prime number larger than the original secret information as the secret ID;
A radix generation step of calculating the radix by adding the original secret information to a value obtained by multiplying the secret ID and a positive integer random number,
20. The secret according to claim 19, wherein, in the shared information generating step by the shared information generating means, a remainder when the radix is divided by the member ID is calculated as the shared information distributed to the members. Distribution method.
上記ID基数生成手段による上記ID基数生成工程は、
上記権限レベルの最大値を求める最大値選択工程と、
上記最大値選択工程により求められた最大値と予め決められたメンバIDの最小値を掛け合わせることにより、上記基数の桁数を算出する基数桁数生成工程と、
上記基数桁数生成工程により算出された基数の桁数となるように、上記正整数の乱数を選択する乱数選択工程と、
上記基数桁数生成工程により算出された基数の桁数を各権限レベルで割り算することにより各メンバIDの桁数を算出するメンバID桁数生成工程と、
上記メンバID桁数生成工程により算出された各メンバIDの桁数を持つ素数を各々選択する桁数指定素数選択工程と
を有することを特徴とする請求項21に記載の秘密分散方法。
The ID radix generation step by the ID radix generation means is:
A maximum value selection step for obtaining the maximum value of the authority level;
A radix digit generation step of calculating the number of digits of the radix by multiplying the maximum value obtained by the maximum value selection step and a minimum value of a predetermined member ID;
A random number selection step of selecting the positive integer random number so as to be the number of digits of the radix calculated by the radix digit generation step;
A member ID digit generation step of calculating the number of digits of each member ID by dividing the number of digits of the radix calculated by the above radix digit number generation step by each authority level;
The secret sharing method according to claim 21, further comprising: a digit number designating prime number selecting step of selecting prime numbers each having a digit number of each member ID calculated by the member ID digit number generating step.
上記秘密分散装置に備えられる多項式変換手段が、上記もとの秘密情報が多項式でない場合に、上記もとの秘密情報を多項式に変換する多項式変換工程をさらに有し、
上記ID基数生成手段による上記ID基数生成工程は、
上記権限レベルに応じた次数を持つ多項式で、他のメンバIDとはそれぞれ互いに素である多項式をメンバIDとして算出するメンバID生成工程と、
上記もとの秘密情報を変換した多項式よりも大きい次数を持つ多項式を秘密IDとして算出する秘密ID生成工程と、
上記秘密IDと乱数の係数を持つ多項式とを掛け合わせた多項式に上記もとの秘密情報を変換した多項式を加算して得られた多項式である上記基数を算出する基多項式生成工程と
を有し、
上記分散情報生成手段による上記分散情報生成工程において、上記基数を上記メンバIDで割ったときの剰余の多項式を、上記各メンバに配布する上記分散情報として算出する
ことを特徴とする請求項19に記載の秘密分散方法。
The secret sharing apparatus polynomial transformation means provided in is if the original secret information is not a polynomial, converting the original secret information polynomial, further comprising a polynomial transformation process,
The ID radix generation step by the ID radix generation means is:
A member ID generation step of calculating, as a member ID, a polynomial having a degree corresponding to the authority level, and a polynomial that is relatively prime to each other member ID;
A secret ID generating step of calculating a polynomial having a higher order than the polynomial obtained by converting the original secret information as a secret ID;
A base polynomial generation step of calculating the radix, which is a polynomial obtained by adding the polynomial obtained by converting the original secret information to a polynomial obtained by multiplying the secret ID and a polynomial having a random coefficient. ,
The distributed information generating step by the shared information generating means calculates a polynomial of a remainder when the radix is divided by the member ID as the distributed information distributed to each member. The secret sharing method described.
上記秘密分散装置に備えられる多項式変換手段が、上記もとの秘密情報が多項式でない場合に、上記もとの秘密情報を多項式に変換する多項式変換工程をさらに有し、
上記ID基数生成手段による上記ID基数生成工程は、
上記権限レベルに応じた次数を持つ既約多項式で、他のメンバID及び秘密IDとは異なる多項式をメンバIDとして算出するメンバID生成工程と、
上記もとの秘密情報を変換した多項式よりも大きい次数を持つ既約多項式で、すべてのメンバIDとは異なる多項式を秘密IDとして算出する秘密ID生成工程と、
上記秘密IDと乱数の係数を持つ多項式とを掛け合わせた多項式に上記もとの秘密情報を変換した多項式を加算して得られた多項式である上記基数を算出する基数生成工程と
を有し、
上記分散情報生成手段による上記分散情報生成工程において、上記基数を上記メンバIDで割ったときの剰余の多項式を、上記各メンバに配布する上記分散情報として算出する
ことを特徴とする請求項19に記載の秘密分散方法。
The secret sharing apparatus polynomial transformation means provided in is if the original secret information is not a polynomial, converting the original secret information polynomial, further comprising a polynomial transformation process,
The ID radix generation step by the ID radix generation means is:
A member ID generation step of calculating an irreducible polynomial having a degree corresponding to the authority level and a polynomial different from other member IDs and secret IDs as a member ID;
A secret ID generating step of calculating an irreducible polynomial having an order larger than the polynomial obtained by converting the original secret information and a polynomial different from all member IDs as a secret ID;
A radix generation step of calculating the radix, which is a polynomial obtained by adding a polynomial obtained by converting the original secret information to a polynomial obtained by multiplying the secret ID and a polynomial having a random coefficient,
In the distributed information generation step according to the dispersion information generating means, the polynomial remainder by the base above the member ID, to claim 19, characterized in that calculated as the dispersion information to be distributed to each member The secret sharing method described.
上記ID基数生成手段による上記ID基数生成工程は、
上記権限レベルの最大値を求める最大値選択工程と、
上記最大値選択工程により求められた最大値と予め決められたメンバIDの次数の最小値を掛け合わせることにより上記基数の次数を算出する基数次数生成工程と、
上記基数次数生成工程により算出された上記基数の次数となるように、上記乱数の係数を持つ多項式を選択する乱数多項式選択工程と、
上記基数次数生成工程により算出された基数の次数を各権限レベルで割り算することにより各メンバIDの次数を算出するメンバID次数生成工程と、
上記メンバID次数生成工程により算出きれた各メンバIDの次数を持つ既約多項式を各々選択する次数指定既約多項式選択工程と
を有することを特徴とする請求項24に記載の秘密分散方法。
The ID radix generation step by the ID radix generation means is:
A maximum value selection step for obtaining the maximum value of the authority level;
A radix order generation step of calculating the order of the radix by multiplying the maximum value obtained by the maximum value selection step by a minimum value of the order of a predetermined member ID;
A random number polynomial selection step of selecting a polynomial having a coefficient of the random number so as to be the order of the radix calculated by the radix degree generation step;
A member ID order generation step of calculating the order of each member ID by dividing the order of the base calculated by the above base order generation step by each authority level;
25. The secret sharing method according to claim 24, further comprising: an degree-designated irreducible polynomial selection step for selecting each irreducible polynomial having the degree of each member ID calculated by the member ID degree generation step.
判定手段と秘密再構成手段とを備える秘密再構成装置において、上記請求項19から25までのいずれかに記載の秘密分散方法で秘密分散された情報を再構成する秘密再構成方法であって
上記判定手段が、秘密再構成する際に集められた上記メンバIDから、上記もとの秘密情報が再構成できるか否かを判定する判定工程と、
上記秘密再構成手段が、上記判定工程で、再構成が可能であると判定された場合に、集められた上記メンバID及び分散情報から上記もとの秘密情報を再構成する秘密再構成工程と
を有することを特徴とする秘密再構成方法。
In secret reconstructor and a determination means and a secret re-construction unit, a secret reconstruction method for reconstructing the information secret sharing by secret sharing method according to any of the claims 19 to 25,
A determination step for determining whether or not the original secret information can be reconstructed from the member ID collected when the secret reconfiguration is performed;
A secret reconstructing step for reconstructing the original secret information from the collected member ID and shared information when the secret reconfiguring means determines that the reconfiguration is possible in the determining step; A secret reconstruction method characterized by comprising:
上記秘密再構成手段による上記秘密再構成工程は、
基数を算出する基数再構成工程と、
基数を秘密IDで割ったときの剰余を算出する秘密分離工程と
を有し、
上記基数再構成工程は、
集まったメンバのメンバIDから各分散情報の係数を算出する係数算出工程と、
上記係数算出工程により算出された上記係数と分散情報とを掛け算する第1の乗算工程と、
上記第1の乗算工程による乗算結果を、集まったメンバ分だけ足し合わせる加算工程と、
上記加算工程による加算結果を、集まったメンバのメンバIDをすべて掛け合わせた値で割ったときの剰余を算出する剰余演算工程と
を有する
ことを特徴とする請求項26に記載の秘密再構成方法。
The secret reconstruction step by the secret reconstruction unit is:
A radix reconstruction process for calculating a radix;
A secret separation step of calculating a remainder when the radix is divided by the secret ID, and
The radix reconstruction process is:
A coefficient calculation step of calculating a coefficient of each shared information from the member IDs of the gathered members;
A first multiplication step of multiplying the coefficient calculated by the coefficient calculation step and the variance information;
An addition step of adding the multiplication results of the first multiplication step by the number of members gathered;
27. A secret reconstruction method according to claim 26, further comprising: a residue calculation step of calculating a residue when the addition result of the addition step is divided by a value obtained by multiplying all member IDs of the gathered members. .
上記基数再構成工程の上記係数算出工程において、各分散情報に対し、各分散情報に対するメンバID以外のメンバIDをすべて掛け合わせた値、及び、各分散情報に対するメンバIDの剰余をとる演算上における、上記分散情報に対するメンバID以外のメンバIDをすべて掛け合わせた値の逆元、の2つの係数を算出し、
上記基数再構成工程の上記第1の乗算工程において、上記算出された2つの係数と分散情報との3つの値を掛け算する
ことを特徴とする請求項27に記載の秘密再構成方法。
In the calculation of the coefficient in the radix reconstruction process, each shared information is multiplied by all member IDs other than the member IDs for each shared information, and the remainder of the member ID for each shared information is calculated. 2 coefficients of the inverse element of the value obtained by multiplying all the member IDs other than the member ID with respect to the shared information,
28. The secret reconstruction method according to claim 27, wherein, in the first multiplication step of the radix reconstruction step, three values of the calculated two coefficients and shared information are multiplied.
上記判定手段による上記判定工程は、
集まったメンバのメンバIDをすべて掛け合わせる第2の乗算工程と、
上記第2の乗算工程により掛け合わせた結果の桁数が、基数の桁数よりも大きいか否かを判定する桁数判定工程と
を有することを特徴とする請求項26から28までのいずれかに記載の秘密再構成方法。
The determination step by the determination means includes
A second multiplication step of multiplying all the member IDs of the gathered members;
29. A digit number determination step for determining whether or not the number of digits of the result of multiplication in the second multiplication step is larger than the number of digits of the radix. The secret reconstruction method described in 1.
上記判定手段による上記判定工程は、
集まったメンバのメンバIDそれぞれの桁数を算出する桁数算出工程と、
上記桁数算出工程により算出されたそれぞれのメンバIDの桁数を足し合わせる加算工程と、
上記加算工程により足し合わせた結果が、基数の桁数よりも大きいか否かを判定する桁数判定工程と
を有することを特徴とする請求項26から28までのいずれかに記載の秘密再構成方法。
The determination step by the determination means includes
A digit number calculating step for calculating the number of digits of each member ID of the gathered members;
An addition step of adding the number of digits of each member ID calculated by the above-mentioned digit number calculation step;
29. A secret reconstruction process according to any one of claims 26 to 28, further comprising: a digit number determining step for determining whether a result obtained by the addition step is larger than a digit number of a radix. Method.
上記秘密再構成手段による上記秘密再構成工程は、
基数を算出する基数再構成工程と、
基数を秘密IDで割ったときの剰余を算出する秘密分離工程と、
変換工程と
を有し、
上記基数再構成工程は、
集まったメンバのメンバIDから各分散情報の係数となる多項式を算出する係数多項式算出工程と、
上記係数多項式算出工程により算出された係数多項式と分散情報とを掛け算する第1の乗算工程と、
上記第1の乗算工程による掛け算の結果を、集まったメンバ分だけ足し合わせる加算工程と、
上記加算工程による加算結果を、集まったメンバのメンバIDをすべて掛け合わせた多項式で割ったときの剰余を算出する剰余演算工程と
を有し、
上記変換工程において、もとの秘密情報が多項式ではない場合に、上記秘密分離工程で算出された多項式をもとの秘密情報に変換する、
ことを特徴とする請求項26に記載の秘密再構成方法。
The secret reconstruction step by the secret reconstruction unit is:
A radix reconstruction process for calculating a radix;
A secret separation step of calculating a remainder when the radix is divided by the secret ID;
Conversion process and
The radix reconstruction process is:
A coefficient polynomial calculation step of calculating a polynomial that is a coefficient of each shared information from the member IDs of the gathered members;
A first multiplication step of multiplying the coefficient polynomial calculated by the coefficient polynomial calculation step and the variance information;
An addition step of adding the result of multiplication in the first multiplication step by the number of members gathered;
A residue calculation step of calculating a residue when the addition result in the addition step is divided by a polynomial obtained by multiplying all member IDs of the gathered members, and
In the conversion step, when the original secret information is not a polynomial, the polynomial calculated in the secret separation step is converted into the original secret information.
27. The secret reconstruction method according to claim 26.
上記基数再構成工程の上記係数算出工程において、各分散情報に対し、各分散情報に対するメンバID以外のメンバIDをすべて掛け合わせた多項式、及び、各分散情報に対するメンバIDの剰余をとる演算上における、上記各分散情報に対するメンバID以外のメンバIDをすべて掛け合わした多項式の逆元、の2つの係数となる多項式を算出し、
上記基数再構成工程の上記第1の乗算工程において、上記算出された2つの係数多項式と分散情報との3つの多項式を掛け算する
ことを特徴とする請求項31に記載の秘密再構成方法。
In the coefficient calculation step of the radix reconfiguration step, each shared information is multiplied by all member IDs other than the member IDs for each shared information, and an operation for calculating a remainder of the member ID for each shared information Calculating a polynomial that is two coefficients of an inverse element of a polynomial obtained by multiplying all the member IDs other than the member ID for each of the distributed information,
32. The secret reconstruction method according to claim 31, wherein, in the first multiplication step of the radix reconstruction step, the three polynomials of the calculated two coefficient polynomials and variance information are multiplied.
上記判定手段による上記判定工程は、
集まったメンバのメンバIDをすべて掛け合わせる第2の乗算工程と、
上記第2の乗算工程により掛け合わせた結果の次数が、基数の次数よりも大きいか否かを判定する判定工程と
を有することを特徴とする請求項26、31、32のいずれかに記載の秘密再構成方法。
The determination step by the determination means includes
A second multiplication step of multiplying all the member IDs of the gathered members;
The determination step of determining whether or not the order of the result obtained by the multiplication by the second multiplication step is larger than the order of the radix. Secret reconstruction method.
上記判定手段による上記判定工程は、
集まったメンバのメンバIDそれぞれの次数を算出する次数算出工程と、
上記次数算出工程により算出されたそれぞれのメンバIDの次数を足し合わせる加算工程と、
上記加算工程により足し合わせた結果が、基数の次数よりも大きいか否かを判定する判定工程と
を有することを特徴とする請求項26、31、32のいずれかに記載の秘密再構成方法。
The determination step by the determination means includes
An order calculation step of calculating the order of each member ID of the gathered members;
An adding step of adding the orders of the respective member IDs calculated by the order calculating step;
33. The secret reconstruction method according to claim 26, 31 or 32, further comprising: a determination step of determining whether a result obtained by the addition step is greater than a radix order.
JP2003061369A 2003-03-07 2003-03-07 Secret sharing apparatus, secret reconfiguration apparatus, secret sharing reconfiguration system, secret sharing method, and secret reconfiguration method Expired - Fee Related JP4288966B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003061369A JP4288966B2 (en) 2003-03-07 2003-03-07 Secret sharing apparatus, secret reconfiguration apparatus, secret sharing reconfiguration system, secret sharing method, and secret reconfiguration method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003061369A JP4288966B2 (en) 2003-03-07 2003-03-07 Secret sharing apparatus, secret reconfiguration apparatus, secret sharing reconfiguration system, secret sharing method, and secret reconfiguration method

Publications (2)

Publication Number Publication Date
JP2004274320A JP2004274320A (en) 2004-09-30
JP4288966B2 true JP4288966B2 (en) 2009-07-01

Family

ID=33123612

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003061369A Expired - Fee Related JP4288966B2 (en) 2003-03-07 2003-03-07 Secret sharing apparatus, secret reconfiguration apparatus, secret sharing reconfiguration system, secret sharing method, and secret reconfiguration method

Country Status (1)

Country Link
JP (1) JP4288966B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8397142B2 (en) 2006-10-24 2013-03-12 Nec Corporation Shared information generating apparatus and recovering apparatus
JP4909796B2 (en) * 2007-04-24 2012-04-04 Kddi株式会社 Secret information management system, secret information management method and program
JP5065802B2 (en) * 2007-08-06 2012-11-07 Kddi株式会社 Distributed information generating apparatus, secret information restoring apparatus, shared information generating method with authority information, secret information access control method and program
JP2009218751A (en) * 2008-03-07 2009-09-24 Nec Corp Encrypting device, decoding key information management method, decoding key information management control program, and encryption data storage
JP5433297B2 (en) * 2009-05-14 2014-03-05 Kddi株式会社 Distributed information generating apparatus, secret information restoring apparatus, shared information generating method, secret information restoring method, and program
JP6489413B2 (en) * 2014-12-05 2019-03-27 パナソニックIpマネジメント株式会社 Management apparatus and image processing system

Also Published As

Publication number Publication date
JP2004274320A (en) 2004-09-30

Similar Documents

Publication Publication Date Title
Cheon et al. Cryptanalysis of the new CLT multilinear map over the integers
EP2701337B1 (en) Secret sharing method and system
US8520854B2 (en) Sharing a secret using polynomials over polynomials
JP4292835B2 (en) Secret reconstruction method, distributed secret reconstruction device, and secret reconstruction system
JP6095792B2 (en) Secret bit decomposition apparatus, secret modulus conversion apparatus, secret bit decomposition method, secret modulus conversion method, program
CN109067538B (en) Security protocol method, computer device, and storage medium
CN110519039B (en) Homomorphic processing method, equipment and medium for data
Seberry et al. Relationships among nonlinearity criteria
CN110519038B (en) Homomorphic processing device and system for data
CN108718231A (en) A kind of full homomorphic cryptography method, apparatus and computer readable storage medium
Aranha et al. A survey of elliptic curves for proof systems
JP7031682B2 (en) Secret calculator, system, method, program
US10511577B2 (en) Secret character string calculation system, method and apparatus, and non-transitory recording medium
Singh et al. Sequential secret sharing scheme based on Chinese remainder theorem
JP4288966B2 (en) Secret sharing apparatus, secret reconfiguration apparatus, secret sharing reconfiguration system, secret sharing method, and secret reconfiguration method
Rososhek New practical algebraic public-key cryptosystem and some related algebraic and computational aspects
Agbedemnab et al. A Novel Text Encryption and Decryption Scheme using the Genetic Algorithm and Residual Numbers.
Guillevic et al. Solving discrete logarithms on a 170-bit MNT curve by pairing reduction
Bootland et al. A framework for cryptographic problems from linear algebra
Wang et al. A multiple secret sharing scheme based on matrix projection
Khalimov et al. Encryption scheme based on small Ree groups
WO2020152831A1 (en) Information processing device, secret calculation method, and program
JP3943388B2 (en) Secret information distributed sharing method, apparatus and program thereof
CN110830250B (en) Method for realizing secret sharing on non-Euclidean ring by using general coefficient discovery algorithm
Grassi et al. Survey of key-recovery attacks on lowmc in a single plaintext/ciphertext scenario

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090212

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: 20090310

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: 20090323

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120410

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120410

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120410

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130410

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140410

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees