JP2014044264A - 秘密分散装置および秘密分散プログラム - Google Patents

秘密分散装置および秘密分散プログラム Download PDF

Info

Publication number
JP2014044264A
JP2014044264A JP2012185728A JP2012185728A JP2014044264A JP 2014044264 A JP2014044264 A JP 2014044264A JP 2012185728 A JP2012185728 A JP 2012185728A JP 2012185728 A JP2012185728 A JP 2012185728A JP 2014044264 A JP2014044264 A JP 2014044264A
Authority
JP
Japan
Prior art keywords
data
distributed
secret
sub
random number
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.)
Granted
Application number
JP2012185728A
Other languages
English (en)
Other versions
JP6008316B2 (ja
Inventor
Masakatsu Matsuo
正克 松尾
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.)
Panasonic Corp
Original Assignee
Panasonic Corp
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 Panasonic Corp filed Critical Panasonic Corp
Priority to JP2012185728A priority Critical patent/JP6008316B2/ja
Priority to US13/973,232 priority patent/US9331984B2/en
Priority to EP13181324.8A priority patent/EP2701337B1/en
Publication of JP2014044264A publication Critical patent/JP2014044264A/ja
Application granted granted Critical
Publication of JP6008316B2 publication Critical patent/JP6008316B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】ユーザによる所望の演算方法の導入を可能とすると共に、閾値以上の分散データが第三者に取得された場合でも秘密データの容易な復元を阻止できる秘密分散装置を提供する。
【解決手段】秘密分散装置1は、複数の秘密サブデータから構成される秘密データSを格納する分散用データ格納部16と、複数の乱数サブデータからそれぞれ構成される閾値よりも1つ少ない組数の乱数データRを取得し、当該乱数データRと秘密データSとに基づき、複数の分散サブデータからそれぞれ構成される複数組の分散データA〜Cを生成する分散処理部13とを備え、分散処理部13は、秘密データSにおける秘密サブデータと乱数データRの各々における乱数サブデータとを変数とする所定の分散データ生成関数により、前記分散サブデータを生成する構成とする。
【選択図】図2

Description

