JP4446374B2 - 暗号装置、復号装置および暗号システム - Google Patents

暗号装置、復号装置および暗号システム Download PDF

Info

Publication number
JP4446374B2
JP4446374B2 JP2003341911A JP2003341911A JP4446374B2 JP 4446374 B2 JP4446374 B2 JP 4446374B2 JP 2003341911 A JP2003341911 A JP 2003341911A JP 2003341911 A JP2003341911 A JP 2003341911A JP 4446374 B2 JP4446374 B2 JP 4446374B2
Authority
JP
Japan
Prior art keywords
encryption
decryption
parameter
key
ciphertext
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
JP2003341911A
Other languages
English (en)
Other versions
JP2004151692A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2003341911A priority Critical patent/JP4446374B2/ja
Publication of JP2004151692A publication Critical patent/JP2004151692A/ja
Application granted granted Critical
Publication of JP4446374B2 publication Critical patent/JP4446374B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、暗号システムに関し、特に、NTRU暗号方式の暗号アルゴリズムを用いた暗号システムに関する。
送信装置と受信装置との間で秘匿通信を実現する方法として、公開鍵暗号を用いた暗号化通信がある。公開鍵暗号方式について簡単に説明すると、送信装置が、通信内容を受信装置の公開鍵を用いて暗号化して送信する。次に、受信装置は、暗号化された通信内容を受信し、それを自身の秘密鍵を用いて復号して元の通信内容を得る方法である(例えば、非特許文献1参照。)。
この方法を用いる一般的な暗号システムでは、送信装置及び受信装置は、ともに複数存在する。まず、送信装置は、通信先受信装置の公開鍵を取得する。この公開鍵は、通信先受信装置が有する秘密鍵と対になるものであり、暗号システムにおいて公開されている。そして、送信装置は、通信すべきデータを上記のようにして取得した公開鍵で暗号化して送信する。一方、受信装置は、送信装置より暗号化された通信データを受信する。そして、受信装置は、暗号化された通信データを、自身の有する秘密鍵で復号して元の通信データを得る。
ここで、もしも通信先受信装置の有する秘密鍵が暴露されると、上記の暗号システムは、もはや安全ではなくなる。なぜならば、通信先受信装置の公開鍵で暗号化された通信内容は、暴露された秘密鍵をもつ第三者の受信装置でも復号されてしまうからである。従って、受信装置の有する秘密鍵は、外部に露見しないように厳重に管理する必要がある。
しかしながら、場合によっては、何らかの事故や事件により受信装置の有する秘密鍵が暴露されてしまう可能性がある。従って、上記の暗号システムにおいては、受信装置の有する秘密鍵が暴露された場合、もしくはその疑いがある場合には、暴露された秘密鍵と対になる公開鍵の使用を停止させる必要がある。
そのような方法の一例として、証明書廃棄リスト(Certificate Revocation List、CRL)と呼ばれるデータ構造を使用して、受信装置の有する秘密鍵が暴露された場合に、暴露された秘密鍵と対になる公開鍵の使用を停止する方法が提案されている(例えば、非特許文献2参照。)。
また、他の例として、IEEE(Institute of Electrical and Electronics Engineers)1394規格のシリアルバス上を伝送されるデジタルコンテンツを保護するDTCP(Digital Transmission Content Protection)規格の中では、SRM(System Renewability Messages)を使用する方法が提案されている。SRMを利用することにより、受信装置の有する秘密鍵が暴露された場合に、当該受信装置の公開鍵の使用を停止することができるようになっている(例えば、非特許文献3参照。)。
以下に、これらの方法を簡単に説明する。
まず、公開鍵は、それを保有する人や物などの識別情報に関連付けられ、信頼できる第三者機関によりシリアル番号等が付加された形式に変換される。さらに公開鍵には、他者による改ざんを防止するためにその第三者機関のデジタル署名が付加される。これを公開鍵証明書と呼ぶ。そして、第三者機関により発行されるCRLやSRMには、秘密鍵の暴露等の理由で使用を停止すべき公開鍵証明書のシリアル番号が記載されている。よって、CRLやSRMに記載されたシリアル番号をチェックすることにより、暴露された秘密鍵と対になる公開鍵の使用を停止することができる。
この方法を、送信装置と受信装置の間で暗号化通信を行う暗号システムに応用する場合を考える。送信装置は、通信先受信装置の公開鍵証明書のデジタル署名を確認する。送信装置は、その公開鍵証明書から、公開鍵とシリアル番号とを取得し、第三者機関から発行されるCRLやSRMを取得する。そして、送信装置は、取得した公開鍵証明書のシリアル番号がCRLやSRMに記載されていれば、その公開鍵の使用を停止する。このことにより、受信装置の有する秘密鍵が暴露されている場合、暴露された秘密鍵と対になる公開鍵の使用を停止することできる。これにより、送信装置と受信装置との間で安全な暗号化通信を実現することができる。
岡本龍明、山本博資、「現代暗号」、シリーズ/情報科学の数学、産業図書、1997 山田信一郎 訳、「ディジタル署名と暗号技術」、株式会社ピアソン・エデュケーション、p.159〜p.214、1997 Digital Transmission Content Protection Specification Revision 1.2 (Informational Version)、[online]、2001年7月11日、[2002年9月13日検索]、インターネット<URL: http://www.dtcp.com/data/info_dtcp_v1_12_20010711.pdf>
しかし、CRLやSRMを用いた上記方法では、以下のような課題がある。
(1)送信装置が最新のCRLやSRMを取得できない場合、受信装置の有する秘密鍵が暴露されていても、送信装置は必ずしも当該受信装置の公開鍵の使用を停止できない。これにより、従来の技術では、送信装置が行う暗号化通信の内容を、暴露された秘密鍵を有する第三者の受信装置に復号され続ける恐れがある。すなわち、音楽等のデジタル著作物を送信する場合において、秘密鍵が暴露されたときに、送信者側の不利益を防止できない恐れがある。
(2)暗号化通信の安全性確保のためには、鍵を定期的に更新することが望ましい。しかし、従来の技術では、鍵を定期的に更新しなくても受信装置は正常に動作するため、受信装置を扱う人に、鍵の更新を促しにくい。
(3)信頼できる第三者機関によるCRLやSRMが必要である。
以下に、上記問題点(1)、(2)、(3)について詳細を説明する。
まず、CRLやSRMを用いた上記方法では、送信装置が最新のCRLやSRMを取得できず、受信装置の有する秘密鍵が暴露されていても、当該受信装置の公開鍵の使用を停止できない場合がある。例えば、デジタル化された映画コンテンツデータがDVDなどの記録媒体に記録されるシステムを考える。映画コンテンツデータは受信装置に相当するプレーヤ毎の暗号鍵で暗号化されてディスクに記録される。プレーヤはこの暗号鍵に対応する復号鍵を有しており、ディスクに記録されている暗号化映画コンテンツデータを復号して、映画を再生する。特定のプレーヤは不正な機器であってそのプレーヤによる再生を防止する目的で、そのプレーヤの公開鍵のCRLやSRMがDVD等の記憶媒体に記録されて発行される。
いま、ある受信装置の秘密鍵が暴露されたことが判明したとする。それ以降は、当該受信装置の公開鍵証明書のシリアル番号が追加記載された最新のCRLやSRMは、DVDに記録されて発行されることになる。しかし、それ以前に配布されたDVDには古いCRLやSRMしか記録されておらず、最新の公開鍵証明書のシリアル番号は記録されていない。結果として、古いDVDを用いている限り、古いCRLやSRMしか取得できず、必ずしも不正な受信装置の公開鍵の使用を停止させることができない。
また、SRMを用いるDTCP規格では、IEEE1394シリアルバスで接続された機器間で、機器が持つ古いSRMは他の機器が持つ新しいSRMに更新されていく。すなわち、この仕組みによって、DVD等の記憶媒体から新しいSRMを取得する以外にも、他の機器からも新しいSRMを取得できる。しかしながら、この仕組みを用いても、完全には最新のSRMを取得できる保証は無い。結果として、送信装置は必ずしも当該受信装置の公開鍵の使用を停止することができない。従って、送信装置が行う暗号化通信の内容を、暴露された秘密鍵を有する第三者の受信装置に復号され続ける恐れがある。すなわち、音楽等のデジタル著作物を送信する場合において、秘密鍵が暴露されたときに、送信者側の不利益を防止できない恐れがある。
次に、CRLやSRMを用いた上記方法では、受信装置を扱う人に、自身の公開鍵や秘密鍵の更新を促しにくい。これは、送信装置が、CRLやSRMにより受信装置の公開鍵の使用を停止するまでは、受信装置は、完全に暗号化通信を復号し続けることが可能であることに起因する。以下にこのことを説明する。
従来の技術では、暴露された秘密鍵と対になる公開鍵の使用を停止するためには、最新のCRLやSRMを第三者機関のサーバ等から取得して、CRLやSRMに記載されたシリアル番号をチェックしなければならない。しかし、一般に、送信装置を扱う人は、CRLやSRMのチェックを知らずに暗号化通信を行ったり、あるいはサーバ等から最新のCRLやSRMを取得するのが面倒なために、このチェックを無視して暗号化通信を行ったりすることが多い。これは、送信装置が受信装置の公開鍵を取得していれば、CRLやSRMのチェックを行わなくとも、送信装置、受信装置共に正常に動作して、暗号化通信を行うことができるからである。そして、送信装置がCRLやSRMのチェックを行わないで暗号化通信を行うと、鍵を定期的に更新しなくても受信装置が正常に動作するため、受信装置を扱う人は、自身の公開鍵・秘密鍵を更新しようとはしない。なお、公開鍵証明書に有効期限を設けることにより、送信装置が有効期限の切れた公開鍵の使用を停止し、かつ受信装置が鍵を更新しない限り、送信装置から受信装置への暗号化通信を行わないようにする方法もある。しかしながら、この場合も、CRLやSRMを用いる方法と同様に、送信装置を扱う人は有効期限のチェックを知らずに、あるいはこのチェックを無視して暗号化通信を行うことが多い。この結果、CRLやSRMを用いる方法と同様に、鍵を定期的に更新しなくても受信装置が正常に動作するため、受信装置を扱う人は、自身の公開鍵・秘密鍵を定期的に更新しようとはしない。
最後に、CRLやSRMを用いた上記方法では、信頼できる第三者機関によるCRLやSRMが前提となっている。これは、信頼できる第三者機関によるCRLやSRMの存在を仮定しなければならない点が問題点である。
そこで、本発明は上記(1)、(2)、(3)の課題に鑑みなされたもので、秘密鍵が暴露された場合に、送信装置が行う暗号化通信の内容を、暴露された秘密鍵を有する第三者の受信装置に復号され続けるのを防止する暗号装置、復号装置および暗号システムを提供することを第1の目的とする。
また、音楽等のデジタル著作物を送信する場合において、秘密鍵が暴露されたときに、送信者側の不利益を防止する暗号装置、復号装置および暗号システムを提供することを第2の目的とする。
また、受信装置又は受信装置を扱う人に、鍵の更新を促す暗号装置、復号装置および暗合システムを提供することを第3の目的とする。
また、送信装置が暗号化通信を行うに際して、第三者機関によるCRLやSRMを必要としない暗号装置、復号装置および暗号システムを提供することを第4の目的とする。
本発明に係る暗号装置は、平文を暗号化し、暗号文を生成する暗号装置であって、暗号鍵と復号装置に対応し前記暗号文の復号エラー発生確率を変化させるパラメータとを記憶する記憶手段と、前記パラメータの値に応じて前記暗号文の復号エラー発生確率が変化する暗号アルゴリズムに従い、前記平文から、前記記憶手段に記憶されている前記暗号鍵および前記パラメータを用いて前記暗号文を生成する暗号手段と、前記記憶手段に記憶されている前記パラメータを更新する更新手段とを備える。好ましくは、前記更新手段は、期間が経過するにつれて前記記憶手段に記憶されている前記パラメータを更新する。
従って、期間が経過するにつれてパラメータを更新することにより、復号装置で暗号文を正しく復号できなくなるようにすることが可能となる。これにより、送信装置が暗号化通信を行うに際して、暴露された秘密鍵(復号鍵)を不正に用いる第三者の受信装置は期間が経過すると暗号化通信の内容が復号できなくなる。よって、秘密鍵が暴露された場合に、送信装置が行う暗号化通信の内容が、暴露された秘密鍵を有する第三者の受信装置に復号され続けるのを防止することが可能となる。そのため、例えば、音楽等のデジタル著作物を送信する場合において、秘密鍵が暴露されたときに、送信者側の不利益を防止することが可能となる。
また、送信装置が暗号化通信を行うに際して、正規の受信者の受信装置は、暗号化通信の内容の復号を行うに従い、復号に失敗する確率が徐々に増大する。これにより受信装置又は受信装置を扱う人に、鍵の更新を促すようにすることが可能となる。
さらに、送信装置が暗号化通信を行うに際して、第三者機関によるCRLやSRMを必要としない。
本発明の他の局面に係る復号装置は、暗号文を復号する復号装置であって、パラメータの値に応じて前記暗号文の復号エラー発生確率が変化する暗号アルゴリズムに従い生成された前記暗号文から、復号鍵を用いて復号文を生成する復号手段と、前記復号文が正しく得られたか否かを判別する判別手段と、前記判別手段の判別結果に応じて、前記復号鍵の更新を暗号装置へ要求する復号鍵更新要求手段と、前記判別手段の判別結果に応じて、前記パラメータの値の、復号エラーが発生する確率が所定の値以下となる初期値への変更を前記暗号装置へ要求するパラメータ初期化要求手段とを備える。
したがって、復号文が正しく得られなくなると、復号鍵の更新が行なわれる。このため、これにより受信装置又は受信装置を扱う人に、鍵の更新を促すようにすることが可能となる。
本発明のさらに他の局面に従う暗号システムは、平文を暗号化し、暗号文を生成する暗号装置と、前記暗号文を復号し、復号文を生成する復号装置とを含む暗号システムである。
前記暗号装置は、暗号鍵と前記復号装置に対応したNTRU暗号方式の乱数パラメータ(乱数多項式中の係数が1の項の数)とを記憶する記憶手段と、NTRU暗号方式に従い、前記平文から、前記暗号鍵および前記乱数パラメータを用いて前記暗号文を生成する暗号手段と、期間が経過するにつれて前記記憶手段に記憶されている前記乱数パラメータを増加させる更新手段とを備えている。
前記復号装置は、前記暗号文から、復号鍵を用いて復号文を生成する復号手段と、前記復号鍵の更新を前記暗号装置へ要求する復号鍵更新要求手段と、前記乱数パラメータの値の、復号エラーが発生する確率が所定の値以下となる初期値への変更を前記暗号装置へ要求するパラメータ初期化要求手段とを備えている。
好ましくは、前記暗号装置は、さらに、前記復号鍵更新要求手段より前記復号鍵の更新要求を受け、当該更新要求に応答して、前記暗号鍵および前記復号鍵を更新する鍵更新手段と、前記パラメータ初期化要求手段より前記乱数パラメータの初期化要求を受け、当該初期化要求に応答して、前記乱数パラメータの値を、復号エラーが発生する確率が所定の値以下となる初期値に設定するパラメータ初期化手段とを備えている。また、前記復号鍵更新要求手段および前記パラメータ初期化要求手段は、所定の金額の支払いと合わせて、前記復号装置へ前記復号鍵の更新要求および前記乱数パラメータの初期化要求をそれぞれ行ない、前記鍵更新手段は、前記復号鍵更新要求手段より前記所定の金額が支払われた場合にのみ、前記暗号鍵および前記復号鍵の更新を行ない、前記パラメータ初期化手段は、前記パラメータ初期化要求手段より前記所定の金額が支払われた場合にのみ、前記乱数パラメータの値を前記初期値に設定する。さらに、前記平文はコンテンツデータであり、前記更新手段は、前記所定の金額が支払われた場合に、所定の期間、前記乱数パラメータの更新を行なわない。
このようにすることにより、暗号化通信の内容の復号に失敗する確率が徐々に増大する性質を利用し、例えば、コンテンツデータを一定期間無料で配信し、その後に、料金の支払いが行なわれた場合にのみ鍵更新を行なうようにすることができ、コンテンツデータ配信に適する暗号システムを提供することができる。
以上説明したように、本発明は、従来システムにおける問題点を鑑みて行われたもので、暗号システムにおいて、暗号化通信にNTRU暗号方式を用い、送信装置で乱数パラメータを期間が経過するにつれ増加させるようにした。このため、期間が経過するにつれて、受信装置で暗号化通信の内容を正しく復号できなくなるようにすることが可能となる。
これにより、送信装置が暗号化通信を行うに際して、暴露された秘密鍵を不正に用いる第三者の受信装置は期間が経過すると暗号化通信の内容が復号できなくなる。よって、秘密鍵が暴露された場合に、送信装置が行う暗号化通信の内容が、暴露された秘密鍵を有する第三者の受信装置に復号され続けるのを防止することが可能となる。そのため、例えば、音楽等のデジタル著作物を送信する場合において、秘密鍵が暴露されたときに、送信者側の不利益を防止することが可能となる。
また、送信装置が暗号化通信を行うに際して、正規の受信者の受信装置は、暗号化通信の内容の復号を行うに従い、復号に失敗する確率が徐々に増大する。これにより受信装置又は受信装置を扱う人に、鍵の更新を促すようにすることが可能となる。
さらに、送信装置が暗号化通信を行うに際して、第三者機関によるCRLやSRMを必要としない。
さらにまた、暗号化通信の内容の復号に失敗する確率が徐々に増大する性質を利用し、例えば、コンテンツデータを一定期間無料で配信し、その後に、料金の支払いが行なわれた場合にのみ鍵更新を行なうようにすれば、コンテンツデータ配信に適する暗号システムを提供することができる。
以上のように、本発明により、暗号システムにおける定期的な鍵の更新が実現でき、特に、安全性の高い暗号システムが実現でき、情報通信技術とコンピュータが広く普及した今日における実用的価値は極めて高いと言える。
以下、本発明の実施の形態に係る暗号システムについて、図面を用いて説明する。
本発明に係る暗号システムは、公開鍵暗号方式の一例として、NTRU暗号方式を用いる。NTRU暗号方式は、多項式の演算で暗号化と復号化を行う公開鍵暗号方式である。このNTRU暗号方式、及びNTRU暗号方式の公開鍵、及び秘密鍵の生成方法については、Jeffery Hoffstein, Jill Pipher, and Joseph H. Silverman,“NTRU: A ring based public key cryptosystem”, Lecture Notes in Computer Science, 1423, pp.267−288, Springer−Verlag, 1998. に詳しく述べられているので、ここではその詳細な説明は繰返さないが、以下にNTRU暗号方式について簡単に説明する。
NTRU暗号方式は、整数のシステムパラメータN、p、qを持つ。上記文献には、システムパラメータの例として、(N,p,q)=(107,3,64)、(N,p,q)=(167,3,128)、(N,p,q)=(503,3,256)の3つの例が挙げられている。
以降、本発明に係る暗号システムの実施の形態では、システムパラメータNをN=167とした場合の説明を行う。
NTRU暗号方式は、多項式の演算により暗号化と復号化とを行う公開鍵暗号方式である。まず、NTRU暗号方式で扱う多項式は、上記システムパラメータNに対し、(N−1)次元以下の多項式であり、例えばN=5のとき、「X^4+X^3+1」等の4次元以下の多項式である。ここで、「X^a」はXのa乗を意味することとする。また、暗号化時あるいは復号化時に用いられる公開鍵h、秘密鍵f、平文m、乱数r、暗号文cはいずれも、(N−1)次元以下の多項式として表現される(以降、それぞれを公開鍵多項式h、秘密鍵多項式f、平文多項式m、乱数多項式r、暗号文多項式cと呼ぶ)。なお、ここではシステムパラメータNをN=167としている。したがって、平文mが2進数表現されているものとすると、167ビットの情報を表現可能である。なお、ここでは、167を超えない2のべき乗の最大値である128を平文mのビット数として、平文多項式mを表現するものとする。
そして、多項式演算は、上記システムパラメータNに対し、X^N=1という関係式を用いて、演算結果が常に(N−1)次元以下の多項式になるように演算される。例えば、N=5の場合、多項式「X^4+X^2+1」と多項式「X^3+X」との積は、多項式と多項式の積を「×」、整数と多項式の積を「・」とすると、X^5=1という関係から、
(X^4+X^2+1)×(X^3+X)
=X^7+2・X^5+2・X^3+X
=X^2×1+2・1+2・X^3+X
=2・X^3+X^2+X+2というように、常に(N−1)次元以下の多項式になるように演算される。
暗号化時には、以下に述べる乱数多項式rと公開鍵多項式hとを用いて、平文多項式mに多項式演算である暗号化アルゴリズムEを施して、暗号文多項式c=E(m,r,h)を生成する。ここで、E(m,r,h)は、NTRU暗号方式の暗号化アルゴリズムEに、平文多項式m、乱数多項式r及び公開鍵多項式hを入力して得られる多項式演算の結果である。暗号化アルゴリズムEについては上記文献に詳しく述べられており、ここでは説明を繰返さない。
なお、NTRU暗号方式では、乱数多項式rを生成するためのパラメータdが予め決められており、乱数多項式rは、d個の係数が1であり、かつd個の係数が−1であり、かつ他の係数は0となるように生成される。すなわち、乱数多項式rは(N−1)次元以下の多項式であり、0次元(定数項)から(N−1)次元まで、N個の係数がある。このN個の係数のうち、d個の係数が1であり、かつd個の係数が−1であり、かつ(N−2d)個の係数は0となるように選ばれる。上記文献によれば、パラメータNがN=167の場合、d=18である。すなわち、18個の係数が1であり、かつ18個の係数が−1であり、131(=167−36)個の係数が0となるように乱数多項式rが選ばれる。
例えば、乱数多項式rは図1に示されるようなアルゴリズムに従い生成される。まず、乱数多項式rのN個の係数がすべて0に設定される(ステップS271)。次に、0から(N−1)までの範囲の整数の乱数tを発生させる(ステップS273)。乱数の発生には、例えば、プログラミング言語Cの標準ライブラリ関数であるrand関数が用いられる。次に、発生させた乱数tに基づいて、乱数多項式rのt次元の係数が1か否かが調べられる(ステップS274)。1であれば(ステップS273でYes)、再度、乱数発生処理(ステップS273)が繰返される。0であれば(ステップS273でNo)、乱数多項式rのt次元の係数が1に設定される(ステップS275)。以上の処理が、乱数多項式rのうちd個の係数が1になるまで繰返される(ステップS272〜ステップS276)。
次に、0から(N−1)までの範囲の整数の乱数tを発生させる(ステップS278)。発生させた乱数tに基づいて、乱数多項式rのt次元の係数が1または−1か否かが調べられる(ステップS279)。1または−1であれば(ステップS279でYes)、再度、乱数発生処理(ステップS278)が繰返される。0であれば(ステップS279でNo)、乱数多項式rのt次元の係数が−1に設定される(ステップS280)。以上の処理が、乱数多項式rのうちd個の係数が−1になるまで繰返される(ステップS277〜ステップS281)。以上のようにして乱数多項式rが生成される。
復号化時には、秘密鍵多項式fを用いて、暗号文多項式cに多項式演算である復号アルゴリズムDが施され、復号文多項式m'=D(c,f)が生成される。ここで、D(c,f)は、NTRU暗号方式の復号アルゴリズムDに、暗号文多項式c、及び秘密鍵多項式fを入力して得られる多項式演算の結果である。復号アルゴリズムDについては上記文献に詳しく述べられており、ここでは説明を繰返さない。
ところで、このNTRU暗号方式は、復号文多項式m'が平文多項式mと異なる場合が発生する。この場合は、復号時に正しく平文多項式mが得られないことになる。このことを「復号エラーが発生する」という。復号エラーは、乱数多項式r、平文多項式m、公開鍵多項式h、秘密鍵多項式fの組み合わせにより、発生するかどうかが決まる。具体的には、公開鍵多項式hは、秘密鍵多項式fとランダム多項式gとの演算結果により生成されるが、この公開鍵多項式hを生成したときに用いたランダム多項式g、乱数多項式r、平文多項式m、秘密鍵多項式fの演算結果の多項式(p・r×g+f×m)の係数の値が−q/2からq/2の間に入らなかったとき、復号エラーが発生する。この復号エラーの発生を完全に避ける手法は現在知られていないが、上記文献によれば、N=167の場合、d=18とすれば、確率的にほとんど復号エラーは発生せず、実用上問題ないことが明記されている。
(実施の形態1)
本発明の実施の形態1における暗号システム1の全体構成を図2に示す。この暗号システム1は平文多項式mの暗号化通信を行うシステムであり、送信装置110と複数の受信装置120a、120b、120cとを備えている。送信装置110と受信装置120a、120b、120cとは通信路130を介して相互に接続されている。
以下に、送信装置110は複数の受信装置のうち受信装置120aと暗号化通信を行うものとし、これらの構成要素について詳細に説明を行う。
送信装置110は、図3に示すように、平文入力部111、パラメータ記憶部112、タイマ部113、パラメータ制御部114、乱数生成部115、暗号化部116、送信部117及び鍵更新部118を備えている。
平文入力部111は、外部より入力された平文多項式mを暗号化部116に出力する。
パラメータ記憶部112は、図4に示すように、受信装置120aの固有番号IDa、公開鍵多項式ha及び乱数パラメータdaを、一組のデータDTa=(IDa,ha,da)として記憶している(受信装置120b、120cについても同様にデータDTb=(IDb,hb,db)、データDTc=(IDc,hc,dc)を記憶している)。ここで、乱数パラメータdaは、暗号化時に用いる乱数多項式rを生成するためのパラメータであり、乱数多項式rの係数のうち、係数が1であるものの数、及び係数が−1であるものの数である。なお、乱数パラメータdaの初期値は、da=18とする。
タイマ部113は、一日毎に時間信号を発生し、パラメータ制御部114に入力する。
パラメータ制御部114は、タイマ部113から時間信号を受け取ったら、パラメータ記憶部112に記憶された乱数パラメータdaの値を1ずつ増加させる(乱数パラメータdb、dcの値も、同様に1ずつ増加させる)。
乱数生成部115は、パラメータ記憶部112から受信装置120aの乱数パラメータdaを読み出す。そして、読み出した乱数パラメータdaに基づき、da個の係数が1であり、かつda個の係数が−1であり、かつその他の係数が0となる乱数多項式rをランダムに生成する。乱数多項式rの生成方法は上述したとおりである。そして、生成した乱数多項式rを暗号化部116へ出力する。
暗号化部116は、予めNTRU暗号方式の暗号アルゴリズムEを有している。
暗号化部116は、平文入力部111から平文多項式mを受け取り、パラメータ記憶部112から受信装置120aの公開鍵多項式haを読み出し、乱数生成部115から乱数多項式rを受け取る。暗号化部116は、乱数多項式rと公開鍵多項式haとを用いて、平文多項式mに前記暗号アルゴリズムEを施して暗号文多項式E(m,r,ha)を生成する。暗号化部116は、生成した暗号文多項式E(m,r,ha)を送信部117へ出力する。
送信部117は、暗号文多項式E(m,r,ha)を、通信路130を介して受信装置120aへ送信する。
鍵更新部118は、通信路130を介して受信装置120a、120b、120cから、固有番号と新たな公開鍵多項式とを受信することができる。もしも、受信装置120aの固有番号IDaと公開鍵多項式ha'とを受信した場合、鍵更新部118は、パラメータ記憶部112に記憶されているデータDTa=(IDa,ha,da)を、データDTa'=(IDa,ha',da')に更新する。ここでda'は、乱数パラメータの初期値でありda'=18である(受信装置120b、120cから固有番号および公開鍵多項式を受信した場合は、鍵更新部118は、データDTbをデータDTb'に、データDTcをデータDTc'にそれぞれ更新する)。
以上述べた送信装置110は、以下に述べる暗号化通信処理、乱数パラメータ更新処理及び公開鍵更新処理を並行して非同期的に行う(処理の順番は問わない)。
以下に、送信装置110の動作について、暗号化通信処理、乱数パラメータ更新処理、公開鍵更新処理に分けて説明を行う。
最初に、送信装置110の暗号化通信処理について、図5に示すフローチャートを用いて説明する。
まず、乱数生成部115は、パラメータ記憶部112から受信装置120aの乱数パラメータdaを読み出す(ステップS101)。乱数生成部115は、読み出した乱数パラメータdaに基づき、da個の係数が1であり、かつda個の係数が−1であり、かつその他の係数が0となる乱数多項式rをランダムに生成し、生成した乱数多項式rを暗号化部116へ出力する(ステップS102)。乱数多項式rの生成方法は、図1を参照して説明したとおりである。
次に、暗号化部116は、平文入力部111から平文多項式mを受け取る。また、暗号化部116は、パラメータ記憶部112から受信装置120aの公開鍵多項式haを読み出す。さらに、暗号化部116は、乱数生成部115から乱数多項式rを受け取る(ステップS103)。暗号化部116は、乱数多項式rと公開鍵多項式haとを用いて、平文多項式mに暗号アルゴリズムEを施して暗号文多項式E(m,r,ha)を生成する。暗号化部116は、生成した暗号文多項式E(m,r,ha)を送信部117へ出力する(ステップS104)。
送信部117は、受け取った暗号文多項式E(m,r,ha)を、通信路130を介して受信装置120aへ送信して処理を終了する(ステップS105)。
次に、送信装置110の乱数パラメータ更新処理について、図6に示すフローチャートを用いて説明する。
パラメータ制御部114は、タイマ部113から時間信号を受取ると(ステップS111でYes)、パラメータ記憶部112に記憶された乱数パラメータdaの値を1ずつ増加させて(乱数パラメータdbおよびdcの値も、同様に1ずつ増加させる)、処理を終了する(ステップS112)。パラメータ制御部114は、タイマ部113から時間信号を受け取らなければ(ステップS111でNo)、何も処理を行なわない。
次に、送信装置110の公開鍵更新処理について、図7に示すフローチャートを用いて説明する。
鍵更新部118は、受信装置120aから固有番号IDaと新たな公開鍵多項式ha’とを受信すると(ステップS121でYes)、パラメータ記憶部112に記憶されているデータDTa=(IDa,ha,da)を、データDTa'=(IDa,ha',da')に更新して処理を終了する。(受信装置120bまたは120cから固有番号および新たな公開鍵多項式を受信した場合は、データDTbをデータDTb'に、データDTcをデータDTc'にそれぞれ更新する)。
鍵更新部118は、受信装置120a、120bおよび120cのいずれからも固有番号および公開鍵多項式を受信しなければ(ステップS121でNo)、何も処理を行なわない。
受信装置120aは、図8に示すように、受信部121、秘密鍵記憶部122、復号化部123、復号文出力部124、鍵再生成部125、及び入力部126を備えている。
受信部121は、送信装置110から通信路130を介して、暗号文多項式E(m,r,ha)を受信し、受信した暗号文多項式E(m,r,ha)を復号化部123へ出力する。
秘密鍵記憶部122は、受信装置120aの秘密鍵多項式faを記憶している。
復号化部123は、暗号化部116が有する暗号アルゴリズムEの逆変換である、NTRU暗号方式の復号アルゴリズムDを予め有している。
復号化部123は、受信部121から暗号文多項式E(m,r,ha)を受け取り、秘密鍵記憶部122から受信装置120aの秘密鍵多項式faを読み出す。そして、復号化部123は、秘密鍵多項式faを用いて、暗号文多項式E(m,r,ha)に前記復号アルゴリズムDを施して復号文多項式m'=D(E(m,r,ha),fa)を生成する。復号化部123は、生成した復号文多項式m'を復号文出力部124へ出力する。
復号文出力部124は、復号化部123から復号文多項式m'を受け取り、復号文多項式m'を外部へ出力する。
鍵再生成部125は、入力部126を介して鍵再生成要求信号を受け取った場合、NTRU暗号の秘密鍵多項式fa'及び公開鍵多項式ha'を新たに再生成する。その後、鍵再生成部125は、秘密鍵記憶部122に記憶されている秘密鍵多項式faを新たに生成した秘密鍵多項式fa'に更新する。そして、鍵再生成部125は、受信装置120aの固有番号IDaと新たな公開鍵多項式ha'とを、通信路130を介して送信装置110に送信する。
受信装置120aを扱うユーザは、受信装置120aの公開鍵多項式haと秘密鍵多項式faの再生成を指示する鍵再生成要求信号とを入力部126に入力することができる。この鍵再生成要求信号は、復号文出力部124から出力された復号文多項式m'が正しく得られない等の理由で、ユーザが公開鍵多項式haと秘密鍵多項式faとの再生成のために入力する信号である。
入力部126は、外部から入力された鍵再生成要求信号を鍵再生成部125に出力する。
以上に述べた受信装置120aは、以下に述べる復号化処理及び鍵更新処理を並行して非同期的に行う(処理の順番は問わない)。
以下に、送信装置120aの動作について、復号化処理、鍵更新処理に分けて説明を行う。
最初に、受信装置120aの復号化処理について、図9に示すフローチャートを用いて説明する。
受信部121は、送信装置110から通信路130を介して、暗号文多項式E(m,r,ha)を受信し、受信した暗号文多項式E(m,r,ha)を復号化部123へ出力する(ステップS151)。
復号化部123は、受信部121から暗号文多項式E(m,r,ha)を受け取り、秘密鍵記憶部122から受信装置120aの秘密鍵多項式faを読み出す(ステップS152)。復号化部123は、秘密鍵多項式faを用いて、暗号文多項式E(m,r,ha)に復号アルゴリズムDを施して復号文多項式m'=D(E(m,r,ha),fa)を生成する。復号化部123は、生成した復号文多項式m'を復号文出力部124へ出力する(ステップS153)。
復号文出力部124は、復号化部123から復号文多項式m'を受け取り、復号文多項式m'を外部へ出力して処理を終了する(ステップS154)。
次に、受信装置120aの鍵更新処理について、図10に示すフローチャートを用いて説明する。
鍵再生成部125は、入力部126を介して鍵再生成要求信号を受取った場合には(ステップS161でYes)、鍵再生成部125は、NTRU暗号の秘密鍵多項式fa'及び公開鍵多項式ha'を新たに再生成する。その後、鍵再生成部125は、秘密鍵記憶部122に記憶されている秘密鍵多項式faを新たに生成した秘密鍵多項式fa'に更新する(ステップS162)。また、鍵再生成部125は、受信装置120aの固有番号IDaと新たな公開鍵多項式ha'とを、通信路130を介して送信装置110に送信して処理を終了する(ステップS163)。
鍵再生成部125は、入力部126を介して鍵再生生成要求信号を受取らなかった場合には(ステップS161でNo)、何も処理を行なわない。
以下に、実施の形態1における暗号システム1全体の動作について説明する。
ここで、暗号システム1において、送信装置110は複数の受信装置のうち受信装置120aと暗号化通信を行うものとする。
まず、送信装置110は、受信装置120aの固有番号IDa、公開鍵多項式ha及び乱数パラメータdaを、データDTa=(IDa,ha,da)としてパラメータ記憶部112に記憶している(受信装置120bおよび120cについても同様にデータDTb=(IDb,hb,db)およびデータDTc=(IDc,hc,dc)をそれぞれ記憶している)。乱数パラメータda、dbおよびdcの初期値は、da=db=dc=18である。
そして、送信装置110は暗号化通信処理に従って、平文多項式mを暗号化して暗号文多項式E(m,r,ha)を生成する。送信装置110は、生成した暗号文多項式E(m,r,ha)を通信路130を介して受信装置120aに送信する。一方、受信装置120aは上述した復号化処理に従って、暗号文多項式E(m,r,ha)を通信路130を介して送信装置110から受信する。受信装置120aは、受信した暗号文多項式E(m,r,ha)を復号して復号文多項式m'を出力する。
なお、送信装置110では、タイマ部113が一日毎に時間信号を発生する。パラメータ制御部114は、乱数パラメータ更新処理に従い、タイマ部113が一日毎に発生する時間信号に応答し、パラメータ記憶部112に記憶されている全ての乱数パラメータda、dbおよびdcの値を1ずつ増加させる。すなわち、パラメータ記憶部112に記憶された全ての乱数パラメータの値は一日毎に増加する。
従って、この送信装置110の暗号化通信処理が継続して行われると、暗号文多項式E(m,r,ha)を生成される際に用いられる乱数多項式rは、係数が1であるもの、及び係数が−1であるものの数が一日毎に増加する。
図11は、N=167とした場合に、乱数パラメータdの値に対し、d個の係数が1であり、d個の係数が−1であり、かつその他の係数が0となる乱数多項式rを用いた場合の、NTRU暗号方式の復号エラー発生確率の測定結果を示している。この測定結果によれば、乱数パラメータdaの初期値da=18においては、送信装置110が生成する暗号文多項式E(m,r,ha)の復号エラーはほとんど発生しない(受信装置120は受信した暗号文多項式E(m,r,ha)から、平文多項式mと等しい復号文多項式m'を得ることができる)。一方で、期間が経過すれば、乱数パラメータdaが一日毎に徐々に大きくなるので、送信装置110が生成する暗号文多項式E(m,r,ha)は、徐々に復号エラー発生確率が大きくなる(受信装置120は受信した暗号文多項式E(m,r,ha)から、平文多項式mと等しい復号文多項式m'を得ることが徐々にできなくなる)。
そして、もしも受信装置120が平文多項式mと等しい復号文多項式m'を得ることができる確率が下がり、実用的な暗号化通信を行うことができなくなった場合、受信装置120aを扱うユーザは、鍵更新処理を行うことにより、受信装置120aの公開鍵多項式haと秘密鍵多項式faとの再生成を指示する鍵再生成要求信号を入力部126に入力することができる。すると、送信装置110の公開鍵更新処理により、パラメータ記憶部112の乱数パラメータdaは初期値da'=18に更新されるので、復号エラー発生確率が元に戻り、再び受信装置120aは実用的に暗号化通信を行うことができるようになる。
なお、図中、乱数パラメータdの値が38から48に増加しているにもかかわらず、復号エラー発生確率が2.6%から2.3%に減少しているのは、理論値と実測値とのずれによるものである。従って、実測値の母数が多ければ、乱数パラメータdが多くなるにつれ、復号エラー発生確率も増加することが確率的および理論的に証明されている。
以上説明したように、実施の形態1に係る暗号システム1によると、送信装置110が暗号化通信時に用いる乱数多項式rを、期間が経過するにつれて、係数が1であるもの、及び係数が−1であるものの数を増加させるようにしている。これにより、受信装置120aの有する秘密鍵多項式faが暴露されたとしても、暴露された秘密鍵多項式faを不正に用いる第三者の受信装置では、期間が経過するにつれて、復号エラーの発生確率が大きくなる。よって、送信装置110が行う暗号化通信を正しく復号できなくなる。この結果、この暗号システム1は、従来技術と異なり、秘密鍵が暴露された場合に、送信装置が行う暗号化通信の内容が、暴露された秘密鍵を有する第三者の受信装置に復号され続けるのを防止することができるようになる。そのため、例えば、音楽等のデジタル著作物を送信する場合において、秘密鍵が暴露されたときに、送信者側の不利益を防止することが可能となる。
また、正規に秘密鍵多項式faを有する受信装置120aにおいても、期間が経過するにつれて、同じ秘密鍵多項式faを使い続けると、徐々に復号エラーの発生確率が大きくなり、送信装置110が行う暗号化通信を正しく復号できなくなる。そして、受信装置120aを扱うユーザに、同じ秘密鍵多項式faを使い続けると、復号エラーの発生確率が大きくなっていき、鍵を更新しないと暗号化通信が実用的ではなくなることを知らしめる。このため、暗号システム1は、鍵の更新のために受信装置120の入力部126を介して、鍵再生成要求信号を入力することをユーザに促すことができる。この結果、この暗号システム1は、従来技術と異なり、受信装置又は受信装置を扱う人に、鍵の更新を促すことができるようになる。
さらに、この暗号システム1は、従来技術と異なり、第三者機関によるCRLやSRMを必要としない。
(実施の形態2)
本発明の実施の形態2における暗号システム2は、暗号システム1を基本にして構成した、映画や音楽などのデジタル著作物(以降、コンテンツと呼ぶ)の配信に適した暗号システムである。
暗号システム2は、平文多項式mをNTRU暗号で暗号化して送信する代わりに、以下の処理を実行する点が暗号システム1と異なる。すなわち、暗号システム2は、デジタルデータであるコンテンツCNTi(1≦i≦k)を暗号鍵Ki(1≦i≦k)を用いて共通鍵暗号で暗号化する。また、暗号システム2は、その暗号鍵Ki(1≦i≦k)をNTRU暗号で暗号化して、暗号化したコンテンツと暗号化した暗号鍵とを送信する。さらに、暗号システム2では、鍵サーバを利用して鍵の更新を行う点が暗号システム1と異なる。以下に詳細を説明する。
実施の形態2における暗号システム2の全体構成を図12に示す。この暗号システム2はコンテンツCNTの配信を行うシステムであり、コンテンツサーバ210と、鍵サーバ220と、受信装置230とを備えている。コンテンツサーバ210と受信装置230とはインターネット240を介して相互に接続されている。コンテンツサーバ210と鍵サーバ220とは専用回線250で接続されている。鍵サーバ220と受信装置230とは、電話回線260で接続されている。
コンテンツサーバ210は、コンテンツCNTをユーザjに提供する業者が有している。鍵サーバ220は、コンテンツCNTを利用するための復号鍵をユーザjに提供する業者が有している。受信装置230は、コンテンツCNTを利用するユーザjが有している。ここでは、コンテンツサーバ210と鍵サーバ220とは同一の業者が有しているものとする。
以下に、これらの構成要素について詳細に説明を行う。
コンテンツサーバ210は、図13に示すように、コンテンツ記憶部211、パラメータ記憶部212、タイマ部213、パラメータ制御部214、乱数生成部215、暗号鍵生成部216、暗号化部217、送信部218及び鍵更新部219を備えている。
コンテンツ記憶部211は、外部より入力されたコンテンツCNTを、例えば一定時間毎に区切ったMPEG2データCNTi(1≦i≦k)として格納している。
パラメータ記憶部212は、図14に示すように、ユーザj毎に、受信装置230の固有番号IDj、公開鍵多項式hj及び乱数パラメータdjを、一組のデータDTj=(IDj,hj,dj,Lj)(1≦j≦n)として記憶している。ここで、乱数パラメータdjは、暗号化時に用いる乱数多項式ri(1≦i≦k)を生成するためのパラメータであり、乱数多項式ri(1≦i≦k)の係数のうち、係数が1であるものの数、及び係数が−1であるものの数である。なお、乱数パラメータdjの初期値は、dj=18とする。
タイマ部213は、一日毎に時間信号を発生し、パラメータ制御部214に入力する。
パラメータ制御部214は、タイマ部213から時間信号を受け取ったら、パラメータ記憶部212に記憶されたデータDTjの乱数パラメータdj(1≦j≦n)の値を1ずつ増加させる。なお、鍵サーバ220より固有番号IDjおよびリセット信号を受取った場合には、その固有番号で特定されるデータDTjの乱数パラメータdjは一定期間(例えば、1ヶ月間)更新しないようにする。この期間は、コンテンツ視聴有効期間Ljにより定められる。このようにすることにより、コンテンツCNTの視聴料を支払ったユーザに対しては、一定期間、コンテンツCNTの視聴を可能とする。
乱数生成部215は、パラメータ記憶部212から受信装置230の乱数パラメータdjを読み出す。そして、読み出した乱数パラメータdjに基づき、dj個の係数が1であり、かつdj個の係数が−1であり、かつその他の係数が0となる乱数多項式ri(1≦i≦k)をランダムに生成する。そして、生成した乱数多項式ri(1≦i≦k)を暗号化部217へ出力する。乱数多項式riの生成方法については、図1を参照して説明した通りである。
暗号鍵生成部216は、ランダムに暗号鍵Ki(1≦i≦k)を生成し、暗号化部217へ出力する。
暗号化部217は、予めNTRU暗号方式の暗号アルゴリズムEと、例えばDES(Data Encryption Standard)暗号方式のような共通鍵暗号アルゴリズムSymを有している。
共通鍵暗号では、暗号鍵Kが用いられ、平文mに共通鍵暗号アルゴリズムSymが施され、暗号文c=Sym(m,K)が生成される。また、暗号鍵Kが用いられ、暗号文cに共通鍵暗号アルゴリズムSymが施され、復号文m'=Sym(c,K)が生成される。ここで、暗号文生成時に用いられる暗号鍵Kと復号文生成時に用いられる暗号鍵Kとが同一であれば、復号文m'=平文mとなる。なお、共通鍵暗号及びDES暗号方式については、“岡本龍明、山本博資、「現代暗号」、シリーズ/情報科学の数学、産業図書、1997”に詳しく述べられているため、ここでは詳細な説明を繰返さない。
暗号化部217は、暗号鍵生成部216から暗号鍵Ki(1≦i≦k)を受け取る。暗号化部217は、受け取った暗号鍵Ki(1≦i≦k)をNTRU暗号で暗号化できるように暗号鍵多項式KPi(1≦i≦k)に変換する。この変換は、暗号鍵Kiをビット列としたとき、例えば、暗号鍵Kiの下位bビット目の値をX^bの係数として暗号鍵多項式KPiを構成することで実現できる。すなわち、Ki=10010(ビット表現)の場合、KPi=X^5+X^2となる。
暗号化部217は、パラメータ記憶部212から受信装置230の公開鍵多項式hjを読み出し、乱数生成部215から乱数多項式ri(1≦i≦k)を受け取る。そして、暗号化部217は、乱数多項式ri(1≦i≦k)と公開鍵多項式hjとを用いて、変換した暗号鍵多項式KPi(1≦i≦k)にNTRU暗号方式の暗号アルゴリズムEを施して、暗号化暗号鍵多項式EKPi=E(KPi,ri,hj)(1≦i≦k)を生成する。
暗号化部217は、コンテンツ記憶部211から、コンテンツCNTi(1≦i≦k)を受け取る。暗号化部217は、上記暗号鍵Ki(1≦i≦k)を使用して、コンテンツCNTi(1≦i≦k)に共通鍵暗号アルゴリズムSymを施して、暗号化コンテンツECi=Sym(CNTi,Ki)(1≦i≦k)を生成する。
暗号化部217は、暗号化暗号鍵多項式EKPi(1≦i≦k)と暗号化コンテンツECi(1≦i≦k)とを送信部218へ出力する。
送信部218は、暗号化暗号鍵多項式EKPi(1≦i≦k)と暗号化コンテンツECi(1≦i≦k)とを、インターネット240を介して受信装置230へ送信する。
鍵更新部219は、専用回線250を介して鍵サーバ220から、受信装置230の固有番号IDjと公開鍵多項式hj'(1≦j≦n)とを受信することができる。もしも、受信装置230の固有番号IDjと公開鍵多項式hj'(1≦j≦n)とを受信した場合、鍵更新部219は、パラメータ記憶部212に記憶されているデータDTj=(IDj,hj,dj)をデータDTj'=(IDj,hj',dj')に更新する。ここでdj'は、乱数パラメータdjの初期値であり、dj'=18である。
以上に述べたコンテンツサーバ210は、以下に述べる暗号化通信処理、乱数パラメータ更新処理及び公開鍵更新処理を並行して非同期的に行う(処理の順番は問わない)。
以下に、コンテンツサーバ210の動作について、暗号化通信処理、乱数パラメータ更新処理、公開鍵更新処理に分けて説明を行う。
最初に、コンテンツサーバ210の暗号化通信処理について、図15に示すフローチャートを用いて説明する。
まず、乱数生成部215は、パラメータ記憶部212から受信装置230の乱数パラメータdjを読み出す(ステップS201)。乱数生成部215は、読み出した乱数パラメータdjに基づき、dj個の係数が1であり、かつdj個の係数が−1であり、かつその他の係数が0となる乱数多項式ri(1≦i≦k)をランダムに生成する。乱数生成部215は、生成した乱数多項式ri(1≦i≦k)を暗号化部217へ出力する(ステップS202)。乱数多項式riの生成方法は、図1を参照して説明した通りである。
次に、暗号鍵生成部216は、ランダムに暗号鍵Ki(1≦i≦k)を生成し、生成した暗号鍵Ki(1≦i≦k)を暗号化部217へ出力する(ステップS203)。暗号鍵Kiは、プログラミング言語Cの標準ライブラリ関数であるrand関数を用いることにより生成を行なってもよい。
次に、暗号化部217は、暗号鍵生成部216から暗号鍵Ki(1≦i≦k)を受け取る。暗号化部217は、受け取った暗号鍵Ki(1≦i≦k)をNTRU暗号で暗号化できるように暗号鍵多項式KPi(1≦i≦k)に変換する(ステップS204)。暗号化部217は、コンテンツ記憶部211からコンテンツCNTi(1≦i≦k)を読み出す。また、暗号化部217は、パラメータ記憶部212から受信装置230の公開鍵多項式hjを読み出す。さらに、暗号化部217は、乱数生成部215から乱数多項式ri(1≦i≦k)を受け取る(ステップS205)。暗号化部217は、乱数多項式ri(1≦i≦k)と公開鍵多項式hjとを用いて、変換した暗号鍵多項式KPi(1≦i≦k)にNTRU暗号方式の暗号アルゴリズムEを施して、暗号化暗号鍵多項式EKPi=E(KPi,ri,hj)(1≦i≦k)を生成する(ステップS206)。暗号化部217は、コンテンツ記憶部211から、コンテンツCNTi(1≦i≦k)を受け取る。暗号化部217は、上記暗号鍵Ki(1≦i≦k)を使用して、コンテンツCNTi(1≦i≦k)に共通鍵暗号アルゴリズムSymを施して、暗号化コンテンツECi=Sym(CNTi,Ki)(1≦i≦k)を生成する(ステップS207)。暗号化部217は、暗号化暗号鍵多項式EKPi(1≦i≦k)と暗号化コンテンツECi(1≦i≦k)とを送信部218へ出力する(ステップS208)。
送信部218は、受け取った暗号化暗号鍵多項式EKPi(1≦i≦k)と暗号化コンテンツECi(1≦i≦k)とをインターネット240を介して受信装置230へ送信して処理を終了する(ステップS209)。
次に、コンテンツサーバ210の乱数パラメータ更新処理について、図16に示すフローチャートを用いて説明する。
パラメータ制御部214は、鍵サーバ220より固有番号IDjとリセット信号とを受信すると(ステップS211でYes)、固有番号IDjで特定される受信装置230のコンテンツ視聴有効期間Ljを1ヶ月間延長する(ステップS212)。リセット信号は、受信装置230がコンテンツ視聴のための料金を支払った際に、鍵サーバ220より送信される。
パラメータ制御部214は、タイマ部213より時間信号を受取ると(ステップS213でYes)、固有番号IDjで特定される受信装置230のコンテンツ視聴有効期間Ljが1日以上あるか否かを調べる(ステップS215)。コンテンツ視聴有効期間Ljが1日以上あれば(ステップS215でYes)、パラメータ制御部214は、コンテンツ視聴有効期間Ljを1つデクリメントする(ステップS216)。その代わり、乱数パラメータdjの値は変化させない。コンテンツ視聴有効期間Ljが0日以下であれば(ステップS215でNo)、パラメータ制御部214は、乱数パラメータdjを1つ増加させる(ステップS217)。以上の処理をすべての固有番号IDjで特定される受信装置230について行ない、処理を終了する(ステップS214〜S218)。
このように、コンテンツ視聴有効期間の経過した受信装置230の乱数パラメータdjを増加させることにより、コンテンツCNTの復号エラー発生確率を日に日に増大させることができる。
次に、コンテンツサーバ210の公開鍵更新処理について、図17に示すフローチャートを用いて説明する。
鍵更新部219は、専用回線250を介して鍵サーバ220から、受信装置230の固有番号IDjと公開鍵多項式hj'(1≦j≦n)とを受信したら(ステップS221でYes)、鍵更新部219は、パラメータ記憶部212に記憶されているデータDTj=(IDj,hj,dj)を、データDTj'=(IDj,hj',dj')に更新して処理を終了する。ここでdj'は、乱数パラメータdjの初期値であり、dj'=18である(ステップS222)。受信装置230の固有番号IDjと公開鍵多項式hj'(1≦j≦n)とを受信しなければ(ステップS221でNo)、鍵更新部219は、何も処理を行なわない。
鍵サーバ220は、図18に示すように、ID受信部221、鍵再生成部222、公開鍵送信部223、秘密鍵送信部224、電子マネー受信部225、契約管理部226およびリセット信号送信部227を備えている。
ID受信部221は、受信装置230から電話回線260を介して、受信装置230の固有番号IDj(1≦j≦n)を受信すると、受信した固有番号IDjを契約管理部226に出力する。
電子マネー受信部225は、受信装置230から電話回線260を介して、電子マネーを受信すると、受信した電子マネーを契約管理部226に出力する。ここで言う電子マネーとは、ネットワーク上で流通する電子的な現金のことを言う。
契約管理部226は、ID受信部221および電子マネー受信部225より受信装置230の固有番号IDjおよび電子マネーをそれぞれ受信する。契約管理部226は、固有番号IDjおよび電子マネーに基づいて、それらがコンテンツ配信業者と予め契約されている受信装置230から受信したものであるかのか、また、支払われた金額が足りているか等のチェックを行なう。チェック結果に問題がなければ、契約管理部226は、鍵再生成部222に受信装置230の固有番号IDjを出力する。
鍵再生成部222は、契約管理部226から固有番号IDjを受け取ると、NTRU暗号方式の秘密鍵多項式fj'と公開鍵多項式hj'とを生成する。鍵再生成部222は、受け取った固有番号IDjと生成した公開鍵多項式hj'とを公開鍵送信部223に出力し、生成した秘密鍵多項式fj'を秘密鍵送信部224に出力する。それと同時に、鍵再生成部222は、固有番号IDjとリセット信号とをリセット信号送信部227に出力する。
公開鍵送信部223は、鍵再生成部222から固有番号IDjと公開鍵多項式hj'を受け取ると、受け取った固有番号IDjと公開鍵多項式hj'を、専用回線250を介してコンテンツサーバ210へ送信する。
リセット信号送信部227は、鍵再生成部222から固有番号IDjとリセット信号とを受け取ると、受け取った固有番号IDjとリセット信号とを、専用回線250を介してコンテンツサーバ210へ送信する。
秘密鍵送信部224は、鍵再生成部222から秘密鍵多項式fj'を受け取ると、受け取った秘密鍵多項式fj'を、電話回線260を介して受信装置230へ送信する。
以上に述べた鍵サーバ220の動作について、図19に示すフローチャートを用いて説明する。
ID受信部221および電子マネー受信部225が、受信装置230から電話回線260を介して、受信装置230の固有番号IDj(1≦j≦n)および電子マネーをそれぞれ受信したら(ステップS231でYes)、契約管理部226は、それらがコンテンツ配信業者と予め契約されている通信装置230から受信したものであるのか、また、支払われた金額が足りているか等の契約条件のチェックを行なう。契約条件を満たしている場合には(ステップS232でYes)、契約管理部226は、受信した固有番号IDjを鍵再生成部222に出力する(ステップS233)。
鍵再生成部222は、ID受信部221から固有番号IDjを受け取り、NTRU暗号方式の秘密鍵多項式fj'と公開鍵多項式hj'を生成する(ステップS234)。鍵再生成部222は、受け取った固有番号IDjと生成した公開鍵多項式hj'とを公開鍵送信部223に出力する。また、鍵再生成部222は、固有番号IDjとコンテンツ視聴有効期間を延長させるためのリセット信号とをリセット信号送信部227に出力する(ステップS234)。
公開鍵送信部223は、鍵再生成部222から固有番号IDjと公開鍵多項式hj'とを受け取り、受け取った固有番号IDjと公開鍵多項式hj'とを、専用回線250を介してコンテンツサーバ210へ送信する。また、リセット信号送信部227は、鍵再生成部222から固有番号IDjとリセット信号とを受け取り、受け取った固有番号IDjとリセット信号とを、専用回線250を介してコンテンツサーバ210へ送信する(ステップS235)。
次に、秘密鍵送信部224は、鍵再生成部222から秘密鍵多項式fj'を受け取り、受け取った秘密鍵多項式fj'を、電話回線260を介して受信装置230へ送信する(ステップS236)。
受信装置230は、図20に示すように、受信部231、秘密鍵記憶部232、復号化部233、出力部234、鍵更新用送受信部235、及び入力部236を備えている。
受信部231は、コンテンツサーバ210からインターネット240を介して、暗号化暗号鍵多項式EKPi(1≦i≦k)と暗号化コンテンツECi(1≦i≦k)とを受信し、受信した暗号化暗号鍵多項式EKPi(1≦i≦k)と暗号化コンテンツECi(1≦i≦k)とを復号化部233へ出力する。
秘密鍵記憶部232は、受信装置230の秘密鍵多項式fjを記憶している。
復号化部233は、暗号化部217が有する暗号アルゴリズムEの逆変換である、NTRU暗号方式の復号アルゴリズムDと、暗号化部217が有する共通鍵暗号アルゴリズムSymを予め有している。
復号化部233は、受信部231から暗号化暗号鍵多項式EKPi(1≦i≦k)と暗号化コンテンツECi(1≦i≦k)とを受け取り、秘密鍵記憶部232から受信装置230の秘密鍵多項式fjを読み出す。復号化部233は、秘密鍵多項式fjを用いて、暗号化暗号鍵多項式EKPi(1≦i≦k)に前記復号アルゴリズムDを施して、復号暗号鍵多項式KPi'=D(EKPi,fj)(1≦i≦k)を生成する。
復号化部233は、コンテンツサーバ210の暗号化部217における変換の逆変換を用いて、復号暗号鍵多項式KPi(1≦i≦k)を復号暗号鍵Ki’(1≦i≦k)に変換する。
復号化部233は、復号暗号鍵Ki'(1≦i≦k)を使用して、暗号化コンテンツECi(1≦i≦k)に共通鍵暗号アルゴリズムSymを施して、復号コンテンツCNTi'=Sym(ECi,Ki')(1≦i≦k)を生成する。復号化部233は、生成した復号コンテンツCNTi'(1≦i≦k)を出力部234に出力する。
出力部234は、例えば図示しないモニタやスピーカ等を備えており、入力された復号コンテンツCNTi'(1≦i≦k)を外部に出力する。
モニタは、復号コンテンツCNTi'(1≦i≦k)のMPEG2データから得られる映像を外部に出力し、スピーカは、復号コンテンツCNTi'(1≦i≦k)のMPEG2データから得られる音声を外部に出力する。
鍵更新用送受信部235は、入力部236を介して鍵再生成要求信号を受け取った場合、受信装置230の固有番号IDjおよびコンテンツ配信業者とあらかじめ契約した額の電子マネーを、電話回線260を介して鍵サーバ220へ送信する。また、鍵更新用送受信部235は、鍵サーバ220から電話回線260を介して、秘密鍵多項式fj'を受信する。鍵更新用送受信部235は、秘密鍵記憶部232に記憶されている秘密鍵多項式fjを受信した秘密鍵多項式fj'に更新する。
受信装置230を扱うユーザjは、受信装置230の公開鍵多項式hjと秘密鍵多項式fjとの再生成を指示する鍵再生成要求信号を入力部236に入力することができる。この鍵再生成要求信号は、出力部234から出力された復号コンテンツCNTi'(1≦i≦k)が正しく得られない等の理由で、ユーザが公開鍵多項式hjと秘密鍵多項式fjの再生成のために入力する信号である。
入力部236は、外部から入力された鍵再生成要求信号を鍵更新用送受信部235に出力する。
以上に述べた受信装置230は、以下に述べる復号化処理及び鍵更新処理を並行して非同期的に行う(処理の順番は問わない)。
以下に、受信装置230の動作について、復号化処理、鍵更新処理に分けて説明を行う。
最初に、受信装置230の復号化処理について、図21に示すフローチャートを用いて説明する。
受信部231は、コンテンツサーバ210からインターネット240を介して、暗号化暗号鍵多項式EKPi(1≦i≦k)と暗号化コンテンツECi(1≦i≦k)とを受信し、受信した暗号化暗号鍵多項式EKPi(1≦i≦k)と暗号化コンテンツECi(1≦i≦k)を復号化部233へ出力する(ステップS251)。
復号化部233は、受信部231から暗号化暗号鍵多項式EKPi(1≦i≦k)と暗号化コンテンツECi(1≦i≦k)とを受け取り、秘密鍵記憶部232から受信装置230の秘密鍵多項式fjを読み出す(ステップS252)。復号化部233は、秘密鍵多項式fjを用いて、暗号化暗号鍵多項式EKPi(1≦i≦k)に復号アルゴリズムDを施して、復号暗号鍵多項式KPi'=D(EKPi,fj)(1≦i≦k)を生成する(ステップS253)。
復号化部233は、コンテンツサーバ210の暗号化部217における変換の逆変換を用いて、復号暗号鍵多項式KPi’(1≦i≦k)を復号暗号鍵Ki’(1≦i≦k)に変換する(ステップS254)。
復号化部233は、復号暗号鍵Ki'(1≦i≦k)を使用して、暗号化コンテンツECi(1≦i≦k)に共通鍵暗号アルゴリズムSymを施して、復号コンテンツCNTi'=Sym(ECi,Ki')(1≦i≦k)を生成する。復号化部233は、復号コンテンツCNTi'(1≦i≦k)を出力部234に出力する(ステップS255)。
出力部234は、復号コンテンツCNTi'(1≦i≦k)のMPEG2データから得られる映像及び音声をそれぞれ外部に出力して処理を終了する(ステップS256)。
次に、受信装置230の鍵更新処理について、図22に示すフローチャートを用いて説明する。
まず、鍵更新用送受信部235は、入力部236を介して鍵再生成要求信号を受け取ったら(ステップS261でYes)、受信装置230の固有番号IDjとコンテンツ配信業者とあらかじめ契約した額の電子マネーとを、電話回線260を介して鍵サーバ220へ送信する(ステップS262)。鍵更新用送受信部235は、鍵サーバ220から電話回線260を介して、秘密鍵多項式fj'を受信して、秘密鍵記憶部232に記憶されている秘密鍵多項式fjを受信した秘密鍵多項式fj'に更新して処理を終了する(ステップS263)。
以下に、実施の形態2における暗号システム2全体の動作について暗号システム1との差異点を中心に説明する。
まず、コンテンツサーバ210は、受信装置230の固有番号IDj、公開鍵多項式hj及び乱数パラメータdjを、データDTj=(IDj,hj,dj)としてパラメータ記憶部212に記憶している。乱数パラメータdjの初期値は、dj=18である。
そして、コンテンツサーバ210は暗号化通信処理に従って、コンテンツCNTi(1≦i≦k)を暗号鍵Ki(1≦i≦k)を用いて共通鍵暗号で暗号化して暗号化コンテンツECi(1≦i≦k)を生成する。また、コンテンツサーバ210は、その暗号鍵Ki(1≦i≦k)から変換した暗号鍵多項式KPi(1≦i≦k)をNTRU暗号で暗号化して暗号化暗号鍵多項式EKPi(1≦i≦k)を生成する。コンテンツサーバ210は、暗号化コンテンツECi(1≦i≦k)を暗号化暗号鍵多項式EKPi(1≦i≦k)と共にインターネット240を介して受信装置230に送信する。一方、受信装置230は、暗号化コンテンツECi(1≦i≦k)と暗号化暗号鍵EKi(1≦i≦k)とをインターネット240を介して送信装置210から受信する。受信装置230は、復号化処理に従って、受信した暗号化暗号鍵多項式EKPi(1≦i≦k)を復号して復号暗号鍵多項式KPi'(1≦i≦k)を生成する。受信装置230は、これを変換した復号暗号鍵Ki’(1≦i≦k)を用いて、暗号化コンテンツECi(1≦i≦k)を復号して、復号コンテンツCNTi'(1≦i≦k)を出力する。
なお、コンテンツサーバ210では、乱数パラメータ更新処理に従って、タイマ部213が一日毎に発生する時間信号に応じて、パラメータ制御部214は、パラメータ記憶部212に記憶された全ての乱数パラメータdj(1≦j≦n)の値を1ずつ増加させる。すなわち、パラメータ記憶部212に記憶された全ての乱数パラメータdj(1≦i≦n)の値は一日毎に増加する。
従って、このコンテンツサーバ210の暗号化通信処理が継続して行われると、暗号化暗号鍵多項式EKPi(1≦i≦k)を生成される際に用いられる乱数多項式ri(1≦i≦k)の1の係数の個数(−1の係数の個数)が一日毎に増加する。
ただし、コンテンツ配信業者との間でコンテンツ配信契約を行なっている受信装置230に関しては、契約終了までは乱数パラメータdjの値を更新しないようにしている。このため、乱数多項式ri(1≦i≦k)の1の係数の個数(−1の係数の個数)は18個のままである。
図11は、N=167とした場合に、乱数パラメータdの値に対し、d個の係数が1であり、d個の係数が−1であり、かつその他の係数が0となる乱数多項式rを用いた場合の、NTRU暗号方式の復号エラー発生確率の測定結果を示している。この測定結果によれば、乱数パラメータdjの初期値dj=18においては、コンテンツサーバ210が生成する暗号化暗号鍵多項式EKPi(1≦i≦k)の復号エラーはほとんど発生しない(受信装置230は受信した暗号化暗号鍵多項式EKPi(1≦i≦k)から暗号鍵Kiと等しい復号暗号鍵Ki'を得ることができ、図23Aに示すように正しくコンテンツCNTiを復号することができる)。一方で、期間が経過すれば、乱数パラメータdjが一日毎に徐々に大きくなるので、コンテンツサーバ210が生成する暗号化暗号鍵多項式EKPi(1≦i≦k)は、徐々に復号エラー発生確率が大きくなる(受信装置230は受信した暗号化暗号鍵多項式EKPi(1≦i≦k)から暗号鍵Kiと等しい復号暗号鍵Ki'を得ることが徐々にできなくなり、図23Bに示すようにコンテンツCNTiを徐々に正しく復号できなくなる)。
そして、もしも受信装置230がコンテンツCNTi(1≦i≦k)を正しく復号できる確率が下がり、実用的な暗号化通信を行うことができなくなった場合、受信装置230を扱うユーザjは、鍵更新処理を行うことにより、受信装置230の公開鍵多項式hjと秘密鍵多項式fjとの再生成を指示する鍵再生成要求信号を入力部236に入力することができる。なお、この際、コンテンツ配信業者の運営する鍵サーバ220に対して電子マネーを合わせて支払うことになる。すると、鍵サーバ220により、コンテンツサーバ210のパラメータ記憶部212の乱数パラメータdjは初期値dj'=18に更新されるので、復号エラー発生確率が元に戻り、再び受信装置230は予め契約で定められた期間、実用的に暗号化通信を行うことができるようになる。
以上説明したように実施の形態2に係る暗号システム2によると、デジタルデータであるコンテンツCNTを一定時間毎に分割し、コンテンツCNTi(1≦i≦k)を受信装置230へ配信している。一般に、MPEG2のようなデジタルデータの場合、復号エラーが発生して正しくコンテンツCNTiが得られないと、動画像や音声にノイズが発生する。従って、期間が経過すると、復号エラーの発生確率が増加し、徐々に動画像や音声にノイズが増えることになる。これにより、コンテンツを提供する業者が、例えば1ヵ月間は実用上問題ないノイズ発生レベルでコンテンツをユーザに視聴させ、1ヵ月を過ぎると復号エラー発生確率が増加してノイズ発生レベルが大きくなり、料金の支払いおよび鍵更新を行わない限りユーザがコンテンツを実用的に視聴できないようにさせることができる。すなわち、期間限定のコンテンツ配信に適する。
また、一般に、MPEG2のようにサイズが大きいコンテンツCNTi(1≦i≦k)の場合、各コンテンツCNTiを全てNTRU暗号で暗号化しようとすると、NTRU暗号の入力ビット長に合わせてコンテンツCNTiを分割し、複数回NTRU暗号の暗号処理を行わなければならない。しかし、この場合、暗号鍵KiをNTRU暗号で暗号化し、サイズの大きいコンテンツCNTiは公開鍵暗号に比べて速度の速い共通鍵暗号で暗号化するので、高速処理が可能であり、コンテンツ配信に適する。
また、鍵の更新時に、鍵サーバ220を利用するので、鍵サーバ220でユーザjの鍵更新の回数を把握することができ、この回数によりコンテンツを提供する業者がユーザjにコンテンツ配信の課金を行うこともできる。
なお、実施の形態1で得られる効果も同様に得られる。
上記に説明した実施の形態は、本発明の実施の形態の一例であり、本発明はこの実施の形態に何ら限定されるものではなく、その主旨を逸脱しない範囲において種々なる態様で実施し得るものである。以下のような場合も本発明に含まれる。
上記暗号システムで用いられるNTRU暗号のパラメータはN=167に限定されず、他のパラメータでもよい。
パラメータ制御部114または214は、一日毎に乱数パラメータを1ずつ増加させる以外に、ある期間が経過するにつれて徐々に増加させるという条件を満たすのであれば、任意の期間毎に乱数パラメータを増加させてもよいし、またパラメータの増加分を任意にしてもよい。
さらに、パラメータ制御部114または214は、期間の経過に応じてではなく、乱数パラメータが読み出される毎に乱数パラメータを増加させてもよいし、乱数パラメータが読み出される回数に応じて乱数パラメータを増加させてもよい。これにより、暗号化回数が多くなるにつれ、徐々に復号エラー発生確率が大きくなるようにすることができるので、暴露された秘密鍵を有する第三者の受信装置により暗号文が復号され続けることを防止することができる。そのため、例えば、音楽等のデジタル著作物を送信する場合において、秘密鍵が暴露されたときに、送信者側の不利益を防止することが可能となる。
また、受信装置又は受信装置を扱う人に鍵の更新を促すことができる。また、これにより、期間限定のコンテンツ配信以外にも、回数限定のコンテンツ配信を提供できるようになる。
鍵再生成要求信号は入力部126または236を介して外部から入力される代わりに、受信装置120または230が何らかの方法で復号エラーを検知して、復号エラーに基づいて自動的に入力されるようにしてもよい。
例えば、実施の形態2における復号化部233が、さらに、復号コンテンツCNTi'がMPEG2のフォーマットに従っているかどうかを判別して復号エラーを検知し、復号エラー発生の度合が大きくなったら鍵再生成要求信号を入力部236に入力することにより実現できる。
また、例えば、平文多項式mや暗号鍵多項式KPi(1≦i≦k)の高次の10次元分の係数を予め1とする等、そのフォーマットを定めておく。復号化部123または223が、さらに、復号文多項式m'や復号暗号鍵多項式KPi'がそのフォーマットに従うかどうかを判別して復号エラーを検知し、復号エラー発生の度合が大きくなったら鍵再生成要求信号を入力部126または236に入力することでも実現できる。
なお、例えば、30分の間にエラーが所定の割合を超えた場合に、鍵生成要求信号を入力するようにしてもよい。
実施の形態2において、インターネット240、専用回線250、電話回線260は、衛生通信網等の他の通信路を用いてもよいし、また同じ通信路を用いてもよい。なお、鍵サーバ220と受信装置230との間の通信路では、秘密鍵fjの送信が行われるので、安全性を高めるために暗号化通信を行ってもよい。
実施の形態2において、共通鍵暗号アルゴリズムSymとして、AES(Advanced Encryption Standard)暗号等の他の共通鍵暗号方式を用いてもよい。
実施の形態2において、コンテンツCNTi(1≦i≦k)は、MPEG2データに限らず、Windows(R)MediaPlayerやRealPlayer(R)で再生可能なデジタルデータでもよいし、そのデータの形式は限られない。
実施の形態2において、コンテンツサーバ210と鍵サーバ220とは同一装置内にあってもよい。
なお、実施の形態1および2において、NTRU暗号を用いたが、EESS(Efficient Embedded Security Standard)方式のNTRU暗号であってもよい。EESS方式のNTRU暗号については、“EESS: Consortium for Efficient Embedded Security, Efficient Embedded Security Standards #1: Implementation Aspects of NTRUEncrypt and NTRUSign, Version 2.0,” available at http://ceesstandards.org , May 2003[May 2003検索].に詳細に記述されている。このため、ここではその詳細については繰返さないが、以下に簡単に説明する。
EESS方式のNTRU暗号では、乱数多項式rは、乱数パラメータdに対し、d個の係数が1であり、(N−d)個の係数が0である多項式、もしくはこのような複数の多項式を用いて計算される多項式である。先に説明したNTRU暗号と同様、EESS方式のNTRU暗号でも、乱数パラメータdの値が大きくなれば復号エラー発生確率が大きくなる。
従って、EESS方式でないNTRU暗号の代わりにEESS方式のNTRU暗号を用いても、同様の効果が得られる。
また、実施の形態2では、コンテンツの視聴料金の支払いに電子マネーを用いたが、現金の支払いが確実に証明できる方法であれば、通常通り現金による支払いを行ない、その受領証等を電子的に鍵サーバに送信するような形態であってもよい。
また、実施の形態2では、鍵サーバが電子マネーを受信することに基づいて、鍵更新を行う構成になっているが、その他の構成により鍵更新を行なうようにしてもよい。例えば、受信装置またはユーザが鍵サーバに鍵更新要求を送信すると、鍵サーバが鍵更新に必要となる課金額を受信装置またはユーザに送信する。その後、受信装置またはユーザが鍵サーバに対して「課金されることを了承する」旨の情報を送信し、当該情報が鍵サーバに受信されることにより、鍵更新を行なう。
本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、上記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、半導体メモリ、ハードディスクドライブ、CD−ROM(Compact Disc-Read Only Memory)、DVD−ROM(Digital Versatile Disc-Read Only Memory),DVD−RAM(Digital Versatile Disc-Random Access Memory)等、に記録したものとしてもよい。
上記実施の形態及び上記変形例をそれぞれ組み合わせてもよい。
以上のように、本発明に係る暗号システムは、鍵の更新を促すことができる暗号システムとして、特に、コンテンツデータを配信する際の暗号システムとして有用である。
本発明の実施の形態における乱数多項式生成処理の流れを示すフローチャートである。 本発明の実施の形態1における暗号システム1の構成を示す図である。 本発明の実施の形態1における送信装置110の構成を示す図である。 本発明の実施の形態1におけるパラメータ記憶部112の構成を示す図である。 本発明の実施の形態1における送信装置110の暗号化通信処理の流れを示すフローチャートである。 本発明の実施の形態1における送信装置110の乱数パラメータ更新処理の流れを示すフローチャートである。 本発明の実施の形態1における送信装置110の公開鍵更新処理の流れを示すフローチャートである。 本発明の実施の形態1における受信装置120aの構成を示す図である。 本発明の実施の形態1における受信装置120aの復号化処理の流れを示すフローチャートである。 本発明の実施の形態1における受信装置120aの鍵更新処理の流れを示すフローチャートである。 NTRU暗号方式の復号エラー発生確率の測定結果を示す図である。 本発明の実施の形態2における暗号システム2の構成を示す図である。 本発明の実施の形態2におけるコンテンツサーバ210の構成を示す図である。 本発明の実施の形態2におけるパラメータ記憶部212の構成を示す図である。 本発明の実施の形態2におけるコンテンツサーバ210の暗号化通信処理の流れを示すフローチャートである。 本発明の実施の形態2におけるコンテンツサーバ210の乱数パラメータ更新処理の流れを示すフローチャートである。 本発明の実施の形態2におけるコンテンツサーバ210の公開鍵更新処理の流れを示すフローチャートである。 本発明の実施の形態2における鍵サーバ220の構成を示す図である。 本発明の実施の形態2における鍵サーバ220の処理の流れを示すフローチャートである。 本発明の実施の形態2における受信装置230の構成を示す図である。 本発明の実施の形態2における受信装置230の復号化処理の流れを示すフローチャートである。 本発明の実施の形態2における受信装置230の鍵更新処理の流れを示すフローチャートである。 コンテンツを正しく復号した結果の図である。 コンテンツを誤って復号した結果の図である。
符号の説明
110 送信装置
112 パラメータ記憶部
116 暗号化部
118 鍵更新部

Claims (35)

  1. 平文を暗号化し、暗号文を生成する暗号装置であって、
    暗号鍵と復号装置に対応し前記暗号文の復号エラー発生確率を変化させるパラメータとを記憶する記憶手段と、
    前記パラメータの値に応じて前記暗号文の復号エラー発生確率が変化する暗号アルゴリズムに従い、前記平文から、前記記憶手段に記憶されている前記暗号鍵および前記パラメータを用いて前記暗号文を生成する暗号手段と、
    前記記憶手段に記憶されている前記パラメータを更新する更新手段とを備える
    ことを特徴とする暗号装置。
  2. 前記更新手段は、期間が経過するにつれて前記記憶手段に記憶されている前記パラメータを更新する
    ことを特徴とする請求項1に記載の暗号装置。
  3. 前記暗号手段は、NTRU暗号方式の暗号アルゴリズムを用いて前記暗号文を生成する
    ことを特徴とする請求項2に記載の暗号装置。
  4. 前記記憶手段に記憶されている前記パラメータは、NTRU暗号方式における乱数多項式中の係数が1の項の数であり、
    前記更新手段は、期間が経過するにつれて前記乱数多項式中の係数が1の項の数を増加させる
    ことを特徴とする請求項3に記載の暗号装置。
  5. さらに、前記復号装置より前記暗号鍵の更新要求を受け、当該更新要求に応答して、前記暗号鍵を更新する暗号鍵更新手段と、
    前記復号装置より前記乱数多項式中の係数が1の項の数の更新要求を受け、当該更新要求に応答して、前記乱数多項式中の係数が1の項の数を、復号エラーが発生する確率が所定の値以下となる初期値に設定する初期化手段とを備える
    ことを特徴とする請求項4に記載の暗号装置。
  6. 前記初期化手段は、前記復号装置より所定の金額が支払われた場合にのみ、前記乱数多項式中の係数が1の項の数を前記初期値に設定する
    ことを特徴とする請求項5に記載の暗号装置。
  7. 前記更新手段は、期間が経過するにつれて前記暗号文の復号エラー発生確率が上昇するように前記パラメータを更新する
    ことを特徴とする請求項2に記載の暗号装置。
  8. 前記更新手段は、前記暗号手段の暗号化回数に応じて前記記憶手段に記憶されている前記パラメータを更新する
    ことを特徴とする請求項1に記載の暗号装置。
  9. 前記更新手段は、前記暗号手段の暗号化回数が増加するにつれて前記暗号文の復号エラー発生確率が上昇するように前記パラメータを更新する
    ことを特徴とする請求項8に記載の暗号装置。
  10. 前記暗号手段は、NTRU暗号方式の暗号アルゴリズムを用いて前記暗号文を生成する
    ことを特徴とする請求項1に記載の暗号装置。
  11. 前記記憶手段に記憶されている前記パラメータは、NTRU暗号方式における乱数多項式中の係数が1の項の数であり、
    前記更新手段は、期間が経過するにつれて前記乱数多項式中の係数が1の項の数を増加させる
    ことを特徴とする請求項10に記載の暗号装置。
  12. 前記暗号手段は、EESS(Efficient Embedded Security Standard)方式のNTRU暗号方式の暗号アルゴリズムを用いて前記暗号文を生成する
    ことを特徴とする請求項10に記載の暗号装置。
  13. さらに、前記復号装置より前記暗号鍵の更新要求を受け、当該更新要求に応答して、前記暗号鍵を更新する暗号鍵更新手段と、
    前記復号装置より前記パラメータの更新要求を受け、当該更新要求に応答して、前記パラメータの値を、復号エラーが発生する確率が所定の値以下となる初期値に設定するパラメータ初期化手段とを備える
    ことを特徴とする請求項1に記載の暗号装置。
  14. 暗号文を復号する復号装置であって、
    パラメータの値に応じて前記暗号文の復号エラー発生確率が変化する暗号アルゴリズムに従い生成された前記暗号文から、復号鍵を用いて復号文を生成する復号手段と、
    前記復号文が正しく得られたか否かを判別する判別手段と、
    前記判別手段の判別結果に応じて、前記復号鍵の更新を暗号装置へ要求する復号鍵更新要求手段と、
    前記判別手段の判別結果に応じて、前記パラメータの値の、復号エラーが発生する確率が所定の値以下となる初期値への変更を前記暗号装置へ要求するパラメータ初期化要求手段とを備える
    ことを特徴とする復号装置。
  15. 前記復号鍵更新要求手段および前記パラメータ初期化要求手段は、所定の金額の支払いと合わせて、前記暗号装置へ前記復号鍵の更新要求および前記パラメータの初期化要求をそれぞれ行なう
    ことを特徴とする請求項14に記載の復号装置。
  16. 前記判別手段は、所定期間内における前記暗号文の復号エラー発生確率が所定しきい値を上回った場合に、前記復号文が正しく得られていないと判別する
    ことを特徴とする請求項15に記載の復号装置。
  17. 前記判別手段は、所定期間内における前記暗号文の復号エラー発生確率が所定しきい値を上回った場合に、前記復号文が正しく得られていないと判別する
    ことを特徴とする請求項14に記載の復号装置。
  18. 平文を暗号化し、暗号文を生成する暗号装置と、前記暗号文を復号し、復号文を生成する復号装置とを含む暗号システムであって、
    前記暗号装置は、
    暗号鍵と前記復号装置に対応し前記暗号文の復号エラー発生確率を変化させるパラメータとを記憶する記憶手段と、
    前記パラメータの値に応じて前記暗号文の復号エラー発生確率が変化する暗号アルゴリズムに従い、前記平文から、前記記憶手段に記憶されている前記暗号鍵および前記パラメータを用いて前記暗号文を生成する暗号手段と、
    前記記憶手段に記憶されている前記パラメータを更新する更新手段とを備え、
    前記復号装置は、
    前記暗号文から、復号鍵を用いて復号文を生成する復号手段と、
    前記復号鍵の更新を前記暗号装置へ要求する復号鍵更新要求手段と、
    前記パラメータの値の、復号エラーが発生する確率が所定の値以下となる初期値への変更を前記暗号装置へ要求するパラメータ初期化要求手段とを備える
    ことを特徴とする暗号システム。
  19. 前記更新手段は、期間が経過するにつれて前記記憶手段に記憶されている前記パラメータを更新する
    ことを特徴とする請求項18に記載の暗号システム。
  20. 前記暗号手段は、NTRU暗号方式の暗号アルゴリズムを用いて前記暗号文を生成し、
    前記記憶手段に記憶されている前記パラメータは、NTRU暗号方式における乱数多項式中の係数が1の項の数であり、
    前記更新手段は、期間が経過するにつれて前記乱数多項式中の係数が1の項の数を増加させる
    ことを特徴とする請求項19に記載の暗号システム。
  21. 前記復号鍵更新要求手段および前記パラメータ初期化要求手段は、所定の金額の支払いと合わせて、前記暗号装置へ前記復号鍵の更新要求および前記パラメータの初期化要求をそれぞれ行ない、
    前記暗号装置は、さらに、
    前記復号装置より前記復号鍵の更新要求を受け、前記所定の金額が支払われた場合にのみ、当該更新要求に応答して、前記復号鍵を更新する復号鍵更新手段と、
    前記復号装置より前記パラメータの初期化要求を受け、前記所定の金額が支払われた場合にのみ、当該初期化要求に応答して、前記乱数多項式中の係数が1の項の数を、復号エラーが発生する確率が所定の値以下となる初期値に設定する初期化手段とを備える
    ことを特徴とする請求項20に記載の暗号システム。
  22. 前記更新手段は、前記暗号手段の暗号化回数に応じて前記記憶手段に記憶されている前記パラメータを更新する
    ことを特徴とする請求項18に記載の暗号システム。
  23. 前記暗号手段は、NTRU暗号方式の暗号アルゴリズムを用いて前記暗号文を生成する
    ことを特徴とする請求項18に記載の暗号システム。
  24. 前記記憶手段に記憶されている前記パラメータは、NTRU暗号方式における乱数多項式中の係数が1の項の数であり、
    前記復号鍵更新要求手段および前記パラメータ初期化要求手段は、所定の金額の支払いと合わせて、前記暗号装置へ前記復号鍵の更新要求および前記パラメータの初期化要求をそれぞれ行ない、
    前記暗号装置は、さらに、
    前記復号装置より前記復号鍵の更新要求を受け、前記所定の金額が支払われた場合にのみ、当該更新要求に応答して、前記復号鍵を更新する復号鍵更新手段と、
    前記復号装置より前記パラメータの初期化要求を受け、前記所定の金額が支払われた場合にのみ、当該初期化要求に応答して、前記乱数多項式中の係数が1の項の数を、復号エラーが発生する確率が所定の値以下となる初期値に設定する初期化手段とを備える
    ことを特徴とする請求項23に記載の暗号システム。
  25. 前記復号装置は、さらに、前記復号文が正しく得られたか否かを判別する判別手段を備え、
    前記復号鍵更新要求手段は、前記判別手段の判別結果に応じて、前記復号鍵の更新を暗号装置へ要求し、
    前記パラメータ初期化要求手段は、前記判別手段の判別結果に応じて、前記パラメータの値の、復号エラーが発生する確率が所定の値以下となる初期値への変更を前記暗号装置へ要求する
    ことを特徴とする請求項18に記載の暗号システム。
  26. 平文を暗号化し、暗号文を生成する暗号装置による暗号方法であって、
    前記暗号装置は、暗号手段と、更新手段とを備え、
    前記暗号手段が、前記暗号装置により生成される前記暗号文を復号する復号装置に対応したパラメータの値に応じて前記暗号文の復号エラー発生確率が変化する暗号アルゴリズムに従い、前記平文から、暗号鍵および前記パラメータを用いて前記暗号文を生成する暗号文生成ステップと、
    前記更新手段が、前記パラメータを更新する更新ステップとを含む
    ことを特徴とする暗号方法。
  27. 前記更新ステップでは、前記更新手段が、期間が経過するにつれて前記暗号文の復号エラー発生確率が上昇するように前記パラメータを更新する
    ことを特徴とする請求項26に記載の暗号方法。
  28. 前記更新ステップでは、前記更新手段が、暗号化回数が増加するにつれて前記暗号文の復号エラー発生確率が上昇するように前記パラメータを更新する
    ことを特徴とする請求項26に記載の暗号方法。
  29. 前記暗号文生成ステップでは、前記暗号手段が、NTRU暗号方式の暗号アルゴリズムを用いて前記暗号文を生成する
    ことを特徴とする請求項26に記載の暗号方法。
  30. 前記パラメータは、NTRU暗号方式における乱数多項式中の係数が1の項の数であり、
    前記更新ステップでは、前記更新手段が、期間が経過するにつれて前記乱数多項式中の係数が1の項の数を増加させる
    ことを特徴とする請求項29に記載の暗号方法。
  31. 暗号文を復号する復号装置による復号方法であって、
    前記復号装置は、復号手段と、判別手段と、復号鍵更新要求手段と、パラメータ初期化要求手段とを備え、
    前記復号手段が、パラメータの値に応じて前記暗号文の復号エラー発生確率が変化する暗号アルゴリズムに従い生成された前記暗号文から、復号鍵を用いて復号文を生成する復号ステップと、
    前記判別手段が、前記復号文が正しく得られたか否かを判別する判別ステップと、
    前記復号鍵更新要求手段が、前記判別ステップにおける判別結果に応じて、前記復号鍵の更新を暗号装置へ要求する更新要求ステップと、
    前記パラメータ初期化要求手段が、前記判別ステップにおける判別結果に応じて、前記パラメータの値の、復号エラーが発生する確率が所定の値以下となる初期値への変更を前記暗号装置へ要求する初期化要求ステップと含む
    ことを特徴とする復号方法。
  32. コンピュータに、平文を暗号化させ、暗号文を生成させるための暗号プログラムであって、
    前記コンピュータのメモリは、暗号鍵と復号装置に対応し前記暗号文の復号エラー発生確率を変化させるパラメータとを記憶しており、
    前記コンピュータのプロセッサが、前記メモリに記憶されている前記パラメータの値に応じて前記暗号文の復号エラー発生確率が変化する暗号アルゴリズムに従い、前記平文から、暗号鍵および前記パラメータを用いて前記暗号文を生成する暗号文生成ステップと、
    前記プロセッサが、前記メモリに記憶されている前記パラメータを更新する更新ステップとをコンピュータに実行させる
    ための暗号プログラム。
  33. コンピュータに、暗号文を復号させるための復号プログラムであって、
    前記コンピュータのメモリは、前記暗号文を復号するための復号鍵と前記暗号文の復号エラー発生確率を変化させるパラメータとを記憶しており、
    前記コンピュータのプロセッサが、前記メモリに記憶されている前記パラメータの値に応じて前記暗号文の復号エラー発生確率が変化する暗号アルゴリズムに従い生成された前記暗号文から、前記コンピュータのメモリに記憶されている前記復号鍵を用いて復号文を生成する復号ステップと、
    前記プロセッサが、前記復号文が正しく得られたか否かを判別する判別ステップと、
    前記プロセッサが、前記判別ステップにおける判別結果に応じて、前記復号鍵の更新を暗号装置へ要求する更新要求ステップと、
    前記プロセッサが、前記判別ステップにおける判別結果に応じて、前記パラメータの値の、復号エラーが発生する確率が所定の値以下となる初期値への変更を前記暗号装置へ要求する初期化要求ステップとをコンピュータに実行させる
    ための復号プログラム。
  34. コンピュータに、平文を暗号化させ、暗号文を生成させるための暗号プログラムを記録したコンピュータ読取可能な記録媒体であって、
    前記コンピュータのメモリは、暗号鍵と復号装置に対応し前記暗号文の復号エラー発生確率を変化させるパラメータとを記憶しており、
    前記暗号プログラムは、
    前記コンピュータのプロセッサが、前記メモリに記憶されている前記パラメータの値に応じて前記暗号文の復号エラー発生確率が変化する暗号アルゴリズムに従い、前記平文から、暗号鍵および前記パラメータを用いて前記暗号文を生成する暗号文生成ステップと、
    前記プロセッサが、前記メモリに記憶されている前記パラメータを更新する更新ステップとをコンピュータに実行させるためのプログラムである
    ことを特徴とするコンピュータ読取可能な記録媒体。
  35. コンピュータに、暗号文を復号させるための復号プログラムを記録したコンピュータ読取可能な記録媒体であって、
    前記復号プログラムは、
    前記プロセッサが、パラメータの値に応じて前記暗号文の復号エラー発生確率が変化する暗号アルゴリズムに従い生成された前記暗号文から、前記コンピュータのメモリに記憶されている復号鍵を用いて復号文を生成する復号ステップと、
    前記プロセッサが、前記復号文が正しく得られたか否かを判別する判別ステップと、
    前記プロセッサが、前記判別ステップにおける判別結果に応じて、前記復号鍵の更新を暗号装置へ要求する更新要求ステップと、
    前記プロセッサが、前記判別ステップにおける判別結果に応じて、前記パラメータの値の、復号エラーが発生する確率が所定の値以下となる初期値への変更を前記暗号装置へ要求する初期化要求ステップとをコンピュータに実行させるためのプログラムである
    ことを特徴とするコンピュータ読取可能な記録媒体。
JP2003341911A 2002-10-09 2003-09-30 暗号装置、復号装置および暗号システム Expired - Fee Related JP4446374B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003341911A JP4446374B2 (ja) 2002-10-09 2003-09-30 暗号装置、復号装置および暗号システム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002296219 2002-10-09
JP2003341911A JP4446374B2 (ja) 2002-10-09 2003-09-30 暗号装置、復号装置および暗号システム

Publications (2)

Publication Number Publication Date
JP2004151692A JP2004151692A (ja) 2004-05-27
JP4446374B2 true JP4446374B2 (ja) 2010-04-07

Family

ID=32473527

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003341911A Expired - Fee Related JP4446374B2 (ja) 2002-10-09 2003-09-30 暗号装置、復号装置および暗号システム

Country Status (1)

Country Link
JP (1) JP4446374B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113091645B (zh) * 2021-02-20 2022-01-28 四川大学 基于概率密度函数提高相移误差检测精度的方法及系统
CN112818376B (zh) * 2021-03-08 2024-03-26 郑州铁路职业技术学院 一种防窃取的录音信息传输的加密方法

Also Published As

Publication number Publication date
JP2004151692A (ja) 2004-05-27

Similar Documents

Publication Publication Date Title
KR20050069936A (ko) 암호 장치, 복호 장치, 및 암호 시스템
KR101027199B1 (ko) 키공유 시스템, 공유키 생성장치 및 공유키 복원장치
US9160728B2 (en) Message sending/receiving method
JP4786531B2 (ja) 暗号システム、暗号装置、復号装置、プログラムおよび集積回路
JP2004533194A (ja) データを交換するように構成されたデバイスおよび認証の方法
WO2002039655A1 (fr) Dispositif de traitement d'informations, procede de traitement d'informations et support de programme
WO2001078298A1 (fr) Systeme et procede de traitement d'informations
JP2010124071A (ja) 通信装置、通信方法及びプログラム
JP5469618B2 (ja) 暗号化システム、復号方法、鍵更新方法、鍵生成装置、受信装置、代理計算装置、プログラム
JP4370721B2 (ja) 情報記録装置、情報再生装置、情報記録方法、情報再生方法、キー更新端末装置、世代管理キー更新方法、および情報記録媒体、並びにプログラム提供媒体
JP4446374B2 (ja) 暗号装置、復号装置および暗号システム
JP7325689B2 (ja) 暗号文変換システム、変換鍵生成方法、及び、変換鍵生成プログラム
CN1981477A (zh) 用于提供数字证书功能的方法
JP4561074B2 (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP6885325B2 (ja) 暗号化装置、復号装置、暗号化方法、復号方法、プログラム
JP5367023B2 (ja) 情報暗号化方法、情報暗号化装置、プログラム、および記録媒体
WO2023199436A1 (ja) 暗号文変換システム、暗号文変換方法、及び暗号文変換プログラム
JP7466791B2 (ja) 暗号化装置、復号装置、復号可能検証装置、暗号システム、暗号化方法、及び暗号化プログラム
WO2023199435A1 (ja) 暗号文変換システム、暗号文変換方法、及び暗号文変換プログラム
JP4485175B2 (ja) 鍵共有システム、共有鍵生成装置及び共有鍵復元装置
JP4576824B2 (ja) 情報処理装置および情報処理方法
TWI789115B (zh) 雲端服務的加密系統及加密方法
WO2023238230A1 (ja) 暗号システム
JP5458026B2 (ja) 暗号化システム、暗号化装置、復号装置、暗号化方法、プログラム
JP2004201293A (ja) 鍵共有システム、共有鍵生成装置及び共有鍵復元装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091013

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091126

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: 20091222

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: 20100114

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

Free format text: PAYMENT UNTIL: 20130129

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees