CN103220455A - 秘密信息隐藏装置和方法、秘密信息还原装置和方法 - Google Patents

秘密信息隐藏装置和方法、秘密信息还原装置和方法 Download PDF

Info

Publication number
CN103220455A
CN103220455A CN2013100100397A CN201310010039A CN103220455A CN 103220455 A CN103220455 A CN 103220455A CN 2013100100397 A CN2013100100397 A CN 2013100100397A CN 201310010039 A CN201310010039 A CN 201310010039A CN 103220455 A CN103220455 A CN 103220455A
Authority
CN
China
Prior art keywords
data
secret
centerdot
deformation
value
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
CN2013100100397A
Other languages
English (en)
Other versions
CN103220455B (zh
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.)
University of Aizu
Original Assignee
University of Aizu
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
Priority claimed from JP2012227771A external-priority patent/JP5913041B2/ja
Application filed by University of Aizu filed Critical University of Aizu
Publication of CN103220455A publication Critical patent/CN103220455A/zh
Application granted granted Critical
Publication of CN103220455B publication Critical patent/CN103220455B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供一种秘密信息隐藏装置和方法、秘密信息还原装置和方法。利用基于变形的隐写将无法变形的数据作为秘密数据隐藏到载体数据中,对多个载体数据隐藏秘密数据或者将多个秘密数据同时隐藏到数量少于秘密数据的载体数据中。针对通过将秘密数据(m)隐藏到载体数据(c)中来生成隐秘对象(s)的隐写技术,应用根据参照数据、各参照数据的特征向量、各参照数据的贡献度以及秘密数据来生成变形数据的变形技术,来由计算单元(15)生成在参照数据中隐藏有秘密数据的隐秘对象或者从隐秘数据中还原出秘密数据。

Description