本発明は、秘密データ(元データ)を閾値以上の数の分散データに分散し、閾値未満の分散データでは秘密データの復元を不可能とする秘密分散装置および秘密分散プログラムに関する。
近年、コンピュータを利用した情報処理技術の急速な普及にともない、電子化された企業の機密情報や個人情報等の重要情報を安全に保存・管理する必要性が高まっている。特に、ネットワークを介してサーバからの各種サービスの提供を受けるクラウドコンピューティング等では、ネットワーク上に送出された重要情報の漏洩等が生じやすいため、そのようなセキュリティリスクを回避するための技術が開発されている。
この種の技術として、重要情報を含む秘密データをn個の分散データに分散し、それらのn個の分散データの中からk個(閾値)以上を集めることにより秘密データの復元が可能となるようにした秘密分散法(閾値法)が存在し、中でも多項式補間を利用する方法がよく知られている(非特許文献1参照)。この閾値法によれば、計算量的な安全性に基づくRSA(Rivest Shamir Adleman)暗号等の暗号技術の場合とは異なり、k個に満たない分散データが第三者に取得されても、情報処理装置(復元装置)の演算能力に拘わらず情報理論的に安全性が確保されるという利点がある。
一方、上記閾値法では、多項式演算等に関する処理負荷(処理時間)が大きいため、リアルタイム性を必要とする処理や、大量のデータ処理には適用が難しくなる。そこで、多項式補間の代わりにXOR(排他的論理和)を用いて処理を高速化する技術が知られている(特許文献1参照)。
A.Shamir:"How to Share a Secret",Communicaions of the A,CM, November 1979, Volume 22, Number 11. 特開2007−124032号公報
しかしながら、上記特許文献2に記載の従来技術では、XORを用いることが前提となるため、ユーザが所望の演算方法を導入することは難しく、柔軟性に乏しいという問題がある。また、上記従来技術では、閾値法の性質上、閾値以上の分散データが第三者に取得されれば、秘密データは当然に復元可能となってしまうという不都合もある。
本発明は、このような従来技術の課題を鑑みて案出されたものであり、従来の閾値法を改良した方法により、ユーザによる所望の演算方法の導入を可能とすると共に、閾値以上の分散データが第三者に取得された場合でも秘密データの容易な復元を阻止できる秘密分散装置および秘密分散プログラムを提供することを主目的とする。
本発明の秘密分散装置は、秘密データを閾値以上の組数の分散データに分散し、前記閾値未満の組数の分散データでは前記秘密データの復元を不可能とする秘密分散装置であって、複数の分散演算用サブデータから構成される組を少なくとも1つ有し且つ前記閾値よりも1つ少ない組数の分散演算用データと、複数の秘密サブデータから構成される前記秘密データとに基づき、複数の分散サブデータから構成される前記分散データを複数組、生成する分散データ生成手段を備え、前記分散データ生成手段は、前記秘密データにおける秘密サブデータと、前記分散演算用データにおける分散演算用サブデータとを変数とする所定の分散データ生成関数により、前記分散データにおける分散サブデータを生成することを特徴とする。
このように本発明によれば、従来の閾値法を改良した方法により、ユーザによる所望の演算方法の導入を可能とすると共に、閾値以上の分散データが第三者に取得された場合でも秘密データの容易な復元を阻止できるという優れた効果を奏する。
第1実施形態に係る秘密分散装置を備えた秘密分散システムの構成図 第1実施形態に係る秘密分散装置による秘密データの分散処理の要領を示す説明図 第1実施形態に係る秘密データの分散処理における分散データの生成の要領を示す説明図((A)分散データA、(B)分散データB、(C)分散データC) 図3に示した2つの分散データA,Bに基づく秘密データの復元処理の流れを示すフロー図 図3に示した2つの分散データA,Bに基づく秘密データの復元処理の要領を示す説明図 図3に示した2つの分散データA,Cに基づく秘密データの復元処理の流れを示すフロー図 図3に示した2つの分散データA,Cに基づく秘密データの復元処理の要領を示す説明図 図3に示した2つの分散データB,Cに基づく秘密データの復元処理の流れを示すフロー図 図3に示した2つの分散データB,Cに基づく秘密データの復元処理の要領を示す説明図 図2に示した秘密データの分散処理の変形例を示す説明図 図1に示した秘密分散装置の詳細構成を示す機能ブロック図 第2実施形態に係る秘密データの分散処理における分散データの生成の要領を示す説明図((A)分散データA、(B)分散データB、(C)分散データC、(D)分散データD) 第2実施形態に係る秘密データの分散処理における分散データ生成の一過程を示す説明図 第2実施形態に係る秘密データの分散処理における分散データ生成の一過程を示す説明図 第2実施形態に係る秘密データの分散処理における分散データ生成の一過程を示す説明図 第2実施形態に係る秘密データの分散処理における分散データ生成の一過程を示す説明図 第2実施形態に係る秘密データの分散処理における分散データ生成の一過程を示す説明図 第2実施形態に係る秘密データの分散処理における分散データ生成の一過程を示す説明図 第2実施形態に係る3組の分散データA,B,Cに基づく秘密データの復元処理の流れを示すフロー図 第3実施形態に係る秘密データの分散処理に用いられる分散データ生成関数を示す説明図 第3実施形態に係る秘密データの分散処理における分散データの生成の要領を示す説明図((A)分散データA、(B)分散データB、(C)分散データC) 第3実施形態に係る秘密分散装置における分散データA,Bに基づく秘密データの復元処理の流れを示すフロー図 第3実施形態に係る秘密分散装置における分散データA,Cに基づく秘密データの復元処理の要領を示す説明図 第3実施形態に係る秘密分散装置における分散データB,Cに基づく秘密データの復元処理の要領を示す説明図 第3実施形態に係る分散データの生成方法の変形例を示す説明図 第3実施形態に係る秘密データの復元方法の変形例を示す説明図 従来の閾値法による分散処理の要領を示す説明図(第1実施形態に係る秘密データの分散処理の比較例) 従来の閾値法による分散処理の要領を示す説明図(第3実施形態に係る秘密データの分散処理の比較例)
上記課題を解決するためになされた第1の発明は、秘密データを閾値以上の組数の分散データに分散し、前記閾値未満の組数の分散データでは前記秘密データの復元を不可能とする秘密分散装置であって、複数の分散演算用サブデータから構成される組を少なくとも1つ有し且つ前記閾値よりも1つ少ない組数の分散演算用データと、複数の秘密サブデータから構成される前記秘密データとに基づき、複数の分散サブデータから構成される前記分散データを複数組、生成する分散データ生成手段を備え、前記分散データ生成手段は、前記秘密データにおける秘密サブデータと、前記分散演算用データにおける分散演算用サブデータとを変数とする所定の分散データ生成関数により、前記分散データにおける分散サブデータを生成することを特徴とする。
この第1の発明に係る秘密分散装置によれば、従来の閾値法の改良により、秘密サブデータと分散演算用サブデータとを変数とする所定の分散データ生成関数を用いて分散サブデータを生成する構成としたため、ユーザによる所望の演算方法の導入(分散データ生成関数の変更)を可能とすると共に、閾値以上の分散データが第三者に取得された場合でも秘密データの容易な復元を阻止することが可能となる。
また、第2の発明は、上記第1の発明において、前記分散演算用データが前記分散演算用サブデータとしての乱数データを含む構成とする。
この第2の発明に係る秘密分散装置によれば、分散演算用サブデータを秘密データと無関係な乱数とすることにより、分散データの安全性を高めることができる。特に、乱数が物理乱数であれば、情報理論的安全性を実現できる。
また、第3の発明は、上記第1または第2の発明において、前記分散演算用データが、前記分散演算用サブデータとして、前記秘密サブデータまたは当該秘密サブデータを加工したデータを含む構成とする。
この第3の発明に係る秘密分散装置によれば、分散データの安全性を保持しつつ、データサイズを小さくすることができる。つまり、ランプ型閾値秘密分散を実現できる。
また、第4の発明は、上記第1から第3の発明のいずれかにおいて、前記分散データ生成関数による処理が、前記秘密サブデータおよび前記分散演算用サブデータと前記分散サブデータとの対応を示す所定の参照テーブルに基づき実行される構成とする。
この第4の発明に係る秘密分散装置によれば、簡易な処理により分散データを生成することができる。
また、第5の発明は、上記第1から第4の発明のいずれかにおいて、前記分散データ生成関数が互いに異なる複数の関数からなる構成とする。
この第5の発明に係る秘密分散装置によれば、秘密データの復元の際に、互いに異なる複数の関数を把握することが必要となるため、秘密データの安全性を高めることができる。
また、第6の発明は、上記第1から第5の発明のいずれかにおいて、前記複数の分散サブデータは、前記秘密データにおける1つの秘密サブデータと前記分散演算用データの各々における1つの分散演算用サブデータとの互いに異なる組み合わせを用いてそれぞれ生成される構成とする。
この第6の発明に係る秘密分散装置によれば、各分散サブデータの値が他の分散サブデータの値の影響を受けることはなく、ユーザによる所望の演算方法の導入(分散データ生成関数の変更)の際の自由度を高めることができる。
また、第7の発明は、秘密データを閾値以上の組数の分散データに分散し、前記閾値未満の組数の分散データでは前記秘密データの復元を不可能とする秘密分散装置として用いられるコンピュータを、複数の分散演算用サブデータから構成される組を少なくとも1つ有し且つ前記閾値よりも1つ少ない組数の分散演算用データと、複数の秘密サブデータから構成される前記秘密データとに基づき、複数の分散サブデータから構成される前記分散データを複数組、生成する分散データ生成手段として機能させるための秘密分散プログラムであって、前記分散データ生成手段は、前記秘密データにおける秘密サブデータと、前記分散演算用データにおける分散演算用サブデータとを変数とする所定の分散データ生成関数により、前記分散データにおける分散サブデータを生成することを特徴とする秘密分散プログラムである。
以下、本発明の実施の形態について図面を参照しながら説明する。
<第1実施形態>
図1は本発明の第1実施形態に係る秘密分散装置を備えた秘密分散システムの構成図である。この秘密分散システムでは、秘密分散に関する処理機能を有する秘密分散装置1と、分散データの格納先となる複数の分散先装置2と、秘密分散装置1を利用するクライアント装置3とがネットワーク4を介して相互に通信可能に接続されている。秘密分散装置1は後述する秘密分散処理用のプログラムが導入されたサーバ(コンピュータ)からなり、各分散先装置2はオンラインストレージ機能を備えたサーバからなる。また、クライアント装置3はPC(Personal Computer)からなる。
この秘密分散システムでは、秘密分散装置1は、クライアント装置3からの要求に応じて、秘密分散法(電子割符技術)に基づき秘密データから複数組の分散データを生成し、それら分散データを各分散先装置2に格納する。一方、秘密分散装置1は、クライアント装置3からの要求に応じて、それら分散データから秘密データを復元することができる。
なお、ここで用いる「秘密データ」は、必ずしも公になっていない秘密のデータを意味するものではなく、ユーザが保護(第三者への漏洩等を防止)すべきと考える任意の元データ(それに附属するデータを含む)である。また、秘密分散装置1が用いられる秘密分散システムは、ここに示すものに限らず、各装置の構成や配置の変更などを含めて種々の変更が可能である。場合によっては、1つの情報処理装置(PCおよびそれに付属するストレージ等)により、上記秘密分散システムと同様の機能を果たすようにしてもよい。
図2は図1に示した秘密分散装置による秘密データの分散処理の要領を示す説明図であり、図3はその分散処理における分散データの生成の要領を示す説明図である。
まず、第1実施形態に係る秘密データの分散処理についての理解を容易とするために、図27を参照して従来のシャミアの閾値法(閾値k=2、分散数n=3)による分散処理の要領について説明する。図27には、XY座標において秘密データSが3つの分散データA〜Cに分散される場合が示されている。ここで、秘密データSは、4つの秘密サブデータS1〜S4を一組として構成され、また、生成される3つの分散データA〜Cは、それぞれ4つの分散サブデータAi〜Ci(i=1,2,3,4)を一組として構成されるものとする。
また、ここでは、説明の便宜上、XY座標における秘密データSのX値(X座標の値)を0とし、各分散データA〜CのX値をそれぞれ固定値a〜cとする(後述する本発明に関する図2等についても同様)。これにより、秘密サブデータS1〜S4は、直線X=0上におけるY値(Y座標の値)S1〜S4(図27中の黒丸印参照)として表される。また、分散データAにおける分散サブデータA1〜A4は、直線X=a上におけるY値A1〜A4(図27中の星印参照)として表される(他の分散データB,Cについても分散データAと同様)。なお、実際には、ユーザは、秘密データSのX値およびY値として種々の値を用いることが可能であり、また、分散データA〜CのX値およびY値を任意の固定値や乱数等を用いて設定することができる。なお、ここでは図を見やすくするため、S1<S2<S3<S4とするなど、各直線が交わらないように工夫して図示している。しかし実際は、各直線は、S1〜S4の大小関係や直線の傾きによって、複雑に交差する。これ以降の関数の図も同様で、図を簡便するために、S1<S2<S3<S4とするなど、各直線や曲線がなるだけ交差しないように図示している。
この従来の閾値法では、各分散データの生成に所定の次数(閾値k−1)の曲線(k=2の場合は直線)が用いられる。ここでは、閾値k=2であるため、Y=αX+β・・・(式1)で表される直線が用いられる。したがって、秘密サブデータS1〜S4は、式1中の切片βに相当する。図27に示すように、秘密サブデータS1〜S4を示す各点(0,S1)、(0,S2)、(0,S3)、(0,S4)を通る4つの直線の傾き(式1中の傾きα)を乱数により決定すると、それら各直線とX=a,b,cとの各交点におけるY値を分散サブデータAi〜Ci(i=1,2,3,4)として設定することができる。
このように生成された分散データA〜Cでは、それらの閾値k未満の集合では、生成に用いた曲線(ここでは、直線)は特定されないため、第三者が秘密データSを復元することは不可能である。一方、第三者であっても閾値k以上の分散データを取得できれば、分散処理に用いた曲線を特定できるため、秘密データSを復元可能となる。
次に、図2および図3を参照して秘密分散装置1による分散処理の詳細について説明する。この分散処理では、上述の図27の場合と同様に、閾値k=2、分散数n=3とし、XY座標において秘密データSが3つの分散データA,B,Cに分散される。
ここで、秘密データSおよび分散データA〜Cについては、分散データB,Cにおける分散サブデータBi,Ci(i=1〜5)の数が1つずつ増加していることを除けば、上述の図27の場合と同様である。一方、上述の図27の場合とは異なり、分散処理に乱数データR(分散演算用データ)が新たに導入されている。乱数データRは、5つの乱数サブデータRj(j=1〜5)を一組として構成され、後述するように秘密データSと共に分散データA〜Cの生成に用いられる。この乱数データRについても、説明の便宜上、上述の秘密データSおよび分散データA〜Cと同様にX値を固定値eとする。これにより、XY座標において、乱数サブデータR1〜R5は、直線X=e上におけるY値(図2中の◎印参照)として表される。なお、乱数データRは、特に物理乱数からなることが好ましい。
秘密分散装置1による分散処理では、まず乱数データR(乱数サブデータR1〜R5)の値が決定され、その乱数データRと秘密データSとに基づき、分散データA〜Cが生成される。より詳細には、秘密サブデータと乱数サブデータとを変数とする所定の関数(例えば、排他的論理和)を用いることにより、分散データを生成する。例えば、図2に示すように、秘密サブデータS1と各乱数サブデータR1,R2,R3とを通る直線が求められ、それらの直線とX=a,b,cとの交点におけるY値が分散サブデータA1,B2,C3としてそれぞれ設定される。また、秘密サブデータS2と各乱数サブデータR2,R3,R4とを通る直線が求められ、それらの直線とX=a,b,cとの交点におけるY値が分散サブデータA2,B3,C4としてそれぞれ設定される。また、秘密サブデータS3と各乱数サブデータR3,R4,R5とを通る直線が求められ、それらの直線とX=a,b,cとの交点におけるY値が分散サブデータA3,B4,C5としてそれぞれ設定される。また、秘密サブデータS4と各乱数サブデータR4,R5とを通る直線が求められ、それらの直線とX=a,b,cとの交点におけるY値が分散サブデータA4,B5としてそれぞれ設定される。さらに、ここでは、後述する秘密データSの復元を容易とするために、B1=C1=R1、C2=R2としている。
なお、秘密サブデータと乱数サブデータとの組合せ(対応づけ)については、ここに示したものに限らず種々の変更が可能である。各秘密サブデータS1〜S4と各乱数サブデータR1〜R5とは全てが対応づけられる必要はない。
このような分散データA〜Cの生成では、図3(A)〜(C)に示すように、乱数サブデータの値をそのまま用いる一部の分散サブデータ(B1,C1,C2)を除けば、1つの秘密サブデータと1つの乱数サブデータとから1つの分散サブデータが生成される。つまり、図3(A)〜(C)は、上2行における乱数サブデータおよびこれに組み合わされた秘密サブデータとを結ぶ1つの直線とX=a(またはX=b,X=c)との交点におけるY値によって、矢印で指示される下1行における分散サブデータが導出されることを示している。これは同一の直線上に複数の分散サブデータが位置する従来の閾値法の場合(図27参照)とは異なり、複数の分散サブデータそれぞれを、異なる直線上に配置するものである。つまり、「AとR」、「BとR」、「CとR」を結ぶ直線を見て分かるように、1つの直線には、A、B、Cのいずれか1つの分散サブデータしか現れない。この方法は、秘密データから、閾値2、分散数2の分散サブデータを3組(「AとR」、「BとR」、「CとR」)作成するものである。そして、この3組から共通の乱数サブデータR(分散演算用サブデータ)の情報を欠落させることで、分散サブデータA,B,Cという閾値2、分散数3の秘密分散を実現するものである。なお、図3(A)〜(C)では、乱数サブデータに組み合わされる秘密サブデータが存在しない場合は、乱数サブデータがそのまま分散サブデータ(B1,C1,C2)とされる。
ここで、図3(A)では、各秘密サブデータS1〜S4が各乱数サブデータR1〜R4にそれぞれ組み合わされている。また、図3(B)では、図3(A)の状態から乱数サブデータR1〜R4に対して秘密サブデータS1〜S4を右側に1つずらした状態で両者が組み合わされている。また、図3(C)では、図3(A)の状態から乱数サブデータR1〜R4に対して秘密サブデータS1〜S4を右側に2つずらした状態で両者が組み合わされている。このように、乱数サブデータに対して秘密サブデータを相対的にずらす操作を行うことにより、秘密サブデータと乱数サブデータとの異なる組合せを容易に取得することができる。
なお、秘密サブデータS1〜S4と各乱数サブデータR1〜R4とについては、少なくとも後述するような秘密データSデータの復元を可能とするものであれば、ここに示すものに限らず、種々の組合せが可能である。また、秘密サブデータS1〜S4については、それぞれ保護を必要とする独立したデータであるが、これに限らず、1つの秘密データSをそれぞれ分割して生成されたものでもよく、場合によっては、秘密サブデータS1〜S4の一部をダミーデータとしてもよい。
次に、上述の秘密分散装置1による秘密データSの分散処理の安全性について説明する。
図27に示した従来の閾値法では、式1における直線の傾きαを乱数として設定したが、これは分散データA〜Cのいずれかを乱数として設定することと同じことを意味する。つまり、例えば図27に示した分散データCにおける各分散サブデータC1〜C4(X=cにおけるY値)をそれぞれ乱数により設定し、それら各分散サブデータC1〜C4と各秘密サブデータS1〜S4とを結ぶ直線をそれぞれ生成すると、それらの直線の傾きαは自ずと決定される。そして、それらの直線とX=a,bとの交点におけるY値から分散データA,Bを構成する分散サブデータA1〜A4,B1〜B4を取得することができる。
図2は、閾値2、分散数3の秘密分散を実現するのに、秘密データから閾値2、分散数2の分散データを3組(「AとR」、「BとR」、「CとR」)作成し、ここから共通の乱数データR(分散演算用データ)の情報を欠落させているものなので、従来の閾値法による分散データA〜Cの生成方法と安全性において等価であり、少なくとも従来の閾値法と同等の安全性が確保されていると言える。
なお、秘密分散装置1による分散データA〜Cの生成方法では、一部の分散サブデータについて乱数サブデータの値がそのまま用いられている(B1=C1=R1、C2=R2)が、このように分散データの一部に乱数データがそのまま用いられること自体は、分散データA〜Cの安全性には悪影響を及ぼさない。
図4は図3に示した2つの分散データA,Bに基づく秘密データの復元処理の流れを示すフロー図であり、図5はその復元処理の要領を示す説明図である。
分散データA,Bに基づく秘密データの復元処理では、図4中のステップ(1)〜(15)が順次実行される。これにより、図5中の矢印によって示されるように、乱数サブデータR1〜R4および秘密サブデータS1〜S4が順次取得される。
より詳細には、まず、秘密分散装置1は、分散データBにおける分散サブデータB1から乱数サブデータR1を取得する(ステップ(1))。次に、取得した乱数サブデータR1と分散サブデータA1とを通る直線1を計算し(ステップ(2))、この直線1とX=0との交点のY値を計算することにより、秘密サブデータS1を取得する(ステップ(3))。次に、取得した秘密サブデータS1と分散サブデータB2とを通る直線2を計算し(ステップ(4))、この直線2とX=eとの交点のY値を計算することにより、乱数サブデータR2を取得する(ステップ(5))。次に、取得した乱数サブデータR2と分散サブデータA2とを通る直線3を計算し(ステップ(6))、この直線3とX=0との交点のY値を計算することにより、秘密サブデータS2を取得する(ステップ(7))。
次に、取得した秘密サブデータS2と分散サブデータB3とを通る直線4を計算し(ステップ(8))、この直線4とX=eとの交点のY値を計算することにより、乱数サブデータR3を取得する(ステップ(9))。次に、取得した乱数サブデータR3と分散サブデータA3とを通る直線5を計算し(ステップ(10))、この直線5とX=0との交点のY値を計算することにより、秘密サブデータS3を取得する(ステップ(11))。次に、取得した秘密サブデータS3と分散サブデータB4とを通る直線6を計算し(ステップ(12))、この直線6とX=eとの交点のY値を計算することにより、乱数サブデータR4を取得する(ステップ(13))。最後に、取得した乱数サブデータR4と分散サブデータA4とを通る直線7を計算し(ステップ(14))、この直線7とX=0との交点のY値を計算することにより、秘密サブデータS4を取得する(ステップ(15))。
このように、分散データA,Bは、それぞれ秘密データから閾値2、分散数2の分散データ(「AとR」、「BとR」)を作成し、そこから共通の乱数データR(分散演算用データ)の情報を欠落させたものであるが、分散データAと分散データBが揃うと、この欠落された乱数データR(分散演算用データ)の情報が復元でき、それで、秘密データが復元できるものになっている。なお、分散データA,Bのいずれか一つを入手しただけでは、乱数データR(分散演算用データ)が分からないので全く復元できない。
図6は図3に示した2つの分散データA,Cに基づく秘密データの復元処理の流れを示すフロー図であり、図7はその復元処理の要領を示す説明図である。図6および図7は、上述の分散データA,Bに関する図4および図5にそれぞれ対応する。
分散データA,Cに基づく秘密データの復元処理では、図6中のステップ(1)〜(14)が順次実行される。これにより、図7中の矢印によって示されるように、乱数サブデータR1〜R4および秘密サブデータS1〜S4が順次取得される。
なお、図6中の各ステップ(1)〜(14)の詳細については、上述の図4中の各ステップと同様に実行可能であるため説明を省略する。なお、図6において、乱数サブデータR1の取得で始まるステップ(1),(3),(4),(7),(8),(11),(12)(図7中に実線で示す矢印参照)については、乱数サブデータR2の取得で始まるステップ(2),(5),(6),(9),(10),(13),(14)(図7中に破線で示す矢印参照)とは独立して実行することが可能である。
図8は図3に示した2つの分散データB,Cに基づく秘密データの復元処理の流れを示すフロー図であり、図9はその復元処理の要領を示す説明図である。図8および図9は、上述の分散データA,Bに関する図4および図5にそれぞれ対応する。
分散データB,Cに基づく秘密データの復元処理では、図8中のステップ(1)〜(15)が順次実行される。これにより、図9中の矢印によって示されるように、乱数サブデータR1〜R5および秘密サブデータS1〜S4が順次取得される。なお、図8中の各ステップ(1)〜(15)の詳細については、上述の図4または図6中の各ステップと同様に実行可能であるため説明を省略する。
このように、秘密分散装置1によって生成された複数組(ここでは、3組)の分散データについては、閾値k以上の数組(ここでは、2組)の分散データを取得した場合に、閾値k−1の組数(ここでは、1組)の乱数データ(分散演算用データ)を介して秘密データを復元可能となっている。一方、閾値k未満の組数の分散データを取得しても、秘密データを復元することは不可能である。
図10は第1実施形態に係る分散データの生成方法の変形例を示す説明図である。上述の分散処理では、分散サブデータを生成するための演算用データとして乱数データを用いた例を示したが、この演算用データとしては、少なくとも第三者に秘匿されたデータであれば、乱数データに限らず所望のデータを用いることができる。
ここでは、図2に示した乱数サブデータの一部(R3)の代わりに秘密サブデータS4を用いた例を示している。このように、分散演算用データの一部、またはすべてを秘密サブデータに置き換えることにより、各分散データA〜Cのデータ量を低減できるという利点がある(これはランプ型秘密分散である。)なお、分散演算用データの一部、またはすべてを置き換えるためのデータとしては、秘密データそのものでなくてもよく、後に復元可能なように秘密サブデータを加工(変換)したデータでもよい。
図11は図1に示した秘密分散装置の詳細構成を示す機能ブロック図である。秘密分散装置1には、ネットワーク4(図1参照)を介してクライアント装置3等との間で秘密分散に関するコマンドやデータの送受信を行う通信モジュールからなるネットワーク通信制御部11と、クライアント装置3から秘密データSの分散処理のリクエストを受ける分散処理受付部12と、所定の分散条件にしたがって秘密データSの分散処理を実行する分散処理部(分散データ生成手段)13と、分散処理部13において生成される分散データA〜Cを識別するためのIDを生成するID生成部14と、秘密データSと共に分散データA〜Cの生成に用いられる乱数データRを生成する乱数生成部15と、分散処理に関するデータを格納するメモリからなる分散用データ格納部(秘密データ格納手段)16と、クライアント装置3から秘密データSの復元処理のリクエストを受ける復元処理受付部21と、秘密データSの復元処理を実行する復元処理部22と、復元処理に関するデータを格納するメモリからなる復元用データ格納部23とが設けられている。
ここでは図示しないが、秘密分散装置1は、周知のハードウエアとして、装置を統括的に制御するCPU、ワークメモリとして機能するRAM、上述のような分散処理および復元処理を実行可能な秘密分散処理用のプログラムが格納される記憶装置としてのHDD等を備えている。これにより、上記分散処理受付部12、分散処理部13、復元処理受付部21、及び復元処理部22等の各部の機能は、CPUによる秘密分散処理用のプログラムの実行(ソフトウェア処理)によって実現される。なお、それら各部の特定の処理をハードウエアによって実行する構成も可能である。また、分散用データ格納部16および復元用データ格納部23としては、不揮発性のメモリに限らず、RAM等の揮発性のメモリを用いてもよい。
次に、図11に示した秘密分散装置1における分散処理の動作について説明する。分散処理受付部12は、クライアント装置3から分散処理のリクエストを受けると、そのリクエストと共に取得(またはリクエストに応じて設定)した分散条件情報およびアドレス情報a1〜a4を分散処理部13に送出する。ここで、分散条件情報には、分散処理部13が分散処理を実行するために必要な情報として、分散数n(ここでは、3)や閾値k(ここでは、2)等の情報が含まれている。また、アドレス情報a1は、分散処理の対象となる秘密データSの保存先の情報(ここでは、分散用データ格納部16のアドレス情報)であり、アドレス情報a2〜a4は、分散処理後に生成される分散データA〜Cの保存先の情報(ここでは、分散用データ格納部16のアドレス情報)である。
分散用データ格納部16には、分散処理を必要とする秘密データSが予め格納されている。この秘密データSは、クライアント装置3から予め受信したものであるが、これに限らず、USBメモリ等の可搬記録媒体から取得されたものや、秘密分散装置1において生成されたものなどを用いてもよい。
分散処理部13は、分散処理受付部12から分散条件情報を取得すると、その分散条件情報にしたがって上述のような分散処理を実行する。このとき、アドレス情報a1に基づき分散用データ格納部16から読み出された秘密データSと、乱数生成部15によって生成された乱数データRとが分散処理に用いられる。乱数データ(分散演算用データ)の個数(乱数サブデータの個数ではなく、乱数データの個数)は、少なくとも閾値kよりも1つ少ない数だけ生成される。(ここでは、k=2なので、乱数データはRの1つ)また、分散データA〜Cには、ID生成部14によって生成されたIDがそのヘッダ情報として付加される。分散データA〜Cを識別するためのIDとしては、所定の固定値や乱数等を用いることができる。そして、分散処理部13により生成された分散データA〜Cは、アドレス情報a2〜a4に基づき分散用データ格納部16にそれぞれ格納される。分散用データ格納部16に格納された分散データA〜Cは、互いに切り離されて複数の分散先装置2(図1参照)にそれぞれ送信される。
なお、分散処理部13は、乱数生成部15から取得する上記乱数データRの代わりに、ユーザによって入力された所定のデータ(第三者に秘匿されたデータ)、または秘密データSそのものを用いてもよい。また、分散データA〜Cの保存先は、分散先装置2に限定されるものではなく、場合によっては分散用データ格納部16にそのまま保存しておくこともできる。
次に、図11に示した秘密分散装置1における復元処理の動作について説明する。復元処理受付部21は、クライアント装置3から復元処理のリクエストを受けると、そのリクエストと共に取得(またはリクエストに応じて設定)したアドレス情報b1〜b4を復元処理部22に送出する。アドレス情報b1〜b3は、復元処理の対象となる分散データA〜Cの保存先の情報(ここでは、復元用データ格納部23のアドレス情報)であり、アドレス情報b4は、復元処理後に生成される秘密データSの保存先の情報(ここでは、復元用データ格納部23のアドレス情報)である。
復元処理に用いられる分散データA〜Cは、復元処理のリクエストに応じて保存先(分散先装置2等)から受信したものか、或いは、予め復元用データ格納部23に格納されていたものである。図11では、全ての分散データA〜Cが復元用データ格納部23に格納されているが、少なくとも閾値以上の分散データが格納されていればよい。
復元処理部22は、復元処理受付部21からアドレス情報b2〜b4を取得すると、それらの情報に基づき少なくとも復元に必要な数(閾値k以上)の分散データを復元用データ格納部23から読み出す。このとき、復元処理部22は、各分散データのヘッダ情報(ID)から、その読み出した分散データが適切か否かを判定することができる。その後、復元処理部22は、上述のような復元処理を実行する。復元された秘密データSは、アドレス情報b4に基づき復元用データ格納部23における所定のアドレスに格納される。
復元用データ格納部23に格納された秘密データSは、必要に応じてクライアント装置3に送信される。或いは、クライアント装置3からのリクエストに応じて、秘密分散装置1において秘密データSに対して必要な情報処理がなされる。
なお、上述の分散処理および復元処理における閾値や分散数は適宜変更することが可能であり、その変更に応じて、分散条件情報やアドレス情報等も変更される。また、図11に示した秘密分散装置1による機能の一部を他の情報処理装置に分担させた構成も可能である。例えば、分散処理と復元処理とを異なる情報処理装置によって実施してもよい。
<第2実施形態>
図12は本発明の第2実施形態に係る秘密データの分散処理における分散データの生成の要領を示す説明図であり、図13〜図18はその分散処理における分散データ生成の一過程を示す説明図である。この第2実施形態は、上述の第1実施形態の閾値kおよび分散数nを変更(k=3、n=4)したものであり、第1実施形態と同様の事項については詳細な説明を省略する。
まず、本発明による分散処理についての理解を容易とするために、図28を参照して従来のシャミアの閾値法(k=3、n=4)による分散処理の要領について説明する。図28には、XY座標において秘密データSが4つの分散データA〜Dに分散される場合が示されている。生成される4つの分散データA〜Dは、それぞれ複数の分散サブデータAi〜Di(i=1,2,3,4)を一組として構成されるものとする。また、XY座標において各分散データA〜DのX値を固定値a〜dとする。
この従来の閾値法では、閾値k=3であるため、Y=αX+βX+γ・・・(式2)で表される2次曲線が用いられる。したがって、秘密サブデータS1〜S4は、式2中の切片γに相当する。そして、図28に示すように、秘密サブデータS1〜S4を示す各点(0,S1)、(0,S2)、(0,S3)、(0,S4)を通る2次曲線のα、βを乱数により決定すると、それら各2次曲線とX=a,b,c,dとの各交点におけるY値を分散サブデータAi〜Di(i=1,2,3,4)として設定することができる。
この分散データA〜Dでは、上述の閾値k=2の場合と同様に、それらの閾値未満の集合では秘密データSを復元することが不可能である一方、閾値以上の分散データを取得できれば秘密データSを復元可能となる。
次に、図12〜図18を参照して第2実施形態における分散処理の詳細について説明する。この分散処理では、上述の図28の場合と同様に、閾値k=3、分散数n=4とし、XY座標において秘密データSが4つの分散データA,B,C,Dに分散される。
ここで、分散データA〜Dについては、分散データA,Dにおける分散サブデータAi,Di(i=1〜7)の数が3つずつ増加し、また、分散データB,Cにおける分散サブデータBi,Ci(i=2〜7)の数が2つずつ増加していることを除けば、上述の図28の場合と同様である。一方、上述の図28の場合とは異なり、分散処理に2組の乱数データR,r(分散演算用データ)が新たに導入されている。これら第1および第2の乱数データR,rは、それぞれ7つの乱数サブデータRj,rj(j=1〜7)を一組として構成され、後述するように秘密データSと共に分散データA〜Dの生成に用いられる。第1および第2の乱数データR,rについては、説明の便宜上、上述の秘密データSおよび分散データA〜Dと同様にそれぞれのX値を固定値e,fとする。これにより、XY座標において、乱数サブデータR1〜R7,r1〜r7は、それぞれ固定値e,f上におけるY値(図13〜図18中の◎印参照)として表される。
この秘密分散装置1による分散処理では、まず第1および第2の乱数データR,r(第1および第2の乱数サブデータR1〜R7,r1〜r7)の値が決定され、第1および第2の乱数データR,rと秘密データSとに基づき、分散データA〜Dが生成される。
図12(A)〜(D)に示すように、分散データA〜Dの生成では、上3行における第1および第2の乱数サブデータおよびこれに組み合わされた秘密サブデータとによって、矢印で指示される下1行における分散サブデータが導出される。ここで、分散サブデータA1,A2,A3,B2,C2,D1,D2,D3の場合のように、上3行において一方の乱数サブデータしかない場合は、その乱数サブデータの値がそのまま用いられ、A1=R1,A2=R2,A3=R3,B2=R1,C2=r1,D1=r1,D2=r2,D3=r3となる。また、分散サブデータB3,C3のように、上3行において第1および第2の乱数サブデータしかない(秘密サブデータがない)場合は、それらの乱数サブデータを通る直線が分散サブデータの生成に用いられる。さらに、分散サブデータA4〜A7等のように、上3行に2つの乱数サブデータおよび秘密サブデータが存在する場合は、それら2つの乱数サブデータと秘密サブデータとから1つの分散サブデータが生成される。
より詳細には、分散サブデータAi〜Di(i≦2)の生成では、図13に示すように、A1=B2=R1,A2=R2,C2=D1=r1,D2=r2とする。
また、分散サブデータAi〜Di(i=3)の生成では、図14に示すように、A3=R3,D3=r3とし、2つの乱数サブデータR2,r1を結ぶ直線とX=bとの交点のY値を分散サブデータB3とし、2つの乱数サブデータを結ぶ直線R1,r2とX=cとの交点のY値を分散サブデータC3とする。
また、分散サブデータAi〜Di(i=4)の生成では、図15に示すように、2つの乱数サブデータR4,r1と秘密サブデータS1とを通る2次曲線とX=aの交点のY値を分散サブデータA4とし、2つの乱数サブデータR3,r2と秘密サブデータS1とを通る2次曲線とX=bの交点のY値を分散サブデータB4とし、2つの乱数サブデータR2,r3と秘密サブデータS1とを通る2次曲線とX=cの交点のY値を分散サブデータC4とし、2つの乱数サブデータR1,r4と秘密サブデータS1とを通る2次曲線とX=dの交点のY値を分散サブデータD4とする。
また、分散サブデータAi〜Di(i=5)の生成では、図16に示すように、2つの乱数サブデータR5,r2と秘密サブデータS2とを通る2次曲線とX=aの交点のY値を分散サブデータA5とし、2つの乱数サブデータR4,r3と秘密サブデータS2とを通る2次曲線とX=bの交点のY値を分散サブデータB5とし、2つの乱数サブデータR3,r4と秘密サブデータS2とを通る2次曲線とX=cの交点のY値を分散サブデータC5とし、2つの乱数サブデータR2,r5と秘密サブデータS2とを通る2次曲線とX=dの交点のY値を分散サブデータD5とする。
また、分散サブデータAi〜Di(i=6)の生成では、図17に示すように、2つの乱数サブデータR6,r3と秘密サブデータS3とを通る2次曲線とX=aの交点のY値を分散サブデータA6とし、2つの乱数サブデータR5,r4と秘密サブデータS3とを通る2次曲線とX=bの交点のY値を分散サブデータB6とし、2つの乱数サブデータR4,r5と秘密サブデータS3とを通る2次曲線とX=cの交点のY値を分散サブデータC6とし、2つの乱数サブデータR3,r6と秘密サブデータS3とを通る2次曲線とX=dの交点のY値を分散サブデータD6とする。
また、分散サブデータAi〜Di(i=7)の生成では、図18に示すように、2つの乱数サブデータR7,r4と秘密サブデータS4とを通る2次曲線とX=aの交点のY値を分散サブデータA7とし、2つの乱数サブデータR6,r5と秘密サブデータS4とを通る2次曲線とX=bの交点のY値を分散サブデータB7とし、2つの乱数サブデータR5,r6と秘密サブデータS4とを通る2次曲線とX=cの交点のY値を分散サブデータC7とし、2つの乱数サブデータR4,r7と秘密サブデータS4とを通る2次曲線とX=dの交点のY値を分散サブデータD7とする。
これは同一の曲線上に複数の分散データが位置する従来の閾値法の場合(図28参照)とは異なり、複数の分散データそれぞれを、異なる曲線上(ここでは2次曲線)に配置するものである。つまり、「AとRとr」、「BとRとr」、「CとRとr」、「DとRとr」を結ぶ曲線を見て分かるように、1つの曲線には、A、B、C、Dのいずれか1つの分散データしか現れない。この方法は、秘密データから、閾値3、分散数3の分散データを4組(「AとRとr」、「BとRとr」、「CとRとr」、「DとRとr」)作成するものである。そして、この4組から共通の乱数データR(分散演算用データ)と共通の乱数データr(分散演算用データ)の情報を欠落させることで、分散データA,B,C,Dという閾値3、分散数4の秘密分散を実現するものである。
図19は第2実施形態に係る3組の分散データA,B,Cに基づく秘密データの復元処理の流れを示すフロー図である。
分散データA,B,Cに基づく秘密データの復元処理では、図19中のステップ(1)〜(26)が順次実行される。より詳細には、まず、秘密分散装置1は、上述の図13および図14に示した分散データ生成とは逆の手順により、分散サブデータA1,A2,A3,C2からそれぞれ乱数サブデータR1,R2,R3,r1を取得する(ステップ(1)〜(4))。次に、取得した乱数サブデータR1と分散サブデータC3とを通る直線1(図14参照)を計算し(ステップ(5))、この直線1とX=fとの交点のY値を計算することにより、乱数サブデータr2を取得する(ステップ(6))。次に、取得した乱数サブデータR3,r2と分散サブデータB4とを通る曲線2(図15参照)を計算し(ステップ(7))、この曲線2とX=0との交点のY値を計算することにより、秘密サブデータS1を取得する(ステップ(8))。次に、取得した秘密サブデータS1、乱数サブデータr1、及び分散サブデータA4を通る曲線3(図15参照)を計算し(ステップ(9))、この曲線3とX=eとの交点のY値を計算することにより、乱数サブデータR4を取得する(ステップ(10))。
次に、取得した乱数サブデータR2、秘密サブデータS1、及び分散サブデータC4を通る曲線4(図15参照)を計算し(ステップ(11))、この曲線4とX=fとの交点のY値を計算することにより、乱数サブデータr3を取得する(ステップ(12))。次に、取得した乱数サブデータR4,r3と分散サブデータB5とを通る曲線5(図16参照)を計算し(ステップ(13))、この曲線5とX=0との交点のY値を計算することにより、秘密サブデータS2を取得する(ステップ(14))。次に、取得した秘密サブデータS2、乱数サブデータr2、及び分散サブデータA5とを通る曲線6(図16参照)を計算し(ステップ(15))、この曲線6とX=eとの交点のY値を計算することにより、乱数サブデータR5を取得する(ステップ(16))。次に、取得した乱数サブデータR3、秘密サブデータS2、及び分散サブデータC5とを通る曲線7(図16参照)を計算し(ステップ(17))、この曲線7とX=fとの交点のY値を計算することにより、乱数サブデータr4を取得する(ステップ(18))。
次に、取得した乱数サブデータR5,r4と分散サブデータB6とを通る曲線8(図17参照)を計算し(ステップ(19))、この曲線8とX=0との交点のY値を計算することにより、秘密サブデータS3を取得する(ステップ(20))。次に、取得した秘密サブデータS3、乱数サブデータr3、及び分散サブデータA6とを通る曲線9(図17参照)を計算し(ステップ(21))、この曲線9とX=eとの交点のY値を計算することにより、乱数サブデータR6を取得する(ステップ(22))。次に、取得した乱数サブデータR4、秘密サブデータS3、及び分散サブデータC6とを通る曲線10(図17参照)を計算し(ステップ(23))、この曲線10とX=fとの交点のY値を計算することにより、乱数サブデータr5を取得する(ステップ(24))。最後に、取得した乱数サブデータR6,r5と分散サブデータB7とを通る曲線11(図18参照)を計算し(ステップ(25))、この曲線11とX=0との交点のY値を計算することにより、秘密サブデータS4を取得する(ステップ(26))。
このように、分散データA,B,Cは、それぞれ秘密データから閾値3、分散数3の分散データ(「AとRとr」、「BとRとr」、「CとRとr」)を作成し、そこから共通の乱数データR(分散演算用データ)と共通の乱数データr(分散演算用データ)の情報を欠落させたものであるが、分散データA,B,Cが揃うと、この欠落された乱数データR(分散演算用データ)と乱数データr(分散演算用データ)の情報が復元でき、それで、秘密データが復元できるものになっている。
なお、他の分散データの閾値k以上の集合(例えば、分散データA,B,D等)についても、上述の分散データA,B,Cと同様に復元処理を実施することができる。また、上記第1および第2実施形態に示した秘密分散の処理に準じて、より高い次数の曲線を用いると共に閾値(k−1)個の乱数データ(分散演算用データ)を導入することにより、閾値kをさらに増大させることも可能である。なお、分散数nは、秘密データとこれら乱数データ(分散演算用データ)の組合せを変えることでいくつでも増大させることが可能である。
さらに、第1および第2実施形態では、所定の次数の曲線(または直線)の関係に基づき、秘密サブデータと乱数サブデータとから分散サブデータを生成することとしたが、必ずしもこれに限定される必要はない。つまり、秘密分散装置1による分散処理では、秘密サブデータと乱数サブデータとを変数とする所定の関数(以下、分散データ生成関数という。)を用いることにより、分散データを生成することができる。以下、分散データ生成関数を用いる方法について説明する。
<第3実施形態>
図20は第3実施形態に係る秘密データの分散処理に用いられる分散データ生成関数を示す説明図である。第3実施形態では、上述の第1実施形態に係る秘密分散装置1による分散処理(閾値k=2、分散数n=3)に用いた直線の関係が分散データ生成関数として一般化されており、第1実施形態と同様の事項については詳細な説明を省略する。
図20(A)〜(C)に示すように、分散データA〜Cを構成する分散サブデータAi〜Ci(i=1〜4)は、秘密サブデータSm(m=1〜4)と乱数サブデータRj(j=1〜5)とを変数とする分散データ生成関数FunctionA(Rj,Sm)、FunctionB(Rj,Sm)、FunctionC(Rj,Sm)を用いて生成することができる。ここでも、上述の第1および第2実施形態と同様に、1つの秘密サブデータと、各乱数データにおける1つの乱数サブデータとから1つの分散サブデータが生成される。なお、一部の分散サブデータB1,C1,C2については、乱数サブデータR1,R2のみを変数とした関数となる。
同一の直線、または曲線上に複数の分散データが位置する従来の閾値法の場合(図27、28参照)、この分散データ生成関数を、直線、または曲線以外の関数に変更することは不可能であった。例えば図27で、「A1とB1」とのXOR(排他的論理和)でS1が求められるようにしようとすると、「A1とC1」、または、「B1とC1」からS1を求める方法がなくなる。つまり閾値秘密分散を実現できなくなる。このように、従来の閾値法では、分散データ生成関数は、直線、または曲線を示す多項式の関数に固定されるため、分散・復元処理速度も遅かった。
これに対して、本発明は、秘密データから、「分散データX(X=1, 2, ・・・,n)」と「k−1」個の乱数データ(分散演算用データ)の組、つまり、閾値k、分散数kの組を1組作成し、ここから「k−1」個の乱数データ(分散演算用データ)の情報を欠落させた分散データをN個作成することで、閾値k、分散数nの閾値秘密分散を実現しているため、このような不自由さがなく、処理速度が高速な関数を分散データ生成関数として利用することが可能である。
それは、それぞれの分散データが、他の分散データとは独立に計算可能だからである。例えば、図2で、「A3とR3」とのXOR(排他的論理和)でS3を求められるようにしようとするなら、「S3とR3」とのXOR(排他的論理和)をA3としておけばよい。このようにしたとしても点R3を通る「S2とB3」や「S1とC3」の関係には何ら影響がない。
分散データ生成関数FunctionA〜Cとしては、任意の関数を用いることが可能であるが、演算処理の高速化の観点から、XOR(排他的論理和)や高速処理可能な剰余体における乗除算を用いた関数(例えば、分散データの生成を剰余体における乗算で行い、秘密データの復元を剰余体における除算で行う。)とすることが好ましい。
一方で、分散サブデータAi〜Ci(i=1〜4)は、図27に示した従来の閾値法の場合とは異なり、互いに影響しない値に設定することができるため、各分散データ生成関数FunctionA〜Cは、互いに異なるものとすることができる。その場合、閾値k以上の分散データを第三者が取得した場合でも、それらの分散データ生成関数の情報を秘匿しておけば、分散データ生成関数自体が一種の暗号として機能して、秘密データの容易な復元を阻止できる。特に、互いに異なる複数の複数の分散データ生成関数を用いることにより、秘密データSの安全性はより高まる。
なお、ここでは分散データ生成関数をFunctionA〜Cと3種類だけに限定しているが、実際は、1つ1つの分散サブデータの生成において、計算方法を変えることが可能である。こうすれば更に複雑度が高まり安全性はより強固になる。
図21は第3実施形態に係る秘密データの分散処理における分散データの生成の要領を示す説明図((A)分散データA、(B)分散データB、(C)分散データC)である。この図21は、上記第1実施形態における図3に対応する。
第3実施形態における分散データA〜Cの生成では、図21(A)〜(C)に示すように、乱数サブデータの値をそのまま用いる一部の分散サブデータ(B1,C1,C2)を除けば、1つの秘密サブデータと1つの乱数サブデータとを変数とした所定の分散データ生成関数FunctionA〜Cが用いられる。
ここで、図21(A)に示す分散データAでは、分散サブデータA1〜A4を生成するFunctionAとしてXOR(排他的論理和)が用いられる(図21(A)中の丸で囲まれた+記号はXORを示す。)。また、図21(B)に示す分散データBでは、分散サブデータB2〜B5を生成するFunctionBとしてガロア体における乗算が用いられる。例えば、分散サブデータB2は、乱数データR2と秘密サブデータS1との乗算を素数Pで割った剰余として生成される。また、図21(C)に示す分散データCでは、分散サブデータC3〜C5を生成するFunctionCとしてガロア体における加算が用いられる。例えば、分散サブデータC3は、乱数データR3と秘密サブデータS1との加算を素数Pで割った剰余として生成される。
なお、ここでは、異なる分散データに対して異なる分散データ生成関数を用いる構成としたが、同じ分散データを構成する分散サブデータを互いに異なる複数の分散データ生成関数によってそれぞれ生成することもできる。
図22は3実施形態に係る秘密分散装置における分散データA,Bに基づく秘密データの復元処理の流れを示すフロー図である。
分散データA,Bに基づく秘密データの復元処理では、図22中のステップ(1)〜(11)が順次実行される。ここで、分散データAに関しては、その生成方法と同様にXOR(排他的論理和)を用いて復元処理が行われる。また、分散データBに関しては、ガロア体における除算を用いて復元処理が行われる。この除算とは、逆元の乗算に等しいので、元データの逆元(図22中では、例えば秘密サブデータS1の逆元を(S1)−1と示す。)を計算し、ガロア体での乗算を行う。なお、逆元はユークリッドの互除法を用いて取得することができる。
より詳細には、図22に示すように、まず、秘密分散装置1は、分散データBにおける分散サブデータB1から乱数サブデータR1を取得する(ステップ(1))。次に、取得した乱数サブデータR1と分散サブデータA1とのXORを計算することにより、秘密サブデータS1を取得する(ステップ(2))。次に、秘密サブデータS1の逆元(S1)−1を求め(ステップ(3))、B2×(S1)−1 mod Pを計算することにより、乱数サブデータR2を取得する(ステップ(4))。次に、分散サブデータA2と乱数サブデータR2とのXORを計算することにより、秘密サブデータS2を取得する(ステップ(5))。次に、秘密サブデータS2の逆元(S2)−1を求め(ステップ(6))、B3×(S2)−1 mod Pを計算することにより、乱数サブデータR3を取得する(ステップ(7))。次に、分散サブデータA3と乱数サブデータR3とのXORを計算することにより、秘密サブデータS3を取得する(ステップ(8))。次に、秘密サブデータS3の逆元(S3)−1を求め(ステップ(9))、B4×(S3)−1 mod Pを計算することにより、乱数サブデータR4を取得する(ステップ(10))。最後に、分散サブデータA4と乱数サブデータR4とのXORを計算することにより、秘密サブデータS4を取得する(ステップ(11))。
図23は3実施形態に係る秘密分散装置における分散データA,Cに基づく秘密データの復元処理の流れを示すフロー図である。
分散データA,Cに基づく秘密データの復元処理では、図23中のステップ(1)〜(8)が順次実行される。ここで、分散データCおよびこれに対応する乱数データRに関しては、ガロア体における減算を用いて復元処理が行われる。なお、減算した結果が負の値となる場合には、素数Pを加えるものとする。
より詳細には、図23に示すように、まず、秘密分散装置1は、分散データCにおける分散サブデータC1,C2から乱数サブデータR1,R2をそれぞれ取得する(ステップ(1),(2))。次に、取得した乱数サブデータR1と分散サブデータA1とのXORを計算することにより、秘密サブデータS1を取得することができ(ステップ(3))、また、乱数サブデータR2と分散サブデータA1とのXORを計算することにより、秘密サブデータS2を取得する(ステップ(4))。次に、C3−S1 mod Pを計算することにより、乱数サブデータR3を取得することができ(ステップ(5))、また、C4−S2 mod Pを計算することにより、乱数サブデータR4を取得する(ステップ(6))。最後に、取得した乱数サブデータR3と分散サブデータA3とのXORを計算することにより、秘密サブデータS3を取得することができ(ステップ(7))、また、乱数サブデータR4と分散サブデータA4とのXORを計算することにより、秘密サブデータS4を取得する(ステップ(8))。
図24は3実施形態に係る秘密分散装置における分散データB,Cに基づく秘密データの復元処理の流れを示すフロー図である。
分散データB,Cに基づく秘密データの復元処理では、図24中のステップ(1)〜(12)が順次実行される。より詳細には、まず、秘密分散装置1は、分散データCにおける分散サブデータC2から乱数サブデータR2を取得する(ステップ(1))。次に、取得した乱数サブデータR2の逆元(R2)−1を求め(ステップ(2))、B2×(R2)−1 mod Pを計算することにより、秘密サブデータS1を取得する(ステップ(3))。次に、C3−S1 mod Pを計算することにより、乱数サブデータR3を取得する(ステップ(4))。次に、取得した乱数サブデータR3の逆元(R3)−1を求め(ステップ(5))、B3×(R3)−1 mod Pを計算することにより、秘密サブデータS2を取得する(ステップ(6))。次に、C4−S2 mod Pを計算することにより、乱数サブデータR4を取得する(ステップ(7))。次に、取得した乱数サブデータR4の逆元(R4)−1を求め(ステップ(8))、B4×(R4)−1 mod Pを計算することにより、秘密サブデータS3を取得する(ステップ(9))。次に、C5−S3 mod Pを計算することにより、乱数サブデータR5取得する(ステップ(10))。最後に、取得した乱数サブデータR5の逆元(R5)−1を求め(ステップ(11))、B5×(R5)−1 mod Pを計算することにより、秘密サブデータS4を取得する(ステップ(12))。
図25および図26は、それぞれ第3実施形態に係る分散データの生成方法および復元方法の変形例を示す説明図である。秘密データの分散処理に用いられる分散データ生成関数としては、上述のような一般的な関数に限らず、以下に示すような参照テーブルを用いてもよい。
図25は、分散データ(閾値k=2、分散数n=3)を生成するための参照テーブルの一例を示している。この参照テーブルでは、縦軸および横軸(図25中に太枠で表示)の1組の入力値(ここでは、便宜上、1,2・・・FFH(16進数)の値をとるものとする。)から1つの出力値が得られる。例えば、縦軸の秘密サブデータS1を1とし、横軸の乱数サブデータR1を1としたデータを入力値とすると、分散サブデータA1が出力値のFE03Hとして得られる。
図26は、秘密データSを復元するための参照テーブルの一例を示している。この参照テーブルでは、縦軸の入力値から2つの出力値(ここでは、S1,R1の値)が得られる。例えば、上述の図25の例とは逆に、縦軸の分散サブデータA1におけるFE03Hを入力値とすると、秘密サブデータS1が出力値の1として得られ、また、乱数サブデータR1が出力値の1として得られる。なお、図25の入力値および出力値を逆転させて、復元用の参照テーブルとして用いてもよい。
この変形例に示すように、分散処理および復元処理の分散データ生成関数として参照テーブルを利用することにより、簡易な処理により分散データを生成することができるという利点がある。
以上のように、本発明に係る秘密分散装置1では、従来の閾値法の改良により、秘密サブデータと乱数サブデータ(分散演算用サブデータ)とを変数とする所定の分散データ生成関数を用いて分散サブデータを生成する構成としたため、ユーザによる所望の演算方法の導入(分散データ生成関数の変更)を可能とすると共に、閾値k以上の分散データが第三者に取得された場合でも秘密データの容易な復元を回避することが可能となるという利点がある。
本発明を特定の実施形態に基づいて説明したが、これらの実施形態はあくまでも例示であって、本発明はこれらの実施形態によって限定されるものではない。なお、上記実施形態に示した本発明に係る秘密分散装置および秘密分散プログラムの各構成要素は、必ずしも全てが必須ではなく、少なくとも本発明の範囲を逸脱しない限りにおいて適宜取捨選択することが可能である。
本発明に係る秘密分散装置および秘密分散プログラムは、従来の閾値法を改良した方法により、ユーザによる所望の演算方法の導入を可能とすると共に、閾値以上の分散データが第三者に取得された場合でも秘密データの容易な復元を阻止することを可能とし、特に、秘密データを所定の閾値以上の数に分散することにより、少なくとも閾値未満の集合ではその秘密データの復元が不可能な複数の分散データを生成する秘密分散装置および秘密分散プログラムなどとして有用である。
1 秘密分散装置
2 分散先装置
3 クライアント装置
12 分散処理受付部
13 分散処理部(分散データ生成手段)
14 ID生成部
15 乱数生成部
16 分散用データ格納部
21 復元処理受付部
23 復元用データ格納部

Claims (7)

  1. 秘密データを閾値以上の組数の分散データに分散し、前記閾値未満の組数の分散データでは前記秘密データの復元を不可能とする秘密分散装置であって、
    複数の分散演算用サブデータから構成される組を少なくとも1つ有し且つ前記閾値よりも1つ少ない組数の分散演算用データと、複数の秘密サブデータから構成される前記秘密データとに基づき、複数の分散サブデータから構成される前記分散データを複数組、生成する分散データ生成手段を備え、
    前記分散データ生成手段は、前記秘密データにおける秘密サブデータと、前記分散演算用データにおける分散演算用サブデータとを変数とする所定の分散データ生成関数により、前記分散データにおける分散サブデータを生成することを特徴とする秘密分散装置。
  2. 前記分散演算用データは、前記分散演算用サブデータとしての乱数データを含むことを特徴とする請求項1に記載の秘密分散装置。
  3. 前記分散演算用データは、前記分散演算用サブデータとして、前記秘密サブデータまたは当該秘密サブデータを加工したデータを含むことを特徴とする請求項1または請求項2に記載の秘密分散装置。
  4. 前記分散データ生成関数による処理は、前記秘密サブデータおよび前記分散演算用サブデータと前記分散サブデータとの対応を示す所定の参照テーブルに基づき実行されることを特徴とする請求項1から請求項3のいずれかに記載の秘密分散装置。
  5. 前記分散データ生成関数は、互いに異なる複数の関数からなることを特徴とする請求項1から請求項4のいずれかに記載の秘密分散装置。
  6. 前記複数の分散サブデータは、前記秘密データにおける1つの秘密サブデータと前記分散演算用データの各々における1つの分散演算用サブデータとの互いに異なる組み合わせを用いてそれぞれ生成されることを特徴とする請求項1から請求項5のいずれかに記載の秘密分散装置。
  7. 秘密データを閾値以上の組数の分散データに分散し、前記閾値未満の組数の分散データでは前記秘密データの復元を不可能とする秘密分散装置として用いられるコンピュータを、
    複数の分散演算用サブデータから構成される組を少なくとも1つ有し且つ前記閾値よりも1つ少ない組数の分散演算用データと、複数の秘密サブデータから構成される前記秘密データとに基づき、複数の分散サブデータから構成される前記分散データを複数組、生成する分散データ生成手段
    として機能させるための秘密分散プログラムであって、
    前記分散データ生成手段は、前記秘密データにおける秘密サブデータと、前記分散演算用データにおける分散演算用サブデータとを変数とする所定の分散データ生成関数により、前記分散データにおける分散サブデータを生成することを特徴とする秘密分散プログラム。
