JP3773471B2 - Falsification position detection method, falsification position detection program, and recording medium recording the program - Google Patents

Falsification position detection method, falsification position detection program, and recording medium recording the program Download PDF

Info

Publication number
JP3773471B2
JP3773471B2 JP2002201703A JP2002201703A JP3773471B2 JP 3773471 B2 JP3773471 B2 JP 3773471B2 JP 2002201703 A JP2002201703 A JP 2002201703A JP 2002201703 A JP2002201703 A JP 2002201703A JP 3773471 B2 JP3773471 B2 JP 3773471B2
Authority
JP
Japan
Prior art keywords
storage unit
block
key information
order
received image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002201703A
Other languages
Japanese (ja)
Other versions
JP2004048285A (en
Inventor
直史 青木
秀明 田森
強 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Japan Science and Technology Agency
National Institute of Japan Science and Technology Agency
Original Assignee
Japan Science and Technology Agency
National Institute of Japan Science and Technology Agency
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Japan Science and Technology Agency, National Institute of Japan Science and Technology Agency filed Critical Japan Science and Technology Agency
Priority to JP2002201703A priority Critical patent/JP3773471B2/en
Publication of JP2004048285A publication Critical patent/JP2004048285A/en
Application granted granted Critical
Publication of JP3773471B2 publication Critical patent/JP3773471B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Television Systems (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、改ざん位置検出方法、改ざん位置検出プログラム及びそのプログラムを記録した記録媒体に係り、特に、数論変換による脆弱型電子透かしを用いた静止画像の改ざん位置検出技術及び改ざん訂正技術に関する。
【0002】
【従来の技術】
一般に、証拠写真などの、公文書で用いられる画像には原本性が十分に保証されたものが要求されるが、ディジタル画像は不自然さを排除した改ざんを容易に行えるため、原本性保証や改ざん検出の技術が求められている。従来、これらの目的を実現する方法としてハッシュ関数を用いた電子署名が検討されてきた[1]。(以下[ ]内は後述の文献を示す。)ただ、このような電子署名は、現代の多種多様な要件の一つである、改ざんの位置検出をすることを意図していない。
【0003】
これを可能とする一つの方法として、電子透かしを応用したものが検討されている[2][3]。対象とするディジタルコンテンツには、特定の攻撃に意図的に壊れやすくした脆弱型の電子透かしを、小さなブロック単位でコンテンツ全体に繰り返し埋めておく。そして改ざん検出の処理段階では、破壊された電子透かしを同定し、改ざんの位置を特定するというものである。
【0004】
また、従来、電子透かしによる改ざん位置検出の従来手法としては、ディジタルコンテンツから得られたハッシュ値やパリティ値をビットプレーンのLSB(Least Significant Bit)に埋めるといったものが主であった[4]−[7]。
【0005】
【発明が解決しようとする課題】
著作権保護技術としての電子透かしは、改ざん位置検出の観点からも注目を集めている。特定な処理に対して脆弱な性質を持たせた電子透かしは、改ざん位置検出に利用できるからである。しかしながら、静止画像の改ざん位置検出においては、原画像を必要とせず、あらゆる改ざんも検出できる手法が理想である。また、アルゴリズム公開を視野に入れると、鍵情報の利用を考慮することが望ましい。さらに、上述のような従来の電子透かしによる改ざん位置提出の手法は、改ざん箇所の訂正までは考慮していない。
【0006】
本発明は、以上の点に鑑み、数論変換(NTT:Number Theoretic Transform)による脆弱型電子透かしを用いた改ざん位置検出手法を提供することを目的とする。さらに、本発明は、数論変換に基づく新たな手法により[8]、改ざんの位置検出だけでなく、数論変換の性質から、改ざん訂正手法を提供することを目的とする。
【0007】
本発明は、受信者は透かし情報が埋め込まれた画像を受け取った後、認証機関から取得した鍵情報を用いて原本性を確認するという過程により、送信者は、原本そのものを受信者あるいは認証機関に伝送する必要がなく、原本を第三者に見せることなく保護することができる改ざん位置検出・訂正手法を提供することを目的とする。
【0008】
また、本発明は、インターネット回線を利用した画像を含む公文書の伝送、ディジタルカメラやスキャナ等によって取得された画像の原本性保証、画像に施された各種修正や特殊効果の同定と除去等に利用することができる改ざん位置検出手法を提供することを目的とする。
【0009】
【課題を解決するための手段】
本発明の第1の解決手段によると、
処理部は、数論変換のための主鍵情報Pを、入力部からの入力又は記憶部から読み出すことで設定し、Pに基づき位数N及びPを法とする位数Nの根αを求めるステップと、
処理部は、wN×hN画素の原画像oを表した複数の原画像ブロックoxy(x=0、…、w−1、 y=0、…、h−1)の各画素値oij(i、j=0、…、N−1)を記憶部から読み取る又は入力部から入力するステップと、
処理部は、Pに基づき各画素値oxyに埋め込む署名情報sxyを作成するステップと、
処理部は、oxyとsxyの差分を取ることで署名情報を埋め込んだ埋め込み画像ブロックexyを得るステップと、
処理部は、exyの数論変換係数Exyとoxyの数論変換係数Oxyを求めるステップと、
処理部は、次式により、各ブロックに対応する副鍵情報のブロックKxyを生成するステップと、
ij=Eij−1 ij(modP)
(ここに、Oij、Eij、Kijは、Oxy、Exy、Kxyの各要素値をそれぞれ示す。また、O−1 ijはOijの逆元である。)
処理部は、各前記ステップの処理をw×h個の原画素ブロックoxyに対して行い、埋め込み画像ブロックexyと、副鍵情報ブロックKxyを得て、記憶部に記憶するステップと、
処理部は、exy、P、N、Kxyを送信するステップと、
を含む改ざん位置検出方法、各ステップをコンピュータに実行させるための改ざん位置検出プログラムを記録したコンピュータ読み取り可能な記録媒体が提供される。
【0010】
本発明の第2の解決手段によると、
処理部は、署名情報を埋め込んだ受信画像を受信画像ブロックe’xy(x=0、…、w−1、 y=0、…、h−1)に分割し、この各画素値e’ij(i、j=0、…、N−1)を設定し、その受信画像ブロックe’xyを記憶部に記憶するステップと、
処理部は、主鍵情報P、位数N、副鍵情報Kxy、を記憶部から読み取る又は受信することで設定するステップと、
処理部は、Pを法とする位数Nの根αを計算するステップと、
処理部は、各受信画像ブロックe’xyを、予め取得したPと位数NとPを法とする位数Nの根αに基づき数論変換係数E’xyに数論変換するステップと、
処理部は、次式により、受信画像ブロックe’xyに基づく受信原画像o’xyの数論変換係数O’xyを計算するステップと、
E’ij−1 ij=O’ij(modP)
(ここに、O’ij、E’ij、Kijは、O’xy、E’ xy、Kxyの各要素値をそれぞれ示す。また、K−1 ijはKijの逆元である。)
処理部は、得られたO’xyを逆数論変換したo’xyを計算するステップと、
処理部は、o’xyとe’xyとの差をとることにより、署名情報s’xyを抽出するステップと、
処理部は、各前記ステップの処理をw×h個の受信画像ブロックに対して行い、s’xyとo’xyを得て、記憶部に記憶するステップと、
を含む改ざん位置検出方法、各ステップをコンピュータに実行させるための改ざん位置検出プログラムを記録したコンピュータ読み取り可能な記録媒体が提供される。
【0011】
【発明の実施の形態】
本実施の形態では、数論変換の概要および、数論変換を用いた脆弱型電子透かしによる改ざん位置検出手法及び改ざん訂正手法について述べる。また、本実施の形態についてのシミュレーション実験を通じて有効性について述べる。
【0012】
1.数論変換
1−1.概要
はじめに、数論変換について説明する[8]−[13]。パラメータP、α、uを正の整数、Nをα=1(modP)となる最小の正の整数とする。ここで、φ(P)はEuler関数で、Pより小さく、かつPに対し互いに素となる整数の数とすると、N=φ(P)となるαを位数Nの原始根と呼び、N<φ(P)のαを、単に位数Nの根と呼ぶ。また、uu−1=1(modP)となるu−1を、Pを法とするNの逆元と呼ぶ。
ここで、αを用いた次のような変換対を考える。
【0013】
【数2】

Figure 0003773471
【0014】
上式の計算は、Pを法とする剰余数系ですべての演算が可能なため、丸め誤差を一切生じない。よって、電子透かしへの応用を考えたとき、Pを秘匿しておけば、数論変換の性質から、第三者は期待する変換結果を得ることができないため、Pは変換における鍵情報として利用できる。
【0015】
数論変換を用いた電子透かしの従来手法には、我々が提案した文献[14]の手法があるが、Pにはフェルマー数を用いたものであった。フェルマー数とは、tを正の整数とすると、
P=2+1、b=2 (3)
で表されるため、Pの選択には厳しい制限があり、鍵情報として用いるのには必ずしも不適当でない場合があった。そこでPが素数のべき乗による任意の合成数でも可能である手法を紹介する[12]。
【0016】
iを素数としてP=p r1 r2…p riで表されるとする。まず、位数をN|GCD[(p−1)、(p−1)、…、(p−1)]を満たす正の整数から選択し、pを法とする位数Nの根g1、iを計算する。次に、p riを法とする位数Nの根g2、iを次のように求める。
【0017】
【数3】
Figure 0003773471
【0018】
続いて、中国剰余定理により、Pを法とする位数Nの根αをg2、iより求める。数論変換は以上より算出したパラメータにより実行する。
【0019】
一般に、剰余系で演算を行う場合取扱える数の範囲を広げるため、異なる法の剰余系の組を用い、演算結果は法ごとの結果の組となる場合がある。中国剰余定理(Chinese remainder theorem)は、この組からある進数で唯一に定まる数を求めるもので次のように表わせる。(青木由直「波動信号処理」、森北出版株式会社、1986年4月3日、参照)
【0020】
[定理] 法m(i=1、2、・・・、l)を互いに素な正整数に選びM=m・・・mとすると
<a>mi=r (i=1、2、・・・、l)
(ここに、rは法mに関するaの剰余である。)
を満足する正整数a(0<a≦M−1)は次式で唯一に与えられる。
a=Σd −1 (mod M)
ここで、
Σは、i=1〜lの和
=M/m
−1=(<dmi−1 (mod m
(なお、(<dmi−1は法mでの乗法逆元。)
【0021】
1−2.例
例えば、P=61009=13×19による数論変換を考える。まず、GCD[12、18]=6より、NをN|6=[1、2、3、6]から選択する。ここではN=3を採用する。次に13と19を法とする位数3の根を計算する。それぞれをg1、1、g1、2とすると、g1、1=3、g1、2=7である。よって、13と19を法とする位数3の根をg2、1、g2、2とすると、次のようになる。
【0022】
【数4】
Figure 0003773471
【0023】
続いて、よく知られた中国剰余定理により、61009を法とする位数3の根はα=653と求まる。
【0024】
図1に、素数13のy(mod 13)の説明図を示す。
例えば、13を法とする位数3の根の見つけ方を考える。yが縦、xが横である。1が出る周期がNである時、yを13を法とした位数N(ここだと3)である。y=3、9の時、3つおきに“3”が出ているため、3、9が根である。ここでは、例えば、複数の根のうち最小のものを選択することとすると、根=3となる。なお、数論の全般的なことについては、http://fox.zero.ad.jp/~zat25960/math/number/index.htm等参照。
【0025】
ここで、一例として、以上に基づき、N=3の系列x=[10、20、30]の数論変換を考える。式(1)、(2)は行列表示すると次のようになる。
X=[T]x (4)
x=[T]−1X (5)
ただし、
X=[X(0)、X(1)、X(2)]
x=[x(0)、x(1)、x(2)]
である。変換行列[T]は、
【0026】
【数5】
Figure 0003773471
【0027】
となり、逆変換行列[T]−1
【0028】
【数6】
Figure 0003773471
【0029】
となる。xを数論変換すると、
【0030】
【数7】
Figure 0003773471
【0031】
となり、[T]−1を用いて逆変換すると、
x=[T]−1X=[10、20、30](mod 61009)
が得られる。
【0032】
ここで、例えば、変換後の系列X=[60、54459、6520]がX’=[61、54459、6521]に改ざんされたとする。逆変換後の出力x’は、
x’=[T]−1X’=[11、238、40485](mod 61009)
となり、xとは全く異なる。この結果は、丸め誤差の生じない数論変換の性質から得られるもので、改ざん検出に有効であるといえる。
【0033】
2.ハードウェア
図2に、システム構成の概略図を示す。このシステムでは、送信者用コンピュータ10、受信者用コンピュータ20、認証機関用コンピュータ30を備える。送信者コンピュータ10から受信者用コンピュータ20へは署名情報が電子透かしで埋め込まれた画像情報eが伝達される。なお、署名データSは送信者用コンピュータ10から受信者用コンピュータ20との間で予め決定されている。送信者用コンピュータ10から認証機関用コンピュータ30は主鍵情報P、位数N及び副鍵情報Kが送られる。受信者用コンピュータ20は認証機関用コンピュータ30からこれら鍵情報P及びKを取得する。
【0034】
送信者から受信者へのe、P、Kの伝送手段は、例えば、次のような手段がある。ここで、eは公開してもかまわないため、受信者用コンピュータ20は送信者用コンピュータ10からe−mailで直接送信しても特に問題ないが、鍵情報P、Kは秘密鍵のため、送信者用コンピュータ10から認証機関コンピュータ30に送信する場合にはセキュリティの観点から、RSAなどの暗号化を施した後に送信するべきである。例えば、ディジタルカメラでの運用を考えた場合、カメラから直接認証機関に送信されることが一案である。この場合はe−mailではなく、暗号化ファイルを直接パケット交換や回線交換で送信することもできる。これら鍵情報を認証機関コンピュータ30から送信者用コンピュータ10が受信する場合も同様である。
【0035】
図3は、送信者・受信者用コンピュータのハードウェアの構成図である。
このハードウェアは、中央処理装置(CPU)である処理部1、入力部2、出力部3、表示部4、記憶部5、インターフェース6を有する。また、処理部1、入力部2、出力部3、表示部4及び記憶部5は、スター又はバス等の適宜の接続手段で接続されている。記憶部5は、パラメータファイル51、画像ファイル52を含む。インターフェース6は、インターネット、移動体通信網等の各種ネットワークと接続され、他のコンピュータと情報の送受を無線、又は有線で行う。
【0036】
3.改ざん位置検出
3−1.埋め込み処理
図4に、埋め込み処理のフローチャートを示す。また、図5は、N=2の場合の、一つのブロックに対する埋め込み処理の概念図である。
【0037】
埋め込み処理を行う送信者用コンピュータ10は、まず数論変換のパラメータとなる主鍵情報Pを決定し、処理部1は、数論変換のための主鍵情報Pを、入力部2からの入力又は記憶部5のパラメータファイル51から読み出すことで設定し、Pに基づき位数N及びPを法とする位数Nの根α等の各種パラメータを設定する(S101)。例えば、Pは、記憶部5のパラメータファイル51に予め素数のべき乗の積による形式で記憶されていてもよいし、入力部2により素数p乗数riを所望の数に組合せて入力して作成するようにしてもよい。ここでPは任意の合成数でよいが、1または偶数である場合には数論の性質により、Nは1に限定される[13]。ゆえに、Pは3以上の奇数とする。また、画像の画素値の最大値をomaxとすると、後述の「3−3」で述べる改ざん位置検出処理を考慮して、P>>omaxであることが望ましい。
【0038】
また、処理部1は前述したN|GCD[(p−1)、(p−1)、…、(p−1)]から位数Nを求める。Pを決定すると、一般に、Nの候補が複数出てくる。Nがユーザで指定又は処理部1が自動設定すると、αは自動的に計算により決定される(計算については前述の具体的例を参照)。複数のNの候補が求められた場合、Nをユーザが入力部により適宜指定・採用することができる。また、処理部1が予め定めた範囲で選択するようにしてもよい。Nはブロックサイズと等価であることから、Nは小さければ小さいほど検出の精度は高くなるが、N=1では数論変換の意味が無くなってしまうため、2以上を選択する。Nが大きいほど、一つのブロックに対する鍵情報Kxyのビット数が大きくなるためよりセキュアになるものの、検出の精度は低くなる。検出の精度とセキュリティの高さはトレードオフの関係にあるといえる。
【0039】
さらに、処理部1はPとNから前述のようにαを求める。処理部1は得られた数論変換のパラメータP、N、αをパラメータファイルに記憶してもよい。
【0040】
つぎに、処理部1は、wN×hN画素の原画像oを表した原画像データを記憶部5の画像ファイル52から読み取る又は入力部2から入力する。(S103)oはwN×hN画素とする。さらに、oをN×N画素の原画像のブロックに分割し、この一つの原画像ブロックをoxy(x=0、…、w−1、y=0、…、h−1)とする。また、oxyの各画素値をoij(i、j=0、…、N−1)で表す。次に、処理部1は、Pに基づきoxyに埋め込む署名情報をsxyとして作成する(S105)。処理部1は、oxyとsxyの差分を取ることで署名情報を埋め込んだ埋め込み画像ブロックexyを得る(S107)。つまり、exyの各画素値をeij、sxyの各要素値をsijとすると、
ij=oij−sij (8)
となる。なお、ここではsxyは、P、x、y、i、jのいずれか又は所定の複数を用いて、適宜の演算により決定することができる。たとえば、εを埋め込み強度を決定する正の整数とすると、
ij=P(x+y+i+j)(modε) (9)
又は、
ij=P(x・y・i・j)(modε)
等で決定することができる。この関数はあらかじめ送信者と受信者の間で決定しておく。さらに、処理部1は、「1.数論変換」で述べたように、exyの数論変換係数Exyとoxy数論変換係数Oxyを求める(S109、S111)。つぎに、処理部1は、oxyとexyから、このブロックに対応する副鍵情報のブロックKxyを生成する(S113)。Kxyはexyの数論変換係数とoxyの数論変換係数の逆元の積で得られる。つまり、oxyとexyの数論変換係数をそれぞれOxy、Exyとし、Oxy、Exy、Kxyの各要素値をそれぞれOij、Eij、Kijとすると、
ij=Eij−1 ij(modP) (10)
となる。
【0041】
処理部1は、以上の処理をw×h個の全ブロックに対して行い、各埋め込み画像ブロックexyを含む埋め込み画像eと、各副鍵情報ブロックKxyを含む副鍵情報Kを得て、処理部1は得られたe、Kを記憶部5の画像ファイル及びパラメータファイルに記憶する(S115)。
【0042】
送信者用コンピュータ10の処理部1は、e、P、N、Kを記憶部5から吸収し、受信者用コンピュータ20に対してe、認証機関用コンピュータ30にP、N、Kを送信する(S117)。ここでは、正規の受信者のみが認証機関から鍵情報を取得することができるものとする。
【0043】
3−2.抽出処理
図6に、抽出処理のフローチャートを示す。また、図7は、N=2の場合の、一つのブロックに対する抽出処理の概念図である。
【0044】
処理部1は、署名情報を埋め込んだ受信画像のブロックe’xy(x=0、…、w−1、 y=0、…、h−1)に分割し、この各画素値e’ij(i、j=0、…、N−1)を設定し、その受信画像e’を記憶部5の画像ファイル52に記憶する(S201)。処理部1は、認証機関用コンピュータ30から予め取得した主鍵情報P、位数N、副鍵情報K、を記憶部5のパラメータファイル51から読み取る又は認証機関用コンピュータ30から受信することで設定する(S202)。処理部1は、Pを法とする位数Nの根α等のパラメータを計算する(S203)。
【0045】
処理部1は、各受信画像ブロックe’xyを、読み込み(S204)、予め取得したPに基づき上述のように数論変換係数E’xyに数論変換する(S205)。処理部1は、E’xyとKxyの逆元との積をとり受信画像e’に基づく受信原画像o’xyの数論変換係数O’xyを計算する(S207)。
【0046】
E’ij−1 ij=O’ij(modP) (11)
(ここに、O’ij、E’ij、Kijは、O’xy、E’ xy、Kxyの各要素値をそれぞれ示す。)
【0047】
処理部1は、得られたO’xyを逆数論変換したものをo’xyとして求める(S209)。処理部1は、署名情報を抽出するため、式(8)に基づき、o’xyとe’xyとの差をとる(S211)。つまり、差をs’xyとし、o’xy、s’xyの各要素値をo’ij、s’ijとすると、
o’ij−e’ij=s’ij (12)
となる。処理部は、各前記ステップの処理をw×h個の受信画像ブロックに対して行い、S’xyとO’xyを得て、記憶部に記憶する(S213)。
【0048】
3−3.改ざん検出処理
図8に改ざん検出処理のフローチャートを示す。図は一つのブロックに対する検出処理の過程を表したものである。なお本手法では、改ざんがなければ受信側で原画像を復元できる利点がある。処理部1は、記憶部5の画像ファイル52から受信画像に基づく受信原画像o’xyの検出対象ブロックを読み込む(S301)。
【0049】
ここで、e’xyに改ざんがなければe’xy=exyである。この場合は、式(8)、式(10)および数論変換の性質から、o’xy=oxy、s’xy=sxyとなる。一方で、これらの式が成立しない場合は改ざんがあったと見なす。本手法では、例えば、o’xyおよびs’xyが以下に示す条件を一つでも満たせば(S303、S305、S307)、e’xyは改ざんされているとする(S311)。一方、処理部1は、全ての条件をクリアすれば改ざんされていないとする。(S313)
条件1(S303) o’ij>omaxである。
条件2(S305) 式(9)から署名情報を生成し、s’xyと一致しない。
条件3(S307) o’xy、s’xy、式(8)および式(10)より副鍵情報を生成し、受信したKxyと一致しない。
【0050】
条件1は、o’xyが画像としての要件を満たしていない場合は改ざんと見なすものである。P>>omaxである場合に、この条件は有効である。条件2と条件3については、o’xy=oxy、s’xy=sxyであれば、o’xyやs’xyから署名情報や副鍵情報を生成したものと、受信した署名情報や副鍵情報は一致するはずである。もし一致しない場合は、改ざんされていると見なせる。なお、これら条件1〜3のうち例えば条件3のみでも判定可能である。また、条件3の処理をすべてに行うと処理に時間を要するため、比較的処理が複雑ではない条件1及び2を用いることで検出処理時間を短縮することもできる。その他、適宜の条件及びその組み合わせを用いることができる。
【0051】
4.改ざん訂正
図9は、改ざん訂正についてのフローチャートである。ステップS301〜S313は改ざん検出処理の各ステップの処理と同様であり、改ざんを検出する処理である。
【0052】
3−3で述べたすべての条件を満たさないブロックは、改ざんされていない正規ブロックの場合のみである(S313)。ゆえにそのようなブロックを全数探索すればよい。ただ、全数探索では多大な計算時間を必要とするため、工夫が必要である。
【0053】
改ざんがされている場合(S311)、処理部1は、初めての改ざん検出処理か判断する(S401)。処理部1は、初めての改ざん検出の場合は、探索パターンのための初期値を周囲のブロックに基づき設定する(S403)。
【00054】
処理部1は、改ざんされたと判断された対象ブロックの各画素に、初期値又は初期値から派生する複数値の任意の組合わせを当てはめた探索パターンを作成する(S405)。処理部1は、作成された探索パターンに基づき判断するステップS303〜S307で改ざんされていないと判断されるまで、探索パターンを作成するステップS405及び判断するステップS303〜S311を繰り返し、該当する探索パターンを求める。処理部1は、求めた探索パターンを記憶部5の画像ファイル52に記憶する(S407)。
【0055】
図10に、改ざん訂正のスキャンについての説明図を示す。また、図11に、改ざん訂正における検索を開始する初期値の算出と検索についての説明図を示す。
【0056】
今、e’xyに改ざんが検出されたとする。図に示す方向にスキャンして改ざん訂正を行うとすると、隣接する二つのブロックであるe’x(y−1)とe’(x−1)yは正規のブロックである。自然画像は画素値の変化が小さいという特徴があるため、e’x(y−1)とe’(x−1)yの各画素値の平均は、e’xyの真値に近いと予測できる。よって、この予測値を初期値として探索を開始することで、探索にかかる時間を短縮できる。
【0057】
図12に、改ざん訂正における探索パターン作成についての説明図を示す。
図の具体例で説明すると、例えば、一段目の探索ではすべて107のパターンを作ってテストする。二段目では106、107、108の三つの数字を使ったすべてのN×Nのパターンについてテストする。(この例では3=81通り)さらに、三段目では5=625通りとなる。このように、テストするパターンを生成する ための数字の数をだんだん増やしていき、真値が見つかるまで幅を広げながら探索する。
【0058】
5.シミュレーション実験
図13に、実験に用いたパラメータの説明図を示す。図14、図15に、シミュレーション実験の結果についての説明図(1)、(2)を示す。
本手法を図14(a)に示す標準画像LENAに適用し、有効性を検証した。LENAは256×256画素、8bit階調の白黒画像である。
【0059】
5−1.改ざん位置検出実験
埋め込み処理を行った結果が図14(b)である。SNRは43.1dBとなり、署名情報の埋め込み強度が小さいことから、埋め込みによる劣化はほとんど目立たなかった。ただし、SNRは以下の式で算出した。
【0060】
【数8】
Figure 0003773471
【0061】
ここで、orgijは原画像の画素値、embijは埋め込み画像の画素値である。
【0062】
次に、図14(b)を図14(c)のように改ざんを行った。これは図14(b)において20×20画素の矩形領域内を輝度値200で塗りつぶしたものである。図14(d)が本手法による改ざん検出結果である。変色した箇所が、改ざんと判定された箇所である。変色箇所と実際の改ざん箇所は一致していることから、提案手法が有効であることがわかった。
【0063】
5−2.改ざん訂正実験
様々な箇所に前節と同様の改ざんを行い、提案手法による改ざん訂正を行った。図15(a)は、図14(c)のような画素値の変化が小さい箇所に改ざんを行った場合の改ざん訂正結果である。一方、図15(c)は、図15(b)のような画素値の変化が大きな箇所に改ざんを行った場合の改ざん訂正結果である。いずれの場合も改ざん前の画像と全く同じものが得られ、提案手法が有効であることがわかった。
【0064】
なお図16は、改ざん箇所における隣接画素の差分値の標準偏差を横軸に、改ざん訂正処理に要した時間を縦軸にしたグラフである。標準偏差が大きいほど時間がかかることがわかった。
【0065】
6.考察
シミュレーション実験の結果、提案手法ではブロック単位での位置検出が可能であることがわかった。ゆえに、ブロックサイズNは小さいほど正確な位置検出が可能であるが、一方でKxyのビット数が小さくなるため、全数探索に対する安全性は低下する。この問題を改善するために、法Pをできるだけ大きな整数の中から選ぶことを考える。例えば、N=2、Pは32bitで表すことのできる整数の中から選ぶとすると、一つのブロックは32×2×2=128bitのKxyを持つことになり、全数探索によってKxyを同定することが非常に困難となるので、安全性を高めることができる。また、標準偏差が大きいほど改ざん訂正処理に時間が増大している。これは、本発明による改ざん訂正は付近の画素からの予測値を初期値として真値の探索を始めるが、エッジ部分のような標準偏差が大きな箇所に改ざんが行われた場合、その予測値と真値の誤差が大きくなるからだと考えられる。
【0066】
7.むすび
本発明では、数論変換による脆弱型電子透かしを用いた改ざん位置の検出と訂正について検討した。シミュレーション実験を通じて提案手法の有効性について検討し、良好な結果を得た。
【0067】
本発明の改ざん位置検出方法・改ざん訂正方法又は改ざん位置検出・改ざん訂正の装置・システムは、その各手順をコンピュータに実行させるための改ざん位置検出プログラム・改ざん訂正プログラム、改ざん位置検出プログラム・改ざん訂正プログラムを記録したコンピュータ読み取り可能な記録媒体、改ざん位置検出プログラム・改ざん訂正プログラムを含みコンピュータの内部メモリにロード可能なプログラム製品、そのプログラムを含むサーバ等のコンピュータ、等により提供されることができる。
【0068】
8.文献
[1]NTTデータ経営研究所(編著)、電子文書署名、NTT出版株式会社、東京、2001.
[2]遠藤直樹、小出昭夫、“コンテンツ配信と不正コピー防止、”信学会誌、Vol.83,No.2、pp.117-121,Feb.2000.
[3]小野束(著)、電子透かしとコンテンツ保護、オーム社、東京、2001.
[4]P. S. L. M. Barreto, H.Y.Kim,and V.Rijmen, “Toward A Secure Public-Key Blockwise Fragile Authentication Watermarking,” Proc. IEEE Int. Conf. Image Processing, vol.2, pp.494-497, 2001.
[5]P. W. Wong, “A Public Key Watermarking of Image Verification and Authentication、” Proc. IEEE Int. Conf. Image Processing, vol.1, MA11.07, 1998.
[6]岩村恵市、林純一、桜井幸一、今井秀樹、“安全な改ざん位置検出用電子透かしに関する考察と提案、”コンピュータセキュリティシンポジウム、pp.283-288, Oct. 2001.
[7]小野束、“電子文書改竄検出方法およびその装置、”公開特許広報、特開2002−44429、日本国特許庁、Feb.2002.
[8]H. Tamori, N. Aoki, and T. Yamamoto, “A Fragile Digital Watermarking Technique by Number Theoretic Transform,” IEICE Trans. Fundamentals, Aug.2002. (to be published)
[9]J. H. McClellan, and C. M. Rader, “Number Theory in Digital Signal Processing,” Prentice-Hall, New Jersey, 1979.
[10]電子情報通信学会(編)、ディジタル信号処理ハンドブック、オーム社、東京、1993.
[11]S.C.Coutinho(著)、林彬(訳)、暗号の数学的基礎、シュプリンガー・フェアラーク東京株式会社、東京、2001.
[12]H.J.Nussbaumer(著)、佐川雅彦、本間仁志(訳)、高速フーリエ変換のアルゴリズム、科学技術出版社、東京、1989.
[13]谷荻隆嗣(著)、ディジタル信号処理ライブラリー4 アルゴリズムと並列処理、コロナ社、東京、2000.
[14]田森秀明、青木直史、山本強、“数論変換を用いた改ざん検出可能な電子透かし方式、”信学技報IE2001-33,pp.105-110, Jul. 2001.
[15]J. Fridrich and M. Goljan, “Protection of Digital Images Using Self-Embedding,” Symposium on Content Security and Data Hiding in Digital Media, New Jersey Institute of Technology, May 1999.
[16]J. Fridrich and M. Goljan, “Images with Self-Correcting Capabilities,” ICIP’99, Kobe, Japan, Oct. 1999.
【0069】
【発明の効果】
本発明によると、以上のように、数論変換(NTT:Number Theoretic Transform)による脆弱型電子透かしを用いた改ざん位置検出手法を提供することができる。さらに、本発明によると、数論変換に基づく新たな手法により、改ざんの位置検出だけでなく、数論変換の性質から、改ざん訂正手法を提供することができる。
【0070】
本発明によると、受信者は透かし情報が埋め込まれた画像を受け取った後、認証機関から取得した鍵情報を用いて原本性を確認する。この過程で送信者は、原本そのものを受信者あるいは認証機関に伝送する必要がなく、原本を第三者に見せることなく保護することができる。
【0071】
また、本発明は、インターネット回線を利用した画像を含む公文書の伝送、ディジタルカメラやスキャナ等によって取得された画像の原本性保証、画像に施された各種修正や特殊効果の同定と除去等に利用できると考えられる。
【図面の簡単な説明】
【図1】素数13のy(mod 13)の説明図。
【図2】システム構成の概略図。
【図3】送信者・受信者用コンピュータのハードウェアの構成図。
【図4】埋め込み処理のフローチャート。
【図5】N=2の場合の、一つのブロックに対する埋め込み処理の概念図。
【図6】抽出処理のフローチャート。
【図7】N=2の場合の、一つのブロックに対する抽出処理の概念図。
【図8】改ざん検出処理のフローチャート。
【図9】改ざん訂正についてのフローチャート。
【図10】改ざん訂正のスキャンについての説明図
【図11】改ざん訂正における検索を開始する初期値の算出と検索についての説明図。
【図12】改ざん訂正における探索パターン作成についての説明図。
【図13】実験に用いたパラメータの説明図。
【図14】シミュレーション実験の結果についての説明図(1)。
【図15】シミュレーション実験の結果についての説明図(2)。
【図16】改ざん箇所における隣接画素の差分値の標準偏差を横軸に、改ざん訂正処理に要した時間を縦軸にしたグラフ。
【符号の説明】
10 送信者用コンピュータ
20 受信者用コンピュータ
30 認証機関用コンピュータ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a falsification position detection method, a falsification position detection program, and a recording medium on which the program is recorded, and more particularly to a falsification position detection technique and a falsification correction technique for a still image using a fragile digital watermark by number theory conversion.
[0002]
[Prior art]
In general, images used for official documents such as evidence photographs are required to have sufficient originality, but digital images can be easily tampered with to eliminate unnaturalness. There is a need for tamper detection technology. Conventionally, an electronic signature using a hash function has been studied as a method for realizing these purposes [1]. (Hereinafter, [] indicates the documents described later.) However, such an electronic signature is not intended to detect the position of tampering, which is one of the various modern requirements.
[0003]
As one method for enabling this, an application of digital watermark has been studied [2] [3]. In the target digital content, a weak digital watermark that is intentionally fragile to a specific attack is repeatedly embedded in the entire content in small blocks. In the alteration detection processing stage, the destroyed digital watermark is identified, and the location of the alteration is specified.
[0004]
Conventionally, as a conventional method for detecting a falsification position by digital watermark, a method of embedding a hash value or a parity value obtained from digital contents in an LSB (Least Significant Bit) of a bit plane has been mainly [4]- [7].
[0005]
[Problems to be solved by the invention]
Digital watermarks as copyright protection technology are attracting attention from the viewpoint of tampering detection. This is because digital watermarks that are vulnerable to specific processing can be used for tampering detection. However, in detecting the falsification position of a still image, a technique that does not require an original image and can detect any falsification is ideal. Also, considering algorithm disclosure, it is desirable to consider the use of key information. Further, the conventional method of falsification position submission by digital watermark as described above does not consider the correction of the falsified position.
[0006]
The present invention has been made in view of the above points, and an object thereof is to provide a falsification position detection method using a fragile digital watermark by number theoretic transform (NTT). Furthermore, an object of the present invention is to provide a falsification correction method based on the nature of number theoretic conversion as well as the position detection of falsification by a new method based on number theoretic conversion [8].
[0007]
In the present invention, the sender receives the image in which the watermark information is embedded, and then confirms the originality by using the key information acquired from the certification authority. It is an object of the present invention to provide a tampering position detection / correction method that can protect an original without showing it to a third party.
[0008]
In addition, the present invention can be used for transmission of public documents including images using the Internet line, guaranteeing the originality of images obtained by digital cameras, scanners, etc., and identifying and removing various modifications and special effects applied to images. An object of the present invention is to provide a tampering position detection method that can be used.
[0009]
[Means for Solving the Problems]
According to the first solution of the present invention,
The processing unit sets the main key information P for number theory conversion by reading from the input unit or reading from the storage unit, and obtains the order α and the root α of the order N modulo P based on P. Steps,
The processing unit has a plurality of original image blocks o representing the original image o of wN × hN pixels.xyEach pixel value o (x = 0,..., W−1, y = 0,..., H−1)ijReading (i, j = 0,..., N−1) from the storage unit or inputting from the input unit;
The processing unit calculates each pixel value o based on P.xySignature information embedded inxyThe steps of creating
The processing unit is oxyAnd sxyEmbedded image block with signature information embedded by taking the difference betweenxyAnd getting the steps
The processing unit is exyNumber conversion factor ExyAnd oxyNumber conversion factor OxyA step of seeking
The processing unit calculates the block K of the sub key information corresponding to each block by the following equation:xyA step of generating
Kij= EijO-1 ij(ModP)
(Here, Oij, Eij, KijIs Oxy, Exy, KxyEach element value of is shown. O-1 ijIs OijIs the inverse of )
The processing unit performs processing of each of the above steps by w × h original pixel blocks oxyEmbedded image block exySub key information block KxyObtaining and storing in the storage unit;
The processing unit is exy, P, N, KxyA step of sending
And a computer-readable recording medium on which a falsification position detection program for causing a computer to execute each step is recorded.
[0010]
According to the second solution of the present invention,
The processing unit converts the received image in which the signature information is embedded into the received image block e ′.xy(X = 0,..., W−1, y = 0,..., H−1), and each pixel value e ′ij(I, j = 0,..., N−1) is set, and the received image block e ′xyStoring in the storage unit;
The processing unit includes main key information P, order N, and sub key information K.xyReading or receiving from the storage unit, and
The processing unit calculates the root α of the order N modulo P;
The processing unit receives each received image block e ′.xyBased on the previously obtained P, the order N, and the root α of the order N modulo P.xyTransforming the number theory into
The processing unit obtains the received image block e ′ by the following equation:xyReceived original image based onxyNumber theory conversion coefficient O 'xyA step of calculating
E ’ijK-1 ij= O ’ij(ModP)
(Here O ’ij, E ’ij, KijIs O ’xy, E ’ xy, KxyEach element value of is shown. K-1 ijIs KijIs the inverse of )
The processing unit obtains the O 'xyO ’xyA step of calculating
The processing unit is o ’xyAnd e ’xyBy taking the difference between the signature information s'xyExtracting the
The processing unit performs the process of each step on w × h received image blocks, and s ′xyAnd o ’xyObtaining and storing in the storage unit;
And a computer-readable recording medium on which a falsification position detection program for causing a computer to execute each step is recorded.
[0011]
DETAILED DESCRIPTION OF THE INVENTION
In the present embodiment, an overview of number-theoretic conversion and a falsification position detection method and falsification correction method using a fragile digital watermark using number-theoretic conversion will be described. In addition, the effectiveness will be described through a simulation experiment for the present embodiment.
[0012]
1. Number theory conversion
1-1. Overview
First, number theory conversion will be described [8]-[13]. Parameters P, α, u are positive integers, N is αN= 1 (modP) is the smallest positive integer. Here, φ (P) is an Euler function, and if α is an integer number smaller than P and relatively prime to P, α satisfying N = φ (P) is called a primitive root of order N, and N <Α of φ (P) is simply called the root of the order N. Uu-1= 1 (modP)-1Is called the inverse of N modulo P.
Here, consider the following conversion pair using α.
[0013]
[Expression 2]
Figure 0003773471
[0014]
The calculation of the above formula does not cause any rounding error because all operations can be performed in a residue number system modulo P. Therefore, when considering application to digital watermarking, if P is concealed, the conversion result expected by a third party cannot be obtained due to the nature of number theoretic conversion, so P is used as key information in the conversion. it can.
[0015]
The conventional method of digital watermarking using number theoretic transformation is the method of the literature [14] that we have proposed, but P uses the Fermat number. Fermat's number means that t is a positive integer.
P = 2b+1, b = 2t        (3)
Therefore, there are severe restrictions on the selection of P, which may not always be appropriate for use as key information. Therefore, we introduce a method in which P can be any composite number that is a power of a prime number [12].
[0016]
piIs a prime number P = p1 r1p2 r2... pi riIt is assumed that First, the order is represented by N | GCD [(p1-1), (p2-1), ..., (pi-1)] is selected from positive integers, and piRoot of order N modulo1, iCalculate Then pi riRoot of order N modulo2, iIs obtained as follows.
[0017]
[Equation 3]
Figure 0003773471
[0018]
Subsequently, the root α of the order N modulo P is given by the Chinese remainder theorem as g2, iAsk more. Arithmetic conversion is performed using the parameters calculated above.
[0019]
In general, in order to expand the range of numbers that can be handled when performing operations in a residue system, a set of residue systems of different moduli is used, and the operation result may be a set of results for each method. The Chinese remainder theorem seeks a number that is uniquely determined from a certain decimal number from this set and can be expressed as follows. (Refer to Yoshinao Aoki “Wave Signal Processing”, Morikita Publishing Co., Ltd., April 3, 1986)
[0020]
[Theorem] Modal mi(I = 1, 2,..., L) are chosen as prime prime integers, and M = m1m2... mlIf
<a>mi= Ri  (I = 1, 2,..., L)
(Where riIs the modulo miIs the remainder of a. )
A positive integer a that satisfies (0 <a ≦ M−1) is uniquely given by the following equation.
a = Σdidi -1ri  (Mod M)
here,
Σ is the sum of i = 1 to l
di= M / mi  ,
di -1= (<Di>mi)-1  (Mod mi)
(Note that (<di>mi)-1Is the modulo miMultiplicative inverse in )
[0021]
1-2. Example
For example, P = 61009 = 132× 192Consider the number theoretic transformation. First, from GCD [12, 18] = 6, N is selected from N | 6 = [1, 2, 3, 6]. Here, N = 3 is adopted. Next, the root of order 3 modulo 13 and 19 is calculated. G for each1, 1, G1, 2Then g1, 1= 3, g1, 2= 7. Therefore, 132And 192The root of order 3 modulo2, 1, G2, 2Then, it becomes as follows.
[0022]
[Expression 4]
Figure 0003773471
[0023]
Subsequently, according to the well-known Chinese remainder theorem, the root of order 3 modulo 61010 is obtained as α = 653.
[0024]
In FIG.xAn explanatory view of (mod 13) is shown.
For example, consider how to find the root of order 3 modulo 13. y is vertical and x is horizontal. When the period in which 1 appears is N, y is an order N modulo 13 (here, 3). When y = 3 and 9, “3” appears every third, so 3 and 9 are roots. Here, for example, if the smallest one of a plurality of roots is selected, root = 3. For general information on number theory, see http://fox.zero.ad.jp/~zat25960/math/number/index.htm.
[0025]
Here, as an example, based on the above, N = 3 series x = [10, 20, 30]TConsider the number theoretic transformation. Expressions (1) and (2) are expressed as follows in matrix form.
X = [T] x (4)
x = [T]-1X (5)
However,
X = [X (0), X (1), X (2)]T
x = [x (0), x (1), x (2)]T
It is. The transformation matrix [T] is
[0026]
[Equation 5]
Figure 0003773471
[0027]
And the inverse transformation matrix [T]-1Is
[0028]
[Formula 6]
Figure 0003773471
[0029]
It becomes. If x is converted to number theory,
[0030]
[Expression 7]
Figure 0003773471
[0031]
[T]-1When inversely transformed using
x = [T]-1X = [10, 20, 30]T(Mod 61090)
Is obtained.
[0032]
Here, for example, the converted sequence X = [60, 54459, 6520].TX ′ = [61, 54459, 6521]TSuppose it has been tampered with. The output x ′ after the inverse transformation is
x ′ = [T]-1X '= [11,238, 40485]T(Mod 61090)
And is completely different from x. This result is obtained from the nature of the number theoretic transformation that does not cause rounding errors, and can be said to be effective for tamper detection.
[0033]
2. hardware
FIG. 2 shows a schematic diagram of the system configuration. This system includes a sender computer 10, a recipient computer 20, and a certificate authority computer 30. Image information e in which signature information is embedded with a digital watermark is transmitted from the sender computer 10 to the receiver computer 20. The signature data S is determined in advance between the sender computer 10 and the receiver computer 20. The main key information P, the order N, and the sub key information K are sent from the sender computer 10 to the certification authority computer 30. The recipient computer 20 acquires the key information P and K from the certification authority computer 30.
[0034]
Examples of means for transmitting e, P, and K from the sender to the receiver include the following means. Here, since e may be disclosed, there is no particular problem even if the recipient computer 20 directly transmits from the sender computer 10 by e-mail. However, since the key information P and K are secret keys, In the case of transmission from the sender computer 10 to the certification authority computer 30, it should be transmitted after encryption such as RSA is performed from the viewpoint of security. For example, when considering operation with a digital camera, it is one idea to transmit directly from the camera to the certification authority. In this case, instead of e-mail, the encrypted file can be transmitted directly by packet switching or circuit switching. The same applies when the sender computer 10 receives the key information from the certification authority computer 30.
[0035]
FIG. 3 is a hardware configuration diagram of the sender / receiver computer.
This hardware includes a processing unit 1, which is a central processing unit (CPU), an input unit 2, an output unit 3, a display unit 4, a storage unit 5, and an interface 6. Further, the processing unit 1, the input unit 2, the output unit 3, the display unit 4, and the storage unit 5 are connected by appropriate connection means such as a star or a bus. The storage unit 5 includes a parameter file 51 and an image file 52. The interface 6 is connected to various networks such as the Internet and a mobile communication network, and transmits and receives information to and from other computers wirelessly or by wire.
[0036]
3. Tamper detection
3-1. Embedding process
FIG. 4 shows a flowchart of the embedding process. FIG. 5 is a conceptual diagram of the embedding process for one block when N = 2.
[0037]
The sender computer 10 that performs the embedding process first determines the main key information P that is a parameter for the number theoretic conversion, and the processing unit 1 inputs or stores the main key information P for the number theoretic conversion from the input unit 2. Various parameters such as the order α and the root α of the order N modulo P are set based on P and set by reading from the parameter file 51 of the unit 5 (S101). For example, P may be stored in advance in the parameter file 51 of the storage unit 5 in the form of a product of the powers of prime numbers, or the prime number p by the input unit 2.iMultiplier riIt is also possible to create them by inputting them in a desired number. Here, P may be any composite number, but if it is 1 or even, N is limited to 1 due to the nature of number theory [13]. Therefore, P is an odd number of 3 or more. Also, the maximum pixel value of the image is set to omaxThen, considering the falsification position detection process described in “3-3” described later, P >> omaxIt is desirable that
[0038]
Further, the processing unit 1 uses the above-described N | GCD [(p1-1), (p2-1), ..., (pi-1)] to obtain the order N. When P is determined, generally, a plurality of N candidates appear. When N is specified by the user or automatically set by the processing unit 1, α is automatically determined by calculation (refer to the specific example described above for calculation). When a plurality of N candidates are obtained, the user can appropriately designate and adopt N by the input unit. Further, the processing unit 1 may make a selection within a predetermined range. Since N is equivalent to the block size, the smaller N is, the higher the accuracy of detection is. However, when N = 1, the meaning of number-theoretic conversion is lost, so 2 or more is selected. The larger N is, the key information K for one blockxySince the number of bits increases, the accuracy of detection is reduced, although it is more secure. It can be said that there is a trade-off between detection accuracy and security.
[0039]
Further, the processing unit 1 obtains α from P and N as described above. The processing unit 1 may store the obtained number theoretic transformation parameters P, N, and α in a parameter file.
[0040]
Next, the processing unit 1 reads original image data representing the original image o of wN × hN pixels from the image file 52 of the storage unit 5 or inputs it from the input unit 2. (S103) o is a wN × hN pixel. Further, o is divided into N × N pixel original image blocks, and this one original image block is divided into o.xy(X = 0,..., W−1, y = 0,..., H−1). Also oxyEach pixel value of oij(I, j = 0,..., N−1). Next, the processing unit 1 performs o based on P.xyThe signature information to be embedded inxy(S105). The processing unit 1 is oxyAnd sxyEmbedded image block with signature information embedded by taking the difference betweenxyIs obtained (S107). That is, exyFor each pixel value of eij, SxyEach element value of sijThen,
eij= Oij-Sij          (8)
It becomes. Here, sxyCan be determined by an appropriate calculation using any one of P, x, y, i, j, or a predetermined plurality. For example, if ε is a positive integer that determines the embedding strength,
sij= P (x + y + i + j) (modε) (9)
Or
sij= P (x.y.i.j) (mod.epsilon)
Etc. can be determined. This function is determined in advance between the sender and the receiver. Further, as described in “1. Arithmetic Conversion”, the processing unit 1 exyNumber conversion factor ExyAnd oxyArithmetic conversion coefficient OxyIs obtained (S109, S111). Next, the processing unit 1xyAnd exyTo the subkey information block K corresponding to this block.xyIs generated (S113). KxyIs exyNumber theory conversion coefficient and oxyIs obtained by the product of the inverse elements of That is, oxyAnd exyThe number theory conversion coefficient of Oxy, ExyAnd Oxy, Exy, KxyEach element value of Oij, Eij, KijThen,
Kij= EijO-1 ij(ModP) (10)
It becomes.
[0041]
The processing unit 1 performs the above processing on all w × h blocks, and each embedded image block exyEmbedded image e including each subkey information block KxyIs obtained, and the processing unit 1 stores the obtained e and K in the image file and parameter file of the storage unit 5 (S115).
[0042]
The processing unit 1 of the sender computer 10 absorbs e, P, N, and K from the storage unit 5 and transmits e to the receiver computer 20 and P, N, and K to the certification authority computer 30. (S117). Here, it is assumed that only legitimate recipients can obtain key information from the certification authority.
[0043]
3-2. Extraction process
FIG. 6 shows a flowchart of the extraction process. FIG. 7 is a conceptual diagram of extraction processing for one block when N = 2.
[0044]
The processing unit 1 receives the block e ′ of the received image in which the signature information is embedded.xy(X = 0,..., W−1, y = 0,..., H−1), and each pixel value e ′ij(I, j = 0,..., N−1) is set, and the received image e ′ is stored in the image file 52 of the storage unit 5 (S201). The processing unit 1 sets the main key information P, the order N, and the sub key information K acquired in advance from the certification authority computer 30 by reading from the parameter file 51 of the storage unit 5 or receiving from the certification authority computer 30. (S202). The processing unit 1 calculates parameters such as the root α of the order N modulo P (S203).
[0045]
The processing unit 1 receives each received image block e ′xyIs read (S204) and based on the previously acquired P, the number conversion coefficient E 'xyThe number theory is converted into (S205). The processing unit 1 uses E ′xyAnd KxyReceived original image o 'based on the received image e'xyNumber theory conversion coefficient O 'xyIs calculated (S207).
[0046]
E ’ijK-1 ij= O ’ij(ModP) (11)
(Here O ’ij, E ’ij, KijIs O ’xy, E ’ xy, KxyEach element value of is shown. )
[0047]
The processing unit 1 obtains the O ′ obtainedxyO 'xy(S209). In order to extract the signature information, the processing unit 1 extracts o ′ based on Expression (8).xyAnd e ’xy(S211). In other words, the difference is s ’xyAnd o ’xy, S ’xyEach element value of o ’ij, S ’ijThen,
o ’ij-E ’ij= S ’ij        (12)
It becomes. The processing unit performs the processing of each step on w × h received image blocks, and S ′xyAnd O ’xyAnd stored in the storage unit (S213).
[0048]
3-3. Tamper detection processing
FIG. 8 shows a flowchart of falsification detection processing. The figure shows the process of detection processing for one block. Note that this method has an advantage that the original image can be restored on the receiving side if there is no alteration. The processing unit 1 receives the received original image o ′ based on the received image from the image file 52 in the storage unit 5.xyThe detection target block is read (S301).
[0049]
Where e ’xyIf there is no tampering with e ’xy= ExyIt is. In this case, from the properties of Equation (8), Equation (10) and number conversion, o ′xy= Oxy, S ’xy= SxyIt becomes. On the other hand, if these formulas do not hold, it is considered that there has been falsification. In this method, for example, o ′xyAnd s ’xyIf at least one of the following conditions is satisfied (S303, S305, S307), e 'xyIs assumed to have been tampered with (S311). On the other hand, it is assumed that the processing unit 1 has not been tampered with if all the conditions are cleared. (S313)
Condition 1 (S303) o ′ij> OmaxIt is.
Condition 2 (S305) Signature information is generated from Expression (9), and s'xyDoes not match.
Condition 3 (S307) o 'xy, S ’xySubkey information is generated from Equation (8) and Equation (10) and received KxyDoes not match.
[0050]
Condition 1 is o ’xyIs considered tampering if it does not meet the image requirements. P >> omaxThis condition is valid if For conditions 2 and 3, o ’xy= Oxy, S ’xy= SxyThen o ’xyOr s ’xyThe signature information and subkey information generated from the signature information and the received signature information and subkey information should match. If they do not match, it can be assumed that they have been tampered with. Of these conditions 1 to 3, for example, only condition 3 can be determined. Further, since the processing takes time when all the processing of condition 3 is performed, the detection processing time can be shortened by using conditions 1 and 2 that are relatively uncomplicated. In addition, appropriate conditions and combinations thereof can be used.
[0051]
4). Tampering correction
FIG. 9 is a flowchart for tampering correction. Steps S301 to S313 are the same as the processing of each step of the falsification detection process, and are processes for detecting falsification.
[0052]
Blocks that do not satisfy all the conditions described in 3-3 are only regular blocks that have not been tampered with (S313). Therefore, it is sufficient to search all such blocks. However, since exhaustive search requires a great amount of calculation time, it needs to be devised.
[0053]
If tampering has been performed (S311), the processing unit 1 determines whether it is the first tampering detection process (S401). In the case of the first alteration detection, the processing unit 1 sets an initial value for the search pattern based on the surrounding blocks (S403).
[00054]
The processing unit 1 creates a search pattern in which an initial value or an arbitrary combination of a plurality of values derived from the initial value is applied to each pixel of the target block determined to have been tampered with (S405). The processing unit 1 repeats Step S405 for creating a search pattern and Steps S303 to S311 for judging until it is judged that it has not been falsified in Steps S303 to S307 for judging based on the created search pattern. Ask for. The processing unit 1 stores the obtained search pattern in the image file 52 of the storage unit 5 (S407).
[0055]
FIG. 10 is an explanatory diagram for scanning for falsification correction. FIG. 11 shows an explanatory diagram of calculation and search of initial values for starting search in falsification correction.
[0056]
E ’nowxySuppose that tampering is detected. If tampering correction is performed by scanning in the direction shown in the figure, two adjacent blocks e ′x (y-1)And e ’(X-1) yIs a regular block. Since natural images are characterized by small changes in pixel values, e ′x (y-1)And e ’(X-1) yThe average of the pixel values ofxyIt can be predicted that it is close to the true value of. Therefore, the search time can be shortened by starting the search using the predicted value as an initial value.
[0057]
FIG. 12 is an explanatory diagram for creating a search pattern in tampering correction.
For example, in the first stage search, all 107 patterns are created and tested. In the second stage, all N × N patterns using three numbers 106, 107 and 108 are tested. (In this example, 34= 81 ways) Furthermore, in the third stage, 54= 625 ways. In this way, the number of numbers used to generate the pattern to be tested is gradually increased, and the search is performed while increasing the range until a true value is found.
[0058]
5). Simulation experiment
FIG. 13 is an explanatory diagram of parameters used in the experiment. 14 and 15 are explanatory diagrams (1) and (2) for the results of the simulation experiment.
This method was applied to the standard image LENA shown in FIG. 14A to verify the effectiveness. LENA is a monochrome image of 256 × 256 pixels and 8-bit gradation.
[0059]
5-1. Tamper detection experiment
FIG. 14B shows the result of the embedding process. Since the SNR was 43.1 dB and the embedding strength of the signature information was small, the deterioration due to embedding was hardly noticeable. However, SNR was calculated by the following formula.
[0060]
[Equation 8]
Figure 0003773471
[0061]
Where orgijIs the pixel value of the original image, embijIs the pixel value of the embedded image.
[0062]
Next, FIG. 14B was falsified as shown in FIG. In FIG. 14B, a rectangular area of 20 × 20 pixels is filled with a luminance value 200. FIG. 14D shows the falsification detection result by this method. The discolored portion is a portion determined to be falsified. Since the discoloration part and the actual falsification part coincided, it was found that the proposed method is effective.
[0063]
5-2. Tampering correction experiment
The same alterations as in the previous section were performed at various locations, and the alterations were corrected using the proposed method. FIG. 15A shows a tampering correction result when tampering is performed at a location where the change in pixel value is small as shown in FIG. On the other hand, FIG. 15C shows a tampering correction result when tampering is performed at a location where the change in the pixel value is large as shown in FIG. In all cases, the same image as before the alteration was obtained, and it was found that the proposed method was effective.
[0064]
FIG. 16 is a graph in which the horizontal axis represents the standard deviation of the difference values of adjacent pixels at the tampered location, and the vertical axis represents the time required for tampering correction processing. It was found that the larger the standard deviation, the longer it takes.
[0065]
6). Consideration
As a result of simulation experiments, it was found that the proposed method can detect the position of each block. Therefore, the smaller the block size N, the more accurate position detection is possible.xySince the number of bits is small, the safety against exhaustive search is reduced. To remedy this problem, consider choosing the modulus P from the largest possible integers. For example, if N = 2 and P is selected from integers that can be represented by 32 bits, one block is K of 32 × 2 × 2 = 128 bits.xyAnd K by exhaustive searchxyTherefore, it is very difficult to identify, so that safety can be improved. Moreover, the time for the tampering correction process increases as the standard deviation increases. This is because the falsification correction according to the present invention starts searching for a true value using a predicted value from a neighboring pixel as an initial value, but if the falsification is performed at a location where the standard deviation is large such as an edge portion, This is thought to be because the true value error increases.
[0066]
7. Conclusion
In the present invention, the detection and correction of a falsification position using a fragile digital watermark by number theory conversion was studied. The effectiveness of the proposed method was examined through simulation experiments, and good results were obtained.
[0067]
The falsification position detection method / falsification correction method or falsification position detection / falsification correction apparatus / system of the present invention is a falsification position detection program / falsification correction program / falsification position detection program / falsification correction for causing a computer to execute each procedure. The program can be provided by a computer-readable recording medium that records the program, a program product that includes a falsification position detection program / falsification correction program, and can be loaded into the internal memory of the computer, a computer such as a server that includes the program, and the like.
[0068]
8). Literature
[1] NTT Data Management Laboratory (edited), electronic document signature, NTT Publishing Co., Tokyo, 2001.
[2] Naoki Endo and Akio Koide, “Content Distribution and Unauthorized Copying Protection,” Journal of the IEICE, Vol.83, No.2, pp.117-121, Feb.2000.
[3] Onozuka (Author), digital watermarking and content protection, Ohmsha, Tokyo, 2001.
[4] P. S. L. M. Barreto, H.Y. Kim, and V. Rijmen, “Toward A Secure Public-Key Blockwise Fragile Authentication Watermarking,” Proc. IEEE Int. Conf. Image Processing, vol.2, pp.494-497, 2001.
[5] P. W. Wong, “A Public Key Watermarking of Image Verification and Authentication,” Proc. IEEE Int. Conf. Image Processing, vol.1, MA11.07, 1998.
[6] Megumi Iwamura, Junichi Hayashi, Koichi Sakurai, Hideki Imai, “Study and Proposal on Digital Watermark for Secure Tampering Detection,” Computer Security Symposium, pp.283-288, Oct. 2001.
[7] Onozuka, “Electronic document falsification detection method and apparatus,” published patent publication, JP 2002-44429, Japan Patent Office, Feb. 2002.
[8] H. Tamori, N. Aoki, and T. Yamamoto, “A Fragile Digital Watermarking Technique by Number Theoretic Transform,” IEICE Trans. Fundamentals, Aug. 2002. (to be published)
[9] J. H. McClellan, and C. M. Rader, “Number Theory in Digital Signal Processing,” Prentice-Hall, New Jersey, 1979.
[10] IEICE (ed.), Digital Signal Processing Handbook, Ohmsha, Tokyo, 1993.
[11] S.M. C. Coutinho (Author), Hayashi Hayashi (translation), Mathematical Foundations of Cryptography, Springer Fairlark Tokyo Co., Tokyo, 2001.
[12] H.M. J. et al. Nussbaumer (Author), Masahiko Sagawa, Hitoshi Honma (translation), Algorithm for Fast Fourier Transform, Science and Technology Publishers, Tokyo, 1989.
[13] Takashi Tanizaki (Author), Digital Signal Processing Library 4 Algorithm and Parallel Processing, Corona, Tokyo, 2000.
[14] Hideaki Tamori, Naofumi Aoki, Tsuyoshi Yamamoto, “A digital watermarking method that can detect tampering using number conversion,” IEICE Technical Report IE2001-33, pp.105-110, Jul. 2001.
[15] J. Fridrich and M. Goljan, “Protection of Digital Images Using Self-Embedding,” Symposium on Content Security and Data Hiding in Digital Media, New Jersey Institute of Technology, May 1999.
[16] J. Fridrich and M. Goljan, “Images with Self-Correcting Capabilities,” ICIP’99, Kobe, Japan, Oct. 1999.
[0069]
【The invention's effect】
According to the present invention, as described above, it is possible to provide a falsification position detection method using a fragile digital watermark by number theoretic transform (NTT). Furthermore, according to the present invention, a new technique based on number theoretic conversion can provide a tampering correction technique not only from the position of tampering but also from the nature of number theoretic conversion.
[0070]
According to the present invention, after receiving the image in which the watermark information is embedded, the recipient confirms the originality by using the key information acquired from the certification authority. In this process, the sender does not need to transmit the original itself to the receiver or the certification body, and can protect the original without showing it to a third party.
[0071]
In addition, the present invention can be used for transmission of public documents including images using the Internet line, guaranteeing the originality of images obtained by digital cameras, scanners, etc., identifying and removing various modifications and special effects applied to images, etc. It is considered that it can be used.
[Brief description of the drawings]
FIG. 1 y of prime number 13xExplanatory drawing of (mod 13).
FIG. 2 is a schematic diagram of a system configuration.
FIG. 3 is a hardware configuration diagram of a sender / receiver computer.
FIG. 4 is a flowchart of an embedding process.
FIG. 5 is a conceptual diagram of an embedding process for one block when N = 2.
FIG. 6 is a flowchart of extraction processing.
FIG. 7 is a conceptual diagram of extraction processing for one block when N = 2.
FIG. 8 is a flowchart of falsification detection processing.
FIG. 9 is a flowchart for tampering correction.
FIG. 10 is an explanatory diagram of tampering correction scanning.
FIG. 11 is an explanatory diagram of calculation and search of an initial value for starting a search in falsification correction.
FIG. 12 is an explanatory diagram of search pattern creation in tampering correction.
FIG. 13 is an explanatory diagram of parameters used in the experiment.
FIG. 14 is an explanatory diagram (1) about the result of a simulation experiment.
FIG. 15 is an explanatory diagram (2) about the result of a simulation experiment.
FIG. 16 is a graph in which the horizontal axis represents the standard deviation of the difference value between adjacent pixels at the alteration location, and the vertical axis represents the time required for the alteration correction processing.
[Explanation of symbols]
10 Sender computer
20 Recipient computer
30 Certificate Authority Computer

Claims (13)

数論変換のための主鍵情報Pを、入力部からの入力又は記憶部から読み出すことで設定し、Pに基づき位数N及びPを法とする位数Nの根αを求めるステップと、
wN×hN画素の原画像oを表した複数の原画像ブロックoxy(x=0、…、w−1、 y=0、…、h−1)の各画素値oij(i、j=0、…、N−1)を記憶部から読み取る又は入力部から入力するステップと、
Pに基づき各画素値oxyに埋め込む署名情報sxyを作成するステップと、
xyとsxyの差分を取ることで署名情報を埋め込んだ埋め込み画像ブロックexyを得るステップと、
主鍵情報Pと求められたN及びαとに基づき数論変換することにより、xyの数論変換係数Exyとoxyの数論変換係数Oxyを求めるステップと、
次式により、各ブロックに対応する副鍵情報のブロックKxyを生成するステップと、
ij=Eij−1 ij(modP)
(ここに、Oij、Eij、Kijは、Oxy、Exy、Kxyの各要素値をそれぞれ示す。また、O−1 ijはOijの逆元である。)
各前記ステップの処理をw×h個の原画素ブロックoxyに対して行い、埋め込み画像ブロックexyと、副鍵情報ブロックKxyを得て、記憶部に記憶するステップと、
xy、P、N、Kxyを送信するステップと、
を含む改ざん位置検出方法。
Setting primary key information P for number theory conversion by reading from an input unit or reading from a storage unit, and obtaining a root α of order N modulo N and P based on P;
Each pixel value o ij (i, j =) of a plurality of original image blocks o xy (x = 0,..., w−1, y = 0,..., h−1) representing the original image o of wN × hN pixels. Reading 0,..., N-1) from the storage unit or inputting from the input unit;
Creating signature information s xy to be embedded in each pixel value o xy based on P;
obtaining an embedded image block e xy with embedded signature information by taking the difference between o xy and s xy ;
By converting Number Theory based on the main key information P and the obtained N and alpha, determining a number theoretic transform coefficients O xy number theoretic transform coefficients E xy and o xy of e xy,
Generating a sub-key information block K xy corresponding to each block according to the following equation:
K ij = E ij O −1 ij (modP)
(Here, O ij , E ij , and K ij indicate element values of O xy , E xy , and K xy , respectively, and O −1 ij is an inverse element of O ij .)
Performs processing of each of the steps for w × h pieces of the original pixel block o xy, embedding image block e xy, the steps of obtaining a sub-key information block K xy, stored in the storage unit,
sending e xy , P, N, K xy ;
Tampering position detection method including
署名情報を埋め込んだ受信画像を受信画像ブロックe’xy(x=0、…、w−1、 y=0、…、h−1)に分割し、この各画素値e’ij(i、j=0、…、N−1)を設定し、その受信画像ブロックe’xyを記憶部に記憶するステップと、
主鍵情報P、位数N、副鍵情報Kxy、を記憶部から読み取る又は受信することで設定するステップと、
Pを法とする位数Nの根αを求めるステップと、
各受信画像ブロックe’xyを、予め取得したPと位数NとPを法とする位数Nの根αに基づき数論変換係数E’xyに数論変換するステップと、
次式により、受信画像ブロックe’xyに基づく受信原画像o’xyの数論変換係数O’xyを計算するステップと、
E’ij−1 ij=O’ij(modP)
(ここに、O’ij、E’ij、Kijは、O’xy、E’ xy、Kxyの各要素値をそれぞれ示す。)
得られたO’xyを逆数論変換したo’xyを計算するステップと、
o’xyとe’xyとの差をとることにより、署名情報s’xyを抽出するステップと、
各前記ステップの処理をw×h個の受信画像ブロックに対して行い、s’xyとo’xyを得て、記憶部に記憶するステップと、
を含む改ざん位置検出方法。
The received image in which the signature information is embedded is divided into received image blocks e ′ xy (x = 0,..., W−1, y = 0,..., H−1), and each pixel value e ′ ij (i, j = 0,..., N−1) and storing the received image block e ′ xy in the storage unit;
Setting the main key information P, the order N, and the sub key information K xy by reading or receiving from the storage unit;
Determining a root α of order N modulo P,
Transforming each received image block e ′ xy into a number-theoretic transform coefficient E ′ xy based on a pre-acquired P, the order N and the root α of the order N modulo P;
Calculating a number transformation coefficient O ′ xy of the received original image o ′ xy based on the received image block e ′ xy according to the following equation:
E ′ ij K −1 ij = O ′ ij (modP)
(Here, O ′ ij , E ′ ij , and K ij are O ′ xy , E ′ Respective element values of xy and Kxy are shown. )
Calculating o ′ xy obtained by reciprocal transformation of the obtained O ′ xy ,
extracting signature information s ′ xy by taking the difference between o ′ xy and e ′ xy ;
Performing each of the above steps on w × h received image blocks to obtain s ′ xy and o ′ xy and storing them in a storage unit;
Tampering position detection method including
数論変換のための主鍵情報Pを、入力部からの入力又は記憶部から読み出すことで設定し、Pに基づき位数N及びPを法とする位数Nの根αを求めるステップと、
wN×hN画素の原画像oを表した複数の原画像ブロックoxy(x=0、…、w−1、 y=0、…、h−1)の各画素値oij(i、j=0、…、N−1)を記憶部から読み取る又は入力部から入力するステップと、
Pに基づき各画素値oxyに埋め込む署名情報sxyを作成するステップと、
xyとsxyの差分を取ることで署名情報を埋め込んだ埋め込み画像ブロックexyを得るステップと、
主鍵情報Pと求められたN及びαとに基づき数論変換することにより、xyの数論変換係数Exyとoxyの数論変換係数Oxyを求めるステップと、
次式により、各ブロックに対応する副鍵情報のブロックKxyを生成するステップと、
ij=Eij−1 ij(modP)
(ここに、Oij、Eij、Kijは、Oxy、Exy、Kxyの各要素値をそれぞれ示す。また、O−1 ijはOijの逆元である。)
各前記ステップの処理をw×h個の原画素ブロックoxyに対して行い、埋め込み画像ブロックexyと、副鍵情報ブロックKxyを得て、記憶部に記憶するステップと、
xy、P、N、Kxyを送信するステップと、
署名情報を埋め込んだ受信画像を受信画像ブロックe’xy(x=0、…、w−1、 y=0、…、h−1)に分割し、この各画素値e’ij(i、j=0、…、N−1)を設定し、その受信画像ブロックe’xyを記憶部に記憶するステップと、
主鍵情報P、位数N、副鍵情報Kxy、を記憶部から読み取る又は受信することで設定するステップと、
Pを法とする位数Nの根αを求めるステップと、
各受信画像ブロックe’xyを、予め取得したPと位数NとPを法とする位数Nの根αに基づき数論変換係数E’xyに数論変換するステップと、
次式により、受信画像ブロックe’xyに基づく受信原画像o’xyの数論変換係数O’xyを計算するステップと、
E’ij−1 ij=O’ij(modP)
(ここに、O’ij、E’ij、Kijは、O’xy、E’ xy、Kxyの各要素値をそれぞれ示す。また、K−1 ijはKijの逆元である。)
得られたO’xyを逆数論変換したo’xyを計算するステップと、
o’xyとe’xyとの差をとることにより、署名情報s’xyを抽出するステップと、
各前記ステップの処理をw×h個の受信画像ブロックに対して行い、s’xyとo’xyを得て、記憶部に記憶するステップと、
を含む改ざん位置検出方法。
Setting primary key information P for number theory conversion by reading from an input unit or reading from a storage unit, and obtaining a root α of order N modulo N and P based on P;
Each pixel value o ij (i, j =) of a plurality of original image blocks o xy (x = 0,..., w−1, y = 0,..., h−1) representing the original image o of wN × hN pixels. Reading 0,..., N-1) from the storage unit or inputting from the input unit;
Creating signature information s xy to be embedded in each pixel value o xy based on P;
obtaining an embedded image block e xy with embedded signature information by taking the difference between o xy and s xy ;
By converting Number Theory based on the main key information P and the obtained N and alpha, determining a number theoretic transform coefficients O xy number theoretic transform coefficients E xy and o xy of e xy,
Generating a sub-key information block K xy corresponding to each block according to the following equation:
K ij = E ij O −1 ij (modP)
(Here, O ij , E ij , and K ij indicate element values of O xy , E xy , and K xy , respectively, and O −1 ij is an inverse element of O ij .)
Performs processing of each of the steps for w × h pieces of the original pixel block o xy, embedding image block e xy, the steps of obtaining a sub-key information block K xy, stored in the storage unit,
sending e xy , P, N, K xy ;
The received image in which the signature information is embedded is divided into received image blocks e ′ xy (x = 0,..., W−1, y = 0,..., H−1), and each pixel value e ′ ij (i, j = 0,..., N−1) and storing the received image block e ′ xy in the storage unit;
Setting the main key information P, the order N, and the sub key information K xy by reading or receiving from the storage unit;
Determining a root α of order N modulo P,
Transforming each received image block e ′ xy into a number-theoretic transform coefficient E ′ xy based on a pre-acquired P, the order N and the root α of the order N modulo P;
Calculating a number transformation coefficient O ′ xy of the received original image o ′ xy based on the received image block e ′ xy according to the following equation:
E ′ ij K −1 ij = O ′ ij (modP)
(Here, O ′ ij , E ′ ij , and K ij are O ′ xy , E ′ Respective element values of xy and Kxy are shown. K -1 ij is an inverse element of K ij . )
Calculating o ′ xy obtained by reciprocal transformation of the obtained O ′ xy ,
extracting signature information s ′ xy by taking the difference between o ′ xy and e ′ xy ;
Performing each of the above steps on w × h received image blocks to obtain s ′ xy and o ′ xy and storing them in a storage unit;
Tampering position detection method including
記憶部から受信画像に基づく受信原画像ブロックo’xyの検出対象ブロックを読み込むステップと、
o’ijが予め定められた最大値より大でないという第1の条件、又は、Pに基づき生成された署名情報sijがs’xyと一致しないという第2の条件のいずれかを満たす場合、改ざんされていると判断するステップと、
さらに含むことを特徴とする請求項1乃至3のいずれかに記載の改ざん位置検出方法。
Reading the detection target block of the received original image block o ′ xy based on the received image from the storage unit;
When either the first condition that o ′ ij is not larger than a predetermined maximum value or the second condition that the signature information s ij generated based on P does not match s ′ xy is satisfied, A step of determining that the image has been tampered with;
The tampering position detection method according to claim 1, further comprising:
記憶部から受信画像に基づく受信原画像ブロックo’xyの検出対象ブロックを読み込むステップと、
記憶部から読み出したo’xy、s’xyに基づき、副鍵情報K’xyを生成し、受信したKxyと一致しないという第3の条件を満たす場合、改ざんされていると判断するステップと、
さらに含むことを特徴とする請求項1乃至3のいずれかに記載の改ざん位置検出方法。
Reading the detection target block of the received original image block o ′ xy based on the received image from the storage unit;
Sub key information K ′ xy is generated based on o ′ xy and s ′ xy read from the storage unit, and when the third condition that the received key does not match K xy is satisfied, the step of determining that tampering has occurred; ,
The tampering position detection method according to claim 1, further comprising:
記憶部から受信画像に基づく受信原画像ブロックo’xyの検出対象ブロックを読み込むステップと、
検出対象ブロックが改ざんされているかを判断するステップと、
探索パターンのための初期値を周囲のブロックに基づき設定するステップと、
改ざんされたと判断された対象ブロックの各画素に、初期値又は初期値から派生する複数値の任意の組合わせを当てはめた探索パターンを作成するステップと、
作成された探索パターンに基づき前記判断するステップで改ざんされていないと判断されるまで、前記探索パターンを作成するステップ及び前記判断するステップを繰り返し、該当する探索パターンを求めるステップと、
求めた探索パターンを記憶部に記憶するステップと、
さらに含むことを特徴とする請求項1乃至3のいずれかに記載の改ざん位置検出方法。
Reading the detection target block of the received original image block o ′ xy based on the received image from the storage unit;
Determining whether the block to be detected has been tampered with;
Setting initial values for the search pattern based on surrounding blocks;
Creating a search pattern in which an initial value or any combination of a plurality of values derived from the initial value is applied to each pixel of the target block determined to be falsified;
Repeating the step of creating the search pattern and the step of determining until it is determined that it has not been falsified in the step of determining based on the generated search pattern, and obtaining the corresponding search pattern;
Storing the obtained search pattern in the storage unit;
The tampering position detection method according to claim 1, further comprising:
前記位数の根αを求めるステップは、
を素数、rを正の整数としてP=p r1 r2…p riで表されるとしたPを設定し、
位数NをN|GCD[(p−1)、(p−1)、…、(p−1)]を満たす正の整数から選択し又は記憶部から読み取り、
を法とする位数Nの根g1、iを計算し、
riを法とする位数Nの根g2、iを、g1、iより求め、
中国剰余定理により、Pを法とする位数Nの根αを、g2、iより求める
ことを特徴とする請求項1乃至3のいずれかに記載の改ざん位置検出方法。
The step of obtaining the root α of the order includes
P is defined as P = p 1 r1 p 2 r2 ... p i ri, where p i is a prime number, r i is a positive integer,
The order N is selected from positive integers satisfying N | GCD [(p 1 −1), (p 2 −1),..., (P i −1)] or read from the storage unit,
calculate the roots g 1 and i of the order N modulo p i ,
Obtain roots g 2 and i of order N modulo p i ri from g 1 and i ,
4. The falsification position detection method according to claim 1, wherein the root α of the order N modulo P is obtained from g 2 and i by the Chinese remainder theorem.
前記e xy の数論変換係数E xy とo xy の数論変換係数O xy を求めるステップ、及び、前記数論変換するステップは、
P、N及びαを用いて、次式によりx(n)とX(k)との間の数論変換を実行することを特徴とする請求項1乃至3のいずれかに記載の改ざん位置検出方法。
Figure 0003773471
(ここに、P(素数のべき乗となる任意の合成数)、α、(を正の整数、Nをα=1(modP)となる最小の正の整数)
X=[T]x
x=[T]−1
([T]:変換行列、[T]−1:逆変換行列)
The step of obtaining the number theoretic conversion coefficient E xy of the e xy and the number theoretic conversion coefficient O xy of the o xy and the step of performing the number theoretic conversion include:
The tampering position detection according to any one of claims 1 to 3, wherein a number-theoretic transformation between x (n) and X (k) is performed using P, N, and α according to the following equation. Method.
Figure 0003773471
(Where P is an arbitrary composite number that is a power of a prime number), α, (is a positive integer, N is the smallest positive integer such that α N = 1 (modP))
X = [T] x
x = [T] −1 X
([T]: transformation matrix, [T] −1 : inverse transformation matrix)
前記署名情報s xy を作成するステップは、
P、x、y、i、jが、あらかじめ送信者用コンピュータと受信者用コンピュータの間で決定しており、εを埋め込み強度を決定する正の整数とすると、sxyを、
ij=P(x+y+i+j)(modε)
又は、
ij=P(x・y・i・j)(modε)
により求めることを特徴とする請求項1又は3のいずれかに記載の改ざん位置検出方法。
The step of creating the signature information s xy includes:
If P, x, y, i, and j are determined in advance between the sender computer and the receiver computer, and ε is a positive integer that determines the embedding strength, s xy is
s ij = P (x + y + i + j) (modε)
Or
s ij = P (x · y · i · j) (modε)
The tampering position detection method according to claim 1, wherein the tampering position detection method is obtained by:
数論変換のための主鍵情報Pを、入力部からの入力又は記憶部から読み出すことで設定し、Pに基づき位数N及びPを法とする位数Nの根αを求めるステップと、
wN×hN画素の原画像oを表した複数の原画像ブロックoxy(x=0、…、w−1、 y=0、…、h−1)の各画素値oij(i、j=0、…、N−1)を記憶部から読み取る又は入力部から入力するステップと、
Pに基づき各画素値oxyに埋め込む署名情報sxyを作成するステップと、
xyとsxyの差分を取ることで署名情報を埋め込んだ埋め込み画像ブロックexyを得るステップと、
主鍵情報Pと求められたN及びαとに基づき数論変換することにより、xyの数論変換係数Exyとoxyの数論変換係数Oxyを求めるステップと、
次式により、各ブロックに対応する副鍵情報のブロックKxyを生成するステップと、
ij=Eij−1 ij(modP)
(ここに、Oij、Eij、Kijは、Oxy、Exy、Kxyの各要素値をそれぞれ示す。また、O−1 ijはOijの逆元である。)
各前記ステップの処理をw×h個の原画素ブロックoxyに対して行い、埋め込み画像ブロックexyと、副鍵情報ブロックKxyを得て、記憶部に記憶するステップと、
xy、P、N、Kxyを送信するステップと、
をコンピュータに実行させるための改ざん位置検出プログラム。
Setting primary key information P for number theory conversion by reading from an input unit or reading from a storage unit, and obtaining a root α of order N modulo N and P based on P;
Each pixel value o ij (i, j =) of a plurality of original image blocks o xy (x = 0,..., w−1, y = 0,..., h−1) representing the original image o of wN × hN pixels. Reading 0,..., N-1) from the storage unit or inputting from the input unit;
Creating signature information s xy to be embedded in each pixel value o xy based on P;
obtaining an embedded image block e xy with embedded signature information by taking the difference between o xy and s xy ;
By converting Number Theory based on the main key information P and the obtained N and alpha, determining a number theoretic transform coefficients O xy number theoretic transform coefficients E xy and o xy of e xy,
Generating a sub-key information block K xy corresponding to each block according to the following equation:
K ij = E ij O −1 ij (modP)
(Here, O ij , E ij , and K ij indicate element values of O xy , E xy , and K xy , respectively, and O −1 ij is an inverse element of O ij .)
Performs processing of each of the steps for w × h pieces of the original pixel block o xy, embedding image block e xy, the steps of obtaining a sub-key information block K xy, stored in the storage unit,
sending e xy , P, N, K xy ;
A falsification position detection program for causing a computer to execute.
署名情報を埋め込んだ受信画像を受信画像ブロックe’xy(x=0、…、w−1、 y=0、…、h−1)に分割し、この各画素値e’ij(i、j=0、…、N−1)を設定し、その受信画像ブロックe’xyを記憶部に記憶するステップと、
主鍵情報P、位数N、副鍵情報Kxy、を記憶部から読み取る又は受信することで設定するステップと、
Pを法とする位数Nの根αを求めるステップと、
各受信画像ブロックe’xyを、予め取得したPと位数NとPを法とする位数Nの根αに基づき数論変換係数E’xyに数論変換するステップと、
次式により、受信画像ブロックe’xyに基づく受信原画像o’xyの数論変換係数O’xyを計算するステップと、
E’ij−1 ij=O’ij(modP)
(ここに、O’ij、E’ij、Kijは、O’xy、E’ xy、Kxyの各要素値をそれぞれ示す。また、K−1 ijはKijの逆元である。)
得られたO’xyを逆数論変換したo’xyを計算するステップと、
o’xyとe’xyとの差をとることにより、署名情報s’xyを抽出するステップと、
各前記ステップの処理をw×h個の受信画像ブロックに対して行い、s’xyとo’xyを得て、記憶部に記憶するステップと、
をコンピュータに実行させるための改ざん位置検出プログラム。
The received image in which the signature information is embedded is divided into received image blocks e ′ xy (x = 0,..., W−1, y = 0,..., H−1), and each pixel value e ′ ij (i, j = 0,..., N−1) and storing the received image block e ′ xy in the storage unit;
Setting the main key information P, the order N, and the sub key information K xy by reading or receiving from the storage unit;
Determining a root α of order N modulo P,
Transforming each received image block e ′ xy into a number-theoretic transform coefficient E ′ xy based on a pre-acquired P, the order N and the root α of the order N modulo P;
Calculating a number transformation coefficient O ′ xy of the received original image o ′ xy based on the received image block e ′ xy according to the following equation:
E ′ ij K −1 ij = O ′ ij (modP)
(Here, O ′ ij , E ′ ij , and K ij are O ′ xy , E ′ Respective element values of xy and Kxy are shown. K -1 ij is an inverse element of K ij . )
Calculating o ′ xy obtained by reciprocal transformation of the obtained O ′ xy ,
extracting signature information s ′ xy by taking the difference between o ′ xy and e ′ xy ;
Performing each of the above steps on w × h received image blocks to obtain s ′ xy and o ′ xy and storing them in a storage unit;
A falsification position detection program for causing a computer to execute.
数論変換のための主鍵情報Pを、入力部からの入力又は記憶部から読み出すことで設定し、Pに基づき位数N及びPを法とする位数Nの根αを求めるステップと、
wN×hN画素の原画像oを表した複数の原画像ブロックoxy(x=0、…、w−1、 y=0、…、h−1)の各画素値oij(i、j=0、…、N−1)を記憶部から読み取る又は入力部から入力するステップと、
Pに基づき各画素値oxyに埋め込む署名情報sxyを作成するステップと、
xyとsxyの差分を取ることで署名情報を埋め込んだ埋め込み画像ブロックexyを得るステップと、
主鍵情報Pと求められたN及びαとに基づき数論変換することにより、xyの数論変換係数Exyとoxyの数論変換係数Oxyを求めるステップと、
次式により、各ブロックに対応する副鍵情報のブロックKxyを生成するステップと、
ij=Eij−1 ij(modP)
(ここに、Oij、Eij、Kijは、Oxy、Exy、Kxyの各要素値をそれぞれ示す。また、O−1 ijはOijの逆元である。)
各前記ステップの処理をw×h個の原画素ブロックoxyに対して行い、埋め込み画像ブロックexyと、副鍵情報ブロックKxyを得て、記憶部に記憶するステップと、
xy、P、N、Kxyを送信するステップと
をコンピュータに実行させるための改ざん位置検出プログラムを記録したコンピュータ読み取り可能な記録媒体。
Setting primary key information P for number theory conversion by reading from an input unit or reading from a storage unit, and obtaining a root α of order N modulo N and P based on P;
Each pixel value o ij (i, j =) of a plurality of original image blocks o xy (x = 0,..., w−1, y = 0,..., h−1) representing the original image o of wN × hN pixels. Reading 0,..., N-1) from the storage unit or inputting from the input unit;
Creating signature information s xy to be embedded in each pixel value o xy based on P;
obtaining an embedded image block e xy with embedded signature information by taking the difference between o xy and s xy ;
By converting Number Theory based on the main key information P and the obtained N and alpha, determining a number theoretic transform coefficients O xy number theoretic transform coefficients E xy and o xy of e xy,
Generating a sub-key information block K xy corresponding to each block according to the following equation:
K ij = E ij O −1 ij (modP)
(Here, O ij , E ij , and K ij indicate element values of O xy , E xy , and K xy , respectively, and O −1 ij is an inverse element of O ij .)
Performs processing of each of the steps for w × h pieces of the original pixel block o xy, embedding image block e xy, the steps of obtaining a sub-key information block K xy, stored in the storage unit,
A computer-readable recording medium recording a falsification position detection program for causing a computer to execute the steps of transmitting e xy , P, N, and K xy .
署名情報を埋め込んだ受信画像を受信画像ブロックe’xy(x=0、…、w−1、 y=0、…、h−1)に分割し、この各画素値e’ij(i、j=0、…、N−1)を設定し、その受信画像ブロックe’xyを記憶部に記憶するステップと、
主鍵情報P、位数N、副鍵情報Kxy、を記憶部から読み取る又は受信することで設定するステップと、
Pを法とする位数Nの根αを求めるステップと、
各受信画像ブロックe’xyを、予め取得したPと位数NとPを法とする位数Nの根αに基づき数論変換係数E’xyに数論変換するステップと、
次式により、受信画像ブロックe’xyに基づく受信原画像o’xyの数論変換係数O’xyを計算するステップと、
E’ij−1 ij=O’ij(modP)
(ここに、O’ij、E’ij、Kijは、O’xy、E’ xy、Kxyの各要素値をそれぞれ示す。また、K−1 ijはKijの逆元である。)
得られたO’xyを逆数論変換したo’xyを計算するステップと、
o’xyとe’xyとの差をとることにより、署名情報s’xyを抽出するステップと、
各前記ステップの処理をw×h個の受信画像ブロックに対して行い、s’xyとo’xyを得て、記憶部に記憶するステップと、
をコンピュータに実行させるための改ざん位置検出プログラムを記録したコンピュータ読み取り可能な記録媒体。
The received image in which the signature information is embedded is divided into received image blocks e ′ xy (x = 0,..., W−1, y = 0,..., H−1), and each pixel value e ′ ij (i, j = 0,..., N−1) and storing the received image block e ′ xy in the storage unit;
Setting the main key information P, the order N, and the sub key information K xy by reading or receiving from the storage unit;
Determining a root α of order N modulo P,
Transforming each received image block e ′ xy into a number-theoretic transform coefficient E ′ xy based on a pre-acquired P, the order N and the root α of the order N modulo P;
Calculating a number transformation coefficient O ′ xy of the received original image o ′ xy based on the received image block e ′ xy according to the following equation:
E ′ ij K −1 ij = O ′ ij (modP)
(Here, O ′ ij , E ′ ij , and K ij are O ′ xy , E ′ Respective element values of xy and Kxy are shown. K -1 ij is an inverse element of K ij . )
Calculating o ′ xy obtained by reciprocal transformation of the obtained O ′ xy ,
extracting signature information s ′ xy by taking the difference between o ′ xy and e ′ xy ;
Performing each of the above steps on w × h received image blocks to obtain s ′ xy and o ′ xy and storing them in a storage unit;
A computer-readable recording medium on which a falsification position detection program for causing a computer to execute is recorded.
JP2002201703A 2002-07-10 2002-07-10 Falsification position detection method, falsification position detection program, and recording medium recording the program Expired - Fee Related JP3773471B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002201703A JP3773471B2 (en) 2002-07-10 2002-07-10 Falsification position detection method, falsification position detection program, and recording medium recording the program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002201703A JP3773471B2 (en) 2002-07-10 2002-07-10 Falsification position detection method, falsification position detection program, and recording medium recording the program