秘密信息隐藏装置和方法、秘密信息还原装置和方法
技术领域
本发明涉及一种基于变形的隐写技术(Steganography),更详细地说涉及一种如下的秘密信息隐藏装置、秘密信息还原装置、秘密信息隐藏方法以及秘密信息还原方法,对将秘密数据隐藏到载体数据中而生成隐秘对象的隐写技术应用根据参照数据、各参照数据的特征向量、各参照数据的贡献度及秘密数据生成变形数据的变形技术,由此能够生成隐藏有秘密数据的隐秘对象,或者从隐秘对象中还原出秘密数据。
背景技术
以往,已知一种通过利用隐写(隐写技术)来将秘密数据m(m∈M,m是message的简写,M是所有的秘密数据的集合)嵌入规定的载体数据c(c∈C,c是cover的简写,C意味着所有的载体数据的集合)的技术。当设将秘密数据m嵌入到载体数据c的函数(隐藏函数)为f时,f为下面的式(1)所示那样的函数。
s=f(c,m,[ks])    (1)
其中,s是隐秘对象(stego-object)且s∈C,ks是隐秘密钥(stego-key)。在式(1)中,用[]表示的要素是可选择的,并不是必须的。为了提高安全性,在以往的隐写中,使用图像数据作为载体数据c,并且将隐秘对象s设为在视觉上与载体数据c大致相同的图像数据,并需要避免再次使用已使用过一次的载体数据c。
对于被嵌入(隐藏)到隐秘对象s中的秘密数据m,能够使用载体数据c、隐秘对象s、隐秘密钥ks,通过提取函数(Extractionfunction)f-1来进行再现。即,能够通过下面的式(2)求出秘密数据m。
m=f-1([c],s,[ks])    (2)
此外,为了提高安全性,也能够将秘密数据m加密后隐藏(嵌入)到载体数据c中。
另一方面,提出了一种利用变形(变形技术)来将秘密数据嵌入到载体数据中的方法(隐藏方法)(例如参照专利文献1、非专利文献1)。
作为嵌入秘密数据的方法,能够利用使用图像数据的图像变形、使用音乐数据的音乐变形等。一般来说,能够通过下面的式(3)的关系式来表示变形。
I0=g(I1,I2,{F1,F2,a,1-a})    (3)
在该关系式(式(3))中,I1和I2分别是参照数据,F1和F2表示进行变形所需的参照数据I1和参照数据I2的特征向量。另外,a和1-a分别表示参照数据I1和参照数据I2的贡献度,I0表示作为变形结果的变形得到(生成)的数据。下面,将I0称为变形数据。
在图像变形的情况下,I0、I1、I2都是二维图像或三维图像。另外,在音乐变形的情况下,I0、I1、I2都是数列。在此,设I0、I1、I2是不失去一般性而具有Nd个要素的向量。另外,设特征向量是具有Nf个由特征点、特征线的位置(坐标)信息构成的要素的向量。
当使用这样定义的变形来将变形和隐写进行关联时,能够如下这样表示它们的关系。
秘密数据m=参照数据I1
载体数据c=参照数据I2
隐秘密钥Ks={F1,F2,a}
隐秘对象s=变形数据I0
这样,通过将变形与隐写进行关联,能够将参照数据I1作为秘密数据m隐藏到参照数据I2中(例如,参照专利文献2)。
当然,通过将秘密数据m设为参照数据I2、将载体数据c设为参照数据I1,也能够将I2隐藏到I1中。下面,为了使说明简单,作为一例,示出将I1隐藏到I2中的情况。将秘密数据m=I1嵌入到I2中的函数f能够如下这样实现。
[用于实现函数f的算法]
当将要输出的隐秘对象s设为变形数据I0、将求出该变形数据I0所需要的数据设为秘密数据m=I1、载体数据c=I2、隐秘密钥Ks={F1,F2,a}时,
输入:m=I1、c=I2、Ks={F1,F2,a}
输出:s=I0
通过下面三个步骤,能够求出进行秘密数据的隐藏所得到的变形数据。
·步骤1:利用式(4)求出变形数据I0的特征向量F0
F0p=aF1p+(1-a)F2p,p=1,2,...,Nf    (4)
其中,Fjp(j=0,1,2)表示Fj的第p个要素,a表示0<a<1的实数。
·步骤2:利用式(5)来对秘密数据和参照数据进行变形。
I j w = W ( I j , F j , F 0 ) , j=1,2    (5)
其中,Iw j(j=1、2)表示对Ij进行变形得到的数据,W表示扭曲(warping)函数。利用扭曲函数W对Ij(j=1,2)进行变形,从而生成Iw j(j=1,2)。Iw j(j=1,2)具有特征向量F0
·步骤3:通过式(6)求出变形数据I0
I 0 p = a I 1 p w + ( 1 - a ) I 2 p w , p=1,2,...,Nd    (6)
其中,I0p、Iw 1p、Iw 2p分别表示I0、Iw 1、Iw 2的第p个要素。
这样,经过步骤1~步骤3的过程,能够求出参照数据I1隐藏到参照数据I2中的数据,即变形数据I0
另一方面,也能够从变形数据I0中提取(还原、再现)出作为秘密数据的参照数据I1。用于从I0中提取(还原、再现)秘密数据m=I1的提取函数f-1能够如下这样实现。
[用于实现函数f-1的算法]
当将要输出的秘密数据m设为参照数据I1、设求出该参照数据I1所需的数据为隐秘对象s=变形数据I0、载体数据c=I2、隐秘密钥Ks={F1,F2,a}时,
输入:s=I0、c=I2、Ks={F1,F2,a}
输出:m=I1
通过下面的四个步骤,能够从变形数据I0中提取(还原、再现)出秘密数据m(参照数据I1)。
·步骤1:利用式(4)求出变形数据I0的特征向量F0
F0p=aF1p+(1-a)F2p,p=1,2,...,Nf    (4)
其中,Fjp(j=0、1、2)表示Fj的第p个要素,a表示0<a<1的实数。
·步骤2:利用式(5′)求出对载体数据进行变形得到的Iw 2
I 2 w = W ( I 2 , F 2 , F 0 ) - - - ( 5 &prime; )
其中,Iw 2表示对参照数据I2进行变形得到的数据,W表示扭曲(warping)函数。通过扭曲函数W对I2进行变形,从而生成Iw 2。Iw 2具有特征向量F0
·步骤3:利用式(7)求出对秘密数据I1进行变形得到的数据Iw 1
I 1 p w = ( I 0 p - ( 1 - a ) I 2 p w ) / a , p=1,2,...,Nd    (7)
·步骤4:利用式(8)提取(还原、再现)出秘密数据I1
I 1 = W ( I 1 w , F 0 , F 1 ) - - - ( 8 )
这样,通过将生成变形数据的技术应用于隐写,能够将参照数据I1(秘密数据)隐藏到参照数据I2(载体数据)中来生成变形数据I0(隐秘对象)。另外,能够从变形数据I0(隐秘对象)中提取(还原、再现)出参照数据I1(秘密数据)。
此外,在基于变形的隐写中,在变形数据I0(隐秘对象s)是图像数据、音乐数据等的情况下,只要图像数据、音乐数据“自然”即可,并不必须使其在视觉或听觉上与载体数据I2一致。因而,通过利用基于变形的隐写,能够隐藏数据量大的秘密数据(参照数据I1)。
另外,为了实现扭曲函数W,考虑了各种方法。例如,即使在仅进行图像变形的情况下,也能够使用区域扭曲(fieldwarping)、网格扭曲(mesh warping)等方法。在基于变形的隐写中,不限定扭曲函数W的实现方法,只要是能够求出自然的变形数据的方法,则可以采用任意的方法。
专利文献1:日本特开2007-219230号公报
专利文献2:日本特开2009-171116号公报
非专利文献1:近藤聡、趙強福、高木英行、「モ一フイング技術を用いた情報隠蔽手法」、電子情報通信学会技術研究報告、電子情報通信学会、2006年2月13日、Vol.105、No.608、pp.145-150
发明内容
发明要解决的问题
但是,如上所述,在基于变形的隐写中,需要秘密数据是能够变形的数据。因此,例如在不符合图像数据、音乐数据的单纯的数值数据等的情况下,难以直接利用上述的基于变形的隐写。
并且,在上述的基于变形的隐写中,通过基于变形的隐写来对一个参照数据I2(载体数据)隐藏一个参照数据I1(秘密数据),但是为了提高安全性,期望并不是仅使用一个参照数据作为载体数据,而是使用多个参照数据作为载体数据来隐藏秘密数据。
并且,也要求秘密数据并不限定于一种,而是将多种秘密要素隐藏到同一载体数据中。
并且,在根据现有的变形将秘密数据隐藏到图像数据的情况下,有可能隐藏后的图像数据(隐秘对象)变为不自然的图像。不自然的图像数据通常容易引起第三者注意而存在被破坏的可能性变高这种问题。
本发明是鉴于这样的问题而完成的,提供如下一种秘密信息隐藏装置、秘密信息还原装置、秘密信息隐藏方法以及秘密信息还原方法:作为第一课题,能够通过基于变形的隐写来将无法变形的秘密数据隐藏到载体数据中,作为第二课题,能够在基于变形的隐写中使用多个载体数据来隐藏秘密数据,作为第三课题,能够在基于变形的隐写中将多种秘密要素隐藏到同一载体数据中,作为第四课题,以即使隐藏秘密数据隐秘对象也不会变得不自然的方式进行秘密数据的隐藏。
用于解决问题的方案
为了解决上述问题,本发明所涉及的秘密信息隐藏装置对隐写技术应用变形技术来生成隐藏了秘密数据的隐秘对象s,该隐写技术为通过将秘密数据m隐藏到载体数据c中来生成隐秘对象s,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn、各个参照数据I1~In的贡献度a1~an、用相同方式将不同种类的秘密要素数值化而得到的ν个秘密数据m1~mν以及缩放因子A来生成变形数据,其中,ν>n,
该秘密信息隐藏装置的特征在于,具有:
F0生成单元,将秘密数据{m1,m2,…,mν}设定为秘密数据m,将参照数据{I1,I2,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}、贡献度{a1,a2,…,an}、缩放因子A以及秘密数据的个数ν设定为隐秘密钥ks
该F0生成单元利用
F 0 p = &Sigma; j = 1 n a j F jp , p=1,2,...,Nf
来求出变形数据的特征向量F0
数据变形单元,其利用
I j w = W ( I j , F j , F 0 ) , j=1,2,...,n
来求出对各参照数据Ij进行变形而得到的数据Iw j
实质载体数据生成单元,其根据
I 0 p 0 = &Sigma; j = 1 n a j I jp w , p=1,2,...,Nd
来求出隐藏秘密数据之前的变形数据I0 0;以及
隐秘对象生成单元,其根据
xq=mq×A,q=1,2,...,v
来对秘密数据mq进行缩放,其中,q=1,2,…,ν,
在将p的值设定为1、将q的值设定为1、将s的值设定为I0 0而进行了变量p、q以及s的初始化之后,
判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2
在不存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,使p的值增加1,并重复执行是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的判断,
在存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,根据相应的j1和j2,利用
s p = I 0 p 0 + x q ( I j 1 , p w - I j 2 , p w )
求出隐秘对象sp,使p的值增加1,并且使q的值增加1,
之后,判断是否满足q<ν,
在满足q<ν的情况下,转移到上述判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的处理,重复执行该判断处理直到变成q≥ν为止,
由此生成隐藏了ν个秘密数据m的隐秘对象s。
另外,本发明所涉及的秘密信息隐藏装置的秘密信息隐藏方法对隐写技术应用变形技术来生成隐藏了秘密数据的隐秘对象s,该隐写技术为通过将秘密数据m隐藏到载体数据c中来生成隐秘对象s,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn、各个参照数据I1~In的贡献度a1~an、以相同形式将不同种类的秘密要素数值化而得到的ν个秘密数据m1~mν以及缩放因子A来生成变形数据,其中,ν>n,
在该秘密信息隐藏方法的特征在于,通过执行以下步骤生成隐藏了ν个秘密数据m的隐秘对象s,
将秘密数据{m1,m2,…,mν}设定为秘密数据m,将参照数据{I1,I2,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}、贡献度{a1,a2,…,an}、缩放因子A以及秘密数据的个数ν设定为隐秘密钥ks
由上述秘密信息隐藏装置的计算单元利用
F 0 p = &Sigma; j = 1 n a j F jp , p=1,2,...,Nf
来求出变形数据的特征向量F0,利用
I j w = W ( I j , F j , F 0 ) , j=1,2,...,n
来求出对各参照数据Ij进行变形而得到的数据Iw j,根据
I 0 p 0 = &Sigma; j = 1 n a j I jp w , p=1,2,...,Nd
来求出隐藏秘密数据之前的变形数据I0 0,根据
xq=mq×A,q=1,2,...,v
来对秘密数据mq进行缩放,其中,q=1,2,…,ν,
在将p的值设定为1、将q的值设定为1、将s的值设定为I0 0而进行了变量p、q以及s的初始化之后,
判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2
在不存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,使p的值增加1,并重复执行是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的判断,
在存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,根据相应的j1和j2,利用
s p = I 0 p 0 + x q ( I j 1 , p w - I j 2 , p w )
求出隐秘对象sp,使p的值增加1,并且使q的值增加1,
之后,判断是否满足q<ν,
在满足q<ν的情况下,转移到上述判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的处理,重复执行该判断处理直到变成q≥ν为止。
其中,j=0,1,…,n,Fjp表示Fj的第p个要素。Iw j表示Ij的变形,W表示扭曲函数,通过扭曲函数W将Ij变形而生成Iw j,Iw j具有特征向量F0。另外,sp、I0 0p、Iw 1p、…、Iw np分别表示s、I0 0、Iw 1、…、Iw n的第p个要素。并且,j1和j2是满足1≤j1<j2≤n的自然数,贡献度aj的值被预先进行归一化,贡献度之和的值满足a1+a2+…+an=1,将缩放因子A设为小于1的正实数。
通过使用本发明所涉及的秘密信息隐藏装置以及秘密信息隐藏方法,如果用相同方式的数值(例如,没有附图标记的8位的整数)来表现不同种类的秘密要素,则能够利用基于变形的隐写来将秘密数据隐藏到参照数据中。
并且,本发明所涉及的秘密信息还原装置对隐写技术应用变形技术来从隐秘对象s中还原出秘密数据,该隐写技术为从将秘密数据m隐藏到载体数据c而得到的隐秘对象s中提取出秘密数据m,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn、各个参照数据I1~In的贡献度a1~an、ν个秘密数据m1~mν以及缩放因子A来生成变形数据,其中,ν>n,
该秘密信息还原装置的特征在于,具有:
F0生成单元,将参照数据{I1,I2,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}、贡献度{a1,a2,…,an}、缩放因子A以及秘密数据的个数ν设定为隐秘密钥ks,将提取出的秘密数据m设为秘密数据{m1,m2,…,mν},
该F0生成单元利用
F 0 p = &Sigma; j = 1 n a j F jp , p=1,2,...,Nf
来求出变形数据的特征向量F0
数据变形单元,其利用
I j w = W ( I j , F j , F 0 ) , j=1,2,...,n
来求出对各参照数据Ij进行变形而得到的数据Iw j
实质载体数据生成单元,其根据
I 0 p 0 = &Sigma; j = 1 n a j I jp w , p=1,2,...,Nd
来求出隐藏秘密数据之前的变形数据I0 0;以及
秘密数据再现单元,其在将p的值设定为1、将q的值设定为1而进行了变量p及q的初始化之后,
判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2
在不存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,使p的值增加1,并重复执行是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的判断,
在存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,根据相应的j1和j2,利用
x q = s p - I 0 p 0 &Delta; p ( j 1 , j 2 )
来求出被缩放的秘密数据xq,使p的值增加1并且使q的值增加1,
之后,判断是否满足q<ν,
在满足q<ν的情况下,转移到上述判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的处理并重复执行该判断处理直到变成q≥ν为止,
在不满足q<ν的情况下,根据
mi=xi/A,i=1,2,...,v
来提取ν个秘密数据mi
由此提取出隐藏在隐秘对象s中的ν个秘密数据m。
另外,本发明所涉及的秘密信息还原装置的秘密信息还原方法对隐写技术应用变形技术来从隐秘对象s中还原出秘密数据,该隐写技术为从将秘密数据m隐藏到载体数据c而得到的隐秘对象s中提取出秘密数据m,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn、各个参照数据I1~In的贡献度a1~an、ν个秘密数据m1~mν以及缩放因子A来生成变形数据,其中,ν>n,
该秘密信息还原方法的特征在于,通过执行以下步骤提取出隐藏在隐秘对象s中的ν个秘密数据m,
将参照数据{I1,I2,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}、贡献度{a1,a2,…,an}、缩放因子A以及秘密数据的个数ν设定为隐秘密钥ks,将提取出的秘密数据m设为秘密数据{m1,m2,…,mν},
由上述秘密信息还原装置的计算单元利用
F 0 p = &Sigma; j = 1 n a j F jp , p=1,2,...,Nf
来求出变形数据的特征向量F0,利用
I j w = W ( I j , F j , F 0 ) , j=1,2,...,n
来求出对各参照数据Ij进行变形而得到的数据Iw j,根据
I 0 p 0 = &Sigma; j = 1 n a j I jp w , p=1,2,...,Nd
来求出隐藏秘密数据之前的变形数据I0 0
在将p的值设定为1、将q的值设定为1而进行了变量p及q的初始化之后,
判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2
在不存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,使p的值增加1,并重复执行是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的判断,
在存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,根据相应的j1和j2,利用
x q = s p - I 0 p 0 &Delta; p ( j 1 , j 2 )
来求出被缩放的秘密数据xq,使p的值增加1并且使q的值增加1,
之后,判断是否满足q<ν,
在满足q<ν的情况下,转移到上述判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的处理并重复执行该判断处理直到变成q≥ν为止,
在不满足q<ν的情况下,根据
mi=xi/A,i=1,2,...,v
来提取ν个秘密数据mi
其中,j=0,1,…,n,i=1,2,…,v,Fjp表示Fj的第p个要素。Iw j表示Ij的变形,W表示扭曲函数,通过扭曲函数W将Ij变形而生成Iw j,Iw j具有特征向量F0。另外,sp、I0 0p、Iw 1p、…、Iw np分别表示s、I0 0、Iw 1、…、Iw n的第p个要素。并且,j1和j2是满足1≤j1<j2≤n的自然数,贡献度aj的值被预先进行归一化,贡献度之和的值满足a1+an+…+an=1,将缩放因子A设为小于1的正实数。
通过使用本发明所涉及的秘密信息还原装置以及秘密信息还原方法,能够利用基于变形的隐写从隐藏了用相同方式的数值(例如,没有附图标记的8位的整数)来表现的不同种类的秘密要素的变形数据中提取(还原、再现)出秘密数据。
并且,本发明所涉及的秘密信息隐藏装置对隐写技术应用变形技术来生成隐藏了秘密数据的隐秘对象s,该隐写技术为通过将秘密数据m隐藏到载体数据c中来生成隐秘对象s,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn、用数值表现的n个数据m1~mn来生成变形数据I0、变形数据I0的特征向量F0以及缩放因子A,
该秘密信息隐藏装置的特征在于,具有:
缩放因子计算单元,将用数值表现的数据{m1,m2,…,mn}设定为秘密数据m,将参照数据{I1,I2,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}设定为隐秘密钥ks,将生成的隐秘对象s设为变形数据I0,将变形数据I0的特征向量设为F0,将缩放因子设为A,
该缩放因子计算单元根据
A = 1 / &Sigma; i = 1 n m i
来求出缩放因子A;
贡献度计算单元,其按照
ai=mi×A i=1,2,...,n
来根据秘密数据mi决定各参照数据Ii的贡献度ai
F0生成单元,其根据
F 0 p = &Sigma; j = 1 n a j F jp , p=1,2,...,Nf
来求出变形数据I0的特征向量F0
数据变形单元,其根据
I j w = W ( I j , F j , F 0 ) , j=1,2,...,n
来求出对各参照数据Ij进行变形而得到的数据Iw j;以及
变形数据生成单元,其根据
I 0 p = &Sigma; j = 1 n a j I jp w , p=1,2,...,Nd
来求出变形数据I0,由此生成在参照数据中隐藏了用数值表现的数据的变形数据。
另外,本发明所涉及的秘密信息隐藏装置的秘密信息隐藏方法对隐写技术应用变形技术来生成隐藏了秘密数据的隐秘对象s,该隐写技术为通过将秘密数据m隐藏到载体数据c中来生成隐秘对象s,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn、用数值表现的n个数据m1~mn来生成变形数据I0、变形数据I0的特征向量F0以及缩放因子A,
该秘密信息隐藏方法的特征在于,通过执行以下步骤生成将用数值表现的数据隐藏到参照数据中的变形数据,
将用数值表现的数据{m1,m2,…,mn}设定为秘密数据m,将参照数据{I1,I2,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}设定为隐秘密钥ks,将生成的隐秘对象s设为变形数据I0,将变形数据I0的特征向量设为F0,将缩放因子设为A,
由上述秘密信息隐藏装置的计算单元根据
A = 1 / &Sigma; i = 1 n m i
来求出缩放因子A,按照
ai=mi×A,i=1,2,...,n
来根据秘密数据mi决定各参照数据Ii的贡献度ai,根据
F 0 p = &Sigma; j = 1 n a j F jp , p=1,2,...,Nf
来求出变形数据I0的特征向量F0,根据
I j w = W ( I j , F j , F 0 ) , j=1,2,...,n
来求出对各参照数据Ij进行变形而得到的数据Iw j,根据
I 0 p = &Sigma; j = 1 n a j I jp w , p=1,2,...,Nd
来求出变形数据I0
其中,j=0,1,…,n,Fjp表示Fj的第p个要素。Iw j表示Ij的变形,W表示扭曲函数,通过扭曲函数W将Ij变形而生成Iw j,Iw j具有特征向量F0。另外,I0p、Iw 1p、…、Iw np分别表示I0、Iw 1、…、Iw n的第p个要素。并且,将缩放因子A设为小于1的正实数。
通过使用本发明所涉及的秘密信息隐藏装置以及秘密信息隐藏方法,能够将用数值表现的多个秘密数据{m1,m2,…,mn}隐藏到多个载体数据{I1,I2,I3,…,In}中。另外,秘密数据并不必须能够变形。
并且,本发明所涉及的秘密信息还原装置对隐写技术应用变形技术来从隐秘对象s中还原出秘密数据,该隐写技术为从将秘密数据m隐藏到载体数据c而得到的隐秘对象s中提取出秘密数据m,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn以及用数值表现的n个数据m1~mn来生成变形数据I0、变形数据I0的特征向量F0以及缩放因子A,
该秘密信息还原装置的特征在于,具有:
数据变形单元,将变形数据I0设定为隐秘对象s,将参照数据{I1,I2,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}设定为隐秘密钥ks,将提取出的秘密数据m设为用数值表现的n个数据{m1,m2,…,mn},将变形数据I0的特征向量设为F0,将缩放因子设为A,
该数据变形单元根据
I j w = W ( I j , F j , F 0 ) , j=1,2,...,n
来求出对各参照数据Ij进行变形而得到的数据Iw j
贡献度计算单元,其根据
F 0 p = &Sigma; j = 1 n a j F jp , p=1,2,...,Nf
I 0 p = &Sigma; j = 1 n a j I jp w , p=1,2,...,Nd
这两个式子来求出联立方程式的解,从而求出各参照数据Ij的贡献度aj;以及
秘密数据再现单元,其根据求出的该贡献度aj,利用
mj=aj/A,j=1,2,...,n
来提取秘密数据mj,由此从变形数据中提取出隐藏在参照数据中的秘密数据。
另外,本发明所涉及的秘密信息还原装置的秘密信息还原方法对隐写技术应用变形技术来从隐秘对象s中还原出秘密数据,该隐写技术为从将秘密数据m隐藏到载体数据c而得到的隐秘对象s中提取出秘密数据m,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn以及用数值表现的n个数据m1~mn来生成变形数据I0、变形数据I0的特征向量F0以及缩放因子A,
该秘密信息还原方法的特征在于,通过执行以下步骤从变形数据中提取出隐藏在参照数据中的秘密数据,
将变形数据I0设定为隐秘对象s,将参照数据{I1,I2,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}设定为隐秘密钥ks,将提取出的秘密数据m设为用数值表现的n个数据{m1,m2,…,mn},将变形数据I0的特征向量设为F0,将缩放因子设为A,
由上述秘密信息还原装置的计算单元根据
I j w = W ( I j , F j , F 0 ) , j=1,2,...,n
来求出对各参照数据Ij进行变形而得到的数据Iw j,根据
F 0 p = &Sigma; j = 1 n a j F jp , p=1,2,...,Nf
I 0 p = &Sigma; j = 1 n a j I jp w , p=1,2,...,Nd
这两个式子来求出联立方程式的解,从而求出各参照数据Ij的贡献度aj
根据求出的该贡献度aj,利用
mj=aj/A,j=1,2,...,n
来提取秘密数据mj
其中,j=0,1,…,n,Fjp表示Fj的第p个要素。Iw j表示Ij的变形,W表示扭曲函数,通过扭曲函数W将Ij变形而生成Iw j,Iw j具有特征向量F0。另外,I0p、Iw 1p、…、Iw np分别表示I0、Iw 1、…、Iw n的第p个要素。并且,将缩放因子A设为小于1的正实数。
通过使用本发明所涉及的秘密信息还原装置以及秘密信息还原方法,能够从变形数据中提取出隐藏在参照数据中的用数值表现的数据。另外,所提取出的数据是利用多个载体数据进行隐藏的秘密数据,因此能够提高秘密数据的安全性。
并且,本发明所涉及的秘密信息隐藏装置对隐写技术应用变形技术来生成隐藏了秘密数据的隐秘对象s,该隐写技术为通过将秘密数据m隐藏到载体数据c中来生成隐秘对象s,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn以及各个参照数据I1~In的贡献度a1~an来生成变形数据I0,其中n≥3,
该秘密信息隐藏装置的特征在于,具有:
F0生成单元,将参照数据I1设定为秘密数据m,将参照数据{I2,I3,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}和贡献度{a1,a2,…,an}设定为隐秘密钥ks,将生成的隐秘对象s设为变形数据I0
该F0生成单元根据
F 0 p = &Sigma; j = 1 n a j F jp , p=1,2,...,Nf
来求出变形数据I0的特征向量F0
数据变形单元,其根据
I j w = W ( I j , F j , F 0 ) , j=1,2,...,n
来将秘密数据和参照数据变形,从而求出Iw j;以及
I0生成单元,其根据
I 0 p = &Sigma; j = 1 n a j I jp w , p=1,2,...,Nd
来求出作为隐秘对象的变形数据I0,由此在3个以上的多个参照数据中隐藏秘密数据。
另外,本发明所涉及的秘密信息隐藏装置的秘密信息隐藏方法对隐写技术应用变形技术来生成隐藏了秘密数据的隐秘对象s,该隐写技术为通过将秘密数据m隐藏到载体数据c中来生成隐秘对象s,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn以及各个参照数据I1~In的贡献度a1~an来生成变形数据I0,其中,n≥3,
该秘密信息隐藏方法的特征在于,通过执行以下步骤来针对三个以上的多个参照数据隐藏秘密数据,
将参照数据I1设定为秘密数据m,将参照数据{I2,I3,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}和贡献度{a1,a2,…,an}设定为隐秘密钥ks,将生成的隐秘对象s设为变形数据I0
由上述秘密信息隐藏装置的计算单元根据
F 0 p = &Sigma; j = 1 n a j F jp , p=1,2,...,Nf
来求出变形数据I0的特征向量F0,根据
I j w = W ( I j , F j , F 0 ) , j=1,2,...,n
来将秘密数据和参照数据变形,从而求出Iw j,根据
I 0 p = &Sigma; j = 1 n a j I jp w , p=1,2,...,Nd
来求出作为隐秘对象的变形数据I0
其中,j=0,1,…,n,Fjp表示Fj的第p个要素。Iw j表示Ij的变形,W表示扭曲函数,通过扭曲函数W将Ij变形而生成Iw j,Iw j具有特征向量F0。另外,I0p、Iw 1p、…、Iw np分别表示I0、Iw 1、…、Iw n的第p个要素。并且,设贡献度之和的值满足a1+a2+…+an=1。
通过使用本发明所涉及的秘密信息隐藏装置以及秘密信息隐藏方法,能够将秘密数据I1隐藏到多个(n-1个)载体数据{I2,I3,…,In}中。
并且,本发明所涉及的秘密信息还原装置对隐写技术应用变形技术来从隐秘对象s中还原出秘密数据,该隐写技术为从将秘密数据m隐藏到载体数据c而得到的隐秘对象s中提取出秘密数据m,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn以及各个参照数据I1~In的贡献度a1~an来生成变形数据I0,其中,n≥3,
该秘密信息还原装置的特征在于,具有:
F0生成单元,将变形数据I0设定为隐秘对象s,将参照数据{I2,I3,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}和贡献度{a1,a2,…,an}设定为隐秘密钥ks,将提取出的秘密数据m设为参照数据I1
该F0生成单元根据
F 0 p = &Sigma; j = 1 n a j F jp , p=1,2,...,Nf
来求出变形数据I0的特征向量F0
数据变形单元,其根据
I j w = W ( I j , F j , F 0 ) , j=2,3,...,n
来求出对各参照数据Ij进行变形而得到的数据Iw j;以及
秘密数据再现单元,其根据
I 1 p w = ( I 0 p - &Sigma; j = 2 n a j I jp w ) / a 1 , p=1,2,...,Nd
来求出将秘密数据I1变形得到的数据Iw 1,根据
I 1 = W ( I 1 w , F 0 , F 1 )
来提取秘密数据I1,由此提取出隐藏在多个参照数据中的秘密数据。
另外,本发明所涉及的秘密信息还原装置的秘密信息还原方法对隐写技术应用变形技术来从隐秘对象s中还原出秘密数据,该隐写技术为从将秘密数据m隐藏到载体数据c而得到的隐秘对象s中提取出秘密数据m,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn以及各个参照数据I1~In的贡献度a1~an来生成变形数据I0,其中,n≥3,
该秘密信息还原方法的特征在于,通过执行以下步骤提取出隐藏到多个参照数据的秘密数据,
将变形数据I0设定为隐秘对象s,将参照数据{I2,I3,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}和贡献度{a1,a2,…,an}设定为隐秘密钥ks,将提取出的秘密数据m设为参照数据I1
由上述秘密信息还原装置的计算单元根据
F 0 p = &Sigma; j = 1 n a j F jp , p=1,2,...,Nf
来求出变形数据I0的特征向量F0,根据
I j w = W ( I j , F j , F 0 ) , j=2,3,...,n
来求出对各参照数据Ij进行变形而得到的数据Iw j,根据
I 1 p w = ( I 0 p - &Sigma; j = 2 n a j I jp w ) / a 1 , p=1,2,...,Nd
来求出将秘密数据I1变形得到的数据Iw 1,根据
I 1 = W ( I 1 w , F 0 , F 1 )
来提取秘密数据I1
其中,j=0,1,…,n,Fjp表示Fj的第p个要素。Iw j表示Ij的变形,W表示扭曲函数,通过扭曲函数W将Ij变形而生成Iw j,Iw j具有特征向量F0。另外,I0p、Iw 1p、…、Iw np分别表示I0、Iw 1、…、Iw n的第p个要素。并且,设贡献度之和的值满足a1+a2+…+an=1。
通过使用本发明所涉及的秘密信息还原装置以及秘密信息还原方法,能够从变形数据I0中提取(再现)出秘密数据I1。在此,秘密数据I1是被隐藏在多个(n-1个)参照数据{I2,I3,…,In}中的数据,因此变形数据I0是将多个参照数据进行变形(morphing)而得到的数据。因此,与利用两个参照数据来进行基于变形的隐写的情况相比,能够提高被隐藏的秘密数据的安全性。
本发明的秘密信息隐藏装置对隐写技术应用变形技术来生成隐藏了秘密数据的隐秘对象s,该隐写技术为通过将秘密数据m隐藏到载体数据c中来生成隐秘对象s,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn、各个参照数据I1~In的贡献度a1~an以及ν个秘密数据m1~mν来生成变形数据,
该秘密信息隐藏装置的特征在于,具有:
F0生成单元,将秘密数据{m1,m2,…,mν}设定为秘密数据m,将参照数据{I1,I2,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}和贡献度{a1,a2,…,an}设定为隐秘密钥ks
该F0生成单元利用
F 0 p = &Sigma; j = 1 n a j F jp , p=1,2,...,Nf
来求出变形数据的特征向量F0
数据变形单元,其利用
I j w = W ( I j , F j , F 0 ) , j=1,2,...,n
来求出对各参照数据Ij进行变形而得到的数据Iw j
实质载体数据生成单元,其根据
I 0 p 0 = &Sigma; j = 1 n a j I jp w , p=1,2,...,Nd
来求出隐藏秘密数据之前的变形数据I0 0;以及
隐秘对象生成单元,其在将p的值设定为1、将q的值设定为1、将s的值设定为I0 0而进行了变量p、q以及s的初始化之后,
判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2
在不存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,使p的值增加1,并重复执行是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的判断,
在存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,根据相应的j1和j2,利用
sp=MSB(I0 0p)+mq
求出隐秘对象sp,使p的值增加1,并且使q的值增加1,
之后,判断是否满足q<ν,
在满足q<ν的情况下,转移到上述判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的处理,重复执行该判断处理直到变成q≥ν为止,
由此生成隐藏了ν个秘密数据的隐秘对象s。
另外,本发明的秘密信息隐藏装置的秘密信息隐藏方法对隐写技术应用变形技术来生成隐藏了秘密数据的隐秘对象s,该隐写技术为通过将秘密数据m隐藏到载体数据c中来生成隐秘对象s,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn、各个参照数据I1~In的贡献度a1~an以及ν个秘密数据m1~mν来生成变形数据,
该秘密信息隐藏方法的特征在于,通过执行以下步骤生成隐藏了ν个秘密数据的隐秘对象s,
将秘密数据{m1,m2,…,mν}设定为秘密数据m,将参照数据{I1,I2,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}和贡献度{a1,a2,…,an}设定为隐秘密钥ks
由上述秘密信息隐藏装置的计算单元利用
F 0 p = &Sigma; j = 1 n a j F jp , p=1,2,...,Nf
来求出变形数据的特征向量F0,利用
I j w = W ( I j , F j , F 0 ) , j=1,2,...,n
来求出对各参照数据Ij进行变形而得到的数据Iw j,根据
I 0 p 0 = &Sigma; j = 1 n a j I jp w , p=1,2,...,Nd
来求出隐藏秘密数据之前的变形数据I0 0
在将p的值设定为1、将q的值设定为1、将s的值设定为I0 0而进行了变量p、q以及s的初始化之后,
判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2
在不存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,使p的值增加1,并重复执行是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的判断,
在存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,根据相应的j1和j2,利用
sp=MSB(I0 0p)+mq
求出隐秘对象sp,使p的值增加1,并且使q的值增加1,
之后,判断是否满足q<ν,
在满足q<ν的情况下,转移到上述判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的处理,重复执行该判断处理直到变成q≥ν为止。
其中,j=0,1,…,n,Fjp表示Fj的第p个要素。Iw j表示Ij的变形,W表示扭曲函数,通过扭曲函数W将Ij变形而生成Iw j,Iw j具有特征向量F0。另外,sp、I0 0p、Iw 1p、…、Iw np分别表示s、I0 0、Iw 1、…、Iw n的第p个要素。并且,j1和j2是满足1≤j1<j2≤n的自然数,贡献度aj的值被预先进行归一化,贡献度之和的值满足a1+a2+…+an=1。并且秘密数据mq为b位的数据,I0 0p为B位的数据,MSB(I0 0p)是指取I0 0p中的上位的B-b位的数据的函数,q=1,2,…,ν。
通过使用本发明所涉及的秘密信息隐藏装置以及秘密信息隐藏方法,秘密数据不是随着变形处理而隐藏到变形数据中,而是在通过变形处理生成变形数据之后,将秘密数据隐藏到变形数据中,因此秘密数据本身不是变形处理的对象。因此,隐藏了秘密数据的隐秘对象即使隐藏了秘密数据也不容易产生不自然性。因而,即使第三者看到隐秘对象,也难以察觉隐藏了秘密数据,从而能够降低成为破坏对象的可能性。
通过使用本发明所涉及的秘密信息隐藏装置以及秘密信息隐藏方法,能够在使Δp(j1,j2)≠0的p时将秘密数据隐藏到变形数据I0 0的最下位的b位。因此,第三者至少不容易判断在哪个位置处隐藏了秘密数据,从而能够提高秘密数据的安全性。
另外,本发明所涉及的秘密信息还原装置对隐写技术应用变形技术来从隐秘对象s中还原出秘密数据,该隐写技术为从将秘密数据m隐藏到载体数据c而得到的隐秘对象s中提取出秘密数据m,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn、各个参照数据I1~In的贡献度a1~an以及ν个秘密数据m1~mν来生成变形数据,其中,ν>n,
该秘密信息还原装置的特征在于,具有:
F0生成单元,将参照数据{I1,I2,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}和贡献度{a1,a2,…,an}设定为隐秘密钥ks,将提取出的秘密数据m设为秘密数据{m1,m2,…,mν},
该F0生成单元利用
F 0 p = &Sigma; j = 1 n a j F jp , p=1,2,...,Nf
来求出变形数据的特征向量F0
数据变形单元,其利用
I j w = W ( I j , F j , F 0 ) , j=1,2,...,n
来求出对各参照数据Ij进行变形而得到的数据Iw j;以及
秘密数据再现单元,其在将p的值设定为1、将q的值设定为1而进行了变量p及q的初始化之后,
判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2
在不存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,使p的值增加1,并重复执行是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的判断,
在存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,根据相应的j1和j2,利用
mq=sp-MSB(sp)
来求出秘密数据mq,使p的值增加1并且使q的值增加1,
之后,判断是否满足q<ν,
在满足q<ν的情况下,转移到上述判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的处理并重复执行该判断处理直到变成q≥ν为止,
由此提取出隐藏在隐秘对象中的ν个秘密数据。
另外,本发明所涉及的秘密信息还原装置的秘密信息还原方法对隐写技术应用变形技术来从隐秘对象s中还原出秘密数据,该隐写技术为从将秘密数据m隐藏到载体数据c而得到的隐秘对象s中提取出秘密数据m,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn、各个参照数据I1~In的贡献度a1~an以及ν个秘密数据m1~mν来生成变形数据,其中,ν>n,
该秘密信息还原方法的特征在于,通过执行以下步骤提取出隐藏在隐秘对象中的ν个秘密数据,
将参照数据{I1,I2,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}和贡献度{a1,a2,…,an}设定为隐秘密钥ks,将提取出的秘密数据m设为秘密数据{m1,m2,…,mν},
由上述秘密信息还原装置的计算单元利用
F 0 p = &Sigma; j = 1 n a j F jp , p=1,2,...,Nf
来求出变形数据的特征向量F0,利用
I j w = W ( I j , F j , F 0 ) , j=1,2,...,n
来求出对各参照数据Ij进行变形而得到的数据Iw j
在将p的值设定为1、将q的值设定为1而进行了变量p及q的初始化之后,
判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2
在不存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,使p的值增加1,并重复执行是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的判断,
在存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,根据相应的j1和j2,利用
mq=sp-MSB(sp)
来求出秘密数据mq,使p的值增加1并且使q的值增加1,
之后,判断是否满足q<ν,
在满足q<ν的情况下,转移到上述判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的处理并重复执行该判断处理直到变成q≥ν为止。
其中,j=0,1,…,n,Fjp表示Fj的第p个要素。Iw j表示Ij的变形,W表示扭曲函数,通过扭曲函数W将Ij变形而生成Iw j,Iw j具有特征向量F0。另外,sp、I0 0p、Iw 1p、…、Iw np分别表示s、I0 0、Iw 1、…、Iw n的第p个要素。并且,j1和j2是满足1≤j1<j2≤n的自然数,贡献度aj的值被预先进行归一化,贡献度之和的值满足a1+an+…+an=1。并且秘密数据mq为b位的数据,sp为B位的数据,MSB(sp)是指取sp中的上位的B-b位的数据的函数,q=1,2,…,ν。
通过使用本发明所涉及的秘密信息还原装置以及秘密信息还原方法,从隐藏了多个秘密数据的隐秘对象s中求出秘密数据的隐藏位置,能够进行秘密数据的提取。具体地说,需要使用载体数据和隐秘密钥来求出Iw j1,p和Iw j2,p,求出使Δp(j1,j2)=(Iw j1, p-Iw j2,p)≠0的p,因此即使获取隐秘对象s,也无法提取出秘密数据m,从而能够提高秘密数据m的安全性。
另外,本发明所涉及的秘密信息隐藏装置对隐写技术应用变形技术来生成隐藏了秘密数据的隐秘对象s,该隐写技术为通过将秘密数据m隐藏到载体数据c中来生成隐秘对象s,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn、各个参照数据I1~In的贡献度a1~an以及ν个秘密数据m1~mν来生成变形数据,
该秘密信息隐藏装置的特征在于,具有:
F0生成单元,将秘密数据{m1,m2,…,mν}设定为秘密数据m,将参照数据{I1,I2,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}和贡献度{a1,a2,…,an}设定为隐秘密钥ks
该F0生成单元利用
F 0 p = &Sigma; j = 1 n a j F jp , p=1,2,...,Nf
来求出变形数据的特征向量F0
数据变形单元,其利用
I j w = W ( I j , F j , F 0 ) , j=1,2,...,n
来求出对各参照数据Ij进行变形而得到的数据Iw j
实质载体数据生成单元,其根据
I 0 p 0 = &Sigma; j = 1 n a j I jp w , p=1,2,...,Md
来求出隐藏秘密数据之前的变形数据I0 0;以及
隐秘对象生成单元,其在将p的值设定为1、将q的值设定为1、将s的值设定为I0 0而进行了变量p、q以及s的初始化之后,
判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2
在不存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,使p的值增加1,并重复执行是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的判断,
在存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,根据相应的j1和j2,利用
s p = MSB ( I 0 p 0 ) + m q &CirclePlus; y
求出隐秘对象sp,使p的值增加1,并且使q的值增加1,
之后,判断是否满足q<ν,
在满足q<ν的情况下,转移到上述判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的处理,重复执行该判断处理直到变成q≥ν为止,
由此生成隐藏了ν个秘密数据的隐秘对象s。
另外,本发明所涉及的秘密信息隐藏装置的秘密信息隐藏方法对隐写技术应用变形技术来生成隐藏了秘密数据的隐秘对象s,该隐写技术为通过将秘密数据m隐藏到载体数据c中来生成隐秘对象s,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn、各个参照数据I1~In的贡献度a1~an以及ν个秘密数据m1~mν来生成变形数据,
该秘密信息隐藏方法的特征在于,通过执行以下步骤生成隐藏了ν个秘密数据的隐秘对象s,
将秘密数据{m1,m2,…,mν}设定为秘密数据m,将参照数据{I1,I2,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}和贡献度{a1,a2,…,an}设定为隐秘密钥ks
由上述秘密信息隐藏装置的计算单元利用
F 0 p = &Sigma; j = 1 n a j F jp , p=1,2,...,Nf
来求出变形数据的特征向量F0,利用
I j w = W ( I j , F j , F 0 ) , j=1,2,...,n
来求出对各参照数据Ij进行变形而得到的数据Iw j,根据
I 0 p 0 = &Sigma; j = 1 n a j I jp w , p=1,2,...,Nd
来求出隐藏秘密数据之前的变形数据I0 0
在将p的值设定为1、将q的值设定为1、将s的值设定为I0 0而进行了变量p、q以及s的初始化之后,
判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2
在不存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,使p的值增加1,并重复执行是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的判断,
在存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,根据相应的j1和j2,利用
s p = MSB ( I 0 p 0 ) + m q &CirclePlus; y
求出隐秘对象sp,使p的值增加1,并且使q的值增加1,
之后,判断是否满足q<ν,
在满足q<ν的情况下,转移到上述判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的处理,重复执行该判断处理直到变成q≥ν为止。
其中,j=0,1,…,n,Fjp表示Fj的第p个要素。Iw j表示Ij的变形,W表示扭曲函数,通过扭曲函数W将Ij变形而生成Iw j,Iw j具有特征向量F0。另外,sp、I0 0p、Iw 1p、…、Iw np分别表示s、I0 0、Iw 1、…、Iw n的第p个要素。并且,j1和j2是满足1≤j1<j2≤n的自然数,贡献度aj的值被预先进行归一化,贡献度之和的值满足a1+a2+…+an=1。并且秘密数据mq为b位的数据,I0 0p为B位的数据,MSB(I0 0p)是指取I0 0p中的上位的B-b位的数据的函数。并且,
Figure BDA00002726066900331
表示以位为单位的异或运算符,作为y,设定为是I0 0、Iw np或者(Iw j1,p-Iw j2,p)中的任一个且由b位的数值构成的数据,q=1,2,…,ν。
通过使用本发明所涉及的秘密信息隐藏装置以及秘密信息隐藏方法,能够在使Δp(j1,j2)≠0的p时将秘密数据隐藏到变形数据I0 0的最下位的b位。并且,隐藏的秘密数据是根据秘密数据和变形数据等求出的b位的值,以进行了异或运算的状态隐藏。因此,能够使第三者难以判断隐藏了秘密数据,并且,能够降低第三者提取出秘密数据的危险性。
另外,本发明所涉及的秘密信息还原装置对隐写技术应用变形技术来从隐秘对象s中还原出秘密数据,该隐写技术为从将秘密数据m隐藏到载体数据c而得到的隐秘对象s中提取出秘密数据m,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn、各个参照数据I1~In的贡献度a1~an以及ν个秘密数据m1~mν来生成变形数据,其中,ν>n,
该秘密信息隐藏装置的特征在于,具有:
F0生成单元,将参照数据{I1,I2,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}和贡献度{a1,a2,…,an}设定为隐秘密钥ks,将提取出的秘密数据m设为秘密数据{m1,m2,…,mν},
该F0生成单元利用
F 0 p = &Sigma; j = 1 n a j F jp , p=1,2,...,Nf
来求出变形数据的特征向量F0
数据变形单元,其利用
I j w = W ( I j , F j , F 0 ) , j=1,2,...,n
来求出对各参照数据Ij进行变形而得到的数据Iw j;以及
秘密数据再现单元,其在将p的值设定为1、将q的值设定为1而进行了变量p及q的初始化之后,
判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2
在不存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,使p的值增加1,并重复执行是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的判断,
在存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,根据相应的j1和j2,利用
m q = ( s p - MSB ( s p ) ) &CirclePlus; y
求出秘密数据mq,使p的值增加1,并且使q的值增加1,
之后,判断是否满足q<ν,
在满足q<ν的情况下,转移到上述判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的处理,重复执行该判断处理直到变成q≥ν为止,
由此提取出隐藏在隐秘对象中的ν个秘密数据。
另外,本发明所涉及的秘密信息还原装置的秘密信息还原方法对隐写技术应用变形技术来从隐秘对象s中还原出秘密数据,该隐写技术为从将秘密数据m隐藏到载体数据c而得到的隐秘对象s中提取出秘密数据m,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn、各个参照数据I1~In的贡献度a1~an以及ν个秘密数据m1~mν来生成变形数据,其中,ν>n,
该秘密信息还原方法的特征在于,通过执行以下步骤提取出隐藏在隐秘对象中的ν个秘密数据,
将参照数据{I1,I2,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}和贡献度{a1,a2,…,an}设定为隐秘密钥ks,将提取出的秘密数据m设为秘密数据{m1,m2,…,mν},
由上述秘密信息还原装置的计算单元利用
F 0 p = &Sigma; j = 1 n a j F jp , p=1,2,...,Nf
来求出变形数据的特征向量F0,利用
I j w = W ( I j , F j , F 0 ) , j=1,2,...,n
来求出对各参照数据Ij进行变形而得到的数据Iw j
在将p的值设定为1、将q的值设定为1而进行了变量p及q的初始化之后,
判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2
在不存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,使p的值增加1,并重复执行是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的判断,
在存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,根据相应的j1和j2,利用
m q = ( s p - MSB ( s p ) ) &CirclePlus; y
来求出秘密数据mq,使p的值增加1并且使q的值增加1,
之后,判断是否满足q<ν,
在满足q<ν的情况下,转移到上述判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的处理并重复执行该判断处理直到变成q≥ν为止。
其中,j=0,1,…,n,Fjp表示Fj的第p个要素。Iw j表示Ij的变形,W表示扭曲函数,通过扭曲函数W将Ij变形而生成Iw j,Iw j具有特征向量F0。另外,sp、I0 0p、Iw 1p、…、Iw np分别表示s、I0 0、Iw 1、…、Iw n的第p个要素。并且,j1和j2是满足1≤j1<j2≤n的自然数,贡献度aj的值被预先进行归一化,贡献度之和的值满足a1+an+…+an=1。并且秘密数据mq为b位的数据,sp为B位的数据,MSB(sp)是指取sp中的上位的B-b位的数据的函数。并且,
Figure BDA00002726066900361
表示以位为单位的异或运算符,作为y,设定为是I0 0、Iw np或者(Iw j1,p-Iw j2,p)中的任一个且由b位的数值构成的数据,q=1,2,…,ν。
通过使用本发明所涉及的秘密信息还原装置以及秘密信息还原方法,从隐藏了多个秘密数据的隐秘对象s中求出秘密数据的隐藏位置来进行数据的提取,并且根据提取出的数据以及y的值来进行异或运算,由此进行秘密数据的提取,因此能够提高安全性。另外,基本上不进行加密就能够充分确保安全性,并且,如果不产生通信错误等,则能够正确地再现秘密数据,因此能够提高提取精度。
发明的效果
通过使用本发明所涉及的秘密信息隐藏装置以及秘密信息隐藏方法,如果在参照数据的要素数量的范围内,则即使在秘密数据的个数ν较多的情况下,也能够利用基于变形的隐写将秘密数据隐藏到参照数据中。
另外,通过使用本发明所涉及的秘密信息隐藏装置以及秘密信息隐藏方法,能够在多个载体数据{I1,I2,…,In}中隐藏无法变形的秘密数据{m1,m2,…,mn}。
并且,通过使用本发明所涉及的秘密信息隐藏装置以及秘密信息隐藏方法,能够在多个(n-1个)载体数据{I2,I3,…,In}中隐藏秘密数据I1
另一方面,通过使用本发明所涉及的秘密信息还原装置以及秘密信息还原方法,能够利用基于变形的隐写从隐藏有ν个秘密数据的变形数据中提取(还原、再现)出秘密数据。
另外,通过使用本发明所涉及的秘密信息还原装置以及秘密信息还原方法,能够从变形数据中提取出隐藏在参照数据中的无法变形的数据。并且,由于提取出的数据是利用多个载体数据进行了隐藏的秘密数据,因此能够提高秘密数据的安全性。
另外,通过使用本发明所涉及的秘密信息还原装置以及秘密信息还原方法,能够从变形数据I0中提取(再现)出秘密数据I1。在此,由于秘密数据I1是被隐藏在多个(n-1个)参照数据{I2,I3,…,In}中的数据,因此变形数据I0是对多个参照数据进行变形(morphing)而得到的数据。因此与利用两个参照数据进行基于变形的隐写的情况相比,能够提高被隐藏的秘密数据的安全性。
另外,通过使用本发明所涉及的秘密信息隐藏装置以及秘密信息隐藏方法,秘密数据不是随着变形处理而隐藏到变形数据中,而是在通过变形处理来生成变形数据之后,将秘密数据隐藏到变形数据中,因此秘密数据本身不是变形处理的对象。因此,隐藏了秘密数据的隐秘对象即使隐藏了秘密数据也不容易产生不自然性。因而,即使第三者看到隐秘对象,也难以察觉隐藏了秘密数据,从而能够降低成为破坏对象的可能性。
另一方面,通过使用本发明所涉及的秘密信息隐藏装置以及秘密信息隐藏方法,能够在使Δp(j1,j2)≠0的p时将秘密数据隐藏到变形数据I0 0的最下位的b位。因此,第三者至少不容易判断在哪个位置处隐藏了秘密数据,从而能够提高秘密数据的安全性。
另外,通过使用本发明所涉及的秘密信息还原装置以及秘密信息还原方法,能够从隐藏了多个秘密数据的隐秘对象s中求出秘密数据的隐藏位置来进行秘密数据的提取。具体地说,需要使用载体数据和隐秘密钥来求出Iw j1,p和Iw j2,p,求出使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的p,因此即使获取隐秘对象s,也无法提取秘密数据m,从而能够提高秘密数据m的安全性。
并且,通过使用本发明所涉及的秘密信息隐藏装置以及秘密信息隐藏方法,能够在使Δp(j1,j2)≠0的p时将秘密数据隐藏到变形数据I0 0的最下位的b位。并且,隐藏的秘密数据是根据秘密数据和变形数据等求出的b位的值,以进行了异或运算的状态隐藏。因此,能够使第三者难以判断隐藏了秘密数据,并且,能够降低第三者提取出秘密数据的危险性。
另外,通过使用本发明所涉及的秘密信息还原装置以及秘密信息还原方法,从隐藏了多个秘密数据的隐秘对象s中求出秘密数据的隐藏位置来进行数据的提取,并且根据提取出的数据以及y的值来进行异或运算,由此进行秘密数据的提取,因此能够提高安全性。另外,基本上不进行加密就能够充分确保安全性,并且,如果不产生通信错误等,则能够正确地再现秘密数据,因此能够提高提取精度。
附图说明
图1是表示秘密信息隐藏装置以及秘密信息还原装置经由开放式网络连接的状态的一例的概要结构图。
图2是表示实施方式所涉及的秘密信息隐藏装置的概要结构的框图。
图3是表示实施方式1所涉及的计算部读出存储在ROM中的程序来进行秘密数据的隐藏处理时的功能框的图。
图4的(a)是表示实施方式1所涉及的计算部隐藏秘密数据的处理的流程图,(b)是表示实施方式1所涉及的计算部提取秘密数据的处理的流程图。
图5是表示实施方式1所涉及的计算部读出存储在ROM中的程序来进行秘密数据的提取处理时的功能框的图。
图6是表示实施方式2所涉及的计算部读出存储在ROM中的程序来进行秘密数据的隐藏处理时的功能框的图。
图7的(a)是表示实施方式2所涉及的计算部隐藏秘密数据的处理的流程图,(b)是表示实施方式2所涉及的计算部提取秘密数据的处理的流程图。
图8是表示实施方式2所涉及的计算部读出存储在ROM中的程序来进行秘密数据的提取处理时的功能框的图。
图9是表示实施方式3所涉及的计算部读出存储在ROM中的程序来进行秘密数据的隐藏处理时的功能框的图。
图10是表示实施方式3所涉及的计算部读出存储在ROM中的程序来隐藏秘密数据的处理的流程图。
图11是表示实施方式3所涉及的计算部读出存储在ROM中的程序来进行秘密数据的提取处理时的功能框的图。
图12是表示实施方式3所涉及的计算部读出存储在ROM中的程序来提取秘密数据的处理的流程图。
图13是使用在实施方式3中说明的秘密信息隐藏装置在秘密数据xq与(Iw j1,p-Iw j2,p)之积的值稍大的情况下将秘密图像隐藏到变形图像时的图像例,(a)是两个参照图像、(b)是变形图像、(c)是在变形图像中隐藏秘密图像而得到的隐秘图像、(d)是隐藏前的秘密图像、(e)是从隐秘图像中提取出的秘密图像。
图14是表示实施方式4所涉及的计算部读出存储在ROM中的程序来隐藏秘密数据的处理的流程图。
图15是表示实施方式4所涉及的计算部读出存储在ROM中的程序来进行秘密数据的提取处理时的功能框的图。
图16是表示实施方式4所涉及的计算部读出存储在ROM中的程序来提取秘密数据的处理的流程图。
图17是使用在实施方式4中说明的秘密信息隐藏装置来将秘密图像隐藏到变形图像时的图像例,(a)是隐藏了秘密图像的隐秘图像、(b)是隐藏前的秘密图像、(c)是从隐秘图像提取出的秘密图像。
图18是表示实施方式5所涉及的计算部读出存储在ROM中的程序来隐藏秘密数据的处理的流程图。
图19是表示实施方式5所涉及的计算部读出存储在ROM中的程序来进行秘密数据的提取处理时的功能框的图。
图20是表示实施方式5所涉及的计算部读出存储在ROM中的程序来提取秘密数据的处理的流程图。
图21是表示实施方式6所涉及的计算部读出存储在ROM中的程序来隐藏秘密数据的处理的流程图。
图22是表示实施方式6所涉及的计算部读出存储在ROM中的程序来提取秘密数据的处理的流程图。
图23是表示卡用户的认证***的一例的概要结构图。
图24是使用在实施方式3中说明的秘密信息隐藏装置来隐藏图像时的图像例,(a)是载体图像、(b)是秘密图像、(c)是变形图像、(d)是从变形图像中提取出的提取图像。
图25是表示在服务器、本地终端以及用户的便携式设备之间进行认证处理之前的准备作业的时序的一例的图。
图26是表示在服务器、本地终端以及用户的便携式设备之间进行认证处理时的时序的一例的图。
附图标记说明
1:秘密信息隐藏装置;2:秘密信息还原装置;3:网络;4:服务器;6:装置主体;7:显示部;8:数据输入部;9:命令输入部;10:算法执行部;11:通信部;12:辅助存储部;15:计算部(计算单元);16:ROM;17:RAM;18:存储部;21、31、43、61、71、81、91:数据变形部(数据变形单元);22、32、44、72、82、92:F0生成部(F0生成单元);23:I0生成部(I0生成单元);74:隐秘对象生成部(隐秘对象生成单元);24、34、47、64、75、88、98、103:秘密数据存储部;25、35、48、65、76、85、95:载体数据存储部;26、36、49、66、77、86、96:隐秘密钥存储部;27、37、50、67、78、87、97、101:隐秘对象存储部;28、38、51、68、79、89、99:工作存储器;33、63、84、94、102:秘密数据再现部(秘密数据再现单元);41:缩放因子计算部(缩放因子计算单元);42、62:贡献度计算部(贡献度计算单元);46:变形数据生成部(变形数据生成单元);73、83:实质载体数据生成部(实质载体数据生成单元);110:认证***;111:远程服务器;112:本地终端;112a:读卡器;113:卡;A、B:计算机。
具体实施方式
下面,示出一例来详细说明本发明所涉及的秘密信息隐藏装置以及秘密信息还原装置。图1示出用户A的计算机A与用户B的计算机B通过网络3与服务器4相连接的概要结构。在计算机A中将秘密数据隐藏到载体数据中来生成变形数据,从计算机A经由网络3向用户B的计算机B传递变形数据,在用户B的计算机B中从变形数据中提取(还原、再现)出秘密数据。
在此,用户A的计算机A是用于将秘密数据隐藏到载体数据的计算机,因此相当于秘密信息隐藏装置1。另外,用户B的计算机B是用于从变形数据中提取(还原)出秘密数据的计算机,因此相当于秘密信息还原装置2。其中,一般来说秘密数据的隐藏处理和提取处理能够通过使同一处理反向来实现,因此用户A的计算机A和用户B的计算机B这两个计算机也可以具备能够进行秘密数据的隐藏处理和还原处理的作为秘密信息隐藏/还原装置的功能。
计算机A和计算机B经由开放式网络3、例如因特网相连接。此外,在图1中,为了便于说明而仅示出了作为秘密信息隐藏装置1的计算机A和作为秘密信息还原装置2的计算机B,但是除计算机A和计算机B以外的很多计算机也可以经由网络3相连接。经由网络3相连接的各计算机能够直接地、或者通过web服务器4、邮件服务器等间接地进行信息的发送、获取。
并且,能够使用不同于开放式网络3的通信方法来从计算机A向计算机B发送接收数据。该通信方法不同于网络3,采用了除计算机A和计算机B以外的用户无法确认数据的通信方法。作为一例,例如能够使用利用专用线路的通信方法,或者将数据存储到CD、USB等存储媒体中来邮寄的方法等。下面,为了将该通信方法与利用开放式网络的通信方法相区分,将该通信方法称为利用封闭式网络的通信方法。
图2是表示秘密信息隐藏装置1的概要结构的框图。秘密信息隐藏装置1能够由普通的计算机(Computer、便携式电话等)构成,具有装置主体6、显示部7、数据输入部8以及命令输入部9。
普通的液晶显示器、CRT显示器(阴极射线管显示器)相当于显示部7,具有以能够使用户视觉识别的方式显示处理内容的功能。
数据输入部8和命令输入部9是用于由用户输入秘密信息隐藏装置1进行处理所需的信息、命令等的输入单元。具体来说,数据输入部8具有输入载体数据、秘密数据等的功能。例如,在载体数据、隐秘对象、秘密数据等是图像数据的情况下,作为一例,数字照相机、扫描仪等相当于数据输入部8。另外,作为一例,用于将载体数据、隐秘对象、秘密数据、隐秘密钥等作为数据取入到计算机中的USB端子、CD驱动器、DVD驱动器等相当于数据输入部8。
并且,命令输入部9具有输入执行命令、修改命令等的功能,键盘、鼠标、触摸笔等相当于命令输入部9。
装置主体6具有算法执行部10、通信部11以及辅助存储部12。算法执行部10的主要作用是进行变形数据的生成处理以及秘密数据的隐藏处理等。
算法执行部10具有计算部(计算单元)15和存储部18。
计算部15作为本发明所涉及的计算单元而发挥功能,作用是进行隐秘对象s的生成处理等秘密信息隐藏装置1中的各种运算、控制处理。存储部18具有暂时存储进行计算部15中的处理所需的数据以及计算结果等(例如变形数据等)的功能。
存储部18例如由普通的ROM(Read Only Memory:只读存储器)16、RAM(Random Access Memory:随机存取存储器)17构成。在ROM16中存储有秘密信息隐藏装置1起动时的处理程序等,在秘密信息隐藏装置1起动时等,能够由计算部15读出ROM16的处理程序等来进行起动处理等(实现起动处理等的方法)。RAM17被用作在计算部15中进行的处理的工作区等。
例如网卡(NIC:Network Interface Card(网络接口卡))等相当于通信部11,作用是使秘密信息隐藏装置1与网络3相连接。此外,在图2中,为了方便,将内置于装置主体6的网卡记载为通信部11,但是根据需要有时会在从通信部11延伸设置的网络线缆上连接调制解调器、媒体转换器等,在这种情况下通信部11中包括调制解调器等。
辅助存储部12是所谓的辅助存储装置,主要由硬盘构成。在辅助存储部12中能够存储秘密信息隐藏装置1进行处理所需的数据等,例如秘密数据、载体数据、隐秘对象、隐秘密钥的信息等。
另外,在辅助存储部12中能够存储进行秘密信息隐藏处理所需的数据(例如由秘密信息隐藏装置1生成的扭曲数据、变形数据等)。此外,辅助存储部12不仅仅限于硬盘,也可以是由快闪存储器等构成的存储单元(例如SSD(Solid State Drive:固态硬盘)等)、使用磁带介质的存储单元(例如DAT(Digital AudioTape:数字录音磁带))等。
计算部15按照存储在辅助存储部12或ROM16中的处理程序来执行隐秘对象s的生成处理(生成处理:针对载体数据c的秘密数据m隐藏处理和隐藏方法)。在图2中,仅设置了一个计算部15作为运算处理电路,但是也能够根据各功能而设置多个运算处理电路。
另一方面,如上所述,秘密数据的隐藏处理和提取处理一般来说能够通过使同一处理反相来实现。因此,用户A的计算机A和用户B的计算机B这两个计算机也可以具备能够进行秘密数据的隐藏处理和还原处理的作为秘密信息隐藏/还原装置的功能,秘密信息还原装置2也具备与图2所示的概要结构的框图相同的结构。因此将秘密信息还原装置2设为由与秘密信息隐藏装置1相同的功能部构成,使用同一附图标记表示其功能框,并省略详细的说明。
在实施方式中,设为各计算机进行秘密数据的隐藏处理和还原处理这两个处理。另外,设为计算机在实现秘密信息隐藏功能和实现秘密信息还原功能时均基于图2所示的功能框来进行处理。因此,在作为秘密信息还原装置2发挥功能的情况下,计算部15按照存储在辅助存储部12或ROM16中的用于实现处理方法的程序来执行从隐秘对象中提取出秘密数据的处理。
接着,将上述的秘密数据的隐藏处理以及提取处理分为多个实施方式来详细地进行说明。
[实施方式1]
首先,作为实施方式1,说明以下处理,由计算部15生成对多个参照数据隐藏多个秘密数据的隐秘对象的处理,以及计算部15从这样生成的隐秘对象中提取出秘密数据的处理。
图3是表示实施方式1中计算部15读出存储在ROM16中的程序来进行秘密数据的隐藏处理(实现隐藏处理方法)时的功能框的图。
在图3中,数据变形部(数据变形单元)21、F0生成部(F0生成单元)22以及I0生成部(I0生成单元)23实质上相当于按照程序进行隐藏处理(实现隐藏处理方法)的计算部15。另外,秘密数据存储部24、载体数据存储部25、隐秘密钥存储部26、隐秘对象存储部27、工作存储器28实质上相当于RAM17或辅助存储部12。
此外,还能够设为在载体数据存储部25中预先存储有载体数据c,在隐秘密钥存储部26中预先存储有隐秘密钥ks。另外,在秘密数据存储部24中预先存储秘密数据m,在隐秘对象存储部27中存储所生成的隐秘对象s。
另外,也能够设为如下结构:计算部15经由开放式网络3或封闭式网络来获取载体数据c、秘密数据m或隐秘密钥ks,由此作为载体数据获取部、秘密数据获取部或者隐秘密钥获取部而发挥功能,将所获取的各数据分别存储到载体数据存储部25、秘密数据存储部24或者隐秘密钥存储部26中。
但是,在实际利用图3所示的秘密信息隐藏装置1时,认为很多情况下是在将载体数据c和隐秘密钥ks预先存储在载体数据存储部25和隐秘密钥存储部26中的状态下进行处理。
另外,计算部15根据需要而作为隐秘对象输出部发挥功能,作用是从隐秘对象存储部27读出隐秘对象s,经由开放式网络3输出到作为秘密信息还原装置2而发挥功能的计算机。
接着,按照图4的(a)所示的流程图说明实施方式1所涉及的计算部15的处理。
在实施方式1所涉及的秘密数据的隐藏处理中,针对如下情况进行说明,利用基于三个以上、例如n个(n≥3)参照数据的变形进行隐写,来将秘密数据m隐藏到载体数据c中。
在使用n个参照数据来进行秘密数据的隐藏时,能够如下这样进行定义。
秘密数据m=I1、载体数据c={I2,I3,…,In}、隐秘密钥ks={F1,F2,…,Fn;a1,a2,…,an}、隐秘对象s=I0
在此,I1~In表示参照数据,F1~Fn表示与参照数据I1~In分别对应的特征向量,a1~an表示与参照数据I1~In分别对应的贡献度,I0表示变形数据。独立地设定各参照数据的贡献度,但是实际上为了将特征向量的要素和变形数据(变形得到的数据)的要素收敛在规定的动态范围内,需要满足各贡献度之和为1的条件
a1+a2+···+an=1。
因而,在n个贡献度a1~an中,只要设定n-1个贡献度即可。计算部15将这样定义的m、c、ks作为输入数据,来进行输出隐秘对象s的处理。
[实现用于隐藏秘密数据的函数f的算法]
输入:m=I1、c={I2,I3,…,In}、ks={F1,F2,…,Fn;a1,a2,…,an}
输出:s=I0
·步骤1(图4的(a)所示的步骤S.1)
计算部15根据下式求出变形数据I0的特征向量F0
F 0 p = &Sigma; j = 1 n a j F jp , p=1,2,...,Nf    (9)
其中,Fjp(j=0,1,…,n)表示Fj的第p个要素。在该处理中,计算部15作为图3所示的F0生成部22而发挥功能。
·步骤2(图4的(a)所示的步骤S.2)
计算部15根据下式对秘密数据和参照数据进行变形,求出数据Iw j(j=1,2,…,n)。
I j w = W ( I j , F j , F 0 ) , j=1,2,...,n    (10)
其中,Iw j(j=1,2,…,n)表示Ij的变形,W表示扭曲(warping)函数。通过扭曲函数W将Ij(j=1,2,…,n)变形而生成Iw j(j=1,2,…,n)。Iw j(j=1,2,…,n)具有特征向量F0。在该处理中,计算部15作为图3所示的数据变形部21而发挥功能。
·步骤3(图4的(a)所示的步骤S.3)
计算部15根据下式求出变形数据(隐秘对象)I0
I 0 p = &Sigma; j = 1 n a j I jp w , p=1,2,...,Nd    (11)
其中,I0p、Iw 1p、…、Iw np分别表示I0、Iw 1、…、Iw n的第p个要素。在该处理中,计算部15作为图3所示的I0生成部23而发挥功能。求出的变形数据(隐秘对象)被存储到隐秘对象存储部27中。
通过这样经过步骤1~步骤3的过程(图4的(a)所示的处理),能够求出在多个(n-1个)参照数据{I2,I3,…,In}中隐藏了秘密数据I1的变形数据I0
另一方面,在秘密信息还原装置2中,进行从通过上述隐藏处理而生成的变形数据I0中提取(还原、再现)出参照数据I1的处理,由此能够提取出秘密数据。
图5是表示计算部15读出存储在ROM16中的程序来进行秘密数据的提取处理(实现提取处理方法)时的功能框的图。
在图5中,数据变形部(数据变形单元)31、F0生成部(F0生成单元)32以及秘密数据再现部(秘密数据再现单元)33实质上相当于按照程序进行提取处理(实现提取处理方法)的计算部15。另外,秘密数据存储部34、载体数据存储部35、隐秘密钥存储部36、隐秘对象存储部37、工作存储器38实质上相当于RAM17或辅助存储部12。
在隐秘对象存储部37中存储由图3所示的秘密信息隐藏装置1生成的隐秘对象s,在载体数据存储部35中存储载体数据c,在隐秘密钥存储部36中存储隐秘密钥ks,在秘密数据存储部34中存储秘密数据m。
此外,在实施方式1中,计算部15作为隐秘对象获取部而发挥功能,经由开放式网络3从图3所示的秘密信息隐藏装置1的隐秘对象存储部27获取按照图4的(a)的处理生成的隐秘对象s,并存储到隐秘对象存储部37中。另外,计算部15作为载体数据获取部及隐秘密钥获取部而发挥功能,进行如下处理:经由封闭式网络获取在秘密信息隐藏装置1中使用于秘密数据隐藏处理的载体数据及隐秘密钥,并存储到载体数据存储部35及隐秘密钥存储部36中。此外,也能够采用以下结构,在所有的秘密信息还原装置2的载体数据存储部35及隐秘密钥存储部36中预先存储载体数据及隐秘密钥。
另外,计算部15根据需要而作为秘密数据输出部发挥功能,作用是从秘密数据存储部34读出秘密数据,使显示部7等显示提取出的数据。
接着,按照图4的(b)所示的流程图来说明实施方式1中的计算部15的秘密数据提取处理。
在实施方式1所涉及的秘密数据提取处理中,与示出图4的(a)来进行的说明同样地进行如下处理:利用三个以上、例如n个(n≥3)参照数据,基于利用了变形的隐写来从隐秘对象中提取出秘密数据。
因而,在利用n个参照数据提取被隐藏的秘密数据时,如下这样进行定义。
隐秘对象s=I0、载体数据c={I2,I3,…,In}、隐秘密钥ks={F1,F2,…,Fn;a1,a2,…,an}、秘密数据m=I1
计算部15将这样定义的s、c、ks作为输入数据来进行提取秘密数据m的处理。
[实现用于提取秘密数据的函数f-1的算法]
输入:s=I0、c={I2,I3,…,In}、ks={F1,F2,…,Fn;a1,a2,…,an}
输出:m=I1
·步骤1(图4的(b)所示的步骤S.11)
计算部15根据下式求出变形数据I0的特征向量F0
F 0 p = &Sigma; j = 1 n a j F jp , p=1,2,...,Nf    (9)
其中,Fjp(j=0,1,…,n)表示Fj的第p个要素。在该处理中,计算部15作为图5所示的F0生成部32而发挥功能。
·步骤2(图4的(b)所示的步骤S.12)
计算部15根据下式求出对各参照数据Ij(j=2,3,…,n)进行变形得到的数据Iw j(j=2,3,…,n)。
I j w = W ( I j , F j , F 0 ) , j=2,3,...,n    (10′)
其中,Iw j(j=1,2,…,n)表示Ij的变形,W表示扭曲(warping)函数。通过扭曲函数W将Ij(j=1,2,…,n)变形而生成Iw j(j=1,2,…,n)。Iw j(j=1,2,…,n)具有特征向量F0。在该处理中,计算部15作为图5所示的数据变形部31而发挥功能。
·步骤3(图4的(b)所示的步骤S.13)
计算部15使用进行变形而得到的数据Iw j(j=2,3,…,n),按照下式求出秘密数据I1的变形Iw 1
I 1 p w = ( I 0 p - &Sigma; j = 2 n a j I jp w ) / a 1 , p=1,2,...,Nd    (12)
在该处理中,计算部15作为图5所示的秘密数据再现部33而发挥功能。其中,I0p、Iw 1p、…、Iw np分别表示I0、Iw 1、…、Iw n的第p个要素。
·步骤4(图4的(b)所示的步骤S.14)
计算部15根据下式来再现秘密数据。
I 1 = W ( I 1 w , F 0 , F 1 ) - - - ( 8 )
在该处理中,计算部15作为图5所示的秘密数据再现部33而发挥功能。另外,通过该处理而求出的秘密数据被存储到秘密数据存储部34中。
这样,经过上述的步骤1~步骤4的过程(图4的(b)所示的处理),能够从变形数据I0中提取(再现)出秘密数据I1。在此,秘密数据I1是被隐藏在多个(n-1个)参照数据{I2,I3,…,In}中的数据,因此变形数据I0是将多个参照数据变形(morphing)而得到的数据。
因此,与使用两个参照数据进行基于变形的隐写的情况相比,能够提高被隐藏的秘密数据的安全性。
[实施方式2]
接着,作为实施方式2,说明使用无法变形的数据作为秘密数据时将秘密数据隐藏到多个参照数据以及进行提取的处理。
图6是表示实施方式2中计算部15读出存储在ROM16中的程序来进行秘密数据的隐藏处理(实现隐藏处理方法)时的功能框的图。
在图6中,缩放因子计算部(缩放因子计算单元)41、贡献度计算部(贡献度计算单元)42、数据变形部(数据变形单元)43、F0生成部(F0生成单元)44以及变形数据生成部(变形数据生成单元)46实质上相当于按照程序进行隐藏处理(实现隐藏处理方法)的计算部15。另外,秘密数据存储部47、载体数据存储部48、隐秘密钥存储部49、隐秘对象存储部50、工作存储器51实质上相当于RAM17或辅助存储部12。
另外,也能够设为在载体数据存储部48中预先存储有载体数据c、在隐秘密钥存储部49中预先存储有隐秘密钥ks。另外,在秘密数据存储部47中预先存储秘密数据m,在隐秘对象存储部50中存储所生成的隐秘对象s。
此外,也能够设为如下结构:计算部15经由开放式网络3或封闭式网络获取进行秘密数据的隐藏处理所使用的载体数据、秘密数据或者隐秘密钥,由此作为载体数据获取部、秘密数据获取部或者隐秘密钥获取部而发挥功能,并将所获取的各数据分别存储到载体数据存储部48、秘密数据存储部47或者隐秘密钥存储部49中。
但是,在实际利用图6所示的秘密信息隐藏装置1时,认为在很多情况下是预先获取载体数据和隐秘密钥并存储到载体数据存储部48和隐秘密钥存储部49中。
另外,计算部15根据需要而作为隐秘对象输出部发挥功能,作用是从隐秘对象存储部50读出隐秘对象,经由开放式网络3输出到作为秘密信息还原装置2而发挥功能的计算机。
接着,按照图7的(a)所示的流程图说明实施方式2所涉及的计算部15的处理。
如上所述,在实施方式1中,对使用能够变形的数据的参照数据I1作为秘密数据的情况进行了说明。作为能够变形的数据的例子,能够使用脸部图像、指纹、静脉图案、声音等生物体信息。通过将这些生物体信息作为秘密数据进行数据隐藏处理,能够在根据脸部图像、指纹、静脉图案、声音等来进行确定的顾客认证处理中利用实施方式1所示的秘密信息隐藏装置1和秘密信息还原装置2。并且,与以往的认证技术相比,能够确保高安全性,并实现认证***可靠性的提高。
然而,在实际的认证***中,存在将能够变形的数据和无法变形的数据同时用作秘密数据的情况。例如,会员号、电话号码、住址、购买历史记录、行动图案等用数值表现的数据相当于无法变形的数据。如果像这样用数值表现而无法变形的数据也能够通过基于变形的隐写来隐藏,则能够进一步提高认证***的实用性。
在实施方式2所涉及的秘密数据隐藏处理中,说明将无法变形(用数值表现)的数据设为秘密数据时将秘密数据隐藏到载体数据的处理。
在实施方式2所涉及的秘密数据隐藏处理中,如下这样进行定义。
秘密数据m={m1,m2,…,mn}、载体数据c={I1,I2,…,In}、隐秘密钥ks={F1,F2,…,Fn}、隐秘对象s={I0,F0,A}
在此,m1~mn表示由无法变形的数据构成的秘密数据,I1~In表示参照数据,F1~Fn表示与参照数据I1~In分别对应的特征向量,I0和F0表示基于参照数据得到的变形数据和该变形数据的特征向量。
另外,A是用于求出满足条件a1+a2+a3+…+an=1的贡献度{a1,a2,…,an}的缩放因子。该缩放因子能够通过下式求出。
A = 1 / &Sigma; i = 1 n m i - - - ( 13 )
如果设定载体数据c和隐秘密钥ks,则能够将秘密数据m嵌入到隐秘对象s中。在此,将所有的秘密数据设为用数值表现的数据。
计算部15将这样定义的m、c、ks作为输入数据来进行求出(生成)隐秘对象s的处理。
[实现用于隐藏秘密数据的函数f的算法]
输入:m={m1,m2,…,mn}、c={I1,I2,…,In}、ks={F1,F2,…,Fn}
输出:s={I0,F0,A}
·步骤1(图7的(a)所示的步骤S.21)
计算部15根据下式求出缩放因子A。
A = 1 / &Sigma; i = 1 n m i - - - ( 13 )
在该处理中,计算部15作为图6所示的缩放因子计算部41而发挥功能。
·步骤2(图7的(a)所示的步骤S.22)
计算部15按照下式,根据秘密数据mi(i=1,2,…,n)来决定各参照数据Ii(i=1,2,…,n)的贡献度ai(i=1,2,…,n)。
ai=mi×A(将1至n的值依次代入到i)
在该处理中,计算部15作为图6所示的贡献度计算部42而发挥功能。
·步骤3(图7的(a)所示的步骤S.23)
计算部15根据下式求出变形数据I0的特征向量F0
F 0 p = &Sigma; j = 1 n a j F jp , p=1,2,...,Nf    (9)
其中,Fjp(j=0,1,…,n)表示Fj的第p个要素。在该处理中,计算部15作为图6所示的F0生成部44而发挥功能。
·步骤4(图7的(a)所示的步骤S.24)
计算部15根据下式求出对各参照数据Ij(j=1,2,…,n)进行变形而得到的数据Iw j(j=1,2,…,n)。
I j w = W ( I j , F j , F 0 ) , j=1,2,...,n    (10)
其中,Iw j(j=1,2,…,n)表示Ij的变形,W表示扭曲(warping)函数。通过扭曲函数W将Ij(j=1,2,…,n)变形而生成Iw j(j=1,2,…,n)。Iw j(j=1,2,…,n)具有特征向量F0。在该处理中,计算部15作为图6所示的数据变形部43而发挥功能。
·步骤5(图7的(a)所示的步骤S.25)
计算部15根据下式求出变形数据(隐秘对象)I0
I 0 p = &Sigma; j = 1 n a j I jp w , p=1,2,...,Nd    (11)
其中,I0p、Iw 1p、…、Iw np分别表示I0、Iw 1、…、Iw n的第p个要素。在该处理中,计算部15作为图6所示的变形数据生成部46而发挥功能。求出的变形数据被存储到隐秘对象存储部50中。
这样,经过步骤1~步骤5的过程(图7的(a)所示的处理),能够求出在多个载体数据{I1,I2,…,In}中隐藏了无法变形(例如,用数值表现)的多个秘密数据{m1,m2,…,mn}的变形数据I0。另外,即使是用数值表现的多个秘密数据也能够隐藏到载体数据,因此秘密数据并不必须是能够变形的数据。
另一方面,在秘密信息还原装置2中,能够进行从通过上述隐藏处理生成的变形数据I0中提取(还原)出多个秘密数据{m1,m2,…,mn}的提取处理。
图8是表示计算部15读出存储在ROM16中的程序来进行秘密数据提取处理(实现提取处理方法)时的功能框的图。
在图8中,数据变形部(数据变形单元)61、贡献度计算部(贡献度计算单元)62以及秘密数据再现部(秘密数据再现单元)63实质上相当于按照程序进行提取处理(实现提取处理方法)的计算部15。另外,秘密数据存储部64、载体数据存储部65、隐秘密钥存储部66、隐秘对象存储部67、工作存储器68实质上相当于RAM17或辅助存储部12。在隐秘对象存储部67中存储由图6所示的秘密信息隐藏装置1生成的隐秘对象s,在载体数据存储部65中存储载体数据c,在隐秘密钥存储部66中存储隐秘密钥ks,在秘密数据存储部64中存储秘密数据m。
此外,在实施方式2中,计算部15作为隐秘对象获取部而发挥功能,经由开放式网络3从图6所示的秘密信息隐藏装置1的隐秘对象存储部50获取通过图7的(a)所示的处理而生成的隐秘对象(变形数据),并存储到隐秘对象存储部67中。另外,也能够设为如下结构:计算部15作为载体数据获取部及隐秘密钥获取部而发挥功能,经由封闭式网络获取在秘密信息隐藏装置1中进行秘密数据隐藏处理所利用的载体数据及隐秘密钥,并存储到载体数据存储部65及隐秘密钥存储部66中。
另外,也能够采用如下结构:在所有的秘密信息还原装置2的载体数据存储部65及隐秘密钥存储部66中预先存储载体数据及隐秘密钥。
并且,计算部15根据需要而作为秘密数据输出部发挥功能,作用是从秘密数据存储部64读出秘密数据,并使显示部7等显示提取出的数据。
接着,按照图7的(b)所示的流程图来说明实施方式2中的计算部15的秘密数据提取处理。
在实施方式2所涉及的秘密数据提取处理中,说明从隐藏有无法变形(例如,用数值表现)的秘密数据的隐秘对象中提取出秘密数据的情况。
在提取利用n个参照数据来隐藏的n个秘密数据时,如下这样进行定义。
隐秘对象s={I0,F0,A}、载体数据c={I1,I2,…,In}、隐秘密钥ks={F1,F2,…,Fn}、秘密数据m={m1,m2,…,mn}
计算部15将这样定义的s、c、ks作为输入数据来进行提取秘密数据m的处理。
[实现用于提取秘密数据的函数f-1的算法]
输入:s={I0,F0,A}、c={I1,I2,…,In}、ks={F1,F2,…,Fn}
输出:m={m1,m2,…,mn}
·步骤1(图7的(b)所示的步骤S.31)
计算部15根据下式求出对各参照数据进行变形得到的数据。
I j w = W ( I j , F j , F 0 ) , j=1,2,...,n    (10)
其中,Iw j(j=1,2,…,n)表示Ij的变形,W表示扭曲(warping)函数。通过扭曲函数W将Ij(j=1,2,…,n)变形而生成Iw j(j=1,2,…,n)。Iw j(j=1,2,…,n)具有特征向量F0。在该处理中,计算部15作为图8所示的数据变形部61而发挥功能。
·步骤2(图7的(b)所示的步骤S.32)
计算部15根据下面两个式子求联立方程式的解,来求出贡献度aj(j=1,2,…,n)。
F 0 p = &Sigma; j = 1 n a j F jp , p=1,2,...,Nf    (9)
I 0 p = &Sigma; j = 1 n a j I jp w , p=1,2,...,Nd    (11)
其中,Fjp(j=0,1,…,n)表示Fj的第p个要素。另外,I0p、Iw 1p、…、Iw np分别表示I0、Iw 1、…、Iw n的第p个要素。在该处理中,计算部15作为图8所示的贡献度计算部62而发挥功能。
·步骤3(图7的(b)所示的步骤S.33)
计算部15根据求出的贡献度aj(j=1,2,…,n),利用下式提取出秘密数据。
mj=aj/A,j=1,2,...,n    (14)
在该处理中,计算部15作为图8所示的秘密数据再现部63而发挥功能。另外,通过该处理求出的秘密数据被存储到秘密数据存储部64中。
这样,经过上述的步骤1~步骤3的过程(图7的(b)所示的处理),能够从变形数据(隐秘对象s)中提取(还原、再现)出秘密数据。
在实施方式2的秘密数据中使用了无法直接变形的数据(例如,用数值表现的数据),但是通过上述处理,能够将无法变形的数据作为秘密数据,通过基于变形的隐写来隐藏到载体数据中。另外,通过上述处理,能够利用多个载体数据隐藏秘密数据,因此能够提高被隐藏的秘密数据的安全性。
此外,关于由下面的两个式子
F 0 p = &Sigma; j = 1 n a j F jp , p=1,2,...,Nf    (9)
I 0 p = &Sigma; j = 1 n a j I jp w , p=1,2,...,Nd    (11)
构成的联立方程式,当将方程式的个数设为Ne时,能够如下这样表示。
Ne=Nd+Nf    (15)
当将作为未知数的秘密数据m的个数设为Nu时,Nu=n。为了唯一地确定未知数,通常设定为Nu≤Ne。即,Ne表示能够隐藏的秘密数据的上限。
在这种情况下,理论上如果从
F 0 p = &Sigma; j = 1 n a j F jp , p=1,2,...,Nf    (9)
I 0 p = &Sigma; j = 1 n a j I jp w , p=1,2,...,Nd    (11)
中选择任意Nu个方程式,则能够求出秘密数据。
在此,实际上,还有时会存在如下情况,将变形数据变换为整数值进行保存,在经由开放式网络3传递隐秘对象s的过程中在数据中产生错误。因此,也有可能联立方程式的解不严密存在。在这种情况下,通过求出最小平方解或者利用纠错码能够求出解。
另外,在隐秘对象s中包含有F0和A,但是也能够将其作为元数据而与I0形成为一体。即,能够将隐秘对象s作为一个文件从秘密信息隐藏装置1的隐秘对象存储部50输出或者存储到秘密信息还原装置2的隐秘对象存储部67中。并且,还能够区分求F0时使用的贡献度和求变形数据时使用的贡献度,因此也能够事先求出F0并使该F0包含在隐秘密钥中。
实际上,能够准备包含n个以上的参照数据的参照数据集合Ω,针对任意的秘密数据,从Ω中选择n个参照数据,由此作为上述处理中的参照数据来使用。在这种情况下,所选择的参照数据的索引(j1,j2,…,jn)和秘密数据的个数也成为隐秘密钥的一部分。另外,假定了n个秘密数据全部为数值数据,但是即使原本不是数值数据,在计算机中也被表现为数值,因此并不必须将秘密数据限定为数值。
上述的方法与下面的文献A、即
[文献A]J.Smith and B.Comiskey,“Modulation andinformation hiding in images,“Proc.First InternationalWorkshop on Information Hiding;Lecture Notes in ComputerScience,Springer,Vol.1174,pp.207-227,1996.
中提出的spread spectrum steganography(下面称为SSS法)非常相似。
在SSS法中,首先准备相互正交的基向量的集合
Figure BDA00002726066900601
根据任意的秘密数据m={m1,m2,…,mn},用下面的式子求出e。
Figure BDA00002726066900603
另外,将载体数据c设为与所有的基向量正交,如下这样求出隐秘对象s。
s=e+c    (17)
为了从隐秘对象s中提取(再现)出秘密数据m,只要取隐秘对象s与各基向量的内积即可。即,通过
Figure BDA00002726066900604
求出秘密数据mj(j=1,2,…,n)。
在该SSS法中,隐秘对象s是载体数据c与基向量的线性结合,因此能够利用下述文献B所示的blind source separation(BSS)技术来从隐秘对象s中推测出载体数据c和基向量。
[文献B]J.F.Cardoso,“Blind signal separation:statisticalprinciples,“Proceedings of the IEEE,Special Issue on BlindIdentification and Estimation,Vol.9,No.10,pp.2009-2025,1998.
对此,在实施方式3中提出的方法将非正交的参照数据进行变形(非线性变换)后进行线性结合。因此,如果不存在与参照数据的特征向量有关的信息,则很难用BSS技术等方法推测出参照数据。因而,能够判断为在实施方式3中提出的方法的安全性高于SSS法。
[实施方式3]
接着,作为实施方式3,对以下处理进行说明,在参照数据的要素数量(Nd)的范围内秘密数据的数量(个数、数据数)较多的情况下,利用基于变形的隐写来将秘密数据隐藏到参照数据中以及进行提取。
如实施方式1以及实施方式2所示那样,如果能够准备能充分对应秘密数据的数量(个数)的参照数据的数量(个数),则能够将秘密数据隐藏到参照数据中。然而,在实施方式1以及实施方式2所示的方法中,在秘密数据的数量(个数)增大的情况下(比较多的情况下),产生如下的问题点。
1)需要准备对应很多秘密数据的大量的参照数据。
2)在基于变形的隐写中,需要通过变形对所有的参照数据进行数据变形,因此无论是隐藏(嵌入)秘密数据还是提取秘密数据,都需要庞大的计算量,有可能使计算成本变高。
为了解决这些问题,考虑将大量的信息保存到秘密的位置而仅将其地址、指针作为秘密数据进行隐藏的方法。或者,考虑对大量的信息进行加密并仅将其解密密钥作为秘密数据进行隐藏的方法等。这样,能够不是将想要隐藏的信息本身作为秘密数据直接隐藏到参照数据中,而是使用用于求出想要隐藏的信息的间接信息作为较小的秘密数据,来将秘密数据(间接的信息)隐藏到少量的参照数据中。
然而,在很多情况下存在这种需求,即,想要使用大量(多个)秘密数据将信息直接隐藏到参照数据中,而不是利用使用间接信息作为秘密数据来将秘密数据隐藏到少量的参照数据中的方法。并且,在很多情况下存在以下期望,想要使用大量(由多个构成的)秘密数据来隐藏信息,但希望减少隐藏处理所使用的参照数据的个数。在实施方式3中说明以下方法,为了应对这种期望而将大量(多个)信息直接用作秘密数据,利用少量参照数据直接隐藏大量的秘密数据以及进行提取。
首先,当将参照数据的数量(个数)设为n、将秘密数据的数量(个数)设为ν时,由于以秘密数据的数量多于参照数据的数量为前提,因此设定为ν>>n。另外,将秘密数据设为以相同形式对不同种类的秘密要素进行数值化而得到的ν个数据。
在这样设定了参照数据的数量n和秘密数据的数量ν之后,如果在
F 0 p = &Sigma; j = 1 n a j F jp , p=1,2,...,Nf    (9)
I 0 p = &Sigma; j = 1 n a j I jp w , p=1,2,...,Nd    (11)
中,针对每个要素改变贡献度a,则能够将全部Ne×n个秘密数据隐藏到参照数据中。其中,Fjp(j=0,1,…,n)表示Fj的第p个要素。另外,I0p、Iw 1p、…、Iw np分别表示I0、Iw 1、…、Iw n的第p个要素。
在此,Ne如已经说明的那样是
Ne=Nd+Nf    (15),
表示上述两个式子的方程式的数量。
然而,即使将数量多于上述方程式的数量Ne的秘密数据隐藏到参照数据中,也很难如实地再现(提取)出被隐藏的秘密数据,因此设为ν≤Ne
另外,Nf通常远小于Nd,因此不失去一般性地仅使用
I 0 p = &Sigma; j = 1 n a j I jp w , p=1,2,...,Nd    (11)
即可。因此,设为ν≤Nd
为了将ν个秘密数据隐藏到参照数据中,需要将秘密数据隐藏到至少ν个不同的式子中。满足该条件的方法能想到很多方法,作为一例,说明在一个式子中隐藏一个秘密数据的方法。
通过利用
I 0 p = &Sigma; j = 1 n a j I jp w , p=1,2,...,Nd    (11)
在计算部15中,将秘密数据设为x,能够如下这样隐藏秘密数据x。
I 0 p
= &Sigma; j = 1 j &NotEqual; j 1 j &NotEqual; j 2 n a j I jp w + ( a j 1 + x ) I j 1 , p w - ( a j 2 - x ) I j 2 , p w
                            (19)
= &Sigma; j = 1 n a j I jp w + x ( I j 1 , p w - I j 2 , p w )
= I 0 p 0 + x ( I j 1 , p w - I j 2 , p w )
其中,j1和j2是满足1≤j1<j2≤n的自然数,I0 0p和I0p分别表示隐藏秘密数据之前和隐藏秘密数据之后的变形数据的第p个要素。另外,a1,a2,…,an表示预先赋予的贡献度。另外,设秘密数据x是被数值化的数据。
如上述的I0p的式(19)所示那样,首先,通过将秘密数据x与第j1个参照数据的贡献度aj1相加来隐藏到I0p中。接着,通过从第j2个参照数据的贡献度aj2中减去秘密数据x以满足所有的参照数据的贡献度之和为1的条件
a1+an+…+an=1。
在上述的
I 0 p
= &Sigma; j = 1 j &NotEqual; j 1 j &NotEqual; j 2 n a j I jp w + ( a j 1 + x ) I j 1 , p w - ( a j 2 - x ) I j 2 , p w
              (19)
= &Sigma; j = 1 n a j I jp w + x ( I j 1 , p w - I j 2 , p w )
= I 0 p 0 + x ( I j 1 , p w - I j 2 , p w )
中,在隐藏秘密数据x时,如果秘密数据x的值大,则变形数据的值改变大,有可能使变形数据I0p整体变得不自然。通过预先将秘密数据x设得小并在缩放后进行隐藏能够解决这样的问题。
另一方面,从
I 0 p
= &Sigma; j = 1 j &NotEqual; j 1 j &NotEqual; j 2 n a j I jp w + ( a j 1 + x ) I j 1 , p w - ( a j 2 - x ) I j 2 , p w
                   (19)
= &Sigma; j = 1 n a j I jp w + x ( I j 1 , p w - I j 2 , p w )
= I 0 p 0 + x ( I j 1 , p w - I j 2 , p w )
明显可知,在Iw j1与Iw j2的第p个要素相等的情况下,即,在(Iw j1,p-Iw j2,p)=Δp(j1,j2)=0的情况下,虽然隐藏了秘密数据x,但是之后无法提取(还原、再现)出所隐藏的秘密数据。
存在多种解决这种问题的方法,在实施方式3中示出下面的一例来进行说明。
首先,选择第p个要素不相等的Iw j1和Iw j2来进行秘密数据的隐藏。在不存在这样的j1和j2的情况下,增加p的值,根据增加后的p进行判断。这样,能够隐藏的秘密数据x的数量与Nd相比变少少许。
接着,根据以上的说明,对计算部15将多个秘密数据m={m1,m2,…,mν}隐藏到变形数据中来生成隐秘对象s并且从隐秘对象s中提取出秘密数据m的处理进行说明。
图9是表示实施方式3中计算部15读出存储在ROM16中的程序来进行秘密数据隐藏处理(实现隐藏处理方法)时的功能框的图。在图9中,数据变形部(数据变形单元)71、F0生成部(F0生成单元)72、实质载体数据生成部(实质载体数据生成单元)73以及隐秘对象生成部(隐秘对象生成单元)74实质上相当于按照程序进行隐藏处理(实现隐藏处理方法)的计算部15。另外,秘密数据存储部75、载体数据存储部76、隐秘密钥存储部77、隐秘对象存储部78、工作存储器79实质上相当于RAM17或者辅助存储部12。
此外,也能够设为如下结构:在载体数据存储部76中预先存储有载体数据c,在隐秘密钥存储部77中预先存储有隐秘密钥ks。另外,在秘密数据存储部75中预先存储秘密数据m,在隐秘对象存储部78中存储所生成的隐秘对象s。
另外,也可以设为如下结构:计算部15经由开放式网络3或者封闭式网络来获取秘密数据隐藏处理所使用的载体数据、秘密数据或者隐秘密钥。在这种情况下,计算部15作为载体数据获取部、秘密数据获取部或者隐秘密钥获取部而发挥功能,进行将所获取的各数据分别存储到载体数据存储部76、秘密数据存储部75或者隐秘密钥存储部77中的处理。
但是,在实际利用图9所示的秘密信息隐藏装置1时,认为在很多情况下是将载体数据和隐秘密钥预先存储到载体数据存储部76和隐秘密钥存储部77中。
另外,计算部15根据需要而作为隐秘对象输出部发挥功能,作用是从隐秘对象存储部78读出隐秘对象,经由开放式网络3输出到作为秘密信息还原装置2而发挥功能的计算机。
接着,按照图10所示的流程图来说明实施方式3所涉及的计算部15的秘密数据隐藏处理。
在实施方式3所涉及的秘密数据隐藏处理中,如下这样进行定义。
秘密数据m={m1,m2,…,mν}、载体数据c={I1,I2,…,In}、隐秘密钥ks={F1,F2,…,Fn;a1,a2,…,an;A;ν}、隐秘对象s
在此,m1~mν是秘密数据,I1~In是参照数据,F1~Fn是与参照数据I1~In分别对应的特征向量,a1~an是各个参照数据的贡献度,I0 0是基于参照数据得到的变形数据,是隐藏秘密数据之前的变形数据。另外,A是用于求出贡献度的缩放因子,设为小的(例如小于1的)正实数。并且,在ν和n之间,ν>n的关系成立。
计算部15将这样定义的m、c、ks作为输入数据来进行输出隐秘对象s的处理。
[实现用于隐藏秘密数据的函数f的算法]
输入:m={m1,m2,…,mν}、c={I1,I2,…,In}、ks={F1,F2,…,Fn;a1,a2,…,an;A;ν}
输出s
·步骤1(图10所示的步骤S.41)
首先,计算部15利用
F 0 p = &Sigma; j = 1 n a j F jp , p=1,2,...,Nf    (9)
求出变形数据的特征向量。在此,a1,a2,…,an是事先进行归一化得到的值。另外,Fjp(j=0,1,…,n)表示Fj的第p个要素。在该处理中,计算部15作为图9所示的F0生成部72而发挥功能。
·步骤2(图10所示的步骤S.42)
接着,计算部15利用
I j w = W ( I j , F j , F 0 ) , j=1,2,...,n    (10)
求出对各参照数据进行变形而得到的数据。其中,Iw j(j=1,2,…,n)表示Ij的变形,W表示扭曲(warping)函数。通过扭曲函数W将Ij(j=1,2,…,n)变形而生成Iw j(j=1,2,…,n)。Iw j(j=1,2,…,n)具有特征向量F0。在该处理中,计算部15作为图9所示的数据变形部71而发挥功能。
·步骤3(图10所示的步骤S.43)
计算部15基于
I 0 p 0 = &Sigma; j = 1 n a j I jp w , p=1,2,...,Nd    (11′)
求出隐藏秘密数据之前的变形数据I0 0。其中,I0 0p、Iw 1p、…、Iw np分别表示I0 0、Iw 1、…、Iw n的第p个要素。在该处理中,计算部15作为图9所示的实质载体数据生成部73而发挥功能。
·步骤4(图10所示的步骤S.44)
计算部15通过下面的式子对秘密数据进行缩放。
xq=mq×A,q=1,2,...,v    (20)
其中,缩放因子A如已经说明的那样是小的(例如小于1的)正实数。
·步骤5(图10所示的步骤S.45)
接着,计算部15设定p=1、q=1、s=I0 0这样的值,进行数据的初始化。
·步骤6(在图10所示的步骤S.46中为“是”、步骤S.47)
计算部15判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2(图10所示的步骤S.46)。
在存在使Δp(j1,j2)≠0的j1和j2的情况下(在步骤S.46中为“是”的情况下),计算部15按照预先决定的规则选择j1和j2,用下式更新隐秘对象sp(步骤S.47),并将处理转移到后述的步骤8(步骤S.49)。
s p = I 0 p 0 + x q ( I j 1 , p w - I j 2 , p w ) - - - ( 21 )
·步骤7(在图10所示的步骤S.46中为“否”、步骤S.48)
在不存在使Δp(j1,j2)≠0的j1和j2的情况下(在步骤S.46中为“否”的情况下),计算部15使p的值增加1(p=p+1:步骤S.48),将处理转移到步骤6(图10所示的步骤S.46)。
·步骤8(图10所示的步骤S.49)
计算部15使p的值增加1(p=p+1),还使q的值增加1(q=q+1)(步骤S.49)。然后,计算部15判断是否满足q<ν(步骤S.50),在满足q<ν的情况下(在步骤S.50中为“是”的情况下),将处理转移到步骤6(图10所示的步骤S.46)。另一方面,在不满足q<ν的情况下(在步骤S.50中为“否”的情况下),计算部15最终结束处理。
在上述的步骤4~步骤8的处理中,计算部15作为图9所示的隐秘对象生成部74而发挥功能。通过执行上述的步骤1~步骤8的处理,即使在参照数据的要素数量Nd的范围内秘密数据的个数ν较多的情况下,也能够利用基于变形的隐写来将秘密数据m隐藏到变形数据I0 0中。另外,如果用相同形式的数值(例如,没有附图标记的八位整数)来表现不同种类的秘密要素,则能够利用基于变形的隐写将秘密数据隐藏到参照数据中。
此外,作为在步骤6中选择j1和j2的方法,能够想到各种方法,例如想到以下方法,在依次搜索满足Δp(j1,j2)≠0的j1和j2时,利用发现的首个j1和j2的方法,利用使隐藏秘密数据后得到的变形数据最接近整数的j1和j2的方法等。
并且,根据式(21)可知,通过对变形数据(实质的载体数据)I0 0p加上秘密数据xq与(Iw j1,p-Iw j2,p)之积来求出隐秘对象sp。因此,通过将(Iw j1,p-Iw j2,p)替换为Δp,能够使用以下式来表示。
sp=I0 0p+xqΔp    (21’)
在该情况下,Δp并不限定于(Iw j1,p-Iw j2,p),通常,能够定义为参照数据、参照数据的变形、实质的载体数据I0 0的函数。因此,Δp=(Iw j1,p-Iw j2,p)仅是一例。
另外,也能够采用在计算部15中产生某个伪随机数并按照该伪随机数的顺序选择j1和j2的方法、求出Δp的方法。在这种情况下,产生伪随机数的处理的种子成为隐秘对象或隐秘密钥的一部分。
另外,也能够将步骤6和步骤7所示的(图10的步骤S.46的)条件即Δp(j1,j2)≠0变更为Δp(j1,j2)=T或者Δp(j1,j2)∈T这样的条件(或者,将Δp≠0变更为Δp=T或者Δp∈T这样的条件)。在此,T是指定的值或指定的值的范围,成为隐秘对象或隐秘密钥的一部分。这样,能够将秘密数据仅隐藏到指定的位置。另外,还能够利用不隐藏秘密数据的位置来检测篡改、检测错误等。并且,还能够将不同(种类)的秘密数据隐藏到相同的隐秘对象的不同位置。
另外,在参照数据的数量n是2的情况下,不需要进行j1、j2的选择。在这种情况下,能够隐藏的数据的数量没有减少,但是当利用两个以上的参照数据时,更难从变形数据中估计出参照数据,能够进一步提高安全性。
另一方面,在秘密信息还原装置2中,能够从通过上述隐藏处理而生成的隐秘对象s中提取(还原、再现)出多个秘密数据{m1,m2,…,mν}。
图11是表示计算部15读出存储在ROM16中的程序来进行秘密数据提取处理(实现提取处理方法)时的功能框的图。在图11中,数据变形部(数据变形单元)81、F0生成部(F0生成单元)82、实质载体数据生成部(实质载体数据生成单元)83以及秘密数据再现部(秘密数据再现单元)84实质上相当于按照程序进行提取处理(实现提取处理方法)的计算部15。另外,载体数据存储部85、隐秘密钥存储部86、隐秘对象存储部87、秘密数据存储部88、工作存储器89实质上相当于RAM17或辅助存储部12。
如图11所示,在隐秘对象存储部87中存储由图9所示的秘密信息隐藏装置1生成的隐秘对象s,在载体数据存储部85中存储载体数据c,在隐秘密钥存储部86中存储隐秘密钥ks,在秘密数据存储部88中存储秘密数据m。
此外,在实施方式3中,计算部15作为隐秘对象获取部而发挥功能,经由开放式网络3从图9所示的秘密信息隐藏装置1的隐秘对象存储部78获取通过图10所示的处理而生成的隐秘对象s,并存储到隐秘对象存储部87中。
另外,计算部15作为载体数据获取部和隐秘密钥获取部而发挥功能,进行如下处理:经由封闭式网络获取在秘密信息隐藏装置1中进行秘密数据隐藏处理所利用的载体数据和隐秘密钥,并存储到载体数据存储部85和隐秘密钥存储部86中。此外,也可以采用如下结构:在所有的秘密信息还原装置2的载体数据存储部85和隐秘密钥存储部86中预先存储载体数据和隐秘密钥。
另外,计算部15根据需要而作为秘密数据输出部发挥功能,作用是从秘密数据存储部88读出秘密数据,并使显示部7等显示提取出的数据。
接着,按照图12所示的流程图来说明实施方式3中的计算部15的秘密数据提取处理。在提取隐藏在参照数据中的多个秘密数据时,如下这样定义隐秘对象、载体数据、隐秘密钥、秘密数据。
隐秘对象s、载体数据c={I1,I2,…,In}、隐秘密钥ks={F1,F2,…,Fn;a1,a2,…,an;A;ν}、秘密数据m={m1,m2,…,mν}
计算部15将这样定义的s、c、ks作为输入数据来进行提取秘密数据m的处理。
[实现用于提取秘密数据的函数f-1的算法]
输入:s、c={I1,I2,…,In}、ks={F1,F2,…,Fn;a1,a2,…,an;A;ν}
输出:m={m1,m2,…,mν}
·步骤1(图12所示的步骤S.61)
计算部15利用下式求出变形数据I0的特征向量F0。其中,将贡献度a1,a2,…,an设为事先进行归一化得到的值。
F 0 p = &Sigma; j = 1 n a j F jp , p=1,2,...,Nf    (9)
其中,Fjp(j=0,1,…,n)表示Fj的第p个要素。在该处理中,计算部15作为图11所示的F0生成部82而发挥功能。
·步骤2(图12所示的步骤S.62)
计算部15利用下式求出各参照数据的变形。
I j w = W ( I j , F j , F 0 ) , j=1,2,...,n    (10)
其中,Iw j(j=1,2,…,n)表示Ij的变形,W表示扭曲(warping)函数。通过扭曲函数W将Ij(j=1,2,…,n)变形而生成Iw j(j=1,2,…,n)。Iw j(j=1,2,…,n)具有特征向量F0。在该处理中,计算部15作为图11所示的数据变形部81而发挥功能。
·步骤3(图12所示的步骤S.63)
计算部15利用下式求出隐藏秘密数据之前的变形数据I0 0
I 0 p 0 = &Sigma; j = 1 n a j I jp w , p=1,2,...,Nd    (11′)
其中,I0 0p、Iw 1p、…、Iw np分别表示I0 0、Iw 1、…、Iw n的第p个要素。在该处理中,计算部15作为图11所示的实质载体数据生成部83而发挥功能。
·步骤4(图12所示的步骤S.64)
接着,计算部15设定p=1、q=1这样的值,进行数据的初始化。
·步骤5(在图12所示的步骤S.65中为“是”、步骤S.66)
判断是否存在使Δp(j1,j2)≠0的j1和j2(图12所示的步骤S.65)。在存在使Δp(j1,j2)≠0的j1和j2的情况下(在步骤S.65中为“是”的情况下),计算部15根据预先决定的规则选择符合的j1和j2,用下面的式(22)求出被缩放的秘密数据(步骤S.66),之后将处理转移到后述的步骤7(步骤S.68)。
x q = s p - I 0 p 0 &Delta; p ( j 1 , j 2 ) - - - ( 22 )
·步骤6(在图12所示的步骤S.65中为“否”、步骤S.67)
在不存在使Δp(j1,j2)≠0的j1和j2的情况下(在步骤S.65中为“否”的情况下),计算部15使p的值增加1(p=p+1:步骤S.67),将处理转移到步骤5(图12所示的步骤S.65)。
·步骤7(图12所示的步骤S.68、步骤S.69)
计算部15使p的值增加1(p=p+1),还使q的值增加1(q=q+1)(步骤S.68)。然后,计算部15判断是否满足q<ν(图12所示的步骤S.69),在满足q<ν的情况下(在图12所示的步骤S.69中为“是”的情况下),将处理转移到步骤5(图12所示的步骤S.65)。另一方面,在不满足q<ν的情况下(在图12所示的步骤S.69中为“否”的情况下),将处理转移到后述的步骤8(图12所示的步骤S.70)。
·步骤8(图12所示的步骤S.70)
计算部15通过下式(23)来提取出秘密数据并结束处理。
mi=xi/A,i=1,2,...,v    (23)
在步骤4~步骤8的处理中,计算部15作为图11示出的秘密数据再现部84而发挥功能。通过进行这样的处理,能够进行多个秘密数据的提取。通过执行上述的步骤1~步骤8的处理,能够利用基于变形的隐写来从隐藏有个数多于参照数据的个数n的ν个秘密数据的隐秘对象中提取(还原、再现)出秘密数据。另外,能够利用基于变形的隐写来从隐藏了利用相同形式的数值(例如,没有附图标记的八位整数)表现的不同种类的秘密要素的变形数据中提取(还原、再现)出秘密数据。并且,如已经在实施方式3的秘密数据隐藏处理中说明的那样,Δp并不限定于(Iw j1, p-Iw j2,p),通常,能够定义为参照数据、参照数据的变形、实质载体数据I0 0的函数。因此,Δp=(Iw j1,p-Iw j2,p)仅是一例。
另外,在图12示出的秘密数据提取处理的情况下,当考虑计算误差、传输误差等时,有可能存在无法严密地提取(还原、再现)出秘密数据的情况。然而,在秘密数据是图像、音乐等的情况下,即使存在少许的误差,也由于误差对视觉或听觉产生的影响较少,而能够允许误差。另外,在要求严密地提取(还原、再现)秘密数据的情况下,能够通过采用纠错码进行应对。
并且,能够准备包含n个以上的参照数据的参照数据集合Ω,针对任意的秘密数据,从Ω中选择利用n个参照数据。在这种情况下,能够将所选择的参照数据的索引和参照数据的数量设为隐秘密钥的一部分。
在此前的说明中,假设为保存秘密数据的位置是充分的。在实际应用中,也有可能存在满足设定条件的保存位置小于ν的情况。在这种情况下,只要将秘密数据进行分割来对各个部分进行隐藏(还原)处理即可。
此外,在实施方式3中,说明了在参照数据的要素数量Nd的范围内秘密数据的个数较多的情况。在秘密数据的个数多于参照数据的个数的情况下,如式(21)所示那样将秘密数据xq隐藏到变形数据中。
s p = I 0 p 0 + x q ( I j 1 , p w - I j 2 , p w ) - - - ( 21 )
然而,在秘密数据为无法变形的信息的情况下也能够利用使用式(21)隐藏秘密数据的方法。如果能够隐藏无法变形的通常的信息,则能够更进一步提高实用性。实际上,能够将秘密数据设为表示任意数值的数据xq(在秘密数据不是数值的情况下变换为数值),利用式(21)隐藏到变形数据中。在式(21)中,实际上变形得到的数据为I0 0p,秘密数据xq不变形而隐藏到变形数据I0 0p中。因此,即使任意的秘密数据x为无法变形的信息,也能够通过使秘密数据x数值化,来将秘密数据x隐藏到变形数据I0 0中而生成隐秘对象s。
另外,在实施方式3中说明了以下情况:在秘密数据xq的值大的情况下,与变形数据的值相比,有可能使隐秘对象的值变化大,由此预先将秘密数据xq缩放得较小。然而,还存在以下情况:在秘密数据为极小的值的情况下,例如,在小于1的值的情况下,即使在变形数据中隐藏秘密数据也不会感到不自然。因此,在秘密数据xq的值小的情况下,不进行式(20)
xq=mq×A,q=1,2,...,v    (20)
mi=xi/A,i=1,2,...,v    (23)
那样的缩放处理,而能够将秘密数据的值xq直接隐藏到变形数据中。在该情况下,也不需要缩放因子A等。
[实施方式4]
实施方式3中所示的式(21)
s p = I 0 p 0 + x q ( I j 1 , p w - I j 2 , p w ) - - - ( 21 )
具备以下特征:对没有隐藏秘密数据的变形数据(实质载体数据)I0 0p加上秘密数据xq与(Iw j1,p-Iw j2,p)之积来生成隐秘对象sp
当将秘密数据xq表示为mq、将(Iw j1,p-Iw j2,p)表示为Δp时,能够将式(21)的右边的xq(Iw j1,p-Iw j2,p)表示为mqΔp。在该情况下,能够利用以下式表示式(21)。
sp=I0 0p+mqΔp    (24)
根据式(24)可知,当积mqΔp变大时,隐秘对象sp变得不自然。在图13中,(a)所示的两个脸部图像表示参照图像(参照数据),(b)是通过(a)所示的两个脸部图像(参照图像)生成的变形图像(变形数据、相当于式(21)中的变形数据I0 0)。另一方面,(d)是隐藏前的秘密图像(秘密数据、相当于式(21)中的秘密数据x),(c)表示将(d)所示的秘密图像隐藏到(b)所示的变形图像而生成的隐秘图像(隐秘对象、相当于式(21)中的隐秘对象sp)。而且,图13的(e)表示从(c)所示的隐秘图像提取出的秘密图像。
与图13的(b)所示的变形图像相比,在隐藏了秘密图像(图13的(d))的隐秘图像(图13的(c))中存在明显的不自然。因此,由于其不自然性,隐秘图像(图13的(c))容易引起第三者的注意,成为破坏对象的可能性提高。也就是说,察觉到在隐秘图像(图13的(c))中隐藏有秘密图像(图13的(d))的可能性提高。当然,如果对秘密图像(图13的(d))进行加密而可靠地管理参照图像等,则即使从具有不自然性的图像(数据)中推测出秘密图像的存在,也无法容易地提取出秘密图像。然而,基于进行信息隐藏的本申请的发明的宗旨,可知存在秘密图像本身是要预防的事项,有可能招致利用价值降低。
另外,考虑以下方法:如实施方式3所示的式(20)那样,使用缩放因子A等预先将秘密数据设为小的值,来使积mqΔp变小以避免隐秘图像变得不自然。以下方法是有效的:预先将秘密数据设为小的值,将设得小的秘密数据隐藏到Δp为小的值的位置处。然而,在该方法中还存在招致隐藏效率降低这种问题。因此,在实施方式4中,说明使用将秘密数据mq与Δp之积添加到变形数据I0 0p以外的方法来隐藏秘密数据的方法。
在实施方式3中说明了以下情况:如式(21)、式(24)所示那样将秘密数据mq与Δp之积添加到变形数据I0 0p来进行秘密数据的隐藏的情况。然而,在秘密数据的隐藏中并不必须求取秘密数据mq与Δp之积。能够与以往已知的方法同样地,通过将秘密数据直接***到载体数据(在实施方式4中为变形数据I0 0p)的最下位的b位(例如,最下位的4位(b=4))来进行隐藏。
在实施方式4中,设为通过b位的数值来表示秘密数据。按照以下式能够将任意的秘密数据x嵌入到隐秘对象sp
sp=MSB(I0 0p)+x    (25)
其中,MSB(I0 0p)是指取出I0 0p中的上位的B-b位的数据(B为字长)的函数。另外,在MSB(Sp)的情况下,意味着从下位的b位直接提取出秘密数据x。这样,将秘密数据嵌入到变形数据I0 0p的最下位的b位,能够防止隐秘对象Sp变得不自然。将秘密数据隐藏到变形数据I0 0p,因此变形数据I0 0p实质上作为载体数据而发挥功能。
接着,基于以上的说明来说明计算部15将多个秘密数据m={m1,m2,…,mν}隐藏到变形数据I0 0或者提取秘密数据m的处理。
图9是表示在实施方式4中计算部15读出存储在ROM16中的程序来进行秘密数据的隐藏处理(实现隐藏处理方法)时的功能框的图。在实施方式4的秘密信息隐藏装置1中,具备与在实施方式3中说明的秘密信息隐藏装置1相同的功能框。因此,作为实施方式4的各框结构,使用在实施方式3中使用的图9,并且使用相同的附图标记来进行说明。
在图9中,数据变形部71、F0生成部72、实质载体数据生成部73以及隐秘对象生成部74实质上相当于按照程序进行隐藏处理(实现隐藏处理方法)的计算部15。另外,秘密数据存储部75、载体数据存储部76、隐秘密钥存储部77、隐秘对象存储部78、工作存储器79实质上相当于RAM17或者辅助存储部12。
此外,还能够设为:在载体数据存储部76中预先存储有载体数据c,隐秘密钥存储部77中预先存储有隐秘密钥ks。另外,在秘密数据存储部75中预先存储秘密数据m,在隐秘对象存储部78中存储生成的隐秘对象s。
另外,也可以设为以下结构:计算部15经由开放式网络3或者封闭式网络来获取使用于秘密数据的隐藏处理的载体数据、秘密数据或者隐秘密钥。在该情况下,计算部15作为载体数据获取部、秘密数据获取部或者隐秘密钥获取部而发挥功能,进行将获取到的各数据分别存储到载体数据存储部76、秘密数据存储部75或者隐秘密钥存储部77中的处理。
但是,在实际利用图9所示的秘密信息隐藏装置1的情况下,认为在很多情况下将载体数据和隐秘密钥预先存储到载体数据存储部76和隐秘密钥存储部77中。
另外,计算部15根据需要而作为隐秘对象输出部发挥功能,作用是从隐秘对象存储部78读出隐秘对象,并经由开放式网络3输出到作为秘密信息还原装置2而发挥功能的计算机。
接着,按照图14所示的流程图说明实施方式4所涉及的计算部15的秘密数据隐藏处理。
在实施方式4所涉及的秘密数据隐藏处理中以下那样进行定义。
秘密数据m={m1,m2,…,mν}、载体数据c={I2,I3,…,In}、隐秘密钥ks={F1,F2,…,Fn;a1,a2,…,an}、隐秘对象s={s1,s2,…,sν}。
在此,m1~mν是秘密数据,I1~In是参照数据,F1~Fn是与参照数据I1~In分别对应的特征向量,a1~an是各个参照数据的贡献度。另外,s1~sν是隐秘对象,是根据从参照数据得到的变形数据I0 0而求出的。
计算部15以这样定义的m、c、ks为输入数据进行输出隐秘对象s的处理。
[实现用于隐藏秘密数据的函数f的算法]
输入:m={m1,m2,…,mν}、c={I1,I2,…,In}、ks={F1,F2,…,Fn;a1,a2,…,an}
输出:s={s1,s2,…,sν}
·步骤1(图14所示的步骤S.81)
首先,计算部15利用
F 0 p = &Sigma; j = 1 n a j F jp , p=1,2,...,Nf    (9)
求出变形数据的特征向量。在此,a1,a2,…,an是事先进行归一化得到的值。另外,Fjp(j=0,1,…,n)表示Fj的第p个要素。在该处理中,计算部15作为图9所示的F0生成部72而发挥功能。
·步骤2(图14所示的步骤S.82)
接着,计算部15利用
I j w = W ( I j , F j , F 0 ) , j=1,2,...,n    (10)
求出对各参照数据进行变形而得到的数据。其中,Iw j(j=1,2,…,n)表示Ij的变形,W表示扭曲(warping)函数。通过扭曲函数W将Ij(j=1,2,…,n)变形而生成Iw j(j=1,2,…,n)。Iw j(j=1,2,…,n)具有特征向量F0。在该处理中,计算部15作为图9所示的数据变形部71而发挥功能。
·步骤3(图14所示的步骤S.83)
计算部15基于
I 0 p 0 = &Sigma; j = 1 n a j I jp w , p=1,2,...,Nd    (11′)
求出隐藏秘密数据之前的变形数据I0 0。其中,I0 0p、Iw 1p、…、Iw np分别表示I0 0、Iw 1、…、Iw n的第p个要素。在该处理中,计算部15作为图9所示的实质载体数据生成部73而发挥功能。
·步骤4(图14所示的步骤S.84)
接着,计算部15设定p=1这样的值,进行数据的初始化。
·步骤5(图14所示的步骤S.85)
然后,计算部15根据
sp=MSB(I0 0p)+mp    (26)
求出隐秘对象s。
·步骤6(图14所示的步骤S.86、步骤S.87)
之后,计算部15使p的值增加1(p=p+1:步骤S.86),判断p是否小于ν(p<ν)(步骤S.87)。在满足p<ν的情况下(在步骤S.87中“是”的情况下),将处理转移到步骤5(图14所示的步骤S.85)。另一方面,在不满足p<ν的情况下(在步骤S.87中“否”的情况下),计算部15最终结束处理。
在上述步骤4~步骤6的处理中,计算部15作为图9所示的隐秘对象生成部74而发挥功能。通过执行上述步骤1~步骤6的处理,能够将ν个秘密数据隐藏到变形数据I0 0中。
另一方面,在秘密信息还原装置2中,能够从通过上述隐藏处理而生成的隐秘对象s={s1,s2,…,sν}提取出(还原、再现)多个秘密数据{m1,m2,…,mν}。
图15是表示计算部15读出存储在ROM16中的程序来进行秘密数据的提取处理(实现提取处理方法)时的功能框的图。在图15中,秘密数据再现部102实质上相当于按照程序进行提取处理(实现提取处理方法)的计算部15。另外,隐秘对象存储部101和秘密数据存储部103实质上相当于RAM17或者辅助存储部12。
此外,在实施方式4中,在从隐秘对象s提取出秘密数据m时,不需要载体数据、隐秘密钥。如已经说明的那样,实施方式4中的秘密数据隐藏在隐秘对象的最下位的b位,因此不进行逆变形处理就能够从隐秘对象s中直接提取出秘密数据m。因此,不需要使用逆变形处理所需的载体数据和隐秘密钥来进行秘密数据的提取,也不需要载体数据存储部、隐秘密钥存储部、载体数据获取部以及隐秘密钥获取部等。
图15所示,在隐秘对象存储部101中存储由图9所示的秘密信息隐藏装置1通过图14所示的处理方法生成的隐秘对象s,在秘密数据存储部103中存储秘密数据m。在实施方式4中,计算部15作为隐秘对象获取部而发挥功能,经由开放式网络3或者封闭式网络从图9所示的秘密信息隐藏装置1的隐秘对象存储部78获取隐秘对象s,存储到隐秘对象存储部101。另外,计算部15根据需要而作为秘密数据输出部发挥功能,作用是从秘密数据存储部103读出秘密数据,使表示部7等显示提取出的数据。
接着,按照图16所示的流程图说明实施方式4中的计算部15的秘密数据提取处理。在提取隐藏在隐秘对象中的多个秘密数据时,如下这样定义隐秘对象和秘密数据。
隐秘对象s={s1,s2,…,sν}、秘密数据m={m1,m2,…,mν}
计算部15以隐秘对象s为输入数据来进行从该隐秘对象s中提取出秘密数据m的处理。
[实现用于提取秘密数据的函数f-1的算法]
输入:s={s1,s2,…,sν}
输出:m={m1,m2,…,mν}
·步骤1(图16所示的步骤S.91)
首先,计算部15设定p=1这样的值,进行数据的初始化。
·步骤2(图16所示的步骤S.92)
计算部15在利用以下式(27)求出秘密数据mp之后(步骤S.92),将处理转移到后述的步骤3(步骤S.93)。
mp=sp-MSB(sp)    (27)
·步骤3(图16所示的步骤S.93)
计算部15使p的值增加1(p=p+1:步骤S.93)。然后,计算部15判断是否满足p<ν(图16所示的步骤S.94),在满足p<ν的情况下(在图16所示的步骤S.94中“是”的情况下),将处理转移到步骤2(图16所示的步骤S.92)。另一方面,在不满足p<ν的情况下(在图16所示的步骤S.94中“否”的情况下),结束处理。通过进行这种处理,能够从隐秘对象中提取出多个秘密数据。
图17的(a)示出如上所述那样在最下位的b位中隐藏图17的(b)所示的秘密图像(秘密数据)而得到的隐秘图像(隐秘对象),图17的(c)示出从(a)提取出的秘密图像。当将图17的(a)所示的隐秘图像与图13的(c)所示的隐秘图像进行比较时,尽管隐藏了相同的秘密图像(图13的(d)和图17的(b)所示的秘密图像),但是与图13的(c)的隐秘图像相比,图17的(a)的隐秘图像为更自然的脸部图像,不存在图13的(c)那样的不自然性。因此,通过使用图17的(a)所示的隐秘图像,第三者难以察觉到隐藏了秘密数据,能够降低成为破坏对象的可能性。
另外,将图17的(c)所示的提取出的秘密图像与(b)所示的秘密图像比较,可知通过隐藏和提取不容易产生数据的劣化,能够正确地再现秘密图像。
[实施方式5]
接着,说明实施方式5。在上述实施方式4中,特征在于在变形数据的最下位的b位中隐藏秘密数据,因此在提取秘密数据时不需要载体数据、隐秘密钥。因此,如果是隐秘对象,则谁都能够提取出秘密数据,并且,存在以下问题:即使数据被篡改,在获取隐秘对象一侧也无法确认篡改。
在实施方式5中说明以下情况:即使在变形数据的最下位的b位中隐藏秘密数据,在提取(还原)秘密数据时也需要载体数据、隐秘密钥。与实施方式1~实施方式3同样地,在隐藏秘密数据时和提取(还原)秘密数据时需要载体数据和隐秘密钥,由此防止被容易地提取出秘密数据,在提取秘密数据时能够确认数据的篡改。
具体地说,实施方式5中,特征在于根据Δp的值来控制嵌入(隐藏)秘密数据的位置。即,特征在于,仅在Δp的值取规定的值时,利用
sp=MSB(I0 0p)+x    (25)
将秘密数据x嵌入(隐藏)到I0 0p的最下位的b位。在Δp的值不取规定的值时,能够直接使用变形数据(实质载体数据)I0 0p的值或者嵌入规定的“确认信息”。
接着,基于以上的说明,说明计算部15将多个秘密数据m={m1,m2,…,mν}隐藏到变形数据I0 0p或者进行提取的处理。
图9是表示在实施方式5中计算部15读出存储在ROM16中的程序来进行秘密数据的隐藏处理(实现隐藏处理方法)时的功能框的图。在实施方式5的秘密信息隐藏装置1中,具备与在实施方式3中说明的秘密信息隐藏装置1相同的功能框。因此,作为实施方式5的各框结构,使用在实施方式3中使用的图9,并且使用相同的附图标记来进行说明。
在图9中,数据变形部(数据变形单元)71、F0生成部(F0生成单元)72、实质载体数据生成部(实质载体数据生成单元)73以及隐秘对象生成部(隐秘对象生成单元)74实质上相当于按照程序进行隐藏处理(实现隐藏处理方法)的计算部15。另外,秘密数据存储部75、载体数据存储部76、隐秘密钥存储部77、隐秘对象存储部78以及工作存储器79实质上相当于RAM17或者辅助存储部12。
此外,还能够设为在载体数据存储部76中预先存储有载体数据c,在隐秘密钥存储部77中预先存储有隐秘密钥ks。另外,在秘密数据存储部75中预先存储秘密数据m,在隐秘对象存储部78中存储生成的隐秘对象s。
另外,也可以设为以下结构:计算部15经由开放式网络3或者封闭式网络来获取使用于秘密数据的隐藏处理的载体数据、秘密数据或者隐秘密钥。在该情况下,计算部15作为载体数据获取部、秘密数据获取部或者隐秘密钥获取部而发挥功能,进行将获取到的各数据分别存储到载体数据存储部76、秘密数据存储部75或者隐秘密钥存储部77的处理。
但是,在实际利用图9所示的秘密信息隐藏装置1时,认为在很多情况下是将载体数据和隐秘密钥预先存储到载体数据存储部76和隐秘密钥存储部77中。
另外,计算部15根据需要而作为隐秘对象输出部发挥功能,作用是从隐秘对象存储部78读出隐秘对象,经由开放式网络3输出到作为秘密信息还原装置2而发挥功能的计算机。
接着,按照图18所示的流程图来说明实施方式5所涉及的计算部15的秘密数据隐藏处理。
在实施方式5所涉及的秘密数据隐藏处理中,如下这样进行定义。
秘密数据m={m1,m2,…,mν}、载体数据c={I1,I2,…,In}、隐秘密钥ks={F1,F2,…,Fn;a1,a2,…,an}、隐秘对象s
在此,m1~mν是秘密数据,I1~In是参照数据,F1~Fn是与参照数据I1~In分别对应的特征向量,a1~an是各个参照数据的贡献度。另外,s是隐秘对象,根据从参照数据得到的变形数据I0来求出。
计算部15以这样定义的m、c、ks为输入数据来进行输出隐秘对象s的处理。
[实现用于隐藏秘密数据的函数f的算法]
输入:m={m1,m2,…,mν}、c={I1,I2,…,In}、ks={F1,F2,…,Fn;a1,a2,…,an}
输出s
·步骤1(图18所示的步骤S.111)
首先,计算部15利用
F 0 p = &Sigma; j = 1 n a j F jp , p=1,2,...,Nf    (9)
求出变形数据的特征向量。在此,a1,a2,…,an是事先进行归一化得到的值。另外,Fjp(j=0,1,…,n)表示Fj的第p个要素。在该处理中,计算部15作为图9所示的F0生成部72而发挥功能。
·步骤2(图18所示的步骤S.112)
接着,计算部15利用
I j w = W ( I j , F j , F 0 ) , j=1,2,...,n    (10)
求出对各参照数据进行变形而得到的数据。其中,Iw j(j=1,2,…,n)表示Ij的变形,W表示扭曲(warping)函数。通过扭曲函数W将Ij(j=1,2,…,n)变形而生成Iw j(j=1,2,…,n)。Iw j(j=1,2,…,n)具有特征向量F0。在该处理中,计算部15作为图9所示的数据变形部71而发挥功能。
·步骤3(图18所示的步骤S.113)
计算部15基于
I 0 p 0 = &Sigma; j = 1 n a j I jp w , p=1,2,...,Nd    (11′)
求出隐藏秘密数据之前的变形数据I0 0。其中,I0 0p、Iw 1p、…、Iw np分别表示I0 0、Iw 1、…、Iw n的第p个要素。在该处理中,计算部15作为图9所示的实质载体数据生成部73而发挥功能。
·步骤4(图18所示的步骤S.114)
接着,计算部15设定p=1、q=1、s=I0 0这样的值,进行数据的初始化。
·步骤5(图18所示的步骤S.115中“是”、步骤S.116)
计算部15判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2(图18所示的步骤S.115)。
在存在使Δp(j1,j2)≠0的j1和j2的情况下(在步骤S.115中为“是”的情况下),计算部15按照预先决定的规则选择j1和j2,根据
sp=MSB(I0 0p)+mq    (26)
求出隐秘对象sp(步骤S.116),并将处理转移到后述的步骤7(步骤S.118)。在此,sp表示s的第p个要素,mq表示m的第q个要素。其中,q为q≤ν。
·步骤6(图18所示的步骤S.115中“否”、步骤S.117)
在不存在使Δp(j1,j2)≠0的j1和j2的情况下(在步骤S.115中为“否”的情况下),计算部15使p的值增加1(p=p+1:步骤S.117),将处理转移到步骤5(图18所示的步骤S.115)。
·步骤7(图18所示的步骤S.118、步骤S.119)
计算部15使p的值增加1(p=p+1),还使q的值增加1(q=q+1)(步骤S.118)。然后,计算部15判断是否满足q<ν(步骤S.119),在满足q<ν的情况下(在步骤S.119中为“是”的情况下),将处理转移到步骤5(图18所示的步骤S.115)。另一方面,在不满足q<ν的情况下(在步骤S.119中为“否”的情况下),计算部15最终结束处理。
在上述的步骤4~步骤7的处理中,计算部15作为图9所示的隐秘对象生成部74而发挥功能。通过执行上述的步骤1~步骤7的处理,在Δp(j1,j2)≠0的p时,能够在变形数据I0 0的最下位的b位中隐藏秘密数据,第三者至少难以判断哪个位置隐藏了秘密数据。此外,在该情况下,变形数据I0 0相当于实质载体数据。
此外,在上述实施方式5的秘密数据隐藏处理中,Δp也并不限定于(Iw j1,p-Iw j2,p),通常,能够定义为参照数据、参照数据的变形、实质载体数据I0 0的函数。因此,Δp=(Iw j1,p-Iw j2,p)仅是一例。例如,作为Δp,还能够使用参照数据的函数而设定为Δp=(Ij1,p-Ij2,p)。另外,还能够在上述秘密信息隐藏装置1(隐藏信息侧)和后述的秘密信息还原装置2(还原信息侧)中共享Δp的计算方法,或者,还能够设为隐秘密钥的一部分。
在秘密信息还原装置2中,能够从通过上述隐藏处理而隐藏了秘密数据的隐秘对象s中提取(还原、再现)出多个秘密数据{m1,m2,…,mν}。
图19是表示计算部15读出存储在ROM16中的程序来进行秘密数据的提取处理(实现提取处理方法)时的功能框的图。在图19中,数据变形部(数据变形单元)91、F0生成部(F0生成单元)92以及秘密数据再现部(秘密数据再现单元)94实质上相当于按照程序进行提取处理(实现提取处理方法)的计算部15。另外,载体数据存储部95、隐秘密钥存储部96、隐秘对象存储部97、秘密数据存储部98以及工作存储器99实质上相当于RAM17或者辅助存储部12。
如图19所示,在隐秘对象存储部97中存储由图9所示的秘密信息隐藏装置1通过图18所示的处理方法生成的隐秘对象s,在载体数据存储部95中存储载体数据c,在隐秘密钥存储部96中存储隐秘密钥ks,在秘密数据存储部98中存储秘密数据m。
此外,在实施方式5中,计算部15作为隐秘对象获取部而发挥功能,经由开放式网络3从图9所示的秘密信息隐藏装置1的隐秘对象存储部78获取通过图18所示的处理生成的隐秘对象s,并存储到隐秘对象存储部97中。
另外,计算部15作为载体数据获取部和隐秘密钥获取部而发挥功能,进行如下处理:经由封闭式网络获取在秘密信息隐藏装置1中进行秘密数据的隐藏处理所利用的载体数据和隐秘密钥,并存储到载体数据存储部95和隐秘密钥存储部96中。此外,也可以采用如下结构:在所有的秘密信息还原装置2的载体数据存储部95和隐秘密钥存储部96中预先存储载体数据和隐秘密钥。
另外,计算部15根据需要而作为秘密数据输出部发挥功能,作用是从秘密数据存储部98读出秘密数据,使显示部7等显示提取出的数据。
接着,按照图20所示的流程图来说明实施方式5中的计算部15的秘密数据提取处理。在提取隐藏在参照数据中的多个秘密数据时,如下这样定义隐秘对象、载体数据、隐秘密钥、秘密数据。
隐秘对象s、载体数据c={I1,I2,…,In}、隐秘密钥ks={F1,F2,…,Fn;a1,a2,…,an}、秘密数据m={m1,m2,…,mν}
计算部15以这样定义的s、c、ks为输入数据来进行从隐秘对象s中提取秘密数据m的处理。
[实现用于提取秘密数据的函数f-1的算法]
输入:s、c={I1,I2,…,In}、ks={F1,F2,…,Fn;a1,a2,…,an}
输出:m={m1,m2,…,mν}
·步骤1(图20所示的步骤S.121)
计算部15利用下式求出变形数据I0的特征向量F0。其中,将贡献度a1,a2,…,an设为事先进行归一化得到的值。
F 0 p = &Sigma; j = 1 n a j F jp , p=1,2,...,Nf    (9)
其中,Fjp(j=0,1,…,n)表示Fj的第p个要素。在该处理中,计算部15作为图19所示的F0生成部92而发挥功能。
·步骤2(图20所示的步骤S.122)
计算部15利用下式求出各参照数据的变形。
I j w = W ( I j , F j , F 0 ) , j=1,2,...,n    (10)
其中,Iw j(j=1,2,…,n)表示Ij的变形,W表示扭曲(warping)函数。通过扭曲函数W将Ij(j=1,2,…,n)变形而生成Iw j(j=1,2,…,n)。Iw j(j=1,2,…,n)具有特征向量F0。在该处理中,计算部15作为图19所示的数据变形部91而发挥功能。
·步骤3(图20所示的步骤S.123)
接着,计算部15设定p=1、q=1这样的值,进行数据的初始化。
·步骤4(图20所示的步骤S.124中“是”、步骤S.125)
计算部15判断是否存在使Δp(j1,j2)≠0的j1和j2(图20所示的步骤S.124)。在存在使Δp(j1,j2)≠0的j1和j2的情况下(在步骤S.124中为“是”的情况下),计算部15根据预先决定的规则选择符合的j1和j2,用下面的式
mq=sp-MSB(sp)    (27)
来求出被缩放的秘密数据(步骤S.125),之后将处理转移到后述的步骤6(步骤S.127)。在此,sp表示s的第p个要素,mq表示m的第q个要素。其中,q为q≤ν。
·步骤5(图20所示的步骤S.124中“否”、步骤S.126)
在不存在使Δp(j1,j2)≠0的j1和j2的情况下(在步骤S.124中为“否”的情况下),计算部15使p的值增加1(p=p+1:步骤S.126),将处理转移到步骤4(图20所示的步骤S.124)。
·步骤6(图20所示的步骤S.127、步骤S.128)
计算部15使p的值增加1(p=p+1),还使q的值增加1(q=q+1)(步骤S.127)。然后,计算部15判断是否满足q<ν(图20所示的步骤S.128),在满足q<ν的情况下(在图20所示的步骤S.128中为“是”的情况下),将处理转移到步骤4(图20所示的步骤S.124)。另一方面,在不满足q<ν的情况下(在图20所示的步骤S.128中为“否”的情况下),结束处理。
在步骤4~步骤6的处理中,计算部15作为图19所示的秘密数据再现部94而发挥功能。通过进行这种处理,能够从隐藏了多个秘密数据的隐秘对象s中求出隐藏了秘密数据的位置,来提取秘密数据。在实施方式5中,与实施方式4不同,需要使用载体数据和隐秘密钥,求出Iw j1,p和Iw j2,p,求出使Δp(j1,j2)=(Iw j1,p-Iw j2, p)≠0的p,因此即使仅获取到隐秘对象s,也无法提取出秘密数据m,能够提高安全性。
此外,在上述实施方式5的秘密数据提取处理中,Δp也并不限定于(Iw j1,p-Iw j2,p),通常,能够定义为参照数据、参照数据的变形、实质载体数据I0 0的函数。因此,Δp=(Iw j1,p-Iw j2,p)仅是一例。
例如,作为Δp,还能够使用参照数据的函数而设定为Δp=(Ij1, p-Ij2,p)。另外,在定义为实质载体数据I0 0的函数的情况下,通过计算部15根据
I 0 p 0 = &Sigma; j = 1 n a j I jp w , p=1,2,...,Nd    (11′)
求出隐藏秘密数据之前的变形数据I0 0,能够设定Δp
并且,还能够在秘密信息隐藏装置1(隐藏信息侧)和上述秘密信息还原装置2(还原信息侧)中共享Δp的计算方法,或者,还能够设为隐秘密钥的一部分。
[实施方式6]
接着,说明实施方式6。在实施方式6中,进一步改进了在实施方式5中说明的方法。具体地说,特征在于,在将秘密数据x嵌入到变形数据的最下位的位时,不是直接嵌入,而是根据与参照数据、变形数据等关联的数值y和秘密数据x来进行以位为单位的XOR(异或)运算之后进行嵌入。即,将
sp=MSB(I0 0p)+x    (25)
变更为
s p = MSB ( I 0 p 0 ) + x &CirclePlus; y - - - ( 28 )
在此,在+上重叠○而成的字符表示以位为单位的XOR运算,x表示用b位表示的秘密数据的要素,y表示载体数据、参照数据或者从其变形求出的能够用b位表示的数值。作为相当于y的例子,考虑使用以下式。
1)y=LSB(I0 0p)…将I0 0p的最下位的b位设为y。
2)y=LSB(Iw 1,p-Iw 2,p)
              …将Iw 1,p-Iw 2,p的最下位的b位设为y。
