JP5438650B2 - 不正検知方法、秘密計算システム、計算装置、計算プログラム - Google Patents

不正検知方法、秘密計算システム、計算装置、計算プログラム Download PDF

Info

Publication number
JP5438650B2
JP5438650B2 JP2010221723A JP2010221723A JP5438650B2 JP 5438650 B2 JP5438650 B2 JP 5438650B2 JP 2010221723 A JP2010221723 A JP 2010221723A JP 2010221723 A JP2010221723 A JP 2010221723A JP 5438650 B2 JP5438650 B2 JP 5438650B2
Authority
JP
Japan
Prior art keywords
computing device
calculation
fragments
fragment
mod
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.)
Active
Application number
JP2010221723A
Other languages
English (en)
Other versions
JP2012078446A (ja
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2010221723A priority Critical patent/JP5438650B2/ja
Publication of JP2012078446A publication Critical patent/JP2012078446A/ja
Application granted granted Critical
Publication of JP5438650B2 publication Critical patent/JP5438650B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は暗号技術に関し、暗号化された二つの数値を復元すること無く当該数値の乗算結果の暗号文(断片)を得るときの不正検知方法、不正検知機能を有する秘密計算システム、計算装置、および計算プログラムに関する。
暗号化された数値を復元すること無く特定の演算結果を得る方法(以降、このような計算を秘密計算と呼ぶ)として、例えば非特許文献1に記載された方法がある。この方法は、3つの計算装置に1つ以上の数値を分散させて記録する(以降、分散された情報を断片と呼ぶ)。そして、分散された数値を復元すること無く、加減算,定数和,乗算,定数倍,論理演算(否定,論理積,論理和,排他的論理和),データ形式変換(整数, 二進数)の結果を3つの計算装置に分散保持させることができる(なお、定数とは既知の数値を意味している)。
千田浩司,五十嵐大,高橋克巳,"効率的な3パーティ秘匿関数計算の提案とその運用モデルの考察",第48回情報処理学会研究報告,CSEC, pp.1-7, 2010,3月.
しかしながら、従来技術は乗算の秘密計算においていずれかの計算装置が不正処理を行った場合にそれを検知できない場合がある。本発明は、乗算の秘密計算での計算装置の不正処理を検知できる秘密計算システムを提供することを目的とする。
本発明の秘密計算システムは、数値Xを3つの計算装置α、β、γで分散して記録し、秘密計算を行う。Mを2以上の整数、計算装置Pとして動作する計算装置が記録する断片を(x,x)、計算装置Pとして動作する計算装置が記録する断片を(x,x)、計算装置Pとして動作する計算装置が記録する断片を(x,x)、数値Xと断片とは
X=x+x+x mod M
の関係を満たすとする。
秘密計算システムは、データ取得手段、乱数共有手段、第1乗算結果分散手段、乗算結果加算手段、第2乗算結果分散手段、乗算確認手段を備える。データ取得手段は、数値A,B,Cの断片として、計算装置Pに断片(a,a),(b,b),(c,c)を取得させ、計算装置Pに断片(a,a),(b,b),(c,c)を取得させ、計算装置Pに断片(a,a),(b,b),(c,c)を取得させる。乱数共有手段は、計算装置Pと計算装置Pに、ランダムに選んだ2以上M以下の整数Sを共有させる。第1乗算結果分散手段は、計算装置PにSaを分散させ、計算装置Pまたは計算装置PにSaを分散させ、計算装置PにSaを分散させて、計算装置Pに断片((Sa,(Sa),((Sa,(Sa),((Sa,(Sa)を取得させ、計算装置Pに断片((Sa,(Sa),((Sa,(Sa),((Sa,(Sa)を取得させ、計算装置Pに断片((Sa,(Sa),((Sa,(Sa),((Sa,(Sa)を取得させる。乗算結果加算手段は、
D=Sa+Sa+Sa mod M
の秘密計算を行い、計算装置Pに断片(d,d)を取得させ、計算装置Pに断片(d,d)を取得させ、計算装置Pに断片(d,d)を取得させる。第2乗算結果分散手段は、
E=DB mod M
の秘密計算を行い、計算装置Pに断片(e,e)を取得させ、計算装置Pに断片(e,e)を取得させ、計算装置Pに断片(e,e)を取得させる。
乗算確認手段は、計算装置P
f=e+e−Sc−Sc mod M
を計算させ、計算装置P
g=e−Sc mod M
を計算させ、計算装置Pまたは計算装置P
f+g=0 mod M
かを確認させる。もしくは、乗算確認手段は、計算装置P
f=e−Sc mod M
を計算させ、計算装置P
g=e+e−Sc−Sc mod M
を計算させ、計算装置Pまたは計算装置P
f+g=0 mod M
かを確認させる。
本発明の秘密計算システムによれば、乱数Sを用いて2通りの演算を行い乗算の結果が同じになることを確認するので、乗算の秘密計算での計算装置の不正処理を検知できる。
本発明の秘密計算システムの機能構成例を示す図。 実施例1の秘密計算システムの不正検知の処理フローを示す図。 実施例2の秘密計算システムの不正検知の処理フローを示す図。
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
図1に実施例1の秘密計算システムの機能構成例を示す。図2に実施例1の秘密計算システムの不正検知の処理フローを示す。実施例1の秘密計算システムは、ネットワーク1000を介して接続された3つの計算装置100α、100β、100γで構成される。計算装置100α、100β、100γは、数値Xの断片(分散された情報)を分散して記録し、秘密計算を行う。各計算装置100(ただし、yはα、β、もしくはγ)は、データ取得部110、乱数共有部120、第1乗算結果分散部130、乗算結果加算部140、第2乗算結果分散部150、乗算確認部160、記録部190を備える。記録部190は、断片のデータなどを記録する。秘密計算システムは、データ取得手段、乱数共有手段、第1乗算結果分散手段、乗算結果加算手段、第2乗算結果分散手段、乗算確認手段を備える。データ取得手段は、データ取得部110α,110β,110γで構成される。乱数共有手段は、乱数共有部120α,120β,120γで構成される。第1乗算結果分散手段は、第1乗算結果分散部130α,130β,130γで構成される。乗算結果加算手段は、乗算結果加算部140α,140β,140γで構成される。第2乗算結果分散手段は、第2乗算結果分散部150α,150β,150γで構成される。乗算確認手段は、乗算確認部160α,160β,160γで構成される。
計算装置100α、100β、100γは、まず、計算装置Pとして動作するか、計算装置Pとして動作するか、計算装置Pとして動作するかが決められる。そして、計算装置Pとして動作する計算装置が記録する断片を(x,x)、計算装置Pとして動作する計算装置が記録する断片を(x,x)、計算装置Pとして動作する計算装置が記録する断片を(x,x)と示すことにする。このとき、数値Xと断片とは
X=x+x+x mod M
ただし、Mは2以上の整数
の関係を満たすとする。なお、計算装置P(ただし、nは0,1,2のいずれか)として動作する計算装置の各構成部を、データ取得部110、乱数共有部120、第1乗算結果分散部130、乗算結果加算部140、第2乗算結果分散部150、乗算確認部160、記録部190と表記する。
計算装置Pのデータ取得部110が、数値A,B,Cの断片として断片(a,a),(b,b),(c,c)を取得し、記録部190に記録する。計算装置Pのデータ取得部110が、数値A,B,Cの断片として断片(a,a),(b,b),(c,c)を取得し、記録部190に記録する。計算装置Pのデータ取得部110が、数値A,B,Cの断片として断片(a,a),(b,b),(c,c)を取得し、記録部190に記録する(S110)。なお、数値A,Bは、装置Qと装置Rがそれぞれ保持して分散した数値とする。ここで、装置Qと装置Rとは同一の装置でもよい。また装置Q,Rは、計算装置P,P,Pのいずれかであってもよいし、異なる装置でもよい。数値Cは、計算装置P,P,Pの間で
C=AB mod M
の秘密計算を実行して、断片を計算装置P,P,Pが取得した数値である。
計算装置Pの乱数共有部120と計算装置Pの乱数共有部120は、ランダムに選んだ2以上M以下の整数Sを共有する(S120)。計算装置Pの第1乗算結果分散部130はSaを分散し、計算装置Pの第1乗算結果分散部130または計算装置Pの第1乗算結果分散部130はSaを分散し、計算装置Pの第1乗算結果分散部130はSaを分散し、計算装置Pが断片((Sa,(Sa),((Sa,(Sa),((Sa,(Sa)を取得し、計算装置Pが断片((Sa,(Sa),((Sa,(Sa),((Sa,(Sa)を取得し、計算装置Pが断片((Sa,(Sa),((Sa,(Sa),((Sa,(Sa)を取得する(S130)。乗算結果加算部140、140、140は、
D=Sa+Sa+Sa mod M
の秘密計算を行い、計算装置Pが断片(d,d)を取得し、計算装置Pが断片(d,d)を取得し、計算装置Pが断片(d,d)を取得する(S140)。
第2乗算結果分散部150、150、150は、
E=DB mod M
の秘密計算を行い、計算装置Pが断片(e,e)を取得し、計算装置Pが断片(e,e)を取得し、計算装置Pが断片(e,e)を取得する(S150)。なお、数値D,Eは、上述のように、計算装置P,P,Pの間で
D=SA mod M
E=DB mod M =SAB mod M
の秘密計算を実行して、断片を計算装置P,P,Pが取得した数値である。このように計算を行うので、数値D,Eは、計算装置P,P,Pのどの装置も知らない数値である。
計算装置Pの乗算確認部160は、
f=e+e−Sc−Sc mod M
を計算し、計算装置Pの乗算確認部160は、
g=e−Sc mod M
を計算し、計算装置Pの乗算確認部160または計算装置Pの乗算確認部160は、
f+g=0 mod M
かを確認する(S160)。この式が成り立つ場合には計算装置Pは不正を行っていないと判断し、成り立たない場合は計算装置Pが不正を行ったと判断する。もしくは、ステップS160として、計算装置Pの乗算確認部160は、
f=e−Sc mod M
を計算し、計算装置Pの乗算確認部160は、
g=e+e−Sc−Sc mod M
を計算し、計算装置Pの乗算確認部160または計算装置Pの乗算確認部160は、
f+g=0 mod M
かを確認する。そして、この式が成り立つ場合には計算装置Pは不正を行っていないと判断し、成り立たない場合は計算装置Pが不正を行ったと判断する。なお、
f+g=0 mod M
の確認を計算装置Pで行う場合は計算装置Pは計算装置Pからgを受信した上で、計算装置Pで行う場合は計算装置Pは計算装置Pからfを受信した上で確認を行う。
このように実施例1の秘密計算システムでは、計算装置P,P,Pは数値A,Bの断片(分散されたデータ)からC=ABの断片を得る際、計算装置P,Pは乱数Sを共有し、計算装置P,P,PはC=AB,D=SA,E=DBの断片を得る手続きを行い、計算装置P,PはSC=Eとなっているかどうか検証し、なっていれば計算装置Pは正しいと判断し、なっていなければ不正と判断する。つまり、実施例1の秘密計算システムによれば、乱数Sを用いて2通りの演算を行い、乗算の結果が同じになることを確認するので、乗算の秘密計算において計算装置Pの不正処理を検知できる。
[不正が検知できる理由]
次に、上述の乗算の不正検知について補足説明する。
f+g=e+e+e−S(c+c+c) mod M
=DB−SC mod M
=SAB−SC mod M
が成り立つから、秘密計算システムが正しく動作すれば
f+g=0 mod M
となる。計算装置Pが不正データを送信した場合、e,e,e,c,c,cが不正データとなり得る。これをe’,e’,e’,c’,c’,c’とおくと、計算装置P
f’=e’+e’−Sc’−Sc’ mod M
g’=e’−Sc’ mod M
もしくは、
f’=e’−Sc’ mod M
g’=e’+e’−Sc’−Sc’ mod M
について
f’+g’=0 mod M
となるようにe’,e’,e’,c’,c’,c’を選ぶ必要がある。ここで、本来の値と不正値の差分を
ΔC=C−(c’+c’+c’) mod M
ΔE=SC−(e’+e’+e’) mod M
とおくと、
f’+g’=(SC−ΔE)−S(C−ΔC) mod M
となるから、
f’+g’=0 mod M ⇔ ΔE=SΔC mod M
成り立ち、任意のSについて
f’+g’=0 mod M
が成り立つためには
ΔE=ΔC=0
でなければならないので、不正が成立しない。なお、不正が成立するためには、
ΔE≠0またはΔC≠0として
f’+g’=0 mod M
が成り立つ、すなわちΔE=SΔC mod Mが成り立つ必要がある。しかし、計算装置PがSを知らない限り、Mが大きく、かつSとMの最大公約数が小さければこれは困難である。
実施例2の秘密計算システムの機能構成も図1に示す。図3に実施例2の秘密計算システムの不正検知の処理フローを示す。実施例1の秘密計算システムとは、各計算装置100(ただし、yはα、β、もしくはγ)が、減算結果分散部170、減算確認部180も備えている点が異なる。また、減算結果分散部170α、170β、170γが減算結果分散手段を構成し、減算確認部180α、180β、180γが減算確認手段を構成する。そして、本実施例では、各計算装置100を、計算装置P,計算装置P,計算装置Pのどれとして動作させるかを変更しながら、不正検知の処理を行う。
計算装置100αの記録部190αが記録する断片を(xγα,xαβ)、計算装置100βの記録部190βが記録する断片を(xαβ,xβγ)、計算装置100γの記録部190γが記録する断片を(xβγ,xγα)とする。また、断片(c,c),(c,c),(c,c)は計算装置100αが計算装置Pとして、計算装置100βが計算装置Pとして、計算装置100γが計算装置PとしてC=ABの秘密計算を行った結果、断片(c’,c’),(c’,c’),(c’,c’)は計算装置100αが計算装置Pとして、計算装置100βが計算装置Pとして、計算装置100γが計算装置PとしてC=ABの秘密計算を行った結果、断片(c”,c”),(c”,c”),(c”,c”)は計算装置100αが計算装置Pとして、計算装置100βが計算装置Pとして、計算装置100γが計算装置PとしてC=ABの秘密計算を行った結果とする。
本実施例のデータ取得手段では、計算装置100αのデータ取得部110αが断片(a,a),(b,b),(c,c),(c’,c’),(c”,c”)を取得し、計算装置100βのデータ取得部110βが断片(a,a),(b,b),(c,c)(c’,c”),(c”,c”)を取得し、計算装置100γのデータ取得部110γが断片(a,a),(b,b),(c,c)(c’,c’),(c”,c”)を取得する(S110’)。
まず、計算装置100αが計算装置Pとして、計算装置100βが計算装置Pとして、計算装置100γが計算装置Pとして動作するように設定する(S101)。そして、断片(a,a),(a,a),(a,a)と断片(b,b),(b,b),(b,b)と断片(c,c),(c,c),(c,c)を用いて、計算装置100αが計算装置Pとして、計算装置100βが計算装置Pとして、計算装置100γが計算装置Pとして、実施例1と同じようにステップS120(乱数共有ステップ)、ステップS130(第1乗算結果分散ステップ)、ステップS140(乗算結果加算ステップ)、ステップS150(第2乗算結果分散ステップ)、ステップS160(乗算確認ステップ)を実行する。このことにより、計算装置Pとして動作した計算装置100αが不正をしていないこと(または不正をしたこと)を確認できる。
秘密計算システムは、計算装置を所定の組合せだけ設定したかを確認する(S102)。所定の組合せとは、例えば、(1)計算装置100αが計算装置Pとして、計算装置100βが計算装置Pとして、計算装置100γが計算装置Pとして動作する組合せ、(2)計算装置100αが計算装置Pとして、計算装置100βが計算装置Pとして、計算装置100γが計算装置Pとして動作する組合せ、(3)計算装置100αが計算装置Pとして、計算装置100βが計算装置Pとして、計算装置100γが計算装置Pとして動作する組合せとすればよい。このように計算装置Pとして動作する計算装置を変更することにより、不正検知の対象となる計算装置を変更できる。また、すべての計算装置が計算装置Pとして動作するまで組合せを変更すれば、すべての計算装置を不正検知の対象にできる。
所定の組合せ分の処理が終わっていなければ(ステップS102がNoならば)、計算装置の設定を変更する。本実施例では、計算装置100αが計算装置Pとして、計算装置100βが計算装置Pとして、計算装置100γが計算装置Pとして動作するように設定する(S103)。そして、断片(a’,a’),(a’,a’),(a’,a’)と断片(b’,b’),(b’,b’),(b’,b’)と断片(c’,c’),(c’,c’),(c’,c’)を用いて、計算装置100αが計算装置Pとして、計算装置100βが計算装置Pとして、計算装置100γが計算装置Pとして、ステップS120(乱数共有ステップ)、ステップS130(第1乗算結果分散ステップ)、ステップS140(乗算結果加算ステップ)、ステップS150(第2乗算結果分散ステップ)、ステップS160(乗算確認ステップ)を実行する。ただし、a’=a,a’=a,a’=a,b’=b,b’=b,b’=bである。このことにより、計算装置Pとして動作した計算装置100γが不正をしていないこと(または不正をしたこと)を確認できる。
さらに、本実施例では、計算装置100αが計算装置Pとして、計算装置100βが計算装置Pとして、計算装置100γが計算装置Pとして動作するように設定する(S103)。そして、断片(a”,a”),(a”,a”),(a”,a”)と断片(b”,b”),(b”,b”),(b”,b”)と断片(c”,c”),(c”,c”),(c”,c”)を用いて、計算装置100αが計算装置Pとして、計算装置100βが計算装置Pとして、計算装置100γが計算装置Pとして、ステップS120(乱数共有ステップ)、ステップS130(第1乗算結果分散ステップ)、ステップS140(乗算結果加算ステップ)、ステップS150(第2乗算結果分散ステップ)、ステップS160(乗算確認ステップ)を実行する。ただし、a”=a,a”=a,a”=a,b”=b,b”=b,b”=bである。このことにより、計算装置Pとして動作した計算装置100βが不正をしていないこと(または不正をしたこと)を確認できる。
次に、秘密計算システムは、計算装置100α、100β、100γが計算装置P,P,Pのいずれの計算装置として動作するかを決め、減算結果分散部170、170、170
U=C−C’ mod M
の秘密計算と、
V=C−C” mod M
の秘密計算とを行い、計算装置Pが断片(u,u),(v,v)を取得し、計算装置Pが断片(u,u),(v,v)を取得し、計算装置Pが断片(u,u),(v,v)を取得する(S170)。
減算確認部180、180、180が、数値UとVを復元し、U=0かつV=0であることを確認する(S180)。
本実施例の場合、上述のように計算装置Pとして動作する計算装置を変更しながら不正検知の処理を行う。したがって、すべての計算装置が計算装置Pとして動作したときに不正を行っていないこと(または不正を行ったこと)を検知できる。また、計算装置PまたはPとして動作するときに不正を行い、
C’≠AB mod M
または
C”≠AB mod M
となった場合、ステップS180で不正が検知できる。したがって、実施例2の秘密計算システムによれば、実施例1と同じ効果が得られるだけでなく、乗算の秘密計算において各計算装置の不正処理を検知できる。
[秘密計算]
実施例1、実施例2の説明では、秘密計算については、1つの方法に限定しないことを前提としており、具体例は示さなかった。以下では、本発明の秘密計算システムの各構成部が利用できる基本的な秘密計算の具体例を示す。なお、以下の説明では、計算装置100,100,100が分散して記録する数値Aの断片を(a,a),(a,a),(a,a)、数値Bの断片を(b,b),(b,b),(b,b)、数値Cの断片を(c,c),(c,c),(c,c)とする。また、Mを2以上の整数とする。
整数Aの秘密分散
(1)0以上M未満の整数の乱数a,aを生成する。
(2)a=A−a−aを計算し、断片を(a,a),(a,a),(a,a)とし、計算装置P,P,Pに分散して記録する。
整数Aの復元
(1)計算装置Pは計算装置Pにaを送信し、計算装置Pにaを送信する。計算装置Pは計算装置Pにaを送信し、計算装置Pにaを送信する。計算装置Pは計算装置Pにaを送信し、計算装置Pにaを送信する。
(2)計算装置Pは計算装置Pから受信したaと計算装置Pから受信したaとが一致していれば、
+a+a mod M
を計算して数値Aを復元する。計算装置Pは計算装置Pから受信したaと計算装置Pから受信したaとが一致していれば、
+a+a mod M
を計算して数値Aを復元する。計算装置Pは計算装置Pから受信したaと計算装置Pから受信したaとが一致していれば、
+a+a mod M
を計算して数値Aを復元する。
整数の加算(C=A+B mod M)の秘密計算
計算装置P
(c,c)=(a+b mod M,a+b mod M)
を計算して記録し、計算装置P
(c,c)=(a+b mod M,a+b mod M)
を計算して記録し、計算装置P
(c,c)=(a+b mod M,a+b mod M)
を計算して記録する。
整数の減算(C=A−B mod M)の秘密計算
計算装置P
(c,c)=(a−b mod M,a−b mod M)
を計算して記録し、計算装置P
(c,c)=(a−b mod M,a−b mod M)
を計算して記録し、計算装置P
(c,c)=(a−b mod M,a−b mod M)
を計算して記録する。
整数の加算(C=A+S mod M)の秘密計算(ただし、Sは既知の定数)
計算装置P
(c,c)=(a+S mod M,a
を計算して記録し、計算装置P
(c,c)=(a,a+S mod M)
を計算して記録する。計算装置Pの処理はない。
整数の乗算(C=AS mod M)の秘密計算(ただし、Sは既知の定数)
計算装置P
(c,c)=(aS mod M,aS mod M)
を計算して記録し、計算装置P
(c,c)=(aS mod M,aS mod M)
を計算して記録し、計算装置P
(c,c)=(aS mod M,aS mod M)
を計算して記録する。
整数の乗算(C=AB mod M)の秘密計算
(1)計算装置Pは、0以上M未満の整数の乱数r,r,cを生成し、
=(a+a)(b+b)−r−r−c mod M
を計算する。そして、計算装置Pは、計算装置Pに(r,c)を、計算装置Pに(r,c)を送信する。
(2)計算装置Pは、
y=a+a+r mod M
を計算し、計算装置Pに送信する。
(3)計算装置Pは、
z=a+a+r mod M
を計算し、計算装置Pに送信する。
(4)計算装置Pと計算装置Pは、それぞれ
=y+z+a mod M
を計算する。
(5)計算装置Pは(c,c)を記録し、計算装置Pは(c,c)を記録し、計算装置Pは(c,c)を記録する。
ビットAの否定(C=1−A)の秘密計算
計算装置P
(c,c)=(1−a,−a mod M)
を計算して記録し、計算装置P
(c,c)=(−a mod M,−a mod M)
を計算して記録し、計算装置P
(c,c)=(−a mod M,1−a
を計算して記録する。
ビットの論理積(C=A∧B=AB)の秘密計算
計算装置P,P,Pは、整数の乗算(C=AB mod M)の秘密計算と同じ処理を行う。
ビットの論理和(C=A∨B=A+B−AB)の秘密計算
(1)計算装置P,P,Pは、整数の加算(C=A+B mod M)の秘密計算と同じ処理を行い、C’=A+Bの結果として、計算装置Pが断片(c’,c’)を、計算装置Pが断片(c’,c’)を、計算装置Pが断片(c’,c’)を記録する。また、計算装置P,P,Pは、整数の乗算(C=AB mod M)の秘密計算と同じ処理を行い、C”=ABの結果として、計算装置Pが断片(c”,c”)を、計算装置Pが断片(c”,c”)を、計算装置Pが断片(c”,c”)を記録する。
(2)計算装置P,P,Pは、S=−1として整数の乗算(C=AS mod M)の秘密計算(ただし、Sは既知の定数)と同じ処理を行い、C’’’=−C”の結果として、計算装置Pが断片(c’’’,c’’’)を、計算装置Pが断片(c’’’,c’’’)を、計算装置Pが断片(c’’’,c’’’)を記録する。
(3)計算装置P,P,Pは、整数の加算(C=A+B mod M)の秘密計算と同じ処理を行い、C=C’+C’’’の結果として、計算装置Pが断片(c,c)を、計算装置Pが断片(c,c)を、計算装置Pが断片(c,c)を記録する。
ビットの排他的論理和(C=A∨B=A+B−2AB)の秘密計算
(1)計算装置P,P,Pは、整数の加算(C=A+B mod M)の秘密計算と同じ処理を行い、C’=A+Bの結果として、計算装置Pが断片(c’,c’)を、計算装置Pが断片(c’,c’)を、計算装置Pが断片(c’,c’)を記録する。また、計算装置P,P,Pは、整数の乗算(C=AB mod M)の秘密計算と同じ処理を行い、C”=ABの結果として、計算装置Pが断片(c”,c”)を、計算装置Pが断片(c”,c”)を、計算装置Pが断片(c”,c”)を記録する。
(2)計算装置P,P,Pは、S=−2として整数の乗算(C=AS mod M)の秘密計算(ただし、Sは既知の定数)の秘密計算と同じ処理を行い、C’’’=−2C”の結果として、計算装置Pが断片(c’’’,c’’’)を、計算装置Pが断片(c’’’,c’’’)を、計算装置Pが断片(c’’’,c’’’)を記録する。
(3)計算装置P,P,Pは、整数の加算(C=A+B mod M)の秘密計算と同じ処理を行い、C=C’+C’’’の結果として、計算装置Pが断片(c,c)を、計算装置Pが断片(c,c)を、計算装置Pが断片(c,c)を記録する。
ビットA(n),n=0,…,N−1の整数変換の秘密計算
ビットA(n)の整数変換とは、
Figure 0005438650
を求めることである。また、計算装置100,100,100が分散して記録するビットA(n)の断片を(a(n),a(n))、(a(n),a(n))、(a(n),a(n))とする。計算装置100は、
Figure 0005438650
を計算して記録し、計算装置P
Figure 0005438650
を計算して記録し、計算装置P
Figure 0005438650
を計算して記録する。
Nビットの整数Aの二進数変換の秘密計算
x(n)は、xの下位n+1番目のビットを示すものとする。
(1)n=0からN−1について、計算装置100が(a+a mod M)(n)を秘密分散し、計算装置100,100,100が(a+a mod M)(n)の断片(b(n),b(n))、(b(n),b(n))、(b(n),b(n))を分散して記録する。n=0からN−1について、計算装置100が(a)(n)を秘密分散し、計算装置100,100,100が(a)(n)の断片((a)(n),(a)(n))、((a)(n),(a)(n))、((a)(n),(a)(n))を分散して記録する。
(2)c=0とし、n=0からN−1について(2−1)から(2−3)の処理を繰返し実行する。
(2−1)d=b(n)+(a)(n)−2b(n)(a)(n)
の秘密計算を実行し、dの断片を分散して記録する。
(2−2)a(n)=d+c−2d
の秘密計算を実行し、a(n)の断片を分散して記録する。
(2−3)n<N−1であれば、
n+1=b(n)(a)(n)+d−b(n)(a)(n)d
の秘密計算を実行し、cn+1の断片を分散して記録する。
整数Aの分散データの検証
計算装置Pは、計算装置Pから受信したaと自身が記録していたaが等しいこと、計算装置Pから受信したaと自身が記録していたaが等しいことを検証する。計算装置Pは、計算装置Pから受信したaと自身が記録していたaが等しいこと、計算装置Pから受信したaと自身が記録していたaが等しいことを検証する。計算装置Pは、計算装置Pから受信したaと自身が記録していたaが等しいこと、計算装置Pから受信したaと自身が記録していたaが等しいことを検証する。すべての検証が成功すればtrueを出力し、いずれかの検証が失敗すればfalseを出力する。
[プログラム、記録媒体]
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
100 計算装置 110 データ取得部
120 乱数共有部 130 第1乗算結果分散部
140 乗算結果加算部 150 第2乗算結果分散部
160 乗算確認部 170 減算結果分散部
180 減算確認部 190 記録部
1000 ネットワーク

Claims (7)

  1. 数値Xを3つの計算装置α、β、γで分散して記録し、秘密計算を行う秘密計算システムを用いてC=ABの秘密計算での不正を検知する不正検知方法であって、
    Mを2以上の整数、計算装置Pとして動作する計算装置が記録する断片を(x,x)、計算装置Pとして動作する計算装置が記録する断片を(x,x)、計算装置Pとして動作する計算装置が記録する断片を(x,x)、数値Xと断片とは
    X=x+x+x mod M
    の関係を満たすとし、
    数値A,B,Cの断片として、計算装置Pが断片(a,a),(b,b),(c,c)を取得し、計算装置Pが断片(a,a),(b,b),(c,c)を取得し、計算装置Pが断片(a,a),(b,b),(c,c)を取得するデータ取得ステップと、
    計算装置Pと計算装置Pが、ランダムに選んだ2以上M以下の整数Sを共有する乱数共有ステップと、
    計算装置PがSaを分散し、計算装置Pまたは計算装置PがSaを分散し、計算装置PがSaを分散して、計算装置Pが断片((Sa,(Sa),((Sa,(Sa),((Sa,(Sa)を取得し、計算装置Pが断片((Sa,(Sa),((Sa,(Sa),((Sa,(Sa)を取得し、計算装置Pが断片((Sa,(Sa),((Sa,(Sa),((Sa,(Sa)を取得する第1乗算結果分散ステップと、
    計算装置P,P,Pが、
    D=Sa+Sa+Sa mod M
    の秘密計算を行い、計算装置Pが断片(d,d)を取得し、計算装置Pが断片(d,d)を取得し、計算装置Pが断片(d,d)を取得する乗算結果加算ステップと、
    計算装置P,P,Pが、
    E=DB mod M
    の秘密計算を行い、計算装置Pが断片(e,e)を取得し、計算装置Pが断片(e,e)を取得し、計算装置Pが断片(e,e)を取得する第2乗算結果分散ステップと、
    計算装置P
    f=e+e−Sc−Sc mod M
    を計算し、計算装置P
    g=e−Sc mod M
    を計算し、計算装置Pまたは計算装置P
    f+g=0 mod M
    かを確認する、もしくは、
    計算装置P
    f=e−Sc mod M
    を計算し、計算装置P
    g=e+e−Sc−Sc mod M
    を計算し、計算装置Pまたは計算装置P
    f+g=0 mod M
    かを確認する乗算確認ステップと、
    を有する不正検知方法。
  2. 請求項1記載の不正検知方法であって、
    計算装置αが記録する断片を(xγα,xαβ)、計算装置βが記録する断片を(xαβ,xβγ)、計算装置γが記録する断片を(xβγ,xγα)とし、
    断片(c,c),(c,c),(c,c)は計算装置αが計算装置Pとして、計算装置βが計算装置Pとして、計算装置γが計算装置PとしてC=ABの秘密計算を行った結果、断片(c’,c’),(c’,c’),(c’,c’)は計算装置αが計算装置Pとして、計算装置βが計算装置Pとして、計算装置γが計算装置PとしてC=ABの秘密計算を行った結果、断片(c”,c”),(c”,c”),(c”,c”)は計算装置αが計算装置Pとして、計算装置βが計算装置Pとして、計算装置γが計算装置PとしてC=ABの秘密計算を行った結果とし、
    前記データ取得ステップは、計算装置αが断片(a,a),(b,b),(c,c),(c’,c’),(c”,c”)を取得し、計算装置βが断片(a,a),(b,b),(c,c),(c’,c”),(c”,c”)を取得し、計算装置γが断片(a,a),(b,b),(c,c),(c’,c’),(c”,c”)を取得するステップであり、
    断片(a,a),(a,a),(a,a)と断片(b,b),(b,b),(b,b)と断片(c,c),(c,c),(c,c)を用いて、計算装置αが計算装置Pとして、計算装置βが計算装置Pとして、計算装置γが計算装置Pとして、前記乱数共有ステップ、前記第1乗算結果分散ステップ、前記乗算結果加算ステップ、前記第2乗算結果分散ステップ、前記乗算確認ステップを実行し、
    断片(a’,a’),(a’,a’),(a’,a’)と断片(b’,b’),(b’,b’),(b’,b’)と断片(c’,c’),(c’,c’),(c’,c’)を用いて(ただし、a’=a,a’=a,a’=a,b’=b,b’=b,b’=b)、計算装置αが計算装置Pとして、計算装置βが計算装置Pとして、計算装置γが計算装置Pとして、前記乱数共有ステップ、前記第1乗算結果分散ステップ、前記乗算結果加算ステップ、前記第2乗算結果分散ステップ、前記乗算確認ステップを実行し、
    断片(a”,a”),(a”,a”),(a”,a”)と断片(b”,b”),(b”,b”),(b”,b”)と断片(c”,c”),(c”,c”),(c”,c”)を用いて(ただし、a”=a,a”=a,a”=a,b”=b,b”=b,b”=b)、計算装置αが計算装置Pとして、計算装置βが計算装置Pとして、計算装置γが計算装置Pとして、前記乱数共有ステップ、前記第1乗算結果分散ステップ、前記乗算結果加算ステップ、前記第2乗算結果分散ステップ、前記乗算確認ステップを実行し、
    計算装置α、β、γが計算装置P,P,Pのいずれの計算装置として動作するかを決め、
    U=C−C’ mod M
    の秘密計算と、
    V=C−C” mod M
    の秘密計算とを行い、計算装置Pが断片(u,u),(v,v)を取得し、計算装置Pが断片(u,u),(v,v)を取得し、計算装置Pが断片(u,u),(v,v)を取得する減算結果分散ステップと、
    計算装置P,P,Pが、数値UとVを復元し、U=0かつV=0であることを確認する減算確認ステップと、
    を有することを特徴とする不正検知方法。
  3. 数値Xを3つの計算装置α、β、γで分散して記録し、秘密計算を行う秘密計算システムであって、
    Mを2以上の整数、計算装置Pとして動作する計算装置が記録する断片を(x,x)、計算装置Pとして動作する計算装置が記録する断片を(x,x)、計算装置Pとして動作する計算装置が記録する断片を(x,x)、数値Xと断片とは
    X=x+x+x mod M
    の関係を満たすとし、
    数値A,B,Cの断片として、計算装置Pに断片(a,a),(b,b),(c,c)を取得させ、計算装置Pに断片(a,a),(b,b),(c,c)を取得させ、計算装置Pに断片(a,a),(b,b),(c,c)を取得させるデータ取得手段と、
    計算装置Pと計算装置Pに、ランダムに選んだ2以上M以下の整数Sを共有させる乱数共有手段と、
    計算装置PにSaを分散させ、計算装置Pまたは計算装置PにSaを分散させ、計算装置PにSaを分散させて、計算装置Pに断片((Sa,(Sa),((Sa,(Sa),((Sa,(Sa)を取得させ、計算装置Pに断片((Sa,(Sa),((Sa,(Sa),((Sa,(Sa)を取得させ、計算装置Pに断片((Sa,(Sa),((Sa,(Sa),((Sa,(Sa)を取得させる第1乗算結果分散手段と、
    D=Sa+Sa+Sa mod M
    の秘密計算を行い、計算装置Pに断片(d,d)を取得させ、計算装置Pに断片(d,d)を取得させ、計算装置Pに断片(d,d)を取得させる乗算結果加算手段と、
    E=DB mod M
    の秘密計算を行い、計算装置Pに断片(e,e)を取得させ、計算装置Pに断片(e,e)を取得させ、計算装置Pに断片(e,e)を取得させる第2乗算結果分散手段と、
    計算装置P
    f=e+e−Sc−Sc mod M
    を計算させ、計算装置P
    g=e−Sc mod M
    を計算させ、計算装置Pまたは計算装置P
    f+g=0 mod M
    かを確認させる、もしくは、
    計算装置P
    f=e−Sc mod M
    を計算させ、計算装置P
    g=e+e−Sc−Sc mod M
    を計算させ、計算装置Pまたは計算装置P
    f+g=0 mod M
    かを確認させる乗算確認手段と、
    を有する秘密計算システム。
  4. 請求項3記載の秘密計算システムであって、
    計算装置αが記録する断片を(xγα,xαβ)、計算装置βが記録する断片を(xαβ,xβγ)、計算装置γが記録する断片を(xβγ,xγα)とし、
    断片(c,c),(c,c),(c,c)は計算装置αが計算装置Pとして、計算装置βが計算装置Pとして、計算装置γが計算装置PとしてC=ABの秘密計算を行った結果、断片(c’,c’),(c’,c’),(c’,c’)は計算装置αが計算装置Pとして、計算装置βが計算装置Pとして、計算装置γが計算装置PとしてC=ABの秘密計算を行った結果、断片(c”,c”),(c”,c”),(c”,c”)は計算装置αが計算装置Pとして、計算装置βが計算装置Pとして、計算装置γが計算装置PとしてC=ABの秘密計算を行った結果とし、
    前記データ取得手段は、計算装置αに断片(a,a),(b,b),(c,c),(c’,c’),(c”,c”)を取得させ、計算装置βに断片(a,a),(b,b),(c,c),(c’,c”),(c”,c”)を取得させ、計算装置γに断片(a,a),(b,b),(c,c),(c’,c’),(c”,c”)を取得させる手段であり、
    断片(a,a),(a,a),(a,a)と断片(b,b),(b,b),(b,b)と断片(c,c),(c,c),(c,c)を用いて、計算装置αが計算装置Pとして、計算装置βが計算装置Pとして、計算装置γが計算装置Pとして、前記乱数共有手段、前記第1乗算結果分散手段、前記乗算結果加算手段、前記第2乗算結果分散手段、前記乗算確認手段を実行し、
    断片(a’,a’),(a’,a’),(a’,a’)と断片(b’,b’),(b’,b’),(b’,b’)と断片(c’,c’),(c’,c’),(c’,c’)を用いて(ただし、a’=a,a’=a,a’=a,b’=b,b’=b,b’=b)、計算装置αが計算装置Pとして、計算装置βが計算装置Pとして、計算装置γが計算装置Pとして、前記乱数共有手段、前記第1乗算結果分散手段、前記乗算結果加算手段、前記第2乗算結果分散手段、前記乗算確認手段を実行し、
    断片(a”,a”),(a”,a”),(a”,a”)と断片(b”,b”),(b”,b”),(b”,b”)と断片(c”,c”),(c”,c”),(c”,c”)を用いて(ただし、a”=a,a”=a,a”=a,b”=b,b”=b,b”=b)、計算装置αが計算装置Pとして、計算装置βが計算装置Pとして、計算装置γが計算装置Pとして、前記乱数共有手段、前記第1乗算結果分散手段、前記乗算結果加算手段、前記第2乗算結果分散手段、前記乗算確認手段を実行し、
    計算装置α、β、γが計算装置P,P,Pのいずれの計算装置として動作するかを決め、
    U=C−C’ mod M
    の秘密計算と、
    V=C−C” mod M
    の秘密計算とを行い、計算装置Pに断片(u,u),(v,v)を取得させ、計算装置Pに断片(u,u),(v,v)を取得させ、計算装置Pに断片(u,u),(v,v)を取得させる減算結果分散手段と、
    数値UとVを復元し、U=0かつV=0であることを確認する減算確認手段と、
    を備える秘密計算システム。
  5. 数値Xを3つの計算装置α、β、γで分散して記録し、秘密計算を行う秘密計算システムの計算装置であって、
    Mを2以上の整数、計算装置Pとして動作する計算装置が記録する断片を(x,x)、計算装置Pとして動作する計算装置が記録する断片を(x,x)、計算装置Pとして動作する計算装置が記録する断片を(x,x)、数値Xと断片とは
    X=x+x+x mod M
    の関係を満たすとし、
    数値A,B,Cの断片として、計算装置Pとして動作するときは断片(a,a),(b,b),(c,c)を取得し、計算装置Pとして動作するときは断片(a,a),(b,b),(c,c)を取得し、計算装置Pとして動作するときは断片(a,a),(b,b),(c,c)を取得するデータ取得部と、
    計算装置Pとして動作するときは、ランダムに選んだ2以上M以下の整数Sを計算装置Pと共有し、計算装置Pとして動作するときは、ランダムに選んだ2以上M以下の整数Sを計算装置Pと共有する乱数共有部と、
    計算装置Pとして動作するときはSaを分散し、計算装置Pまたは計算装置Pとして動作するときはSaを分散し、計算装置Pとして動作するときはSaを分散し、計算装置Pとして動作するときは断片((Sa,(Sa),((Sa,(Sa),((Sa,(Sa)を取得し、計算装置Pとして動作するときは断片((Sa,(Sa),((Sa,(Sa),((Sa,(Sa)を取得し、計算装置Pとして動作するときは断片((Sa,(Sa),((Sa,(Sa),((Sa,(Sa)を取得する第1乗算結果分散部と、
    D=Sa+Sa+Sa mod M
    の秘密計算を行い、計算装置Pとして動作するときは断片(d,d)を取得し、計算装置Pとして動作するときは断片(d,d)を取得し、計算装置Pとして動作するときは断片(d,d)を取得する乗算結果加算部と、
    E=DB mod M
    の秘密計算を行い、計算装置Pとして動作するときは断片(e,e)を取得し、計算装置Pとして動作するときは断片(e,e)を取得し、計算装置Pとして動作するときは断片(e,e)を取得する第2乗算結果分散部と、
    計算装置Pとして動作するときは
    f=e+e−Sc−Sc mod M
    を計算し、計算装置Pとして動作するときは
    g=e−Sc mod M
    を計算し、計算装置Pまたは計算装置Pとして動作するときは
    f+g=0 mod M
    かを確認する、もしくは、
    計算装置Pとして動作するときは
    f=e−Sc mod M
    を計算し、計算装置Pとして動作するときは
    g=e+e−Sc−Sc mod M
    を計算し、計算装置Pまたは計算装置Pとして動作するときは
    f+g=0 mod M
    かを確認する乗算確認手段と、
    を備える計算装置。
  6. 請求項5記載の計算装置であって、
    U=C−C’ mod M
    の秘密計算と、
    V=C−C” mod M
    の秘密計算とを行い、計算装置Pとして動作するときは断片(u,u),(v,v)を取得し、計算装置Pとして動作するときは断片(u,u),(v,v)を取得し、計算装置Pとして動作するときは断片(u,u),(v,v)を取得する減算結果分散部と、
    数値UとVを復元し、U=0かつV=0であることを確認する減算確認部
    も備える計算装置。
  7. 請求項5または6記載の計算装置としてコンピュータを機能させる計算プログラム。
JP2010221723A 2010-09-30 2010-09-30 不正検知方法、秘密計算システム、計算装置、計算プログラム Active JP5438650B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010221723A JP5438650B2 (ja) 2010-09-30 2010-09-30 不正検知方法、秘密計算システム、計算装置、計算プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010221723A JP5438650B2 (ja) 2010-09-30 2010-09-30 不正検知方法、秘密計算システム、計算装置、計算プログラム

Publications (2)

Publication Number Publication Date
JP2012078446A JP2012078446A (ja) 2012-04-19
JP5438650B2 true JP5438650B2 (ja) 2014-03-12

Family

ID=46238795

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010221723A Active JP5438650B2 (ja) 2010-09-30 2010-09-30 不正検知方法、秘密計算システム、計算装置、計算プログラム

Country Status (1)

Country Link
JP (1) JP5438650B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6016948B2 (ja) * 2013-01-17 2016-10-26 日本電信電話株式会社 秘匿計算システム、演算装置、秘匿計算方法、およびプログラム
JP6493697B2 (ja) * 2014-09-19 2019-04-03 日本電気株式会社 秘密計算装置、方法、記録媒体、および秘密計算システム
WO2018061391A1 (ja) * 2016-09-30 2018-04-05 日本電気株式会社 秘密計算システム、秘密計算装置、秘密計算方法および秘密計算プログラム
WO2018211676A1 (en) * 2017-05-18 2018-11-22 Nec Corporation Multiparty computation method, apparatus and program
JP6810393B2 (ja) 2017-05-18 2021-01-06 日本電気株式会社 数値分散装置、送信情報生成装置、秘密計算装置、方法、プログラム、および秘密計算システム
US11456862B2 (en) * 2017-07-05 2022-09-27 Nippon Telegraph And Telephone Corporation Secure computation system, secure computation apparatus, secure computation method, and recording medium

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0353367A (ja) * 1989-07-20 1991-03-07 Toshiba Corp 分散型情報処理システム
JPH0619393A (ja) * 1992-03-31 1994-01-28 Toshiba Corp 依頼計算装置
JP4706811B2 (ja) * 2000-09-06 2011-06-22 ネッツエスアイ東洋株式会社 依頼計算を用いた演算装置、及び記録媒体
JP5578754B2 (ja) * 2007-01-22 2014-08-27 日本電信電話株式会社 暗号変換方法および装置、並びにプログラム
JP5047198B2 (ja) * 2008-01-21 2012-10-10 日本電信電話株式会社 秘密計算システム、秘密計算方法、秘密計算装置、検証装置、およびプログラム
WO2009142285A1 (ja) * 2008-05-23 2009-11-26 日本電気株式会社 分散情報生成装置

Also Published As

Publication number Publication date
JP2012078446A (ja) 2012-04-19

Similar Documents

Publication Publication Date Title
US8656175B2 (en) Secure processing device, secure processing method, encrypted confidential information embedding method, program, storage medium, and integrated circuit
JP5438650B2 (ja) 不正検知方法、秘密計算システム、計算装置、計算プログラム
CN101682612B (zh) 受控的功能激活
JP5957095B2 (ja) 改ざん検知装置、改ざん検知方法、およびプログラム
US10083314B2 (en) Secret parallel processing device, secret parallel processing method, and program
JP2022141772A (ja) ブロックチェーンのための暗号化データ共有管理
JPWO2012046692A1 (ja) 秘密分散システム、秘密分散装置、秘密分散方法、秘密ソート方法、秘密分散プログラム
CN104919752A (zh) 秘密密钥分割保管系统、分割保管装置、秘密密钥分割保管方法
US9449193B2 (en) Information processing apparatus
US10950144B2 (en) Secret falsification detecting system, secret computation apparatus, secret falsification detecting method, and program
JP2021507615A (ja) パスワード認証のための準同型暗号
JP7318490B2 (ja) 暗号処理システム及び暗号処理方法
JP6053238B2 (ja) 秘密改ざん検知システム、秘密計算装置、秘密改ざん検知方法、およびプログラム
JP5972181B2 (ja) 改ざん検知装置、改ざん検知方法、およびプログラム
JP2015513156A (ja) ビザンチン・フォールトトレランス及び閾値コイントス
CN109818965A (zh) 个人身份验证装置及方法
WO2013153628A1 (ja) 演算処理システムおよび演算結果認証方法
CN114026586A (zh) 用于授予对加密资产的访问权的零知识或有支付协议
CN101556638A (zh) 数据处理设备
CN113132078A (zh) 一种基于同态承诺的区块链隐私保护方法及区块链系统
JP2013009245A (ja) 秘密情報分散システム及び秘密情報分散方法並びに秘密情報生成プログラム及び秘密情報復元プログラム
JP6251163B2 (ja) 暗号化署名システム、暗号化署名装置、調停装置、暗号化検証装置、暗号化署名演算装置、暗号化署名方法、プログラム
CN110210189A (zh) 软件验证方法、软硬件绑定方法及其可编程器件
JP6059160B2 (ja) シェア変換システム、シェア変換方法、プログラム
KR102234542B1 (ko) 블록 체인 기반 영상 저작물 관리 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121026

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131213

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5438650

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350