(57)【要約】  本発明は、デジタルコンテンツセキュリティのシステムおよび方法を与える。１つの実施例において、方法は入力鍵を生成するステップを含み、入力鍵の生成は演算のシーケンスを含み、演算は、階調画像上で少なくとも１つの循環ビットシフト演算を実行するステップと、階調画像上で少なくとも１つのブロックごとの置換を実行するステップとを含む。このような方法の１つはさらに、入力鍵を用いて繊細な透かし埋込みアルゴリズムを実行するステップをさらに含む。別の方法は、暗号化のために入力鍵を利用するステップを含む。
2008503162.tif 000002
【特許請求の範囲】
【請求項１】
電子透かしのための方法であって、
入力鍵を生成するステップを含み、入力鍵の生成は演算のシーケンスを含み、演算は、
階調画像上で少なくとも１つの循環ビットシフト演算（circular-bit-shift）を実行するステップと、
階調画像上で少なくとも１つのブロックごとの置換（block-wise permutation）を実行するステップと、
入力鍵を用いて繊細な透かし埋込みアルゴリズムを実行するステップとを含む、方法。
【請求項２】
演算シーケンスを表わすマスタ鍵を生成するステップをさらに含む、請求項１に記載の方法。
【請求項３】
マスタ鍵は０および１のシーケンスを含む、請求項２に記載の方法。
【請求項４】
０はそれぞれ循環ビットシフトを表わし、１はそれぞれブロックごとの置換を表わす、請求項３に記載の方法。
【請求項５】
少なくとも１つの循環ビットシフト演算は複数の循環ビットシフト演算を含む、請求項１に記載の方法。
【請求項６】
少なくとも１つのブロックごとの置換は複数のブロックごとの置換を含む、請求項１に記載の方法。
【請求項７】
少なくとも１つの循環ビットシフト演算は、少なくとも１つのブロックごとの置換の前に実行される、請求項１に記載の方法。
【請求項８】
少なくとも１つのブロックごとの置換は、少なくとも１つの循環ビットシフト演算の前に実行される、請求項１に記載の方法。
【請求項９】
演算のシーケンスは、
少なくとも１つの循環ビットシフト演算の第１のものを実行するステップと、
少なくとも１つのブロックごとの置換の第１のものを実行するステップと、
少なくとも１つの循環ビットシフト演算の第２のものを実行するステップと、
少なくとも１つのブロックごとの置換の第２のものを実行するステップと、
少なくとも１つの循環ビットシフト演算の第３のものを実行するステップと、
少なくとも１つのブロックごとの置換の第３のものを実行するステップとを含む、請求項１に記載の方法。
【請求項１０】
階調画像は２５６×２５６ピクセルを含む、請求項１に記載の方法。
【請求項１１】
少なくとも１つのブロックごとの置換を実行するステップは、
階調画像を８×８ピクセルの３２×３２画像ブロックに分割するステップと、
３２×３２画像ブロックの各々にブロックごとの置換を適用するステップとを含む、請求項１０に記載の方法。
【請求項１２】
少なくとも１つの循環ビットシフト演算を実行するステップと、
階調画像を８×８ピクセルの３２×３２個の画像ブロックに分割するステップと、
３２×３２個の画像ブロックの各々について識別アレイを生成するステップとを含み、識別アレイは５１２ビットを含み、５１２ビットは８×８ピクセルの各々について最上位ビットから最下位ビットへ並べられる、請求項１０に記載の方法。
【請求項１３】
方法であって、
入力鍵を生成するステップを含み、入力鍵の生成は演算のシーケンスを含み、演算は、
階調画像上で少なくとも１つの循環ビットシフト演算を実行するステップと、
階調画像上で少なくとも１つのブロックごとの置換を実行するステップと、
入力鍵を利用してデジタルコンテンツを暗号化するステップとを含む、方法。
【請求項１４】
プログラムコードがコード化されたコンピュータ可読媒体であって、プログラムコードは、
入力鍵を生成するためのプログラムコードを含み、入力鍵の生成は演算のシーケンスを含み、演算は、
階調画像上で少なくとも１つの循環ビットシフト演算を実行するためのプログラムコードと、
階調画像上で少なくとも１つのブロックごとの置換を実行するためのプログラムコードと、
入力鍵を用いて繊細な透かし埋込みアルゴリズムを実行するためのプログラムコードとを含む、コンピュータ可読媒体。
【請求項１５】
プログラムコードがコード化されたコンピュータ可読媒体であって、プログラムコードは、
入力鍵を生成するためのプログラムコードを含み、入力鍵の生成は演算のシーケンスを含み、演算は、
階調画像上で少なくとも１つの循環ビットシフト演算を実行するためのプログラムコードと、
階調画像上で少なくとも１つのブロックごとの置換を実行するためのプログラムコードと、
入力鍵を利用してデジタルコンテンツを暗号化するためのプログラムコードとを含む、コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、「暗号化システム（Encryption System）」と題されて２００４年６月１４日に出願された、米国仮特許出願連続番号第６０／５７９，９５１号の優先権を主張し、その全体が引用によって本願明細書に援用される。
【背景技術】
【０００２】
発明の分野
本発明はデジタルセキュリティに関する。より特定的には、本発明は、デジタルコンテンツセキュリティのためのシステムおよび方法に関する。
【０００３】
発明の背景
デジタルコンテンツは、無数の適用例において用いられる。デジタルコンテンツは、デジタル手段によって生成され、送信され、操作され得るファイル、画像、データ構造および他のコンテンツを含む。
【０００４】
デジタルコンテンツは、いったん生成されるとしばしば容易に変更することができる。例えば、従来の一般向けカメラおよびプロ向けカメラ、スキャナ、および携帯電話でさえ用いてデジタル画像を作成するのは簡単である。これらのデジタル画像は改ざんするのも簡単である。ユーザがデジタル画像を変更することを可能にする、強力な編集プログラムが入手可能である。
【０００５】
画像がいつ改ざんされたかを検知するために、画像認証技術および改ざん（tamper）技術が開発されている。例えば、透明な透かしを画像に加えてもよい。透明な透かしを入れることは、制御された態様で、かつ人間にとって最小限に知覚可能な方法で、画像を歪めることを伴う。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
透明な透かしを入れるための１つの技術は、繊細な透かし（fragile watermarking）である。繊細な透かしは、画像がほんのわずかでも操作されると破壊される透かしである。典型的には、繊細な透かしプロセスの中でマーキング鍵および透かしが用いられる。画像を受取るユーザは、受取った画像の信憑性を評価するために検出器を用いる。検出器はマーキング鍵および透かしを有していなければならず、さらに追加的な情報をも必要とし得る。
【０００７】
他の種類のデジタルコンテンツを保全するために、従来以上の技術が用いられ得る。例えばインターネットを通して送信されるファイルは、用心のためにしばしば暗号化される。暗号化のための様々な方法は当業者に周知である。
【課題を解決するための手段】
【０００８】
発明の概要
本発明は、デジタルコンテンツセキュリティについてのシステムおよび方法を与える。１つの実施例では、方法は、入力鍵を生成するステップを含み、入力鍵の生成は演算のシーケンスを含み、演算は、階調画像（gradient image）上で少なくとも１つの循環ビットシフト（circular-bit-shift）演算を実行するステップと、階調画像上で少なくとも１つのブロックごとの（block-wise）置換を実行するステップとを含む。このような方法の１
つはさらに、入力鍵を用いて繊細な透かし埋込みアルゴリズムを実行するステップを含む。別のこのような方法は、暗号化のために入力鍵を利用するステップを含む。別の実施例では、コンピュータ可読媒体（例えばランダムアクセスメモリまたはコンピュータディスク）が、このような方法の実行のためのコードを含む。
【０００９】
この例示的な実施例は、本発明を限定したり規定したりするものではなく、理解を助ける例を与えるために述べられる。例示的な実施例は詳細な説明に記載され、本発明の他の説明がそこで与えられる。本発明の様々な実施例によって提示される利点は、この明細書の研究によりさらに理解されるであろう。
【００１０】
本発明のこれらの、および他の特徴、局面および利点は、下記の詳細な説明が添付の図面に関連して読まれると一層よく理解される。
【発明を実施するための最良の形態】
【００１１】
発明の詳細な説明
本発明の実施例は、デジタルコンテンツセキュリティのためのシステムおよび方法を含む。本発明の複数の実施例がある。導入および例として、本発明の１つの例示的実施例は、鍵生成のための階調画像を用いた、デジタル画像に透かしを入れるための方法を与える。
【００１２】
出力画像を生成するために、一連の循環ビットシフトおよびブロックごとの置換が階調画像上で実行される。シフトは、シフトされるビット数を表わすシフトビット値のシーケンス（「ｓｐ」）を用いて実行される。置換は、置換シード（permutation-seed）値のシーケンス（「ｐｐ」）を用いて実行され、それは階調画像のブロックごとの擬似ランダム置換（block-wise pseudo random permutaion）を生成する。シフトシーケンスおよび置換シーケンスはマスタ鍵として受信ユーザに渡される。
【００１３】
出力画像は入力鍵として透かしアルゴリズムに用いられる。透かしアルゴリズムは、入力鍵と透かしとを利用して透かし入りの画像を生成する。透かし入りの画像をユーザが受取ると、受取ったユーザは、画像を認証するために、マスタ鍵、セッション鍵、階調画像および透かしを利用する。これらの鍵が入力鍵を生成するために階調画像に適用され、次に透かしアルゴリズムを用いて透かし入りの画像に適用されると、受取ったユーザは透かしを見ることができる。透かしが何らかのやり方で破壊されたり変更されたりした場合、受取ったユーザは透かし入りの画像が変更されたことがわかる。
【００１４】
受信ユーザにはセッション鍵も与えられる。セッション鍵は、入力鍵を生成するために階調画像上で実行された循環ビットシフトおよびブロックごとの置換演算のシーケンスを表わす、ビットストリングを含む。マスタ鍵が渡されるのは一度でよいが、セッション鍵は各セッションの初めに渡される。
【００１５】
この導入部は、本願の一般的主題を読者に紹介するために与えられる。本発明はこのような主題に限定されることは決してない。例示的な実施例は下記に説明される。
【００１６】
本発明の実施例は、画像／ビデオの透かし、データの暗号化、認証およびデジタル署名に適用することができる。本発明の実施例は、データへのベクトル量子化（ＶＱ）攻撃、ランダム変更、およびカットアンドペースト攻撃に抵抗するために用いることができる、安全な鍵を与える。
【００１７】
本発明の１つの実施例は、ローカリゼーション、セキュリティおよび鍵管理を向上させる、電子透かしのための鍵生成アルゴリズムを与える。本発明のこのような１つの実施例
は、画像ファイルの電子透かしに関して後述される。当業者によって理解されるように、本発明の方法およびシステムは、他の種類のデータファイルまたは他のデジタルコンテンツに用いられてもよい。したがって以下の記述は、本発明の実施例の例示であり、いかなる意味においても本発明の範囲を限定しないと考えられるべきである。
【００１８】
デジタル画像のセキュリティは、デジタル画像の商用アプリケーションを提供する産業にとっての関心事である。今日の市場で入手可能な強力な編集ソフトウェアにより、デジタル画像を改ざんするのは簡単である。デジタル画像の画像認証および改ざん検出用の多くの繊細な透かし技術が近年出現している。
【００１９】
一般に、従来の繊細な透かし技術は、画像のピクセル値のあらゆるあり得る変化を検知するよう設計された、ブロックごとのスキームである。ブロックごとのスキームは、一般に、セキュリティ、ローカリゼーション、および鍵管理不足に関連する、３つの相互関連した問題を抱える。
【００２０】
セキュリティの面では、繊細な透かしスキームは、攻撃に対して高い抵抗力をもたらすべきであり、攻撃された場合には高い確率で検出するべきである。他のデータ暗号化スキームのハッカーとは異なり、繊細な透かしを攻撃する者の目的は、認証透かしを読取り不能にすることではない。そうではなく、その目的は、透かしを保ちつつ、保護された画像に変更を加えることである。よくある攻撃は、ベクトル量子化（「ＶＱ」）、ランダム変更およびコラージュ攻撃（すなわちカットアンドペースト）である。例えば、繊細な透かしスキームは、ユーザが透かしが存在しないと推測して、例えば画像の一部を切取ったり、（例えば画像の中の人の顔を入れ替えるなど）画像の一部を置換えたりすることにより透かし入りの画像を任意に変更した場合には、これを検出するべきである。繊細な透かしスキームはまた、攻撃者が、埋込まれた透かしに影響を及ぼすことなく画像を変更しようと試みた場合にも、これを検知するべきである。繊細な透かしスキームはまた、攻撃者が１つの透かしを別の透かしに置換しようと試みた場合にも、検知することができなければならない。
【００２１】
ローカリゼーションにおいては、いかなる改ざんも洗練されたローカリゼーション能力を用いて検知されるべきである。ローカリゼーションとは、画像の変更されていない領域に対して、画像のどの領域が変更されたかを判断することを指す。
【００２２】
通常、繊細な透かしへの攻撃に抵抗するためには追加的な鍵が要求される。これは、ユーザにとって正しい鍵を生成し維持するための付加的な負担がかかることになる。
【００２３】
攻撃に対する抵抗を増大させるために、１つの実施例では、ＶＱコードブックの構築をより困難に、または不可能にする。これを達成することを目指した従来の方法が存在する。しかしながら、これらの既存のスキームはローカリゼーションに関して２つの欠点を有する。（１）ブロックが改ざんされた場合、改ざん検出は、改ざんされたブロックに依存するブロックすべてを改ざんされたとして示し、誤検出をもたらす。（２）ある大きなブロックがコラージュまたはＶＱ攻撃によって攻撃された場合、検出結果は、その大きなブロックを囲むブロックを改ざんされたとして示し、その大きなブロック内のブロックを信憑性があるとして示すので、大きなブロック内の改ざんと大きなブロックを囲む改ざんとの区別をつけることが不可能になる。
【００２４】
これらの問題が生じるのは、異なる画像について相異なる入力鍵を生成することが、同じ画像の中の異なる画像ブロックについて生成することと同様に困難な性質を有するからである。本発明の１つの実施例において、鍵画像に基づいた繊細な透かしスキームは、従来の方法に関連したローカリゼーション上の問題をなくす一方で、ランダム変更、コラー
ジュ攻撃、およびＶＱ攻撃を妨げる。
【００２５】
本発明による暗号化方法の１つの実施例では、鍵画像は２５６×２５６ピクセルのアレイを含む。鍵画像のすべての８×８ピクセルのブロックは、相異なる５１２ビットのシーケンス、すなわち従来の繊細な透かし技術を向上させるために用い得る特性をもたらす。２つの演算、すなわち循環ビットシフトおよびブロックごとの置換が何らかのシーケンスにおいて鍵画像に与えられることができ、繊細な透かしスキームに対する入力鍵として用いることができる相異なる画像を生成する。鍵画像は、階調画像、ノイズ画像または実画像を含み得る。図２は、本発明の１つの実施例における、階調画像のブロックごとに置換されたバージョンの図である。
【００２６】
図１は、本発明の１つの実施例における鍵画像ジェネレータを示すブロック図である。示された実施例では、鍵画像は循環ビットシフトアルゴリズムに入力される。シフトパラメータ（「ｓｐ」）もこの循環ビットシフトアルゴリズムに入力される。循環ビットシフトアルゴリズムは出力画像を生成する。この出力画像は、ブロックごとの置換または別の循環ビットシフトなどの別のアルゴリズムのための入力画像として用いられてもよい。ブロックごとの置換アルゴリズムは置換パラメータと同様に入力画像をも受取る。
【００２７】
本発明の１つの実施例では、出力画像／入力鍵の生成には２個の鍵が用いられる。２個の鍵はマスタ鍵およびセッション鍵である。マスタ鍵は、図１に示されるアルゴリズムの各反復のために利用される、ｓｓ値およびｓｐ値を含む。セッション鍵は、入力鍵を生成するために鍵画像上で実行されるアルゴリズムのシーケンスを表す。これらの２個の鍵は、受信者が画像を認証することができるように、透かし入りの画像の受信者に渡され、それが改ざんされていないことを確実にする。
【００２８】
コミュニケータは、その間に初めて通信が確立された時にマスタ鍵を交換するだけでよい。しかしながら、本発明の実施例は、セキュリティを増大させるためにユーザがいつでもマスタ鍵を交換し、更新することを可能にするよう柔軟であってもよい。
【００２９】
１つの実施例では、セッション鍵はビット（０または１）のシーケンスを含み、０は循環ビットシフトを表し、１はブロックごとの置換を表す。セッション鍵のサイズは可変であり、一般にセッションごとに交換されて、循環ビットシフト演算およびブロックごとの置換演算の様々な組合せを決定する。例えば、セッション鍵が０１０１１０である場合、これらの演算が適用される順序は、循環シフト→置換→循環シフト→置換→置換→循環シフトである。図３は、本発明の１つの実施例における、ｓｐ＝５，５および５、ならびにｐｐ＝１２２，１４９および１３１を用いたこの生成シーケンスを用いて生成された画像の図である。
【００３０】
図４から図７は、本発明の様々な実施例における出力画像の図である。図４は、本発明の１つの実施例におけるノイズ画像の、ブロックごとに置換されたバージョンの図である。図５は、本発明の１つの実施例におけるノイズ画像の、循環ビットシフトされたバージョンの図である。図６は、本発明の１つの実施例における実画像の、ブロックごとに置換されたバージョンの図である。図７は、本発明の１つの実施例における実画像の、循環ビットシフトされたバージョンの図である。
【００３１】
１つの実施例では、ブロックごとに置換演算が鍵画像に適用される。画像は８×８ピクセルの３２×３２ブロックに分割されて、１０２４の相異なるブロックを与える。ブロックごとの置換演算は１０２４！個の画像を生じる。
【００３２】
１つの実施例では、画像全体に循環ビットシフト演算が適用される。鍵画像は８×８ピ
クセルの３２×３２ブロックに分割され、各ブロックは５１２ビットの１次元アレイとして表わされる。ビットは、すべてのピクセルの最上位ビットから最下位ビットまで、ブロックの最も左上の隅のピクセルから始まってブロックのすべてのピクセルにわたり、上から下へ、左から右へと並べられる。しかしながら、１つの実施例では、ユーザによる異なる順序を可能にしてもよい。このように、各ブロックは相異なる５１２ビットのシーケンスであって、鍵画像全体は２19（５１２×３２×３２）ビットのシーケンスである。循環ビットシフト演算を用いることにより、２19個の相異なる画像を生じる可能性がある。別の実施例では、画像全体の部分に循環ビットシフト演算が適用される。
【００３３】
鍵画像に対する、循環ビットシフト演算およびブロックごとの置換演算の様々な組合せは、鍵画像ごとに２20×１０２４！個の相異なる画像の大きな鍵空間を作る。このアルゴリズムによって生成された画像は、繊細な透かしスキームへの入力鍵として用いることができる。鍵画像は各画像ブロックに無作為の影響を与える。埋込みアルゴリズムにより、入力鍵の各ブロックは画像の中のすべてのブロックについて異なる。
【００３４】
生成された入力鍵は、５１２ビットの３２×３２ブロックを有する。セッション鍵のビットシーケンスおよびマスタ鍵のパラメータを知らずには、攻撃者が２20×１０２４！個の画像の大きな鍵空間から正しい入力鍵を生成することは不可能であり、２20×１０２４！個の画像の大きな鍵空間は攻撃者の鍵検索のために記憶され得ない。例えば、攻撃者が、ブロックｂiを類似の（同じ画像から、または異なる画像からの）ブロックｂi´に置換するよう試みた場合、新しいブロックｂi′は同じマスタ鍵、セッション鍵、ビットマップロゴ、同じ入力鍵ｋ、および同じ入力鍵ブロックｋiを有しなければならない。ほとんどの繊細な透かしスキームで用いられるＭＤ−５などのハッシュ関数の暗号強度では、これらの条件のすべてが満たされるような類似の画像ブロックを見つけることが暗号的に実行不可能なことを示す。
【００３５】
本発明の実施例は、画像データのためのビットシーケンスに関して説明されたが、本発明は他のデータ形式に容易に適用され得る。一般に、コンピュータシステムの入力データはコンピュータネットワーク上で送信される前にビットシーケンスに変換される。
【００３６】
本発明の１つの実施例において、入力鍵は、２19ビットのビットシーケンスを含み、いかなるサイズのセッション鍵にもマップされる。セキュリティの向上のために、入力鍵はセッション鍵について３２ビットまたはそれ以上のビットシーケンスを含んでもよく、特に鍵画像が他人に利用可能な場合によりよいセキュリティを与える。
【００３７】
繊細な透かしについて説明されたが、入力鍵は他のコンテンツセキュリティ適用例に用いられてもよい。例えば、入力鍵は暗号化に用いられてもよい。入力鍵は、多くの暗号アルゴリズム（データ暗号規格（Data Encryption Standards）（ＤＥＳ）およびアドバンスト・エンクリプション・スタンダード（advanced encryption standard）（ＡＥＳ）など）、データの暗号化のためのメッセージ認証コードおよびハッシュ関数（ＭＤ−５およびＳＨＡ−１など）、認証、メッセージダイジェストおよびデジタル署名などに大きな鍵を与える。
【００３８】
例えば、大きな入力鍵により、（ｉ）例えばＤＥＳおよびＡＥＳにおいて、異なるラウンドおよび異なるデータブロックに必要とされる相異なる鍵を選択できるようになり、（ｉｉ）暗号化されるべき平文に様々なブロックが使用できるようになり、（ｉｉｉ）異なるブロックについて、同一の情報（ビットシーケンス）を有し得る相異なる鍵を与えることができる。これらの利点はすべて、小さなセッション鍵およびその鍵管理によって入手できる。同様に、メッセージダイジェストのための（ＳＨＡ−１などの）ハッシュ関数は、５１２ビットブロックのメッセージを必要とし、この２19（５１２×３２×３２）ビッ
トの鍵を用いて、メッセージをそこに埋込んでそれをハッシュ関数とともに用いることができ、安全なメッセージダイジェストを得ることができる。
【００３９】
本発明の１つの実施例において、透かしインサータが画像の中に透かしを埋込む。透かしインサータは透かし埋込みアルゴリズムとして実現されてもよい。図８は、本発明の１つの実施例において生成された入力鍵を含む、透かし埋込みアルゴリズムの概略図である。図８に示された実施例において、図１に示された鍵ジェネレータのような鍵ジェネレータによって生成された画像である、透かしを入れるべき画像および入力鍵が、ハッシュ関数に入力される。ハッシュ関数は１２８ビットのメッセージダイジェスト（例えば、ｕ1，ｕ2，…ｕ128）を生成する。次いで、１２８ビットのメッセージダイジェストは、以下のＸＯＲ演算を用いてプロセスＰ1によって６４ビットのシーケンスに変換される。
【００４０】
【数１】
2008503162.tif 000003
【００４１】
次いで、透かしインサータは、透明な透かしを生成するＸＯＲ関数を用いて、透かしの６４ビットの画像ダイジェストをプロセスＰ1の出力と組合わせる。透かしは、透かし入りの画像のピクセルの最下位ビット（「ＬＳＢ」）に挿入される。別の実施例では、ハッシュ関数の出力は６４ビットのシーケンスに変換され、次に暗号ルーチンに入力される。
【００４２】
本発明は特定の実施例に関して記述されたが、これらの実施例が本発明の原理の単なる例示であることが認識されるべきである。当業者は容易に本発明の変形例、代替例および他の用途を想定するであろう。このような変形例、代替例および他の用途が本発明によって予想される。したがって、他の実施例もまた本発明の範囲内にあるので、本願明細書の記載は本発明を限定するものとして解釈されるべきではない。
【図面の簡単な説明】
【００４３】
【図１】本発明の一実施例における鍵生成モデルの概略図である。
【図２】本発明の一実施例における階調画像の、ブロックごとに置換されたバージョンのサンプルを示す図である。
【図３】本発明の一実施例における階調画像の、循環ビットシフトされたバージョンのサンプルを示す図である。
【図４】本発明の一実施例におけるノイズ画像の、ブロックごとに置換されたバージョンの図である。
【図５】本発明の一実施例におけるノイズ画像の、循環ビットシフトされたバージョンの図である。
【図６】本発明の一実施例における実画像の、ブロックごとに置換されたバージョンの図である。
【図７】本発明の一実施例における実画像の、循環ビットシフトされたバージョンの図である
【図８】本発明の一実施例において生成された入力鍵を含む、変更された透かし埋込みアルゴリズムの概略図である。
【図１】
2008503162.tif 000004
【図２】
2008503162.tif 000005
【図３】
2008503162.tif 000006
【図４】
2008503162.tif 000007
【図５】
2008503162.tif 000008
【図６】
2008503162.tif 000009
【図７】
2008503162.tif 000010
【図８】
2008503162.tif 000011
【手続補正書】
【提出日】平成19年12月5日(2007.12.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
電子透かしのための方法であって、入力鍵を生成するステップを含み、入力鍵の生成は演算のシーケンスを含み、演算は、
（ｉ）鍵画像、好ましくは階調画像、ノイズ画像または実画像のうち１つの上で少なくとも１つの循環ビットシフト（circular-bit-shift）演算および複数のブロックごとの置換（block-wise permutation）、または、（ｉｉ）  鍵画像、好ましくは階調画像、ノイズ画像または実画像のうち１つの上で少なくとも１つのブロックごとの置換および複数の循環ビットシフト演算を実行するステップと、
入力鍵を用いて繊細な透かし埋込みアルゴリズムを実行するステップとを含む、方法。
【請求項２】
方法であって、入力鍵を生成するステップを含み、入力鍵の生成は演算のシーケンスを含み、演算は、
（ｉ）鍵画像、好ましくは階調画像、ノイズ画像または実画像のうち１つの上で少なくとも１つの循環ビットシフト演算および複数のブロックごとの置換、または、（ｉｉ）鍵画像、好ましくは階調画像、ノイズ画像または実画像のうち１つの上で少なくとも１つのブロックごとの置換および複数の循環ビットシフト演算、を実行するステップと、
入力鍵を利用してデジタルコンテンツを暗号化するステップとを含む、方法。
【請求項３】
演算シーケンスを表わすマスタ鍵を生成するステップをさらに含む、請求項１または２に記載の方法。
【請求項４】
マスタ鍵は０および１のシーケンスを含む、請求項３に記載の方法。
【請求項５】
０はそれぞれ循環ビットシフトを表わし、１はそれぞれブロックごとの置換を表わす、請求項４に記載の方法。
【請求項６】
少なくとも１つの循環ビットシフト演算は複数の循環ビットシフト演算を含む、請求項１から５のいずれかに記載の方法。
【請求項７】
少なくとも１つのブロックごとの置換は複数のブロックごとの置換を含む、請求項１から５のいずれかに記載の方法。
【請求項８】
少なくとも１つの循環ビットシフト演算は、複数のブロックごとの置換のうち少なくとも１つの前に実行される、請求項１から７のいずれかに記載の方法。
【請求項９】
少なくとも１つのブロックごとの置換は、複数の循環ビットシフト演算のうち少なくとも１つの前に実行される、請求項１から７のいずれかに記載の方法。
【請求項１０】
演算のシーケンスは、
少なくとも１つの循環ビットシフト演算の第１のものを実行するステップと、
少なくとも１つのブロックごとの置換の第１のものを実行するステップと、
少なくとも１つの循環ビットシフト演算の第２のものを実行するステップと、
少なくとも１つのブロックごとの置換の第２のものを実行するステップと、
少なくとも１つの循環ビットシフト演算の第３のものを実行するステップと、
少なくとも１つのブロックごとの置換の第３のものを実行するステップとを含む、請求項１から９のいずれかに記載の方法。
【請求項１１】
鍵画像、好ましくは階調画像、ノイズ画像または実画像のうち１つは２５６×２５６ピクセルを含む、請求項１から９のいずれかに記載の方法。
【請求項１２】
ブロックごとの置換を実行するステップは、
鍵画像、好ましくは階調画像、ノイズ画像または実画像のうち１つを８×８ピクセルの３２×３２画像ブロックに分割するステップと、３２×３２画像ブロックの各々にブロックごとの置換を適用するステップとを含む、請求項１から１１のいずれかに記載の方法。
【請求項１３】
循環ビットシフト演算を実行するステップは、
鍵画像、好ましくは階調画像、ノイズ画像または実画像のうち１つを８×８ピクセルの３２×３２個の画像ブロックに分割するステップと、３２×３２個の画像ブロックの各々について識別アレイを生成するステップとを含み、識別アレイは５１２ビットを含み、５１２ビットは８×８ピクセルの各々について最上位ビットから最下位ビットへ並べられる、請求項１から１２のいずれかに記載の方法。
【請求項１４】
プログラムコードがコード化されたコンピュータ可読媒体であって、プログラムコードは、請求項１から１３のいずれかを有効にするためのものである、コンピュータ可読媒体。
【国際調査報告】
2008503162.tif 000012
2008503162.tif 000013