Publications (2)

Publication Number Publication Date
JP2004048285A JP2004048285A (en) 2004-02-12
JP3773471B2 true JP3773471B2 (en) 2006-05-10

Family

ID=31708161

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002201703A Expired - Fee Related JP3773471B2 (en) 2002-07-10 2002-07-10 Falsification position detection method, falsification position detection program, and recording medium recording the program

Country Status (1)

Country Link
JP (1) JP3773471B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3773482B2 (en) 2002-10-30 2006-05-10 独立行政法人科学技術振興機構 Tamper detection method, tamper detection program, and recording medium recording the program

Also Published As

Publication number Publication date
JP2004048285A (en) 2004-02-12

Similar Documents

Publication Publication Date Title
Haouzia et al. Methods for image authentication: a survey
US7146502B2 (en) Information processing apparatus and its control method, computer program, and storage medium
Naveh et al. Photoproof: Cryptographic image authentication for any set of permissible transformations
Voyatzis et al. Protecting digital image copyrights: a framework
JP4669187B2 (en) Method for embedding a watermark in a compressed image, method for recovering a watermark from a compressed image, and recording medium
US6266429B1 (en) Method for confirming the integrity of an image transmitted with a loss
Zhao et al. Effective watermarking scheme in the encrypted domain for buyer–seller watermarking protocol
EP0845758A2 (en) Embedding authentication information into an image
JP2004180278A (en) Information processing apparatus, server device, electronic data management system, information processing system, information processing method, computer program, and computer-readable storage medium
JP2008503162A (en) System and method for digital content security
JP4261724B2 (en) Signature data generation apparatus and image verification apparatus
CN115549891B (en) Homomorphic encryption method, homomorphic decryption method, homomorphic calculation method and equipment
JP5274271B2 (en) SEARCH SYSTEM, INDEX ENCRYPTION DEVICE, SEARCH ENCRYPTION DEVICE, SEARCH DEVICE, COMPUTER PROGRAM, AND SEARCH METHOD
JP3773482B2 (en) Tamper detection method, tamper detection program, and recording medium recording the program
JP2013126189A (en) Image processor, alteration prevention method, and alteration detection method
JP3773471B2 (en) Falsification position detection method, falsification position detection program, and recording medium recording the program
Shah et al. Prediction error expansion‐based reversible data hiding in encrypted images with public key cryptosystem
Zhao Dual domain semi-fragile watermarking for image authentication
Tao et al. An Adaptive Method for Image Recovery in the DFT Domain.
Kim et al. A public-key authentication watermarking for binary images
Lou et al. Digital signature-based image authentication
JP5142361B2 (en) Validity verification device
KR100685485B1 (en) System and method for asymmetric watermarking
Ouda et al. A practical version of Wong's watermarking technique
GUPTA THREE PHASE DIGITAL IMAGE REVERSIBLE WATERMARKING WITH LOCALIZED TAMPER DETECTION

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20031031

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040120

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20040129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051101

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051115

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060110

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060214

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090224

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100224

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees