(57)【要約】【課題】偽造や改ざんが困難な発展型コンテンツの生成を可能にする。【解決手段】発展型コンテンツ作成装置１００では、発展の対象とするコンテンツおよび発展の結果となるコンテンツを入力し、所定の分散関数により、前記発展の対象とするコンテンツを前記発展の結果となるコンテンツヘと変化発展させる電子データ（発展データ）を生成して出力する。コンテンツ発展装置２００では、発展の対象とするコンテンツおよび発展データを入力をとして、同様に所定の分散関数により、前記発展の対象とするコンテンツに前記発展データを付与して演算処理を行う事で発展の結果となるコンテンツを復元して出力する。【選択図】図１
2006018123.tif 000002
【特許請求の範囲】
【請求項１】
新たな電子データを付与する事でコンテンツが変化発展するような発展型のコンテンツを作成する発展型コンテンツ作成装置であって、
発展の対象とするコンテンツの入力を一つあるいは複数受け付ける発展対象コンテンツ入力手段と、
発展の結果となるコンテンツの入力を一つあるいは複数受け付ける発展結果コンテンツ入力手段と、
前記発展の対象とするコンテンツを前記発展の結果となるコンテンツへと変化発展させる電子データ（以下、発展データ）を分散生成するための分散関数について、前記発展の結果となるコンテンツに対して、分散生成される発展データの内の一つあるいは複数が前記発展の対象とするコンテンツとなるように、分散関数中の変数値を決定して分散関数を生成する分散関数生成手段と、
前記生成した分散関数により、発展データを一つあるいは複数生成する発展データ生成手段と、
上記生成した発展データを出力する発展データ出力手段と、
を備える事を特徴とする発展型コンテンツ生成装置。
【請求項２】
発展型コンテンツに新たな電子データを付与してコンテンツを変化発展させるコンテンツ発展装置であって、
発展の対象とするコンテンツの入力を一つあるいは複数受け付ける発展対象コンテンツ入力手段と、
前記発展の対象とするコンテンツを発展させる発展データの入力を一つあるいは複数受け付ける発展データ入力手段と、
所定の分散関数により、前記発展の対象とするコンテンツに前記発展データを付与して演算処理を行う事で発展の結果となるコンテンツを復元する発展結果コンテンツ復元手段と、
前記復元した発展の結果となるコンテンツを出力する発展結果コンテンツ出力手段と、
を備える事を特徴とするコンテンツ発展装置。
【請求項３】
請求項１に記載の発展型コンテンツ作成装置の処理機能をコンピュータに実行させるためのプログラム。
【請求項４】
請求項２に記載のコンテンツ発展装置の処理機能をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テキストデータ、画像データ、音楽データなどの電子化されたデータを分散暗号化し、幾つか以上の分散生成された電子データから元の電子データを復元可能とする秘密分散法を用いた電子データ暗号化技術に関し、特に発展型コンテンツ作成及びコンテンツ発展技術に関する。
【背景技術】
【０００２】
従来、コンテンツ収集やカード収集などに付加価値を持たせる技術として、複数のコンテンツあるいはカードなどに対して、全体としてひとまとまりとなるような分割した電子データを付与し、該コンテンツ群あるいはカード群を収集する事により分割された電子データ群が集積され、そこから電子データを再構築するようないわゆるおまけコンテンツを作成する技術が提供されている（例えば、特許文献１、特許文献２など参照）。
【０００３】
また、同様にコンテンツ収集やカード収集に付加価値を持たせる手段として、元々のコンテンツあるいはカードなどに対して、新たな電子データを付与する事で該コンテンツあるいはカードなどの画像、数値や文字列などの内包データ、プログラムなどを変化、拡張させ、コンテンツあるいはカードなどの内容を更新させるような技術が提供されている（例えば、特許文献３、特許文献４、特許文献５など参照）。
【０００４】
これらの技術により提供されるコンテンツあるいはカードなどは、複数個収集する事により本来のコンテンツあるいはカードなどの拡張または異なるコンテンツあるいはカードなどを利用者が入手する事を可能とするため、利用者の興味を引くような付加価値をコンテンツ収集やカード収集などに持たせる事ができる。
【０００５】
【特許文献１】特開２０００−１８２０１０号公報「カード、情報処理装置および方法、並びに情報処理システム」
【特許文献２】特開２００３−２８１４２８号公報「電子おまけ提供装置及び方法」
【特許文献３】特開２００１−３３４０１２号公報「遊戯カードを使用したゲームシステム、それに用いられる遊戯カード、及びそれに用いられるゲーム情報記憶媒体」
【特許文献４】特開２００３−６２３３５２号公報「コンピュータ機器、その制御方法、プログラム、並びにその記憶媒体、ゲームシステム、およびカード」
【特許文献５】特開２００３−２３６０３２号公報「電子ゲーム機と連動可能な収集カード及びその収集カードを使用したゲームシステム」
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記に述べたようなコンテンツやカードなどの収集において、分割した電子データから元の電子データを再構築させるような従来技術や、あるいは、追加の電子データを付与する事で元の電子データの内容を拡張あるいは変化させるような従来のコンテンツ発展技術においては、再構築される電子データが予め定められた只１個の電子データであったり、拡張あるいは変化の内容がプログラムやルールなどで記述されているために大きな拡張あるいは変化が実現できず、コンテンツの発展性が十分でないという問題があった。特に一度発展させたコンテンツは完成した１個の電子データとなるために、再度拡張あるいは変化させたり、また異なるメディア種別のコンテンツに変化させたりといった特殊な発展を実現する事は従来の技術ではできなかった。
【０００７】
また、コンテンツを発展させる事を目的としたこれらの電子データは、従来の技術においては偽造が比較的容易であって、例えば発展前のコンテンツを示す電子データ、発展後のコンテンツを示す電子データ、および該コンテンツを発展させた発展のための電子データを比較する事で、発展のための電子データの一部を改ざんしたり、発展のための電子データの生成方法を推測して電子データを偽造したりするなどして、コンテンツ提供者の期待しないコンテンツの発展が可能であるという問題があった。
【０００８】
本発明は、このような技術の課題を鑑みてなされたもので、コンテンツを発展させる事を目的とした電子データの生成において偽造や改ざんが困難であるような電子データの生成を行い、任意の種類のコンテンツを発展元として発展のための電子データを付与する事で任意の種類のコンテンツに発展させ、かつ一度発展したコンテンツに対しても異なる発展のための電子データを付与する事で半永久的にコンテンツの内容を発展させる事が可能な発展型コンテンツの生成を可能とする発展型コンテンツ作成装置及びコンテンツ発展装置、並びにそのプログラムグラムを実現することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、（ｋ，ｎ）閾値秘密分散法、（ｄ，ｋ，ｎ）閾値秘密分散法、あるいは、本出願人の既出願に係る特願２００３−３６６５３８号に記載の復元制御型秘密情報分散法などのいわゆる閾値秘密分散法を用いる。
【００１０】
（ｋ，ｎ）閾値秘密分散法は、分散情報を配布する数である２以上の整数の分散数ｎと、秘密情報Ｓの復元に必要な分散情報の最低数である２以上ｎ以下の整数の閾値ｋから、秘密情報Ｓを定数項とする（ｋ−１）次の多項式ｆ（ｘ）を、
ｆ（ｘ）＝Ｓ＋ｒ1ｘ＋…＋ｒｋ−１ｘｋ−１  mod  ｐ          …（１）
として作成し（ｒ１，…，ｒｋ−１：乱数、ｐ：素数）、元の秘密情報Ｓを所有あるいは預託により分配する秘密情報分配者は、分散情報を保管する各分散情報保持者ｉ（ｉ＝１，２，…，ｎ）に対して、分散情報Ｗｉ＝ｆ（ｉ）を分配するものである。
【００１１】
この（ｋ，ｎ）閾値秘密分散法は、ｎ個の分散情報の内、任意のｋ個の分散情報がそろえば、ｆ（ｘ）に関する連立方程式を解く事により元の秘密情報Ｓを復元できるが、任意の（ｋ−１）個までの分散情報がそろってもｆ（ｘ）に関する連立方程式を解く事はできないため、元の秘密情報Ｓは復元できないという特徴がある。したがって、（ｎ−ｋ）個までの分散情報が紛失や破壊により損なわれても元の秘密情報Ｓが復元可能であり、（ｋ−１）個までの分散情報が漏洩や盗難により得られても元の秘密情報Ｓは復元できないという、秘密情報を安全に保管する方法が実現できる。
【００１２】
（ｄ，ｋ，ｎ）閾値秘密分散法は、上記（ｋ，ｎ）閾値秘密分散法を拡張したもので、分散情報を配布する数である２以上の整数の分散数ｎと、秘密情報Ｓの完全な復元に必要な分散情報の最低数である２以上ｎ以下の整数の閾値ｋと、閾値ｋに対して秘密情報Ｓの部分的な復元を許容する分散情報の不足数を決定する２以上ｋ以下の整数の分割数ｄから、秘密情報ＳをＳ０，Ｓ１，…，Ｓｄ−１に分割し、これらの分割した秘密情報（分割情報）を定数項とする（ｋ−１）次の多項式ｆ（ｘ）を、
ｆ(ｘ)＝Ｓ0＋Ｓ1ｘ＋…＋Ｓd-1ｘd-1＋ｒ1ｘd＋…＋ｒk-dｘk-1  mod  Ｐ  …（２）
として作成し（ｒ１，…，ｒｋ−d：乱数、ｐ：素数）、元の秘密情報Ｓを所有あるいは預託により分配する秘密情報分配者は、分散情報を保管する各分散情報保持者ｉ（１＝１，２，…，ｎ）に対して、分散情報Ｗｉ＝ｆ（ｉ）を分配するものである。
【００１３】
この（ｄ，ｋ，ｎ）閾値秘密分散法は、上記の（ｋ，ｎ）閾値秘密分散法と同様に、ｎ個の分散情報の内、任意のｋ個の分散情報がそろえば、ｆ（ｘ）に関する連立方程式を解く事により元の秘密情報Ｓを復元できるが、任意の（ｋ−ｄ）個までの分散情報がそろってもｆ（ｘ）に関する連立方程式を解く事はできないため、元の秘密情報Ｓは復元できないという特徴がある。ただし、任意の（ｋ−ｄ＋１）個から（ｋ−１）個までの分散情報がそろった場合には、ｆ（ｘ）に関する連立方程式から分割情報Ｓ０，Ｓ１，…，Ｓｄ−１に関する関係式が求められるため、分割情報Ｓ０，Ｓ１，…，Ｓｄ−１として可能な値を得る事ができ、元の秘密情報Ｓを部分的に復元する事ができる。
【００１４】
なお、（ｋ，ｎ）閾値秘密分散法および（ｄ，ｋ，ｎ）閾値秘密分散法については、詳しくは、それぞれ「Ａ．Ｓhamir，“Ｈow  to  Ｓhare  a  Ｓecret”，Ｃommun．of  ＡＣＭ，Ｖol．２２，Ｎｏ．１１，pp．６１２−６１３，１９７９」および「Ｇ．Ｒ．Ｂｌakley，Ｃ．Ｍeadows，“Ｓecurity  of  ramp  schemes”，Ｐroc．of  Ｃrypto’８４，Ｌecure  Ｎotes  on  Ｃomput．Ｓci．，１９６，pp．２４２−２６８，１９８４」に述べられている。
【００１５】
復元制御型秘密情報分散法は、この（ｋ，ｎ）閾値秘密分散法および（ｄ，ｋ，ｎ）閾値秘密分散法を更に拡張した方法で、ｎ個の分散情報の内、任意のｋ個の分散情報がそろえば、ｆ（ｘ）に関する連立方程式を解く事により元の秘密情報Ｓを復元できるが、任意の（ｋ−ｄ）個までの分散情報がそろってもｆ（ｘ）に関する連立方程式を解く事はできないため、元の秘密情報Ｓは復元できないという特徴をもつ。ただし、情報を分散させる分散関数を特定の形式に規定する事により、任意の（ｋ−ｄ＋１）個から（ｋ−１）個までの分散情報が特定の組み合わせによりそろった場合にはｆ（ｘ）に関する連立方程式から特定の分割情報Ｓ０，Ｓ１，…，Ｓｄ−１を求める事ができ、元の秘密情報Ｓを部分的に復元する事ができる情報分散方法である。
【００１６】
この復元制御型秘密情報分散法は、基本的には、秘密情報Ｓについて、秘密情報Ｓの完全な復元に必要な分散情報の最低数である２以上の整数の閾値ｋ、閾値ｋに対して秘密情報Ｓの部分的な復元を許容する分散情報の不足数を決定する２以上ｋ以下の整数の分割数ｄと、秘密情報Ｓのｄ個の分割情報（分配情報）Ｓ０，Ｓ１，…，Ｓｄ−１などの秘密情報Ｓを分散するための条件を入力し、
最大の分割情報Ｓｔ（０≦ｔ≦ｄ−１）よりも大きな素数ｐと、素数ｐよりも小さく０でない（ｋ−ｄ個）の乱数ｒｉ（１≦１≦ｋ−ｄ）と、（ｋ（ｋ−１）／２）個の乱数ａｊ（１≦ｊ≦ｋ（ｋ−１）／２）を生成して、
ｆ（ｘ）＝Ｓ０＋Ｓ１（ｘ−ａ１）＋…＋Ｓｄ−１（ｘ−ａ（ｄ−１）（ｄ−２）／２＋１）（ｘ−ａ（ｄ−１）（ｄ−２）／２＋２）…（ｘ−ａ（ｄ−１）（ｄ−２）／２＋ｄ−１）＋ｒ１（ｘ−ａｄ（ｄ−１）／２＋１）（ｘ−ａｄ（ｄ−１）／２＋２）…（ｘ−ａｄ（ｄ−１）／２＋ｄ）＋…＋ｒｋ−ｄ（ｘ−ａ（ｋ−１）（ｋ−２）／２＋１）（ｘ−ａ（ｋ−１）（ｋ−２）／２＋２）…（ｘ−ａ（ｋ−１）（ｋ−２）／２＋ｋ−１）  mod  Ｐ                        …（３）
の式で表現される秘密情報Ｓの分散情報ｆ（ｘ）を生成するものである。
【００１７】
上記式（３）の分散関数ｆ（ｘ）は、例えばｋ＝３、ｄ＝２とした場合、
ｆ（ｘ）＝Ｓ0＋Ｓ1（ｘ−ａ1）＋ｒ（Ｘ−ａ２）（ｘ−ａ３）  mod  Ｐ  …（４）
で表現され、任意の２個の分散情報ＷｘとＷｘ＋ｂ（ｘ＞０、ｂ＞０）についての連立方程式は以下のような行列式で表現できる。
【００１８】
【数１】
2006018123.tif 000003
上記行列式の左項を掃き出し法により変形すると、
【００１９】
【数２】
2006018123.tif 000004
となり、ａ１，ａ２，ａ３の値によっては−ｘ２＋（２ａ１−ｂ）＋ａ１ｂ−ａ１ａ２−ａ１ａ３＋ａ２ａ３＝０，もしくは２ｘ＋ｂ−ａ２−ａ３＝０を満たすｘとｂがある場合に、連立方程式から分割情報（部分情報）のＳ０のみ、もしくはＳ１のみを求めることができる。
【００２０】
本発明の発展型コンテンツ作成装置は、発展の対象とするコンテンツの入力を一つあるいは複数受け付ける発展対象コンテンツ入力手段と、発展の結果となるコンテンツの入力を一つあるいは複数受け付ける発展結果コンテンツ入力手段と、前記発展の対象とするコンテンツを前記発展の結果となるコンテンツへと変化発展させる電子データ（以下、発展データ）を分散生成するための分散関数について、上記秘密分散法を適用して、前記発展の結果となるコンテンツに対して、分散生成される発展データの内の一つあるいは複数が前記発展の対象とするコンテンツとなるように、分散関数中の変数値を決定して分散関数を生成する分散関数生成手段と、前記生成した分散関数により、発展データを一つあるいは複数生成する発展データ生成手段と、上記生成した発展データを出力する発展データ出力手段とを備える事を特徴とする。
【００２１】
また、本発明のコンテンツ発展装置は、発展の対象とするコンテンツの入力を一つあるいは複数受け付ける発展対象コンテンツ入力手段と、前記発展の対象とするコンテンツを発展させる発展データの入力を一つあるいは複数受け付ける発展データ入力手段と、所定の関数により、前記発展の対象とするコンテンツに前記発展データを付与して演算処理を行う事で発展の結果となるコンテンツを復元する発展結果コンテンツ復元手段と、前記復元した発展の結果となるコンテンツを出力する発展結果コンテンツ出力手段とを備える事を特徴とする。
【発明の効果】
【００２２】
本発明によれば、コンテンツを変化発展させる事を目的とした電子データの生成において偽造や改ざんが困難であるような電子データの生成を行い、任意の種類のコンテンツを発展元として発展のための電子データを付与する事で任意の種類のコンテンツに発展させ、かつ一度発展したコンテンツに対しても異なる発展のための電子データを付与する事で半永久的にコンテンツの内容を発展させる事が可能な発展型コンテンツの生成を可能とする発展型コンテンツ作成装置及びプログラムを実現することができる。
【発明を実施するための最良の形態】
【００２３】
図１に、本発明の一実施例の形態における発展型コンテンツ作成装置１００及びコンテンツ発展装置２００によるシステム構成例を示す。発展型コンテンツ作成装置１００は、入力された発展の対象とするコンテンツの電子データを、同じく入力された発展の結果とするコンテンツの電子データに基づいて分散暗号化して、発展に必要な電子データ（発展データ）を生成して出力する。コンテンツ発展装置２００は、発展型コンテンツ作成装置１００が出力する発展に必要な電子データ（発展データ）を入力し、同じく、入力された発展の対象とするコンテンツの電子データに対して、該発展に必要な電子データに基づいて、発展の結果とするコンテンツの電子データを復元して出力する。発展型コンテンツ作成装置１００とコンテンツ発展装置２００は、相互に接続されていても良いし、接続されていなくとも良い。また、図１のようにインターネットなどの通信回線３００を通じてネットワーク的に接続されていても良い。
【実施例】
【００２４】
以下に、発展型コンテンツ作成装置１００、コンテンツ発展装置２００の構成例及び動作例について説明する。なお、分散関数は本出願人が先に出願した特願２００３−３６６５３８に記載の復元制御型秘密分散法による分散関数を用いるとする。
〈発展型コンテンツ作成装置の構成例及び動作例〉
図２に本発明の一実施例における発展型コンテンツ作成装置１００の機能構成図を示す。発展型コンテンツ作成装置１００は、コンテンツ作成制御部１１０、発展対象コンテンツ入力部１２０、発展結果コンテンツ入力部１３０、分散関数生成部１４０、発展データ生成部１５０、発展データ出力部１６０、情報記憶部１７０から構成され、コンテンツ作成制御部１１０の制御にしたがって動作する。
【００２５】
発展対象コンテンツ入力部１２０は、発展の対象とするコンテンツの電子データの入力を受け付ける。受け付けた電子データは、例えば情報記憶部１７０や内部メモリなどに一時的に記憶される。本実施例では、発展の対象とするコンテンツの電子データとして、図３（ａ）に示すような、一列目が赤青青白、二列目が青赤白青、三列目が青白赤青、四列目が白青青赤である、単純な４×４ピクセルの画像データが入力されたものとする。図（ｂ）はこれを１６進表現で示したものである。本実施例では、入力された発展対象コンテンツ画像の電子データは、例えば内部メモリなどに格納される際に、各色に対応したデータが赤は「ＦＦ００００」、青は「００００ＦＦ」、白は「ＦＦＦＦＦＦ」であるため、９６桁の１６進文字列
「FF00000000FF0000FFFFFFFF0000FFFF0000FFFFFF0000FF0000FFFFFFFFFF00000000FFFFFFFF0000FF0000FFFF0000」
となる。以下、この入力された電子データを発展対象データＳＩとして記す。
【００２６】
次に、発展結果コンテンツ入力部１３０は、発展の結果とするコンテンツの電子データの入力を受け付ける。受け付けた電子データは、同様に情報記憶部１７０や内部メモリなどに一時的に記憶される。本実施例では、発展の結果とするコンテンツの電子データとして、図４（ａ）に示すような、一列目が赤青白赤、二列目が青青青青、三列目が白青赤白、四列目が赤青白赤である、単純な４×４ピクセルの画像データが入力されたものとする。図４（ｂ）はこれを１６進表現で示したものである。本実施例では、入力された発展結果コンテンツ画像の電子データは、例えば内部メモリなどに格納される際に、各色に対応したデータが赤は「ＦＦ００００」、青は「００００ＦＦ」、白は「ＦＦＦＦＦＦ」であるため、９６桁の１６進文字列
「FF00000000FFFFFFFFFF00000000FF0000FF0000FF0000FFFFFFFF0000FFFF0000FFFFFFFF00000000FFFFFFFFFF0000」
となる。以下、この入力された電子データを発展結果データＳＯと記す。
【００２７】
なお、本発明は、発展対象コンテンツ入力部１２０、発展結果コンテンツ入力部１３０において入力を受け付ける電子データの種類や内容およびその数を特に規定するものではない。数値情報、文字列など符号化する事で分散関数による演算が可能であればどのような情報でも良く、ビットマップ画像などの画像データだけでなく音楽データや文字列テキスト、プログラムなどの任意の電子データ、あるいは予め暗号化された電子データを入力としても良い。また、本実施例では格納する電子データについて、通常画像データに付随するヘッダーと呼ばれる画像データの構成情報を示す電子データを省略して記述しているが、異なる種類の電子データを発展対象コンテンツ、発展結果コンテンツとする場合には格納する電子データにヘッダーが含まれる事が望ましい。また、本実施例は電子データの入力の方法および形式を規定するものではない。キーボード入力やファイル入力の他に、インターネットなどの接続回線を介して他の装置から入力するようにしても構わない。
【００２８】
次に、分散関数生成部１４０は、発展対象データＳＩおよび発展結果データＳＯを一定長の電子データに分割してブロック化し、発展結果データＳＯを分散暗号化するための分散関数と呼ばれる特殊な関数ｆ（ｘ）において必要な変数を決定し、分散関数ｆ（ｘ）を生成する。本実施例では先の式（４）を用いて、式（４）のＳＯをＳ，Ｓ１をＲＡ、ｒをＲＢに置き換え、ａ１は７、ａ２は１、ａ３は５として、分散関数ｆ（ｘ）を次の式（７）で表現するものとする。
【００２９】
ｆ（ｘ）＝Ｓ＋ＲＡ（ｘ−７）＋ＲＢ（ｘ−１）（ｘ−５）  （mod  Ｐ）…（７）
上記式（７）におけるＳは発展の結果となる電子データあるいはその一部分、ｘは電子データを分散暗号化して発展データＷｘを生成するための情報番号、ＲＡ、ＲＢは乱数文字列、Ｐは素数である固定文字列を表わす。本実施例においては、固定文字列Ｐとして素数である３バイトの１６進文字列Ｐ＝ＦＦＦＦＦＤを用いるとする。
【００３０】
なお、素数である固定文字列Ｐのサイズおよび値に関しては、本実施例で特に規定するものではない。分散暗号化する電子データの想定されるブロック単位やまた総当り攻撃に対するセキュリティ強度などの観点から任意に決定して良く、また個別の発展型コンテンツ作成装置によって異なるようにしても良い。
【００３１】
上記式（７）の分散関数ｆ（ｘ）は、ｘに２を代入して算出したｆ（２）をＷ２、ｘに３を代入して算出したｆ（３）をＷ３、ｘに４を代入して算出したｆ（４）をＷ４とした時に、Ｗ３とＷ４からＳが、Ｗ２とＷ４からＲＡが、Ｗ２とＷ３とＷ４または任意の３つのＷｘからＳ、ＲＡ、ＲＢがそれぞれ復元可能となるような秘密情報Ｓの分散関数である。また、Ｗ２、Ｗ３、Ｗ４を始めとする個々の発展データＷｘからは元となる秘密情報Ｓおよび乱数ＲＡ、ＲＢが全く分からないため、秘密情報Ｓの安全な秘匿が実現できる。
【００３２】
このような特殊な分散関数ｆ（ｘ）は、先に出願した特願２００３−３６６５３８に記載の復元制御型秘密情報分散法により求める事ができ、本実施例における式（７）に制眼されない。分散関数ｆ（ｘ）の次数と変数引数の数を増やしたり、また秘密情報Ｓを例えば前半分と後半分のように分割して複数の秘密情報ＳｌとＳ２とした上で、Ｓの代わりにＳｌ、ＲＡの代わりにＳ２を用いたり、分散関数ｆ（ｘ）における秘密情報Ｓの位置と乱数ＲＡ、ＲＢの位置を入れ替えたりといった様々な分散関数ｆ（ｘ）を考える事ができる。また、分散関数ｆ（ｘ）として従来の秘密分散法で用いられる分散関数を用いるようにしても良い。
【００３３】
なお、分散関数ｆ（ｘ）および固定文字列Ｐについては、発展型コンテンツ作成装置１００だけでなく、コンテンツ発展装置２００においても共通に使用する必要がある。これらの情報を各装置間で共有する手段については本発明で規定するものではないが、例えばこれらの情報を記憶したＩＣカードなどの記録媒体を共通に使用したり、また各装置に固有の秘密鍵情報などによって分散暗号化したこれらの情報を送信したり、出力する復元データの付加データあるいはヘッダデータとして含めるなどの手段が考えられる。また、これらの情報を常に固定の情報として、各装置内の固定メモリなどに作り込んでしまっても構わない。
【００３４】
以下に、分散関数生成部１４０の動作について詳細を説明する。分散関数生成部１４０は、まず情報記憶部１７０または内部メモリなどに記憶された発展対象データＳＩおよび発展結果データＳ０を読み出し、一定長の電子データに分割してブロック化した上で、情報記憶部１７０または内部メモリなどに再度記憶する。本実施例では素数である固定文字列Ｐが３バイトの１６進文字列ＦＦＦＦＦＤである事から、分割後のブロック化した電子データの長さを３バイトとする。なお、電子データを３バイト単位で分割した場合固定文字列Ｐ以上の値をとる、「ＦＦＦＦＦＤ」、「ＦＦＦＦＦＥ」、「ＦＦＦＦＦＦ」がブロックとして存在する場合が考えられる。そのような場合には、例えば分割する際に冗長なブロックに置換する必要がある。本実施例ではＰ＝ＦＦＦＦＦＤであるため、ブロック化した電子データがＰより１少ない「ＦＦＦＦＦＣ」の場合には、「ＦＦＦＦＦＣ」、「ＦＦＦＦＦＣ」というように冗長なブロックを追加し、「ＦＦＦＦＦＤ」の場合には「ＦＦＦＦＦＣ」、「０００００１」のように、「ＦＦＦＦＦＥ」の場合には「ＦＦＦＦＦＣ」、「０００００２」のように、「ＦＦＦＦＦＦ」の場合には「ＦＦＦＦＦＣ」、「０００００３」のように冗長なブロックを追加して置換する事で、復元時の発展結果データが完全に元の発展結果データと同一になるようにブロック化する事ができる。なお、発展対象データについては発展結果データと同様に厳密にブロック化しても良いし、厳密性を持たせずに、「ＦＦＦＦＦＤ」、「ＦＦＦＦＦＥ」、「ＦＦＦＦＦＦ」を全て「ＦＦＦＦＦＣ」に置換するようにしても良い。また、このようなブロック化した電子データの補完あるいは置換を行わずに、固定文字列Ｐをブロック化する電子データの長さよりも大きくする方法も考えられるが、その場合は発展データ生成部１５０において分散生成される発展データの大きさがかなり大きくなる事になる。
【００３５】
本実施例における発展結果データＳＯは９６桁の１６進文字列
「FF00000000FFFFFFFFFF00000000FF0000FF0000FF0000FFFFFFFF0000FFFF0000FFFFFFFF00000000FFFFFFFFFF0000」
であり、これを３バイト単位に単純にブロック化すると「ＦＦ００００」，「００００ＦＦ」，「ＦＦＦＦＦＦ」，「ＦＦ００００」，「００００ＦＦ」，「００００ＦＦ」，「００００ＦＦ」，「００００ＦＦ」，「ＦＦＦＦＦＦ」，「００００ＦＦ」，「ＦＦ００００」，「ＦＦＦＦＦＦ」，「ＦＦ００００」，「００００ＦＦ」，「ＦＦＦＦＦＦ」，「ＦＦ００００」の１６ブロックとなる。
【００３６】
固定文字列Ｐ＝ＦＦＦＦＦＤより大きなブロック「ＦＦＦＦＦＦ」は冗長化して「ＦＦＦＦＦＣ」，「０００００３」と置き換えるものとすると、ブロック化した電子データは「ＦＦ００００」，「００００ＦＦ」，「ＦＦＦＦＦＣ」，「０００００３」，「ＦＦ００００」，「００００ＦＦ」，「００００ＦＦ」，「００００ＦＦ」，「００００ＦＦ」，「ＦＦＦＦＦＣ」，「０００００３」，「００００ＦＦ」，「ＦＦ００００」，「ＦＦＦＦＦＣ」，「０００００３」，「ＦＦ００００」，「００００ＦＦ」，「ＦＦＦＦＦＣ」，「０００００３」，「ＦＦ００００」の２０ブロックとなる。以下、発展結果データをブロック化した個々の電子データをＳＯｉ（１≦ｉ≦２０）と記す。
【００３７】
また、本実施例における発展対象データＳＩに対しては、簡単化のために固定文字列Ｐ＝ＦＦＦＦＦＤ以上のブロック化した電子データは全て「ＦＦＦＦＦＣ」に置換するものとすると、９６桁の１６進文字列
「FF00000000FF0000FFFFFFFF0000FFFF0000FFFFFF0000FF0000FFFFFFFFFF00000000FFFFFFFF0000FF0000FFFF0000」
であり、これを３バイト単位でブロック化して置換を行うと「ＦＦ００００」，「００００ＦＦ」，「００００ＦＦ」，「ＦＦＦＦＦＣ」，「００００ＦＦ」，「ＦＦ００００」，「ＦＦＦＦＦＣ」，「００００ＦＦ」，「００００ＦＦ」，「ＦＦＦＦＦＣ」，「ＦＦ００００」，「００００ＦＦ」，「ＦＦＦＦＦＣ」，「００００ＦＦ」，「００００ＦＦ」，「ＦＦ００００」の１６ブロックとなる。以下、発展対象データをブロック化した個々の電子データをＳＩｊ（１≦ｊ≦１６）と記述する。
【００３８】
なお、本実施例は分散関数生成部１４０における電子データをブロック化するための分割方法を特に規定するものではない。本実施例では３バイト単位で単純に分割したが、後から正しく元の電子データに復元できれば良く、例えば２バイト単位で分割した上にエラー訂正符号やハッシュ値などを付与して３バイトとしてデータの復元誤りや改ざん検出機能を持たせたりするなどの分割方法が考えられる。さらに、発展対象データの単一性を保証するために、例えば発展対象データの全体のハッシュ値を算出した上で、個々のブロックに足し合わせるような方法も考えられる。これにより、個々のブロックが類似した発展対象データに対して厳密に区別をつけて変化発展させる事ができるようになる。
【００３９】
次に、分散関数生成部１４０は、上記ブロック化した個々の発展結果データＳＯｉに対して、上記ブロック化した発展対象データＳＩｊを用いて、乱数文字列ＲＡｉおよびＲＢｉを算出する。乱数ＲＡｉおよびＲＢｉは固定文字列Ｐより小さく発展結果データＳＯｉと同程度のサイズの乱数文字列である事が望ましい。ここで、式（７）に示した本実施例における分散関数ｆ（ｘ）がｘ＝３を代入したＷ３とｘ＝４を代入したＷ４から元の発展結果データＳを復元可能とするものである事から、ｘ＝４を代入したＷ４が発展対象データと一致するように乱数ＲＡおよぴＲＢを決定する事により、発展対象データＳＩ＝Ｗ４により発展結果データＳが復元可能となるように、Ｗ３を発展データとして分散生成する事ができる。
【００４０】
式（７）に示した分散関数ｆ（ｘ）にｘ＝４を代入し、ＲＢに着目して変形すると、個々のブロック化した発展結果データＳＯｉに対して、乱数ＲＡｉ、ＲＢｉおよび発展対象データＳＩｊの関係を示す次のような式が得られる。
【００４１】
【数３】
2006018123.tif 000005
乱数ＲＡｉは発展結果データの各ブロッククＳＯｉ毎に全くの乱数として生成し、ブロック毎に異なるものとする。乱数ＲＢｉは上記の式（８）にしたがって、ＲＡｉを生成した後にＳＯｉ、ＳＩｊ、ＲＡｉを代入して算出する。例えば、１ブロック目としてＳＯ１＝ＦＦ００００、ＳＩｌ＝ＦＦ００００であり、乱数ＲＡｉとしてＲＡｌ＝１Ａ２Ｂ３Ｃを得たとすると、式（８）よりＲＢｌ＝Ｅ５Ｄ４Ｃｌとなる。以下、発展結果データの各ブロックＳＯｉに対して、順次ＲＡｉを生成し、発展対象データの各ブロックＳＩｊからＲＢｉを算出して情報記憶部１７０または内部メモリなどに記憶する。なお、発展結果データＳＯのブロック数ｉと発展対象データＳＩのブロック数ｊを比較してｉ＞ｊである場合には、発展対象データＳＩのブロックを繰り返し使うものとする。本実施例においては、２ブロック目以降、乱数によりＲＡ２＝２Ｂ３Ｃ４Ｄ，ＲＡ３＝３Ｃ４Ｄ５Ｅ，・・・，ＲＡ２０＝４Ｄ５Ｅ６Ｆと得たとして、式（８）による計算により、ＲＢ２＝Ｄ４Ｃ３Ｂ０，ＲＢ３＝１Ａ０８Ａ２，・・・，ＲＢ２０＝Ｂ２４Ｃ３Ａが得られる。
【００４２】
図５は、発展型コンテンツ作成装置における本実施例の計算例をまとめて示したものである。図５において、１〜３列目がそれぞれ発展結果データＳＯｉ、発展対象データＳＩｊ、乱数文字列ＲＡｉであり、４列目が式（８）による乱数文字列ＲＢｉの計算列を示している。
【００４３】
なお、本実施例ではＳＯ１に対してＳＩｌを対応付けて算出を行ったが、ＳＯ１に対してＳＩｌｌのようにｉとｊの対応関係を変えて算出を行うようにしても良い。また、各ブロックＳＯｉ毎にＲＡｉを全くの乱数として生成したが、ＲＡｉとして固定の値を使っても良く、また後で生成する発展データＷＯ＝ｆ（３）がうまくランダム性を持つようにＲＡｉを生成しても良い。本発明は、これらの各変数の決定方法を特に規定するものではなく、生成される分散関数ｆ（ｘ）がある固定のｘの値の下で発展対象データＳＩを算出するように各変数が決定されれば良い。
【００４４】
次に、発展データ生成部１５０は、分散関数生成部１４０において生成したＳＯｉ、およびＲＡｉ、ＲＢｉからなる分散関数ｆ（ｘ）を使って、ｘ＝３を代入した発展データＷＯｉ＝ｆ（３）を算出する。本実施例においては、例えば１ブロック目としてＳＯ１＝ＦＦ００００、ＲＡｌ＝１Ａ２Ｂ３Ｃ、ＲＢｌ＝Ｅ５Ｄ４Ｃｌであり、式（７）の分散関数ｆ（ｘ）に情報番号ｘとして３を代入して発展データＷＯｉを算出すると、以下のようにＷ０１＝ＦＦ００００が得られる。
【００４５】
ＷＯ１＝ｆ（３）＝ＦＦ００００＋１Ａ２Ｂ３Ｃ×（３−７）＋Ｅ５Ｄ４Ｃ１×（３−１）×（３−５）＝ＦＦ００００  （ｍｏｄ  ＦＦＦＦＦＤ）
ちなみに、式（７）の分散関数ｆ（ｘ）にｘ＝４を代入して分散データＷＤｌを算出すると、
Ｗ４＝ｆ（４）＝ＦＦ００００＋１Ａ２Ｂ３Ｃ×（４−７）＋Ｅ５Ｄ４Ｃ１×（４−１）×（４−５）＝ＦＦ００００  （ｍｏｄ  ＦＦＦＦＦＤ）
のようにＷＤｌ＝ＦＦ００００が得られ、ＳＩ１と一致する。すなわち、式（７）の分散関数ｆ（ｘ）は固定値ｘ＝４の下で発展対象データＳＩを算出するような分散関数ｆ（ｘ）である。また、本分散関数ｆ（ｘ）は前述したようにＷ３＝ｆ（３）とＷ４＝ｆ（４）から発展結果データＳＯを復元可能とするような復元制御型秘密分散法の分散関数である。したがって、本分散関数ｆ（ｘ）により生成した発展データＷＯ＝Ｗ３＝ｆ（３）は、固定の発展対象データＳＩ＝Ｗ４＝ｆ（４）から発展結果データＳＯを復元できるような発展データとなる。
【００４６】
以下、発展データ生成部１５０は、同様にして発展結果データＳＯｉの各ブロックに対してＷＯｉを算出し、情報記憶部１７０または内部メモリなどにＷＯｉを記憶する。本実施例においては、２ブロック目以降、ＷＯ２＝００００ＦＦ，ＷＯ３＝ＡＡＡＢＦＤ，・・・，ＷＯ２０＝００５５５３が計算により得られる。
【００４７】
本実施例における発展データ生成部１５０の計算例を図５の５列目に示す。図５の最下列は分散データＷＤｉの計算例を示したものである。なお、個々のブロックに対して発展データＷＯｉを算出した後は、発展結果データＳＯｉ、発展対象データＳＩｊ、乱数ＲＡｉ、ＲＢｉなどの各値を情報記憶部１７０や内部メモリなどから破棄する事が望ましい。
【００４８】
なお、本実施例では発展結果データＳＯが２０ブロック、発展対象データＳＩが１６ブロックであり、発展対象データＳＩよりも発展結果データＳＯの方が長かったが、発展結果データＳＯの方が発展対象データＳＩより短くても構わない。その場合、生成される発展データＷＯのブロック数も短くなる。また、本実施例では発展データＷＯのブロック数は発展結果データＳＯと同様に２０ブロックとしたが、発展結果データＳＯの長さが発展データＷＯからは分からないようにダミーのデータを追加するようにしても良い。例えば、ｉ＝２１からｉ＝２４までの４ブロックについて、ＳＯｉ＝００００００という空データを追加して乱数ＲＡｉ、ＲＢｉを算出し、ＷＯｉを計算する事で、生成する発展データの長さを発展結果データの長さと異なるようにする事ができる。
【００４９】
次に、発展データ出力部１６０は、情報記憶部１７０または内部メモリなどに記憶された発展データＷＯｉの各ブロックをまとめ、発展データＷＯとして出力する。本実施例においては、出力される発展データは１２０桁の１６進文字列「ＦＦ００００００００ＦＦＡＡＡＢＦＤ・・・００５５５３」となる。発展データを出力した後は、情報記憶部１７０や内部メモリなどから出力した発展データを破棄する事が望ましい。
【００５０】
なお、本実施例は、発展データ出力部１６０における発展データの出力の方法やフロトコル、フォーマットを特に規定するものではない。本実施例では単なる１６進文字列の状態で出力するものとしたが、例えばビットマップ画像のようにヘッダーと呼ばれる画像データの構成情報を示す電子データを付与したデータとして出力しても良い。これにより発展データは通常のビットマップ画像と同様に参照する事ができるようになる。
【００５１】
また、発展データを画面や記録媒体などに直接出力したり、ファイル出力したりする他に、ネットワーク出力として、例えばコンテンツ発展装置２００に通信回線３００を介して送信するようにしても良い。出力する際に発展データをさらに暗号化したり、出力先のコンテンツ発展装置２００との問で認証を行うなどして、通信回線３００における盗聴に対する安全性を高める事も考えられる。
【００５２】
＜コンテンツ発展装置の構成例及び動作例＞
図６に本発明の実施例におけるコンテンツ発展装置２００の機能構成図を示す。コンテンツ発展装置２００は、発展制御部２１０、対象コンテンツ入力部２２０、発展データ入力部２３０、結果コンテンツ復元部２４０、結果コンテンツ出力部２５０、情報記憶部２６０から構成され、発展制御部２１０の制御にしたがって動作する。
【００５３】
対象コンテンツ入力部２２０は、発展の対象とするコンテンツの電子データの入力を受け付ける。受け付けた電子データは例えば情報記憶部２６０や内部メモリなどに一時的に記録するのが望ましい。本実施例では発展の対象とするコンテンツとしては、前述の発展型コンテンツ作成装置１００で入力された発展対象データである、図３に示したような、一列目が赤青青白、二列目が青赤白青、列目が青白赤青、四列目が白青青赤である、単純な４×４ピクセルの画像データが入力されたものとする。入力された発展対象コンテンツ画像の電子データは、例えば内部メモリなどに格納される際に、各色に対応したデー夕が赤は「ＦＦ００００」、青は「００００ＦＦ」、白は「ＦＦＦＦＦＦ」であるため、９６桁の１６進文字列
「FF00000000FF0000FFFFFFFF0000FFFF0000FFFFFF0000FF0000FFFFFFFFFF00000000FFFFFFFF0000FF0000FFFF0000」
となる。以下、入力された電子データを発展対象データＳＩとして記す。
【００５４】
次に、発展データ入力部２３０は、発展の対象とするコンテンツを発展させるための電子データの入力を受け付ける。受け付けた電子データは例えば情報記憶部２６０や内部メモリなどに一時的に記録するのが望ましい。本実施例では、前述の発展型コンテンツ作成装置１００で出力された発展データＷＯである、１２０桁の１６進文字列「ＦＦ００００００００ＦＦＡＡＡＢＦＤ・・・００５５５３」が入力されたものとする。以下、入力された発展データをＷＩと記す。
【００５５】
なお、本発明は対象コンテンツ入力部２２０および発展データ入力部２３０において入力を受け付ける電子データの種類や内容およびその数を特に規定するものではない。数値情報、文字列など符号化する事で分散関数による演算が可能であればどのような情報でも良く、ビットマップ画像などの画像データだけでなく音楽データや文字列テキスト、プログラムなどの任意の電子データ、あるいは予め暗号化された電子データを入力としても良い。その場合に、入力された発展データを発展データ入力部２３０において復号化する事で入力の安全性を高める事も考えられる。
【００５６】
また、本実施例では格納する電子データについて、通常画像データに付随するヘッダーと呼ばれる画像データの構成情報を示す電子データを省略して記述しているが、異なる種類の電子データを発展対象コンテンツおよび発展結果コンテンツとする場合には格納する電子データにヘッダーが含まれる事が望ましい。さらに、本実施例は電子データの入力の方法および形式を規定するものではない。キーボード入力やファイル入力の他に、インターネットなどの接続回線を介して他の装置から入力するようにしても構わない。
【００５７】
次に、結果コンテンツ復元部２４０において、入力された発展対象データＳＩと発展データＷＩから、発展結果データＳＯを復元する。発展結果データＳＯの復元は以下のようにして行う。
【００５８】
結果コンテンツ復元部２４０は、まず、情報記憶部２６０または内部メモリなどに記録された発展対象データＳＩおよび発展データＷＩを読み出し、一定長の電子データに分割してブロック化した上で、再度情報記憶部２６０または内部メモリなどに記録する。本実施例では素数である固定文字列Ｐが３バイトの１６進文字列「ＦＦＦＦＦＤ」である事から、分割後のブロック化した電子データの長さを３バイトと固定する。なお、電子データを３バイト単位で分割した場合、発展データは常に固定文字列Ｐより小さい値をとるが、発展対象データは固定文字列Ｐ以上の値として「ＦＦＦＦＦＤ」、「ＦＦＦＦＦＥ」、「ＦＦＦＦＦＦ」をとる場合が考えられる。そのような場合には、発展型コンテンツ作成装置１００のときと同様に冗長なブロックを追加あるいは置換するなどして、情報の損失を補う事ができる。
【００５９】
本実施例における発展対象データＳＩは、発展型コンテンツ作成装置１００のときと同様に簡単化のために固定文字列Ｐ＝ＦＦＦＦＦＤ以上のブロック化した電子データは全て「ＦＦＦＦＦＣ」に置換するものとして、「ＦＦ００００」，「００００ＦＦ」，「００００ＦＦ」，「ＦＦＦＦＦＣ」，「００００ＦＦ」，「ＦＦ００００」，「ＦＦＦＦＦＣ」，「００００ＦＦ」，「００００ＦＦ」，「ＦＦＦＦＦＣ」，「ＦＦ００００」，「００００ＦＦ」，「ＦＦＦＦＦＣ」，「００００ＦＦ」，「００００ＦＦ」，「ＦＦ００００」の１６ブロックとなる。以下、発展対象データをブロック化した個々の電子データをＳＩｊ（１≦ｊ≦１６）と記述する。
【００６０】
また、本実施例における発展データは１２０桁の１６進文字列ＦＦ００００００００ＦＦＡＡＡＢＦＤ・・・００５５５３であり、３バイト単位にブロック化すると「ＦＦ００００」，「００００ＦＦ」，「ＡＡＡＢＦＤ」，・・・，「００５５５３」の２０ブロックとなる。以下、発展データをブロック化した個々の電子データをＷＩｉ（１≦ｉ≦２０）と記述する。
【００６１】
なお、本実施例は結果コンテンツ復元部２４０における電子データをブロック化するための分割方法を特に規定するものではない。本実施例では３バイト単位で単純に分割したが、例えば２バイト単位で分割した上にエラー訂正符号やハッシュ値などを付与して３バイトとしてデータの復元誤りや改ざん検出機能を持たせたりするなどの分割方法が考えられる。さらに、発展対象データの単一性を保証するために、例えば発展対象データの全体のハッシュ値を算出した上で、個々のブロックに足し合わせるような方法も考えられる。これにより、個々のブロックが類似した発展対象データに対して厳密に区別をつけて復元できるようになる。
【００６２】
次に、結果コンテンツ復元部２４０は、分割した発展対象データＳＩおよび発展データＷＩの各ブロック毎に演算を行う事で発展結果データのブロックＳＯｉを算出する。先の式（７）と同じく、本実施例における分散関数ｆ（ｘ）が
ｆ（ｘ）＝Ｓ＋ＲＡ（ｘ−７）＋ＲＢ（ｘ−１）（ｘ−５）  （mod  Ｐ）…（９）
である事から、２個の分散情報に関する連立方程式は次のような行列式で表現できる。
【００６３】
【数４】
2006018123.tif 000006
式（９）の分散関数ｆ（ｘ）は、前述したようにｆ（３）とｆ（４）から秘密情報Ｓを復元可能とするような復元制御型秘密分散法の分散関数であるため、上記式（１０）の行列式において、Ｗｘは発展データＷＩ＝ｆ（３）としてｘ＝３を代入し、Ｗｙは発展対象データＳＩ＝ｆ（４）としてｘ＝４を代入して、次のように、行列式を掃き出し法などにより解いてＳを求める事で、発展結果データＳＯを復元する事ができる。
【００６４】
【数５】
2006018123.tif 000007
上記の演算の結果、ＳＯｉは行列式から
ＳＯｉ＝４ＳＩｊ−３ＷＩｉ        …（１２）
により求める事ができる。
【００６５】
本実施例においては、発展結果データの１ブロック目の計算は、ＳＩｌ＝ＦＦ００００、ＷＩｌ＝ＦＦ００００により、式（１２）からＳＯ１＝ＦＦ００００を得る。結果コンテンツ復元部２５０は、ＳＯ１を情報記憶部２６０あるいは内部メモリなどに記憶する。以下、同様にして発展対象データＳＩｊと発展データＷＩｉの各ブロックから、発展結果データの各ブロックＷＯｉを計算する。なお、発展対象データＳＩのブロック数ｊと発展データＷＩのブロック数ｉを比較してｉ＞ｊである場合には、発展対象データＳＩのブロックを繰り返し使うものとする。本実施例では、２ブロック目以降は、ＷＩ２＝００００ＦＦ、ＳＩ２＝００００ＦＦよりＳＯ３＝００００ＦＦを、ＷＩ３＝ＡＡＡＢＦＤ、ＳＩ３＝００００ＦＦよりＳＯ３＝ＦＦＦＦＦＣを、以下順次計算を行って、ＷＩ２０＝００５５５３、ＳＩ４＝ＦＦＦＦＦＣよりＳＯ２０＝ＦＦ００００を計算結果として得る。
【００６６】
本実施例におけるコンテンツ発展装置２００の計算例を図７に示す。１列目が発展対象データＳＩｊ、２列目が発展データＷＩｉであり、３列目が結果コンテンツ復元部２５０における発展結果データＳＯｉの計算結果を示している。この発展データＳＯｉの計算結果は、図５の元の発展結果データＳＯｉと同一である。
【００６７】
次に、結果コンテンツ出力部２５０は、情報記憶部２６０または内部メモリなどに記憶された発展結果データＳＯｉの各ブロックをまとめ、復元した発展結果データＳＯとして出力する。
【００６８】
なお、発展型コンテンツ作成装置１００において、発展結果データのブロック化時に冗長化処理を行っている場合には、結果コンテンツ出力部２５０において縮退処理を行う必要がある。本実施例ではＰが「ＦＦＦＦＦＤ」であるため、算出したブロックがＰより１少ない「ＦＦＦＦＦＣ」の場合には、次のブロックの値により縮退処理を行って出力する。例えば「ＦＦＦＦＦＣ」、「ＦＦＦＦＦＣ」と続いた場合は「ＦＦＦＦＦＣ」を、「ＦＦＦＦＦＣ」、「０００００１」の場合には「ＦＦＦＦＦＤ」を、「ＦＦＦＦＦＣ」、「０００００２」の場合には「ＦＦＦＦＦＥ」を、「ＦＦＦＦＦＣ」、「０００００３」の場合には「ＦＦＦＦＦＦ」を出力するようにすれば、復元時の発展結果データは完全に元の発展結果データと同一になる。
【００６９】
本実施例においては、結果コンテンツ復元部２４０において復元した発展結果データが「ＦＦ００００」，「００００ＦＦ」，「ＦＦＦＦＦＣ」，「０００００３」，「ＦＦ００００」，「００００ＦＦ」，「００００ＦＦ」，「００００ＦＦ」，「００００ＦＦ」，「ＦＦＦＦＦＣ」，「０００００３」，「００００ＦＦ」，「ＦＦ００００」，「ＦＦＦＦＦＣ」，「０００００３」，「ＦＦ００００」，「００００ＦＦ」，「ＦＦＦＦＦＣ」，「０００００３」，「ＦＦ００００」の２０ブロックである事から、縮退処理を行う事で、出力される発展結果データは９６桁の１６進文字列
「FF00000000FFFFFFFFFF00000000FF0000FF0000FF0000FFFFFFFF0000FFFF0000FFFFFFFF00000000FFFFFFFFFF0000」
となる。これは図４に示すような、発展型コンテンツ作成装置１００において入力された発展結果コンテンツの電子データに他ならない。
【００７０】
なお、本実施例は、結果コンテンツ出力部２５０における発展結果データの出力の方法やプロトコル、フォーマットを特に規定するものではない。本実施例では出力結果を単なる１６進文字列の状態で記述したが、実際の電子データは例えばビットマップ画像のようにヘッダーと呼ばれる画像データの構成情報を示す電子データを含むために、実際の発展結果データは通常のビットマップ画像として参照する事ができる。また、発展結果データは画面や記録媒体などに直接出力したり、ファイル出力したりする他に、ネットワークを介して他の装置に出力するようにしても良い。
【００７１】
以上のように、本発明によれば、発展型コンテンツ作成装置１００において入力された発展対象コンテンツと発展結果コンテンツから発展データを生成して出力する事で、コンテンツ発展装置２００において入力された発展対象コンテンツに対して、発展データを用いて発展結果コンテンツを復元する事で、コンテンツを変化発展させる事ができる。
【００７２】
本実施例においては、発展対象コンテンツ、発展結果コンテンツの双方を画像データとした変化発展の例を記述したが、本発明によれば、発展の対象とするコンテンツの電子データに対して、画像データや音楽データなどの任意の電子データを発展結果コンテンツとできるため、異なる種別のメディア問でのコンテンツの変化発展が可能である。また、一つの発展対象コンテンツに対して複数の発展結果コンテンツを指定して発展データを生成出力する事で、一つの発展対象コンテンツに対して異なる発展データを適用して異なる発展結果コンテンツヘと変化発展させる事が可能である。逆に、複数の発展対象コンテンツに対して一つの発展結果コンテンツを指定して発展データを生成出力する事で、複数の発展対象コンテンツに対して発展データを適用して一つの発展結果コンテンツヘと変化発展させるような、コンテンツの融合発展が可能である。また、一つの発展対象コンテンツに対して複数の発展結果コンテンツを指定して複数の発展データを生成出力する事で、一つの発展対象コンテンツに対して異なる発展データを適用すれば異なる一つの発展結果コンテンツに、複数の発展データを適用すれば複数の発展結果コンテンツに変化発展させる事も可能である。さらに、一度変化発展させた発展結果コンテンツを、次なる変化発展の発展対象コンテンツとして使用する事で、繰り返し半永久的にコンテンツを変化発展させる事が可能である。
【００７３】
また、コンテンツを変化発展させる事を目的としたこれら発展のための電子データは従来の技術においては偽造が比較的容易であったが、本発明においては特殊な関数を用いる事により電子データの偽造は困難となり、コンテンツ提供者の想定するコンテンツの変化発展に限定する事が可能でとなる。
【００７４】
なお、図２および図６で示した装置における各部の一部もしくは全部の処理機能をコンピュータのプログラムで構成し、そのプログラムをコンピュータを用いて実行して本発明を実現することができることは言うまでもない。また、コンピュータでその処理機能を実現するためのプログラムを、そのコンピュータが読み取り可能な記録媒体、例えば、ＦＤ、ＭＯ、ＲＯＭ、メモリカード、ＣＤ、ＤＶＤ、リムーバブルディスクなどに記録して、保存したり、提供したりすることができるとともに、インターネット等のネットワークを通してそのプログラムを配布したりすることが可能である。
【図面の簡単な説明】
【００７５】
【図１】本発明の一実施例におけるシステム構成例を示す図である。
【図２】本発明の発展型コンテンツ作成装置の一実施例の機能構成図である。
【図３】発展対象コンテンツとその１６進表現の例を示す図である。
【図４】発展結果コンテンツとその１６進表現の例を示す図である。
【図５】発展型コンテンツ作成装置における計算例を示す図である。
【図６】本発明のコンテンツ発展装置の一実施例の機能構成図である。
【図７】コンテンツ発展装置における計算例を示す図である。
【符号の説明】
【００７６】
１００  発展型コンテンツ作成装置
１１０  コンテンツ作成制御部
１２０  発展対象コンテンツ入力部
１３０  発展結果コンテンツ入力部
１４０  分散関数生成部
１５０  発展データ生成部
１６０  発展データ出力部
１７０  情報記憶部
２００  コンテンツ発展装置
２１０  発展制御部
２２０  発展対象コンテンツ入力部
２３０  発展データ入力部
２４０  結果コンテンツ復元部
２５０  発展結果コンテンツ出力部
２６０  情報記憶部
【図１】
2006018123.tif 000008
【図２】
2006018123.tif 000009
【図３】
2006018123.tif 000010
【図４】
2006018123.tif 000011
【図５】
2006018123.tif 000012
【図６】
2006018123.tif 000013
【図７】
2006018123.tif 000014