JP2012185728A 2012-08-24 2012-08-24 秘密分散装置および秘密分散プログラム Active JP6008316B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012185728A JP6008316B2 (ja) 2012-08-24 2012-08-24 秘密分散装置および秘密分散プログラム
US13/973,232 US9331984B2 (en) 2012-08-24 2013-08-22 Secret sharing method and system
EP13181324.8A EP2701337B1 (en) 2012-08-24 2013-08-22 Secret sharing method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012185728A JP6008316B2 (ja) 2012-08-24 2012-08-24 秘密分散装置および秘密分散プログラム

Publications (2)

Publication Number Publication Date
JP2014044264A true JP2014044264A (ja) 2014-03-13
JP6008316B2 JP6008316B2 (ja) 2016-10-19

Family

ID=49110982

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012185728A Active JP6008316B2 (ja) 2012-08-24 2012-08-24 秘密分散装置および秘密分散プログラム

Country Status (3)

Country Link
US (1) US9331984B2 (ja)
EP (1) EP2701337B1 (ja)
JP (1) JP6008316B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019028391A (ja) * 2017-08-03 2019-02-21 株式会社日立製作所 秘密分散システム及びその方法
WO2020170695A1 (ja) * 2019-02-22 2020-08-27 パナソニック株式会社 クラウドサービスを用いた安全な秘密分散保管システム

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5826934B2 (ja) * 2012-07-05 2015-12-02 日本電信電話株式会社 秘密分散システム、データ分散装置、分散データ変換装置、秘密分散方法、およびプログラム
JP6012078B2 (ja) * 2013-05-30 2016-10-25 ケイレックス・テクノロジー株式会社 情報分散システム及び情報分散ストレージシステム
US9461821B1 (en) * 2014-06-30 2016-10-04 Emc Corporation System and method for key material protection on devices using a secret sharing scheme
AU2015296901B2 (en) * 2014-08-01 2019-10-10 Commonwealth Scientific And Industrial Research Organisation Generating shares of secret data
US9779227B1 (en) * 2014-10-24 2017-10-03 Amazon Technologies, Inc. Security system using keys encoded in holograms
KR20160063793A (ko) 2014-11-27 2016-06-07 삼성전자주식회사 전자 장치 및 전자 장치에서의 정보 송신 및 수신 방법
WO2016158721A1 (ja) * 2015-03-27 2016-10-06 Necソリューションイノベータ株式会社 データ管理装置、データ管理方法、及びコンピュータ読み取り可能な記録媒体
US10097522B2 (en) 2015-05-21 2018-10-09 Nili Philipp Encrypted query-based access to data
JP6034927B1 (ja) * 2015-07-27 2016-11-30 日本電信電話株式会社 秘密計算システム、秘密計算装置、およびプログラム
US9794072B2 (en) * 2015-11-05 2017-10-17 Redline Communications Inc. Certificate exchange mechanism for wireless networking
US11115196B1 (en) * 2015-12-08 2021-09-07 EMC IP Holding Company LLC Methods and apparatus for secret sharing with verifiable reconstruction type
KR101846163B1 (ko) * 2016-06-08 2018-04-09 조래성 공유 정보를 보호하는 방법 및 시스템
EP3291480B1 (en) * 2016-09-05 2020-09-02 multitiv GmbH Secure data transmission
WO2019009180A1 (ja) * 2017-07-05 2019-01-10 日本電信電話株式会社 秘密計算システム、秘密計算装置、秘密計算方法、プログラム、および記録媒体
US10460234B2 (en) * 2018-01-19 2019-10-29 Microsoft Technology Licensing, Llc Private deep neural network training
JP6752247B2 (ja) * 2018-03-09 2020-09-09 三菱重工業株式会社 情報配信装置、配信対象装置、情報配信システム、情報配信方法及びプログラム
GB201805633D0 (en) * 2018-04-05 2018-05-23 Nchain Holdings Ltd Computer implemented method and system
WO2020145113A1 (ja) * 2019-01-11 2020-07-16 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 予測モデル変換方法及びシステム
US10951415B2 (en) * 2019-03-13 2021-03-16 Digital 14 Llc System, method, and computer program product for implementing zero round trip secure communications based on noisy secrets with a polynomial secret sharing scheme
US10892891B2 (en) * 2019-03-13 2021-01-12 Digital 14 Llc System, method, and computer program product for zero round trip secure communications based on two noisy secrets
KR102030785B1 (ko) * 2019-04-26 2019-10-10 주식회사그린존시큐리티 의사난수를 이용한 IoT 디바이스의 데이터 난독화를 위한 장치 및 이를 위한 방법
US11477014B1 (en) 2019-08-23 2022-10-18 Liberty Mutual Insurance Company Anonymized data transmission using per-user-functionality secret shares
US11018856B2 (en) * 2019-09-11 2021-05-25 Guardtime Sa Auditable system and methods for secret sharing
US20210126903A1 (en) * 2019-10-29 2021-04-29 Genetec Inc. Data access control
EP3860035A1 (en) 2020-01-29 2021-08-04 Sebastien Armleder Storing and determining a data element
US11469887B1 (en) 2020-06-29 2022-10-11 Amazon Technologies, Inc. Remote hardware execution service with customer consented debugging
US11316673B2 (en) 2020-09-11 2022-04-26 Seagate Technology Llc Privacy preserving secret sharing from novel combinatorial objects
US11362816B2 (en) 2020-09-11 2022-06-14 Seagate Technology Llc Layered secret sharing with flexible access structures
US20220271933A1 (en) * 2021-02-19 2022-08-25 Samsung Electronics Co., Ltd. System and method for device to device secret backup and recovery
RU2758481C1 (ru) * 2021-04-01 2021-10-28 Общество с ограниченной ответственностью «УБИК» Компьютерно-реализуемый способ суммирования данных об объектах, с использованием методов совместных конфиденциальных вычислений и методов разделения секрета
US11907392B2 (en) * 2021-05-12 2024-02-20 Seagate Technology Llc System and method utilizing function secret sharing with conditional disclosure of secrets
CN117176335B (zh) * 2023-07-17 2024-03-15 北京邮电大学 基于联盟链的数据追踪方法及相关设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1152851A (ja) * 1997-07-31 1999-02-26 Nippon Telegr & Teleph Corp <Ntt> 楕円曲線上の群演算装置
JP2007124610A (ja) * 2005-09-20 2007-05-17 Nippon Telegr & Teleph Corp <Ntt> 秘密情報分散装置及び秘密情報復元装置及び方法及びプログラム
JP2009010531A (ja) * 2007-06-26 2009-01-15 Toshiba Corp 秘密分散装置、方法及びプログラム
JP2010268181A (ja) * 2009-05-14 2010-11-25 Kddi Corp 分散情報生成装置、秘密情報復元装置、分散情報生成方法、秘密情報復元方法およびプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040047472A1 (en) * 2001-09-24 2004-03-11 Eskicioglu Ahmet Mursit Threshold cryptography scheme for conditional access systems
JP4292835B2 (ja) * 2003-03-13 2009-07-08 沖電気工業株式会社 秘密再構成方法、分散秘密再構成装置、及び秘密再構成システム
WO2005076518A1 (en) * 2004-02-10 2005-08-18 Ntt Communications Corporation Secret information management scheme based on secret sharing scheme
US7945784B1 (en) * 2005-08-19 2011-05-17 Adobe Systems Incorporated Method and system to perform secret sharing
JP4783119B2 (ja) 2005-10-25 2011-09-28 株式会社東芝 秘密分散装置、方法及びプログラム
JP4881119B2 (ja) * 2006-09-29 2012-02-22 株式会社東芝 ユーザ認証方法、ユーザ側認証装置、および、プログラム
JP4917453B2 (ja) * 2007-02-22 2012-04-18 Kddi株式会社 閾値秘密分散装置、閾値秘密分散方法、秘密情報復元方法およびプログラム
JP4304215B2 (ja) * 2007-03-23 2009-07-29 株式会社東芝 秘密分散装置、方法及びプログラム
JP5299286B2 (ja) * 2007-12-12 2013-09-25 日本電気株式会社 分散情報生成装置、復元装置、検証装置及び秘密情報分散システム
JP5378702B2 (ja) 2008-04-23 2013-12-25 パナソニック株式会社 秘匿認証システム
JP2009272671A (ja) 2008-04-30 2009-11-19 Panasonic Corp 秘匿認証システム
JP2009272737A (ja) 2008-05-01 2009-11-19 Panasonic Corp 秘匿認証システム
JP2009278223A (ja) 2008-05-13 2009-11-26 Panasonic Corp 電子証明システム及び秘匿通信システム
JP2009296190A (ja) 2008-06-04 2009-12-17 Panasonic Corp 秘匿通信方法
US20100046740A1 (en) * 2008-08-22 2010-02-25 Schneider James P Embedding a secret in a larger polynomial

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1152851A (ja) * 1997-07-31 1999-02-26 Nippon Telegr & Teleph Corp <Ntt> 楕円曲線上の群演算装置
JP2007124610A (ja) * 2005-09-20 2007-05-17 Nippon Telegr & Teleph Corp <Ntt> 秘密情報分散装置及び秘密情報復元装置及び方法及びプログラム
JP2009010531A (ja) * 2007-06-26 2009-01-15 Toshiba Corp 秘密分散装置、方法及びプログラム
JP2010268181A (ja) * 2009-05-14 2010-11-25 Kddi Corp 分散情報生成装置、秘密情報復元装置、分散情報生成方法、秘密情報復元方法およびプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6013032449; KARNIN, E. D. et al.: 'On Secret Sharing Systems' IEEE Trasnsactions on Information Theory Vol.IT-29 No.1, 198301, p.35-41 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019028391A (ja) * 2017-08-03 2019-02-21 株式会社日立製作所 秘密分散システム及びその方法
JP7027060B2 (ja) 2017-08-03 2022-03-01 株式会社日立製作所 秘密分散システム及びその方法
WO2020170695A1 (ja) * 2019-02-22 2020-08-27 パナソニック株式会社 クラウドサービスを用いた安全な秘密分散保管システム
JP2020134841A (ja) * 2019-02-22 2020-08-31 パナソニック株式会社 クラウドサービスを用いた安全な秘密分散保管システム
JP7356673B2 (ja) 2019-02-22 2023-10-05 パナソニックホールディングス株式会社 クラウドサービスを用いた安全な秘密分散保管システム

Also Published As

Publication number Publication date
JP6008316B2 (ja) 2016-10-19
EP2701337A2 (en) 2014-02-26
US9331984B2 (en) 2016-05-03
EP2701337A3 (en) 2016-03-16
EP2701337B1 (en) 2018-02-21
US20140173270A1 (en) 2014-06-19

Similar Documents

Publication Publication Date Title
JP6008316B2 (ja) 秘密分散装置および秘密分散プログラム
TWI706279B (zh) 多方安全計算方法及裝置、電子設備
US10263775B2 (en) Policy-based key recovery
JP2021145388A (ja) デジタル署名方法、署名情報検証方法、関連装置及び電子機器
CN111314069A (zh) 基于区块链的摇号系统、方法、电子设备及存储介质
CN108028751B (zh) 用于移动主动秘密共享的系统、计算机可读介质和方法
JP5944841B2 (ja) 秘密分散システム、データ分散装置、分散データ保有装置、秘密分散方法、およびプログラム
JP4869824B2 (ja) 受信者装置及び送信者装置及び暗号通信システム及びプログラム
JP2021086158A (ja) 格子ベースの暗号鍵生成方法及び電子署名方法
WO2023004007A1 (en) Hybrid public-key and private-key cryptographic systems based on iso-rsa encryption scheme
Hodowu et al. An enhancement of data security in cloud computing with an implementation of a two-level cryptographic technique, using AES and ECC algorithm
JP7238977B2 (ja) 匿名署名システム及び匿名署名方法
WO2019235095A1 (ja) 匿名署名システム、署名生成装置、匿名署名生成装置、検証装置、匿名署名方法及びプログラム
KR102443255B1 (ko) 래티스를 기반으로 하는 암호키 생성 방법 및 전자서명 방법
JP6933290B2 (ja) 秘密計算装置、秘密計算認証システム、秘密計算方法、およびプログラム
JP2010096787A (ja) 秘密情報分散装置、秘密情報分散プログラム、秘密情報分散方法、秘密情報復元装置、秘密情報復元プログラム、秘密情報復元方法、及び秘密情報分散復元システム
Vamsi et al. Electronic health record security in cloud: Medical data protection using homomorphic encryption schemes
CN107040370B (zh) 一种用于产生实施模幂运算的代码的装置
CN114817954A (zh) 图像的处理方法、系统和装置
JP2023529690A (ja) 同型暗号文に対する統計演算を行う装置及び方法
Vats et al. LockNKey: Improvised Cloud Storage System using Threshold Cryptography Approach
CN111989891B (zh) 数据处理方法、相关装置及区块链系统
CN110417703B (zh) 一种代理重签名的方法、服务器及终端设备
US11728984B2 (en) Hybrid public-key and private-key encryption system
KR102418016B1 (ko) 래티스를 기반으로 하는 신원 기반 암호화 방법

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20141003

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20141009

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150714

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160725

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160905

R151 Written notification of patent or utility model registration

Ref document number: 6008316

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151