3)y=LSB(Iw j,p)…将Iw j,p的最下位的b位设为y。
也就是说,能够将I0 0、Iw n,p和(Iw j1,p-Iw j2,p)中的任一个且由b位数值构成的数据设定为y。另外,如果是由b位数值构成的数据,则并不限定于最下位的b位,但是在实施方式6中,作为一例,使用最下位的b位的数据来进行说明。
这样,通过设定y,以依赖于参照数据、变形数据的方式嵌入秘密数据,由此即使第三者从隐秘对象s的最下位的位提取出
Figure BDA00002726066900912
也无法求出x。另外,y起到加密秘钥的作用,因此在嵌入秘密数据之前不需要对秘密数据进行加密。因此还能够节省加密的计算成本。
接着,基于以上的说明,对计算部15将多个秘密数据m={m1,m2,…,mν}隐藏到载体数据c中或者进行提取的处理进行说明。
图9是表示实施方式6中计算部15读出存储在ROM16中的程序来进行秘密数据隐藏处理(实现隐藏处理方法)时的功能框的图。在实施方式6的秘密信息隐藏装置1中,具备与在实施方式3中说明的秘密信息隐藏装置1相同的功能框。因此,作为实施方式6的各框结构,使用在实施方式3中使用的图9,并且使用相同的附图标记来进行说明。
在图9中,数据变形部(数据变形单元)71、F0生成部(F0生成单元)72、实质载体数据生成部(实质载体数据生成单元)73以及隐秘对象生成部(隐秘对象生成单元)74实质上相当于按照程序进行隐藏处理(实现隐藏处理方法)的计算部15。另外,秘密数据存储部75、载体数据存储部76、隐秘密钥存储部77、隐秘对象存储部78以及工作存储器79实质上相当于RAM17或者辅助存储部12。
此外,还能够设为:在载体数据存储部76中预先存储有载体数据c,在隐秘密钥存储部77中预先存储有隐秘密钥ks。另外,在秘密数据存储部75中预先存储秘密数据m,在隐秘对象存储部78中存储生成的隐秘对象s。
另外,也可以设为如下结构:计算部15经由开放式网络3或者封闭式网络来获取秘密数据隐藏处理所使用的载体数据、秘密数据或者隐秘密钥。在这种情况下,计算部15作为载体数据获取部、秘密数据获取部或者隐秘密钥获取部而发挥功能,进行将所获取的各数据分别存储到载体数据存储部76、秘密数据存储部75或者隐秘密钥存储部77中的处理。
但是,在实际利用图9所示的秘密信息隐藏装置1时,认为在很多情况下是将载体数据和隐秘密钥预先存储到载体数据存储部76和隐秘密钥存储部77中。
另外,计算部15根据需要而作为隐秘对象输出部发挥功能,作用是从隐秘对象存储部78读出隐秘对象,经由开放式网络3输出到作为秘密信息还原装置2而发挥功能的计算机。
接着,按照图21所示的流程图来说明实施方式6所涉及的计算部15的秘密数据隐藏处理。
在实施方式6所涉及的秘密数据隐藏处理中,如下这样进行定义。
秘密数据m={m1,m2,…,mν}、载体数据c={I1,I2,…,In}、隐秘密钥ks={F1,F2,…,Fn;a1,a2,…,an}、隐秘对象s
在此,m1~mν是秘密数据,I1~In是参照数据,F1~Fn是与参照数据I1~In分别对应的特征向量,a1~an是各个参照数据的贡献度。另外,s是隐秘对象,根据从参照数据得到的变形数据I0 0来求出。
计算部15以这样定义的m、c、ks为输入数据来进行输出隐秘对象s的处理。
[实现用于隐藏秘密数据的函数f的算法]
输入:m={m1,m2,…,mν}、c={I1,I2,…,In}、ks={F1,F2,…,Fn;a1,a2,…,an}
输出:s
·步骤1(图21所示的步骤S.131)
首先,计算部15利用
F 0 p = &Sigma; j = 1 n a j F jp , p=1,2,...,Nf    (9)
求出变形数据的特征向量。在此,a1,a2,…,an是事先进行归一化得到的值。另外,Fjp(j=0,1,…,n)表示Fj的第p个要素。在该处理中,计算部15作为图9所示的F0生成部72而发挥功能。
·步骤2(图21所示的步骤S.132)
接着,计算部15利用
I j w = W ( I j , F j , F 0 ) , j=1,2,...,n    (10)
求出对各参照数据进行变形而得到的数据。其中,Iw j(j=1,2,…,n)表示Ij的变形,W表示扭曲(warping)函数。通过扭曲函数W将Ij(j=1,2,…,n)变形而生成Iw j(j=1,2,…,n)。Iw j(j=1,2,…,n)具有特征向量F0。在该处理中,计算部15作为图9所示的数据变形部71而发挥功能。
·步骤3(图21所示的步骤S.133)
计算部15基于
I 0 p 0 = &Sigma; j = 1 n a j I jp w , p=1,2,...,Nd    (11′)
求出隐藏秘密数据之前的变形数据I0 0。其中,I0 0p、Iw 1p、…、Iw np分别表示I0 0、Iw 1、…、Iw n的第p个要素。在该处理中,计算部15作为图9所示的实质载体数据生成部73而发挥功能。
·步骤4(图21所示的步骤S.134)
接着,计算部15设定p=1、q=1、s=I0 0这样的值,进行数据的初始化。
·步骤5(图21所示的步骤S.135中“是”、步骤S.136)
计算部15判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2(图21所示的步骤S.135)。
在存在使Δp(j1,j2)≠0的j1和j2的情况下(在步骤S.135中为“是”的情况下),计算部15按照预先决定的规则选择j1和j2,根据
s p = MSB ( I 0 p 0 ) + m q &CirclePlus; y - - - ( 29 )
求出隐秘对象sp(步骤S.136),并将处理转移到后述的步骤7(步骤S.138)。y是根据I0 0p、Iw j1,p、Iw j2,p等来求出的,是能够用b位表示的数值。另外,sp表示s的第p个要素,mq表示m的第q个要素。其中,q为q≤ν。
·步骤6(图21所示的步骤S.135中为“否”、步骤S.137)
在不存在使Δp(j1,j2)≠0的j1和j2的情况下(在步骤S.135中为“否”的情况下),计算部15使p的值增加1(p=p+1:步骤S.137),将处理转移到步骤5(图21所示的步骤S.135)。
·步骤7(图21所示的步骤S.138)
计算部15使p的值增加1(p=p+1),还使q的值增加1(q=q+1)(步骤S.138)。然后,计算部15判断是否满足q<ν(步骤S.139),在满足q<ν的情况下(在步骤S.139中为“是”的情况下),将处理转移到步骤5(图21所示的步骤S.135)。另一方面,在不满足q<ν的情况下(在步骤S.139中为“否”的情况下),计算部15最终结束处理。
在上述步骤4~步骤7的处理中,计算部15作为图9所示的隐秘对象生成部74而发挥功能。通过执行上述步骤1~步骤7的处理,在使Δp(j1,j2)≠0的p处,能够在变形数据I0 0的最下位的b位中隐藏秘密数据。并且,对于被隐藏的秘密数据,在秘密数据与根据从变形数据等求出的b位的值进行XOR运算之后被隐藏。因此,第三者难以判断隐藏了秘密数据,并且,能够降低秘密数据被第三者提取出的危险性。
此外,在上述实施方式6的秘密数据隐藏处理中,Δp并不限定于(Iw j1,p-Iw j2,p),通常能够定义为参照数据、参照数据的变形、实质载体数据I0 0的函数。因此,Δp=(Iw j1,p-Iw j2,p)仅是一例。例如,作为Δp,还能够使用参照数据的函数而设定为Δp=(Ij1,p-Ij2, p)。另外,还能够在上述秘密信息隐藏装置1(隐藏信息侧)和后述的秘密信息还原装置2(还原信息侧)共享Δp的计算方法,或者,还能够设为隐秘密钥的一部分。
在秘密信息还原装置2中,能够从通过上述隐藏处理而隐藏了秘密数据的隐秘对象s中提取(还原、再现)出多个秘密数据{m1,m2,…,mν}。
图19是表示计算部15读出存储在ROM16中的程序来进行秘密数据提取处理(实现提取处理方法)时的功能框的图。在实施方式6的秘密信息还原装置2中,具备与在实施方式5中说明的秘密信息还原装置2相同的功能框。因此,作为实施方式6的各框结构,使用在实施方式5中使用的图19,并且使用相同的附图标记来进行说明。
在图19中,数据变形部(数据变形单元)91、F0生成部(F0生成单元)92以及秘密数据再现部(秘密数据再现单元)94实质上相当于按照程序进行提取处理(实现提取处理方法)的计算部15。另外,载体数据存储部95、隐秘密钥存储部96、隐秘对象存储部97、秘密数据存储部98以及工作存储器99实质上相当于RAM17或者辅助存储部12。
如图19所示,在隐秘对象存储部97中存储由图9所示的秘密信息隐藏装置1通过图21所示的处理方法而生成的隐秘对象s,在载体数据存储部95中存储载体数据c,在隐秘密钥存储部96中存储隐秘密钥ks,在秘密数据存储部98中存储秘密数据m。
此外,在实施方式6中,计算部15作为隐秘对象获取部而发挥功能,经由开放式网络3从图9所示的秘密信息隐藏装置1的隐秘对象存储部78获取通过图21所示的处理而生成的隐秘对象s,并存储到隐秘对象存储部97中。
另外,计算部15作为载体数据获取部和隐秘密钥获取部而发挥功能,进行如下处理:经由封闭式网络获取在秘密信息隐藏装置1中进行秘密数据隐藏处理所利用的载体数据和隐秘密钥,并存储到载体数据存储部95和隐秘密钥存储部96中。此外,也可以采用如下结构:在所有的秘密信息还原装置2的载体数据存储部95和隐秘密钥存储部96中预先存储载体数据和隐秘密钥。
另外,计算部15根据需要而作为秘密数据输出部发挥功能,作用是从秘密数据存储部98读出秘密数据,使显示部7等显示提取出的数据。
接着,按照图22所示的流程图来说明实施方式6中的计算部15的秘密数据提取处理。在提取隐藏在参照数据中的多个秘密数据时,如下这样定义隐秘对象、载体数据、隐秘密钥、秘密数据。
隐秘对象s、载体数据c={I1,I2,…,In}、隐秘密钥ks={F1,F2,…,Fn;a1,a2,…,an}、秘密数据m={m1,m2,…,mν}
计算部15以这样定义的s、c、ks为输入数据来进行提取秘密数据m的处理。
[实现用于提取秘密数据的函数f-1的算法]
输入:s、c={I1,I2,…,In}、ks={F1,F2,…,Fn;a1,a2,…,an}
输出:m={m1,m2,…,mν}
·步骤1(图22所示的步骤S.141)
计算部15利用下式求出变形数据I0的特征向量F0。其中,将贡献度a1,a2,…,an设为事先进行归一化得到的值。
F 0 p = &Sigma; j = 1 n a j F jp , p=1,2,...,Nf    (9)
其中,Fjp(j=0,1,…,n)表示Fj的第p个要素。在该处理中,计算部15作为图19所示的F0生成部92而发挥功能。
·步骤2(图22所示的步骤S.142)
计算部15利用下式求出各参照数据的变形。
I j w = W ( I j , F j , F 0 ) , j=1,2,...,n    (10)
其中,Iw j(j=1,2,…,n)表示Ij的变形,W表示扭曲(warping)函数。通过扭曲函数W将Ij(j=1,2,…,n)变形而生成Iw j(j=1,2,…,n)。Iw j(j=1,2,…,n)具有特征向量F0。在该处理中,计算部15作为图19所示的数据变形部91而发挥功能。
·步骤3(图22所示的步骤S.143)
接着,计算部15设定p=1、q=1这样的值,进行数据的初始化。
·步骤4(图22所示的步骤S.144中为“是”、步骤S.145)
判断是否存在使Δp(j1,j2)≠0的j1和j2(图22所示的步骤S.144)。在存在使Δp(j1,j2)≠0的j1和j2的情况下(在步骤S.144中为“是”的情况下),计算部15根据预先决定的规则选择符合的j1和j2,用下面的式
m q = ( s p - MSB ( s p ) ) &CirclePlus; y - - - ( 30 )
求出被缩放的秘密数据(步骤S.145),之后将处理转移到后述的步骤6(步骤S.147)。其中,y是根据I0 0p、Iw j1,p、Iw j2,p等来求出的,是能够用b位表示的数值。另外,sp表示s的第p个要素,mq表示m的第q个要素。其中,q为q≤ν。
·步骤5(图22所示的步骤S.144中为“否”、步骤S.146)
在不存在使Δp(j1,j2)≠0的j1和j2的情况下(在步骤S.144中为“否”的情况下),计算部15使p的值增加1(p=p+1:步骤S.146),将处理转移到步骤4(图22所示的步骤S.144)。
·步骤6(图22所示的步骤S.147、步骤S.148)
计算部15使p的值增加1(p=p+1),还使q的值增加1(q=q+1)(步骤S.147)。然后,计算部15判断是否满足q<ν(图22所示的步骤S.148),在满足q<ν的情况下(在图22所示的步骤S.148中为“是”的情况下),将处理转移到步骤4(图22所示的步骤S.144)。另一方面,在不满足q<ν的情况下(在图22所示的步骤S.148中为“否”的情况下),结束处理。
在步骤4~步骤6的处理中,计算部15作为图19所示的秘密数据再现部94而发挥功能。通过这种处理,从隐藏了多个秘密数据的隐秘对象s中求出隐藏了秘密数据的位置,进行数据的提取,并且根据提取出的数据和y的值来进行XOR运算,由此提取出秘密数据,因此能够提高安全性。另外,与实施方式5同样地,基本上不进行加密就能够确保充分的安全性,并且,如果没有通信错误等,则能够正确地再现秘密数据,因此能够提高提取精度。
此外,在上述实施方式6中说明了以下情况:作为y的值,使用与参照数据、变形数据等关联的数值。然而,y并不限定于与参照数据、变形数据等关联的数值。例如,还能够设定种子值r,根据该种子值r来生成随机数列y1,y2,…,由此设定y。在该情况下,需要将种子值r追加到隐秘密钥。
另外,在上述实施方式6的秘密数据提取处理中,Δp并不限定于(Iw j1,p-Iw j2,p),通常,能够定义为参照数据、参照数据的变形、实质载体数据I0 0的函数。因此,Δp=(Iw j1,p-Iw j2,p)仅是一例。
例如,作为Δp,还能够使用参照数据的函数而设定为Δp=(Ij1,p-Ij2,p)。另外,在定义为实质载体数据I0 0的函数的情况下,计算部15利用下式求出隐藏秘密数据之前的变形数据I0 0
I 0 p 0 = &Sigma; j = 1 n a j I jp w , p=1,2,...,Nd    (11′)
由此,能够进行Δp的设定。
并且,能够在秘密信息隐藏装置1(隐藏信息侧)和上述秘密信息还原装置2(还原信息侧)共享Δp的计算方法,或者,还能够设为隐秘密钥的一部分。
接着,说明安全性。在以往的方法中,在提取侧只要能够获取隐秘密钥就能够从隐秘对象s中提取出秘密数据m。假设已知秘密数据的存在,或者原本就知道在隐秘对象s中隐藏了秘密数据,则通过推测小的隐秘密钥,有可能从隐秘对象s中提取出秘密数据m。
然而,在利用实施方式3、实施方式5、实施方式6等所示的秘密数据的隐藏方法的情况下,为了提取秘密数据m,需要参照数据和隐秘密钥这两者。当将参照数据和隐秘密钥结合时,能够视作非常大的加密密钥,理论上不可能推测出该加密密钥。因而,在利用实施方式3等的隐藏方法的情况下,很难从隐秘对象s推测出秘密数据m。当然,也能够将秘密数据加密后进行隐藏,因此可以说通过在加密后进行隐藏处理能够进一步提高秘密数据的安全性。
如上述的实施方式1~实施方式6所示那样,在各个秘密信息隐藏装置1和秘密信息还原装置2的载体数据存储部和隐秘密钥存储部中存储载体数据和隐秘密钥来实现数据的共享。而且,在秘密信息隐藏装置1中生成将秘密数据隐藏到载体数据中的隐秘对象,从秘密信息隐藏装置1经由开放式网络3向秘密信息还原装置2发送隐秘对象。通过采用这种结构,在秘密信息还原装置2中,能够根据共享的载体数据和隐秘密钥来从隐秘对象中提取(再现)出秘密数据。
另外,通过经由开放式网络3进行隐藏有秘密数据的隐秘对象的发送接收,还能够扩展至组通信来利用秘密数据。
例如,在组的各成员之间,不仅独立地进行隐藏有秘密数据的隐秘对象的发送接收,还能够将隐藏有秘密数据的隐秘对象以能够下载的状态登载到web上的公告板、博客等。在这种情况下,其它的成员能够根据需要从该公告板等下载隐秘对象来进行秘密数据的提取(再现)。该公告板等可以是组共享的,也可以是各成员单独拥有的。
另外,在成员之间还能够将隐秘对象添附到电子邮件中进行发送接收,通过这样进行发送接收,接收者并非被动地接收隐秘对象,而是能够在确认邮件的发送源之后获取所添附的数据,因此能够避开垃圾邮件、恶意邮件等。
并且,通过应用实施方式1~实施方式6所示的秘密信息隐藏装置1以及秘密信息还原装置2,还能够构建存储有用户(使用者)的认证信息的存储介质、例如使用了认证卡等的卡用户的认证***。
图23是表示卡用户的认证***的概要结构的图。在图23所示的认证***110中,至少一台远程服务器111和一台以上的本地终端112经由开放式网络3相连接。另外,在本地终端112中设置有读卡器112a,该读卡器112a用于从卡113读取对用户所拥有的卡进行认证时所使用的数据(例如,隐秘密钥、隐秘对象)。
在这样的认证***110中,通过将载体数据存储到本地终端112和远程服务器111中来实现载体数据的共享,将隐秘密钥分散存储于远程服务器111或卡113中。另外,在远程服务器111中,针对任意的用户,根据需要选择参照数据,将用户的认证信息(例如,脸部照片、静脉图案等,该信息相当于秘密数据)隐藏(嵌入)到隐秘对象中,将隐秘对象分散存储于远程服务器111或卡113中。
在用户向操作本地终端112的操作员等出示卡113而能够由读卡器112a读取存储在卡113中的数据的情况下,在本地终端112中,从卡113直接获取隐秘密钥和隐秘对象,或者根据卡信息从连接在网络3上的远程服务器111获取隐秘密钥和隐秘对象,利用预先存储在本地终端112中的载体数据等来还原用户的认证信息。这样还原出的用户的认证信息,例如真正用户的脸部照片被显示在本地终端112的显示画面等上。操作员通过将所显示的真正用户的脸部照片与实际出示卡113的人的脸部进行比较,能够判断卡出示者是否为真正的(规定的)卡113的拥有者。
此外,在实施方式2~实施方式6所示的秘密信息隐藏方法以及秘密信息还原方法中,能够在隐秘对象中嵌入相同的人的不同角度的照片、亲戚或代理人的照片、照片以外的认证信息、通过实施方式1的方法等获得的变形数据等。
在图24中,作为一例示出了利用在实施方式3中说明的秘密信息隐藏方法,使用图24的(a)所示的两张载体图像将图24的(b)所示的四张小图像(秘密图像)嵌入到图24的(c)所示的变形图像中的情况。图24的(d)示出了从图24的(c)所示的变形图像中提取出的图像(提取图像)。由于示出了变形图像被变换为8位的整数进行保存的情况,因此提取出的图24的(d)的图像与图24的(b)所示的源图像(秘密图像)相比劣化少许,但是如果保持了实质的图像的同一性而能够判断为是基于同一图像的图像,则能够判断为是允许范围内的劣化。
另外,在实施方式4~6所示的方法中,还能够采用以下方法:仅在各个秘密信息隐藏装置1和秘密信息还原装置2的载体数据存储部中存储载体数据,实现参照数据的共享,将隐秘密钥直接隐藏到隐秘对象中。
例如,在图23所示的认证***110中,将多个参照数据(载体数据)作为参照数据集合而预先存储到本地终端112,或者,能够经由封闭式网络将本地终端与远程服务器111进行连接而始终能够读出存储在远程服务器111中的参照数据集合,经由开放式网络3将隐藏了秘密数据和隐秘密钥的隐秘对象发送到本地终端112。在这种认证***110中,通过以下的过程,在隐秘对象的发送侧与接收侧能够进行秘密数据的隐藏和还原。
[向隐秘对象的秘密数据和隐秘密钥的隐藏]
步骤1:将参照数据集合的成员数量设为N。生成n(1<n<N)个不同的整数的随机数i1,i2,…,in,将这些随机数i1,i2,…,in作为索引,从参照数据集合中获取n个参照数据。
步骤2:定义各个参照数据的特征向量F1,F2,…,Fn
步骤3:生成n个正(>0)的随机数r1,r2,…,rn,求出
a j = r j / &Sigma; j = 1 n r j
将其设为第Ij个参照数据的贡献度。
步骤4:利用以上的参照数据、特征向量、贡献度,使用实施方式4~6中说明的方法来求出隐秘对象,进行秘密数据的隐藏(嵌入)。
步骤5:在隐秘对象的指定位置(事先指定的嵌入了隐秘密钥的位置且还未嵌入秘密数据的位置)处,使用以往的隐写技术,嵌入索引信息i1,i2,…,in、特征向量F1,F2,…,Fn以及第Ij个参照数据的贡献度a1,a2,…,an。也就是说,将隐秘密钥隐藏到隐秘对象。
步骤6:经由开放式网络将隐藏了秘密数据和隐秘密钥的隐秘对象发送到接收侧。
[来自隐秘对象的秘密数据的还原]
在接收侧,经由开放式网络获取隐秘对象。而且,在接收侧如下那样还原秘密数据。
步骤1:从隐秘对象的指定位置(事先对接收者指定的嵌入隐秘密钥的位置)中提取出索引信息i1,i2,…,in、特征向量F1,F2,…,Fn以及贡献度a1,a2,…,an
步骤2:根据索引信息i1,i2,…,in,从参照数据集合中选择n个参照数据,将第ij个参照数据的特征向量设为Fj,将贡献度设为aj,使用在实施方式4~6中说明的方法来还原秘密数据。
在以往的隐秘对象的发送和接收方法中,在发送侧从载体数据中求出隐秘对象之后废除载体数据,在接收侧,根据隐秘对象和隐秘密钥来再现秘密数据。在该情况下,信息的安全性完全地依赖于隐秘密钥,因此有可能第三者根据多个隐秘对象来确定隐秘密钥,解码秘密信息。
另一方面,在上述隐秘对象的发送和接收方法中,将载体数据作为参照数据集合而预先存储在本地终端112等中,因此,也可以不用将载体数据从发送侧逐一发送到接收侧。因而,用于再现秘密数据的密钥信息非常有效地变大,即使万一获知秘密信息的存在,信息的安全性也非常高。实际上,根据实施方式6中说明的[实现用于隐藏秘密数据的函数f的算法]、[实现用于提取秘密数据的函数f-1的算法]可知,秘密数据的提取和还原依赖于参照数据、参照数据的变形、参照数据的组合以及变形数据等。因此,认为通过严格地管理参照数据,第三者仅利用经由开放式网络获取到的信息无法确定秘密数据。
另外,在上述隐秘对象的发送和接收方法中,例如,不是将所使用的参照数据的数量n设为常数,而是能够在每次秘密数据不同时进行改变。另外,使用的参照数据的索引信息i1,i2,…,in与其贡献度a1,a2,…,an不仅与秘密数据一起嵌入到隐秘对象而发送到接收侧,还能够在发送侧和接收侧共享相同的随机数种子,根据该随机数种子在各个位置生成或者算出索引信息i1,i2,…,in与其贡献度a1,a2,…,an。当然,也能够不是以随机数而是以依赖于秘密数据(例如,基于表示秘密数据的数列通过哈希函数等得到的数值)的方式求出参照数据的索引信息。
并且,还能够不将索引信息、特征向量、贡献度隐藏到隐秘对象,而是通过另外的途径(电子邮件)发送到接收侧。以往,设为针对每次发送定义参照数据的特征向量,但是也可以将参照数据本身设为固定而与参照数据集合一起保存到参照数据存储装置。当将特征向量设为可变时,即使使用相同的参照数据,如果定义不同的特征向量,则也能够生成不同的变形数据,因此能够进一步提高信息的安全性。通常,与参照数据相比,特征向量的数据量非常小,因此能够与索引信息、贡献度同样地处理特征向量。
另外,还能够将发送侧与接收侧之间的数据通信容易地扩展到组间通信(例如,经由社交网络等进行的通信)。在各组成员成为发送侧和接收侧的情况下,容易在组成员中共享共用的参照数据集合。
并且,能够不是仅利用于接收侧与发送侧之间的通信,还如上所述那样利用于服务器客户端之间的通信。例如,服务器生成所有的参照数据,保持为参照数据集合。而且,服务器对预先设定的(例如,进行了与秘密数据的发送和接收有关的协议等)客户端发送一部分(参照数据集合的一部分集合)的参照数据。在服务器要对特定的客户端发送信息时,利用该客户端固有的参照数据来制作隐秘对象即可。通过服务器发送制作出的隐秘对象,在各客户端中,能够根据各客户端固有的参照数据来提取信息。
另外,还能够不是通常的发送和接收,而是服务器将秘密信息嵌入到隐秘对象之后,登载到公告板(主页、博客等)。有关人员(成员)能够根据固有的参照数据,从公告板下载隐秘对象,并提取出秘密信息。
并且,还能够使用基于公告板的通信方法来进行电子邮件的发送和接收。在该情况下,接收者不是被动地接收,而是能够根据需要从公告板获取邮件,因此能够避开垃圾邮件、恶意邮件等。
图25和图26是表示在服务器、本地终端以及用户的便携式设备之间进行相互认证和数据的发送和接收时的时序处理的一例的图。具体地说,图25表示进行认证处理之前的准备作业的时序,图26表示实际进行认证时的认证处理的时序。
作为***结构,例如假设以下情况:在店铺等中参照秘密数据来确认使用者是否为店铺侧认可使用的合法的用户(保持者)。作为便携式设备,使用者携带IC卡、具备IC卡功能的智能手机和便携式电话机等(例如,具备电子货币功能的智能手机和便携式电话机等),向操作本地终端的操作员呈现便携式设备,由此能够进行认证作业。此外,本地终端与服务器经由网络进行连接。
接着,按照图25所示的时序顺序来说明进行认证处理之前的准备作业。
步骤1:服务器生成参照数据集合,对生成的参照数据集合进行加密,存储到服务器的参照数据存储装置。在此,由服务器管理者等管理加密/解密密钥。另外,加密/解密密钥也可以是可变的。
步骤2:使服务器作为web服务器而发挥功能,由此开设终端加盟申请用网站。
步骤3:并且,在服务器中开设用户申请用网站。
步骤4:在本地终端中,将加盟申请所需的信息(识别码、型号、IP地址、配置状态、所属、管理者、使用者、公开加密密钥等)经由终端加盟申请用网站提供给服务器。
步骤5:在服务器中,在由担当者等审查经由终端加盟申请用网站申请的本地终端的申请信息而能够判断为根据加盟申请所需的信息的内容办理了申请手续的终端的可靠性低的情况下,能够从服务器侧对本地终端要求追加信息或者拒绝本地终端的加盟申请。在判断为根据从本地终端获取到的信息能够确保可靠性的情况下,将本地终端的信息追加登记到服务器的“终端表”。终端表的内容在服务器中加密之后保存。对终端表的内容进行加密和解密时的加密和解密密钥也由服务器管理者等进行管理。另外,加密和解密密钥也可以是可变的。
步骤6:在服务器中,对参照数据集合进行置换变换,利用本地终端的公开密钥进行加密之后发送到本地终端。另外,在服务器中,将反置换变换信息登记到终端表。
步骤7:在本地终端中,将接收到的参照数据集合保持加密状态保存到本地终端侧的参照数据存储装置。
步骤8:用户将成员申请所需的信息(ID编号、脸部照片等认证信息、职业、工作单位、联系方法等)经由用户申请用网站提供给服务器。
步骤9:在服务器中,在由担当者等审查经由用户申请用网站申请的申请信息而能够判断为根据成员申请所需的信息的内容办理了申请手续的成员的可靠性低的情况下,能够对用户要求追加信息或者拒绝成员申请。在判断为根据从用户处获取到的信息能够确保可靠性的情况下,将用户的信息追加登记到服务器的“用户表”。用户表的内容在服务器中加密之后进行保存。对用户表的内容进行加密和解密时的加密和解密密钥由服务器管理者等进行管理。另外,加密和解密密钥也可以是可变的。
步骤10:在服务器中,从参照数据集合中选择多个参照数据,定义对应的参照数据的特征向量和贡献度,求出隐藏用户的认证信息的隐秘对象。
步骤11:在服务器中,将隐秘对象与隐秘密钥(索引、特征向量、贡献度等)分为两个部分(α部分与β部分)(分开方法并不限定于一个方法,能够使用各种方法),将分割后的α部分保存到服务器的用户表。
步骤12:另外,在服务器中,对分割后的β部分进行加密,发送到用户。作为一例,该发送能够使用邮件等。此外,用于对加密后的β部分进行解密的解密密钥也通过服务器被登记到用户表。
步骤13:用户将从服务器发送过来的密钥信息(β部分)保持加密状态保存到便携式设备的指定区域。
通过上述图25的步骤1~13的处理来进行认证准备作业。通过这样进行准备作业,能够根据图26所示的时序进行用户的便携式终端和本地终端的认证处理。
接着,示出图26所示的时序流程来说明对服务器的本地终端和用户的便携式设备的认证过程的处理过程。
步骤1:用户将便携式设备提供给本地终端。在本地终端中,设置有用于对便携式设备读写所需的信息的读写装置等。能够通过该读写装置来进行数据的发送和接收。
步骤2:在本地终端与便携式设备之间进行相互认证。作为相互认证方法,在***等时,能够使用以往通常使用的认证技术。在判断为本地终端和便携式设备中的任一个非法的情况下,通过其它方法再次进行确认或者终止服务。在两者合法的情况下,继续步骤3以后的认证过程。
步骤3:本地终端用服务器的公开密钥对本地终端的终端信息(识别码、型号、IP地址、配置状态、所属、管理者、使用者、公开加密密钥等)以及通过读写装置获取到的用户的信息(ID编号、职业、工作单位、联系方法等)进行加密,发送到服务器,由此请求密钥信息。设为服务器的公开密钥在本地终端中能够容易地得到。
步骤4:在服务器中,根据接收到的信息,利用秘密密钥对本地终端和用户的信息进行解密,确认接收到的信息的合法性。在本地终端和便携式设备中的任一个非法的情况下,服务器对本地终端进行追加确认或者终止服务。在两者均合法的情况下,继续步骤5以后的认证过程。
步骤5:在服务器中,根据用户的信息,从用户表获取用于再现用户的认证信息的密钥信息的α部分和β部分的解密密钥。
步骤6:然后,在服务器中,利用本地终端的公开密钥对从用户表获取到的密钥信息进行加密,发送到终端。
步骤7:本地终端利用秘密密钥对从服务器接收到的信息进行解密。
步骤8:本地终端从便携式设备获取用于再现用户的认证信息的密钥信息(隐秘密钥)的β部分(加密后的部分),利用从服务器获取到的解密密钥对获取到的部分进行解码。
步骤9:本地终端对照用于再现用户的认证信息的密钥信息(α和β)与记录到参照数据存储装置的数据,再现用户的认证信息。
步骤10:操作员根据再现的用户认证信息来认证用户。
通过这样进行认证处理,能够进行安全性高的认证,能够更有效地利用实施方式1~实施方式6所示的秘密数据的隐藏处理和还原处理。
以上,在实施方式1~实施方式6中分情况详细地说明了本发明所涉及的秘密信息隐藏装置、秘密信息还原装置、秘密信息隐藏方法以及秘密信息还原方法,但是本发明所涉及的秘密信息隐藏装置、秘密信息还原装置、秘密信息隐藏方法以及秘密信息还原方法不限定于在实施方式1~实施方式6中说明的事例。如果是本领域技术人员,能够在权利要求书所记载的范畴内想到各种变更例或修改例,这是显而易见的,应理解为这些当然也属于本发明的保护范围。

Claims (20)

1.一种秘密信息隐藏装置,对隐写技术应用变形技术来生成隐藏了秘密数据的隐秘对象s,该隐写技术为通过将秘密数据m隐藏到载体数据c中来生成隐秘对象s,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn、各个参照数据I1~In的贡献度a1~an、用相同方式将不同种类的秘密要素数值化而得到的ν个秘密数据m1~mν以及缩放因子A来生成变形数据,其中,ν>n,
该秘密信息隐藏装置的特征在于,具有:
F0生成单元,将秘密数据{m1,m2,…,mν}设定为秘密数据m,将参照数据{I1,I2,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}、贡献度{a1,a2,…,an}、缩放因子A以及秘密数据的个数ν设定为隐秘密钥ks
该F0生成单元利用
F 0 p = &Sigma; j = 1 n a j F jp , p = 1,2 , &CenterDot; &CenterDot; &CenterDot; , N f
来求出变形数据的特征向量F0
数据变形单元,其利用
I j w = W ( I j , F j , F 0 ) , j = 1,2 , &CenterDot; &CenterDot; &CenterDot; , n
来求出对各参照数据Ij进行变形而得到的数据Iw j
实质载体数据生成单元,其根据
I 0 p 0 = &Sigma; j = 1 n a j I jp w , p = 1,2 , &CenterDot; &CenterDot; &CenterDot; , N d
来求出隐藏秘密数据之前的变形数据I0 0;以及
隐秘对象生成单元,其根据
xq=mq×A,q=1,2,...,v
来对秘密数据mq进行缩放,其中,q=1,2,…,ν,
在将p的值设定为1、将q的值设定为1、将s的值设定为I0 0而进行了变量p、q以及s的初始化之后,
判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2
在不存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,使p的值增加1,并重复执行是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的判断,
在存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,根据相应的j1和j2,利用
s p = I 0 p 0 + x q ( I j 1 , p w - I j 2 , p w )
求出隐秘对象sp,使p的值增加1,并且使q的值增加1,
之后,判断是否满足q<ν,
在满足q<ν的情况下,转移到上述判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的处理,重复执行该判断处理直到变成q≥ν为止,
由此生成隐藏了ν个秘密数据m的隐秘对象s,
其中,j=0,1,…,n,Fjp表示Fj的第p个要素,Iw j表示Ij的变形,W表示扭曲函数,通过扭曲函数W将Ij变形而生成Iw j,Iw j具有特征向量F0,另外,sp、I0 0p、Iw 1p、…、Iw np分别表示s、I0 0、Iw 1、…、Iw n的第p个要素,并且,j1和j2是满足1≤j1<j2≤n的自然数,贡献度aj的值被预先进行归一化,贡献度之和的值满足a1+a2+…+an=1,将缩放因子A设为小于1的正实数。
2.一种秘密信息还原装置,对隐写技术应用变形技术来从隐秘对象s中还原出秘密数据,该隐写技术为从将秘密数据m隐藏到载体数据c而得到的隐秘对象s中提取出秘密数据m,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn、各个参照数据I1~In的贡献度a1~an、ν个秘密数据m1~mν以及缩放因子A来生成变形数据,其中,ν>n,
该秘密信息还原装置的特征在于,具有:
F0生成单元,将参照数据{I1,I2,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}、贡献度{a1,a2,…,an}、缩放因子A以及秘密数据的个数ν设定为隐秘密钥ks,将提取出的秘密数据m设为秘密数据{m1,m2,…,mν},
该F0生成单元利用
F 0 p = &Sigma; j = 1 n a j F jp , p = 1,2 , &CenterDot; &CenterDot; &CenterDot; , N f
来求出变形数据的特征向量F0
数据变形单元,其利用
I j w = W ( I j , F j , F 0 ) , j = 1,2 , &CenterDot; &CenterDot; &CenterDot; , n
来求出对各参照数据Ij进行变形而得到的数据Iw j
实质载体数据生成单元,其根据
I 0 p 0 = &Sigma; j = 1 n a j I jp w , p = 1,2 , &CenterDot; &CenterDot; &CenterDot; , N d
来求出隐藏秘密数据之前的变形数据I0 0;以及
秘密数据再现单元,其在将p的值设定为1、将q的值设定为1而进行了变量p及q的初始化之后,
判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2
在不存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,使p的值增加1,并重复执行是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的判断,
在存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,根据相应的j1和j2,利用
x q = s p - I 0 p 0 &Delta; p ( j 1 , j 2 )
来求出被缩放的秘密数据xq,使p的值增加1并且使q的值增加1,
之后,判断是否满足q<ν,
在满足q<ν的情况下,转移到上述判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的处理并重复执行该判断处理直到变成q≥ν为止,
在不满足q<ν的情况下,根据
mi=xi/A,i=1,2,...,v
来提取ν个秘密数据mi
由此提取出隐藏在隐秘对象s中的ν个秘密数据m,
其中,j=0,1,…,n,i=1,2,…,v,Fjp表示Fj的第p个要素,Iw j表示Ij的变形,W表示扭曲函数,通过扭曲函数W将Ij变形而生成Iw j,Iw j具有特征向量F0,另外,sp、I0 0p、Iw 1p、…、Iw np分别表示s、I0 0、Iw 1、…、Iw n的第p个要素,并且,j1和j2是满足1≤j1<j2≤n的自然数,贡献度aj的值被预先进行归一化,贡献度之和的值满足a1+an+…+an=1,将缩放因子A设为小于1的正实数。
3.一种秘密信息隐藏装置,对隐写技术应用变形技术来生成隐藏了秘密数据的隐秘对象s,该隐写技术为通过将秘密数据m隐藏到载体数据c中来生成隐秘对象s,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn、用数值表现的n个数据m1~mn来生成变形数据I0、变形数据I0的特征向量F0以及缩放因子A,
该秘密信息隐藏装置的特征在于,具有:
缩放因子计算单元,将用数值表现的数据{m1,m2,…,mn}设定为秘密数据m,将参照数据{I1,I2,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}设定为隐秘密钥ks,将生成的隐秘对象s设为变形数据I0,将变形数据I0的特征向量设为F0,将缩放因子设为A,
该缩放因子计算单元根据
A = 1 / &Sigma; i = 1 n m i
来求出缩放因子A;
贡献度计算单元,其按照
ai=ni×Ai=1,2,.,n
来根据秘密数据mi决定各参照数据Ii的贡献度ai
F0生成单元,其根据
F 0 p = &Sigma; j = 1 n a j F jp , p = 1,2 , &CenterDot; &CenterDot; &CenterDot; , N f
来求出变形数据I0的特征向量F0
数据变形单元,其根据
I j w = W ( I j , F j , F 0 ) , j = 1,2 , &CenterDot; &CenterDot; &CenterDot; , n
来求出对各参照数据Ij进行变形而得到的数据Iw j;以及
变形数据生成单元,其根据
I 0 p 0 = &Sigma; j = 1 n a j I jp w , p = 1,2 , &CenterDot; &CenterDot; &CenterDot; , N d
来求出变形数据I0,由此生成在参照数据中隐藏了用数值表现的数据的变形数据,
其中,j=0,1,…,n,Fjp表示Fj的第p个要素,Iw j表示Ij的变形,W表示扭曲函数,通过扭曲函数W将Ij变形而生成Iw j,Iw j具有特征向量F0,另外,I0p、Iw 1p、…、Iw np分别表示I0、Iw 1、…、Iw n的第p个要素,并且,将缩放因子A设为小于1的正实数。
4.一种秘密信息还原装置,对隐写技术应用变形技术来从隐秘对象s中还原出秘密数据,该隐写技术为从将秘密数据m隐藏到载体数据c而得到的隐秘对象s中提取出秘密数据m,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn以及用数值表现的n个数据m1~mn来生成变形数据I0、变形数据I0的特征向量F0以及缩放因子A,
该秘密信息还原装置的特征在于,具有:
数据变形单元,将变形数据I0设定为隐秘对象s,将参照数据{I1,I2,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}设定为隐秘密钥ks,将提取出的秘密数据m设为用数值表现的n个数据{m1,m2,…,mn},将变形数据I0的特征向量设为F0,将缩放因子设为A,
该数据变形单元根据
I j w = W ( I j , F j , F 0 ) , j = 1,2 , &CenterDot; &CenterDot; &CenterDot; , n
来求出对各参照数据Ij进行变形而得到的数据Iw j
贡献度计算单元,其根据
F 0 p = &Sigma; j = 1 n a j F jp , p = 1,2 , &CenterDot; &CenterDot; &CenterDot; , N f
I 0 p = &Sigma; j = 1 n a j I jp w , p = 1,2 , &CenterDot; &CenterDot; &CenterDot; , N d
这两个式子来求出联立方程式的解,从而求出各参照数据Ij的贡献度aj;以及
秘密数据再现单元,其根据求出的该贡献度aj,利用
mj=af/A,j=1,2,...,n
来提取秘密数据mj,由此从变形数据中提取出隐藏在参照数据中的秘密数据,
其中,j=0,1,…,n,Fjp表示Fj的第p个要素,Iw j表示Ij的变形,W表示扭曲函数,通过扭曲函数W将Ij变形而生成Iw j,Iw j具有特征向量F0,另外,I0p、Iw 1p、…、Iw np分别表示I0、Iw 1、…、Iw n的第p个要素,并且,将缩放因子A设为小于1的正实数。
5.一种秘密信息隐藏装置,对隐写技术应用变形技术来生成隐藏了秘密数据的隐秘对象s,该隐写技术为通过将秘密数据m隐藏到载体数据c中来生成隐秘对象s,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn以及各个参照数据I1~In的贡献度a1~an来生成变形数据I0,其中n≥3,
该秘密信息隐藏装置的特征在于,具有:
F0生成单元,将参照数据I1设定为秘密数据m,将参照数据{I2,I3,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}和贡献度{a1,a2,…,an}设定为隐秘密钥ks,将生成的隐秘对象s设为变形数据I0
该F0生成单元根据
F 0 p = &Sigma; j = 1 n a j F jp , p = 1,2 , &CenterDot; &CenterDot; &CenterDot; , N f
来求出变形数据I0的特征向量F0
数据变形单元,其根据
I j w = W ( I j , F j , F 0 ) , j = 1,2 , &CenterDot; &CenterDot; &CenterDot; , n
来将秘密数据和参照数据变形,从而求出Iw j;以及
I0生成单元,其根据
I 0 p = &Sigma; j = 1 n a j I jp w , p = 1,2 , &CenterDot; &CenterDot; &CenterDot; , N d
来求出作为隐秘对象的变形数据I0,由此在3个以上的多个参照数据中隐藏秘密数据,
其中,j=0,1,…,n,Fjp表示Fj的第p个要素,Iw j表示Ij的变形,W表示扭曲函数,通过扭曲函数W将Ij变形而生成Iw j,Iw j具有特征向量F0,另外,I0p、Iw 1p、…、Iw np分别表示I0、Iw 1、…、Iw n的第p个要素,并且,设贡献度之和的值满足a1+a2+…+an=1。
6.一种秘密信息还原装置,对隐写技术应用变形技术来从隐秘对象s中还原出秘密数据,该隐写技术为从将秘密数据m隐藏到载体数据c而得到的隐秘对象s中提取出秘密数据m,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn以及各个参照数据I1~In的贡献度a1~an来生成变形数据I0,其中,n≥3,
该秘密信息还原装置的特征在于,具有:
F0生成单元,将变形数据I0设定为隐秘对象s,将参照数据{I2,I3,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}和贡献度{a1,a2,…,an}设定为隐秘密钥ks,将提取出的秘密数据m设为参照数据I1
该F0生成单元根据
F 0 p = &Sigma; j = 1 n a j F jp , p = 1,2 , &CenterDot; &CenterDot; &CenterDot; , N f
来求出变形数据I0的特征向量F0
数据变形单元,其根据
I j w = W ( I j , F j , F 0 ) , j = 1,2 , &CenterDot; &CenterDot; &CenterDot; , n
来求出对各参照数据Ij进行变形而得到的数据Iw j;以及
秘密数据再现单元,其根据
I 1 p w = ( I 0 p - &Sigma; j = 2 n a j I jp w ) / a 1 , p = 1,2 , &CenterDot; &CenterDot; &CenterDot; , N d
来求出将秘密数据I1变形得到的数据Iw 1,根据
I 1 = W ( I 1 w , F 0 , F 1 )
来提取秘密数据I1,由此提取出隐藏在多个参照数据中的秘密数据,
其中,j=0,1,…,n,Fjp表示Fj的第p个要素,Iw j表示Ij的变形,W表示扭曲函数,通过扭曲函数W将Ij变形而生成Iw j,Iw j具有特征向量F0,另外,I0p、Iw 1p、…、Iw np分别表示I0、Iw 1、…、Iw n的第p个要素,并且,设贡献度之和的值满足a1+a2+…+an=1。
7.一种秘密信息隐藏装置,对隐写技术应用变形技术来生成隐藏了秘密数据的隐秘对象s,该隐写技术为通过将秘密数据m隐藏到载体数据c中来生成隐秘对象s,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn、各个参照数据I1~In的贡献度a1~an以及ν个秘密数据m1~mν来生成变形数据,
该秘密信息隐藏装置的特征在于,具有:
F0生成单元,将秘密数据{m1,m2,…,mν}设定为秘密数据m,将参照数据{I1,I2,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}和贡献度{a1,a2,…,an}设定为隐秘密钥ks
该F0生成单元利用
F 0 p = &Sigma; j = 1 n a j F jp , p = 1,2 , &CenterDot; &CenterDot; &CenterDot; , N f
来求出变形数据的特征向量F0
数据变形单元,其利用
I j w = W ( I j , F j , F 0 ) , j = 1,2 , &CenterDot; &CenterDot; &CenterDot; , n
来求出对各参照数据Ij进行变形而得到的数据Iw j
实质载体数据生成单元,其根据
I 0 p 0 = &Sigma; j = 1 n a j I jp w , p = 1,2 , &CenterDot; &CenterDot; &CenterDot; , N d
来求出隐藏秘密数据之前的变形数据I0 0;以及
隐秘对象生成单元,其在将p的值设定为1、将q的值设定为1、将s的值设定为I0 0而进行了变量p、q以及s的初始化之后,
判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2
在不存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,使p的值增加1,并重复执行是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的判断,
在存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,根据相应的j1和j2,利用
sp=MSB(I0 0p)+mq
求出隐秘对象sp,使p的值增加1,并且使q的值增加1,
之后,判断是否满足q<ν,
在满足q<ν的情况下,转移到上述判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的处理,重复执行该判断处理直到变成q≥ν为止,
由此生成隐藏了ν个秘密数据的隐秘对象s,
其中,j=0,1,…,n,Fjp表示Fj的第p个要素,Iw j表示Ij的变形,W表示扭曲函数,通过扭曲函数W将Ij变形而生成Iw j,Iw j具有特征向量F0,另外,sp、I0 0p、Iw 1p、…、Iw np分别表示s、I0 0、Iw 1、…、Iw n的第p个要素,并且,j1和j2是满足1≤j1<j2≤n的自然数,贡献度aj的值被预先进行归一化,贡献度之和的值满足a1+a2+…+an=1,并且秘密数据mq为b位的数据,I0 0p为B位的数据,MSB(I0 0p)是指取I0 0p中的上位的B-b位的数据的函数,q=1,2,…,ν。
8.一种秘密信息还原装置,对隐写技术应用变形技术来从隐秘对象s中还原出秘密数据,该隐写技术为从将秘密数据m隐藏到载体数据c而得到的隐秘对象s中提取出秘密数据m,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn、各个参照数据I1~In的贡献度a1~an以及ν个秘密数据m1~mν来生成变形数据,其中,ν>n,
该秘密信息还原装置的特征在于,具有:
F0生成单元,将参照数据{I1,I2,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}和贡献度{a1,a2,…,an}设定为隐秘密钥ks,将提取出的秘密数据m设为秘密数据{m1,m2,…,mν},
该F0生成单元利用
F 0 p = &Sigma; j = 1 n a j F jp , p = 1,2 , &CenterDot; &CenterDot; &CenterDot; , N f
来求出变形数据的特征向量F0
数据变形单元,其利用
I j w = W ( I j , F j , F 0 ) , j = 1,2 , &CenterDot; &CenterDot; &CenterDot; , n
来求出对各参照数据Ij进行变形而得到的数据Iw j;以及
秘密数据再现单元,其在将p的值设定为1、将q的值设定为1而进行了变量p及q的初始化之后,
判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2
在不存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,使p的值增加1,并重复执行是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的判断,
在存在使Δp(j1,j2)=(Iwj1,p-Iw j2,p)≠0的j1和j2的情况下,根据相应的j1和j2,利用
mq=sp-MSB(sp)
来求出秘密数据mq,使p的值增加1并且使q的值增加1,
之后,判断是否满足q<ν,
在满足q<ν的情况下,转移到上述判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的处理并重复执行该判断处理直到变成q≥ν为止,
由此提取出隐藏在隐秘对象中的ν个秘密数据,
其中,j=0,1,…,n,Fjp表示Fj的第p个要素,Iw j表示Ij的变形,W表示扭曲函数,通过扭曲函数W将Ij变形而生成Iw j,Iw j具有特征向量F0,另外,sp、I0 0p、Iw 1p、…、Iw np分别表示s、I0 0、Iw 1、…、Iw n的第p个要素,并且,j1和j2是满足1≤j1<j2≤n的自然数,贡献度aj的值被预先进行归一化,贡献度之和的值满足a1+an+…+an=1,并且秘密数据mq为b位的数据,sp为B位的数据,MSB(sp)是指取sp中的上位的B-b位的数据的函数,q=1,2,…,ν。
9.一种秘密信息隐藏装置,对隐写技术应用变形技术来生成隐藏了秘密数据的隐秘对象s,该隐写技术为通过将秘密数据m隐藏到载体数据c中来生成隐秘对象s,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn、各个参照数据I1~In的贡献度a1~an以及ν个秘密数据m1~mν来生成变形数据,
该秘密信息隐藏装置的特征在于,具有:
F0生成单元,将秘密数据{m1,m2,…,mν}设定为秘密数据m,将参照数据{I1,I2,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}和贡献度{a1,a2,…,an}设定为隐秘密钥ks
该F0生成单元利用
F 0 p = &Sigma; j = 1 n a j F jp , p = 1,2 , &CenterDot; &CenterDot; &CenterDot; , N f
来求出变形数据的特征向量F0
数据变形单元,其利用
I j w = W ( I j , F j , F 0 ) , j = 1,2 , &CenterDot; &CenterDot; &CenterDot; , n
来求出对各参照数据Ij进行变形而得到的数据Iw j
实质载体数据生成单元,其根据
I 0 p 0 = &Sigma; j = 1 n a j I jp w , p = 1,2 , &CenterDot; &CenterDot; &CenterDot; , N d
来求出隐藏秘密数据之前的变形数据I0 0;以及
隐秘对象生成单元,其在将p的值设定为1、将q的值设定为1、将s的值设定为I0 0而进行了变量p、q以及s的初始化之后,
判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2
在不存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,使p的值增加1,并重复执行是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的判断,
在存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,根据相应的j1和j2,利用
s p = MSB ( I 0 p 0 ) + m q &CirclePlus; y
求出隐秘对象sp,使p的值增加1,并且使q的值增加1,
之后,判断是否满足q<ν,
在满足q<ν的情况下,转移到上述判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的处理,重复执行该判断处理直到变成q≥ν为止,
由此生成隐藏了ν个秘密数据的隐秘对象s,
其中,j=0,1,…,n,Fjp表示Fj的第p个要素,Iw j表示Ij的变形,W表示扭曲函数,通过扭曲函数W将Ij变形而生成Iw j,Iw j具有特征向量F0,另外,sp、I0 0p、Iw 1p、…、Iw np分别表示s、I0 0、Iw 1、…、Iw n的第p个要素,并且,j1和j2是满足1≤j1<j2≤n的自然数,贡献度aj的值被预先进行归一化,贡献度之和的值满足a1+a2+…+an=1,并且秘密数据mq为b位的数据,I0 0p为B位的数据,MSB(I0 0p)是指取I0 0p中的上位的B-b位的数据的函数,并且,
Figure FDA00002726066800141
表示以位为单位的异或运算符,作为y,设定为是I0 0、Iw np或者(Iw j1,p-Iw j2,p)中的任一个且由b位的数值构成的数据,q=1,2,…,ν。
10.一种秘密信息还原装置,对隐写技术应用变形技术来从隐秘对象s中还原出秘密数据,该隐写技术为从将秘密数据m隐藏到载体数据c而得到的隐秘对象s中提取出秘密数据m,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn、各个参照数据I1~In的贡献度a1~an以及ν个秘密数据m1~mν来生成变形数据,其中,ν>n,
该秘密信息隐藏装置的特征在于,具有:
F0生成单元,将参照数据{I1,I2,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}和贡献度{a1,a2,…,an}设定为隐秘密钥ks,将提取出的秘密数据m设为秘密数据{m1,m2,…,mν},
该F0生成单元利用
F 0 p = &Sigma; j = 1 n a j F jp , p = 1,2 , &CenterDot; &CenterDot; &CenterDot; , N f
来求出变形数据的特征向量F0
数据变形单元,其利用
I j w = W ( I j , F j , F 0 ) , j = 1,2 , &CenterDot; &CenterDot; &CenterDot; , n
来求出对各参照数据Ij进行变形而得到的数据Iw j;以及
秘密数据再现单元,其在将p的值设定为1、将q的值设定为1而进行了变量p及q的初始化之后,
判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2
在不存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,使p的值增加1,并重复执行是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的判断,
在存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,根据相应的j1和j2,利用
m q = ( s p - MSB ( s p ) ) &CirclePlus; y
求出秘密数据mq,使p的值增加1,并且使q的值增加1,
之后,判断是否满足q<ν,
在满足q<ν的情况下,转移到上述判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的处理,重复执行该判断处理直到变成q≥ν为止,
由此提取出隐藏在隐秘对象中的ν个秘密数据,
其中,j=0,1,…,n,Fjp表示Fj的第p个要素,Iw j表示Ij的变形,W表示扭曲函数,通过扭曲函数W将Ij变形而生成Iw j,Iw j具有特征向量F0,另外,sp、I0 0p、Iw 1p、…、Iw np分别表示s、I0 0、Iw 1、…、Iw n的第p个要素,并且,j1和j2是满足1≤j1<j2≤n的自然数,贡献度aj的值被预先进行归一化,贡献度之和的值满足a1+a2+…+an=1,并且秘密数据mq为b位的数据,sp为B位的数据,MSB(sp)是指取sp中的上位的B-b位的数据的函数,并且,
Figure FDA00002726066800161
表示以位为单位的异或运算符,作为y,设定为是I0 0、Iw np或者(Iw j1,p-Iw j2,p)中的任一个且由b位的数值构成的数据,q=1,2,…,ν。
11.一种秘密信息隐藏装置的秘密信息隐藏方法,对隐写技术应用变形技术来生成隐藏了秘密数据的隐秘对象s,该隐写技术为通过将秘密数据m隐藏到载体数据c中来生成隐秘对象s,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn、各个参照数据I1~In的贡献度a1~an、以相同形式将不同种类的秘密要素数值化而得到的ν个秘密数据m1~mν以及缩放因子A来生成变形数据,其中,ν>n,
在该秘密信息隐藏方法的特征在于,通过执行以下步骤生成隐藏了ν个秘密数据m的隐秘对象s,
将秘密数据{m1,m2,…,mν}设定为秘密数据m,将参照数据{I1,I2,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}、贡献度{a1,a2,…,an}、缩放因子A以及秘密数据的个数ν设定为隐秘密钥ks
由上述秘密信息隐藏装置的计算单元利用
F 0 p = &Sigma; j = 1 n a j F jp , p = 1,2 , &CenterDot; &CenterDot; &CenterDot; , N f
来求出变形数据的特征向量F0,利用
I j w = W ( I j , F j , F 0 ) , j = 1,2 , &CenterDot; &CenterDot; &CenterDot; , n
来求出对各参照数据Ij进行变形而得到的数据Iw j,根据
I 0 p 0 = &Sigma; j = 1 n a j I jp w , p = 1,2 , &CenterDot; &CenterDot; &CenterDot; , N d
来求出隐藏秘密数据之前的变形数据I0 0,根据
xq=mq×A,q=1,2,...,v
来对秘密数据mq进行缩放,其中,q=1,2,…,ν,
在将p的值设定为1、将q的值设定为1、将s的值设定为I0 0而进行了变量p、q以及s的初始化之后,
判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2
在不存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,使p的值增加1,并重复执行是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的判断,
在存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,根据相应的j1和j2,利用
s p = I 0 p 0 + x q ( I j 1 , p w - I j 2 , p w )
求出隐秘对象sp,使p的值增加1,并且使q的值增加1,
之后,判断是否满足q<ν,
在满足q<ν的情况下,转移到上述判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的处理,重复执行该判断处理直到变成q≥ν为止,
其中,j=0,1,…,n,Fjp表示Fj的第p个要素,Iw j表示Ij的变形,W表示扭曲函数,通过扭曲函数W将Ij变形而生成Iw j,Iw j具有特征向量F0,另外,sp、I0 0p、Iw 1p、…、Iw np分别表示s、I0 0、Iw 1、…、Iw n的第p个要素,并且,j1和j2是满足1≤j1<j2≤n的自然数,贡献度aj的值被预先进行归一化,贡献度之和的值满足a1+a2+…+an=1,将缩放因子A设为小于1的正实数。
12.一种秘密信息还原装置的秘密信息还原方法,对隐写技术应用变形技术来从隐秘对象s中还原出秘密数据,该隐写技术为从将秘密数据m隐藏到载体数据c而得到的隐秘对象s中提取出秘密数据m,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn、各个参照数据I1~In的贡献度a1~an、ν个秘密数据m1~mν以及缩放因子A来生成变形数据,其中,ν>n,
该秘密信息还原方法的特征在于,通过执行以下步骤提取出隐藏在隐秘对象s中的ν个秘密数据m,
将参照数据{I1,I2,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}、贡献度{a1,a2,…,an}、缩放因子A以及秘密数据的个数ν设定为隐秘密钥ks,将提取出的秘密数据m设为秘密数据{m1,m2,…,mν},
由上述秘密信息还原装置的计算单元利用
F 0 p = &Sigma; j = 1 n a j F jp , p = 1,2 , &CenterDot; &CenterDot; &CenterDot; , N f
来求出变形数据的特征向量F0,利用
I j w = W ( I j , F j , F 0 ) , j = 1,2 , &CenterDot; &CenterDot; &CenterDot; , n
来求出对各参照数据Ij进行变形而得到的数据Iw j,根据
I 0 p 0 = &Sigma; j = 1 n a j I jp w , p = 1,2 , &CenterDot; &CenterDot; &CenterDot; , N d
来求出隐藏秘密数据之前的变形数据I0 0
在将p的值设定为1、将q的值设定为1而进行了变量p及q的初始化之后,
判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2
在不存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,使p的值增加1,并重复执行是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的判断,
在存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,根据相应的j1和j2,利用
x q = s p - I 0 p 0 &Delta; p ( j 1 , j 2 )
来求出被缩放的秘密数据xq,使p的值增加1并且使q的值增加1,
之后,判断是否满足q<ν,
在满足q<ν的情况下,转移到上述判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的处理并重复执行该判断处理直到变成q≥ν为止,
在不满足q<ν的情况下,根据
mi=xi/A,i=1,2,...,v
来提取ν个秘密数据mi
其中,j=0,1,…,n,i=1,2,…,v,Fjp表示Fj的第p个要素,Iw j表示Ij的变形,W表示扭曲函数,通过扭曲函数W将Ij变形而生成Iw j,Iw j具有特征向量F0,另外,sp、I0 0p、Iw 1p、…、Iw np分别表示s、I0 0、Iw 1、…、Iw n的第p个要素,并且,j1和j2是满足1≤j1<j2≤n的自然数,贡献度aj的值被预先进行归一化,贡献度之和的值满足a1+an+…+an=1,将缩放因子A设为小于1的正实数。
13.一种秘密信息隐藏装置的秘密信息隐藏方法,对隐写技术应用变形技术来生成隐藏了秘密数据的隐秘对象s,该隐写技术为通过将秘密数据m隐藏到载体数据c中来生成隐秘对象s,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn、用数值表现的n个数据m1~mn来生成变形数据I0、变形数据I0的特征向量F0以及缩放因子A,
该秘密信息隐藏方法的特征在于,通过执行以下步骤生成将用数值表现的数据隐藏到参照数据中的变形数据,
将用数值表现的数据{m1,m2,…,mn}设定为秘密数据m,将参照数据{I1,I2,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}设定为隐秘密钥ks,将生成的隐秘对象s设为变形数据I0,将变形数据I0的特征向量设为F0,将缩放因子设为A,
由上述秘密信息隐藏装置的计算单元根据
A = 1 / &Sigma; i = 1 n m i
来求出缩放因子A,按照
ai=mi×A,i=1,2,…,n
来根据秘密数据mi决定各参照数据Ii的贡献度ai,根据
F 0 p = &Sigma; j = 1 n a j F jp , p = 1,2 , &CenterDot; &CenterDot; &CenterDot; , N f
来求出变形数据I0的特征向量F0,根据
I j w = W ( I j , F j , F 0 ) , j = 1,2 , &CenterDot; &CenterDot; &CenterDot; , n
来求出对各参照数据Ij进行变形而得到的数据Iw j,根据
I 0 p 0 = &Sigma; j = 1 n a j I jp w , p = 1,2 , &CenterDot; &CenterDot; &CenterDot; , N d
来求出变形数据I0
其中,j=0,1,…,n,Fjp表示Fj的第p个要素,Iw j表示Ij的变形,W表示扭曲函数,通过扭曲函数W将Ij变形而生成Iw j,Iw j具有特征向量F0,另外,I0p、Iw 1p、…、Iw np分别表示I0、Iw 1、…、Iw n的第p个要素,并且,将缩放因子A设为小于1的正实数。
14.一种秘密信息还原装置的秘密信息还原方法,对隐写技术应用变形技术来从隐秘对象s中还原出秘密数据,该隐写技术为从将秘密数据m隐藏到载体数据c而得到的隐秘对象s中提取出秘密数据m,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn以及用数值表现的n个数据m1~mn来生成变形数据I0、变形数据I0的特征向量F0以及缩放因子A,
该秘密信息还原方法的特征在于,通过执行以下步骤从变形数据中提取出隐藏在参照数据中的秘密数据,
将变形数据I0设定为隐秘对象s,将参照数据{I1,I2,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}设定为隐秘密钥ks,将提取出的秘密数据m设为用数值表现的n个数据{m1,m2,…,mn},将变形数据I0的特征向量设为F0,将缩放因子设为A,
由上述秘密信息还原装置的计算单元根据
I j w = W ( I j , F j , F 0 ) , j = 1,2 , &CenterDot; &CenterDot; &CenterDot; , n
来求出对各参照数据Ij进行变形而得到的数据Iw j,根据
F 0 p = &Sigma; j = 1 n a j F jp , p = 1,2 , &CenterDot; &CenterDot; &CenterDot; , N f
I 0 p = &Sigma; j = 1 n a j I jp w , p = 1,2 , &CenterDot; &CenterDot; &CenterDot; , N d
这两个式子来求出联立方程式的解,从而求出各参照数据Ij的贡献度aj
根据求出的该贡献度aj,利用
mj=aj/A,j=1,2,...,n
来提取秘密数据mj
其中,j=0,1,…,n,Fjp表示Fj的第p个要素,Iw j表示Ij的变形,W表示扭曲函数,通过扭曲函数W将Ij变形而生成Iw j,Iw j具有特征向量F0,另外,I0p、Iw 1p、…、Iw np分别表示I0、Iw 1、…、Iw n的第p个要素,并且,将缩放因子A设为小于1的正实数。
15.一种秘密信息隐藏装置的秘密信息隐藏方法,对隐写技术应用变形技术来生成隐藏了秘密数据的隐秘对象s,该隐写技术为通过将秘密数据m隐藏到载体数据c中来生成隐秘对象s,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn以及各个参照数据I1~In的贡献度a1~an来生成变形数据I0,其中,n≥3,
该秘密信息隐藏方法的特征在于,通过执行以下步骤来针对三个以上的多个参照数据隐藏秘密数据,
将参照数据I1设定为秘密数据m,将参照数据{I2,I3,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}和贡献度{a1,a2,…,an}设定为隐秘密钥ks,将生成的隐秘对象s设为变形数据I0
由上述秘密信息隐藏装置的计算单元根据
F 0 p = &Sigma; j = 1 n a j F jp , p = 1,2 , &CenterDot; &CenterDot; &CenterDot; , N f
来求出变形数据I0的特征向量F0,根据
I j w = W ( I j , F j , F 0 ) , j = 1,2 , &CenterDot; &CenterDot; &CenterDot; , n
来将秘密数据和参照数据变形,从而求出Iw j,根据
I 0 p = &Sigma; j = 1 n a j I jp w , p = 1,2 , &CenterDot; &CenterDot; &CenterDot; , N d
来求出作为隐秘对象的变形数据I0
其中,j=0,1,…,n,Fjp表示Fj的第p个要素,Iw j表示Ij的变形,W表示扭曲函数,通过扭曲函数W将Ij变形而生成Iw j,Iw j具有特征向量F0,另外,I0p、Iw 1p、…、Iw np分别表示I0、Iw 1、…、Iw n的第p个要素,并且,设贡献度之和的值满足a1+a2+…+an=1。
16.一种秘密信息还原装置的秘密信息还原方法,对隐写技术应用变形技术来从隐秘对象s中还原出秘密数据,该隐写技术为从将秘密数据m隐藏到载体数据c而得到的隐秘对象s中提取出秘密数据m,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn以及各个参照数据I1~In的贡献度a1~an来生成变形数据I0,其中,n≥3,
该秘密信息还原方法的特征在于,通过执行以下步骤提取出隐藏到多个参照数据的秘密数据,
将变形数据I0设定为隐秘对象s,将参照数据{I2,I3,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}和贡献度{a1,a2,…,an}设定为隐秘密钥ks,将提取出的秘密数据m设为参照数据I1
由上述秘密信息还原装置的计算单元根据
F 0 p = &Sigma; j = 1 n a j F jp , p = 1,2 , &CenterDot; &CenterDot; &CenterDot; , N f
来求出变形数据I0的特征向量F0,根据
I j w = W ( I j , F j , F 0 ) , j = 1,2 , &CenterDot; &CenterDot; &CenterDot; , n
来求出对各参照数据Ij进行变形而得到的数据Iw j,根据
I 1 p w = ( I 0 p - &Sigma; j = 2 n a j I jp w ) / a 1 , p = 1,2 , &CenterDot; &CenterDot; &CenterDot; N d
来求出将秘密数据I1变形得到的数据Iw 1,根据
I 1 = W ( I 1 w , F 0 , F 1 )
来提取秘密数据I1
其中,j=0,1,…,n,Fjp表示Fj的第p个要素,Iw j表示Ij的变形,W表示扭曲函数,通过扭曲函数W将Ij变形而生成Iw j,Iw j具有特征向量F0,另外,I0p、Iw 1p、…、Iw np分别表示I0、Iw 1、…、Iw n的第p个要素,并且,设贡献度之和的值满足a1+a2+…+an=1。
17.一种秘密信息隐藏装置的秘密信息隐藏方法,对隐写技术应用变形技术来生成隐藏了秘密数据的隐秘对象s,该隐写技术为通过将秘密数据m隐藏到载体数据c中来生成隐秘对象s,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn、各个参照数据I1~In的贡献度a1~an以及ν个秘密数据m1~mν来生成变形数据,
该秘密信息隐藏方法的特征在于,通过执行以下步骤生成隐藏了ν个秘密数据的隐秘对象s,
将秘密数据{m1,m2,…,mν}设定为秘密数据m,将参照数据{I1,I2,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}和贡献度{a1,a2,…,an}设定为隐秘密钥ks
由上述秘密信息隐藏装置的计算单元利用
F 0 p = &Sigma; j = 1 n a j F jp , p = 1,2 , &CenterDot; &CenterDot; &CenterDot; , N f
来求出变形数据的特征向量F0,利用
I j w = W ( I j , F j , F 0 ) , j = 1,2 , &CenterDot; &CenterDot; &CenterDot; , n
来求出对各参照数据Ij进行变形而得到的数据Iw j,根据
I 0 p 0 = &Sigma; j = 1 n a j I jp w , p = 1,2 , &CenterDot; &CenterDot; &CenterDot; , N d
来求出隐藏秘密数据之前的变形数据I0 0
在将p的值设定为1、将q的值设定为1、将s的值设定为I0 0而进行了变量p、q以及s的初始化之后,
判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2
在不存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,使p的值增加1,并重复执行是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的判断,
在存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,根据相应的j1和j2,利用
sp=MSB(I0 0p)+mq
求出隐秘对象sp,使p的值增加1,并且使q的值增加1,
之后,判断是否满足q<ν,
在满足q<ν的情况下,转移到上述判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的处理,重复执行该判断处理直到变成q≥ν为止,
其中,j=0,1,…,n,Fjp表示Fj的第p个要素,Iw j表示Ij的变形,W表示扭曲函数,通过扭曲函数W将Ij变形而生成Iw j,Iw j具有特征向量F0,另外,sp、I0 0p、Iw 1p、…、Iw np分别表示s、I0 0、Iw 1、…、Iw n的第p个要素,并且,j1和j2是满足1≤j1<j2≤n的自然数,贡献度aj的值被预先进行归一化,贡献度之和的值满足a1+a2+…+an=1,并且秘密数据mq为b位的数据,I0 0p为B位的数据,MSB(I0 0p)是指取I0 0p中的上位的B-b位的数据的函数,q=1,2,…,ν。
18.一种秘密信息还原装置的秘密信息还原方法,对隐写技术应用变形技术来从隐秘对象s中还原出秘密数据,该隐写技术为从将秘密数据m隐藏到载体数据c而得到的隐秘对象s中提取出秘密数据m,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn、各个参照数据I1~In的贡献度a1~an以及ν个秘密数据m1~mν来生成变形数据,其中,ν>n,
该秘密信息还原方法的特征在于,通过执行以下步骤提取出隐藏在隐秘对象中的ν个秘密数据,
将参照数据{I1,I2,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}和贡献度{a1,a2,…,an}设定为隐秘密钥ks,将提取出的秘密数据m设为秘密数据{m1,m2,…,mν},
由上述秘密信息还原装置的计算单元利用
F 0 p = &Sigma; j = 1 n a j F jp , p = 1,2 , &CenterDot; &CenterDot; &CenterDot; , N f
来求出变形数据的特征向量F0,利用
I j w = W ( I j , F j , F 0 ) , j = 1,2 , &CenterDot; &CenterDot; &CenterDot; , n
来求出对各参照数据Ij进行变形而得到的数据Iw j
在将p的值设定为1、将q的值设定为1而进行了变量p及q的初始化之后,
判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2
在不存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,使p的值增加1,并重复执行是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的判断,
在存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,根据相应的j1和j2,利用
mq=sp-MSB(sp)
来求出秘密数据mq,使p的值增加1并且使q的值增加1,
之后,判断是否满足q<ν,
在满足q<ν的情况下,转移到上述判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的处理并重复执行该判断处理直到变成q≥ν为止,
其中,j=0,1,…,n,Fjp表示Fj的第p个要素,Iw j表示Ij的变形,W表示扭曲函数,通过扭曲函数W将Ij变形而生成Iw j,Iw j具有特征向量F0,另外,sp、I0 0p、Iw 1p、…、Iw np分别表示s、I0 0、Iw 1、…、Iw n的第p个要素,并且,j1和j2是满足1≤j1<j2≤n的自然数,贡献度aj的值被预先进行归一化,贡献度之和的值满足a1+an+…+an=1,并且秘密数据mq为b位的数据,sp为B位的数据,MSB(sp)是指取sp中的上位的B-b位的数据的函数,q=1,2,…,ν。
19.一种秘密信息隐藏装置的秘密信息隐藏方法,对隐写技术应用变形技术来生成隐藏了秘密数据的隐秘对象s,该隐写技术为通过将秘密数据m隐藏到载体数据c中来生成隐秘对象s,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn、各个参照数据I1~In的贡献度a1~an以及ν个秘密数据m1~mν来生成变形数据,
该秘密信息隐藏方法的特征在于,通过执行以下步骤生成隐藏了ν个秘密数据的隐秘对象s,
将秘密数据{m1,m2,…,mν}设定为秘密数据m,将参照数据{I1,I2,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}和贡献度{a1,a2,…,an}设定为隐秘密钥ks
由上述秘密信息隐藏装置的计算单元利用
F 0 p = &Sigma; j = 1 n a j F jp , p = 1,2 , &CenterDot; &CenterDot; &CenterDot; , N f
来求出变形数据的特征向量F0,利用
I j w = W ( I j , F j , F 0 ) , j = 1,2 , &CenterDot; &CenterDot; &CenterDot; , n
来求出对各参照数据Ij进行变形而得到的数据Iw j,根据
I 0 p 0 = &Sigma; j = 1 n a j I jp w , p = 1,2 , &CenterDot; &CenterDot; &CenterDot; , N d
来求出隐藏秘密数据之前的变形数据I0 0
在将p的值设定为1、将q的值设定为1、将s的值设定为I0 0而进行了变量p、q以及s的初始化之后,
判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2
在不存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,使p的值增加1,并重复执行是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的判断,
在存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,根据相应的j1和j2,利用
s p = MSB ( I 0 p 0 ) + m q &CirclePlus; y
求出隐秘对象sp,使p的值增加1,并且使q的值增加1,
之后,判断是否满足q<ν,
在满足q<ν的情况下,转移到上述判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的处理,重复执行该判断处理直到变成q≥ν为止,
其中,j=0,1,…,n,Fjp表示Fj的第p个要素,Iw j表示Ij的变形,W表示扭曲函数,通过扭曲函数W将Ij变形而生成Iw j,Iw j具有特征向量F0,另外,sp、I0 0p、Iw 1p、…、Iw np分别表示s、I0 0、Iw 1、…、Iw n的第p个要素,并且,j1和j2是满足1≤j1<j2≤n的自然数,贡献度aj的值被预先进行归一化,贡献度之和的值满足a1+a2+…+an=1,并且秘密数据mq为b位的数据,I0 0p为B位的数据,MSB(I0 0p)是指取I0 0p中的上位的B-b位的数据的函数,并且,
Figure FDA00002726066800291
表示以位为单位的异或运算符,作为y,设定为是I0 0、Iw np或者(Iw j1,p-Iw j2,p)中的任一个且由b位的数值构成的数据,q=1,2,…,ν。
20.一种秘密信息还原装置的秘密信息还原方法,对隐写技术应用变形技术来从隐秘对象s中还原出秘密数据,该隐写技术为从将秘密数据m隐藏到载体数据c而得到的隐秘对象s中提取出秘密数据m,该变形技术为根据n个参照数据I1~In、各参照数据I1~In的特征向量F1~Fn、各个参照数据I1~In的贡献度a1~an以及ν个秘密数据m1~mν来生成变形数据,其中,ν>n,
该秘密信息还原方法的特征在于,通过执行以下步骤提取出隐藏在隐秘对象中的ν个秘密数据,
将参照数据{I1,I2,…,In}设定为载体数据c,将特征向量{F1,F2,…,Fn}和贡献度{a1,a2,…,an}设定为隐秘密钥ks,将提取出的秘密数据m设为秘密数据{m1,m2,…,mν},
由上述秘密信息还原装置的计算单元利用
F 0 p = &Sigma; j = 1 n a j F jp , p = 1,2 , &CenterDot; &CenterDot; &CenterDot; , N f
来求出变形数据的特征向量F0,利用
I j w = W ( I j , F j , F 0 ) , j = 1,2 , &CenterDot; &CenterDot; &CenterDot; , n
来求出对各参照数据Ij进行变形而得到的数据Iw j
在将p的值设定为1、将q的值设定为1而进行了变量p及q的初始化之后,
判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2
在不存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,使p的值增加1,并重复执行是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的判断,
在存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的情况下,根据相应的j1和j2,利用
m q ( s p - MSB ( s p ) ) &CirclePlus; y
来求出秘密数据mq,使p的值增加1并且使q的值增加1,
之后,判断是否满足q<ν,
在满足q<ν的情况下,转移到上述判断是否存在使Δp(j1,j2)=(Iw j1,p-Iw j2,p)≠0的j1和j2的处理并重复执行该判断处理直到变成q≥ν为止,
其中,j=0,1,…,n,Fjp表示Fj的第p个要素,Iw j表示Ij的变形,W表示扭曲函数,通过扭曲函数W将Ij变形而生成Iw j,Iw j具有特征向量F0,另外,sp、I0 0p、Iw 1p、…、Iw np分别表示s、I0 0、Iw 1、…、Iw n的第p个要素,并且,j1和j2是满足1≤j1<j2≤n的自然数,贡献度aj的值被预先进行归一化,贡献度之和的值满足a1+an+…+an=1,并且秘密数据mq为b位的数据,sp为B位的数据,MSB(sp)是指取sp中的上位的B-b位的数据的函数,并且,
表示以位为单位的异或运算符,作为y,设定为是I0 0、Iw np或者(Iw j1,p-Iw j2,p)中的任一个且由b位的数值构成的数据,q=1,2,…,ν。
CN201310010039.7A 2012-01-19 2013-01-11 秘密信息隐藏装置和方法、秘密信息还原装置和方法 Expired - Fee Related CN103220455B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2012009384 2012-01-19
JP2012-009384 2012-01-19
JP2012227771A JP5913041B2 (ja) 2012-01-19 2012-10-15 秘密情報隠蔽装置、秘密情報復元装置、秘密情報隠蔽プログラムおよび秘密情報復元プログラム
JP2012-227771 2012-10-15

Publications (2)

Publication Number Publication Date
CN103220455A true CN103220455A (zh) 2013-07-24
CN103220455B CN103220455B (zh) 2017-05-24

Family

ID=48817889

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310010039.7A Expired - Fee Related CN103220455B (zh) 2012-01-19 2013-01-11 秘密信息隐藏装置和方法、秘密信息还原装置和方法

Country Status (1)

Country Link
CN (1) CN103220455B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104269175A (zh) * 2014-08-28 2015-01-07 华侨大学 一种基于最佳相似度匹配的ip语音隐写方法
CN106909819A (zh) * 2016-12-26 2017-06-30 浙江海洋大学 一种适于智能终端设备的图像信息隐写方法
CN110162990A (zh) * 2019-05-29 2019-08-23 华南师范大学 基于大数据和位置的信息隐藏方法和机器人***
CN110188569A (zh) * 2019-05-29 2019-08-30 华南师范大学 基于大数据和傅立叶变换的信息隐藏方法和机器人***
CN110995420A (zh) * 2019-11-27 2020-04-10 支付宝(杭州)信息技术有限公司 一种数据处理方法和***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101582157A (zh) * 2009-03-06 2009-11-18 中山大学 一种基于相邻像素差异的自适应空域隐写方法
CN102315931A (zh) * 2011-06-24 2012-01-11 上海大学 机密信息的游动编码隐藏方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101582157A (zh) * 2009-03-06 2009-11-18 中山大学 一种基于相邻像素差异的自适应空域隐写方法
CN102315931A (zh) * 2011-06-24 2012-01-11 上海大学 机密信息的游动编码隐藏方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104269175A (zh) * 2014-08-28 2015-01-07 华侨大学 一种基于最佳相似度匹配的ip语音隐写方法
CN104269175B (zh) * 2014-08-28 2017-04-05 华侨大学 一种基于最佳相似度匹配的ip语音隐写方法
CN106909819A (zh) * 2016-12-26 2017-06-30 浙江海洋大学 一种适于智能终端设备的图像信息隐写方法
CN110162990A (zh) * 2019-05-29 2019-08-23 华南师范大学 基于大数据和位置的信息隐藏方法和机器人***
CN110188569A (zh) * 2019-05-29 2019-08-30 华南师范大学 基于大数据和傅立叶变换的信息隐藏方法和机器人***
CN110188569B (zh) * 2019-05-29 2022-07-26 华南师范大学 基于大数据和傅立叶变换的信息隐藏方法和机器人***
CN110995420A (zh) * 2019-11-27 2020-04-10 支付宝(杭州)信息技术有限公司 一种数据处理方法和***

Also Published As

Publication number Publication date
CN103220455B (zh) 2017-05-24

Similar Documents

Publication Publication Date Title
CA2462266C (en) System, portable device and method for digital authenticating, crypting and signing by generating short-lived cryptokeys
JP6180177B2 (ja) プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム
WO2016089710A1 (en) Secure computer evaluation of decision trees
EP3465523B1 (en) Secure collection of sensitive data
CN109214201B (zh) 一种数据共享方法、终端设备及计算机可读存储介质
JP2014126865A (ja) 暗号処理装置および方法
WO2010010430A2 (en) Methods and systems to create big memorizable secrets and their applications in information engineering
US9641328B1 (en) Generation of public-private key pairs
CN103220455A (zh) 秘密信息隐藏装置和方法、秘密信息还原装置和方法
CN110084599A (zh) 密钥处理方法、装置、设备和存储介质
CN106888213B (zh) 云密文访问控制方法及***
Ahmad et al. A secure network communication protocol based on text to barcode encryption algorithm
US20150310206A1 (en) Password management
Mandal Reversible steganography and authentication via transform encoding
Harjo et al. Improved Color Image Encryption using Hybrid Modulus Substitution Cipher and Chaotic Method.
JP5913041B2 (ja) 秘密情報隠蔽装置、秘密情報復元装置、秘密情報隠蔽プログラムおよび秘密情報復元プログラム
Khan et al. A novel combination of information confidentiality and data hiding mechanism
CN117349685A (zh) 一种通信数据的聚类方法、***、终端及介质
CN110139001B (zh) 一种光学指纹认证的加密与解密方法、装置及***
US11133926B2 (en) Attribute-based key management system
Gencoglu Embedded image coding using laplace transform for Turkish letters
CN112019642B (zh) 一种音频上传方法、装置、设备和存储介质
CN113904865A (zh) 一种基于非对称算法的日志传输方法及装置
CN116032509A (zh) 一种邮件加密、解密方法及装置
Kumaresan et al. Reversible data hiding in encrypted images using public cloud and cellular Automata

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170524

Termination date: 20210111