(57)【特許請求の範囲】
【請求項１】
平文を暗号化して暗号文を生成する暗号化装置と、
復号鍵を放送する放送装置と、
前記暗号文を前記復号鍵で復号する復号装置とを備えた時限式暗号化復号システムにおいて、
前記暗号化装置が、
復号時刻を設定する復号時刻設定手段と、
前記復号時刻を乱数関数に適応して乱数を発生する乱数発生手段と、
前記復号時刻および乱数を要素とするベクトルと所定の基準時刻および平文を要素とするベクトルとを通る暗号関数を設定する暗号関数設定手段と、
前記暗号関数に所定の標準時刻を適用して暗号文を生成する暗号生成手段と、
前記標準時刻およびその暗号文、ならびに復号時刻を暗号情報として復号側へ通知する暗号情報通知手段とを含み、
前記放送装置が、
時刻を計時する計時手段と、
所定の周期で計時時刻を前記乱数関数に適応して復号鍵を発生する復号鍵発生手段と、
前記復号鍵を、その計時時刻に放送する放送手段とを含み、
前記復号装置が、
前記標準時刻およびその暗号文、ならびに復号時刻を取得する暗号情報取得手段と、
前記復号時刻に放送装置から放送される復号鍵を受信する復号鍵受信手段と、
前記標準時刻およびその暗号文を要素とするベクトルと前記復号時刻およびその復号鍵を要素とするベクトルとを通る復号関数を設定する復号関数設定手段と、
前記復号関数に前記基準時刻を適用して暗号文を平文に復号する復号手段とを含むことを特徴とする時限式暗号化復号システム。
【請求項２】
複数の復号装置を備え、復号装置ごとに、前記標準時刻およびその暗号文の通知数が異なることを特徴とする請求項１に記載の時限式暗号化復号システム。
【請求項３】
前記暗号化装置において、
前記復号時刻設定手段がn個の復号時刻を設定し、
前記乱数発生手段が前記乱数関数にn個の復号時刻を適用してn個の乱数を発生し、
前記暗号関数設定手段は、復号時刻およびその乱数を要素とするn個のベクトルと所定の基準時刻および平文を要素とするベクトルとを通るn次の多項式を暗号関数として設定し、
前記暗号生成手段は、前記暗号関数にi個の標準時刻を適用してi個の暗号文を生成し、
前記暗号情報通知手段は、前記i個の標準時刻およびその暗号文、ならびにn個の復号時刻を復号側へ通知し、
前記復号装置において、
前記暗号情報取得手段は、前記i個の標準時刻およびその暗号文、ならびにn個の復号時刻を取得し、
前記復号鍵受信手段は、n個の復号時刻の少なくとも(n-i+1)個の時刻で復号鍵を受信し、
前記復号関数設定手段は、i個の標準時刻およびその暗号文を要素とするi個のベクトルと前記受信した復号時刻およびその復号鍵を要素とする少なくとも(n-i+1)個のベクトルとを通るn次の多項式を復号関数として設定することを特徴とする請求項１または２に記載の時限式暗号化復号システム。
【請求項４】
復号時刻を設定する復号時刻設定手段と、
前記復号時刻を乱数関数に適応して乱数を発生する乱数発生手段と、
前記復号時刻およびその乱数を要素とするベクトルと所定の基準時刻および平文を要素とするベクトルとを通る暗号関数を設定する暗号関数設定手段と、
前記暗号関数に所定の標準時刻を適用して暗号文を生成する暗号生成手段と、
前記標準時刻およびその暗号文、ならびに復号時刻を暗号情報として復号側へ通知する暗号情報通知手段とを含むことを特徴とする時限式暗号化装置。
【請求項５】
前記復号時刻設定手段がn個の復号時刻を設定し、
前記乱数発生手段が前記乱数関数にn個の復号時刻を適用してn個の乱数を発生し、
前記暗号関数設定手段は、復号時刻およびその乱数を要素とするn個のベクトルと所定の基準時刻および平文を要素とするベクトルとを通るn次の多項式を暗号関数として設定し、
前記暗号生成手段は、前記暗号関数にi個の標準時刻を適用してi個の暗号文を生成し、
前記暗号情報通知手段は、前記i個の標準時刻およびその暗号文、ならびにn個の復号時刻を復号側へ通知することを特徴とする請求項３に記載の時限式暗号化装置。
【請求項６】
前記請求項４に記載の時限式暗号化装置により暗号化された暗号文を平文に復号する時限式復号装置であって、
標準時刻およびその暗号文、ならびに復号時刻を取得する暗号情報取得手段と、
前記復号時刻に放送装置から放送される復号鍵を受信する復号鍵受信手段と、
前記標準時刻およびその暗号文を要素とするベクトルと前記復号時刻およびその復号鍵を要素とするベクトルとを通る復号関数を設定する復号関数設定手段と、
前記復号関数に前記基準時刻を適用して暗号文を平文に復号する復号手段とを含むことを特徴とする時限式復号装置。
【請求項７】
前記暗号情報取得手段は、前記i個の標準時刻およびその暗号文、ならびにn個の復号時刻を取得し、
前記復号鍵受信手段は、n個の復号時刻の少なくとも(n-i+1)個の時刻で復号鍵を受信し、
前記復号関数設定手段は、i個の標準時刻およびその暗号文を要素とするi個のベクトルと前記受信した復号時刻および復号鍵を要素とする少なくとも(n-i+1)個のベクトルとを通るn次の多項式を復号関数として設定することを特徴とする請求項６に記載の時限式復号装置。
【請求項８】
復号時刻を設定する手順と、
前記復号時刻を乱数関数に適応して乱数を発生する手順と、
前記復号時刻および乱数を要素とするベクトルと所定の基準時刻および平文を要素とするベクトルとを通る暗号関数を設定する手順と、
前記暗号関数に所定の標準時刻を適用して暗号文を生成する手順と、
前記標準時刻およびその暗号文、ならびに復号時刻を暗号情報として復号側へ通知する暗号情報通知手段とを含むことを特徴とする時限式暗号化方法。
【請求項９】
前記請求項８に記載の時限式暗号化方法により暗号化された暗号文を平文に復号する時限式復号方法であって、
標準時刻およびその暗号文、ならびに復号時刻を取得する手順と、
前記復号時刻に放送装置から放送される復号鍵を受信する手順と、
前記標準時刻および暗号文を要素とするベクトルと前記復号時刻および復号鍵を要素とするベクトルとを通る復号関数を設定する手順と、
前記復号関数に前記基準時刻を適用して暗号文を平文に復号する手順とを含むことを特徴とする時限式復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時限式暗号化方法および装置、時限式復号方法および装置、ならびに時限式暗号化復号システムに係り、特に、復号鍵を復号時刻に放送波で放送する時限式暗号化方法および装置、時限式復号方法および装置、ならびに時限式暗号化復号システムに関する。
【背景技術】
【０００２】
暗号化された情報を復号する際に、暗号側で予め指定した復号時刻になるまで暗号情報を復号することができないようにした暗号化方式として、「タイムカプセル暗号」あるいは「時限式暗号」と呼ばれる方式が知られている。
【０００３】
非特許文献１に開示されたタイムカプセル暗号システムでは、暗号情報を復号する復号側に対して、“電子署名付き時報”を送信する“時報局”（signaler）が設けられる。電子署名付き時報には、各時刻に対応する復号鍵と当該時報局の署名データとが含まれている。暗号側では、復号時刻を自由に選択して情報を暗号化し、復号側では、指定された復号時刻を待って電子署名付き時報を時報局から受信し、受信した電子署名付き時報を用いて暗号情報を復号する。
【特許文献１】公開論文"Time-Capsule Encyrption"，信学技報，vol.104, no.527,ISEC2004-98, p.p. 1-5, 2004年 12月
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記した従来技術では、暗号化方式が楕円曲線暗号の一種であり、鍵生成、暗号化および復号化に楕円曲線演算が必要となる。ここで、楕円曲線暗号化方式は従来の公開鍵暗号化方式よりも軽量かつ高速であるが、携帯電話や通信カードなどの処理能力に乏しい携帯端末にとっては依然として処理負担が大きいのみならず、楕円曲線暗号はその複雑さゆえ、実装に高度な技術が要求されるという技術課題があった。
【０００５】
本発明の目的は、上記した従来技術の課題を解決し、処理能力に乏しい携帯端末でも容易に利用可能な時限式暗号化方法および装置、時限式復号方法および装置、ならびに時限式暗号化復号システムを提供することある。
【課題を解決するための手段】
【０００６】
上記した目的を達成するために、本発明は、平文を暗号化して暗号文を生成する暗号化装置と、復号鍵を放送する放送装置と、前記暗号文を前記復号鍵で復号する復号装置とを備えた時限式暗号化復号システムにおいて、以下のような手段を講じた点に特徴がある。
【０００７】
(1)暗号化装置が、復号時刻(Td)を設定する復号時刻設定手段と、前記復号時刻(Td)を乱数関数に適応して乱数(u)を発生する乱数発生手段と、前記復号時刻および乱数を要素とするベクトル[Td,u]と所定の基準時刻および平文を要素とするベクトル[T0,m]とを通る暗号関数を設定する暗号関数設定手段と、前記暗号関数に所定の標準時刻(Tx)を適用して暗号文(c)を生成する暗号生成手段と、前記標準時刻(Tx)、暗号文(c)および復号時刻(Td)を暗号情報として復号側へ通知する暗号情報通知手段とを含むことを特徴とする。
【０００８】
(2)放送装置が、時刻を計時する計時手段と、所定の周期で計時時刻を前記乱数関数に適応して復号鍵(k)を発生する復号鍵発生手段と、前記復号鍵(k)を、その計時時刻に放送する放送手段とを含むことを特徴とする。
【０００９】
(3)復号装置が、標準時刻(Tx)、暗号文(c)および復号時刻(Td)を取得する暗号情報取得手段と、復号時刻(Td)に放送装置から放送される復号鍵(k)を受信する復号鍵受信手段と、標準時刻および暗号文を要素とするベクトルと前記復号時刻および復号鍵を要素とするベクトルとを通る復号関数を設定する復号関数設定手段と、復号関数に前記基準時刻を適用して暗号文を平文に復号する復号手段とを含むことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、以下のような効果が達成される。
【００１１】
(1)復号側では簡単な乱数計算と僅かな多項式計算のみで復号を行えるので、処理能力の低い携帯型の端末でも高速な復号処理が可能になる。
【００１２】
(2)復号側での復号に必要な暗号鍵の受信回数を任意に設定できるので、自由度の高い時限式暗号化復号装置の運用が可能になる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照して本発明の最良の実施形態について詳細に説明する。図１は、本発明に係る時限式暗号化復号システムの主要部の構成を示したブロック図であり、平文mを復号時刻Tdで復号可能に暗号化して暗号情報を生成する暗号化装置１と、暗号情報の復号に必要な復号鍵kを放送波で送信する放送装置２と、復号時刻Tdに放送波から復号鍵kを受信して暗号情報を復号する復号装置３とを主要な構成としている。
【００１４】
図２は、前記暗号化装置１の第１実施形態の機能ブロック図であり、入力部１０１は平文mおよび復号時刻Tdの入力を受け付けて一時記憶する。乱数発生部１０２は、前記復号時刻Tdを所定の乱数関数randに適応して乱数uを発生する。本実施形態では、SHA1やSHA2などのハッシュ関数に復号時刻Tdおよび秘密情報sを適用して乱数uが計算される。この秘密情報sは放送装置２と共有されており、後に詳述するように、放送装置２でもハッシュ関数に当該秘密情報sおよび時刻情報tが適用されて乱数（復号鍵k）が算出される。暗号関数設定部１０３は、復号時刻Tdおよび乱数uを要素とするベクトル[Td,u]と所定の基準時刻T0および平文mを要素とするベクトル[T0,m]とを通る一次関数を暗号関数y=f1(x)として仮想的に設定する。
【００１５】
図３は、前記暗号関数設定部１０３による暗号関数f1(x)の設定方法を模式的に示した図であり、ここでは、横軸(X軸)にUNIX(登録商標)時刻（１９７０年１月１日の0:00:00をゼロとして経過秒数が現在時刻tとされる）、縦軸(Y軸)に情報の定量値をとり、基準時刻T0が時刻0が設定されている。前記暗号関数設定部１０３は、ベクトル[Td,u]，[T0,m]の２点を通る一次関数を暗号関数f1(x)として求める。
【００１６】
暗号生成部１０４は、図４に一例を示したように、所定の標準時刻Txを前記暗号関数f1(x)に適用して暗号文cを生成する。前記標準時刻Txは、前記復号時刻Tdおよび基準時刻T0以外の適宜の時刻に設定できる。暗号情報通知部１０５は、前記標準時刻Txおよび暗号文c、ならびに復号時刻Tdを暗号情報([Tx,c],Td)として復号装置３へ通知する。
【００１７】
図５は、前記放送装置２の機能ブロック図であり、計時部２０１は現在時刻tを計時する。復号鍵生成部２０２は、前記暗号化装置１の乱数発生部１０２と共有する秘密情報sおよび現在時刻tを乱数関数に所定の周期で適用して復号鍵kを生成する。この復号鍵kは復号鍵放送部２０３により放送波に乗せて放送される。
【００１８】
図６は、前記復号装置３の第１実施形態の機能ブロック図であり、暗号情報取得部３０１は、前記暗号化装置１から暗号情報([Tx,c],Td)を取得して一時記憶する。復号鍵受信部３０２は、暗号化装置１から通知された復号時刻Tdに前記放送局２から放送される復号鍵kを受信する。復号関数設定部３０３は、前記暗号化装置１から通知された標準時刻Txおよび暗号文cを要素とするベクトル[Tx,c]と前記復号時刻Tdおよび受信した復号鍵kを要素とするベクトル[Td,k]とを通る復号関数f2(x)を設定する。この復号関数f2(x)は、復号鍵kが復号時刻Tdで正規に受信されていれば前記暗号関数f1(x)と等しくなる。
【００１９】
図７は、前記復号関数設定部３０３による復号関数f2(x)の設定方法を模式的に示した図であり、ここでも、横軸(X軸)にUNIX(登録商標)時刻、縦軸(Y軸)に情報の定量値をとり、ベクトル[Tx,c]および[Td,k]の２点を通る一次関数が復号関数f2(x)として設定される。復号部３０４は、図７に示したように、前記復号関数f2(x)に基準時刻T0を適用して平文mに復号する。
【００２０】
次いで、フローチャートを参照して上記した第１実施形態の動作を詳細に説明する。図８は、前記暗号化装置１による暗号化処理の手順を示したフローチャートであり、ステップＳ１では、平文mおよび復号時刻Tdが前記入力部１０１で受け付けられて一時記憶される。ステップＳ２では、前記乱数発生部１０２において、前記復号時刻Tdおよび秘密情報sが乱数関数randに適用されて乱数uが生成される。
【００２１】
ステップＳ３では、前記暗号関数設定部１０３において、時刻t＝０（ゼロ）で平文mを通り、時刻Tdで乱数uを通る一次関数が暗号関数f1(x)として仮想的に設定される。なお、任意の２点で一意に特定される一次関数の設定方法は既知なので、ここでは説明を省略する。ステップＳ４では、前記暗号生成部１０４において、所定の標準時刻Txが前記暗号関数f1(x)に適用されて暗号文cが算出される。ステップＳ５では、前記暗号情報通知部１０５により、前記ベクトル[Tx,c]，Tdの集合([Tx,c],Td)が暗号情報として復号装置３へ通知される。
【００２２】
図９は、前記放送装置２の動作を示したフローチャートであり、ステップＳ２１では復号鍵kの放送周期（例えば、１秒周期）であるか否かが判定され、放送周期ごとにステップＳ２２へ進む。ステップＳ２２では、前記復号鍵生成部２０２により計時部２０１から現在時刻tが読み取られる。ステップＳ２３では、この現在時刻tおよび秘密情報sが乱数関数randに適用されて復号鍵kが生成される。この秘密情報sは、暗号化装置１の乱数発生部１０２が前記ステップＳ２で乱数uを発生させるために用いた秘密情報sと同一である。ステップＳ２４では、復号鍵kが前記復号鍵放送部２０３から同時刻で放送波に乗せて送信される。
【００２３】
図１０は、前記復号装置３による復号処理の手順を示したフローチャートであり、ここでは、前記暗号化装置１から暗号情報([Tx,c],Td)が既に取得されているものとして説明する。
【００２４】
ステップＳ３１では、復号時刻Tdであるか否かが判定され、復号時刻TdであればステップＳ３２へ進む。ステップＳ３２では、前記復号鍵受信部３０２により暗号鍵kが受信される。ステップＳ３３では、前記復号関数設定部３０３において、前記図７を参照して説明したように、時刻Tdで暗号鍵kを通り、標準時刻Txで暗号文cを通る一次関数が復号関数f2(x)として仮想的に設定される。ステップＳ３４では、前記復号関数f2(x)が基準時刻T0で通る値が平文mとして算出される。
【００２５】
次いで、本発明の他の実施形態について説明する。図１１は、前記暗号化装置１の第２実施形態の機能ブロック図であり、入力部１１１は平文mおよび３つの復号時刻Td1，Td2，Td3の入力を受け付けて一時記憶する。乱数発生部１１２は、前記各復号時刻Td1，Td2，Td3を所定の乱数関数randにそれぞれ適応して３つの乱数u1，u2，u3を発生する。本実施形態でも、ハッシュ関数に各復号時刻Td1，Td2，Td3および秘密情報sをそれぞれ適用して乱数u1，u2，u3が計算される。
【００２６】
暗号関数設定部１１３は、復号時刻Td1および乱数u1を要素とするベクトル[Td,u1]、復号時刻Td2および乱数u2を要素とするベクトル[Td2,u2]、復号時刻Td3および乱数u3を要素とするベクトル[Td3,u3]、および所定の基準時刻T0および平文mを要素とするベクトル[T0,m]の計４点で一意に定まる３次関数を暗号関数y=f3(x)として仮想的に設定する。
【００２７】
図１２は、前記暗号関数設定部１１３による暗号関数f3(x)の設定方法を模式的に示した図であり、ここでも、横軸(X軸)にUNIX(登録商標)時刻、縦軸(Y軸)に情報の定量値をとり、基準時刻T0がUNIX(登録商標)時刻のゼロに設定されている。前記暗号関数設定部１１３は、ベクトル[Td,u1]，[Td2,u2]，[Td3,u3]，[T0,m]の４点を通る３次関数を暗号関数f3(x)として求める。
【００２８】
暗号生成部１１４は、図１３に一例を示したように、相互に異なる３つの標準時刻Tx1，Tx2，Tx3を前記暗号関数f3(x)に適用して３つの暗号文c1，c2，c3を生成する。前記各標準時刻Tx1，Tx2，Tx3は、前記各復号時刻Td1，Td2，Td3および基準時刻T0以外の適宜の時刻に設定できる。暗号情報通知部１１５は、対応する標準時刻およびその暗号文を要素とする３つのベクトル[Tx1,c1]，[Tx2,c2]，[Tx3,c3]、ならびに３つの復号時刻Td1，Td2，Td3を暗号情報([Tx1,c1],[Tx2,c2],[Tx3,c3],Td1,Td2,Td3)として復号装置３へ通知する。
【００２９】
図１４は、前記復号装置３の第２実施形態の機能ブロック図であり、暗号情報取得部３１１は、前記暗号化装置１から前記暗号情報([Tx1,c1],[Tx2,c2],[Tx3,c3],Td1,Td2,Td3)を取得して一時記憶する。復号鍵受信部３１２は、暗号化装置１から通知された３つの復号時刻Td1，Td2，Td3に前記放送局２から放送される復号鍵k1，k2，k3をそれぞれ受信する。復号関数設定部３１３は、前記暗号化装置１から通知された３つの標準時刻Tx1，Tx2，Tx3および３つの暗号文c1，c2，c3を要素とする３つのベクトル[Tx1,c1]，[Tx2,c2]，[Tx3,c3]と、前記受信できたいずれかの復号時刻Td（例えばTd2）および復号鍵k（例えばk2）を要素とするベクトル[Td2,k2]とを通る３次関数を復号関数f4(x)として設定する。この復号関数f4(x)は、復号鍵kが復号時刻Tdで正規に受信されていれば前記暗号関数f3(x)と等しくなる。
【００３０】
図１５は、前記復号関数設定部３１３による復号関数f4(x)の設定方法を模式的に示した図であり、ここでも、横軸(X軸)にUNIX(登録商標)時刻、縦軸(Y軸)に情報の定量値をとり、[Tx1,c1]，[Tx2,c2]，[Tx3,c3]，[Td2,k2]の４点を通る３次関数が復号関数f4(x)として一意に設定される。復号部３１４は、図１５に示したように、前記復号関数f4(x)に基準時刻T0を適用して平文mに復号する。
【００３１】
次いで、フローチャートを参照して上記した第２実施形態の動作を詳細に説明する。図１６は、前記暗号化装置１による暗号化処理の手順を示したフローチャートであり、ステップＳ４１では、平文mおよび３つの復号時刻Td1，Td2，Td3が前記入力部１１１で受け付けられて一時記憶される。ステップＳ４２では、前記乱数発生部１１２において、前記３つの復号時刻Td1，Td2，Td3および秘密情報sが乱数関数randにそれぞれ適用されて３つの乱数u1，u2，u3が生成される。
【００３２】
ステップＳ４３では、前記暗号関数設定部１１３において、時刻t＝０（ゼロ）で平文mを通り、時刻Td1で乱数u1を通り、時刻Td2で乱数u2を通り、時刻Td3で乱数u3を通る３次関数が暗号関数f3(x)として仮想的に設定される。なお、任意の４点を通る３時関数の設定方法は既知なので、ここでは説明を省略する。ステップＳ４４では、前記暗号関数f3(x)に所定の３つの標準時刻Tx1，Tx2，Tx3を適用して３つの暗号文c1，c2，c3が算出される。ステップＳ４５では、対応する標準時刻およびその暗号文を要素とする３つのベクトル[Tx1,c1]，[Tx2,c2]，[Tx3,c3]、ならびに３つの復号時刻Td1，Td2，Td3の集合([Tx1,c1],[Tx2,c2],[Tx3,c3],Td1,Td2,Td3)が暗号情報として復号装置３へ通知される。
【００３３】
図１７は、前記復号装置３による復号処理の手順を示したフローチャートであり、ここでは、前記暗号化装置１から暗号情報([Tx1,c1],[Tx2,c2],[Tx3,c3],Td1,Td2,Td3)が既に取得されているものとして説明する。
【００３４】
ステップＳ５１では、復号時刻Td1，Td2，Td3のいずれかであるか否かが判定され、いずれかの復号時刻Tdが訪れるとステップＳ５２へ進む。ステップＳ５２では、前記復号鍵受信部３１２により、復号時刻Td1であれば暗号鍵k1、復号時刻Td2であれば暗号鍵k2、復号時刻Td3であれば暗号鍵k3が受信される。ステップＳ５３では、前記復号関数設定部３１３において、前記図１３を参照して説明したように、例えば復号時刻Td2で暗号鍵k2を通り、標準時刻Tx1で暗号文c1を通り、Tx2でc2を通り、Tx3でc3を通る３次関数が復号関数f4(x)として仮想的に設定される。ステップＳ５４では、前記復号部３１４において、前記復号関数f4(x)が基準時刻T0で通る値が平文mとして算出される。
【００３５】
本実施形態によれば、３回の復号時刻Td1，Td2，Td3でそれぞれ放送される復号鍵k1，k2，k3のいずれかを受信すれば復号が可能になるので、復号装置３における時間的な制約が軽減される。
【００３６】
次いで、本発明のさらに他の実施形態について説明する。図１８は、前記暗号化装置１の第３実施形態の機能ブロック図であり、入力部１２１は平文mおよび３つの復号時刻Td1，Td2，Td3の入力を受け付けて一時記憶する。乱数発生部１２２は、前記３つの復号時刻Td1，Td2，Td3を所定の乱数関数randに適応して３つの乱数u1，u2，u3を発生する。本実施形態でも、ハッシュ関数に各復号時刻Td1，Td2，Td3および秘密情報sが適用されて３つの乱数u1，u2，u3が計算される。
【００３７】
暗号関数設定部１２３は、復号時刻Td1および乱数u1を要素とするベクトル[Td,u1]と、復号時刻Td2および乱数u2を要素とするベクトル[Td2,u2]と、復号時刻Td3および乱数u3を要素とするベクトル[Td3,u3]と、所定の基準時刻T0および平文mを要素とするベクトル[T0,m]とを通り、一意に定まる３次関数を暗号関数y=f5(x)として仮想的に設定する。
【００３８】
図１９は、前記暗号関数設定部１２３による暗号関数f5(x)の設定方法を模式的に示した図であり、ここでも、横軸(X軸)にUNIX(登録商標)時刻、縦軸(Y軸)に情報の定量値をとり、基準時刻T0がUNIX(登録商標)時刻のゼロに設定されている。暗号関数設定部１２３は、ベクトル[Td,u1]，[Td2,u2]，[Td3,u3]，[T0,m]の４点で一意に定まる３次関数を暗号関数f5(x)として求める。暗号生成部１２４は、所定の標準時刻Txを前記暗号関数f5(x)に適用して暗号文cを生成する。暗号情報通知部１２５は、前記標準時刻Txおよび暗号文cを要素とするベクトルおよび３つの復号時刻Td1，Td2，Td3の集合を暗号情報([Tx,c],Td1,Td2,Td3)として復号装置３へ通知する。
【００３９】
図２０は、前記復号装置３の第３実施形態の機能ブロック図であり、暗号情報取得部３２１は、前記暗号化装置１から前記暗号情報([Tx,c],Td1,Td2,Td3)を取得して一時記憶する。復号鍵受信部３２２は、暗号化装置１から通知された３つの復号時刻Td1，Td2，Td3に前記放送局２から放送される復号鍵k1，k2，k3を全て受信する。復号関数設定部３２３は、前記暗号化装置１から通知された標準時刻Txおよび暗号文cを要素とするベクトル[Tx,c]と前記３つの復号時刻Td1，Td2，Td3で受信した３つの復号鍵k1，k2，k3を要素とする３つのベクトル[Td1,k1]，[Td2,k2]，[Td3,k3]とを通る３次関数を復号関数f6(x)として設定する。この復号関数f6(x)は、全ての復号鍵k1，k2，k3が復号時刻Td1，Td2，Td3で正規に受信されていれば前記暗号関数f5(x)と等しくなる。
【００４０】
図２１は、前記復号関数設定部３２３による復号関数f6(x)の設定方法を模式的に示した図であり、ここでも、横軸(X軸)にUNIX(登録商標)時刻、縦軸(Y軸)に情報の定量値をとり、４つのベクトル[Td1,k1]，[Td2,k2]，[Td3,k3]、[Tx,c]の４点を通る３次関数が復号関数f6(x)として設定される。復号部３２４は、図２１に示したように、前記復号関数f6(x)に基準時刻T0を適用して平文mに復号する。
【００４１】
次いで、フローチャートを参照して上記した第３実施形態の動作を詳細に説明する。図２２は、前記暗号化装置１による暗号化処理の手順を示したフローチャートであり、ステップＳ６１では、平文mおよび３つの復号時刻Td1，Td2，Td3が前記入力部１２１で受け付けられて一時記憶される。ステップＳ６２では、前記乱数発生部１２２において、前記３つの復号時刻Td1，Td2，Td3および秘密情報sが乱数関数randにそれぞれ適用されて３つの乱数u1，u2，u3が生成される。ステップＳ６３では、前記暗号関数設定部１２３において、時刻t＝０（ゼロ）で平文mを通り、時刻Td1で乱数u1を通り、時刻Td2で乱数u2を通り、時刻Td3で乱数u3を通る３次関数が暗号関数f5(x)として仮想的に設定される。
【００４２】
ステップＳ６４では、前記暗号関数f5(x)が所定の標準時刻Txで通る値が暗号文cとして算出される。ステップＳ６５では、標準時刻および暗号文を要素とするベクトル[Tx,c]および３つの復号時刻Td1，Td2，Td3の集合([Tx,c],Td1,Td2,Td3)が暗号情報として復号装置３へ通知される。
【００４３】
図２３は、前記復号装置３による復号処理の手順を示したフローチャートであり、ここでは、前記暗号化装置１から暗号情報([Tx,c],Td1,Td2,Td3)が既に取得されているものとして説明する。
【００４４】
ステップＳ７１〜７６では、全ての復号時刻Td1，Td2，Td3で復号鍵k1，k2，k3がそれぞれ取得される。ステップＳ７７では、前記復号関数設定部３２３において、前記図２１を参照して説明したように、復号時刻Td1で暗号鍵k1を通り、復号時刻Td2で暗号鍵k2を通り、復号時刻Td3で暗号鍵k3を通り、標準時刻Txで暗号文cを通る３次関数が復号関数f6(x)として仮想的に設定される。ステップＳ７８では、前記復号部３２４において、前記復号関数f6(x)が基準時刻T0で通る値が平文mとして算出される。
【００４５】
本実施形態によれば、３回の復号時刻Td1，Td2，Td3の全てで復号鍵k1，k2，k3を受信しなければ暗号文を復号できないので、復号装置３における復号条件を厳しくできる。
【００４６】
なお、上記した各実施形態では、暗号関数および復号関数が１次関数または３次関数である場合を例にして説明したが、本発明はこれのみに限定されるものではなく、２次関数や４次以上の関数であっても同様に適用できる。
【００４７】
また、上記した第２実施形態では、暗号関数および復号関数を３次関数として、３つの標準時刻Tx1，Tx2，Tx3に対応した３つのベクトル[Tx1,c1],[Tx2,c2],[Tx3,c3]と、３つの復号時刻Td1，Td2，Td3のうちの１つの復号時刻Txに対応した１つのベクトル[Tx,k]とに基づいて復号関数が求められるものとして説明したが、２つの標準時刻に対応した２つのベクトルと、３つの復号時刻のうちの２つの復号時刻に対応した２つのベクトルとに基づいて復号関数を求めるようにしても良い。
【００４８】
すなわち、本発明の暗号化装置１は、n個の復号時刻Td1〜Tdnを設定し、所定の乱数関数に各復号時刻Td1〜Tdnを適用してn個の乱数u1〜unを発生する。そして、復号時刻Tdおよびその乱数uを要素とするn個のベクトル[Td1,u1]，[Td2,u2]…[Tdn,un]と所定の基準時刻T0および平文mを要素とするベクトル[T0,m]とを通るn次の多項式を暗号関数として設定し、この暗号関数にi個の標準時刻Tx1〜Txiを適用してi個の暗号文c1〜ciを生成する。最後に、標準時刻およびその暗号文を要素とするi個のベクトル[Tx1,c1]〜[Txi,ci]、ならびにn個の復号時刻Td1〜Tdnの集合を暗号情報として復号装置３へ提供する。
【００４９】
放送装置２は、暗号化装置１の乱数関数と同一の乱数関数、例えば秘密情報sを共有する乱数関数、に時刻情報を適用して復号鍵kを周期的に放送する。
【００５０】
復号装置３は、暗号化装置１からi個のベクトル[Tx1,c1]〜[Txi,ci]を取得すると、暗号化装置１から取得したn個の復号時刻Tdのうち、少なくとも(n-i+1)箇所の復号時刻Tdにおいて放送装置２から(n-i+1)個の復号鍵kを受信する。そして、前記i個のベクトル[Tx1,c1]〜[Txi,ci]と、前記受信した復号時刻Tdおよびその暗号鍵kを要素とする(n-i+1)個のベクトル[Td,k]とを通るn次の多項式を復号関数として設定し、この復号関数に基準時刻T0を適用して平文mに復号する。
【００５１】
なお、図２４に示したように、復号側に複数の復号装置３が存在する場合は、復号装置３ごとに、暗号化装置１から通知する標準時刻Txに関するベクトルの個数を異ならせることで、復号装置ごとに所望の復号条件を設定できる。
【００５２】
すなわち、暗号関数が３次の多項式であれば、復号条件を厳しくしたい復号装置３ａに対しては、３つの復号時刻Td1，Td2，Td3と共に、標準時刻Tx1を一つだけ設定して一つのベクトル[Tx1,c1]を通知する。この復号装置３ａでは、３次の復号関数を生成するためには、通知された全ての復号時刻Td1，Td2，Td3で復号鍵k1，k2，k3を取得しなければならない。
【００５３】
これに対して、復号条件を標準とする復号装置３ｂに対しては、３つの復号時刻Td1，Td2，Td3と共に、標準時刻Tx1，Tx2を２つ設定して２つのベクトル[Tx1,c1]，[Tx2.c2]を通知する。この復号装置３ｂでは、３次の復号関数を生成するためには、３つの復号時刻のうち任意の２つの復号時刻で２つの復号鍵を取得すれば良い。
【００５４】
さらに、復号条件を緩くしたい復号装置３ｃに対しては、３つの復号時刻Td1，Td2，Td3と共に、標準時刻Tx1，Tx2，Tx3を３つ設定して３つのベクトル[Tx1,c1]，[Tx2,c2]，[Tx3,c3]を通知する。この復号装置３ｃでは、３次の復号関数を生成するためには、３つの復号時刻のうち任意の１つの復号時刻で復号鍵を一つだけ取得すれば良い。
【図面の簡単な説明】
【００５５】
【図１】本発明が適用される時限式暗号化復号システムのブロック図である。
【図２】第１実施形態における暗号化装置の機能ブロック図である
【図３】第１実施形態における暗号関数f1(x)の設定方法を模式的に示した図である。
【図４】第１実施形態における暗号文の生成方法を示した図である。
【図５】第１実施形態における放送装置の機能ブロック図である。
【図６】第１実施形態における復号装置の機能ブロック図である。
【図７】第１実施形態における復号関数f2(x)の設定方法を模式的に示した図である。
【図８】第１実施形態における暗号化処理の手順を示したフローチャートである。
【図９】第１実施形態における暗号鍵の放送手順を示したフローチャートである。
【図１０】第１実施形態における復号処理の手順を示したフローチャートである。
【図１１】第２実施形態における暗号化装置の機能ブロック図である
【図１２】第２実施形態における暗号関数f3(x)の設定方法を模式的に示した図である。
【図１３】第２実施形態における暗号文の生成方法を示した図である。
【図１４】第２実施形態における復号装置の機能ブロック図である。
【図１５】第２実施形態における復号関数f4(x)の設定方法を模式的に示した図である。
【図１６】第２実施形態における暗号化処理の手順を示したフローチャートである。
【図１７】第２実施形態における復号処理の手順を示したフローチャートである。
【図１８】第３実施形態における暗号化装置の機能ブロック図である
【図１９】第３実施形態における暗号関数f5(x)の設定方法を模式的に示した図である。
【図２０】第３実施形態における復号装置の機能ブロック図である。
【図２１】第３実施形態における復号関数f6(x)の設定方法を模式的に示した図である。
【図２２】第３実施形態における暗号化処理の手順を示したフローチャートである。
【図２３】第３実施形態における復号処理の手順を示したフローチャートである。
【図２４】複数の復号装置を備えた時限式暗号化復号システムのブロック図である。
【符号の説明】
【００５６】
暗号化装置１、放送装置２、復号装置３、１０１，１１１，１２１…入力部、１０２，１１２，１２２…乱数発生部、１０３，１１３，１２３…暗号関数設定部、１０４，１１４，１２４…暗号生成部、１０５，１１５，１２５…暗号情報通知部、２０１…計時部、２０２…復号鍵生成部、２０３…復号鍵放送部、３０１，３１１，３２１…暗号情報取得部、３０２，３１２，３２２…復号鍵受信部、３０３，３１３，３２３…復号関数設定部
【図１】
0004979085.tif 000002
【図２】
0004979085.tif 000003
【図３】
0004979085.tif 000004
【図４】
0004979085.tif 000005
【図５】
0004979085.tif 000006
【図６】
0004979085.tif 000007
【図７】
0004979085.tif 000008
【図８】
0004979085.tif 000009
【図９】
0004979085.tif 000010
【図１０】
0004979085.tif 000011
【図１１】
0004979085.tif 000012
【図１２】
0004979085.tif 000013
【図１３】
0004979085.tif 000014
【図１４】
0004979085.tif 000015
【図１５】
0004979085.tif 000016
【図１６】
0004979085.tif 000017
【図１７】
0004979085.tif 000018
【図１８】
0004979085.tif 000019
【図１９】
0004979085.tif 000020
【図２０】
0004979085.tif 000021
【図２１】
0004979085.tif 000022
【図２２】
0004979085.tif 000023
【図２３】
0004979085.tif 000024
【図２４】
0004979085.tif 000025