JP4599194B2 - 復号装置、復号方法、及びプログラム - Google Patents

復号装置、復号方法、及びプログラム Download PDF

Info

Publication number
JP4599194B2
JP4599194B2 JP2005064219A JP2005064219A JP4599194B2 JP 4599194 B2 JP4599194 B2 JP 4599194B2 JP 2005064219 A JP2005064219 A JP 2005064219A JP 2005064219 A JP2005064219 A JP 2005064219A JP 4599194 B2 JP4599194 B2 JP 4599194B2
Authority
JP
Japan
Prior art keywords
ciphertext
node
tree structure
secret key
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005064219A
Other languages
English (en)
Other versions
JP2006253822A (ja
Inventor
達之 松下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2005064219A priority Critical patent/JP4599194B2/ja
Priority to US11/219,768 priority patent/US7724906B2/en
Priority to CNB2005101036035A priority patent/CN100511330C/zh
Publication of JP2006253822A publication Critical patent/JP2006253822A/ja
Application granted granted Critical
Publication of JP4599194B2 publication Critical patent/JP4599194B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Description

本発明は、暗号文を復号する復号装置に関する。
従来から放送型暗号通信における各種の暗号化方式が知られており、その中でも秘密鍵の無効化を行うことができる方式は有用である。秘密鍵の無効化とは、ある特定の秘密鍵を持つ復号装置(無効復号装置と呼ぶ)では復号不可能であり、かつそれ以外の復号装置では復号可能な形で平文(暗号化対象のデータ)を暗号化することにより、無効復号装置の秘密鍵をシステムから排除することである。
例えば、ある復号装置の秘密鍵が何らかの原因により流出した場合、流出した秘密鍵を入手した(送信者が復号を許可しない)第三者が暗号文を復号する恐れがあるため、当該復号装置の秘密鍵を無効化する必要が生じるが、このような場合に秘密鍵の無効化を行えば、流出した(コピーされたものも含めた)全ての秘密鍵を回収することなく排除できる。
秘密鍵の無効化を達成している暗号化方式として、復号装置集合を二分木構造化したSubset Difference方式(以下、SD方式と呼ぶ)が知られている(非特許文献1参照)。
上記方式は、送信オーバヘッドが無効復号装置数にのみ比例するという意味において効率的な方式である。SD方式においては、各復号装置識別情報をリーフ(木構造中の最下位ノードをリーフと呼ぶ)に割り当てた二分木が想定され、二分木構造中の任意の2つのノードからなる各ノード組に対して秘密鍵がそれぞれ割り当てられる。復号装置には、当該復号装置識別情報が示すリーフが上記2つのノードのうちの一方のノードを祖先に持ち、且つ他方のノードを祖先に持たない条件を満たす複数の秘密鍵とそれらの秘密鍵それぞれに対応する2つのノードを表すインデックス情報が割り当てられる。ここで、祖先とは親も含み、例えば、図3において、ノード「1」の祖先ノードはノード「9」「13」「15」である。実際には、上記条件を満たす全ての秘密鍵が当該復号装置に与えられるわけではなく、一方向性関数を導入することにより、上記条件を満たす全ての秘密鍵を導出可能な、より少数の秘密鍵とそれらの秘密鍵それぞれに対応するインデックス情報が当該復号装置に与えられる。
送信者が送信する暗号文は一般に複数であり、各暗号文には、暗号文を復号するための復号鍵に割り当てられた2つのノードを表すインデックス情報がそれぞれ付加されている。複数の暗号文を受信した受信者(復号装置)は、各暗号文が当該復号装置にとって復号可能か否かをそれぞれ判定する(以下、この処理を暗号文判定と呼ぶ)。当該復号装置が無効復号装置でなければ、復号可能な暗号文が必ず存在する。
次に、当該復号装置が保持する複数の秘密鍵の中から、復号可能と判定された暗号文を復号するための復号鍵を導出可能な秘密鍵を選択する(以下、この処理を秘密鍵選択と呼ぶ)。
最後に、選択された秘密鍵から復号鍵を導出し、導出された復号鍵を用いて暗号文を復号する。
D. Naor, M. Naor, and J. Lotspiech: "Revocation and Tracing Schemes for Stateless Receivers," In Proc. of CRYPTO '01, LNCS 2139, Springer-Verlag, pp. 41-62, 2001
上述のように、秘密鍵の無効化を達成している暗号化方式として、送信オーバヘッドの観点からは、SD方式を用いることが望ましいが、SD方式においては以下の問題がある。
(問題)受信した暗号文を復号装置に入力してから平文を取得するまでの処理時間が長くなってしまう場合がある。暗号文判定と秘密鍵選択には総当たり探索を行わなければならず、最悪の場合、受信した暗号文数回の暗号文判定と、秘密鍵選択には復号装置が保持する秘密鍵数回の探索が必要となる。一般に、受信する暗号文の数と復号装置が保持する秘密鍵の数は多いため、それに伴い暗号文判定と秘密鍵選択に係る処理時間が増加し、その結果、受信した暗号文を復号装置に入力してから平文を取得するまでの処理時間が長くなってしまう場合が少なくない。
そこで、本発明は、上記問題点に鑑み、受信した暗号文を復号装置に入力してから平文を取得するまでの処理時間の短縮が図れる復号装置及び復号方法を提供することを目的とする。
(1)本発明は、(a)予め定められた木構造中の任意の2つのノードによりそれぞれ特定される1つ又は複数の秘密鍵及び前記1つ又は複数の秘密鍵のそれぞれに対し当該秘密鍵に対応する前記木構造中の2つのノードを示した1つ又は複数のインデックス情報を秘密鍵記憶手段で記憶し、(b)前記木構造の任意の1つのリーフに対応する復号装置識別情報を識別情報記憶手段で記憶し、(c)1つ又は複数の暗号文及び前記1つ又は複数の暗号文のそれぞれに対し当該暗号文を復号するための復号鍵に対応する前記木構造中の任意の2つのノードを示した1つ又は複数のインデックス情報を含むデータを取得手段で取得すると、(d)前記取得手段で取得された暗号文のインデックス情報が示す2つのノードのうちの一方が、前記木構造中で前記識別情報記憶手段で記憶された識別情報が示すリーフの祖先のノードであり、且つ他方が当該リーフの祖先ではないノードであるとき、当該暗号文が復号可能であると判定手段で判定する。(e)前記秘密鍵記憶手段で記憶された1つ又は複数の秘密鍵の中から、前記判定手段で復号可能と判定された暗号文を復号するための復号鍵を導出可能な秘密鍵を選択手段で選択し、(f)前記選択手段で選択された秘密鍵を用いて、前記判定手段で復号可能と判定された暗号文を復号するための復号鍵を導出手段で導出し、(g)前記判定手段で復号可能と判定された暗号文を前記導出手段で導出された復号鍵を用いて復号する。
(2)前記判定手段では、前記取得手段で取得された1つ又は複数の暗号文のうち、前記インデックス情報が示す2つのノードのうちの一方のノードが、前記木構造中で前記識別情報記憶手段で記憶された識別情報が示すリーフと共通する祖先のノードの数が最も多い暗号文から順に、復号可能か否かを判定する。これにより、判定する暗号文の数を大幅に削減することができ、暗号文判定に係る処理時間の短縮が図れる。
(3)前記選択手段では、前記判定手段で復号可能と判定された暗号文のインデックス情報が示す2つのノードの前記木構造中での位置と、前記識別情報記憶手段で記憶された識別情報が示すリーフの前記木構造中での位置とに基づき、前記秘密鍵記憶手段で記憶された1つ又は複数の秘密鍵の中から、前記判定手段で復号可能と判定された暗号文を復号するための復号鍵を導出可能な秘密鍵を選択する。これにより、前記復号鍵を導出可能な秘密鍵を全数探索する必要がなく、秘密鍵選択に係る処理時間の短縮が図れる。さらに、前記秘密鍵記憶手段では、前記秘密鍵記憶手段で記憶された1つ又は複数の秘密鍵を、各秘密鍵に対応する前記2つのノードの前記木構造中の位置に基づき予め定められた順序に記憶する。秘密鍵選択の際には、前記判定手段で復号可能と判定された暗号文のインデックス情報が示す2つのノードの前記木構造中での位置と、前記識別情報記憶手段で記憶された識別情報が示すリーフの前記木構造中での位置とに基づき、前記秘密鍵記憶手段で記憶された1つ又は複数の秘密鍵のうち、前記判定手段で復号可能と判定された暗号文を復号するための復号鍵を導出可能な秘密鍵の記憶されている順番を算出する。これにより、前記復号鍵を導出可能な秘密鍵のメモリ上での格納場所を探索する必要がなく、秘密鍵選択に係る処理時間のさらなる短縮が図れる。
なお、装置に係る本発明は方法に係る発明としても成立し、方法に係る本発明は装置に係る発明としても成立する。
また、装置又は方法に係る本発明は、コンピュータに当該発明に相当する手順を実行させるための(あるいはコンピュータを当該発明に相当する手段として機能させるための、あるいはコンピュータに当該発明に相当する機能を実現させるための)プログラムとしても成立し、該プログラムを記録したコンピュータ読取り可能な記録媒体としても成立する。
本発明によれば、受信した暗号文を復号装置に入力してから平文を取得するまでの処理時間の短縮が図れる。
以下、図面を参照しながら発明の実施の形態を説明する。
(第1の実施形態)
図1は第1の実施形態に係る暗号文データ送信側の送信システム及び暗号文データ受信側の受信システムを含むデータ通信システムの構成例を示す図である。
このデータ通信システムは、図1に示すように、暗号化装置10を含む送信システム1と、復号装置20をそれぞれ含むn個の受信システム2とがネットワーク3を介して接続されている。
ここで、送信システム1は、平文を暗号化してネットワーク3を介してブロードキャストあるいはマルチキャストするものである。なお、平文とは、例えば、動画データ、音声データ、テキストデータ、静止画データなどのデジタルデータであってもよいし、他の暗号文を復号するための復号鍵又はその復号鍵を導出するためのデータであってもよい。
n個の受信システム2は、送信システム1によりブロードキャストあるいはマルチキャストされた暗号文データをネットワーク3を介して受信し復号するものである。
なお、図1のデータ通信システムでは、各ネットワークノードが、送信システム1及び受信システム2のうちのいずれか一方に対応し、1つのネットワークノードのみ送信システム1である場合を示しているが、送信システム1が複数存在しても構わない。また、1つのネットワークノードが、送信システム1の機能と受信システム2の機能とを兼ね備えてもよい。また、全てのネットワークノードが送信システム1の機能と受信システム2の機能とを兼ね備えることによって、相互に暗号通信可能としてもよい。
ネットワーク3は、有線ネットワークでも、無線ネットワークでもよい。また、有線ネットワークと無線ネットワークを両方使用したものであってもよい。また、双方向ネットワークでも、単方向ネットワークでもよい。また、ネットワーク3は、オフラインであってもよい。すなわち、送信システム1で生成された暗号文等をDVD等の記録媒体に格納して各受信システム2へ渡し、各受信システム2では、当該記録媒体から暗号文等を読み取り、復号する。
すなわち、以下の実施形態にかかる送信システム1及び受信システム2では、両者の間で情報データを受け渡しするための手段が、有線・無線通信や記録媒体などのうちのどの手段であっても適用可能である。
図1の暗号化装置10と復号装置20を説明する前に、復号装置識別情報をリーフに割り当てた木構造と、復号装置へ与えられる秘密鍵について説明する。本実施形態における各復号装置は固有の復号装置識別情報を持ち、各復号装置識別情報は、図2のように木構造上の任意の1つにリーフに対応する。図2は、復号装置識別情報をリーフに割り当てた木構造を模式的に示したものである。
図2において、各復号装置識別情報は木構造の各リーフにそれぞれ割り当てられる。木構造中の最上位ノードをルートと呼ぶ。この木構造のリーフノードの高さ(height)を「0」、ルートノードの高さ(height)を「31」とすると、リーフの数、すなわち、復号装置の数は全部で231個となる。秘密鍵は木構造中の2つのノードに対して1つ割り当てられる。以下、2つのノードをuノード、vノードと表記したとき、特に断りのない限り、uノードはより上位に位置するノードであるとする。ある2つのノードであるuノード、vノードに対して割り当てられる秘密鍵をkuvと表記し、uノードを祖先に持ち、且つvノードを祖先に持たないリーフの集合をSuvと表記する。このとき、復号装置識別情報dに割り当てられたリーフがSuvに属している場合、秘密鍵としてkuvを与える(もしくは後述のように導出可能とする)。後述のように、復号装置は、秘密鍵を用いて暗号文を復号するための復号鍵を導出する。
図3は、図2に示した木構造をより具体的に示したもので、ルートノード「15」の高さ(height)が「3」である場合の木構造を示したものである。この場合、リーフの数、すなわち、復号装置の数は全部で2=8個となる。uノードを図3のノード「13」、vノードを図3のノード「10」とすると、uノードを祖先に持ち、且つvノードを祖先に持たないリーフの集合をSuv=S(13,10)は、{ノード「1」、ノード「2」}={1,2}となり、S(13,10)に属するリーフ(復号装置)には、kuv=k(13,10)が割り当てられる。
あり得る全てのuノード、vノードの組み合わせに対して秘密鍵kuvを生成すれば、全ての復号装置に与える秘密鍵が生成されることになる。ここで、あり得る全てのuノード、vノードの組み合わせに対して秘密鍵kuvを独立に生成する場合、各復号装置が保持する秘密鍵数が非常に大きくなってしまうので、非特許文献1に述べられているように、図4に示した要領で秘密鍵を与える。
図4では、ノード「15」をルートとする図3と同様の木構造を例にとり示している。全ての秘密鍵を独立に生成する場合、リーフ「1」に相当する復号装置に与えられる秘密鍵は、k(15,14)、k(15,11)、k(15,12)、k(15,5)、k(15,6)、k(15,7)、k(15,8)、k(15,10)、k(15,3)、k(15,4)、k(15,2)、k(13,10)、k(13,3)、k(13,4)、k(13,2)、k(9,2)となる。これに対し、次式で定義される一方向性関数Gを導入し、秘密鍵数の削減を行う。
G:{0,1}→{0,1}3x
例えば、次式のように秘密鍵k(15,14)を用いて秘密鍵k(15,11)、k(15,12)を導出可能にする。
G(k(15,14))=k(15,11)||Dk(15,14)||k(15,12)
ここで、||はデータの連結を表し、Dk(15,14)はuノードが「15」、vノードが「14」を表すインデックス情報が付加されている暗号文を復号するための復号鍵である。また、関数Gの構成方法は、例えば、出力長xのハッシュ関数Hを用いて次式のように構成する方法がある。
G(k(15,14))
=H(k(15,14)||s0)
||H(k(15,14)||s1)
||H(k(15,14)||s2)
=k(15,11)||Dk(15,14)||k(15,12)
ここで、s0、s1、s2は定数である。そして、上記例の場合、s0は、秘密鍵k(15,14)から、uノードがノード「15」であり、vノードがノード「14」の左の子ノード「11」とする秘密鍵k(15,11)を求めるための値である。s1は、秘密鍵k(15,14)から、uノードがノード「15」、vノードがノード「14」を表すインデックス情報が付加されている暗号文を復号するための復号鍵Dk(15,14)を求めるための値である。s2は、秘密鍵k(15,14)から、uノードがノード「15」であり、vノードがノード「14」の右の子ノード「12」とする秘密鍵k(15,12)を求めるための値である。
このような一方向性関数Gを導入すれば、リーフ「1」に相当する復号装置に与えられる秘密鍵として、k(15,14)、k(15,10)、k(15,2)、k(13,10)、k(13,2)、k(9,2)の6つを与えておけば、それ以外の秘密鍵は一方向性関数Gを用いることにより導出可能である。例えば、秘密鍵k(15,14)に、上記一方向性関数Gを適用することで、秘密鍵k(15,11)、k(15,12)が得られ、さらにk(15,11)に上記一方向性関数Gを適用することでk(15,5)、k(15,6)が得られ、k(15,12)に上記一方向性関数Gを適用することでk(15,7)、k(15,8)が得られる。同様にして、k(13,10)からはk(13,3)、k(13,4)が得られる。なお、上述の秘密鍵に加え、全ての復号装置に共通の秘密鍵(root key)を与えてもよい。
木構造を分割してそれぞれ独立に扱うことにより、秘密鍵数をさらに削減することが可能であることが知られている。例えば、図3の木構造を2つに分割し、ノード「13」とノード「14」をそれぞれルートとする木構造に分割する場合、リーフ「1」に相当する復号装置が与えられる秘密鍵は、上記6つの秘密鍵のうち、ノード「13」をルートとする木構造上のk(13,10)、k(13,2)、k(9,2)の3つとなる。ただし、この場合、送信オーバヘッドが約2倍となってしまう。
図1の説明に戻る。送信システム1の暗号化装置10は、暗号化鍵格納部11、無効復号装置識別情報格納部12、木構造情報格納部13、メッセージ暗号化部14、インデックス情報生成部15から構成される。なお、この他に、ネットワーク3へ接続するためのインターフェース手段など適宜備えるものとする。
暗号化鍵格納部11は、任意のuノード、vノードの組み合わせに対応する暗号化鍵が格納されている。ここで、平文の暗号化には共通鍵暗号方式、公開鍵暗号方式のいずれを用いてもよい。説明を簡単にするため、以下、平文の暗号化に共通鍵暗号方式を用いる場合を考える。この場合、あるuノード、vノードに対応する暗号化鍵と復号鍵は同一である。また、暗号化鍵格納部11には全ての暗号鍵を格納せずに、任意のuノード、vノードの組み合わせに対応する暗号化鍵が導出可能となる情報が格納されていてもよい。
無効復号装置識別情報格納部12は、メッセージの復号を許可しない復号装置の識別情報を格納する。木構造情報格納部13は、木構造の規模に関する情報(例えば、木構造の高さ、リーフの数などを特定することのできる情報)を格納する。
図5は、暗号化装置10における暗号化処理動作を説明するためのフローチャートである。暗号化部14では、無効復号装置識別情報格納部12から無効復号装置の識別情報を受け取り、また、木構造情報格納部13から木構造の規模に関する情報を受け取り(ステップS1)、非特許文献1に記載された手法を用いて、暗号文の復号が可能な有効復号装置の識別情報が示すリーフの集合をSuvの和集合として表したときの各Suvにおけるuノードとvノードの組み合わせを求める(ステップS2)。
例えば、図6に示すように、リーフ「1」〜「8」が復号装置「1」〜「8」にそれぞれ対応し、復号装置「2」「5」「6」が無効復号装置であるとする。この場合、無効復号装置を除く有効復号装置「1」「3」「4」「7」「8」に対応するリーフの集合{1,3,4,7,8}は、ノード「13」を祖先に持ち且つノード「2」を祖先に持たないリーフの集合S(13,2)={1,3、4}と、ノード「14」を祖先に持ち且つノード「11」を祖先に持たないリーフの集合S(14,11)={7,8}の和集合S(13,2)+S(14、11)、すなわち、
{1,3,4,7,8}=S(13,2)+S(14、11)
と表すことができる。
このとき、S(13,2)のuノード及びvノードの組み合わせに対応する秘密鍵k(13,2)は、有効復号装置「1」「3」「4」は与えられている(もしくは導出可能である)が、無効復号装置「2」には与えられていない(且つ導出不可能である)。なお、リーフ「5」〜「8」にも、もともと秘密鍵k(13,2)は与えられていない(且つ導出不可能である)。また、S(14,11)のuノード及びvノードの組み合わせに対応する秘密鍵k(14,11)は、リーフ「7」「8」には与えられているが、リーフ「5」「6」には与えられていない(且つ導出不可能である)。なお、リーフ「1」〜「4」にも、もともと秘密鍵k(14,11)は与えられていない(且つ導出不可能である)。
従って、図6の場合には、無効復号装置のリーフ「2」には与えられていない秘密鍵k(13、2)から導出可能な復号鍵Dk(13,2)に対応する暗号化鍵(平文の暗号化に共通鍵暗号方式を用いる場合、対応する暗号化鍵もDk(13,2)である)と、無効復号装置のリーフ「5」「6」には与えられていない秘密鍵k(14、11)から導出可能な復号鍵Dk(14,11)に対応する暗号化鍵(平文の暗号化に共通鍵暗号方式を用いる場合、対応する暗号化鍵もDk(14,11)である)とが暗号化鍵格納部11から取得される(ステップS3)。そして、得られた暗号化鍵を用いて、入力された平文をそれぞれ暗号化する(ステップS4)。
なお、図6に示すような木構造の場合、平文を暗号化鍵Dk(13,2)と暗号化鍵Dk(14,11)のそれぞれを用いて暗号化して、2つの暗号文を生成すると、この暗号文を受け取った復号装置「1」〜「8」のうち、有効復号装置「1」「3」「4」「7」「8」のみが、当該暗号文を復号することができる。
次に、インデックス情報生成部15は、生成された暗号文を復号するための各復号鍵に対応するuノード、vノードの組み合わせを表すインデックス情報を生成する(ステップS5)。そして、それぞれの暗号文に、当該暗号文を復号するための復号鍵に対応するuノード、vノードの組み合わせを表すインデックス情報を付加し、その結果得られるデータを暗号文データとして出力する(ステップS6)。本実施形態においては、特に断りのない限り、暗号文とは平文を暗号化したものであり、暗号文データは、暗号文と当該暗号文に対応するインデックス情報とを含むものである。
図7は、暗号化装置10から出力される暗号文データのデータ構造の一例を示したものである。図7に示すように、暗号文データは、ステップS3で得られた暗号化鍵を用いて生成された暗号文と、当該暗号文を復号するための復号鍵に対応するuノード、vノードの組み合わせを表すインデックス情報(暗号文インテックス情報)とが含まれている。例えば、暗号化鍵Dk(13、2)を用いて生成された暗号文[1]には、「13、2」というインデックス情報が付加され、暗号化鍵Dk(14、11)を用いて生成された暗号文[2]には、「14、11」というインデックス情報が付加されている。
受信システムの復号装置20は、暗号文データ取得部21、暗号文判定部22、復号部23、秘密鍵格納部24、装置識別情報格納部25、秘密鍵選択部26、復号鍵導出部27から構成される。なお、この他に、ネットワーク3へ接続するためのインターフェース手段など適宜備えるものとする。
秘密鍵格納部24には、図8に示すように、復号装置20に与えられた秘密鍵と当該秘密鍵に対応するuノード、vノードの組み合わせを表すインデックス情報(秘密鍵インデックス情報)とがそれぞれ格納されている(もしくは後述のように当該復号装置の秘密鍵のみが格納されていてもよい)。
装置識別情報格納部25には、当該復号装置の識別情報が格納されている。
暗号文データ取得部21は、復号装置20に入力された暗号文データを取得する。
暗号文判定部22は、当該復号装置が暗号文データ取得部21において取得された暗号文を復号可能であるか否かを判定する。
秘密鍵選択部26は、秘密鍵格納部24に格納されている秘密鍵の中から、暗号文判定部22において復号可能と判定された暗号文を復号するための復号鍵を導出可能な秘密鍵を選択する。
復号鍵導出部27は、秘密鍵選択部26において選択された秘密鍵を用いて、暗号文判定部22において復号可能と判定された暗号文の復号するための復号鍵を導出する。
復号部23は、復号鍵導出部27において導出された復号鍵を用いて暗号文判定部22において復号可能と判定された暗号文を復号する。
秘密鍵格納部24に格納されている秘密鍵は予め定められた順序に格納されていてもよい。図9に示すフローチャートを参照して、格納順序決定方法を説明する。始めに、変数i、j、kをそれぞれ「1」に設定する(ステップS11)。当該復号装置の識別情報を表すリーフをAノードとする(ステップS12)。Aノードの親ノードをuノードとし、Aノードの兄弟ノードをvノードとし(ステップS13)、上記uノード、vノードの組み合わせに対応する秘密鍵をi番目の秘密鍵として格納する(ステップS14)。
次に、与えられた秘密鍵が全て格納されたか否かを判定し(ステップS15)、全て格納済みならば終了する。そうでなければ、iを1だけインクリメントし、jを1だけデクリメントする(ステップS16)。j=0であるか否かを判定し、j=0でない場合(ステップS17)、ステップ13へ戻る。j=0である場合(ステップS17)、Aノードの親ノードをAk+1ノードとした後(ステップS18)、kを1だけインクリメントし、(インクリメント後の)kの値をjに代入し(ステップS19)、ステップ13へ戻る。
例えば、当該復号装置の識別情報が示すリーフ(Aノード)が、図10に示す木構造中のリーフ「1」であるとする。このリーフ「1」に相当する復号装置に与えられる秘密鍵は、k(15,14)、k(15,10)、k(15,2)、k(13,10)、k(13,2)、k(9,2)である。これらの秘密鍵の格納順序を図9に示したフローチャートに従って決定する場合を例にとり、図11を参照して、より具体的に説明する。
まず、i=1の場合(A=A、A=A)、Aノード(リーフ「1」)の親ノードはノード「9」であり、「A」ノード(リーフ「1」)の兄弟ノードはノード「2」であるから(ステップS13)、i=1番目の秘密鍵に対応するuノードとvノードの組み合わせは、{9,2}となる(1回目のステップS13〜ステップS15)。
i=2の場合(A=A、A=A)、「A」ノード(ノード「9」)の親ノードはノード「13」であり、「A」ノード(ノード「9」)の兄弟ノードはノード「10」であるから(ステップS13)、i=2番目の秘密鍵に対応するuノードとvノードの組み合わせは、{13,10}となる(2回目のステップS13〜ステップS15)。
i=3の場合(A=A、A=A)、「A」ノード(ノード「9」)の親ノードはノード「13」であり、「A」ノード(リーフ「1」)の兄弟ノードはノード「2」であるから(ステップS13)、i=3番目の秘密鍵に対応するuノードとvノードの組み合わせは、{13,2}となる(3回目のステップS13〜ステップS15)。
i=4の場合(A=A、A=A)、「A」ノード(ノード「13」)の親ノードはノード「15」であり、「A」ノード(ノード「13」)の兄弟ノードはノード「14」であるから(ステップS13)、i=4番目の秘密鍵に対応するuノードとvノードの組み合わせは、{15,14}となる(4回目のステップS13〜ステップS15)。
i=5の場合(A=A、A=A)、「A」ノード(ノード「13」)の親ノードはノード「15」であり、「A」ノード(ノード「9」)の兄弟ノードはノード「10」であるから(ステップS13)、i=5番目の秘密鍵に対応するuノードとvノードの組み合わせは、{15,10}となる(5回目のステップS13〜ステップS15)。
i=6の場合(A=A、A=A)、「A」ノード(ノード「13」)の親ノードはノード「15」であり、「A」ノード(リーフ「1」)の兄弟ノードはノード「2」であるから(ステップS13)、i=6番目の秘密鍵に対応するuノードとvノードの組み合わせは、{15,2}となる(6回目のステップS13〜ステップS15)。
図10において、この格納順序決定方法を適用すると、リーフ「1」に相当する復号装置には、k(9,2)、k(13,10)、k(13,2)、k(15,14)、k(15,10)、k(15,2)の順番で秘密鍵が格納されることになる。なお、上述の例では、uノードが木構造の中で低い位置にあるものから順に並べたが、逆にuノードが木構造の中で高い位置にあるものから(図10ではノード「15」をuノードとしたものから)並べてもよい。また、vノードについて、上述の例では、同一のuノードに対しては木構造の中で高い位置にあるものから順に並べたが、逆にvノードが木構造の中で低い位置にあるものから(図10では、例えば、uノードがノード「13」であるとき、ノード「10」とノード「2」がvノードになり得るが、ノード「2」をvノードとしたものを先に)並べてもよい。
このようにして秘密鍵を予め定められた順序に格納しておくことにより、後述のように、秘密鍵選択の際に選択すべき秘密鍵がより効率的に探索できる。上述の例では、秘密鍵格納部24に格納される秘密鍵を予め定められた順序に格納する場合を説明したが、格納順序を設定せずに秘密鍵を格納してもよい。また、後述のように、秘密鍵に対応するuノード、vノードの組み合わせを表すインデックス情報を用いずに暗号文を復号することも可能であるため、秘密鍵に対応するuノード、vノードの組み合わせを表すインデックス情報を格納せず、秘密鍵のみ格納してもよい。もちろん、秘密鍵と当該秘密鍵に対応するuノード、vノードの組み合わせを表すインデックス情報とを格納してもよい。
図12は、暗号文の復号処理の概略を示したフローチャートである。始めに、暗号文判定部22において、暗号文データ取得部21において取得された暗号文データの中から暗号文のインデックス情報を取得する(ステップS21)。次に、暗号文判定部22において、取得された暗号文のインデックス情報に対応する暗号文を、当該復号装置が復号可能であるか否かを判定し、当該復号装置が復号可能な暗号文を探索する(ステップS22)。その後、秘密鍵選択部26は、秘密鍵格納部24に格納された秘密鍵の中から、暗号文判定部22において復号可能と判定された暗号文を復号するための復号鍵を導出可能な秘密鍵を選択する(ステップS23)。そして、復号鍵導出部27は、秘密鍵選択部26において選択された秘密鍵を用いて、暗号文判定部22において復号可能と判定された暗号文を復号するための復号鍵を導出し(ステップS24)、復号部23は、復号鍵導出部27において導出された復号鍵を用いて、暗号文判定部22において復号可能と判定された暗号文を復号する(ステップS25)。
図13は、図12のステップS22の暗号文判定処理を説明するためのフローチャートである。始めに、装置識別情報格納部25に格納されている当該復号装置の識別情報dを取得し(ステップS31)、変数iを「1」に設定する(ステップS32)。次に、暗号文データ取得部21から、i番目の暗号文データに含まれる暗号文のインデックス情報[i]を取得し(ステップS33)、当該インデックス情報[i]が示すuノード、vノードを抽出する。そして、当該復号装置の識別情報dが示すリーフが、予め与えられた木構造においてuノードを祖先に持ち且つvノードは祖先に持たないリーフであるか否かを判定する(ステップS34)。当該復号装置の識別情報dが示すリーフが、予め与えられた木構造においてuノードを祖先に持ち且つvノードは祖先に持たないリーフである場合(「yes」の場合)には、ステップS35へ進み、当該インデックス情報[i]に対応する暗号文[i]は復号可能であると判定し(ステップS35)、終了する。当該復号装置の識別情報dが示すリーフが、予め与えられた木構造においてuノードを祖先に持ち且つvノードは祖先に持たないリーフではない場合(「「no」の場合」には、ステップS36へ進む。
ステップS36では、暗号文データ取得部21で取得された全ての暗号文のインデックス情報に対し、ステップS33、ステップS34での検査が行われたか否かを判定し(ステップS36)、未検査の暗号文のインデックス情報があれば(「no」の場合)、ステップS37へ進み、iを「1」だけインクリメントし、ステップS33へ戻る。ステップS36において、全ての暗号文のインデックス情報について検査した場合には、当該復号装置は無効復号装置であると判定し(ステップS38)、必要に応じてその旨を通知して、終了する。
なお、ステップS31は、必ずしも、ステップS32、ステップS33の前に行う必要はなく、ステップS34を行う前に一度行えばよい。例えば、ステップS32、ステップS33、ステップS31の順に実行してもよいし、ステップS31をステップS32、ステップS33と同時に行ってもよい。
なお、後述のように、暗号文判定処理において、当該復号装置の識別情報dを用いることに代えて、秘密鍵のインデックス情報を用いることも可能である。この場合、ステップS31では、当該復号装置の識別情報dに代えて、秘密鍵格納部24において格納された秘密鍵に対応するuノード、vノードの組み合わせを表すインデックス情報を取得する。また、暗号文判定処理において、当該復号装置の識別情報dと秘密鍵のインデックス情報とを用いることも可能である。この場合、ステップS31では、当該復号装置の識別情報dと秘密鍵のインデックス情報とを取得する。
ここで、ステップS34における具体的な処理を説明する。木構造の中のノードは以下の要領で符号化されている。図14(a)に示すように、木構造の中で、ある親ノードから左の子ノードへ下がる経路に「0」を、右の子ノードへ下がる経路に「1」を割り当て、ルートから対象のノード(リーフを含む)までの経路を上記のように「0」「1」で表した後、その最後に1つの「1」と必要に応じた数の「0」とを付加する、つまり「10…0」を付加する。また、各ノード(リーフを含む)を示す符号のビット長Lは、当該システムへ適用する木構造の高さに応じて予め定められている。
各ノード(リーフを含む)を表す符号のビット長の規定値Lは、例えば、図14(b)に示すように、木構造の高さが3である場合には4ビットであり、図2に示したように、木構造の高さが31である場合には32ビットである。
そこで、ルートから対象のノード(リーフを含む)までの経路を上記のように「0」「1」で表した後、その最後に「1」を付加し、さらに、ビット長を上記規定値Lに揃えるために、(ビット数が規定値L未満の場合には)パッディングビット「0」を付加して、対象のノード(リーフを含む)の符号が得られる。
例えば、図14(b)に示すようなルートが「15」であるような木構造では、ノードの符号のビット長は4ビットであるから、図14(c)に示すように、リーフ「1」は「0001」、リーフ「3」は「0101」、ルート「15」は「1000」という符号で表すことができる。各符号の最下位ビットからみて、最初に出現する「1」までは、ビット長をLに揃えるための冗長ビットとも云える。例えば、リーフ「3」やリーフ「1」の符号では、最後の1ビットの「1」が冗長ビットで、ルート「15」の符号では、「1000」が冗長ビットである。なお、本実施形態では、最下位ビットとは符号の一番右のビットを意味し、最上位ビットとは符号の一番左のビットを意味する。
図14(b)に示す木構造上のリーフ「1」に対応する復号装置の装置識別情報格納部25には、装置識別情報dとして「0001」が格納されている。また、暗号文のインデックス情報に含まれるuノード、vノードも、上記のような符号で表されている。
図13のステップ33において取得した暗号文のインデックス情報[i]に含まれるuノード(例えば図14(b)のノード「15」)、vノード(例えば図14(b)のリーフ「3」)の符号を、図15に示すように、それぞれU、Vとする。すなわち、U=「1000」、V=「0101」である。
Vの冗長ビットのビット長(パッディング長)をMv、Uの冗長ビットのビット長(パッディング長)をMuとする。この場合、Mv=1、Mu=4である。
当該復号装置の識別情報dが示すリーフが木構造においてuノードを祖先に持つとは、次式が成立することを意味する。
(d^U)>>Mu==0 …(x1)
ここで、^はビット毎の排他的論理和、>>は右シフト、==は等価を表す。例えば、図15に示すような長さLのdとUとの排他的論理和をとった後の各ビットを右にMuビット(ここでは4ビット)ずらして、空いた部分に「0」を詰めた結果「0000」を(2進数表現から10進数表現へ)数値化したものが「0」であるから、識別情報dが示すリーフは、uノードを祖先に持つと云える。
また、vノードは祖先に持たないとは、次式が成立することを意味する。
(d^V)>>Mv!=0 …(x2)
ここで、!=は非等価を表す。例えば、図15に示すような長さLのdとVとの排他的論理和をとった後の各ビットを右にMvビット(ここでは1ビット)ずらして、空いた部分に「0」を詰めた結果「0010」を数値化したものが0でないから、識別情報dが示すリーフは、vノードを祖先に持たないと云える。
図13のステップS34では、各暗号文[i]について、当該暗号文のインデックス情報[i]に含まれているuノードとvノードを表す符号に対し、上記式(x1)と式(x2)を適用して、当該暗号文[i]が識別情報dを持つ復号装置で復号可能か否かを判定する。
上述の例では、当該復号装置の識別情報dと暗号文のインデックス情報とを用いて判定を行う例を説明したが、これに限らず、秘密鍵のインデックス情報と暗号文のインデックス情報とを用いて判定を行ってもよい。暗号文のインデックス情報[i]に含まれるuノードを示す符号化データ(U)の冗長ビットのビット長(パッディング長)をMu、暗号文のインデックス情報[i]に含まれるvノードを示す符号化データ(V)の冗長ビットのビット長(パッディング長)をMvとし、秘密鍵格納部24に格納された秘密鍵のインデックス情報[j]に含まれるuノードを示す符号化データ(U’とする)の冗長ビットのビット長(パッディング長)をMu’、秘密鍵格納部24に格納された秘密鍵のインデックス情報[j]に含まれるvノードを示す符号化データ(V’とする)の冗長ビットのビット長(パッディング長)をMv’とする。ステップS34において、以下の2つの式を適用して、当該暗号文[i]が識別情報dを持つ復号装置で復号可能か否かを判定する。
Mu==Mu’ …(x3)
(V&Mv’)==(V’&Mv’) …(x4)
ここで、&はビット毎の論理積を表す。図4に例示したように、識別情報dを持つ復号装置に与えられる秘密鍵に対応するuノード、vノードの全ての組について、当該復号装置の識別情報dが示すリーフがuノードを祖先に持ち且つvノードは祖先に持たないことが成立する。従って、上記式(x3)及び式(x4)が成立するならば、暗号文[i]に対応するuノードと秘密鍵[j]に対応するuノードとは同一ノードであり、且つ暗号文[i]に対応するvノードは秘密鍵[j]に対応するvノードの祖先(又は同一ノード)であるため、暗号文[i]に対応するuノード、vノードについて、当該復号装置の識別情報dが示すリーフがuノードを祖先に持ち且つvノードは祖先に持たないことが成立する。このような方法によっても、当該復号装置の識別情報dが示すリーフが、予め与えられた木構造において、当該暗号文に対応するuノード、vノードについて、uノードを祖先に持ち且つvノードは祖先に持たないリーフであるか否かを判定できる。
次に、秘密鍵選択部26における秘密鍵選択処理について、図16に示すフローチャートを参照して説明する。図13のステップS35で復号可能であると判定された暗号文[i]に対応する暗号文のインデックス情報[i]を取得する(ステップS51)。次に、このインデックス情報[i]に含まれるuノードを示す符号化データ(U)を抽出し、Uのパディング長Muの値を取得する(ステップS52)。なお、Muが図13のステップS34での判定処理の際に取得されている場合、ステップS52を省略してもよい。次に、インデックス情報[i]に含まれるvノードを示す符号化データ(V)を抽出する(ステップS53)。なお、Vが図13のステップS34での判定処理の際に取得されている場合、ステップS53を省略してもよい。ステップS53において、後述する復号鍵導出の際に用いられる、Vのパディング長Mvの値を取得してもよい。なお、Mvは、前述したように、図13のステップS34での判定処理の際に取得することもできる。
以下、図15(図15では図14に示した木構造が想定されている)に示すように、装置識別情報dがリーフ「1」に対応する「0001」、Vがリーフ「3」に対応する「0101」、Uがルートノード「15」に対応する「1000」、である場合を例にとり説明する。
次に、装置識別情報dとVとの共通プリフィックスを探索し、共通プリフィックスのビット長tの値を取得する(ステップS54)。ここで、dとVとの共通プリフィックスとは、符号化データの最上位ビットからdとVとをビット毎に比較していき、初めて異なるビットに出合う前までのビット列を意味する。ただし、冗長ビット(パディングビット)は含まない。図15の場合、1ビット目までが同じであるので、共通プリフィックスは「0」、そのビット長tは1となる。なお、この共通プリフィックスにパディングを施した「0100」はノード「13」であり、リーフ「1」とリーフ「3」の共通の祖先の中で木構造中の高さが最も低いノードである。
なお、ステップS52〜ステップS54の処理は、必ずしも、この順で行う必要はなく、例えば、ステップS53、ステップS54、ステップS52の順で行ってもよいし、ステップS53、ステップS54の処理と同時にステップS52を行ってもよい。
次に、秘密鍵格納部24に格納されている秘密鍵の中から、{(Mu−1)(Mu−2)/2+t−(L−Mu)+1}番目の秘密鍵(Kとおく)を取得する(ステップS55)。ここで、リーフ「1」の復号装置では、当該復号装置に与えられている複数の秘密鍵は、図11に示すような順に秘密鍵格納部24に格納されている。すなわち、大きく分けて、リーフ「1」の親ノード「9」がuノードである第1のグループ、さらにその親ノード「13」がuノードである第2のグループ、さらにその親ノード「15」がuノードである第3のグループの順に格納されている。そして、1番目に格納されているのは、第1のグループに属する、uノードが「9」で、vノードがその子ノードの「2」であるような秘密鍵である。また、2番目に格納されているのは、第2のグループに属する、uノードが「13」で、vノードがその子ノードの「10」であるような秘密鍵であり、3番目に格納されているのは、同じく、uノードが「13」で、vノードがその孫ノードの「2」であるような秘密鍵である。また、4番目に格納されているのは、第3のグループに属する、uノードが「15」で、vノードがその子ノードの「14」であるような秘密鍵であり、5番目に格納されているのは、同じく、uノードが「15」で、vノードがその孫ノードの「10」であるような秘密鍵であり、6番目に格納されているのは、同じく、uノード「15」で、vノードがその曾孫ノードの「2」であるような秘密鍵である。このように、リーフ「1」から見て、より近い順に秘密鍵が格納されている。
暗号文のインデックス情報に含まれているuノード及びvノードに対応する暗号文を復号するための復号鍵が、上記6つのうちの何番目の秘密鍵で導出できるかを次式(x5)から求めることができる。
(Mu−1)(Mu−2)/2+t−(L−Mu)+1 …(x5)
上記式(x5)の前半の{(Mu−1)(Mu−2)/2}の値は、uノードがノード「9」の場合には0、uノードがノード「13」の場合には1、uノードが「15」の場合には、3となり、上記第1〜第3のグループのうちのいずれに属するかを表す。
また、上記式(x5)の後半の{t−(L−Mu)+1}の値は、各グループの何番目の秘密鍵であるかを表す。
従って、図15の場合、{(Mu−1)(Mu−2)/2}={(4−1)(4−2)/2}=3、{t−(L−Mu)+1}={1−(4−4)+1}=2となり、図11に示されたような順番で秘密鍵が格納されている秘密鍵格納部24から、5番目の秘密鍵(上記第3のグループの2番目の秘密鍵)k(15,10)を取得する。これをKとする。
上述の例では、秘密鍵格納部24に格納される秘密鍵を予め定められた順序に格納し、暗号文判定部22において当該復号装置で復号可能と判定された暗号文のインデックス情報と装置識別情報格納部25において格納される当該復号装置の識別情報とを用いて、選択すべき秘密鍵の格納されている順番を算出しており、秘密鍵選択において、秘密鍵のインデックス情報は用いられていない。この方法に限らず、選択すべき秘密鍵に対応するuノード、vノードを示す符号化データ(U、V)を取得し、取得したU、Vと一致するインデックス情報が付加された秘密鍵を秘密鍵格納部24に格納されている秘密鍵の中から探索してもよい。図15で説明すると、ステップ54において、dとVとの共通プリフィックスを求め、dの符号化データ「0001」について、Vと最上位ビットから比較したときに初めて異なるビット(ここでは2番目のビット)をビット反転させ、3番目以降のビットをパディング処理した「0110」(ノード「10」に対応)を選択すべき秘密鍵に対応するVとする。ステップ52で取得されるU(ここでは「1000」、ノード「15」に対応)を選択すべき秘密鍵に対応するUとし、得られたU、Vと一致するインデックス情報が付加された秘密鍵を秘密鍵格納部24に格納されている秘密鍵の中から探索する。この秘密鍵選択においては、得られたU、Vと一致するインデックス情報を探索する際に、秘密鍵のインデックス情報を用いる。
上述のように、秘密鍵選択においては、当該復号装置の識別情報dと暗号文のインデックス情報[i]に含まれるvノードを示す符号化データ(V)との共通プリフィックスに基づいて、暗号文[i]を復号するための復号鍵を導出可能な秘密鍵を選択する。暗号文が複数の場合、dとVとののインデックス情報を取得し、各暗号文のインデックス情報に含まれるvノードを示す符号化データVについて、dとVとの共通プリフィックスのビット長tの値が最大となる暗号文を探索し、探索された暗号文のインデックス情報が示すuノードを抽出する(以前にvノードを抽出していない場合は、vノードも抽出する)。dとVとの共通プリフィック共通プリフィックスのビット長tの値がより大きい暗号文が当該復号装置で復号可能である可能性が高い。従って、暗号文判定部22において、dとVとの共通プリフィックスのビット長tの値が最大の暗号文から順に、当該復号装置で復号可能であるか否かを判定してもよい。このようにすれば、dとVとの共通プリフィックスのビット長tの値が最大の暗号文が復号可能であれば、1つの暗号文に対する判定を行うのみで当該復号装置で復号可能な暗号文を探索完了できることが期待される。また、dとVとの共通プリフィックスのビット長tの値が最大の暗号文が復号不可能であっても、当該tの値が2番目に大きい暗号文が復号可能であれば、2つの暗号文に対する判定を行うのみで当該復号装置で復号可能な暗号文を探索完了できる。
この場合の暗号文判定部22での暗号文判定処理は以下のようになる。当該復号装置の識別情報dを取得し、複数の暗号文スのビット長tの値が最大となる暗号文の探索では、dと各Vとをビット毎に比較してtの値を求め、tの値が最大となるVを探索してもよいし、dと各Vとをそれぞれ(2進数表示から10進数表示へ)数値化し、dを数値化した値に最も近い値を表すVを探索してもよい。そして、当該復号装置の識別情報dが示すリーフが、予め与えられた木構造においてuノードを祖先に持ち且つvノードは祖先に持たないリーフであるか否かを判定する。そうである場合、当該インデックス情報に対応する暗号文は復号可能であると判定する。そうでない場合、dとVとの共通プリフィックスのビット長tの値が2番目に大きい暗号文について判定を行ってもよいし、図13の処理を繰り返してもよい。
dとVとの共通プリフィックスのビット長tの値が最大となる暗号文の探索をより効率的に行うために暗号文をソートしておいてもよい。暗号文のソートは、送信システムにて行ってもよいし、受信システムにて行ってもよい。
暗号文のソートを送信システムで行う場合の送信システムの構成例を図21に示し、暗号文のソートを受信システムで行う場合の受信システムの構成例を図22にそれぞれ示す。
図21では、インデックス情報生成部15が、暗号文ソート部151を含み、暗号文のインデックス情報を生成する際に暗号文をソートする場合を示している。すなわち、各暗号文のインデックス情報を生成すると、暗号文ソート部151は、各暗号文のインデックス情報に含まれるvノードを示す符号Vを、木構造上の当該vノードの位置に従って、ルート側から下流方向の順に、あるいはリーフ側から上流方向の順にソートする。数値化した各符号Vを降順あるいは昇順にソートしてもよい。そして、各暗号文のインデックス情報に含まれるvノードを示す符号Vをソートした順番と同じ順番に、暗号文と暗号文のインデックス情報とを並べる。インデックス情報生成部15は、ソートされた暗号文と暗号文のインデックス情報とを暗号文データとして出力する。
送信システムが、図21に示す構成の場合、受信システムは、図1に示す構成のままでよい。この場合の受信システムの暗号文判定部22の暗号文判定処理について図23に示したフローチャートを参照して説明する。
暗号文データ取得部21で、送信システムから送信された、ソートされた暗号文データを受信すると、各暗号文データを一時格納する。暗号文判定部22は、始めに、装置識別情報格納部25に格納されている当該復号装置の識別情報dを取得する(ステップS71)。次に、暗号文データ取得部21より各暗号文のインデックス情報が示すvノードのリストを取得する(ステップS72)。このリスト上のvノードは、上述したように送信システムによりソートされている。次に、dとVとの共通プリフィックスのビット長tが最大となるVを探索する。探索方法として、dと各Vとをビット毎に比較してtの値を求め、tの値が最大となるVを二分岐探索してもよいし、dと各Vとをそれぞれ(2進数表示から10進数表示へ)数値化し、dを数値化した値に最も近い値を表すVを二分岐探索してもよい。dとVとの共通プリフィックスのビット長tが最大となるVが含まれているインデックス情報の付加されている暗号文の暗号文データ取得部21での格納番地iを取得する(ステップS73)。この後、図13のステップS34の判定処理を行うが、この判定処理では、ステップS73で取得されたi番目の暗号文のインデックス情報を用いて判定が行われる。
一方、送信システムが、図1に示す構成の場合、受信システムは、図22に示すように、暗号文データ取得部21が暗号文ソート部211を含み、暗号文データを取得する際に暗号文ソート部211にて暗号文をソートする。この場合の暗号文判定部22の暗号文判定処理について、図23に示すフローチャートを参照して説明する。
暗号文データ取得部21が送信システムから送信された暗号文データを受信すると、暗号文ソート部211は、各暗号文のインデックス情報に含まれるvノードを示す符号Vを、木構造上の当該vノードの位置に従って、ルート側から下流方向の順に、あるいはリーフ側から上流方向の順にソートする。数値化した各符号Vを降順あるいは昇順にソートしてもよい。そして、各暗号文のインデックス情報に含まれるvノードを示す符号Vをソートした順番と同じ順番に、暗号文と暗号文のインデックス情報とを並べ、暗号文データを暗号文データ取得部21に一時格納する。
暗号文判定部22は、始めに、装置識別情報格納部25に格納されている当該復号装置の識別情報dを取得する(ステップS71)。次に、暗号文データ取得部21より各暗号文のインデックス情報が示すvノードのリストを取得する(ステップS72)。このリスト上のvノードは、上述したように暗号文ソート部211によりソートされている。次に、dとVとの共通プリフィックスのビット長tが最大となるVを探索する。探索方法として、dと各Vとをビット毎に比較してtの値を求め、tの値が最大となるVを二分岐探索してもよいし、dと各Vとをそれぞれ(2進数表示から10進数表示へ)数値化し、dを数値化した値に最も近い値を表すVを二分岐探索してもよい。dとVとの共通プリフィックスのビット長tが最大となるVが含まれているインデックス情報の付加されている暗号文の暗号文データ取得部21での格納番地iを取得する(ステップS73)。この後、図13のステップS34の判定処理を行うが、この判定処理では、ステップS73で取得されたi番目の暗号文のインデックス情報を用いて判定が行われる。
上述の例では、当該復号装置の識別情報dと暗号文のインデックス情報に含まれるvノードを示す符号Vとの共通プリフィックスのビット長tが最大となるVを探索しているが、これに限らず、暗号文のインデックス情報に含まれるvノードを示す符号Vと秘密鍵のインデックス情報に含まれるvノードを示す符号V’との共通プリフィックスのビット長tが最大となるVを探索してもよい。
秘密鍵選択について、上述した方法以外に、以下の方法を用いてもよい。暗号文判定部22において識別情報dを持つ復号装置で復号可能と判定された暗号文のインデックス情報と秘密鍵格納部24に格納された秘密鍵のインデックス情報とを用いて、式(x3)及び式(x4)を満たすインデックス情報を探索し、当該インデックス情報に対応する秘密鍵を選択する。さらに、上述のように、図13のステップS34において、秘密鍵のインデックス情報と暗号文のインデックス情報とを用いて識別情報dを持つ復号装置で暗号文が復号可能であるか否かを判定する場合、ステップS34では、暗号文判定と秘密鍵選択とが同時に行われているとみなすことができる。
ここで、図17及び図18を参照して、本実施形態における秘密鍵選択の効率性を説明する。図17に示すように、秘密鍵が予め定められた順序に格納されていない場合(従来技術)、ステップS101の暗号文判定処理に引き続き、ステップS102において、どの秘密鍵で、復号可能と判定された暗号文を復号するための復号鍵を導出可能であるかを総当たりで探索する必要がある。それに対し、図18に示すように、本実施形態では、秘密鍵を予め定められた順序に格納してあるため、ステップS101の暗号文判定処理で、復号可能な暗号文を求めるだけでよく、従来技術を示す図17のステップS102にあるような復号鍵導出に用いるべき秘密鍵を選択するための秘密鍵の探索処理は不要となる。これに対し、本実施形態では、当該復号装置の識別情報dと、図13のステップS35で求めた復号可能な暗号文のインデックス情報に含まれるuノードとvノードを表す符号とを用いて、秘密鍵の格納されている順番を算出するようになっている。
暗号文判定について、従来技術では、当該復号装置で復号可能な暗号文を総当たりで探索する必要がある。それに対し、本実施形態では、当該復号装置の識別情報dと、暗号文のインデックス情報に含まれるvノードを表す符号(V)との共通プリフィックスのビット長が最大となる暗号文から先に当該復号装置で復号可能であるか否かを判定することにより、つまり、復号可能である可能性がより高い暗号文から判定することにより、無駄な探索を省き、暗号判定処理を効率化している。
次に、復号鍵導出部27における復号鍵導出処理について、図19に示すフローチャートを参照して説明する。始めに、図13のステップS35で復号可能であると判定された暗号文[i]に対応する暗号文のインデックス情報[i]に含まれるvノードを示す符号化データ(V)を抽出し、Vのパディング長Mvの値を取得する(ステップS61)。なお、Mvは、図13のステップS34での判定処理の際に取得することもできるし、秘密鍵選択を説明した図16のステップS53においても取得可能である。Mvを取得済みの場合、ステップS61を省略してもよい。次に、当該復号装置の識別情報dと暗号文のインデックス情報に含まれるvノードを示す符号Vとの共通プリフィックスのビット長tを用いて、図16のステップS55で取得した秘密鍵Kのvノードの位置と、暗号文のインデックス情報[i]に含まれる符号Vが示すvノードの位置とが一致するか否かを判定するために、t+1=L−Mvが成立するか否かを判定する(ステップS62)。なお、tは図16のステップS54においても取得できるし、図16のステップS54と同様の処理を再度行い取得してもよい。t+1=L−Mvが成立しない場合、m=t+2とし(ステップS63)、Vの(最上位ビットから数えて)m番目のビットbmを取得する(ステップS64)。
図15を用いて、暗号文のインデックス情報[i]に含まれる符号Uが示すuノードがノード「15」であり、暗号文のインデックス情報[i]に含まれる符号Vが示すvノードがノード「3」である場合を説明する。なお、木構造は図14(b)に示されている。Kがk(15,10)の場合、Kのvノードの位置(ノード「10」)と、暗号文のインデックス情報[i]に含まれる符号Vが示すvノードの位置(ノード「3」)は異なるから、明らかに、t+1≠L−Mvであり、ステップS63へ進む。この場合、m=1+2=3であり、Vの最上位から3ビット目の「0」がbmとして取得される(ステップS64)。取得されたビットbmと秘密鍵Kを入力として一方向性関数Gを用いてKの値を次式により更新する(ステップS65)。なお、この更新はワーキングメモリ上で行われるものであり、秘密鍵格納部24に格納された秘密鍵Kそのものが更新されるわけではない。
G(K,bm)=H(K||s0) (bm=0の場合)
=H(K||s2) (bm=1の場合)
…(x6)
上記式(x6)において、関数Gは、bm=0の場合には、値s0を用いて、入力された秘密鍵Kから、uノードが秘密鍵Kに対応するuノードで、vノードが秘密鍵Kに対応するvノードの左の子ノードである秘密鍵を出力することを表し、bm=1の場合には、値s2を用いて、入力された秘密鍵Kから、uノードが秘密鍵Kに対応するuノードで、vノードが秘密鍵Kに対応するvノードの右の子ノードである秘密鍵を出力することを表す。上記例では、ステップS65では、式(x6)を用いて、G(k(15,10),0)を計算する。この計算された値は、uノードがノード「15」、vノードがノード「3」の秘密鍵k(15,3)である。ここで得られた値を秘密鍵Kとして処理を進める。
次に、ステップS66へ進み、Vのm番目までのビット列がVから冗長ビットを除いたビット列(ビット数(L−Mv))に一致するか否か、すなわち、Vのm番目までのビット列が、木構造上の符号Vが示すノード(vノード)を表す(冗長ビットを除いた)符号に一致する否かを判定する。一致しない場合、すなわち、mが(L−Mv)よりも小さいとき、ステップS67へ進み、mを1つインクリメントし、ステップS64〜ステップS66を繰り返す。ステップS66において、Vのm番目までのビット列が木構造上の符号Vが示すノード(vノード)を表す(冗長ビットを除いた)符号に一致する場合、すなわち、m=L−mvのときには、ステップS68へ進む。
ステップS68では、次式(x7)により復号鍵Dkを導出する。
Dk=H(K||s1) …(x7)
上記式(x7)は、値s1を用いて、ステップS65で得られた秘密鍵Kから、uノードが秘密鍵Kに対応するuノードで、vノードが秘密鍵Kに対応するvノードである復号鍵Dkを出力することを表す。
一方、ステップS62において、図16のステップS55で取得した秘密鍵Kに対応するvノードの位置と、暗号文のインデックス情報[i]に含まれる符号Vが示すvノードの位置とが一致する場合、すなわち、t+1=L−Mvが成立する場合にも、ステップS68へ進み、上記式(x7)を用いて、復号鍵Dkを取得する。ここで、装置識別情報dが、図14(b)に示す木構造上のリーフ「1」に対応する符号「0001」であり、図13のステップS35において復号可能と判定された暗号文のインデックス情報に含まれるuノード及びvノードが、図14(b)のノード「13」、ノード「10」である場合を例に説明する。この場合、図20(a)に示すように、d=「0001」、U=「0100」、V=「0110」である。また、図20(b)に示すように、Vと装置識別情報dとの共通プリフィックスのビット長tは1であり、Uのパディング長Muは3、Vのパディング長Mvは2である。この場合、図16のステップS55では、図11に示すような順番で格納された秘密鍵の中から、{(Mu−1)(Mu−2)/2+t−(L−Mu)+1}={(3−1)(3−2)/2+1−(4−3)+1}=2番目の秘密鍵、すなわち、k(13、10)が取得される。そして、ステップS62において、t+1=L−Mvが成立し、この秘密鍵k(13、10)に対応するvノードの位置と、暗号文のインデックス情報に含まれる符号Vが示すvノードの位置とが一致するから、ステップS68へ進み、H(k(13、10)||s1)の値を計算し、この値を復号鍵Dk(13、10)として出力する(ステップS69)。
ステップS69では、ステップS68で求めた復号鍵Dkを出力する。
上述の例では、暗号文判定部22において復号可能と判定された暗号文のインデックス情報に含まれるvノードを示す符号V、秘密鍵選択部26において選択された秘密鍵K、及び装置識別情報格納部25において格納された当該復号装置の識別情報dから復号鍵を導出しており、秘密鍵選択部26において選択された秘密鍵のインデックス情報は用いられていない。従って、上述の例は、秘密鍵選択部26において選択された秘密鍵を用いて、暗号文判定部22において復号可能と判定された暗号文のインデックス情報が示すvノードの木構造中での位置と、装置識別情報格納部25において格納された当該復号装置の識別情報dが示すリーフの木構造中での位置とに基づき、暗号文判定部22において復号可能と判定された暗号文を復号するための復号鍵を導出する例であると云える。
図15を用いて、暗号文のインデックス情報[i]に含まれる符号Uが示すuノードがノード「15」であり、暗号文のインデックス情報[i]に含まれる符号Vが示すvノードがノード「3」である場合を説明する。なお、木構造は図14(b)に示されている。ステップS63で求めたmの値は3であり、また、Lは4、Mvは1である。従って、m=L−Mvとなるから、ステップS66からステップS68へ進み、ステップS68では、値s1を用いて、ステップS65で得られた秘密鍵k(15,3)から、復号鍵Dk(15,3)が出力される。この例も、秘密鍵選択部26において選択された秘密鍵を用いて、暗号文判定部22において復号可能と判定された暗号文のインデックス情報が示すvノードの木構造中での位置と、装置識別情報格納部25において格納された当該復号装置の識別情報dが示すリーフの木構造中での位置とに基づき、暗号文判定部22において復号可能と判定された暗号文を復号するための復号鍵を導出する例である。
上述の例に限らず、暗号文判定部22において復号可能と判定された暗号文のインデックス情報に含まれるvノードを示す符号V、秘密鍵選択部26において選択された秘密鍵K、及び秘密鍵選択部26において選択された秘密鍵に対応するインデックス情報に含まれるvノードを示す符号Vから復号鍵を導出してもよい。例えば、暗号文判定部22において復号可能と判定された暗号文のインデックス情報に含まれる符号U、Vが示すu、vノードがそれぞれノード「15」、ノード「3」であり、秘密鍵選択部26において選択された秘密鍵に対応するインデックス情報に含まれる符号U、Vが示すu、vノードがそれぞれノード「15」、ノード「10」である場合を説明する。なお、木構造は図14(b)に示されている。
ノード「10」、ノード「3」を符号化したものはそれぞれ「0110」、「0101」であるから、ノード「10」とノード「3」との共通プリフィックスのビット長tは2である。図19のステップS62における判定式をt=L−Mvに、ステップS63における代入式をm=t+1に変更して復号鍵導出処理を行えば、ステップS64においてbm=0が取得され、ステップS65において秘密鍵k(15,3)が計算される。最終的に、ステップS63において復号鍵Dk(15,3)が出力される。この例は、秘密鍵選択部26において選択された秘密鍵を用いて、暗号文判定部22において復号可能と判定された暗号文のインデックス情報が示すvノードの木構造中での位置と、秘密鍵選択部26において選択された秘密鍵に対応するインデックス情報が示すvノードの木構造中での位置とに基づき、暗号文判定部22において復号可能と判定された暗号文を復号するための復号鍵を導出する例であると云える。
上述の例では、秘密鍵選択部26において選択された秘密鍵K(もしくは秘密鍵選択部26において選択された秘密鍵K及び秘密鍵Kに対応するインデックス情報)が、復号鍵導出部27からの明示的な取得要求なしに、秘密鍵選択部26から復号鍵導出部27へ通知される例を説明したが、これに限らず、秘密鍵選択部26は復号鍵導出部27からの取得要求を受信してから秘密鍵Kを復号鍵導出部27へ通知してもよい。この場合、図16のステップS55において、秘密鍵選択部26は、選択された秘密鍵Kの格納されている順番(もしくは秘密鍵Kに対応するインデックス情報)を復号鍵導出部27へ通知する。復号鍵導出部27は、図19のステップS65(ステップS62において「Yes」の場合はステップS68)を初めて行う際に、秘密鍵選択部26へ秘密鍵Kの格納されている順番(もしくは秘密鍵Kに対応するインデックス情報)を送信するとともに秘密鍵Kを要求する。秘密鍵選択部26は、復号鍵導出部27からの要求に応じて秘密鍵K(もしくは秘密鍵K及び秘密鍵Kに対応するインデックス情報)を復号鍵導出部27へ通知する。なお、図16のステップS55において、秘密鍵選択部26は、選択された秘密鍵Kの格納されている順番と秘密鍵Kに対応するインデックス情報との両方を復号鍵導出部27へ通知してもよい。
復号鍵導出部27が秘密鍵選択部26へ秘密鍵Kの格納されている順番を送信する場合、秘密鍵Kの格納されている順番は暗号文判定部22において復号可能と判定された暗号文のインデックス情報が示すuノード及びvノードに基づいているため、上述の、暗号文判定部22において復号可能と判定された暗号文のインデックス情報に含まれるvノードを示す符号V、秘密鍵選択部26において選択された秘密鍵K、及び装置識別情報格納部25において格納された当該復号装置の識別情報dから復号鍵を導出する例は、秘密鍵選択部26において選択された秘密鍵を用いて、暗号文判定部22において復号可能と判定された暗号文のインデックス情報が示すuノード及びvノードの木構造中での位置と、装置識別情報格納部25において格納された当該復号装置の識別情報dが示すリーフの木構造中での位置とに基づき、暗号文判定部22において復号可能と判定された暗号文を復号するための復号鍵を導出する例であると云える。
復号鍵導出部27が秘密鍵選択部26へ秘密鍵Kの格納されている順番を送信する場合、秘密鍵Kの格納されている順番は暗号文判定部22において復号可能と判定された暗号文のインデックス情報が示すuノード及びvノードに基づいているため、上述の、暗号文判定部22において復号可能と判定された暗号文のインデックス情報に含まれるvノードを示す符号V、秘密鍵選択部26において選択された秘密鍵K、及び秘密鍵選択部26において選択された秘密鍵に対応するインデックス情報に含まれるvノードを示す符号Vから復号鍵を導出する例は、秘密鍵選択部26において選択された秘密鍵を用いて、暗号文判定部22において復号可能と判定された暗号文のインデックス情報が示すuノード及びvノードの木構造中での位置と、秘密鍵選択部26において選択された秘密鍵に対応するインデックス情報が示すvノードの木構造中での位置とに基づき、暗号文判定部22において復号可能と判定された暗号文を復号するための復号鍵を導出する例であると云える。
復号鍵導出部27が秘密鍵選択部26へ秘密鍵Kに対応するインデックス情報を送信する場合、秘密鍵Kのインデックス情報はuノード及びvノードに基づいているため、上述の、暗号文判定部22において復号可能と判定された暗号文のインデックス情報に含まれるvノードを示す符号V、秘密鍵選択部26において選択された秘密鍵K、及び秘密鍵選択部26において選択された秘密鍵に対応するインデックス情報に含まれるvノードを示す符号Vから復号鍵を導出する例は、秘密鍵選択部26において選択された秘密鍵を用いて、暗号文判定部22において復号可能と判定された暗号文のインデックス情報が示すvノードの木構造中での位置と、秘密鍵選択部26において選択された秘密鍵に対応するインデックス情報が示すuノード及びvノードの木構造中での位置とに基づき、暗号文判定部22において復号可能と判定された暗号文を復号するための復号鍵を導出する例であると云える。
復号鍵導出部27が秘密鍵選択部26へ秘密鍵Kの格納されている順番と秘密鍵Kに対応するインデックス情報との両方を送信する場合、秘密鍵Kの格納されている順番は暗号文判定部22において復号可能と判定された暗号文のインデックス情報が示すuノード及びvノードに基づいており、秘密鍵Kのインデックス情報はuノード及びvノードに基づいているため、上述の、暗号文判定部22において復号可能と判定された暗号文のインデックス情報に含まれるvノードを示す符号V、秘密鍵選択部26において選択された秘密鍵K、及び秘密鍵選択部26において選択された秘密鍵に対応するインデックス情報に含まれるvノードを示す符号Vから復号鍵を導出する例は、秘密鍵選択部26において選択された秘密鍵を用いて、暗号文判定部22において復号可能と判定された暗号文のインデックス情報が示すuノード及びvノードの木構造中での位置と、秘密鍵選択部26において選択された秘密鍵に対応するインデックス情報が示すuノード及びvノードの木構造中での位置とに基づき、暗号文判定部22において復号可能と判定された暗号文を復号するための復号鍵を導出する例であると云える。
暗号文判定、秘密鍵選択、及び復号鍵導出を行う際に、秘密鍵格納部24に格納される秘密鍵のインデックス情報を用いる代わりに装置識別情報格納部25において格納された当該復号装置の識別情報を用いてもよい。この場合、秘密鍵格納部24に秘密鍵のインデックス情報を格納する必要はないため、復号装置に要求される不揮発性メモリ量の削減が図れる。
復号部23では、復号鍵導出部27において導出された復号鍵を用いて、暗号文判定部22において当該復号装置で復号可能と判定された暗号文を復号する。
以上説明したように、上記実施形態によれば、予め定められた木構造中の任意の2つのノードによりそれぞれ特定される1つ又は複数の秘密鍵及び前記1つ又は複数の秘密鍵のそれぞれに対し当該秘密鍵に対応する前記木構造中の2つのノードを示したインデックス情報を秘密鍵格納部24に格納し、前記木構造の任意の1つのリーフに対応する復号装置識別情報を装置識別情報格納部25に格納し、1つ又は複数の暗号文及び前記1つ又は複数の暗号文のそれぞれに対し当該暗号文を復号するための復号鍵に対応する前記木構造中の任意の2つのノードを示したインデックス情報を含むデータを暗号文データ取得部21で取得すると、暗号文データ取得部21で取得された暗号文のインデックス情報が示す2つのノードのうちの一方が、前記木構造中で装置識別情報格納部25に格納された識別情報が示すリーフの祖先のノードであり、且つ他方が当該リーフの祖先ではないノードであるとき、当該暗号文が復号可能であると暗号文判定部22で判定し、秘密鍵格納部24に格納された1つ又は複数の秘密鍵の中から、暗号文判定部22で復号可能と判定された暗号文を復号するための復号鍵を導出可能な秘密鍵を秘密鍵選択部26で選択し、秘密鍵選択部26で選択された秘密鍵を用いて、暗号文判定部22で復号可能と判定された暗号文を復号するための復号鍵を復号鍵導出部27で導出し、暗号文判定部22で復号可能と判定された暗号文を復号鍵導出部27で導出された復号鍵を用いて復号する。
秘密鍵格納部24には、上記木構造中の任意の2つのノードによりそれぞれ特定される複数の秘密鍵を、各秘密鍵に対応する2つのノードの木構造中の位置に基づき予めソートされた順番に記憶されている(図9、図11参照)。秘密鍵選択部26は、秘密鍵を選択する際には、復号可能と判定された暗号文のインデックス情報が示す2つのノードの木構造中での位置と、復号装置識別情報が示すリーフの木構造中での位置とに基づき、複数の秘密鍵のうち、当該復号装置で復号可能な暗号文を復号するための復号鍵を導出可能な秘密鍵の記憶されている順番を算出する(図16参照)ことにより、秘密鍵選択に係る処理時間の短縮が図れるため、受信した暗号文を復号装置に入力してから平文を取得するまでの処理時間の短縮が図れる。
また、送信システムの暗号文ソート部151あるいは受信システムの暗号文ソート部211において、暗号文のインデックス情報に基づいて、暗号文を予めソートしておき、上記二分岐探索を行うことにより、暗号文判定に係る処理時間の短縮が図れるため、受信した暗号文を復号装置に入力してから平文を取得するまでの処理時間の短縮が図れる。
また、暗号文判定、秘密鍵選択、及び復号鍵導出を行う際に、秘密鍵格納部24に格納される秘密鍵のインデックス情報を用いる代わりに装置識別情報格納部25において格納された当該復号装置の識別情報を用いる場合、秘密鍵格納部24に秘密鍵のインデックス情報を格納する必要はないため、復号装置に要求される不揮発性メモリ量の削減が図れる。
本発明の実施の形態に記載した本発明の手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、半導体メモリなどの記録媒体に格納して頒布することもできる。すなわち、コンピュータを、暗号文データ取得部21,暗号文判定部22,復号部23,秘密鍵格納部24,装置識別情報格納部25、秘密鍵選択部26、復号鍵導出部27として機能させるためのプログラムをコンピュータに実行させることにより、上記復号装置20を実現することができる。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
本発明の実施形態に係るデータ通信システムの構成例を示した図。 復号装置識別情報をリーフに割り当てた木構造の模式図。 図2の木構造を具体的に示した図。 復号装置へ与えられる秘密鍵を説明するための図。 暗号化装置における暗号化処理動作を説明するためのフローチャート。 暗号化装置において、SD方式におけるリーフの集合の選択方法を説明するための図。 暗号文データのデータ構造の一例を示した図。 秘密鍵格納部に格納される秘密鍵のデータ構造の一例を示した図。 秘密鍵格納部に格納される秘密鍵の格納順序決定方法を説明するためのフローチャート。 木構造の一例を示した図。 秘密鍵格納部に格納される秘密鍵の格納順序決定方法を説明するための図。 暗号文の復号処理の概略を示したフローチャート。 暗号文判定処理を説明するためのフローチャート。 暗号文判定処理を説明するための図。 復号装置識別情報を示す符号、暗号文のインデックス情報に含まれるuノードを示す符号、及びvノードを示す符号を用いて、暗号文が復号可能か否かを判定する手法を説明するための図。 秘密鍵選択処理を説明するためのフローチャート。 従来の復号装置の処理動作の概略を説明するためのフローチャート。 本実施形態に係る復号処理の処理動作の概略を説明するためのフローチャート。 復号鍵導出処理を説明するためのフローチャート。 復号鍵導出処理を説明するための図。 送信システムの他の構成例を示した図。 受信システムの他の構成例を示した図。 暗号文がソートされている場合の暗号文判定処理を説明するためのフローチャート。
符号の説明
1…送信システム、2…受信システム、3…ネットワーク、10…暗号化装置、11…暗号化鍵格納部、12…無効復号装置識別情報格納部、13…木構造情報格納部、14…暗号化部、15…インデックス情報生成部、20…復号装置、21…暗号文データ取得部、22…暗号文判定部、23…復号部、24…秘密鍵格納部、25…装置識別情報格納部、26…秘密鍵選択部、27…復号鍵導出部、151…暗号文ソート部、211…暗号文ソート部。

Claims (14)

  1. 暗号文を復号する復号装置において、
    完全二分木の少なくとも一部の第1の木構造中の当該復号装置に割り当てられた1つのリーフの位置を示す情報を、当該復号装置の識別情報として記憶する識別情報記憶手段と、
    前記第1の木構造中でルートに近い方のuノードと該ルートから遠い方のvノードとの2つのノードの組合せに対して1つずつ割り当てられた複数の秘密鍵のうち、前記uノードは前記第1の木構造中で前記識別情報が示すリーフの祖先のノードであり、前記vノードは前記第1の木構造中で当該リーフの祖先ではないノードである1つまたは複数の秘密鍵を記憶する秘密鍵記憶手段と、
    (a)1つの暗号文と、(b)前記完全二分木の少なくとも一部であって、前記第1の木構造を含む第2の木構造中で、当該暗号文を復号するための復号鍵を導出する前記秘密鍵に対応する前記2つのノードの位置を示す暗号文インデックス情報と、をそれぞれ含む1つまたは複数の暗号文データを取得する取得手段と、
    前記第2の木構造中で、前記取得手段で取得された前記暗号文データ中の前記暗号文インデックス情報が示す2つのノードのうちの前記uノードが、前記識別情報記憶手段で記憶された識別情報が示すリーフの祖先のノードであり、且つ前記vノードが当該リーフの祖先ではないノードであるとき、当該暗号文データ中の前記暗号文が復号可能であると判定する判定手段と、
    前記判定手段で復号可能と判定された暗号文の暗号文インデックス情報が示す2つのノードの前記第2の木構造中での位置と、前記識別情報記憶手段で記憶された識別情報が示すリーフの前記第2の木構造中での位置とに基づき、前記秘密鍵記憶手段で記憶された1つ又は複数の秘密鍵の中から、前記判定手段で復号可能と判定された暗号文を復号するための復号鍵を導出可能な秘密鍵を選択する選択手段と、
    前記選択手段で選択された秘密鍵を用いて、前記判定手段で復号可能と判定された暗号文の暗号文インデックス情報が示す前記2つのノードのうちの前記vノードの前記第2の木構造中での位置と、前記識別情報記憶手段で記憶された識別情報が示すリーフの前記第2の木構造中での位置とに基づき、前記判定手段で復号可能と判定された暗号文を復号するための復号鍵を導出する導出手段と、
    前記判定手段で復号可能と判定された暗号文を前記導出手段で導出された復号鍵を用いて復号する復号手段と、
    を具備することを特徴とする復号装置。
  2. 前記判定手段は、前記取得手段で取得された1つ又は複数の暗号文のうち、前記暗号文インデックス情報が示す2つのノードのうちの前記vノードが、前記第2の木構造中で前記識別情報記憶手段で記憶された識別情報が示すリーフと共通する祖先のノードの数が最も多い暗号文から順に、復号可能か否かを判定することを特徴とする請求項1記載の復号装置。
  3. 前記秘密鍵記憶手段は、前記1つ又は複数の秘密鍵を、各秘密鍵に対応する前記2つのノードの前記第1の木構造中の位置に基づき予め定められた順序に記憶し、
    前記選択手段は、前記判定手段で復号可能と判定された暗号文の暗号文インデックス情報が示す2つのノードの前記第2の木構造中での位置と、前記識別情報記憶手段で記憶された識別情報が示すリーフの前記第2の木構造中での位置とに基づき、前記秘密鍵記憶手段で記憶された1つ又は複数の秘密鍵のうち、前記判定手段で復号可能と判定された暗号文を復号するための復号鍵を導出可能な秘密鍵の記憶されている順番を算出することを特徴とする請求項1記載の復号装置。
  4. 前記秘密鍵記憶手段は、前記1つ又は複数の秘密鍵を記憶するとともに、前記1つ又は複数の秘密鍵のそれぞれに対し当該秘密鍵に対応する前記第1の木構造中の前記2つのノードの位置を示した秘密鍵インデックス情報を記憶することを特徴とする請求項1記載の復号装置。
  5. 前記秘密鍵記憶手段は、前記1つ又は複数の秘密鍵を、各秘密鍵に対応する前記2つのノードの前記第1の木構造中の位置に基づき予め定められた順序に記憶するとともに、前記1つ又は複数の秘密鍵のそれぞれに対し当該秘密鍵に対応する前記第1の木構造中の前記2つのノードの位置を示した秘密鍵インデックス情報を記憶し、
    前記選択手段は、前記判定手段で復号可能と判定された暗号文の暗号文インデックス情報が示す2つのノードの前記第2の木構造中での位置と、前記識別情報記憶手段で記憶された識別情報が示すリーフの前記第2の木構造中での位置とに基づき、前記秘密鍵記憶手段で記憶された1つ又は複数の秘密鍵のうち、前記判定手段で復号可能と判定された暗号文を復号するための復号鍵を導出可能な秘密鍵の記憶されている順番を算出することを特徴とする請求項1記載の復号装置。
  6. 暗号文を復号する復号装置において、
    完全二分木の少なくとも一部の第1の木構造中の当該復号装置に割り当てられた1つのリーフの位置を示す情報を、当該復号装置の識別情報として記憶する識別情報記憶手段と、
    前記第1の木構造中でルートに近い方のuノードと該ルートから遠い方のvノードとの2つのノードの組合せに対して1つずつ割り当てられた複数の秘密鍵のうち、前記uノードは前記第1の木構造中で前記識別情報が示すリーフの祖先のノードであり、前記vノードは前記第1の木構造中で当該リーフの祖先ではないノードである1つまたは複数の秘密鍵と、前記1つ又は複数の秘密鍵のそれぞれに対し当該秘密鍵に対応する前記第1の木構造中の前記2つのノードの位置を示した1つ又は複数の秘密鍵インデックス情報を記憶する秘密鍵記憶手段と、
    (a)1つの暗号文と、(b)前記完全二分木の少なくとも一部であって、前記第1の木構造を含む第2の木構造中で、当該暗号文を復号するための復号鍵を導出する前記秘密鍵に対応する前記2つのノードの位置を示す暗号文インデックス情報と、をそれぞれ含む1つまたは複数の暗号文データを取得する取得手段と、
    前記取得手段で取得された1つ又は複数の暗号文データのうち、前記暗号文インデックス情報が示す2つのノードのうちの前記uノードが、前記第2の木構造中で、前記識別情報記憶手段で記憶された識別情報が示すリーフと共通する祖先のノードの数が最も多い暗号文から順に、当該暗号文が復号可能か否かを判定し、前記暗号文インデックス情報が示す2つのノードのうちの前記uノードが、前記第2の木構造中で、前記識別情報記憶手段で記憶された識別情報が示すリーフの祖先のノードであり、且つ前記vノードが当該リーフの祖先ではないノードであるとき、当該暗号文が復号可能であると判定する判定手段と、
    前記判定手段で復号可能と判定された暗号文の暗号文インデックス情報が示す2つのノードの前記第2の木構造中での位置と、前記秘密鍵記憶手段で記憶された各秘密鍵インデックス情報が示す2つのノードの前記第2の木構造中での位置とに基づき、前記秘密鍵記憶手段で記憶された1つ又は複数の秘密鍵の中から、前記判定手段で復号可能と判定された暗号文を復号するための復号鍵を導出可能な秘密鍵を選択する選択手段と、
    前記選択手段で選択された秘密鍵を用いて、前記判定手段で復号可能と判定された暗号文の暗号文インデックス情報が示す2つのノードのうちの前記vノード前記第2の木構造中での位置と、前記識別情報記憶手段で記憶された識別情報が示すリーフの前記第2の木構造中での位置とに基づき、前記判定手段で復号可能と判定された暗号文を復号するための復号鍵を導出する導出手段と、
    前記判定手段で復号可能と判定された暗号文を前記導出手段で導出された復号鍵を用いて復号する復号手段と、
    を具備することを特徴とする復号装置。
  7. 前記秘密鍵記憶手段は、前記1つ又は複数の秘密鍵を、各秘密鍵に対応する前記2つのノードの前記第1の木構造中の位置に基づき予め定められた順序に記憶することを特徴とする請求項記載の復号装置。
  8. 完全二分木の少なくとも一部の第1の木構造中の当該復号装置に割り当てられた1つのリーフの位置を示す情報を、当該復号装置の識別情報として記憶する識別情報記憶手段と、
    前記第1の木構造中でルートに近い方のuノードと該ルートから遠い方のvノードとの2つのノードの組合せに対して1つずつ割り当てられた複数の秘密鍵のうち、前記uノードは前記第1の木構造中で前記識別情報が示すリーフの祖先のノードであり、前記vノードは前記第1の木構造中で当該リーフの祖先ではないノードである1つまたは複数の秘密鍵を記憶する秘密鍵記憶手段と、
    を備えた復号装置における暗号文の復号方法であって、
    (a)1つ暗号文と、(b)前記完全二分木の少なくとも一部であって、前記第1の木構造を含む第2の木構造中で、当該暗号文を復号するための復号鍵を導出する前記秘密鍵に対応する前記2つのノードの位置を示す暗号文インデックス情報と、をそれぞれ含む1つまたは複数の暗号文データを取得する取得ステップと、
    前記第2の木構造中で、前記取得ステップで取得された暗号文データ中の前記暗号文インデックス情報が示す2つのノードのうちの前記uノードが、前記識別情報記憶手段で記憶された識別情報が示すリーフの祖先のノードであり、且つ前記vノードが当該リーフの祖先ではないノードであるとき、当該暗号文データ中の前記暗号文が復号可能であると判定する判定ステップと、
    前記判定ステップで復号可能と判定された暗号文の暗号文インデックス情報が示す2つのノードの前記第2の木構造中での位置と、前記識別情報記憶手段で記憶された識別情報が示すリーフの前記第2の木構造中での位置とに基づき、前記秘密鍵記憶手段で記憶された1つ又は複数の秘密鍵の中から、前記判定ステップで復号可能と判定された暗号文を復号するための復号鍵を導出可能な秘密鍵を選択する選択ステップと、
    前記選択ステップで選択された秘密鍵を用いて、前記判定ステップで復号可能と判定された暗号文の暗号文インデックス情報が示す2つのノードのうちの前記vノードの前記第2の木構造中での位置と、前記識別情報記憶手段で記憶された識別情報が示すリーフの前記第2木構造中での位置とに基づき、前記判定ステップで復号可能と判定された暗号文を復号するための復号鍵を導出する導出ステップと、
    前記判定ステップで復号可能と判定された暗号文を前記導出ステップで導出された復号鍵を用いて復号する復号ステップと、
    を有することを特徴とする復号方法。
  9. 前記判定ステップは、前記取得ステップで取得された1つ又は複数の暗号文のうち、前記暗号文インデックス情報が示す2つのノードのうちの前記vノードが、前記第2の木構造中で前記識別情報記憶手段で記憶された識別情報が示すリーフと共通する祖先のノードの数が最も多い暗号文から順に、復号可能か否かを判定することを特徴とする請求項記載の復号方法。
  10. 前記秘密鍵記憶手段は、前記1つ又は複数の秘密鍵を、各秘密鍵に対応する前記2つのノードの前記第1の木構造中の位置に基づき予め定められた順序に記憶し、
    前記選択ステップは、前記判定ステップで復号可能と判定された暗号文の暗号文インデックス情報が示す2つのノードの前記第2の木構造中での位置と、前記識別情報記憶手段で記憶された識別情報が示すリーフの前記第2の木構造中での位置とに基づき、前記秘密鍵記憶手段で記憶された1つ又は複数の秘密鍵のうち、前記判定ステップで復号可能と判定された暗号文を復号するための復号鍵を導出可能な秘密鍵の記憶されている順番を算出することを特徴とする請求項記載の復号方法。
  11. 前記秘密鍵記憶手段は、前記1つ又は複数の秘密鍵を記憶するとともに、前記1つ又は複数の秘密鍵のそれぞれに対し当該秘密鍵に対応する前記第1の木構造中の前記2つのノードの位置を示した秘密鍵インデックス情報を記憶することを特徴とする請求項記載の復号方法。
  12. 前記秘密鍵記憶手段は、前記1つ又は複数の秘密鍵を、各秘密鍵に対応する前記2つのノードの前記第1の木構造中の位置に基づき予め定められた順序に記憶するとともに、前記1つ又は複数の秘密鍵のそれぞれに対し当該秘密鍵に対応する前記第1の木構造中の前記2つのノードの位置を示した秘密鍵インデックス情報を記憶し、
    前記選択ステップは、前記判定ステップで復号可能と判定された暗号文の暗号文インデックス情報が示す2つのノードの前記第2の木構造中での位置と、前記識別情報記憶手段で記憶された識別情報が示すリーフの前記第2の木構造中での位置とに基づき、前記秘密鍵記憶手段で記憶された1つ又は複数の秘密鍵のうち、前記判定ステップで復号可能と判定された暗号文を復号するための復号鍵を導出可能な秘密鍵の記憶されている順番を算出することを特徴とする請求項8記載の復号装置。
  13. コンピュータを、
    完全二分木の少なくとも一部の第1の木構造中の当該復号装置に割り当てられた1つのリーフの位置を示す情報を、当該復号装置の識別情報として記憶する識別情報記憶手段と、
    前記第1の木構造中でルートに近い方のuノードと該ルートから遠い方のvノードとの2つのノードの組合せに対して1つずつ割り当てられた複数の秘密鍵のうち、前記uノードは前記第1の木構造中で前記識別情報が示すリーフの祖先のノードであり、前記vノードは当該リーフの祖先ではないノードである1つまたは複数の秘密鍵を記憶する秘密鍵記憶手段と、
    (a)1つ暗号文と、(b)前記完全二分木の少なくとも一部であって、前記第1の木構造を含む第2の木構造中で、当該暗号文を復号するための復号鍵を導出する前記秘密鍵に対応する前記2つのノードの位置を示す暗号文インデックス情報と、をそれぞれ含む1つまたは複数の暗号文データを取得する取得手段と、
    前記第2の木構造中で、前記取得手段で取得された前記暗号文データ中の前記暗号文インデックス情報が示す2つのノードのうちの前記uノードが、前記識別情報記憶手段で記憶された識別情報が示すリーフの祖先のノードであり、且つ前記vノードが当該リーフの祖先ではないノードであるとき、当該暗号文データ中の前記暗号文が復号可能であると判定する判定手段、
    前記判定手段で復号可能と判定された暗号文の暗号文インデックス情報が示す2つのノードの前記第2の木構造中での位置と、前記識別情報記憶手段で記憶された識別情報が示すリーフの前記第2の木構造中での位置とに基づき、前記秘密鍵記憶手段で記憶された1つ又は複数の秘密鍵の中から、前記判定手段で復号可能と判定された暗号文を復号するための復号鍵を導出可能な秘密鍵を選択する選択手段、
    前記選択手段で選択された秘密鍵を用いて、前記判定手段で復号可能と判定された暗号文の暗号文インデックス情報が示す前記2つのノードのうちの前記vノードの前記第2の木構造中での位置と、前記識別情報記憶手段で記憶された識別情報が示すリーフの前記第2の木構造中での位置とに基づき、前記判定手段で復号可能と判定された暗号文を復号するための復号鍵を導出する導出手段と、
    前記判定手段で復号可能と判定された暗号文を前記導出手段で導出された復号鍵を用いて復号する復号手段、
    として機能させるためのプログラム。
  14. 前記秘密鍵記憶手段は、前記1つ又は複数の秘密鍵を、各秘密鍵に対応する前記2つのノードの前記第1の木構造中の位置に基づき予め定められた順序に記憶するとともに、前記1つ又は複数の秘密鍵のそれぞれに対し当該秘密鍵に対応する前記第1の木構造中の前記2つのノードの位置を示した秘密鍵インデックス情報を記憶し、
    前記選択手段は、前記判定手段で復号可能と判定された暗号文の暗号文インデックス情報が示す2つのノードの前記第2の木構造中での位置と、前記識別情報記憶手段で記憶された識別情報が示すリーフの前記第2の木構造中での位置とに基づき、前記秘密鍵記憶手段で記憶された1つ又は複数の秘密鍵のうち、前記判定手段で復号可能と判定された暗号文を復号するための復号鍵を導出可能な秘密鍵の記憶されている順番を算出することを特徴とする請求項13記載のプログラム。
JP2005064219A 2005-03-08 2005-03-08 復号装置、復号方法、及びプログラム Expired - Fee Related JP4599194B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005064219A JP4599194B2 (ja) 2005-03-08 2005-03-08 復号装置、復号方法、及びプログラム
US11/219,768 US7724906B2 (en) 2005-03-08 2005-09-07 Decryption apparatus and decryption method
CNB2005101036035A CN100511330C (zh) 2005-03-08 2005-09-07 解密装置和解密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005064219A JP4599194B2 (ja) 2005-03-08 2005-03-08 復号装置、復号方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2006253822A JP2006253822A (ja) 2006-09-21
JP4599194B2 true JP4599194B2 (ja) 2010-12-15

Family

ID=36970918

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005064219A Expired - Fee Related JP4599194B2 (ja) 2005-03-08 2005-03-08 復号装置、復号方法、及びプログラム

Country Status (3)

Country Link
US (1) US7724906B2 (ja)
JP (1) JP4599194B2 (ja)
CN (1) CN100511330C (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100970391B1 (ko) * 2005-04-19 2010-07-15 삼성전자주식회사 브로드 캐스트 암호화 시스템에서의 태그 형성방법
CN101192918B (zh) * 2006-11-24 2011-05-11 中兴通讯股份有限公司 一种广播网络中处理加密流的方法及系统
JP4359622B2 (ja) 2007-01-22 2009-11-04 富士通株式会社 電子署名プログラム、および電子署名装置
JP5286748B2 (ja) * 2007-11-09 2013-09-11 ソニー株式会社 情報処理装置、鍵設定方法、及びプログラム
CN101739400B (zh) * 2008-11-11 2014-08-13 日电(中国)有限公司 生成索引的方法和装置以及检索方法和装置
CN101770462A (zh) * 2008-12-30 2010-07-07 日电(中国)有限公司 用于密文索引和检索的装置和方法
CN101950301A (zh) * 2010-09-26 2011-01-19 北京飞天诚信科技有限公司 数据处理的方法及装置
JP5198539B2 (ja) 2010-11-05 2013-05-15 株式会社東芝 記憶装置、アクセス装置およびプログラム
US8738657B2 (en) * 2011-09-27 2014-05-27 Hewlett-Packard Development Company, L.P. Distribution of key values
CN104092537B (zh) * 2014-07-03 2017-07-14 飞天诚信科技股份有限公司 一种实现密钥信息编解码的装置及其工作方法
CN108028754B (zh) * 2016-04-28 2020-12-01 华为技术有限公司 加密、解密方法、装置及终端
US11128452B2 (en) * 2017-03-25 2021-09-21 AVAST Software s.r.o. Encrypted data sharing with a hierarchical key structure
CN108063756B (zh) 2017-11-21 2020-07-03 阿里巴巴集团控股有限公司 一种密钥管理方法、装置及设备
CN108123804B (zh) * 2017-12-29 2021-03-26 广州汇智通信技术有限公司 一种数据解密的执行方法、装置及介质
US11451372B2 (en) * 2018-01-17 2022-09-20 Mitsubishi Electric Corporation Privacy-preserving analysis device, privacy-preserving analysis system, privacy-preserving analysis method, and computer readable medium
WO2020011358A1 (de) * 2018-07-12 2020-01-16 Seclous Gmbh Verfahren zum aufbau eines sicheren hierarchischen referenzierungssystems
CN116975935B (zh) * 2023-09-22 2023-12-26 北京天润基业科技发展股份有限公司 数据比较方法、存储介质及电子设备

Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020104001A1 (en) * 2001-01-26 2002-08-01 International Business Machines Corporation Method for ensuring content protection and subscription compliance
US20020133701A1 (en) * 2001-01-26 2002-09-19 International Business Machines Corporation Method for tracing traitor receivers in a broadcast encryption system
WO2003107588A1 (en) * 2002-06-17 2003-12-24 Koninklijke Philips Electronics N.V. System for authentication between devices using group certificates
JP2004120008A (ja) * 2002-09-20 2004-04-15 Pioneer Electronic Corp 鍵管理システム
US20040114762A1 (en) * 2002-12-13 2004-06-17 General Instrument Corporation Subset difference method for multi-cast rekeying
US20040120529A1 (en) * 2002-09-23 2004-06-24 International Business Machines Corporation Key distribution in a conditional access system
JP2004248272A (ja) * 2003-01-24 2004-09-02 Kazuo Ota コンテンツ再生のための鍵を管理する方法
JP2004320655A (ja) * 2003-04-18 2004-11-11 Sony Corp データ処理方法、そのプログラム、その装置と受信装置
JP2005005806A (ja) * 2003-06-09 2005-01-06 Sony Corp データ処理方法、そのプログラムおよびその装置
JP2005012280A (ja) * 2003-06-16 2005-01-13 Sony Corp データ処理方法、そのプログラムおよびその装置と処理装置
JP2005184798A (ja) * 2003-11-28 2005-07-07 Matsushita Electric Ind Co Ltd 管理装置、端末装置及び著作権保護システム
JP2005191805A (ja) * 2003-12-25 2005-07-14 Sony Corp 暗号文配信方法、情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2005260852A (ja) * 2004-03-15 2005-09-22 Sony Corp 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
JP2005286959A (ja) * 2004-03-31 2005-10-13 Sony Corp 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
JP2006086568A (ja) * 2004-09-14 2006-03-30 Sony Corp 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
JP2006115464A (ja) * 2004-09-14 2006-04-27 Sony Corp 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
JP2007537656A (ja) * 2004-05-12 2007-12-20 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 安全なブロードキャストのための鍵管理メッセージ
JP2008520158A (ja) * 2004-11-12 2008-06-12 サムスン エレクトロニクス カンパニー リミテッド ブロードキャスト暗号化のためのユーザキー管理方法
JP2008521278A (ja) * 2004-11-16 2008-06-19 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 情報への選択的アクセスのためのシステムにおける改善された鍵配信

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4281252B2 (ja) * 2001-01-16 2009-06-17 ソニー株式会社 情報記録装置、情報再生装置、情報記録方法、情報再生方法、および情報記録媒体、並びにプログラム記憶媒体
US20050210014A1 (en) * 2004-03-08 2005-09-22 Sony Corporation Information-processing method, decryption method, information-processing apparatus and computer program

Patent Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7039803B2 (en) * 2001-01-26 2006-05-02 International Business Machines Corporation Method for broadcast encryption and key revocation of stateless receivers
US20020133701A1 (en) * 2001-01-26 2002-09-19 International Business Machines Corporation Method for tracing traitor receivers in a broadcast encryption system
US20020104001A1 (en) * 2001-01-26 2002-08-01 International Business Machines Corporation Method for ensuring content protection and subscription compliance
WO2003107588A1 (en) * 2002-06-17 2003-12-24 Koninklijke Philips Electronics N.V. System for authentication between devices using group certificates
JP2004120008A (ja) * 2002-09-20 2004-04-15 Pioneer Electronic Corp 鍵管理システム
US20040120529A1 (en) * 2002-09-23 2004-06-24 International Business Machines Corporation Key distribution in a conditional access system
US20040114762A1 (en) * 2002-12-13 2004-06-17 General Instrument Corporation Subset difference method for multi-cast rekeying
JP2004248272A (ja) * 2003-01-24 2004-09-02 Kazuo Ota コンテンツ再生のための鍵を管理する方法
JP2004320655A (ja) * 2003-04-18 2004-11-11 Sony Corp データ処理方法、そのプログラム、その装置と受信装置
JP2005005806A (ja) * 2003-06-09 2005-01-06 Sony Corp データ処理方法、そのプログラムおよびその装置
JP2005012280A (ja) * 2003-06-16 2005-01-13 Sony Corp データ処理方法、そのプログラムおよびその装置と処理装置
JP2005184798A (ja) * 2003-11-28 2005-07-07 Matsushita Electric Ind Co Ltd 管理装置、端末装置及び著作権保護システム
JP2005191805A (ja) * 2003-12-25 2005-07-14 Sony Corp 暗号文配信方法、情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2005260852A (ja) * 2004-03-15 2005-09-22 Sony Corp 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
JP2005286959A (ja) * 2004-03-31 2005-10-13 Sony Corp 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
JP2007537656A (ja) * 2004-05-12 2007-12-20 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 安全なブロードキャストのための鍵管理メッセージ
JP2006086568A (ja) * 2004-09-14 2006-03-30 Sony Corp 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
JP2006115464A (ja) * 2004-09-14 2006-04-27 Sony Corp 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
JP2008520158A (ja) * 2004-11-12 2008-06-12 サムスン エレクトロニクス カンパニー リミテッド ブロードキャスト暗号化のためのユーザキー管理方法
JP2008521278A (ja) * 2004-11-16 2008-06-19 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 情報への選択的アクセスのためのシステムにおける改善された鍵配信

Also Published As

Publication number Publication date
CN100511330C (zh) 2009-07-08
JP2006253822A (ja) 2006-09-21
US20060204008A1 (en) 2006-09-14
US7724906B2 (en) 2010-05-25
CN1831900A (zh) 2006-09-13

Similar Documents

Publication Publication Date Title
JP4599194B2 (ja) 復号装置、復号方法、及びプログラム
JP5955117B2 (ja) ブロードキャスト暗号化のためのユーザキー管理方法
US7340054B2 (en) Information processing method, decrypting method, information processing apparatus, and computer program
US8861723B2 (en) Storage device, access device, and program product
JP5666422B2 (ja) ブロードキャスト暗号化システムにおける除かれたノードリストの生成方法
US20100086133A1 (en) Key Providing System, Key Providing Apparatus, Terminal Device, Key Providing Method, and Key Generation Method
JP2005286959A (ja) 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
WO2005018136A1 (ja) 鍵情報処理方法及びその装置、並びにプログラム
JP2004320719A (ja) 著作物保護システム、鍵データ生成装置及び端末装置
KR20090090308A (ko) 정보처리장치
WO2008059672A1 (fr) Dispositif de traitement d'informations
JP6029936B2 (ja) 通信制御装置、通信装置およびプログラム
JP5150175B2 (ja) Sd法におけるクライアント端末被覆方法およびプログラム
JP2007189597A (ja) 暗号化装置および暗号化方法、並びに復号化装置および復号化方法
JP6290443B2 (ja) 通信制御装置、通信制御方法およびプログラム
EP1695242A2 (en) Content distribution server, key assignment method, content output apparatus, and key issuing center
US20080199005A1 (en) Signal processor
JP4638213B2 (ja) コンテンツ配信サーバ、鍵割当方法、コンテンツ出力装置、及び鍵発行センタ
JP4635459B2 (ja) 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
KR20100014474A (ko) 키 제공 시스템, 단말 장치, 및 정보 처리 방법
JP2005191805A (ja) 暗号文配信方法、情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP6162873B2 (ja) 通信制御装置、通信装置およびプログラム
JP6302109B2 (ja) 通信制御装置、通信制御方法、プログラムおよび通信システム
JPWO2016002198A1 (ja) 検索補助データ格納装置、検索装置、追加装置、削除装置、検索依頼装置、追加依頼装置、削除依頼装置、データ検索システム、データ検索方法、および、コンピュータプログラム
JP2007020225A (ja) 画像データ暗号化装置及びその制御方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090901

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091102

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100831

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100927

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131001

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees