(57)【特許請求の範囲】
【請求項１】
２次元以上の表形式の第１のデータであって少なくとも１の第１の数値列を含む前記第１のデータの配布先を識別するための又は前記第１のデータの出所を識別するための第２のデータに対応し且つデータ格納部に格納されている所定個数の第１の数値を、当該所定個数の第１の数値を特定可能で且つ和がゼロとなる複数の数値を含む第２の数値列に変換する処理を実施し、当該第２の数値列を前記データ格納部に格納する処理と、
前記第１のデータにおいて前記第１の数値列のうち少なくとも一部に対して、前記第２の数値列を加算又は減算する処理を行い、処理後の前記第１のデータを前記データ格納部に格納する処理と、
を含み、コンピュータにより実行される情報処理方法。
【請求項２】
前記第２のデータを、所定の可逆変換処理における変換処理によって前記所定個数の第１の数値に変換し、前記データ格納部に格納する処理
をさらに含む請求項１記載の情報処理方法。
【請求項３】
前記第１のデータ又は処理後の前記第１のデータに対して、当該第１のデータ又は処理後の前記第１のデータと同一のサイズの表形式の第３のデータであって、少なくとも１の方向における各数値列について当該数値列に含まれる数値の総和が０となっている前記第３のデータを加算する処理
をさらに含む請求項１又は２記載の情報処理方法。
【請求項４】
前記第１の数値が、ｎ進数（ｎは２以上１０以下の整数）の数値であり、
前記第２の数値列に変換する処理が、
前記所定個数の第１の数値のうち同じ数値のペアを抽出して、異なる符号を付与し、
前記所定個数の第１の数値のうち前記同じ数値のペアに含まれない数値については、合計値の絶対値を最小にするように符号を付与して、符号付与後の数値の合計値との和が０となるように補助数値を設定する
処理を含む請求項１乃至３のいずれか１つ記載の情報処理方法。
【請求項５】
前記第２の数値列に含まれる前記複数の数値は、前記加算又は減算する処理において、前記第１の数値列に含まれる数値の最下位桁より下の桁に作用する数値である
請求項１乃至４のいずれか１つ記載の情報処理方法。
【請求項６】
前記第２の数値列が、所定の区切り数値を挟んで繰り返し同一の数値列を含む
請求項１乃至５のいずれか１つ記載の情報処理方法。
【請求項７】
２次元以上の表形式の第１のデータであって少なくとも１の第１の数値列を含む前記第１のデータを取得し、第１のデータ格納部に格納する処理と、
前記第１の数値列に対応し且つ基準となる第２の数値列を格納する第２のデータ格納部から前記第２の数値列を読み出し、当該第２の数値列に含まれる数値の各々について、前記第１のデータに含まれる前記第１の数値列において対応する数値との差の絶対値を算出する処理と、
前記第２の数値列から算出された前記差の絶対値から、所定のルールに従って所定個数の数値を生成する処理と、
を含み、コンピュータにより実行される情報処理方法。
【請求項８】
前記所定個数の数値を、所定の可逆変換処理における逆変換処理によって当該所定個数の数値に対応付けられているデータに変換する処理
をさらに含む請求項７記載の情報処理方法。
【請求項９】
前記第１のデータに含まれる前記第１の数値列に対して所定の処理を実施して前記第２の数値列を生成し、前記第２のデータ格納部に格納する処理
をさらに含む請求項７又は８記載の情報処理方法。
【請求項１０】
前記所定の処理が、最下位桁の（ｎ−１）捨ｎ入処理（ｎは２以上１０以下の整数）である
請求項９記載の情報処理方法。
【請求項１１】
前記所定のルールが、前記差の絶対値から所定個数の数値を抽出して所定の桁ずらしを行うというルールを含む
請求項７乃至１０のいずれか１つ記載の情報処理方法。
【請求項１２】
表形式の第３のデータから、当該第３のデータと同一のサイズの表形式の第４のデータであって、少なくとも１の方向における各数値列について当該数値列に含まれる数値の総和が０となっている前記第４のデータを減算することで前記第１のデータを生成し、前記第１のデータ格納部に格納する処理
をさらに含む請求項７乃至１１のいずれか１つ記載の情報処理方法。
【請求項１３】
２次元以上の表形式の第１のデータであって少なくとも１の第１の数値列を含む前記第１のデータの配布先を識別するための又は前記第１のデータの出所を識別するための第２のデータに対応し且つデータ格納部に格納されている所定個数の第１の数値を、当該所定個数の第１の数値を特定可能で且つ和がゼロとなる複数の数値を含む第２の数値列に変換する処理を実施し、当該第２の数値列を前記データ格納部に格納する処理と、
前記第１のデータにおいて前記第１の数値列のうち少なくとも一部に対して、前記第２の数値列を加算又は減算する処理を行い、処理後の前記第１のデータを前記データ格納部に格納する処理と、
を、コンピュータに実行させるためのプログラム。
【請求項１４】
２次元以上の表形式の第１のデータであって少なくとも１の第１の数値列を含む前記第１のデータを取得し、第１のデータ格納部に格納する処理と、
前記第１の数値列に対応し且つ基準となる第２の数値列を格納する第２のデータ格納部から前記第２の数値列を読み出し、当該第２の数値列に含まれる数値の各々について、前記第１のデータに含まれる前記第１の数値列において対応する数値との差の絶対値を算出する処理と、
前記第２の数値列から算出された前記差の絶対値から、所定のルールに従って所定個数の数値を生成する処理と、
を、コンピュータに実行させるためのプログラム。
【請求項１５】
２次元以上の表形式の第１のデータであって少なくとも１の第１の数値列を含む前記第１のデータの配布先を識別するための又は前記第１のデータの出所を識別するための第２のデータに対応し且つデータ格納部に格納されている所定個数の第１の数値を、当該所定個数の第１の数値を特定可能で且つ和がゼロとなる複数の数値を含む第２の数値列に変換する処理を実施し、当該第２の数値列を前記データ格納部に格納する第１の処理部と、
前記第１のデータにおいて前記第１の数値列のうち少なくとも一部に対して、前記第２の数値列を加算又は減算する処理を行い、処理後の前記第１のデータを前記データ格納部に格納する第２の処理部と、
を有する情報処理装置。
【請求項１６】
２次元以上の表形式の第１のデータであって少なくとも１の第１の数値列を含む前記第１のデータを取得し、第１のデータ格納部に格納する取得部と、
前記第１の数値列に対応し且つ基準となる第２の数値列を格納する第２のデータ格納部から前記第２の数値列を読み出し、当該第２の数値列に含まれる数値の各々について、前記第１のデータに含まれる前記第１の数値列において対応する数値との差の絶対値を算出する第１の処理部と、
前記第２の数値列から算出された前記差の絶対値から、所定のルールに従って所定個数の数値を生成する第２の処理部と、
を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、表形式のデータに対して情報を埋め込むための技術に関する。
【背景技術】
【０００２】
例えば行と列とに数値が並べられている表形式のデータ（次元は２次元に限定されない。以下、表データと呼ぶ）に対して、表に含まれる数値を用いた集計処理には影響を与えないように秘匿化処理を施す技術は既に存在しているが、このような表データを提携相手と共用したりすると、第三者に漏洩することも考えられる。このような場合に備えて、どの提携相手からデータが漏洩したか追跡できるような仕組みを導入することが好ましい。  改ざん防止やトレースを目的として、画像等のデータに透かしを埋め込み、当該埋め込まれた透かしを抽出する技術は存在している。しかしながら、このような技術をそのまま表データに対して適用することはできない。
【０００３】
また、文書データに対して透かしを埋め込む技術も存在しており、例えば、文字間隔、行間隔などに、透かしを埋め込む技術が存在している。このような技術についても表データに対して適用することはできない。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１０９１４６号公報
【特許文献２】特開２００３−１５２９８８号公報
【特許文献３】特開２００２−３１４７８５号公報
【特許文献４】特開２０１１−１９２０８９号公報
【特許文献５】特開２０１０−１２４４５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従って、本技術の目的は、一側面においては、表データに対して他のデータを埋め込むための技術を提供することである。
【課題を解決するための手段】
【０００６】
本技術の第１の態様に係る情報処理方法は、（Ａ）２次元以上の表形式のデータであって少なくとも１の第１の数値列を含む第１のデータの配布先を識別するための又は第１のデータの出所を識別するための第２のデータに対応し且つデータ格納部に格納されている所定個数の第１の数値を、当該所定個数の第１の数値を特定可能で且つ和がゼロとなる複数の数値を含む第２の数値列に変換する処理を実施し、データ格納部に格納する処理と、（Ｂ）第１のデータにおいて第１の数値列のうち少なくとも一部に対して、第２の数値列を加算又は減算する処理を行い、処理後の第１のデータをデータ格納部に格納する処理とを含む。
【０００７】
本技術の第２の態様に係る情報処理方法は、（Ａ）２次元以上の表形式のデータであって少なくとも１の第１の数値列を含む第１のデータを取得し、第１のデータ格納部に格納する処理と、（Ｂ）第１の数値列に対応し且つ基準となる第２の数値列を格納する第２のデータ格納部から第２の数値列を読み出し、当該第２の数値列に含まれる数値の各々について、第１のデータに含まれる第１の数値列において対応する数値との差の絶対値を算出する処理と、（Ｃ）第２の数値列から算出された上記差の絶対値から、所定のルールに従って所定個数の数値を生成する処理とを含む。
【発明の効果】
【０００８】
表形式のデータに対して他のデータを埋め込むことができるようになる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態に係るシステムの概要を示す図である。
【図２】図２は、情報処理装置の機能ブロック図である。
【図３】図３は、情報処理装置の機能ブロック図である。
【図４】図４は、実施の形態に係る埋込処理の処理フローを示す図である。
【図５】図５は、表データの一例を示す図である。
【図６】図６は、変換処理の処理フローを示す図である。
【図７】図７は、変換処理の具体例を示す図である。
【図８】図８は、変換処理の処理フローを示す図である。
【図９】図９は、調整対象数値と符号設定及び付加数値の組み合わせとの関係を表す図である。
【図１０】図１０は、最終的な埋込数値列の一例を示す図である。
【図１１】図１１は、最終的な埋込数値列の他の例を示す図である。
【図１２】図１２は、埋込処理後の表データの一例を示す図である。
【図１３】図１３は、検査処理の処理フローを示す図である。
【図１４】図１４は、検出される数値列の一例を示す図である。
【図１５】図１５は、検査処理の処理フローを示す図である。
【図１６】図１６は、処理後の数値列の一例を示す図である。
【図１７】図１７は、検査処理の処理フローを示す図である。
【図１８】図１８は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１０】
本技術の実施の形態に係るシステム構成の概要を図１に示す。例えばインターネットなどのネットワーク１には、本実施の形態に係る主要な処理を実施する情報処理装置３と、当該情報処理装置３から表データの提供を受けるユーザＡが管理する配布先コンピュータ５と、情報処理装置３から表データの提供を受けるユーザＢが管理する配布先コンピュータ７とが接続されている。表データの配布先ユーザの数は２に限定されるものではなく、何人であっても良い。
【００１１】
配布先コンピュータ５（配布先コンピュータ７も同様）は、情報処理装置３から表データを受信するなどの処理を実施する通信部５１と、表データ等のデータを格納するデータ格納部５３と、表データに対する集計処理などを実施する分析部５５とを有する。分析部５５の処理については、どのような処理であっても良いので、これ以上の説明は省略する。
【００１２】
図２に示すように、本実施の形態に係る情報処理装置３は、入力部３１と、第１データ格納部３２と、第２データ格納部３３と、第１変換処理部３４と、第３データ格納部３５と、第２変換処理部３６と、第４データ格納部３８と、第５データ格納部３７と、埋込処理部３９と、第７データ格納部４０と、第６データ格納部４１と、マスク処理部４２と、第８データ格納部４３と、通信部４４とを有する。
【００１３】
入力部３１は、情報処理装置３に対する指示（例えば配布先ユーザの識別情報など）及び配布すべき表データの入力を受け付け、表データについては第１データ格納部３２に格納し、指示に係るデータについては第２データ格納部３３に格納する。第１変換処理部３４は、第２データ格納部３３に格納されている配布先ユーザの識別情報などを、表データに埋め込むための最初のデータ（以下で示すような数値列）に変換する処理を実施し、処理結果を第３データ格納部３５に格納する。この変換処理については、逆変換も可能な変換処理であり、予め関数を用意しておいても良いし、例えば第５データ格納部３７にあらかじめ変換テーブルを用意しておいて、当該変換テーブルを用いて変換処理を行うようにしても良い。
【００１４】
第２変換処理部３６は、第３データ格納部３５に格納されているデータに対して、第１データ格納部３２及び第２データ格納部３３に格納されているデータを用いて、表データに埋め込むためのデータ（以下で示すような符号付きの数値列）を生成して、第４データ格納部３８に格納する。第２変換処理部３６も、第５データ格納部３７にあらかじめ用意されているデータを用いて変換処理を行うようにしても良い。
【００１５】
そして、埋込処理部３９は、第１データ格納部３２に格納されている表データに対して、第２データ格納部３３に格納されているデータに基づき、第４データ格納部３８に格納されているデータを埋め込む処理（具体的には加算又は減算）を実施し、処理結果を第６データ格納部４１に格納する。
【００１６】
さらに、表データにプライバシデータが含まれている場合には、マスク処理部４２は、第７データ格納部４０に格納されているマスクデータを、第６データ格納部４１に格納されている、埋込処理後の表データに対して加算又は減算する処理を実施し、処理結果を第８データ格納部４３に格納する。通信部４４は、第８データ格納部４３に格納されているデータを、第２データ格納部３３に格納されている配布先ユーザのデータに基づき、配布先コンピュータ５等に送信する。
【００１７】
なお、情報処理装置３（又は情報処理装置３以外の情報処理装置のこともある）は、さらに図３に示すような構成要素をも有する。なお、図２に示したものと同様の構成要素については同じ参照符号を付する。
【００１８】
情報処理装置３は、さらに、第９データ格納部６１と、マスク解除部６２と、第１０データ格納部６３と、抽出処理部６４と、第１１データ格納部６５と、第１逆変換処理部６７と、第１２データ格納部６８と、第２逆変換処理部６９と、出力データ格納部７０と、出力部７１とを有する。
【００１９】
入力部３１は、ユーザから、配布先ユーザから漏洩したと推定される表データを受け付け、第９データ格納部６１に格納する。マスク解除部６２は、第７データ格納部４０に格納されているマスクデータを用いてマスク解除処理を実施し、処理結果を第１０データ格納部６３に格納する。抽出処理部６４は、第２データ格納部３３に格納されているデータに従って、第９データ格納部６１又は第１データ格納部３２に格納されている表データを用いて、埋め込まれているデータを抽出する処理を実施し、処理結果を第１１データ格納部６５に格納する。
【００２０】
第１逆変換処理部６７は、第２データ格納部３３に格納されているデータを用いて、第１１データ格納部６５に格納されているデータに対して、第２逆変換処理部６９の逆変換処理の前処理として変換処理を実施し、処理結果を第１２データ格納部６８に格納する。この際、第５データ格納部３７にルールデータを格納しておき、このルールデータを用いても良い。第２逆変換処理部６９は、第１２データ格納部６８に格納されているデータに対して、第１変換処理部３４が行った変換処理の逆変換処理を実施し、処理結果を出力データ格納部７０に格納する。そして、出力部７１は、出力データ格納部７０に格納されているデータを管理者などに出力する。
【００２１】
次に、図４乃至図１７を用いて、情報処理装置３の処理内容について説明する。
【００２２】
まず、入力部３１は、管理者などのユーザに対して、これから特定の相手に配布する予定の表データの入力を促し、これに対してユーザが表データを入力すると、表データの入力を受け付け、第１データ格納部３２に格納する（ステップＳ１）。例えば、図５に示すようなデータが、第１データ格納部３２に格納される。この例では、名前、年齢、身長、体重、腹囲についてのデータが含まれる。
【００２３】
また、入力部３１は、表データの中でこれから生成する埋込データの埋込箇所を特定し、当該埋込箇所を示すデータを、第２データ格納部３３に格納する（ステップＳ３）。この処理については、例えば表データの行及び列を走査して、所定数以上数値が並んでいる行又は列を特定する。但し、ユーザに対してどの列又はどの行を埋込箇所とするかについて入力を促し、ユーザからの指定に応じて埋込箇所を示すデータを第２データ格納部３３に格納するようにしても良い。本実施の形態では、数値に対して埋込データに相当する数値を加算するので、桁数が多い方が好ましい。従って、図５の例では身長の列が指定又は特定されたものとする。なお、ステップＳ１及びＳ３で特定されるデータについては、予め用意して第２データ格納部３３に格納しておくようにしても良い。又は、他のコンピュータからデータを取得するようにしても良い。
【００２４】
さらに、入力部３１は、ユーザに対して、配布先の識別子の入力を促し、これに対してユーザが配布先の識別子を入力すると、配布先の識別子の入力を受け付け、第２データ格納部３３に格納する（ステップＳ５）。例えば「Ａ」というような識別子が特定されたものとする。
【００２５】
そうすると、第１変換処理部３４は、情報処理装置３の時計から日付（又は時刻）のデータを取得して、第２データ格納部３３に格納されている配布先の識別子と日付のデータと連結したデータから第１の埋込数値列を生成し、第３データ格納部３５に格納する（ステップＳ７）。本実施の形態では可逆変換処理における変換処理に相当する関数Ｅｎｃ（ｘ）を予め用意しておく。すなわち、可逆変換処理における逆変換処理に相当する関数Ｄｅｃ（ｙ）は、ｘ＝Ｄｅｃ（Ｅｎｃ（ｘ））という性質を有する。また、本実施の形態では以下の処理において四捨五入を用いるので、Ｅｎｃ（ｘ）の出力値は５進数の数値列となる。但し、５進数は一例であって、２進数であっても良いし、１０進数であっても良い。なお、数値列に含まれる数値の個数は一定であるものとする。
【００２６】
例えば、配布先「Ａ」で日付「３／２０」であれば、Ｅｎｃ（Ａ＋”３／２０”）＝２４１１２３１２０３２２が得られたものとする。
【００２７】
なお、例えば配布先毎に５進数の識別子を対応付けるテーブルと、日付部分を５進数の数値にするようなテーブルを例えば第５データ格納部３７に用意しておき、このようなテーブルを用いて変換を行うようにしても良い。さらに、日付を連結させないようにしても良い。
【００２８】
そして、第２変換処理部３６は、第３データ格納部３５に格納されている埋込数値列に対して変換処理を実施して符号付きの埋込数値列を生成し、第４データ格納部３８に格納する（ステップＳ９）。この変換処理については、図６乃至図１１を用いて説明する。
【００２９】
まず、第２変換処理部３６は、第３データ格納部３５に格納されている第１の埋込数値列に含まれる数値についてのカウンタであるｉを１に初期化する（図６：ステップＳ２１）。そして、第２変換処理部３６は、第１の埋込数値列のｉ番目の数値を特定する（ステップＳ２３）。例えば図７（ａ）の数値列が第３データ格納部３５に格納されているとすると、ｉ＝１で「２」が特定される。
【００３０】
そして、第２変換処理部３６は、第１の埋込数値列のｉ番目の数値が処理済みであるか判断する（ステップＳ２５）。例えば、第１の埋込数値列の各数値についてフラグを用意して、処理が完了した時点でフラグをセットしておき、本ステップでｉ番目のフラグがセットされているか否かを判断する。ｉ番目の数値が処理済みであれば、ステップＳ３７に処理は移行する。
【００３１】
一方、ｉ番目の数値が未処理であれば、第２変換処理部３６は、特定されたｉ番目の数値が０であるか判断する（ステップＳ２７）。ｉ番目の数値が０であれば、ステップＳ３７に処理は移行する。一方、ｉ番目の数値が０でなければ、第２変換処理部３６は、ｉ番目の数値に一致する数値を求めて、第１の埋込数値列の未処理の部分を探索する（ステップＳ２９）。ｉ番目の数値に一致する数値があれば、最初に見つかった位置で探索を中止し、存在しない場合には第１の埋込数値列の最後の数値まで探索し終わった時点で探索を中止する。
【００３２】
ｉ番目の数値に一致する数値が見つからなかった場合には（ステップＳ３１：Ｎｏルート）、第２変換処理部３６は、調整対象としてｉ番目の数値を保持しておく（ステップＳ３５）。そして、処理はステップＳ３７に移行する。
【００３３】
一方、ｉ番目の数値に一致する数値が見つかった場合には（ステップＳ３１：Ｙｅｓルート）、第２変換処理部３６は、ｉ番目の数値に符号「＋」を設定し、検出された数値に符号「−」を設定する（ステップＳ３３）。そして処理はステップＳ３７に移行する。但し、符号の設定は逆であっても良い。
【００３４】
ステップＳ３３又はＳ３５の後に、第２変換処理部３６は、ｉ番目の数値及び検出された数値を処理済みに設定する（ステップＳ３７）。なお、ステップＳ３５を経由する場合には、検出された数値はない。
【００３５】
その後、第２変換処理部３６は、ｉ番目の数値は第１の埋込数値列における最後の数値であるか判断する（ステップＳ３９）。ｉ番目の数値が最後の数値ではない場合には、第２変換処理部３６は、ｉを１インクリメントし（ステップＳ４１）、処理はステップＳ２３に戻る。一方、ｉ番目の数値が第１の埋込数値列の最後の数値であれば、処理は端子Ａを介して図８の処理に移行する。
【００３６】
ここで、図７（ａ）に示した埋込数値列「２４１１２３１２０３２２」の処理について説明する。
【００３７】
先頭の「２」を処理する場合には、５番目の「２」が一致する数値として特定され、先頭の「２」には符号「＋」が設定され、５番目の「２」には符号「−」が設定される（図７（ｂ））。次に、２番目の「４」を処理すると、一致する数値が特定できないので、調整対象として特定される（図７（ｃ））。さらに、３番目の「１」を処理する場合には、４番目の「１」が一致する数値として特定され、３番目の「１」には符号「＋」が設定され、４番目の「１」には符号「−」が設定される（図７（ｄ））。
【００３８】
５番目の「２」は処理済みであり、６番目の「３」の処理に移行すると、１０番目の「３」が一致する数値として特定され、６番目の「３」には符号「＋」が設定され、１０番目の「３」には符号「−」が設定される（図７（ｅ））。７番目の「１」を処理する場合には、一致する数値が特定できないので、調整対象として特定される（図７（ｆ））。
【００３９】
また、８番目の「２」を処理する場合には、１１番目の「２」が一致する数値として特定され、８番目の「２」には符号「＋」が設定され、１１番目の「２」には符号「−」が設定される（図７（ｇ））。また、９番目の「０」については処理をスキップする（図７（ｈ））。１０番目の「３」については処理済みであるから処理をスキップする。１２番目の「２」については一致する数値が存在しないので、調整対象の数値として特定される（図７（ｉ））。このように図７に示した例では、調整対象数値は、点線で囲まれている「４」「１」「２」となる。
【００４０】
このように同じ数値については異なる数値を設定することで符号付きの数値の合計値を０に設定する。但し、調整対象数値が存在する場合には、単純に合計値を０にはできない。そこで以下の処理を実施する。
【００４１】
図８の処理に移行して、第２変換処理部３６は、調整対象数値が存在するか判断する（ステップＳ４３）。調整対象数値が存在しない場合に、処理はステップＳ４７に移行する。調整対象の数値が存在する場合には、第２変換処理部３６は、第５データ格納部３７に格納されているデータを用いて、各調整対象数値に符号を設定し、存在する場合には符号付きの付加数値を特定する（ステップＳ４５）。
【００４２】
例えば図９に示すようなデータが第５データ格納部３７に格納されている。図９の例では、５進数で出現する１から４のうちあり得る組み合わせについて、符号設定と符号付き付加数値との組み合わせを対応付けたものである。図７の例では「１」「２」「４」が調整対象数値として特定されているので、「１」には「＋」、「２」には「＋」、「４」には「−」を設定した上で、符号付き付加数値「＋１」が特定される（図７（ｊ））。従って、最終的には図７（ｋ）のような符号付き数値の数値列が得られるようになる。そして処理はステップＳ４７に移行する。
【００４３】
ステップＳ４７では、第２変換処理部３６は、第２データ格納部３３に格納されている埋込箇所を表すデータに従って、第１データ格納部３２に格納されている表データの埋込箇所を走査して、埋込箇所の最低桁ｄを特定する（ステップＳ４７）。図５の例では、埋込箇所の身長の列では、１０-1の桁が最下位桁であるので、ｄ＝−１と特定する。
【００４４】
そして、第２変換処理部３６は、符号付き数値の各々について、符号付き数値×１０(d-1)を算出することで、最終的な埋込数値列を生成し、第４データ格納部３８に格納する（ステップＳ４９）。なお、ｄ−１については、第２データ格納部３３に格納しておく。
【００４５】
図７の例では、図１０に示すような最終的な埋込数値列が生成される。なお、本実施の形態では埋込数値列を抽出する際に最下位桁の四捨五入を利用するので、ステップＳ４７及びＳ４９を実施している。しかし、例えば１の桁を単に用いる場合には、ステップＳ４７及びＳ４９を実施せずとも良い。また、１０の桁を用いる場合には、１０倍したり、１００の桁を用いる場合には、１００倍したりする。どの桁に埋め込むかは、埋込箇所の数値の桁数等に応じて決定される。このようにどの桁に埋め込むかに応じて符号付き数値の桁ずらし処理を行う。
【００４６】
さらに、埋込数値列の抽出を確実に行うために、例えば「０」「０」を区切り数値として後ろに付加した上で、同じ埋込数値列を連結するような形にしても良い。すなわち、図１１に示すように、２つの「０」を挟んで同じ埋込数値列が連結されている。実際にはさらに「０」「０」及び埋込数値列を連結させても良い。先頭にも「０」「０」を追加する場合もある。
【００４７】
図４の処理の説明に戻って、埋込処理部３９は、第１データ格納部３２に格納されている表データにおいて、第２データ格納部３３に格納されている埋込箇所を示すデータに従って、埋込数値列を加算する（ステップＳ１１）。図５の例の場合、最初の４人の身長は、図１２に示すように変化する。図５では小数点以下第１位までの数値であったが、埋込数値列を加算すると、小数点以下第２位までの数値となる。なお、加算ではなく減算でも良い。
【００４８】
そして、マスク処理部４２は、第７データ格納部４０に格納されているマスクデータを、第６データ格納部４１に格納されている処理後の表データに対して加算する処理を実施し、マスク化された表データを第８データ格納部４３に格納する（ステップＳ１３）。マスクデータは、集計処理には影響を与えないが数値を秘匿化するためのデータであり、表データと同じサイズを有する。例えば、図５の例では、年齢の平均値、身長の平均値、体重の平均値、腹囲の平均値を算出するためには、列方向での集計値を算出することになる。従って、マスクデータには、列毎に、列方向に合計すると０となる数値が含まれる。一方、商品毎の各月の売上高を含む表データのような場合には、各月の合計売上高や、各商品の年間売上高のように、行方向の集計も行われ、列方向の集計も行われる。このような場合には、各行について行方向に合計すると０となり、且つ各列について列方向に合計すると０となる数値がマスクデータに含まれる。このようなマスクデータを予め生成して第７データ格納部４０に格納しておく。なお、マスク処理部４２は、他の個人情報を秘匿化するための処理を実施する場合もある。
【００４９】
そして、通信部４４は、第８データ格納部４３に格納されているマスクされた表データを、第２データ格納部３３に格納されている配布先の識別子に対応する配布先コンピュータ５などに送信する（ステップＳ１５）。
【００５０】
このような処理を実施することで、身長について平均値を算出するような場合でも平均値は変化しないような態様で、配布先の識別子及び日付に対応する数値列を埋め込むことができるようになる。配布先の識別子ではなく、配布元の識別子に対応する数値列を埋め込むことで、例えば後々自らの営業秘密であるという主張を行うことができるようにする場合もある。
【００５１】
上で述べた処理は、表データを配布する毎に実施するが、その都度異なる数値列が埋め込まれている。すなわち、配布先Ａではなく配布先Ｂであれば、第１変換処理部３４で生成される数値列は異なる。
【００５２】
さらに、上で述べた例では第１変換処理部３４で、配布先の識別子及び日付に対応する５進数の数値列を生成する例を示した。しかし、配布先の識別子に対応する数値列を埋め込むのであれば、予め配布先の識別子を所定長の５進数の数値列として設定しておけば、第１変換処理部３４の処理を省略することができる。
【００５３】
また、マスク処理部４２においてマスク処理を行う例を示したが、この処理を行わずに配布するようにしても良い。すなわち、第６データ格納部４１に格納されている表データを、指定された配布先の配布先コンピュータ５等に送信するようにしても良い。
【００５４】
次に、何らかの理由でどこからか漏洩したと推定される表データを取得した場合の処理について、図１３乃至図１７を用いて説明する。
【００５５】
例えば、管理者などのユーザは、入手した検査対象の表データを情報処理装置３に対して入力する。情報処理装置３の入力部３１は、検査対象の表データの入力を受け付け、当該表データを第９データ格納部６１に格納する（ステップＳ５１）。そして、マスク解除部６２は、第７データ格納部４０に格納されているマスクデータを用いて、第９データ格納部６１に格納されている表データに対してマスク解除処理を実施して、第１０データ格納部６３に格納する（ステップＳ５３）。マスクデータを配布前に加算していた場合には、ここでは減算する。配布前に減算していた場合にはここでは加算する。なお、同一の表データについては、使用したマスクデータは同じであるものとする。
【００５６】
そして、抽出処理部６４は、第２データ格納部３３に格納されている埋込箇所を示すデータに従って、第９データ格納部６１に格納されている表データから、埋込箇所の数値ｄj（１≦ｊ≦Ｎ）を抽出する（ステップＳ５５）。同一の表データについては埋込箇所は同じであるものとする。Ｎは、繰り返し埋め込まれている場合もあるので表データの行数をそのまま設定しても良いし、埋込数値列に含まれる数値の数より十分に大きい整数であっても良い。
【００５７】
その後、抽出処理部６４は、カウンタｉを１に初期化する（ステップＳ５７）。そして、抽出処理部６４は、ｔi＝｜ｄi−round（ｄi）｜を算出して、第１１データ格納部６５に格納する（ステップＳ５９）。round(x)はｘの最下位桁を四捨五入した値を出力する関数である。例えば、図１２に示すようなデータが得られた場合、ｄ1＝１７４．８２であり、round(ｄ1)＝１７４．８である。従ってｔ1＝０．０２である。また、ｄ2＝１７４．９６であり、round(ｄ2)＝１７５．０である。従ってｔ2＝０．０４である。このようにして、図１１のような埋込数値列であれば、図１４に示すような数値列が得られる。図１１と比較すると、差の絶対値を算出しているため図１４においては符号は除去されている。
【００５８】
そして、抽出処理部６４は、ｉを１インクリメントして（ステップＳ６１）、ｉがＮを超えたか判断する（ステップＳ６３）。超えていない場合には、処理はステップＳ５９に戻る。一方、超えた場合には、端子Ｂを介して図１５の処理に移行する。
【００５９】
図１５の処理の説明に移行して、第１逆変換処理部６７は、第２データ格納部３３に格納されている桁数（ｄ−１）に従って、各ｔiの桁ずらし処理（ｔi×１０-(d-1)）を実施し、所定の桁数分の数値を抽出し、第１２データ格納部６８に格納する（ステップＳ６５）。上で述べた例では（ｄ−１）＝−２であったので、ｔiを１００倍する。また、付加数値に対応する数値を除外するために、第１変換処理部３４で生成された埋込数値列に含まれる数値の数が「１１」であれば、１１個の数値を抽出する。区切り数値で最終的な埋込数値列が繰り返して埋め込まれている場合には、区切り数値で挟まれた数値列のうち、第１変換処理部３４で生成された埋込数値列に含まれる数値の数分の数値を先頭から抽出する。後ろに付加数値を付けている場合には先頭から抽出するが、先頭に付加数値を付けている場合には２番目の数値から抽出する。図１４の例であれば、図１６に示すような数値列が第１２データ格納部６８に格納される。
【００６０】
そして、第２逆変換処理部６９は、第１変換処理部３４で行われた変換処理の逆変換処理を、第１２データ格納部６８に格納されている数値列に対して実施して、配布先と日付のデータを生成し、出力データ格納部７０に格納する（ステップＳ６７）。第１変換処理部３４と同様に逆変換処理のための関数を用意するようにしても良いし、第５データ格納部３７に変換テーブルを用意しておき、この変換テーブルを用いて数値列から配布先と日付とを読み出すようにしても良い。
【００６１】
そして、出力部７１は、出力データ格納部７０に格納されているデータを、表示装置などの出力装置又は他のコンピュータなどに出力する（ステップＳ６９）。
【００６２】
このようにすれば、第１データ格納部３２に格納されている表データを保持しておかずとも、漏洩していた表データから配布先を特定するデータ等を抽出することができるようになる。
【００６３】
データを埋め込む際に四捨五入（五捨六入などの他の方法でも同じ）を前提とした処理方法を採用している場合には、大元の表データを用いなくても良い。しかし、何らかの処理で大元の表データを復元できない場合には、大元の表データを保持しておき、埋込数値列を抽出することになる。
【００６４】
以下、図１７を用いて、第１データ格納部３２に格納されている大元の表データを用いて埋込数値を抽出する場合の処理フローを説明する。
【００６５】
例えば、管理者などのユーザは、入手した検査対象の表データを情報処理装置３に対して入力する。情報処理装置３の入力部３１は、検査対象の表データの入力を受け付け、当該表データを第９データ格納部６１に格納する（ステップＳ７１）。そして、マスク解除部６２は、第７データ格納部４０に格納されているマスクデータを用いて、第９データ格納部６１に格納されている表データに対してマスク解除処理を実施して、第１０データ格納部６３に格納する（ステップＳ７３）。マスクデータを配布前に加算していた場合には、ここでは減算する。配布前に減算していた場合にはここでは加算する。なお、同一の表データについては、使用したマスクデータは同じであるものとする。
【００６６】
そして、抽出処理部６４は、第２データ格納部３３に格納されている埋込箇所を示すデータに従って、第９データ格納部６１に格納されている表データから、埋込箇所の数値ｄj（１≦ｊ≦Ｎ）を抽出する（ステップＳ７５）。同種の表データについては埋込箇所は同じであるものとする。Ｎは、繰り返し埋め込まれている場合もあるので表データの行数をそのまま設定しても良いし、埋込数値列に含まれる数値の数より十分に大きい整数であっても良い。ここまでは、図１３と同じである。
【００６７】
また、抽出処理部６４は、第２データ格納部３３に格納されている埋込箇所を示すデータに従って、第１データ格納部３２に格納されている表データから、埋込箇所の数値ｅj（１≦ｊ≦Ｎ）を抽出する（ステップＳ７７）。表示データが複数種類存在する場合には、ユーザが種類を指定するか、埋込箇所以外の部分の一致度などで特定する。マスク解除前に種別を特定する場合には、大元のデータにマスク処理したデータを保持しておき、埋込箇所以外の部分の一致度などで特定する。
【００６８】
その後、抽出処理部６４は、カウンタｉを１に初期化する（ステップＳ７９）。そして、抽出処理部６４は、ｔi＝｜ｄi−ｅi｜を算出して、第１１データ格納部６５に格納する（ステップＳ８１）。例えば、図１２に示すようなデータが得られた場合、ｄ1＝１７４．８２であり、ｅ1＝１７４．８である。従ってｔ1＝０．０２である。また、ｄ2＝１７４．９６であり、ｅ2＝１７５．０である。従ってｔ2＝０．０４である。このようにして、図１１のような埋込数値列であれば、図１４に示すような数値列が得られる。図１１と比較すると、差の絶対値を算出しているから図１４においては符号は除去されている。すなわち、図１３の処理フローと同じ結果が得られている。
【００６９】
そして、抽出処理部６４は、ｉを１インクリメントして（ステップＳ８３）、ｉがＮを超えたか判断する（ステップＳ８５）。超えていない場合には、処理はステップＳ８１に戻る。一方、超えた場合には、端子Ｂを介して図１５の処理に移行する。図１５以降の処理内容は同じであるから、説明を省略する。
【００７０】
このような処理を実施すれば、５進数のような数値を用いていない場合であっても対処できる。
【００７１】
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、図２及び図３に示した情報処理装置３の機能ブロック構成及びデータ格納構成は一例であって、必ずしも実際のプログラムモジュール構成やファイル構成などとは異なる場合がある。
【００７２】
さらに、処理フローについても、処理結果が変わらない限り、ステップの順番を入れ替えたり、ステップを並列で実行するようにしても良い。配布先コンピュータ５等からの指示に応じて、配布先コンピュータ５の識別子を配布先の識別情報を用いて図４の処理を実行するようにしても良い。
【００７３】
また、情報処理装置３の機能については、１台のコンピュータで実施しても良いし、複数台のコンピュータで実施するようにしても良い。さらに、スタンドアロン方式で実施するようにしても良いし、クライアントサーバ方式で実施するようにしても良い。
【００７４】
また、マスク処理については埋込数値列を埋め込む処理の後に行う例を示したが、先にマスク処理を実施するようにしても良い。
【００７５】
なお、上で述べた情報処理装置３、並びに配布先コンピュータ５及び７は、コンピュータ装置であって、図１８に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００７６】
以上述べた本実施の形態をまとめると、以下のようになる。
【００７７】
本実施の形態の第１の態様に係る情報処理方法は、（Ａ）２次元以上の表形式のデータであって少なくとも１の第１の数値列を含む第１のデータの配布先を識別するための又は前記第１のデータの出所を識別するための第２のデータに対応し且つデータ格納部に格納されている所定個数の第１の数値を、当該所定個数の第１の数値を特定可能で且つ和がゼロとなる複数の数値を含む第２の数値列に変換する処理を実施し、データ格納部に格納する処理と、（Ｂ）第１のデータにおいて第１の数値列のうち少なくとも一部に対して、第２の数値列を加算又は減算する処理を行い、処理後の第１のデータをデータ格納部に格納する処理とを含む。
【００７８】
このようにすれば集計処理に影響を与えないような形で第２のデータに相当する数値列を埋め込むことができるようになる。
【００７９】
なお、上で述べた第２のデータを、所定の可逆変換処理における変換処理によって所定個数の第１の数値に変換し、データ格納部に格納する処理をさらに含むようにしても良い。例えば、所定個数の第１の数値を直接入力する場合もあれば、第２のデータを入力して当該所定個数の第１の数値を生成するようにしても良い。
【００８０】
さらに、第１のデータ又は処理後の前記第１のデータに対して、当該第１のデータ又は処理後の第１のデータと同一のサイズの表形式の第２のデータであって、少なくとも１の方向における各数値列について当該数値列に含まれる数値の総和が０となっている第２のデータを加算する処理をさらに含むようにしても良い。このように集計処理に影響を与えないようにさらに秘匿化を行う場合もある。
【００８１】
なお、上で述べた第１の数値が、ｎ進数（ｎは２以上１０以下の整数）の数値である場合もある。この場合、上で述べた第２の数値列に変換する処理が、所定個数の第１の数値のうち同じ数値のペアを抽出して、異なる符号を付与し、所定個数の第１の数値のうち同じ数値のペアに含まれない数値については、合計値の絶対値を最小にするように符号を付与して、符号付与後の数値の合計値との和が０となるように補助数値を設定する処理を含むようにしても良い。このようにすれば、比較的に簡易に集計処理に影響を与えないような第２の数値列を生成できるようになる。
【００８２】
また、第２の数値列に含まれる複数の数値は、上記加算又は減算する処理において、第１の数値列に含まれる数値の最下位桁より下の桁に作用する数値であるようにしても良い。このようにすれば、四捨五入などでそれ自身から正しい値を得ることができるようになる。
【００８３】
さらに、上で述べた第２の数値列が、所定の区切り数値を挟んで繰り返し同一の数値列を含むようにしても良い。第１のデータに加えられる変更（一部削除など）への耐性が高くなる。
【００８４】
本実施の形態の第２の態様に係る情報処理方法は、（Ａ）２次元以上の表形式のデータであって少なくとも１の第１の数値列を含む第１のデータを取得し、第１のデータ格納部に格納する処理と、（Ｂ）第１の数値列に対応し且つ基準となる第２の数値列を格納する第２のデータ格納部から第２の数値列を読み出し、当該第２の数値列に含まれる数値の各々について、第１のデータに含まれる第１の数値列において対応する数値との差の絶対値を算出する処理と、（Ｃ）第２の数値列から算出された上記差の絶対値から、所定のルールに従って所定個数の数値を生成する処理とを含む。
【００８５】
このようにすれば、大元の第１のデータの配布先、第１のデータの出所などを特定できるようになる。
【００８６】
また、本実施の形態の第２の態様に係る情報処理方法は、上で述べた所定個数の数値を、所定の可逆変換処理における逆変換処理によって当該所定個数の数値に対応付けられているデータに変換する処理をさらに含むようにしても良い。所定個数の数値で配布先や出所を特定できない場合には、このような処理を実施すれば特定できるようになる。
【００８７】
さらに、本実施の形態の第２の態様に係る情報処理方法は、第１のデータに含まれる第１の数値列に対して所定の処理を実施して第２の数値列を生成し、第２のデータ格納部に格納する処理をさらに含むようにしても良い。このように検査対象のデータから、大元のデータを復元できれば、データ保管の手間を削減できる。
【００８８】
なお、上で述べた所定の処理が、最下位桁の（ｎ−１）捨ｎ入処理（ｎは２以上１０以下の整数）である場合もある。
【００８９】
さらに、上で述べた所定のルールが、上記差の絶対値から所定個数の数値を抽出して所定の桁ずらしを行うというルールを含むようにしても良い。
【００９０】
また、本実施の形態の第２の態様に係る情報処理方法は、表形式の第３のデータから、当該第３のデータと同一のサイズの表形式のデータであって、少なくとも１の方向における各数値列について当該数値列に含まれる数値の総和が０となっている第４のデータを減算することで第１のデータを生成し、第１のデータ格納部に格納する処理をさらに含むようにしても良い。マスクデータが加算されている場合には、マスク解除処理を実施するものである。
【００９１】
なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭなどの光ディスク、光磁気ディスク、半導体メモリ（例えばＲＯＭ）、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。
【００９２】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００９３】
（付記１）
２次元以上の表形式のデータであって少なくとも１の第１の数値列を含む第１のデータの配布先を識別するための又は前記第１のデータの出所を識別するための第２のデータに対応し且つデータ格納部に格納されている所定個数の第１の数値を、当該所定個数の第１の数値を特定可能で且つ和がゼロとなる複数の数値を含む第２の数値列に変換する処理を実施し、前記データ格納部に格納する処理と、
前記第１のデータにおいて前記第１の数値列のうち少なくとも一部に対して、前記第２の数値列を加算又は減算する処理を行い、処理後の前記第１のデータを前記データ格納部に格納する処理と、
を含み、コンピュータにより実行される情報処理方法。
【００９４】
（付記２）
前記第２のデータを、所定の可逆変換処理における変換処理によって前記所定個数の第１の数値に変換し、前記データ格納部に格納する処理
をさらに含む付記１記載の情報処理方法。
【００９５】
（付記３）
前記第１のデータ又は処理後の前記第１のデータに対して、当該第１のデータ又は処理後の前記第１のデータと同一のサイズの表形式の第２のデータであって、少なくとも１の方向における各数値列について当該数値列に含まれる数値の総和が０となっている第２のデータを加算する処理
をさらに含む付記１又は２記載の情報処理方法。
【００９６】
（付記４）
前記第１の数値が、ｎ進数（ｎは２以上１０以下の整数）の数値であり、
前記第２の数値列に変換する処理が、
前記所定個数の第１の数値のうち同じ数値のペアを抽出して、異なる符号を付与し、
前記所定個数の第１の数値のうち前記同じ数値のペアに含まれない数値については、合計値の絶対値を最小にするように符号を付与して、符号付与後の数値の合計値との和が０となるように補助数値を設定する
処理を含む付記１乃至３のいずれか１つ記載の情報処理方法。
【００９７】
（付記５）
前記第２の数値列に含まれる前記複数の数値は、前記加算又は減算する処理において、前記第１の数値列に含まれる数値の最下位桁より下の桁に作用する数値である
付記１乃至４のいずれか１つ記載の情報処理方法。
【００９８】
（付記６）
前記第２の数値列が、所定の区切り数値を挟んで繰り返し同一の数値列を含む
付記１乃至５のいずれか１つ記載の情報処理方法。
【００９９】
（付記７）
２次元以上の表形式のデータであって少なくとも１の第１の数値列を含む第１のデータを取得し、第１のデータ格納部に格納する処理と、
前記第１の数値列に対応し且つ基準となる第２の数値列を格納する第２のデータ格納部から前記第２の数値列を読み出し、当該第２の数値列に含まれる数値の各々について、前記第１のデータに含まれる前記第１の数値列において対応する数値との差の絶対値を算出する処理と、
前記第２の数値列から算出された前記差の絶対値から、所定のルールに従って所定個数の数値を生成する処理と、
を含み、コンピュータにより実行される情報処理方法。
【０１００】
（付記８）
前記所定個数の数値を、所定の可逆変換処理における逆変換処理によって当該所定個数の数値に対応付けられているデータに変換する処理
をさらに含む付記７記載の情報処理方法。
【０１０１】
（付記９）
前記第１のデータに含まれる前記第１の数値列に対して所定の処理を実施して前記第２の数値列を生成し、前記第２のデータ格納部に格納する処理
をさらに含む付記７又は８記載の情報処理方法。
【０１０２】
（付記１０）
前記所定の処理が、最下位桁の（ｎ−１）捨ｎ入処理（ｎは２以上１０以下の整数）である
付記９記載の情報処理方法。
【０１０３】
（付記１１）
前記所定のルールが、前記差の絶対値から所定個数の数値を抽出して所定の桁ずらしを行うというルールを含む
付記７乃至１０のいずれか１つ記載の情報処理方法。
【０１０４】
（付記１２）
表形式の第３のデータから、当該第３のデータと同一のサイズの表形式のデータであって、少なくとも１の方向における各数値列について当該数値列に含まれる数値の総和が０となっている第４のデータを減算することで前記第１のデータを生成し、前記第１のデータ格納部に格納する処理
をさらに含む付記７乃至１１のいずれか１つ記載の情報処理方法。
【０１０５】
（付記１３）
２次元以上の表形式のデータであって少なくとも１の第１の数値列を含む第１のデータの配布先を識別するための又は前記第１のデータの出所を識別するための第２のデータに対応し且つデータ格納部に格納されている所定個数の第１の数値を、当該所定個数の第１の数値を特定可能で且つ和がゼロとなる複数の数値を含む第２の数値列に変換する処理を実施し、前記データ格納部に格納する処理と、
前記第１のデータにおいて前記第１の数値列のうち少なくとも一部に対して、前記第２の数値列を加算又は減算する処理を行い、処理後の前記第１のデータを前記データ格納部に格納する処理と、
を、コンピュータに実行させるためのプログラム。
【０１０６】
（付記１４）
２次元以上の表形式のデータであって少なくとも１の第１の数値列を含む第１のデータを取得し、第１のデータ格納部に格納する処理と、
前記第１の数値列に対応し且つ基準となる第２の数値列を格納する第２のデータ格納部から前記第２の数値列を読み出し、当該第２の数値列に含まれる数値の各々について、前記第１のデータに含まれる前記第１の数値列において対応する数値との差の絶対値を算出する処理と、
前記第２の数値列から算出された前記差の絶対値から、所定のルールに従って所定個数の数値を生成する処理と、
を、コンピュータに実行させるためのプログラム。
【０１０７】
（付記１５）
２次元以上の表形式のデータであって少なくとも１の第１の数値列を含む第１のデータの配布先を識別するための又は前記第１のデータの出所を識別するための第２のデータに対応し且つデータ格納部に格納されている所定個数の第１の数値を、当該所定個数の第１の数値を特定可能で且つ和がゼロとなる複数の数値を含む第２の数値列に変換する処理を実施し、前記データ格納部に格納する第１の処理部と、
前記第１のデータにおいて前記第１の数値列のうち少なくとも一部に対して、前記第２の数値列を加算又は減算する処理を行い、処理後の前記第１のデータを前記データ格納部に格納する第２の処理部と、
を有する情報処理装置。
【０１０８】
（付記１６）
２次元以上の表形式のデータであって少なくとも１の第１の数値列を含む第１のデータを取得し、第１のデータ格納部に格納する取得部と、
前記第１の数値列に対応し且つ基準となる第２の数値列を格納する第２のデータ格納部から前記第２の数値列を読み出し、当該第２の数値列に含まれる数値の各々について、前記第１のデータに含まれる前記第１の数値列において対応する数値との差の絶対値を算出する第１の処理部と、
前記第２の数値列から算出された前記差の絶対値から、所定のルールに従って所定個数の数値を生成する第２の処理部と、
を有する情報処理装置。
【符号の説明】
【０１０９】
１  ネットワーク
３  情報処理装置
５，７  配布先コンピュータ
３１  入力部
３２  第１データ格納部
３３  第２データ格納部
３４  第１変換処理部
３５  第３データ格納部
３６  第２変換処理部
３７  第５データ格納部
３８  第４データ格納部
３９  埋込処理部
４０  第７データ格納部
４１  第６データ格納部
４２  マスク処理部
４３  第８データ格納部
４４  通信部
６１  第９データ格納部
６２  マスク解除部
６３  第１０データ格納部
６４  抽出処理部
６５  第１１データ格納部
６７  第１逆変換処理部
６８  第１２データ格納部
６９  第２逆変換処理部
７０  出力データ格納部
７１  出力部
【図１】
0005891867.tif 000002
【図２】
0005891867.tif 000003
【図３】
0005891867.tif 000004
【図４】
0005891867.tif 000005
【図５】
0005891867.tif 000006
【図６】
0005891867.tif 000007
【図７】
0005891867.tif 000008
【図８】
0005891867.tif 000009
【図９】
0005891867.tif 000010
【図１０】
0005891867.tif 000011
【図１１】
0005891867.tif 000012
【図１２】
0005891867.tif 000013
【図１３】
0005891867.tif 000014
【図１４】
0005891867.tif 000015
【図１５】
0005891867.tif 000016
【図１６】
0005891867.tif 000017
【図１７】
0005891867.tif 000018
【図１８】
0005891867.tif 000019