(57)【要約】      （修正有）【課題】暗号鍵をサーバと端末との間で取り交わしすることなく、端末で暗号化したデータをサーバで復号することができる技術を提供する。【解決手段】復号サーバ２０は入力値と生成値との間で対称性のある多項式に複数の初期値を適用させてなる一方向性関数に異なる入力値を与えて生成した値と、入力値、初期値、及び多項式とを関連づけて記憶するデータベースを備える。デジタル放送受信機１０は前記多項式に任意の初期値を適用させてなる一方向性関数に異なる入力値を与えて生成値を生成し、この一方向性関数に、入力値の桁数に合わせて分割したデータを与えて暗号化データを生成し、復号サーバ２０に送信する。復号サーバ２０は、受信した複数の生成値と入力値とに関連付けられる多項式と初期値とのそれぞれが重複している多項式と初期値とを検索し、検索した多項式及び初期値と、前記生成値をデータベースから読み出して暗号化データを復号する。【選択図】図１
2014098773.tif 000002
【特許請求の範囲】
【請求項１】
暗号システムであって、
入力値と生成値との間で対称性のある多項式のそれぞれに複数の初期値を適用させてなる各一方向性関数に異なる入力値を与えて生成した生成値と、この生成値の生成に使用した入力値、初期値、及び多項式とが互いに関連づけられて記憶されているデータベースと、
前記多項式中の任意の多項式に任意の初期値を適用させてなる一方向性関数に異なる入力値を与えてそれぞれの入力値から生成値を生成し、この生成値の生成に使用した一方向性関数に、前記入力値の桁数に合わせて分割したデータを入力値として与えて暗号化データを生成する生成手段と、
送信されてきた複数組の生成値と入力値とに基づいて、前記データベースにおいて前記送信されてきた複数の生成値と入力値とに関連付けられている多項式と初期値とのそれぞれが重複している多項式と初期値とを検索する検索手段と、
前記検索手段が検索した多項式及び初期値と、前記生成手段で生成された暗号化データとに関連付けられている生成値を前記データベースから読み出すことにより暗号化データを復号する復号手段と
を有することを特徴とする暗号システム。
【請求項２】
前記生成手段は、前記入力値の桁数に応じて設定される所定の時間で変更された多項式の中から任意の多項式を選択し、
前記検索手段は、前記検索した多項式が、前記所定の時間で変更された多項式のいずれかであるかを確認することを特徴とする請求項１に記載の暗号システム。
【請求項３】
前記生成手段は、放送波を介して送信される多項式の中から任意の多項式を選択することを特徴とする請求項１または請求項２に記載の暗号システム。
【請求項４】
前記生成手段は、通信回線を介して送信される多項式の中から任意の多項式を選択することを特徴とする請求項１または請求項２に記載の暗号システム。
【請求項５】
暗号化されたデータを復号する復号サーバであって、
入力値と生成値との間で対称性のある多項式のそれぞれに複数の初期値を適用させてなる各一方向性関数に異なる入力値を与えて生成した生成値と、この生成値の生成に使用した入力値、初期値、及び多項式とが互いに関連づけられて記憶されているデータベースと、
送信されてくる、前記多項式中の任意の多項式に任意の初期値を適用させてなる一方向性関数に異なる入力値を与えてそれぞれの入力値から生成した生成値と、この生成値の生成にあたって与えた入力値とに基づいて、前記データベースにおいて前記送信されてきた複数の生成値と入力値とに関連付けられている多項式と初期値とのそれぞれが重複している多項式と初期値とを検索する検索手段と、
前記送信されてくる生成値の生成に使用した一方向性関数に、前記入力値の桁数に合わせて分割したデータを入力値として与えて生成された暗号化データと、前記検索手段が検索した多項式及び初期値とに関連付けられている生成値を前記データベースから読み出すことにより前記暗号化データを復号する復号手段と
を有することを特徴とする復号サーバ。
【請求項６】
暗号方法であって、
入力値と生成値との間で対称性のある多項式中の任意の多項式に任意の初期値を適用させてなる一方向性関数に異なる入力値を与えてそれぞれの入力値から生成値を生成する生成値生成ステップと、
前記入力値の桁数に合わせてデータを分割する分割ステップと、
前記生成値生成ステップで生成値の生成に使用した一方向性関数に、前記分割ステップで分割したデータを入力値として与えて暗号化データを生成する暗号化データ生成ステップと、
送信されてきた複数組の生成値と入力値とに基づいて、入力値と生成値との間で対称性のある前記多項式のそれぞれに複数の初期値を適用させてなる各一方向性関数に異なる入力値を与えて生成した生成値と、この生成値の生成に使用した入力値、初期値、及び多項式とが互いに関連づけられて記憶されているデータベースにおいて前記送信されてきた複数の生成値と入力値とに関連付けられている多項式と初期値とのそれぞれが重複している多項式と初期値とを検索する検索ステップと、
前記検索ステップで検索された多項式と初期値と、前記生成値生成ステップで生成された暗号化データとに関連付けられている生成値を前記データベースから読み出すことにより暗号化データを復号する復号ステップと
を有することを特徴とする暗号方法。
【請求項７】
暗号化されたデータを復号する復号サーバの復号プログラムであって、前記復号プログラムは、前記復号サーバを、
入力値と生成値との間で対称性のある多項式中の任意の多項式に任意の初期値を適用させてなる一方向性関数に異なる入力値を与えてそれぞれの入力値から生成した生成値と、この生成値の生成にあたって与えた入力値とを受信し、この受信した生成値と入力値とに基づいて、入力値と生成値との間で対称性のある前記多項式のそれぞれに複数の初期値を適用させてなる各一方向性関数に異なる入力値を与えて生成した生成値と、この生成値の生成に使用した入力値、初期値、及び多項式が互いに関連づけられて記憶されているデータベースにおいて前記送信されてきた複数の生成値と入力値とに関連付けられている多項式と初期値とのそれぞれが重複している多項式と初期値とを検索する検索手段と、
前記送信されてくる生成値の生成に使用した一方向性関数に、前記入力値の桁数に合わせて分割したデータを入力値として与えて生成された暗号化データと、前記検索手段が検索した多項式及び初期値とに関連付けられている生成値を前記データベースから読み出すことにより暗号化データを復号する復号手段と
して機能させることを特徴とする復号プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、暗号システム、復号サーバ、暗号方法、及び復号プログラムに関する。
【背景技術】
【０００２】
近年、インターネット等の通信網の発達に伴い、通信回線を介して個人情報をやり取りする機会が増えている。そのような状況の中で、通信回線上でのデータの傍受による個人情報の漏洩及びデータの改ざんが問題となっている。この問題を解決するために、様々な暗号処理のアルゴリズムが提案されている。その中で代表的な技術として、サーバと端末とが送受信する個人情報をハッシュ関数で暗号化する技術があげられる（例えば特許文献１）。
【０００３】
特許文献１は、端末とサーバとの間でハッシュ関数と初期値とを共有し、これらを用いて計算した生成値を用いることにより、個人情報となる端末の位置の秘匿性を維持している。更に、端末が移動した場合には、端末の移動先のサーバが、ハッシュ関数と初期値とを共有しているサーバからハッシュ回数を受け取り、端末と端末の移動先のサーバがこのハッシュ回数分、ハッシュの計算を行うことによって、端末とサーバとで同一の生成値を算出してそれを用いることにより端末の秘匿性を維持している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2009-094940号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記文献１に記載の技術ではサーバと端末との間で固定の認証キー（暗号鍵）を設定して予めサーバと端末との間で取り交わしが行われている。そのため、認証キー自体が漏洩してしまうと、暗号化の意味自体が成さないものとなってしまう。
【０００６】
そこで、本願発明は、暗号鍵をサーバと端末との間で取り交わしすることなく、暗号化したデータを復号することができる技術を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するための本願発明は、暗号システムであって、入力値と生成値との間で対称性のある多項式のそれぞれに複数の初期値を適用させてなる各一方向性関数に異なる入力値を与えて生成した生成値と、この生成値の生成に使用した入力値、初期値、及び多項式とが互いに関連づけられて記憶されているデータベースと、前記多項式中の任意の多項式に任意の初期値を適用させてなる一方向性関数に異なる入力値を与えてそれぞれの入力値から生成値を生成し、この生成値の生成に使用した一方向性関数に、前記入力値の桁数に合わせて分割したデータを入力値として与えて暗号化データを生成する生成手段と、送信されてきた複数組の生成値と入力値とに基づいて、前記データベースにおいて前記送信されてきた複数の生成値と入力値とに関連付けられている多項式と初期値とのそれぞれが重複している多項式と初期値とを検索する検索手段と、前記検索手段が検索した多項式及び初期値と、前記生成手段で生成された暗号化データとに関連付けられている生成値を前記データベースから読み出すことにより暗号化データを復号する復号手段とを有することを特徴とする。
【０００８】
上記課題を解決するための本願発明は、暗号化されたデータを復号する復号サーバであって、入力値と生成値との間で対称性のある多項式のそれぞれに複数の初期値を適用させてなる各一方向性関数に異なる入力値を与えて生成した生成値と、この生成値の生成に使用した入力値、初期値、及び多項式とが互いに関連づけられて記憶されているデータベースと、送信されてくる、前記多項式中の任意の多項式に任意の初期値を適用させてなる一方向性関数に異なる入力値を与えてそれぞれの入力値から生成した生成値と、この生成値の生成にあたって与えた入力値とに基づいて、前記データベースにおいて前記送信されてきた複数の生成値と入力値とに関連付けられている多項式と初期値とのそれぞれが重複している多項式と初期値とを検索する検索手段と、前記送信されてくる生成値の生成に使用した一方向性関数に、前記入力値の桁数に合わせて分割したデータを入力値として与えて生成された暗号化データと、前記検索手段が検索した多項式及び初期値とに関連付けられている生成値を前記データベースから読み出すことにより前記暗号化データを復号する復号手段とを有することを特徴とする。
【０００９】
上記課題を解決するための本願発明は、暗号方法であって、入力値と生成値との間で対称性のある多項式中の任意の多項式に任意の初期値を適用させてなる一方向性関数に異なる入力値を与えてそれぞれの入力値から生成値を生成する生成値生成ステップと、前記入力値の桁数に合わせてデータを分割する分割ステップと、前記生成値生成ステップで生成値の生成に使用した一方向性関数に、前記分割ステップで分割したデータを入力値として与えて暗号化データを生成する暗号化データ生成ステップと、送信されてきた複数組の生成値と入力値とに基づいて、入力値と生成値との間で対称性のある前記多項式のそれぞれに複数の初期値を適用させてなる各一方向性関数に異なる入力値を与えて生成した生成値と、この生成値の生成に使用した入力値、初期値、及び多項式とが互いに関連づけられて記憶されているデータベースにおいて前記送信されてきた複数の生成値と入力値とに関連付けられている多項式と初期値とのそれぞれが重複している多項式と初期値とを検索する検索ステップと、前記検索ステップで検索された多項式と初期値と、前記生成値生成ステップで生成された暗号化データとに関連付けられている生成値を前記データベースから読み出すことにより暗号化データを復号する復号ステップとを有することを特徴とする。
【００１０】
上記課題を解決するための本願発明は、暗号化されたデータを復号する復号サーバのプログラムであって、前記プログラムは、前記復号サーバを、入力値と生成値との間で対称性のある多項式中の任意の多項式に任意の初期値を適用させてなる一方向性関数に異なる入力値を与えてそれぞれの入力値から生成した生成値と、この生成値の生成にあたって与えた入力値とを受信し、この受信した生成値と入力値とに基づいて、入力値と生成値との間で対称性のある前記多項式のそれぞれに複数の初期値を適用させてなる各一方向性関数に異なる入力値を与えて生成した生成値と、この生成値の生成に使用した入力値、初期値、及び多項式が互いに関連づけられて記憶されているデータベースにおいて前記送信されてきた複数の生成値と入力値とに関連付けられている多項式と初期値とのそれぞれが重複している多項式と初期値とを検索する検索手段と、前記送信されてくる生成値の生成に使用した一方向性関数に、前記入力値の桁数に合わせて分割したデータを入力値として与えて生成された暗号化データと、前記検索手段が検索した多項式及び初期値とに関連付けられている生成値を前記データベースから読み出すことにより暗号化データを復号する復号手段として機能させることを特徴とする。
【発明の効果】
【００１１】
本願発明によると、暗号鍵をサーバと端末との間で取り交わしすることなく、暗号化したデータを復号することができる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施の形態の概要図である。
【図２】第１の実施の形態におけるデジタル放送受信機のブロック図である。
【図３】第１の実施の形態における復号サーバのブロック図である。
【図４】データベースの一例である。
【図５】第１の実施の形態における動作を説明するためのフロー図である。
【図６】第２の実施の形態における動作を説明するためのフロー図である。
【図７】第３の実施の形態の概要図である。
【図８】第３の実施の形態におけるデジタル放送受信機のブロック図である。
【図９】１セル×９セルの素材画像パターンの例を示したものである。
【図１０】４型の二次元コード画像（３３セル×３３セル）の例を示した図である。
【図１１】第４の実施の形態の概要図である。
【図１２】第４の実施の形態における端末のブロック図である。
【発明を実施するための形態】
【００１３】
本発明は、多項式（Ｐ）と初期値（Ｉ）とによって一意的に規定される不可逆な一方向性関数Ｈに、入力値（ＩＮＰＵＴ）を与えて生成値（ＯＵＴＰＵＴ）を算出することにより暗号化するシステムである。本発明では、入力値と生成値との間で対称性がある多項式と初期値とを使用することによって、衝突を回避している。尚、以下の説明では、一方向性関数としてハッシュ関数を用いて説明するが、衝突を回避できる一方向性関数であればハッシュ関数以外でも良い。
【００１４】
＜第１の実施の形態＞
本発明の特徴を説明するために、以下において、図面を参照して具体的に述べる。
【００１５】
（構成）
本願発明の通信システムは、図１に示す通り、デジタル放送受信機１０と、このデジタル放送受信機１０が暗号化したデータを復号する復号サーバ２０と、放送局３０とを有し、デジタル放送受信機１０と復号サーバ２０とは、インターネットを介して接続されている。
【００１６】
（デジタル放送受信機）
デジタル放送受信機１０は、図２に示す通り、放送側送受信部１０１、メモリ１０２、生成部１０３、乱数発生部１０４、ネットワーク側送受信部１０５、及びデータ部１０６を有する。
【００１７】
放送側送受信部１０１は、放送局３０から放送波を介してデータ放送で送出された命令記述を受信して自装置で実行する。その命令記述には、ハッシュ関数の命令文が記述されている。またその命令記述には入力値の進数と桁数とが宣言されており、デジタル放送受信機で用いられる入力値の進数と桁数とは、予め決められているものとする。更に放送側送受信部１０１は、ハッシュ関数に用いることができる多項式を、放送波を介して複数受信して、メモリ１０２に記憶する。
【００１８】
生成部１０３は、メモリ１０２に記憶されている複数の多項式から無作為に１個選択する。また、初期値を乱数発生部１０４から無作為に発生させ１個選択する。次に、生成部１０３は、２個の異なる入力値を乱数発生部１０４から無作為に発生させ、これらを多項式と初期値とからなるハッシュ関数に与えて生成値をそれぞれ生成する。
【００１９】
最後に、生成部１０３は、データ部１０６のデータを入力値の桁数に合わせて分割して、選択された多項式と初期値とからなるハッシュ関数に分割したデータを入力値として与えて、生成値である暗号化データの集合体である暗号化データ群を作成する。尚、データ部１０６のデータの桁数が入力値の桁数と同一である場合、データを分割する必要は無い。
【００２０】
ネットワーク側送受信部１０５は復号サーバ２０に対して、２組の入力値及び生成値と、暗号化データ群とを送信する。尚、本実施の形態では、２組の入力値を与える場合を用いて説明するが、この組数に限定する必要は無く、２組以上であれば良い。
【００２１】
（復号サーバ）
復号サーバ２０は、放送局側で用意されたサーバである。復号サーバ２０には、送受信部２０１と、データベース２０２と、検索部２０３と、復号部２０４とを有する。
【００２２】
送受信部２０１は、デジタル放送受信機１０から２組の入力値及び生成値と暗号化データ群とを受信する。
【００２３】
データベース２０２には、図４に示す通り、入力値と生成値との間で対称性のある多項式のそれぞれに複数の初期値を適用させてなる各一方向性関数に異なる入力値を与えて生成した生成値と、この生成値の生成に使用した入力値、初期値、及び多項式とが互いに関連付けられて記憶されている。入力値は、デジタル放送受信機との間で予め使用する進数と桁数とを取り決めてある値である。生成値は、互いに関連付けられている入力値と初期値と多項式とを使用して予めハッシュ関数で算出した値である。
【００２４】
検索部２０３は、受信した２組の入力値及び生成値に基づいて、データベースにおいてこの受信した２組の入力値及び生成値に関連付けられている多項式と初期値とのそれぞれが重複している多項式と初期値とを検索する。また、検索部２０３は、デジタル放送受信機１０で選択した多項式が所定の時間で変更された多項式のいずれかであるかを確認する。
【００２５】
復号部２０４は、検索部２０３が検索した多項式と初期値とを使用して、受信した暗号データを入力値であるデータに復号する。暗号化データの復号は、暗号化データと検索した多項式及び初期値とに関連付けられている入力値をデータベース２０２から読み出すことによって行われる。
【００２６】
尚、上記データベースは、全多項式毎に予め入力値と初期値と生成値とを互いに関連付けた巨大なデータベースを用意してもよいが、現実的ではない。そこで、デジタル放送受信機の生成部１０３が選択できる多項式を予め決めておき、所定の時間ごとにこの選択できる多項式を変更し、これに伴い検索部２０３が検索するデータベースの範囲を制限するのが望ましい。この時デジタル放送受信機の生成部１０３が選択できる多項式は後述する放送局３０からデジタル放送受信機１０に放送波を介してデータ放送で送出され、復号サーバ２０は放送局３０がデジタル放送受信機に放送波を介してデータ放送で送信する多項式を予め知っており、検索部２０３は、検索した多項式が所定の時間で選択することができる多項式のいずれかに該当しているかを確認する構成となる。
【００２７】
（放送局）
放送局３０は、上述した通り、デジタル放送受信機１０にハッシュ関数の命令文と入力値の進数と桁数とが宣言された命令記述を、放送波を介してデータ放送で送出する。更にハッシュ関数に用いることができる複数の多項式を、放送波を介してデータ放送で送出する。放送局３０は、デジタル放送受信機１０との間で、使用できる多項式を所定の時間ごとに変更する。この所定時間は、入力値と初期値との桁数に応じて設定するのが望ましい。これは、総当たりで計算すると、使用している多項式と初期値とが探し出される可能性があるためである。
【００２８】
（動作）
次に、本実施の形態の動作について説明する。尚、以下の説明では、既に、放送局３０からデジタル放送受信機１０に対して使用できる多項式が複数個送信され、メモリ１０２に記憶されているものとする。さらに、同様に使用する初期値が乱数発生部１０４で発生されメモリ１０２に記憶されているものとする。尚、下記の説明では、入力値を１６進２桁、初期値を１６進４桁、多項式を１６進４桁の場合を用いて説明するが、進数及び桁数をこれらに限定する必要はないものとする。
【００２９】
生成部１０３は、ハッシュ関数で使用する多項式と初期値とをメモリ１０２からそれぞれ１個選択する（ステップ５０１）。尚、ここでは、多項式『０ｘ１００１』と初期値『０ｘ９５ＦＡ』とが選択されたものとする。
【００３０】
生成部１０３は、乱数発生部１０４が発生させる異なる入力値を無作為に２個取り出す（ステップ５０２）。尚、ここでは、『０ｘ９６』と『０ｘＦＣ』とが取り出されたとする。
【００３１】
この入力値『０ｘ９６』と『０ｘＦＣ』とを、選択した多項式『０ｘ１００１』と初期値『０ｘ９５ＦＡ』とからなるハッシュ関数に与えてそれぞれの生成値を作成する（ステップ５０３）。ここで生成される生成値は、入力値『０ｘ９６』に対して生成値『０ｘ６０９６』、入力値『０ｘＦＣ』に対して生成値『０ｘＣＤ１３』が生成されたものとする。
【００３２】
さらに生成部１０３で、データ部１０６のデータを１６進２桁ずつに分割して、選択した多項式と初期値とからなるハッシュ関数にそれぞれ与えて１６進４桁の生成値の集合体である複数の暗号化データを作成する（ステップ５０４）。ここで、暗号化データ群を『０ｘ７１９７，０ｘＤＣ１２，・・・』とする。尚、本説明での『，』は、データ群の区切りを示すものであり、暗号化されたデータ、復号化されたデータの一部ではない。
【００３３】
デジタル放送受信機１０のネットワーク側送受信部１０５は、２組の入力値及び生成値と暗号化データ群を、復号サーバ２０に送信する（ステップ５０５）。ここで２組の入力値及び生成値は『０ｘ９６，０ｘ６０９６』、『０ｘＦＣ，０ｘＣＤ１３』となり、暗号化データ群は『０ｘ７１９７，０ｘＤＣ１２，・・・』となる。
【００３４】
復号サーバ２０の送受信部２０１は、デジタル放送受信機１０から２組の入力値及び生成値と、暗号データ群を受信する（ステップ５０６）。ここで受信される２組の入力値及び生成値は『０ｘ９６，０ｘ６０９６』、『０ｘＦＣ，０ｘＣＤ１３』となり、暗号化データ群は『０ｘ７１９７，０ｘＤＣ１２，・・・』となる。
【００３５】
検索部２０３は、受信した２組の入力値及び生成値を用いて、データベースにおいてこの受信した２組の入力値及び生成値に関連付けられている多項式と初期値とのそれぞれが重複している多項式と初期値とを検索する（ステップ５０７）。ここでは、『０ｘ９６，０ｘ６０９６』、『０ｘＦＣ，０ｘＣＤ１３』のそれぞれに関連付けられている初期値が同一であるレコードを有する多項式を検索する。図４において、『０ｘ９６』と『０ｘ６０９６』とが関連付けられているレコードと、『０ｘＦＣ』と『０ｘＣＤ１３』とが関連付けられているレコードとに下線が引いてある。図４において、多項式『０ｘ１００１』の初期値『９５ＦＡ』が重複している。これにより、デジタル放送受信機１０が使用した多項式と初期値である暗号鍵を復号サーバ２０において知ることができる。
【００３６】
復号部２０４は、検索部２０３が検索した多項式と初期値とを使用して、デジタル放送受信機１０が送信した暗号化データ群、つまり、デジタル放送受信機１０の生成部１０３で算出された『０ｘ７１９７，０ｘＤＣ１２，・・・』を復号する（ステップ５０８）。図４において、多項式『０ｘ１００１』と初期値『９５ＦＡ』と、生成値『０ｘ７１９７，０ｘＤＣ１２・・・』のそれぞれに関連付けられている入力値は『９７，ＦＢ・・・』であるため、『９７，ＦＢ・・・』を暗号化される前のデータであると認識する。
【００３７】
上述した本発明によると、暗号鍵をサーバと端末との間で取り交わしすることなく、暗号化したデータを復号することができる。
【００３８】
尚、第１の実施の形態では、デジタル放送受信機を用いて説明したが、デジタル放送受信機に限定するものではない。放送波を介して自装置で実行する一方向性関数の命令記述と多項式とを受信し、通信回線を介して入力値及び生成値と暗号化データ群とを送信できる端末なら何でも構わない。
【００３９】
＜第２の実施の形態＞
上記第１の実施の形態では、デジタル放送受信機１０が２組の入力値及び生成値と暗号化データ群とを同時に復号サーバ２０に送信する動作について説明した。しかしながら、２組の入力値及び生成値を先に送付して多項式と初期値とからなる暗号鍵を認証した後に、複数の生成値を暗号化データ群として送付する動作であっても良い。本実施の形態では、２組の入力値及び生成値を先に送付して認証された後に暗号データ群を送付する動作について説明する。尚、下記説明では、第１の実施の形態と動作が異なるため、動作の説明のみをし、詳細な構成の説明は省略する。
【００４０】
（動作）
本実施の形態の動作について説明する。尚、以下の説明では、既に、放送局３０からデジタル放送受信機１０に対して使用できる多項式が放送波を介してデータ放送で複数個送信され、メモリ１０２に記憶されているものとする。さらに、同様に使用する初期値が乱数発生部１０４で発生されメモリ１０２に記憶されているものとする。尚、下記の説明では、第１の実施の形態の動作の説明と同様に、入力値を１６進２桁、初期値を１６進４桁、多項式を１６進４桁の場合を用いて説明するが、進数及び桁数をこれらに限定する必要はないものとする。
【００４１】
デジタル放送受信機１０の生成部１０３は、ハッシュ関数で使用する多項式と初期値とをメモリ１０２からそれぞれ１個選択する（ステップ６０１）。尚、ここでは、多項式『０ｘ１００１』と初期値『０ｘ９５ＦＡ』とが選択されたものとする。
【００４２】
生成部１０３は、乱数発生部１０４が発生させる異なる入力値を無作為に２個取り出す（ステップ６０２）。尚、ここでは、『０ｘ９６』と『０ｘＦＣ』とが取り出されたとする。
【００４３】
この入力値『０ｘ９６』と『０ｘＦＣ』とを、選択した多項式『０ｘ１００１』と初期値『０ｘ９５ＦＡ』とからなるハッシュ関数に与えてそれぞれの生成値を作成する（ステップ６０３）。ここで生成される生成値は、入力値『０ｘ９６』に対して生成値『０ｘ６０９６』、入力値『０ｘＦＣ』に対して生成値『０ｘＣＤ１３』が生成されたものとする。
【００４４】
ネットワーク側送受信部１０５は、２組の入力値及び生成値を復号サーバ２０に送信する（ステップ６０４）。ここで送信する２組の入力値及び生成値は『０ｘ９６，０ｘ６０９６』と『０ｘＦＣ，０ｘＣＤ１３』となる。
【００４５】
復号サーバ２０の送受信部２０１は、デジタル放送受信機１０から２組の入力値及び生成値を受信する（ステップ６０５）。ここで受信する２組の入力値及び生成値は『０ｘ９６，０ｘ６０９６』と『０ｘＦＣ，０ｘＣＤ１３』となる。
【００４６】
検索部２０３は、受信した２組の入力値及び生成値を用いて、データベースにおいてこの受信した２組の入力値及び生成値に関連付けられている多項式と初期値とのそれぞれが重複している多項式と初期値とを検索する（ステップ６０６）。ここでは、『０ｘ９６，０ｘ６０９６』、『０ｘＦＣ，０ｘＣＤ１３』のそれぞれに関連付けられている初期値が同一であるレコードを有する多項式を検索する。図４において、『０ｘ９６』と『０ｘ６０９６』とが関連付けられているレコードと、『０ｘＦＣ』と『０ｘＣＤ１３』とが関連付けられているレコードとに下線が引いてある。図４において、多項式『０ｘ１００１』の初期値『９５ＦＡ』が重複している。これにより、デジタル放送受信機１０が使用した多項式と初期値とからなる暗号鍵を復号サーバ２０において知ることができる。
【００４７】
検索部２０３は、検索した多項式と初期値とを、一回限り有効なＩＤに関連付けて一時メモリ（図示せず）にて管理する（ステップ６０７）。
【００４８】
送受信部２０１は、このＩＤをデジタル放送受信機に送信する（ステップ６０８）。ＩＤの送信中に情報が傍受されても、漏えいするのはＩＤだけであり、多項式と初期値とからなる暗号鍵が特定されることはないため問題はない。
【００４９】
デジタル放送受信器１０のネットワーク側の送受信部１０５は、復号サーバ２０からＩＤを受け取り、ＩＤとＣＨＫＤＩＧＩＴとデータを１６進２桁ずつに分割してハッシュ関数に与えて生成した暗号化データ群とを、復号サーバに送信する（ステップ６０９）。ここで、暗号化データ群を『０ｘ７１９７，０ｘＣＤ１３，・・・』とする。また、ＣＨＫＤＩＧＩＴとは、ＩＤの不正利用をチェックするために、無作為に選択した入力値と、その入力値をハッシュ関数に与えて算出した生成値との１組のことである。ここで送信する情報が傍受されても、知られるのはＩＤとＣＨＫＤＩＧＩＴと暗号化データ群とだけで、それらを導くのに用いられた多項式と初期値とが特定されることはない。
【００５０】
復号サーバ２０の送受信部２０１は、ＩＤとＣＨＫＤＩＧＩＴと暗号化データ群『０ｘ７１９７，０ｘＣＤ１３，・・・』とを受信し、検索部２０３が一時メモリに管理されているＩＤに関連付けられている多項式と初期値とを特定する（ステップ６１０）。
【００５１】
次に、検索部２０３は、受信データに含まれるＣＨＫＤＩＧＩＴから生成値を読み取り、多項式と初期値とＣＨＫＤＩＧＩＴの生成値とで特定される入力値をデータベース２０２から読み出してＣＨＫＤＩＧＩＴの入力値と一致すれば、受信データはなりすましでない本物のデジタル放送受信機から送信されたと判断し、特定した多項式と初期値とを使用して受信データに含まれる暗号化されたデータを復号する（ステップ６１１）。ここで、一時メモリに管理されていないＩＤを受信すると、検索部２０３は、なりすまし送信されたと判断する。また、ＩＤに関連付けられている多項式と初期値とＣＨＫＤＩＧＩＴの生成値とでデータベース２０２から特定される入力値と、ＣＨＫＤＩＧＩＴの入力値とが一致しない場合、またはＩＤに関連付けられた多項式と初期値とから暗号化データ群に関連付けられている入力値がデータベース２０２からそれぞれ特定できない場合もなりすまし送信されたと判断する。
【００５２】
復号サーバの検索部２０３は、復号が完了すると、ＩＤの不正利用を防止するためにこのＩＤを無効扱いにする。
【００５３】
本実施の形態によると、暗号鍵をサーバと端末との間で取り交わしすることなく、暗号化したデータを復号することができる。
【００５４】
＜第３の実施の形態＞
上記第１及び第２の実施の形態では、２組の入力値及び生成値と暗号化データ群とをデジタル放送受信機１０からインターネットを介して復号サーバ２０に送信していたが、デジタル放送受信機１０がインターネットに接続されていない場合も考えられる。そこで、本実施の形態では、携帯端末を用いて、暗号化されたデータを復号サーバ２０に送信する構成について説明する。尚、上記実施の形態と同様の構成については同一番号を付して説明し、詳細な説明は省略する。
【００５５】
本実施の形態では、図７に示す通り、さらにインターネットに接続している携帯端末４０を有する。携帯端末４０には、ＱＲコード（登録商標）等の二次元バーコードを読み取る機能が具備されているものとする。
【００５６】
デジタル放送受信機１０は、図８に示す通り、さらに二次元コード画像生成部１０７を有する。
【００５７】
放送局３０は、二次元コード画像データの生成をデジタル放送受信機２０に命令実行させる命令記述を、放送波を介してデータ放送で送出する。デジタル放送受信機２０の二次元コード画像生成部１０７は、受信した命令記述に基づいて、２組の入力値及び生成値と暗号化データ群とを二次元コードデータに変換し、二次元コードデータに対応する二次元コード画像を、素材画像パターンを組み合わせることによって生成する。そして、デジタル放送受信機２０は、生成した二次元コード画像を画面に表示する。
【００５８】
ここで、二次元コード画像を生成する素材画像パターンとして、合計数がｎ（ｎ＝６，７，８，９）個のセルをひとつの素材とし、２のｎ乗個の白黒２値のすべての二次元配列パターンを表す素材画像パターンを用いる。尚、セルとは、二次元コード画像を構成する白または黒の正方形画像である。
【００５９】
素材の例としては、例えば、１セル×６セル、１セル×７セル、１セル×８セル、１セル×９セルの横長の素材、２セル×３セル、３セル×３セルの素材がある。そして、１セル×６セルの素材の場合には２６＝６４個の素材画像パターンがあり、１セル×７セルの素材の場合には２７＝１２８個の素材画像パターンがあり、１セル×８セルの素材の場合には２８＝２５６個の素材画像パターンがあり、１セル×９セルの素材の場合には２９＝５１２個の素材画像パターンがある。
【００６０】
尚、１セル×６セル、１セル×７セル、１セル×８セル、１セル×９セルの横長の素材は、二次元コードの元となる二次元コードデータを、それに対応する素材画像パターンの画像に置換していく際に、データの先頭から横長のセル分毎に区切ることができるので、２セル×３セル、３セル×３セルの素材画像パターンよりも、受信機側の処理負担を軽減することができる。
【００６１】
図９は、１セル×９セルの素材画像パターンの例を示したものである。素材画像パターンは、ファイル名称情報と画像データとから構成される。画像データは、二値画素データ（白画素または黒画素）が組み合わさった集合体である。
【００６２】
図９の例では、白セルまたは黒セルが１セル×９セルに配置されて、配置された二値画素の値に対応付けたファイル名称がつけられている。例えば、白セルの値は、「１」であり、また、黒セルの値は、「０」であるとすると、最初の素材画像パターンは、９つの白セルが配列されているので、ファイル名称は、「１１１１１１１１１.ｐｎｇ」である。２番目の画像パターンは、最初だけに黒セルが配列されているので、ファイル名称は、「０１１１１１１１１.ｐｎｇ」である。そして、このような素材画像パターンが５１２個用意される。
【００６３】
次に、２組の入力値及び生成値と暗号化データ群とから変換された二次元コードデータを、それに対応する素材画像パターンの画像に置換していく。例えば、二次元コードデータが「０１１１１１１１１」であるならば、二次元コードデータ「０１１１１１１１１」をファイル名称「０１１１１１１１１.ｐｎｇ」の画像である「黒、白、白、白、白、白、白、白、白」に置換する。この処理を、全ての二次元コード画像のセルが埋まるまで行い、二次元コード画像を生成する。
【００６４】
図１０は、４型の二次元コード画像（３３セル×３３セル）の場合の例を示した図である。４型の二次元コード画像の場合、１セル×９セルの素材画像パターンを用いて、行方向に３３個、列方向に４個、合計１３２個の素材画像パターンの画像で埋められることになる。二次元コードデータの（９行、１列）〜（９行、９列）に対応する二次元コードデータ「００００００１００」は、素材画像パターンのファイル名「００００００１００．ｐｎｇ」の画像である「黒、黒、黒、黒、黒、黒、白、黒、黒」に置換する。
【００６５】
尚、４型の二次元コード画像（３３セル×３３セル）の場合、１辺が３３セル分しかなく、３４セル目、３５セル目、３６セル目の二次元コードデータがない。行方向に４個の素材画像パターンの画像が並ぶと、３セル分余ることになる（９セル×４個−３３セル＝３セル）。そこで、行方向の最後の素材画像パターンは、最後の３セルが「白」の素材画像パターンとなる。例えば、図１０の例では、（１行、２８列）〜（１行、３３列）に対応する二次元コードデータ「００００００」であるが、この二次元コードデータ「００００００」を、「００００００１１１」とし、「００００００１１１．ｐｎｇ」の画像である「黒、黒、黒、黒、黒、黒、白、白、白」に置換する。
【００６６】
上述した方法で、２組の入力値及び生成値と暗号化データ群とからＱＲコード画像をデジタル放送受信機で作成して表示画面に表示させると、携帯端末４０のカメラがそのＱＲコードを読み取ることで、２組の入力値及び生成値と暗号化データ群が復号サーバ２０に送信される。
【００６７】
本実施の形態によると、デジタル放送受信機１０がインターネットに接続されていなくてもデジタル放送受信機で生成された暗号データを、暗号鍵をやり取りすることなく復号サーバに復号することができる。
【００６８】
＜第４の実施の形態＞
上記第１〜第３の実施の形態では、デジタル放送受信機１０が放送波を介して多項式を受信する構成について説明した。本実施の形態では、インターネット上に設けられた認証サーバから通信回線を介して複数の多項式を受信する構成について説明する。
【００６９】
本実施の形態では、図１１に示す通り、デジタル放送受信機１０の代わりに端末５０を有する。端末５０は、例えば、スマートテレビや携帯端末等である。また、放送局３０の代わりに、認証サーバ６０を有する。端末５０と復号サーバ２０と認証サーバ６０は、互いにインターネットを介して接続されている。
【００７０】
（端末）
端末５０は、図１２に示す通り、上述のデジタル放送受信機１０と比べて、放送側送受信部１０１を有さない構成となっている。
【００７１】
本実施の形態では、ハッシュ関数を命令実行命令文が記述されたプログラムは、端末５０のネットワーク側送受信部１０５がインターネット上に設けられた任意の公開サーバから受信する、若しくは予め端末５０に記憶されている。またその命令記述には入力値の進数と桁数とが宣言されており、端末５０で用いられる入力値の進数と桁数とは、予め決められているものとする。更に、ハッシュ関数に用いることのできる複数の多項式を所定の時間ごとに変更するために、認証サーバ６０に対して所定の時間ごとに複数の多項式の送信要求を送信する命令文が記述されている。尚、本説明では、複数の多項式を認証サーバ６０から送信される場合を用いて説明するが、ネットワーク上の任意のサーバから受信しても、予め端末５０に記憶されていてもよい。
【００７２】
（認証サーバ）
認証サーバ６０は、端末５０からの送信要求に応じて、端末５０が選択できる複数の多項式を送信する。
【００７３】
（動作）
本実施の形態の動作は、上記実施の形態と同様であるため、詳細な説明は省略する。尚、本実施の形態は、上記第１〜第３のいずれの実施の形態に適用させてもよい。
【００７４】
本実施の形態によると、暗号鍵をサーバと端末との間で取り交わしすることなく、暗号化したデータを復号することができる。
【００７５】
尚、上述した本発明の端末は、上記説明からも明らかなように、ハードウェアで構成することも可能であるが、コンピュータプログラムにより実現することも可能である。
【００７６】
端末は、プロセッサ及びプログラムメモリを有し、プログラムメモリに格納されているプログラムで動作するプロセッサによって、上述した実施の形態と同様の機能、動作を実現させる。尚、上述した実施の形態の一部の機能のみをコンピュータプログラムにより実現することも可能である。
【００７７】
以上、実施の形態及び実施例をあげて本発明を説明したが、本発明は必ずしも上記実施の形態及び実施例に限定されるものではなく、その技術的思想の範囲内において様々に変形し実施することが出来る。
【符号の説明】
【００７８】
１０    デジタル放送受信機
２０    復号サーバ
３０    放送局
４０    携帯端末
５０    端末（携帯端末，スマートテレビ）
６０    認証サーバ
【図１】
2014098773.tif 000003
【図２】
2014098773.tif 000004
【図３】
2014098773.tif 000005
【図４】
2014098773.tif 000006
【図５】
2014098773.tif 000007
【図６】
2014098773.tif 000008
【図７】
2014098773.tif 000009
【図８】
2014098773.tif 000010
【図９】
2014098773.tif 000011
【図１０】
2014098773.tif 000012
【図１１】
2014098773.tif 000013
【図１２】
2014098773.tif 000014