JP4789536B2 - データ分割装置、データ分割方法およびコンピュータプログラム - Google Patents
データ分割装置、データ分割方法およびコンピュータプログラム Download PDFInfo
- Publication number
- JP4789536B2 JP4789536B2 JP2005223999A JP2005223999A JP4789536B2 JP 4789536 B2 JP4789536 B2 JP 4789536B2 JP 2005223999 A JP2005223999 A JP 2005223999A JP 2005223999 A JP2005223999 A JP 2005223999A JP 4789536 B2 JP4789536 B2 JP 4789536B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- divided
- original
- partial
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 47
- 238000004590 computer program Methods 0.000 title claims description 4
- 239000011159 matrix material Substances 0.000 claims description 36
- 238000004364 calculation method Methods 0.000 description 11
- 230000011218 segmentation Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000005192 partition Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 3
- 230000006378 damage Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
Images
Landscapes
- Storage Device Security (AREA)
Description
A. Shamir, "How to Share a Secret", Comm.Assoc.Comput.Mach., Vol. 22, no. 11, pp. 612-613(Nov.1979) Bruce Schneier, "Applied Cryptography", John Wiley&Sons, Inc., pp. 383-384(1994)
n×n行列でi行j列の値u(i,j)がi+j≦n+1 のとき u(i,j)=1
i+j>n+1 のとき u(i,j)=0
である行列とし、P[n,n]をn×n行列でi行j列の値p(i,j)が
j=i+1 のとき p(i,j)=1
i=n,j=1 のとき p(i,j)=1
上記以外のとき p(i,j)=0
である行列としたとき、c(j,i,k)を(n-1)×(n-1)行列であるU[n-1,n-1]×P[n-1,n-1]^(j-1)のi行k列の値と定義し、ただしU[n-1,n-1]×P[n-1,n-1]^(j-1)とは行列U[n-1,n-1]とj-1個のP[n-1,n-1]の積を表し、Q(j,i,k)をc(j,i,k)=1のとき、Q(j,i,k)=R(k)、c(j,i,k)=0のとき、Q(j,i,k)=0 と定義したとき、各分割部分データD(i,j)を、変数iを1からnまで変えながら各変数iにおいて変数jを1からn-1まで変え、排他的論理和の演算子*を用いて、i<nのとき、
D(i,j)=R(j)
として生成するものであって、当該各分割部分データのうちのD(1,j)を削除することを特徴とする。
=S(1),S(2),…,S(n-1)
乱数R=(n-1)個の乱数部分データR(j)
=R(1),R(2),…,R(n-1)
n個の分割データD(i)=D(1),D(2),…,D(n)
各分割部分データD(i,j)
=D(1,1),D(1,2),…,D(1,n-1)
D(2,1),D(2,2),…,D(2,n-1)
… … …
D(n,1),D(n,2),…,D(n,n-1)
(i=1〜n), (j=1〜n-1)
本実施形態は、上述したように処理単位ビット長毎に区分けされる複数の部分データに対して元部分データと乱数部分データの排他的論理和演算(XOR)を行って、詳しくは、元部分データと乱数部分データの排他的論理和演算(XOR)からなる定義式を用いて、元データの分割を行うことを特徴とするものであり、上述したデータ分割処理に多項式や剰余演算を用いる従来の方法に比較して、コンピュータ処理に適したビット演算である排他的論理和(XOR)演算を用いることにより高速かつ高性能な演算処理能力を必要とせず、大容量のデータに対しても簡単な演算処理を繰り返して分割データを生成することができるとともに、また分割データの保管に必要となる記憶容量も分割数に比例した倍数の容量よりも小さくすることができる。更に、任意に定めた一定の長さ毎にデータの先頭から順に演算処理を行うストリーム処理により分割データが生成される。
0 * 1 の演算結果は 1
1 * 0 の演算結果は 1
1 * 1 の演算結果は 0
また、XOR演算は交換法則、結合法則が成り立つ。すなわち、
a*b=b*a
(a*b)*c=a*(b*c)
が成り立つことが数学的に証明される。
c(j,i,k)=0 のとき Q(j,i,k)=0
ただし、mはm≧0の整数を表す。
i+j≦n+1 のとき u(i,j)=1
i+j>n+1 のとき u(i,j)=0
である行列を意味するものとし、「上三角行列」ということとする。具体的には下記のような行列である。
j=i+1 のとき p(i,j)=1
i=n,j=1 のとき p(i,j)=1
上記以外のとき p(i,j)=0
である行列を意味するものとし、「回転行列」ということとする。具体的には下記のような行列であり、他の行列の右側からかけると当該他の行列の1列目を2列目へ、2列目を3列目へ、…,n-1列目をn列目へ、n列目を1列目へ移動させる作用がある。つまり、行列Pを他の行列に右側から複数回かけると、その回数分だけ各列を右方向へ回転させるように移動させることができる。
。行列の成分同士の計算規則は通常の数学で用いるものと同じである。
i=j のとき e(i,j)=1
上記以外のとき e(i,j)=0
である行列を意味するものとする。具体的には下記のような行列である。Aを任意のn×n行列とすると
A×E=E×A=A
となる性質がある。
第1の元部分データS(1)=「10110010」
第2の元部分データS(2)=「00110111」
次に、変数jを1から2(=分割数n-1)まで変えて、乱数部分データR(2×m+j)に乱数発生手段15から発生する8ビットの長さの乱数を設定し、これにより乱数Rを処理単位ビット長で区分けした2(分割数n-1)個の乱数部分データR(1),R(2)を次のように生成する(ステップS215)。
第1の乱数部分データR(1)=「10110001」
第2の乱数部分データR(2)=「00110101」
次に、ステップS217において、変数iを1から3(=分割数n)まで変えるとともに、更に各変数iにおいて変数jを1から2(=分割数n-1)まで変えながら、ステップS217に示す分割データを生成するための元部分データと乱数部分データの排他的論理和からな
る定義式により複数の分割データD(i)の各々を構成する各分割部分データD(i,2×m+j) を生成する。この結果、次に示すような分割データDが生成される。
=3個の分割データD(i)=D(1),D(2),D(3)
第1の分割データD(1)
=2個の分割部分データD(1,j)=D(1,1),D(1,2)
=「00110110」,「10110011」
第2の分割データD(2)
=2個の分割部分データD(2,j)=D(2,1),D(2,2)
=「00000011」,「00000010」
第3の分割データD(3)
=2個の分割部分データD(3,j)=D(3,1),D(3,2)
=「10110001」,「00110101」
なお、各分割部分データD(i,j)を生成するためのステップS217に示す定義式は、本例のように分割数n=3の場合には、具体的には図4に示す表に記載されているものとなる。図4に示す表から、分割部分データD(1,1)を生成するための定義式はS(1)*R(1)*R(2)であり、D(1,2)の定義式はS(2)*R(1)*R(2)であり、D(2,1)の定義式はS(1)*R(1)であり、D(2,2)の定義式はS(2)*R(2)であり、D(3,1)の定義式はR(1)であり、D(3,2)の定義式はR(2)である。また、図4に示す表にはm>0の場合の任意の整数についての一般的な定義式も記載されている。
D(1,2)=S(2)*Q(2,1,1)*Q(2,1,2)
D(2,1)=S(1)*Q(1,2,1)*Q(1,2,2)
D(2,2)=S(2)*Q(2,2,1)*Q(2,2,2)
D(3,1)=R(1)
D(3,2)=R(2)
上記の6つの式のうち上から4つの式に含まれるQ(j,i,k)を具体的に求める。
D(1,2)=S(2)*Q(2,1,1)*Q(2,1,2)=S(2)*R(1)*R(2)
D(2,1)=S(1)*Q(1,2,1)*Q(1,2,2)=S(1)*R(1)*0=S(1)*R(1)
D(2,2)=S(2)*Q(2,2,1)*Q(2,2,2)=S(2)*0*R(2)=S(2)*R(2)
上述した各分割部分データD(i,j)を生成するための定義式は、図3にも図示されている。
データから元データを復元する場合の計算式などを示す表である。
は任意にとることができ、元データSの先頭から順にb×2の長さ毎に上記分割処理を繰り返すことにより任意の長さの元データ、具体的には処理単位ビット長b×2の整数倍の長さの元データに対して適用することができる。なお、元データSの長さが処理単位ビット長b×2の整数倍でない場合は、例えば、データ末尾の部分を0で埋めるなどして元データSの長さを処理単位ビット長b×2の整数倍に合わせることにより上述した本実施形態の分割処理を適用することができる。
=S(1)*(R(1)*R(1))
=S(1)*0
=S(1)
具体的に計算すると、D(2,1)は00000011, D(3,1)は10110001なので、S(1)は10110010となる。
=S(2)*(R(2)*R(2))
=S(2)*0
=S(2)
具体的に計算すると、D(2,2)は00000010, D(3,2)は00110101なので、S(2)は00110111となる。
D(2,j)*D(3,j)=(S(j)*R(j))*R(j)
=S(j)*(R(j)*R(j))
=S(j)*0
=S(j)
であるから、D(2,j)*D(3,j)を計算すれば、S(j)が求まる。
D(2,j+1)*D(3,j+1)=(S(j+1)*R(j+1))*R(j+1)
=S(j+1)*(R(j+1)*R(j+1))
=S(j+1)*0
=S(j+1)
であるから、D(2,j+1)*D(3,j+1)を計算すれば、S(j+1)が求まる。
=S(1)*(R(1)*R(1))*(R(2)*R(2))
=S(1)*0*0
=S(1)
であるから、D(1,1)*D(3,1)*D(3,2)を計算すれば、S(1)が求まる。具体的に計算すると、D(1,1)は00110110, D(3,1)は10110001, D(3,2)は00110101なので、S(1)は10110010となる。
D(1,2)*D(3,1)*D(3,2)=(S(2)*R(1)*R(2))*R(1)*R(2)
=S(2)*(R(1)*R(1))*(R(2)*R(2))
=S(2)*0*0
=S(2)
であるから、D(1,2)*D(3,1)*D(3,2)を計算すれば、S(2)が求まる。具体的に計算すると、D(1,2)は10110011, D(3,1)は10110001, D(3,2)は00110101なので、S(2)は00110111となる。
D(1,j)*D(3,j)*D(3,j+1)=(S(j)*R(j)*R(j+1))*R(j)*R(j+1)
=S(j)*(R(j)*R(j))*(R(j+1)*R(j+1))
=S(j)*0*0
=S(j)
であるから、D(1,j)*D(3,j)*D(3,j+1)を計算すれば、S(j)が求まる。
D(1,j+1)*D(3,j)*D(3,j+1)=(S(j+1)*R(j)*R(j+1))*R(j)*R(j+1)
=S(j+1)*(R(j)*R(j))*(R(j+1)*R(j+1))
=S(j+1)*0*0
=S(j+1)
であるから、D(1,j+1)*D(3,j)*D(3,j+1)を計算すれば、S(j+1)が求まる。
=(S(1)*S(1))*(R(1)*R(1))*R(2)
=0*0*R(2)
=R(2)
であるから、D(1,1)*D(2,1)を計算すれば、R(2)が求まる。具体的に計算すると、D(1,1)は00110110, D(2,1)は00000011なので、R(2)は00110101となる。
D(1,2)*D(2,2)=(S(2)*R(1)*R(2))*(S(2)*R(2))
=(S(2)*S(2))*R(1)*(R(2)*R(2))
=0*R(1)*0
=R(1)
であるから、D(1,2)*D(2,2)を計算すれば、R(1)が求まる。具体的に計算すると、D(1,2)は10110011, D(2,2)は00000010なので、R(1)は10110001となる。
=S(1)*(R(1)*R(1))
=S(1)*0
=S(1)
であるから、D(2,1)*R(1)を計算すれば、S(1)が求まる。具体的に計算すると、D(2,1)は00000011, R(1)は10110001なので、S(1)は10110010となる。
D(2,2)*R(2)=(S(2)*R(2))*R(2)
=S(2)*(R(2)*R(2))
=S(2)*0
=S(2)
であるからD(2,2)*R(2)を計算すればS(2)が求まる。具体的に計算するとD(2,2)は00000010, R(2)は00110101なので、S(2)は00110111となる。
D(1,j)*D(2,j)=(S(j)*R(j)*R(j+1))*(S(j)*R(j))
=(S(j)*S(j))*(R(j)*R(j))*R(j+1)
=0*0*R(j+1)
=R(j+1)
であるからD(1,j)*D(2,j)を計算すればR(j+1)が求まる。
D(1,j+1)*D(2,j+1)=(S(j+1)*R(j)*R(j+1))*(S(j+1)*R(j+1))
=(S(j+1)*S(j+1))*R(j)*(R(j+1)*R(j+1))
=0*R(j)*0
=R(j)
であるからD(1,j+1)*D(2,j+1)を計算すればR(j)が求まる。
=S(j)*(R(j)*R(j))
=S(j)*0
=S(j)
であるからD(2,j)*R(j)を計算すればS(j)が求まる。
D(2,j+1)*R(j+1)=(S(j+1)*R(j+1))*R(j+1)
=S(j+1)*(R(j+1)*R(j+1))
=S(j+1)*0
=S(j+1)
であるからD(2,j+1)*R(j+1)を計算すればS(j+1)が求まる。
(http://www.ipa.go.jp/security/enc/CRYPTREC/fy15/cryptrec20030425_spec01.html)。
=4個の分割データD(i)=D(1),D(2),D(3),D(4)
第1の分割データD(1)
=3個の分割部分データD(1,j)=D(1,1),D(1,2),D(1,3)
第2の分割データD(2)
=3個の分割部分データD(2,j)=D(2,1),D(2,2),D(2,3)
第3の分割データD(3)
=3個の分割部分データD(3,j)=D(3,1),D(3,2),D(3,3)
第4の分割データD(4)
=3個の分割部分データD(4,j)=D(4,1),D(4,2),D(4,3)
なお、各分割部分データD(i,j)を生成するためのステップS317に示す定義式は、本例のように分割数n=4の場合には、具体的には図6に示す表に記載されているものとなる。図6に示す表から、分割部分データD(1,1)を生成するための定義式はS(1)*R(1)*R(2)*R(3)であり、D(1,2)の定義式はS(2)*R(1)*R(2)*R(3)であり、D(1,3)の定義式はS(3)*R(1)*R(2)*R(3)であり、D(2,1)の定義式はS(1)*R(1)*R(2)であり、D(2,2)の定義式はS(2)*R(2)*R(3)であり、D(2,3)の定義式はS(3)*R(1)*R(3)であり、D(3,1)の定義式はS(1)*R(1)であり、D(3,2)の定義式はS(2)*R(2)であり、D(3,3)の定義式はS(3)*R(3)であり、D(4,1)の定義式はR(1)であり、D(4,2)の定義式はR(2)であり、D(4,3)の定義式はR(3)である。また、図6に示す表にはm>0の場合の任意の整数についての一般的な定義式も記載されている。
D(1,3×m+2)=S(3×m+2)*Q(2,1,1)*Q(2,1,2)*Q(2,1,3)
D(1,3×m+3)=S(3×m+3)*Q(3,1,1)*Q(3,1,2)*Q(3,1,3)
D(2,3×m+1)=S(3×m+1)*Q(1,2,1)*Q(1,2,2)*Q(1,2,3)
D(2,3×m+2)=S(3×m+2)*Q(2,2,1)*Q(2,2,2)*Q(2,2,3)
D(2,3×m+3)=S(3×m+3)*Q(3,2,1)*Q(3,2,2)*Q(3,2,3)
D(3,3×m+1)=S(3×m+1)*Q(1,3,1)*Q(1,3,2)*Q(1,3,3)
D(3,3×m+2)=S(3×m+2)*Q(2,3,1)*Q(2,3,2)*Q(2,3,3)
D(3,3×m+3)=S(3×m+3)*Q(3,3,1)*Q(3,3,2)*Q(3,3,3)
D(4,3×m+1)=R(3×m+1)
D(4,3×m+2)=R(3×m+2)
D(4,3×m+3)=R(3×m+3)
次に、Q(j,i,k)を具体的に求める。これはc(j,i,k)を3×3行列であるU[3,3]×(P[3,3])^(j-1)のi行k列の値としたとき下記のように定義される。
=S(3×m+1)*R(3×m+1)*R(3×m+2)*R(3×m+3)
D(1,3×m+2)=S(3×m+2)*Q(2,1,1)*Q(2,1,2)*Q(2,1,3)
=S(3×m+2)*R(3×m+1)*R(3×m+2)*R(3×m+3)
D(1,3×m+3)=S(3×m+3)*Q(3,1,1)*Q(3,1,2)*Q(3,1,3)
=S(3×m+3)*R(3×m+1)*R(3×m+2)*R(3×m+3)
D(2,3×m+1)=S(3×m+1)*Q(1,2,1)*Q(1,2,2)*Q(1,2,3)
=S(3×m+1)*R(3×m+1)*R(3×m+2)
D(2,3×m+2)=S(3×m+2)*Q(2,2,1)*Q(2,2,2)*Q(2,2,3)
=S(3×m+2)*R(3×m+2)*R(3×m+3)
D(2,3×m+3)=S(3×m+3)*Q(3,2,1)*Q(3,2,2)*Q(3,2,3)
=S(3×m+3)*R(3×m+1)*R(3×m+3)
D(3,3×m+1)=S(3×m+1)*Q(1,3,1)*Q(1,3,2)*Q(1,3,3)
=S(3×m+1)*R(3×m+1)
D(3,3×m+2)=S(3×m+2)*Q(2,3,1)*Q(2,3,2)*Q(2,3,3)
=S(3×m+2)*R(3×m+2)
D(3,3×m+3)=S(3×m+3)*Q(3,3,1)*Q(3,3,2)*Q(3,3,3)
=S(3×m+3)*R(3×m+3)
D(4,3×m+1)=R(3×m+1)
D(4,3×m+2)=R(3×m+2)
D(4,3×m+3)=R(3×m+3)
ここで、上述したように図2のステップS217や図5のステップS317で示した定義式に基づいて元データを分割する分割規則について一般的な表現で記載する。
i<nのとき、各分割部分データD(i,j)を
D(i,j)=R(j)
と設定する。上記処理を元データSの先頭から末尾まで繰り返し行うことにより元データSから分割数nの分割データを生成することができる。
=(S(j)*S(j))*(R(j)*R(j))*(R(j+1)*R(j+1))*R(j+2)
=0*0*0*R(j+2)
=R(j+2)
従って、D(1,j)*D(2,j)を計算すれば、乱数R(j+2)が求まり、同様にD(1,j+1)*D(2,j+1)を計算すれば、乱数R(j)が求まり、同様にD(1,j+2)*D(2,j+2)を計算すれば、乱数R(j+1)が求まり、これらの得られた乱数R(j),R(j+1),R(j+2)を用いれば、
D(1,j)*R(j)*R(j+1)*R(j+2)
=(S(j)*R(j)*R(j+1)*R(j+2))*(R(j)*R(j+1)*R(j+2))
=S(j)*(R(j)*R(j))*(R(j+1)*R(j+1))*(R(j+2)*R(j+2))
=S(j)*0*0*0
=S(j)
であるから、D(1,j)*R(j)*R(j+1)*R(j+2)を計算して、S(j)を求めてもよいし、D(2,j)*R(j)*R(j+1)からS(j)を求めることもできる。
=n個の分割データD(i)=D(1),D(2),…D(n)
第1の分割データD(1)
=n-1個の分割部分データD(1,j)=D(1,1),D(1,2),…D(1,n-1)
第2の分割データD(2)
=n-1個の分割部分データD(2,j)=D(2,1),D(2,2),…D(2,n-1)
… … …
… … …
第nの分割データD(n)
=n-1個の分割部分データD(n,j)=D(n,1),D(n,2),…D(n,n-1)
このように変数m=0の場合について分割データDを生成した後、次に変数mを1増やし(ステップS419)、ステップS411に戻り、変数m=1に該当する元データSのb×(n-1)ビット以降について同様の分割処理を行う。最後にステップS411の判定の結果、元データSにデータがなくなった場合、ステップS411からステップS421に進み、上述したように生成した分割データDを分割装置1のデータ送受信手段17からネットワーク3を介して保管サーバ7にそれぞれ送信し、各保管サーバ7に保管し、分割処理を終了する。図1では保管サーバは3個であるが、分割数に応じて保管サーバを増やし、各分割データを異なる保管サーバに保管することが望ましい。
D(2,1)=S(1)*R(1), D(2,2)=S(2)*R(2), …
D(3,1)=R(1), D(3,2)=R(2), …
D(1)について見ると、例えば、D(1,1)、D(1,2)が取得できると、
D(1,1)*D(1,2)=(S(1)*R(1)*R(2))*(S(2)*R(1)*R(2))
=S(1)*S(2)*((R(1)*R(1))*((R(2)*R(2))
=S(1)*S(2)*0*0
=S(1)*S(2)
となる。一般にはD(1,j)*D(1,j+1)=S(j)*S(j+1)である。ここでjはj=2×m+1、mはm≧0の任意の整数である。
の演算を行うことによりS(1)*S(2)が算出される。これは元データそのものではないが、乱数成分を含んでいない。
D(1,j)*D(1,j+1)=(S(j)*R(j)*R(j+1))*(S(j+1)*R(j+1))
=S(j)*S(j+1)*R(j)*((R(j+1)*R(j+1))
=S(j)*S(j+1)*R(j)*0
=S(j)*S(j+1)*R(j)
D(2,j)*D(2,j+1)=(S(j)*R(j))*(S(j+1)*R(j)*R(j+1))
=S(j)*S(j+1)*(R(j)*R(j))*R(j+1))
=S(j)*S(j+1)*0*R(j+1)
=S(j)*S(j+1)*R(j+1)
D(3,j)*D(3,j+1)=R(j)*R(j+1)
となるからである。
D(2,1)*D(3,1)=(S(1)*R(1)*R(2))*(S(1)*R(1))=R(2)
D(3,2)*D(1,2)=(S(2)*R(2)*R(3))*(S(2)*R(2))=R(3)
そして、次のようにして元データS(1)、S(2)、S(3)を求める。
D(1,2)*R(2)=(S(2)*R(2))*R(2)=S(2)
D(2,3)*R(3)=(S(3)*R(3))*R(3)=S(3)
以上により、元データS(1)、S(2)、S(3)が復元される。
D(3,2)*D(4,2)*D(4,3)=(S(2)*R(2)*R(3))*R(2)*R(3)=S(2)
D(2,3)*D(4,3)=(S(3)*R(3))*R(3)=S(3)
以上により、元データS(1)、S(2)、S(3)が復元される。この他、D(1)、D(2)、D(4)の組み合わせや、D(1)、D(3)、D(4)の組み合わせからも、同様にして元データS(j)を導くことができる。
3 ネットワーク
5 端末
7a,7b,7c 保管サーバ
11 分割データ生成手段
13 元データ復元手段
15 乱数発生手段
17 データ送受信手段
Claims (4)
- 元データを所望の処理単位ビット長に基づいて4以上の分割数の分割データに分割するデータ分割装置であって、
元データを処理単位ビット長毎に区分けして、複数の元部分データを生成する元部分データ生成手段と、
この複数の元部分データの各々に対応して、元データのビット長と同じまたはこれより短い長さの乱数から処理単位ビット長の複数の乱数部分データを生成する乱数生成手段と、
各分割データを構成する各分割部分データを元部分データと乱数部分データの排他的論理和によって処理単位ビット長毎に生成する分割部分データ生成手段と、
所望の分割数の分割データを複数の分割部分データから生成することにより、各分割データのみからでは元データを復元不能であるが、生成した分割データのうちの所定の個数の分割データから元データが復元可能であるようにする分割データ生成手段と、を有し、
前記分割部分データ生成手段は、いずれかの分割データのみを用いてそれを構成する分割部分データ間の排他的論理和を行うことによって乱数成分が失われないように、当該各分割部分データをそれぞれに対応する他の分割データにおける各分割部分データと入れ替えることを特徴とするデータ分割装置。 - 前記分割部分データ生成手段は、分割部分データの生成に際し、元データ、乱数、分割データ、分割数および処理単位ビット長をそれぞれS,R,D,nおよびbで表すとともに、変数としてi(=1〜n)およびj(=1〜n-1)を用いて複数(n-1)個の元部分データ、複数(n-1)個の乱数部分データ、複数(n)個の分割データおよび各分割データの複数(n-1)個の分割部分データのそれぞれのうちの1つをそれぞれS(j),R(j),D(i)およびD(i,j)で表わし、変数jを1からn-1まで変えて、各元部分データS(j)を元データSのb×(j-1)+1ビット目からbビット分のデータとして作成し、U[n,n]を
n×n行列でi行j列の値u(i,j)が
i+j≦n+1 のとき u(i,j)=1
i+j>n+1 のとき u(i,j)=0
である行列とし、P[n,n]をn×n行列でi行j列の値p(i,j)が
j=i+1 のとき p(i,j)=1
i=1,j=n のとき p(i,j)=1
上記以外のとき p(i,j)=0
である行列としたとき、c(j,i,k)を(n-1)×(n-1)行列であるU[n-1,n-1]×P[n-1,n-1]^(j-1)のi行k列の値と定義し、ただしU[n-1,n-1]×P[n-1,n-1]^(j-1)とは行列U[n-1,n-1]とj-1個のP[n-1,n-1]の積を表し、Q(j,i,k)をc(j,i,k)=1のとき、Q(j,i,k)=R(k)、c(j,i,k)=0のとき、Q(j,i,k)=0 と定義したとき、各分割部分データD(i,j)を、変数iを1からnまで変えながら各変数iにおいて変数jを1からn-1まで変え、排他的論理和の演算子*を用いて、i<nのとき、
D(i,j)=R(j)
として生成するものであって、当該各分割部分データのうちD(1,j)を削除することを特徴とする請求項1記載のデータ分割装置。 - データ分割装置が行う、元データを所望の処理単位ビット長に基づいて4以上の分割数の分割データに分割するデータ分割方法であって、
前記データ分割装置は、
元データを処理単位ビット長毎に区分けして、複数の元部分データを生成する元部分データ生成ステップと、
この複数の元部分データの各々に対応して、元データのビット長と同じまたはこれより短い長さの乱数から処理単位ビット長の複数の乱数部分データを生成する乱数生成ステップと、
各分割データを構成する各分割部分データを元部分データと乱数部分データの排他的論理和によって処理単位ビット長毎に生成する分割部分データ生成ステップと、
所望の分割数の分割データを複数の分割部分データから生成することにより、各分割データのみからでは元データを復元不能であるが、生成した分割データのうちの所定の個数の分割データから元データが復元可能であるようにする分割データ生成ステップと、
前記生成した各分割データを、各記憶部にそれぞれ保管するステップと、を行い、
前記分割部分データ生成ステップは、いずれかの分割データのみを用いてそれを構成する分割部分データ間の排他的論理和を行うことによって乱数成分が失われないように、当該各分割部分データをそれぞれに対応する他の分割データにおける各分割部分データと入れ替ること
ことを特徴とするデータ分割方法。 - 元データを所望の処理単位ビット長に基づいて4以上の分割数の分割データに分割するデータ分割用のコンピュータプログラムであって、
コンピュータを、
元データを処理単位ビット長毎に区分けして、複数の元部分データを生成する元部分データ生成手段、
この複数の元部分データの各々に対応して、元データのビット長と同じまたはこれより短い長さの乱数から処理単位ビット長の複数の乱数部分データを生成する乱数生成手段、
各分割データを構成する各分割部分データを元部分データと乱数部分データの排他的論理和によって処理単位ビット長毎に生成する分割部分データ生成手段、および、
所望の分割数の分割データを複数の分割部分データから生成することにより、各分割データのみからでは元データを復元不能であるが、生成した分割データのうちの所定の個数の分割データから元データが復元可能であるようにする分割データ生成手段、として機能させ、
前記分割部分データ生成手段は、いずれかの分割データのみを用いてそれを構成する分割部分データ間の排他的論理和を行うことによって乱数成分が失われないように、当該各分割部分データをそれぞれに対応する他の分割データにおける各分割部分データと入れ替えること
を特徴とするコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005223999A JP4789536B2 (ja) | 2005-08-02 | 2005-08-02 | データ分割装置、データ分割方法およびコンピュータプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005223999A JP4789536B2 (ja) | 2005-08-02 | 2005-08-02 | データ分割装置、データ分割方法およびコンピュータプログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2007041199A JP2007041199A (ja) | 2007-02-15 |
JP2007041199A5 JP2007041199A5 (ja) | 2008-06-05 |
JP4789536B2 true JP4789536B2 (ja) | 2011-10-12 |
Family
ID=37799251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005223999A Active JP4789536B2 (ja) | 2005-08-02 | 2005-08-02 | データ分割装置、データ分割方法およびコンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4789536B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5076539B2 (ja) * | 2007-02-16 | 2012-11-21 | 富士通株式会社 | 符号化装置および符号化方法 |
JP4999533B2 (ja) * | 2007-04-26 | 2012-08-15 | Kddi株式会社 | 分散情報生成装置、秘密情報復元装置、分散情報生成方法、秘密情報復元方法およびプログラム |
JP5134303B2 (ja) * | 2007-08-03 | 2013-01-30 | Kddi株式会社 | 分散情報生成装置、秘密情報復元装置、分散情報生成方法、秘密情報復元方法およびプログラム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3871996B2 (ja) * | 2002-10-25 | 2007-01-24 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | データ分割管理方法及びプログラム |
JP4610176B2 (ja) * | 2003-04-15 | 2011-01-12 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | データ原本性確保方法およびシステム、ならびにデータ原本性確保用プログラム |
JP4856909B2 (ja) * | 2005-08-05 | 2012-01-18 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | データ分割・復元システム、端末装置、データ分割・復元方法、およびコンピュータプログラム |
-
2005
- 2005-08-02 JP JP2005223999A patent/JP4789536B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2007041199A (ja) | 2007-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5194094B2 (ja) | データ分割方法、データ分割装置およびコンピュータプログラム | |
CN110337649B (zh) | 用于搜索模式未察觉的动态对称可搜索加密的方法和系统 | |
EP3058678B1 (en) | System and method for dynamic, non-interactive, and parallelizable searchable symmetric encryption | |
KR100363457B1 (ko) | 암호체계용매핑레퍼토리 | |
JP4610176B2 (ja) | データ原本性確保方法およびシステム、ならびにデータ原本性確保用プログラム | |
US7346160B2 (en) | Randomization-based encryption apparatus and method | |
JP4676695B2 (ja) | データ分割方法、データ分割装置およびコンピュータプログラム | |
EP2953052B1 (en) | Systems and methods for dynamic data storage | |
Sokouti et al. | Medical image encryption: an application for improved padding based GGH encryption algorithm | |
JP4539952B2 (ja) | 情報分散保管システム、その装置、プログラム及び記録媒体 | |
CN116488814A (zh) | 一种基于fpga的数据加密的安全计算方法 | |
JP5749368B2 (ja) | データ原本性確保方法およびシステム、ならびにデータ原本性確保用プログラム | |
CN114830210A (zh) | 秘密随机数生成系统、秘密计算装置、秘密随机数生成方法以及程序 | |
JP4789536B2 (ja) | データ分割装置、データ分割方法およびコンピュータプログラム | |
JP4856909B2 (ja) | データ分割・復元システム、端末装置、データ分割・復元方法、およびコンピュータプログラム | |
JP2006018850A (ja) | データ保管システム | |
JP6259295B2 (ja) | データ秘匿方法、データ秘匿装置、およびデータ秘匿プログラム | |
Vershinin et al. | Associative steganography of text messages | |
JP4619045B2 (ja) | データ秘匿装置、データ秘匿方法、及びデータ秘匿プログラム | |
JP4664008B2 (ja) | アクセス権管理システム、アクセス権管理装置、アクセス権管理方法、端末用プログラム、及びアクセス権管理プログラム | |
JP2005167794A (ja) | 秘密情報保管方法及び装置、秘密情報復元方法及び装置、秘密情報保管プログラム並びに秘密情報復元プログラム。 | |
JP6322314B2 (ja) | データ秘匿方法、データ秘匿装置、およびデータ秘匿プログラム | |
Kalaiselvi et al. | A Sheltered CARMA Algorithm Using Cosseted Articulate For Implication Data | |
WO2023243141A1 (ja) | 連合学習システム及び連合学習方法 | |
CN112966294A (zh) | 一种单轮交互的链表oram访问方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080421 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080421 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110322 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110519 |
|
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: 20110712 |
|
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: 20110719 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140729 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4789536 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |