JP6139804B2 - 再暗号化鍵生成装置、再暗号化装置、暗号化装置、復号装置及びプログラム - Google Patents

再暗号化鍵生成装置、再暗号化装置、暗号化装置、復号装置及びプログラム Download PDF

Info

Publication number
JP6139804B2
JP6139804B2 JP2016551451A JP2016551451A JP6139804B2 JP 6139804 B2 JP6139804 B2 JP 6139804B2 JP 2016551451 A JP2016551451 A JP 2016551451A JP 2016551451 A JP2016551451 A JP 2016551451A JP 6139804 B2 JP6139804 B2 JP 6139804B2
Authority
JP
Japan
Prior art keywords
key
secret
encryption
encryption key
represented
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.)
Active
Application number
JP2016551451A
Other languages
English (en)
Other versions
JPWO2016051591A1 (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
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions 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, Toshiba Solutions Corp filed Critical Toshiba Corp
Publication of JPWO2016051591A1 publication Critical patent/JPWO2016051591A1/ja
Application granted granted Critical
Publication of JP6139804B2 publication Critical patent/JP6139804B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0847Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving identity based encryption [IBE] schemes
    • 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
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/76Proxy, i.e. using intermediary entity to perform cryptographic operations

Description

本発明の実施形態は、再暗号化鍵生成装置、再暗号化装置、暗号化装置、復号装置及びプログラムに関する。
ユーザがサーバにファイルをアップロードし、複数ユーザ間でそのファイルを共有するファイル共有システムにおいて、サーバに対してファイルデータの秘匿性を保つ方法として以下の三つの方式(1)〜(3)が挙げられる。
(1)各ユーザに個別の暗号化鍵でファイルを暗号化する個別鍵方式。
(2)各ユーザに共通の暗号化鍵でファイルを暗号化する共通鍵方式。
(3)プロキシ再暗号化方式を用いてファイルを暗号化する再暗号化方式。
上記(1)〜(3)の方式において、サーバにファイルをアップロードするユーザをユーザAとし、ユーザAがユーザB、ユーザCとファイルを共有するとする。
(1)の個別鍵方式では、ユーザ毎に異なる秘密鍵と公開鍵の組を各ユーザがそれぞれ持つ。ユーザAは、(ユーザBに個別の暗号化鍵である)ユーザBの公開鍵でファイルを暗号化し、暗号化されたファイルをサーバへアップロードする。同様に、ユーザAは、(ユーザCに個別の暗号化鍵である)ユーザCの公開鍵でファイルを暗号化し、暗号化されたファイルをサーバへアップロードする。つまり、ユーザAは、ファイルを共有する全てのユーザそれぞれに対して個別にファイルを暗号化する。
(2)の共通鍵方式では、各ユーザに共通の秘密鍵と公開鍵の組を各ユーザが共有する。ユーザAは、(各ユーザに共通の暗号化鍵である)公開鍵でファイルを暗号化し、暗号化されたファイルをサーバへアップロードする。各ユーザは、同一の秘密鍵を共有している。
(3)のプロキシ再暗号化方式では、(1)の個別鍵方式と同様に、ユーザ毎に異なる秘密鍵と公開鍵の組を各ユーザがそれぞれ持つ。しかしながら、(1)の個別鍵方式とは異なり、ユーザAは、ユーザのグループを管理するエンティティ(以下、グループ管理者と呼ぶ)の公開鍵(以下、グループ公開鍵と呼ぶ)でファイルを暗号化すれば良い。サーバは、再暗号化鍵を用いて(ユーザAがアップロードした)暗号化ファイルを各ユーザだけが復号できる暗号化ファイルにそれぞれ再暗号化する。プロキシ再暗号化方式の詳細は後述する。
(1)の個別鍵方式では、新たにユーザDともファイルを共有したいとき、ユーザAが(ユーザDに個別の暗号化鍵である)ユーザDの公開鍵でファイルを暗号化し、暗号化されたファイルをサーバへアップロードする必要があるという不都合がある。従って、(1)の方法は、新規ユーザ数や共有ファイル数が多い場合に、新規ユーザ追加時の処理が煩雑となるため、ファイル共有システムに不適である。
(2)の共通鍵方式では、ある時点から(その時点までファイル共有を許可していた)あるユーザがファイルを共有できないようにする(当該ユーザをファイル共有システムから排除する)際に、各ユーザに共通の秘密鍵と公開鍵を更新する機構が別途必要であることや、各ユーザに共通の秘密鍵が万が一漏洩してしまった場合、全ての暗号化ファイルが(当該漏洩鍵を入手した者ならば誰でも)復号可能となってしまう不都合がある。このため、(2)の共通鍵方式は、ファイル共有システムに不適である。
一方、(3)のプロキシ再暗号化方式では、サーバが再暗号化鍵を用いて一つの暗号文を各ユーザだけが復号できる暗号文に再暗号化するため、ユーザに再暗号化鍵を知らせない構成にすれば、上述した不都合を解決している。このため、(3)のプロキシ再暗号化方式は、ファイル共有システムに好適である。
R. Hayashi, T. Matsushita, T. Yoshida, Y. Fujii, and K. Okada, "Unforgeability of Re-Encryption Keys against Collusion Attack in Proxy Re-Encryption," In Proc. IWSEC 2011, LNCS 7038, pp. 210-229, Springer-Verlag, 2011. T. Isshiki, N. Manh Ha, and K. Tanaka, "Attacks to the Proxy Re-Encryption Schemes from IWSEC2011," In Proc. IWSEC 2013, LNCS 8231, pp. 290-302, 2013.
非特許文献1、非特許文献2によると、非特許文献1記載のプロキシ再暗号化方式では、サーバと1人のユーザが結託しても、復号権限を移譲元の許可なく再移譲されることはない。しかしながら、結託するユーザが二人以上の場合にもこの安全性が達成できる方式は開示されていない。
本発明が解決しようとする課題は、サーバと複数のユーザが結託した場合でも、復号権限が移譲元の許可なく再移譲されることを阻止し得る再暗号化鍵生成装置、再暗号化装置、暗号化装置、復号装置及びプログラムを提供することである。
実施形態の再暗号化鍵生成装置は、第1ユーザ装置の第1公開鍵により平文データを暗号化して得られた暗号文データを復号せずに再暗号化して、第2ユーザ装置の第2秘密鍵により復号可能な再暗号文データを得るための再暗号化鍵を生成する。
前記再暗号化鍵生成装置は、第1記憶手段、第2記憶手段及び再暗号化鍵生成手段を備えている。
前記第1記憶手段は、前記第1公開鍵に対応する第1秘密鍵を記憶する。
前記第2記憶手段は、前記第2秘密鍵に対応する第2公開鍵とは異なる前記第2ユーザ装置の第2再暗号化鍵生成鍵を記憶する。
前記再暗号化鍵生成手段は、前記第1秘密鍵、前記第2再暗号化鍵生成鍵及び複数の乱数に基づいて、前記再暗号化鍵を生成する。
前記第2再暗号化鍵生成鍵は、複数のシステム固有値及び前記第2秘密鍵からなる。
前記再暗号化鍵は、分子部分と分母部分とを有するベキ指数又は分子部分と分母部分とを有するスカラーを含む。
前記分子部分は、前記各システム固有値間の関係性を定める複数の秘密値と前記各乱数とのうちの少なくとも一つを作用させた前記第2秘密鍵の線形結合の形を有している。
前記分母部分は、前記第1秘密鍵からなる。
図1は、第1の実施形態に係る再暗号化システムの構成を示す模式図である。 図2は、同実施形態における鍵セットアップ処理の動作を説明するためのシーケンス図である。 図3は、同実施形態における暗号化処理の動作を説明するためのシーケンス図である。 図4は、同実施形態における再暗号化鍵生成処理の動作を説明するためのシーケンス図である。 図5は、同実施形態における再暗号化処理の動作を説明するためのシーケンス図である。 図6は、同実施形態における復号処理の動作を説明するためのシーケンス図である。 図7は、同実施形態におけるファイル共有システムの構成を例示する図である。 図8は、同実施形態におけるファイル共有システムの模式図である。 図9は、同実施形態におけるファイル共有システムの構成を例示する図である。 図10は、同実施形態におけるファイル共有システムの構成を例示する図である。 図11は、同実施形態における再暗号化鍵生成装置の構成を示す模式図である。
以下、各実施形態について図面を用いて説明する。なお、以下の各装置は、それぞれハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、図1に示すように、予めネットワーク又は非一時的なコンピュータ読み取り可能な記憶媒体(non-transitory computer-readable storage medium)M1〜M5からコンピュータにインストールされ、当該コンピュータのプロセッサに実行されることにより、対応する装置の機能を実現させるためのプログラムが用いられる。
(第1の実施形態)
始めに、プロキシ再暗号化方式について説明する。プロキシ再暗号化方式の基本的なモデルは以下の鍵生成、暗号化、復号、再暗号化鍵生成、再暗号化の5つの関数(以下、アルゴリズムともいう)からなる。鍵生成、暗号化、復号の機能は通常の公開鍵暗号と同様である。
(鍵生成)KeyGen(λ)→(pk,sk)
鍵生成アルゴリズムKeyGenは、セキュリティパラメータλが入力されると、公開鍵pkと秘密鍵skの組(pk,sk)を出力する。
(暗号化)Enc(pkA,m)→CA
暗号化アルゴリズムEncは、ユーザAの公開鍵pkAとメッセージmが入力されると、ユーザA宛の暗号文CAを出力する。
(復号)Dec(skA,CA)→m
復号アルゴリズムDecは、ユーザAの秘密鍵skAと、ユーザA宛の暗号文CAとが入力されると、メッセージmを出力する。
(再暗号化鍵生成)ReKeyGen(pkA,skA,pkB,skB)→rkA→B
再暗号化鍵生成アルゴリズムReKeyGenは、ユーザAの公開鍵pkA、ユーザAの秘密鍵skA、ユーザBの公開鍵pkB、ユーザBの秘密鍵skBが入力されると、再暗号化鍵rkA→Bを出力する。
(再暗号化)ReEnc(rkA→B,CA)→CB
再暗号化アルゴリズムReEncは、再暗号化鍵rkA→Bと、ユーザA宛の暗号文CAとが入力されると、ユーザB宛の暗号文CBを出力する。
以上が基本的なモデルである。但し、再暗号化の実現方式に応じて、関数への入力が異なるモデルや、上記以外の関数や鍵を含むモデルも考えられている。
例えば、本実施形態に示す再暗号化方式のように、暗号化、復号、再暗号化鍵生成、再暗号化の各関数の入力として公開パラメータ(詳しくは後述する)を含んでいても良い。
例えば、本実施形態に示す再暗号化方式のように、再暗号化鍵生成アルゴリズムReKeyGenの入力において、ユーザBの秘密鍵skBを不要とした非相互作用的(non-interactive)と呼ばれるモデルが考えられている。また、ユーザAの秘密鍵skAに代えて、ユーザB宛の再暗号化鍵rkA→BとユーザCの秘密鍵skCとが入力されるモデルなども考えられている。
また、再暗号化鍵rkA→Bで暗号文CA→CBの再暗号化を行える一方で、その逆の暗号文CB→CAの変換を行えない一方向性(unidirectional)と呼ばれるモデル、逆の変換も行える双方向性(bidirectional)と呼ばれるモデルなども知られている。なお、双方向性モデルでは、再暗号化鍵rkA→BをrkA⇔Bと表すことがある。
さらに、公開鍵暗号の中でもIDベース暗号に基づく方式も考えられている。その場合、マスター鍵生成のための関数セットアップ(Setup)が増え、鍵生成アルゴリズムKeyGenの入力にマスター鍵とIDが追加される。IDベース暗号において、公開鍵pkはIDそのものである。
また、本実施形態に示す再暗号化方式のように、再暗号化鍵生成アルゴリズムReKeyGenにおいて、ユーザBの公開鍵pkBに代えて、ユーザBの再暗号化鍵生成鍵rkBを入力するようにしても良い。この場合、鍵生成アルゴリズムKeyGenと再暗号化鍵生成アルゴリズムReKeyGenは、以下のように表される。
(鍵生成)KeyGen(λ)→(pk,sk,rk,par)
鍵生成アルゴリズムKeyGenは、セキュリティパラメータλが入力されると、公開鍵pk、秘密鍵sk、及び再暗号化鍵生成鍵rkの組(pk,sk,rk)と公開パラメータparを出力する。なお、本実施形態では、この処理を鍵セットアップ処理と呼ぶ。これは後述する実施形態や変形例においても同様である。
(再暗号化鍵生成)ReKeyGen(skA,rkB,par)→rkA→B
再暗号化鍵生成アルゴリズムReKeyGenは、ユーザAの秘密鍵skA、ユーザBの再暗号化鍵生成鍵rkB、公開パラメータparが入力されると、再暗号化鍵rkA→Bを出力する。
また、本実施形態に示す再暗号化方式のように、再暗号化アルゴリズムReEncの入力として、ユーザAの公開鍵pkAと公開パラメータparを追加しても良い。この場合、再暗号化アルゴリズムReEncは、以下のように表される。
(再暗号化)ReEnc(rkA→B,CA,pkA,par)→CB
再暗号化アルゴリズムReEncは、再暗号化鍵rkA→Bと、ユーザA宛の暗号文CAと、ユーザAの公開鍵pkAと、公開パラメータparとが入力されると、ユーザB宛の暗号文CBを出力する。
次に、本実施形態に係るファイル共有システムの構成について図7を用いて説明する。ファイル共有システムは、サービスを提供するサービス提供者の有する情報処理装置であるサーバSvと、当該サービスの利用者であるユーザの有する情報処理装置であるユーザ装置A,B,C,…(以下、ユーザA,B,C,…と略記する場合もある。また、第1ユーザ装置,第2ユーザ装置,…と呼ぶこともある。)とを備えている。サーバSvと、ユーザ装置A,B,C,…とは通信網を介して接続されている。通信網とは、例えば、無線LAN(Local Area Network)、有線LAN、光回線網、電話回線網、イントラネット、イーサネット(登録商標)及びインターネットやこれらの組み合わせである。サーバSvは1台のみを設けてもよく、複数台を設けても良い。
図8は、ファイル共有システムの模式図である。このファイル共有システムは、サーバSv、ユーザA、ユーザB、ユーザC、グループ管理者、及びユーザ管理者からなる。ユーザ管理者とは、全ユーザを管理するエンティティである。ユーザ管理者は、ユーザがファイル共有システムにログインできるようにするためのIDと初期パスワードを各ユーザに対して発行する。
事前準備として、グループ管理者は秘密鍵skGrを持っているものとする。また、グループ管理者の公開鍵pkGrはサーバSvの公開鍵記憶部1に記憶されているとする。また、各ユーザiは、秘密鍵skiと再暗号化鍵生成鍵rkiを持っているものとする。つまり、ユーザAはskAとrkA、ユーザBはskBとrkB、ユーザCはskCとrkCをそれぞれ持っている。なお、サーバSvと各ユーザiは、公開パラメータparと各ユーザiの公開鍵pkiを取得可能であるが、ここでは説明を省略し、詳しくは後述する。また、共有しようとする平文のファイルデータをmと表記する。
ユーザCは、公開鍵記憶部1に記憶されているグループ管理者の公開鍵pkGrでファイルデータmを暗号化し、得られた暗号文E(pkGr,m)をサーバSvへアップロードする。ここで、E(PK,M)とは、公開鍵PKを用いて平文Mを暗号化した暗号文を表す。サーバSvは、暗号文記憶部2においてこの暗号文を保管する。
今、ユーザAがファイルデータmの共有を承諾したとする。ユーザAは、グループ管理者へユーザAの再暗号化鍵生成鍵rkAを送信する。グループ管理者は、グループ管理者の秘密鍵skGrとユーザAの再暗号化鍵生成鍵rkAを用いて、グループ管理者宛の暗号文E(pkGr,m)をユーザA宛の暗号文E(pkA,m)に再暗号化する再暗号化鍵rkGr→Aを生成する。グループ管理者は、生成した再暗号化鍵rkGr→AをサーバSvへ送信する。サーバSvは、再暗号化鍵記憶部3においてこの再暗号化鍵rkGr→Aを保管する。
ユーザAは、サーバSvに対して暗号文E(pkGr,m)の再暗号化の要求を送信する。サーバSvは、ユーザAから受けた要求に対し、再暗号化鍵記憶部3に記憶されているユーザA宛の再暗号化鍵rkGr→Aを用いて、暗号文E(pkGr,m)をユーザA宛の再暗号文E(pkA,m)に再暗号化し、得られた再暗号文E(pkA,m)をユーザAに送信する。ここで、再暗号文とは、暗号文を再暗号化した暗号文である。
ユーザAは、サーバSvからダウンロードした再暗号文E(pkA,m)を自身が保有する秘密鍵skAで復号し、得られたファイルデータmを利用する。
以上のようなファイル共有システムは、ユーザCによる暗号化からユーザAによる復号までの間、ファイルデータmが一度も復号されないため、ファイル共有の過程における情報の漏洩を阻止することができる。
また、ユーザCは、暗号文をアップロードする時点で、どのユーザとファイル共有するかを決定する必要がない。つまり、ユーザCは、ファイルデータmをグループ管理者の公開鍵pkGrで暗号化すれば良く、暗号化に関して管理すべき鍵がグループ管理者の公開鍵pkGrのみで良いので、鍵管理のコストを低減させることができる。
本ファイル共有システムにおいて、サーバSvは、暗号文E(pkGr,m)を復号するための復号鍵skGrを持たない。従って、サーバSvはこの暗号文を復号できない。これにより、不正なサーバSvが暗号文を復号して漏洩させてしまうといった脅威を排除できるため、サーバSvの厳重な管理が不要となり、サーバSvの管理コストの低減に繋がる。
プロキシ再暗号化方式では、移譲元(上述の例ではグループ管理者)宛の暗号文を移譲先(上述の例ではユーザA)宛の暗号文に再暗号化することにより、暗号文の復号権限が移譲先へ移譲される。ここで、プロキシ再暗号化方式では、再暗号化鍵生成アルゴリズムReKeyGenの入力に、(移譲先の秘密鍵は含まれず)移譲先の公開鍵が含まれる。このため、例えばユーザiが、ユーザAの公開鍵pkAを用いて別のファイルデータm’を暗号化してユーザA宛の暗号文E(pkA,m’)を生成できるようにするために、ユーザAの公開鍵pkAは(例えばシステムを立ち上げる際など)予め公開される。
一方、ユーザAが暗号文の復号権限のユーザAへの移譲を承諾していない場合でも、ユーザAの公開鍵pkAが既に公開されているため、グループ管理者は再暗号化鍵rkGr→Aを生成できてしまう。従って、ユーザAの承諾なく再暗号化(つまり、暗号文の復号権限のユーザAへの移譲)を行われてしまう可能性がある。
それに対して、本ファイル共有システムにおいては、移譲先であるユーザAがユーザAの再暗号化鍵生成鍵rkAをグループ管理者に送信しなければ、グループ管理者は再暗号化鍵rkGr→Aを生成できない。従って、移譲先の承諾なく再暗号化(つまり、暗号文の復号権限の当該移譲先への移譲)を行えないようにすることができる。
ユーザBがファイル共有を行う際も上記と同様である。
図1は第1の実施形態に係る再暗号化システムの構成を示す模式図である。(図1と図8の対応関係については後述する。)この再暗号化システムは、鍵生成装置10、暗号化装置20、再暗号化鍵生成装置30、再暗号化装置40及び復号装置50を備えている。ここで、鍵生成装置10は、セキュリティパラメータに基づいて、再暗号化システムの公開パラメータ及び各装置30,50の公開鍵・秘密鍵のペアと再暗号化鍵生成鍵を生成する。ここで、再暗号化鍵生成鍵は、各装置30,50の秘密鍵に対応する公開鍵とは異なる鍵である。なお、「再暗号化鍵生成鍵」の用語は、例えば、「再暗号化鍵生成データ」又は「再暗号化鍵生成許可データ」等といった所望の名称に読み替えてもよい。
暗号化装置20は、再暗号化鍵生成装置30の秘密鍵に対応する公開鍵と公開パラメータを用いて平文データを暗号化し、得られた暗号文データを再暗号化装置40に送信する。
再暗号化鍵生成装置30は、再暗号化鍵生成装置30の秘密鍵、復号装置50の再暗号化鍵生成鍵、及び複数の乱数に基づいて再暗号化鍵を生成し、得られた再暗号化鍵を再暗号化装置40に送信する。なお、復号装置50の再暗号化生成鍵は、復号装置50の秘密鍵に対応する公開鍵とは異なる。また、本実施形態では、再暗号化鍵が、再暗号化鍵生成装置30の秘密鍵と、復号装置50の再暗号化鍵生成鍵と、公開パラメータと、複数の乱数とに基づいて生成される。但し、再暗号化鍵の生成の際に、乱数を直接用いることは必須ではなく、乱数に基づいて生成していればよい。例えば、乱数θを直接用いずに、乱数θ(=θ1+θ2)に基づく値「θ1+θ2」を用いて再暗号化鍵を生成してもよい。
再暗号化装置40は、再暗号化鍵生成装置30の公開鍵、公開パラメータ、及び再暗号化鍵生成装置30から受けた再暗号化鍵に基づいて、暗号化装置20から受けた暗号文データを検証処理すると共に、暗号化装置20から受けた暗号文データを復号せずに再暗号化し、得られた再暗号文データを復号装置50に送信する。但し、検証処理は必須ではなく、省略してもよい。
復号装置50は、自装置50の秘密鍵と公開パラメータに基づいて、再暗号化装置40から受けた再暗号文データを検証処理すると共に、再暗号化装置40から受けた再暗号文データを復号処理して平文データを得る。但し、検証処理は必須ではなく、省略してもよい。なお、鍵生成装置10、暗号化装置20、再暗号化鍵生成装置30、再暗号化装置40及び復号装置50は、それぞれ複数台が設けられていてもよいが、ここでは一台ずつ設けられている場合を例に挙げて述べる。また、暗号化装置20は、暗号化装置20の公開鍵と公開パラメータを用いて平文データを暗号化して得られた暗号文データを再暗号化装置40に送信しても良い。この場合、鍵生成装置10は、公開パラメータ及び各装置20,50の公開鍵・秘密鍵のペアと再暗号化鍵生成鍵を生成する。再暗号化鍵生成装置30は、暗号化装置20の秘密鍵と、復号装置50の再暗号化鍵生成鍵と、公開パラメータと、複数の乱数とを用いて再暗号化鍵を生成し、得られた再暗号化鍵を再暗号化装置40に送信する。
図1と図8の対応関係について説明する。各装置10〜50は、当該処理を行うエンティティにより保持される。ユーザが自身の公開鍵と秘密鍵の組と再暗号化鍵生成鍵を生成する場合、当該ユーザは鍵生成装置10を保持する。なお、例えば、ユーザ管理者又はグループ管理者がユーザの公開鍵と秘密鍵の組と再暗号化鍵生成鍵を生成する場合、ユーザ管理者又はグループ管理者が鍵生成装置10を保持する。ユーザは、暗号化装置20、復号装置50、又は両方を保持する。グループ管理者は、再暗号化鍵生成装置30を保持する。なお、例えば、ユーザ管理者又はサーバSvが再暗号化鍵を生成する場合、ユーザ管理者又はサーバSvが再暗号化鍵生成装置30を保持する。サーバSvは、再暗号化装置40を保持する。図8に例示したファイル共有システムにおいては、サーバSvが公開鍵記憶部1を保持し、暗号化を行うユーザCは、公開鍵記憶部1から暗号化に用いる公開鍵を取得しているが、これに限らず、後述するように、ユーザCは(暗号化に用いる公開鍵を生成した)鍵生成装置10から暗号化に用いる公開鍵を取得しても良い。また、サーバSvは、ユーザCが生成した暗号文E(pkGr,m)を暗号文記憶部2において保管するが、暗号文記憶部2は再暗号化装置40に含まれていても良いし、再暗号化装置40に含まれない外部の記憶装置であっても良い。
各エンティティは、鍵生成装置10、暗号化装置20、再暗号化鍵生成装置30、再暗号化装置40及び復号装置50の一部又は全部を保持しても良い。つまり、どのエンティティがどの装置を保持するかについては、上述の例に限定されるものではなく、様々なバリエーションが考えられる。また、ユーザ管理者とグループ管理者が同一の場合もあるし、異なる場合もある。また、ユーザがユーザ管理者、グループ管理者又は両者を兼ねる場合も兼ねない場合もある。また、ユーザ管理者又はグループ管理者がユーザを兼ねる場合も兼ねない場合もある。また、各ユーザが用いる各ユーザ装置は、第1ユーザ装置、第2ユーザ装置、…と呼んでもよい。同様に、各ユーザ装置の公開鍵、秘密鍵、及び再暗号化鍵生成鍵は、第1ユーザ装置の第1公開鍵、第1秘密鍵、及び第1再暗号化鍵生成鍵、第2ユーザ装置の第2公開鍵、第2秘密鍵、及び第2再暗号化鍵生成鍵、…と呼んでもよい。
また、例えば、図9、図10にそれぞれ示すように、各エンティティが各装置を保持しても良い。図9において、サーバSv2は鍵生成装置10を保持し、公開パラメータ、ユーザAの公開鍵と秘密鍵の組と再暗号化鍵生成鍵、及びユーザBの公開鍵と秘密鍵の組と再暗号化鍵生成鍵を生成する。サーバSv2は、公開パラメータ、ユーザAの公開鍵と秘密鍵の組と再暗号化鍵生成鍵をユーザAに渡し、公開パラメータ、ユーザBの公開鍵と秘密鍵の組と再暗号化鍵生成鍵をユーザBに渡し、公開パラメータ、ユーザAの公開鍵をサーバSv1に渡す。ユーザAは暗号化装置20を保持し、ユーザAの公開鍵と公開パラメータを用いて平文データを暗号化し、得られた暗号文データをサーバSv1に送信する。サーバSv2は再暗号化鍵生成装置30を保持し、ユーザAの秘密鍵、ユーザBの再暗号化鍵生成鍵、公開パラメータ、及び複数の乱数に基づいて再暗号化鍵を生成し、得られた再暗号化鍵をサーバSv1に渡す。サーバSv1は再暗号化装置40を保持し、サーバSv2から受けたユーザAの公開鍵、公開パラメータ、及び再暗号化鍵に基づいて、ユーザAから受けた暗号文データを検証処理すると共に、ユーザAから受けた暗号文データを復号せずに再暗号化し、得られた再暗号文データをユーザBに渡す。ユーザBは復号装置50を保持し、ユーザBの秘密鍵と公開パラメータに基づいて、サーバSv1から受けた再暗号文データを検証処理すると共に、サーバSv1から受けた再暗号文データを復号処理して平文データを得る。なお、各エンティティ間のデータの授受は、有線通信又は無線通信等の電気的な通信手段に限らず、例えば、再暗号化鍵生成鍵、再暗号化鍵、暗号文データ又は再暗号文データ等のデータを記憶した記憶媒体をオフラインで配送又は手渡しする物理的な通信手段を用いてもよい。あるいは、各エンティティ間のデータの授受は、電気的な通信手段と、物理的な通信手段とを組合せて用いてもよい。
図10において、ユーザAは鍵生成装置10を保持し、公開パラメータ、ユーザAの公開鍵と秘密鍵の組と再暗号化鍵生成鍵、及びユーザBの公開鍵と秘密鍵の組と再暗号化鍵生成鍵を生成する。ユーザAは、公開パラメータ、ユーザBの公開鍵と秘密鍵の組と再暗号化鍵生成鍵をユーザBに渡し、公開パラメータ、ユーザAの公開鍵をサーバSv1に渡す。ユーザAは暗号化装置20を保持し、ユーザAの公開鍵と公開パラメータを用いて平文データを暗号化し、得られた暗号文データをサーバSv1に送信する。ユーザAは再暗号化鍵生成装置30を保持し、ユーザAの秘密鍵、ユーザBの再暗号化鍵生成鍵、公開パラメータ、及び複数の乱数に基づいて再暗号化鍵を生成し、得られた再暗号化鍵をサーバSv1に渡す。サーバSv1は再暗号化装置40を保持し、ユーザAから受けたユーザAの公開鍵、公開パラメータ、及び再暗号化鍵に基づいて、ユーザAから受けた暗号文データを検証処理すると共に、ユーザAから受けた暗号文データを復号せずに再暗号化し、得られた再暗号文データをユーザBに渡す。ユーザBは復号装置50を保持し、ユーザBの秘密鍵と公開パラメータに基づいて、サーバSv1から受けた再暗号文データを検証処理すると共に、サーバSv1から受けた再暗号文データを復号処理して平文データを得る。
続いて、各装置10〜50の構成を具体的に説明する。
鍵生成装置10は、鍵生成パラメータ記憶部11、一時データ記憶部12、公開パラメータ生成部13、鍵生成部14、通信部15及び制御部16を備えている。
ここで、鍵生成パラメータ記憶部11は、鍵生成パラメータを記憶する記憶装置である。
一時データ記憶部12は、各生成部13,14の処理途中及び処理結果などの一時的なデータ(以下、一時データともいう)を記憶する記憶装置である。
公開パラメータ生成部13は、鍵生成の公開パラメータを生成する。
鍵生成部14は、公開鍵・秘密鍵のペアと再暗号化鍵生成鍵を生成する。
通信部15は、他の装置20〜50と通信するための通信インタフェースであり、例えば、制御部16に制御されて一時データ記憶部12内の公開パラメータ、各30,50の公開鍵・秘密鍵のペア及び再暗号化鍵生成鍵を当該各装置30,50に送信する機能と、制御部16に制御されて一時データ記憶部12内の再暗号化鍵生成装置30の公開鍵を暗号化装置20に送信する機能と、制御部16に制御されて一時データ記憶部12内の公開パラメータと再暗号化鍵生成装置30の公開鍵を再暗号化装置40に送信する機能と、をもっている。なお、以下の説明では、送受信時の冗長な記載を避ける観点から、送受信の際に、通信部15を介する旨の記載を省略する場合がある。これは他の装置20〜50の通信部についても同様である。
制御部16は、図2に示す動作を実行するように、各部11〜15を制御する機能をもっている。
暗号化装置20は、一時データ記憶部21、通信部22、暗号化パラメータ生成部23、暗号文生成部24及び制御部25を備えている。
ここで、一時データ記憶部21は、鍵生成装置10から受けた公開パラメータと再暗号化鍵生成装置30の公開鍵や、各生成部23,24の処理途中及び処理結果などの一時的なデータを記憶する記憶装置である。
通信部22は、他の装置10,30〜50と通信するための通信インタフェースであり、例えば、鍵生成装置10から受けた公開パラメータ及び再暗号化鍵生成装置30の公開鍵を取得して一時データ記憶部21に書き込む機能や、制御部25に制御されて一時データ記憶部21内の暗号文データを再暗号化装置40に送信する機能をもっている。
暗号化パラメータ生成部23は、暗号化パラメータを生成する機能をもっている。
暗号文生成部24は、一時データ記憶部21から読み出した公開パラメータ及び再暗号化鍵生成装置30の公開鍵(第1ユーザ装置の第1公開鍵)を用いて平文データを暗号化することにより、暗号文データを生成する機能と、得られた暗号文データを一時データ記憶部21に書き込む機能とをもっている。
制御部25は、図3に示す動作を実行するように、各部21〜24を制御する機能をもっている。
再暗号化鍵生成装置30は、秘密鍵記憶部31、一時データ記憶部32、通信部33、再暗号化鍵生成部34、制御部35及び乱数生成部36を備えている。
秘密鍵記憶部31は、鍵生成装置10から受けた再暗号化鍵生成装置30の秘密鍵を記憶する記憶装置である。
一時データ記憶部32は、鍵生成装置10から受けた公開パラメータと復号装置50の再暗号化鍵生成鍵や、再暗号化鍵生成部34の処理途中及び処理結果などの一時データを記憶する記憶装置である。
通信部33は、他の装置10,20,40,50と通信するための通信インタフェースであり、例えば、鍵生成装置10から受けた公開パラメータ及び復号装置50の再暗号化鍵生成鍵を取得して一時データ記憶部32に書き込む機能や、制御部35に制御されて一時データ記憶部32内の再暗号化鍵を再暗号化装置40に送信する機能をもっている。
再暗号化鍵生成部34は、秘密鍵記憶部31から読み出した再暗号化鍵生成装置30の秘密鍵(第1ユーザ装置の第1秘密鍵)と、一時データ記憶部32から読み出した公開パラメータ及び復号装置50の再暗号化鍵生成鍵(第2ユーザ装置の第2再暗号化鍵生成鍵)と、乱数生成部36により生成された複数の乱数とに基づいて再暗号化鍵を生成する機能と、この再暗号化鍵を一時データ記憶部32に書き込む機能とをもっている。
ここで、第2再暗号化鍵生成鍵は、公開パラメータ(複数のシステム固有値)及び復号装置50の秘密鍵(第2ユーザ装置の第2秘密鍵)からなる。
再暗号化鍵は、分子部分と分母部分とを有するベキ指数又は分子部分と分母部分とを有するスカラーを含んでいる。
分子部分は、公開パラメータ(各システム固有値)間の関係性を定める複数の秘密値と各乱数とのうちの少なくとも一つを作用させた第2秘密鍵の線形結合の形を有する。
分母部分は、再暗号化鍵生成装置30の秘密鍵(第1ユーザ装置の第1秘密鍵)からなる。
制御部35は、図4に示す動作を実行するように、各部31〜34,36を制御する機能をもっている。
乱数生成部36は、乱数を生成して再暗号化鍵生成部34に送出する機能をもっている。
なお、再暗号化鍵生成装置30は、鍵生成装置10から自装置30の再暗号化鍵生成鍵を受信する場合、鍵生成装置10から受けた自装置30の再暗号化鍵生成鍵を記憶する記憶装置である再暗号化鍵生成鍵記憶部をもつ(図示せず)。
再暗号化装置40は、再暗号化鍵記憶部41、一時データ記憶部42、通信部43、再暗号化処理部44、再暗号化パラメータ生成部45及び制御部46を備えている。
再暗号化鍵記憶部41は、再暗号化鍵生成装置30から受けた再暗号化鍵を記憶する記憶装置である。
一時データ記憶部42は、鍵生成装置10から受けた公開パラメータと再暗号化鍵生成装置30の公開鍵や、再暗号化処理部44の処理途中及び処理結果などの一時データを記憶する記憶装置である。
通信部43は、他の装置10〜30,50と通信するための通信インタフェースであり、例えば、鍵生成装置10から受けた公開パラメータ及び再暗号化鍵生成装置30の公開鍵を取得して一時データ記憶部42に書き込む機能や、暗号化装置20から受けた暗号文データを再暗号化処理部44に送出する機能と、制御部46に制御されて一時データ記憶部42内の再暗号文データを復号装置50に送信する機能とをもっている。
再暗号化処理部44は、暗号化装置20から暗号文データを受けると、再暗号化鍵記憶部41から読み出した再暗号化鍵、及び一時データ記憶部42から読み出した公開パラメータと再暗号化鍵生成装置30の公開鍵を用いて当該暗号文データを復号せずに再暗号化することにより、再暗号文データを得る機能と、得られた再暗号文データを一時データ記憶部42に書き込む機能とをもっている。
制御部46は、図5に示す動作を実行するように、各部41〜45を制御する機能をもっている。
復号装置50は、秘密鍵記憶部51、一時データ記憶部52、通信部53、復号処理部54、再暗号化鍵生成鍵記憶部55、及び制御部56を備えている。
秘密鍵記憶部51は、鍵生成装置10から受けた自装置50の秘密鍵を記憶する記憶装置である。
一時データ記憶部52は、鍵生成装置10から受けた公開パラメータや、復号処理部54の処理途中及び処理結果などの一時データを記憶する記憶装置である。
通信部53は、他の装置10〜40と通信するための通信インタフェースであり、例えば、鍵生成装置10から受けた自装置50の秘密鍵を取得して秘密鍵記憶部51に書き込む機能と、鍵生成装置10から受けた公開パラメータを取得して一時データ記憶部52に書き込む機能と、再暗号化装置40から受けた再暗号化データを復号処理部54に送出する機能とをもっている。
復号処理部54は、再暗号化装置40から再暗号文データを受けると、秘密鍵記憶部51から読み出した当該復号装置50の秘密鍵(第2ユーザ装置の第2秘密鍵)、及び一時データ記憶部52から読み出した公開パラメータを用いて、当該再暗号文データを復号処理することにより、平文データを得る機能と、得られた平文データを一時データ記憶部52に書き込む機能とをもっている。
再暗号化鍵生成鍵記憶部55は、鍵生成装置10から受けた自装置50の再暗号化鍵生成鍵を記憶する記憶装置である。
制御部56は、図6に示す動作を実行するように、各部51〜55を制御する機能をもっている。
なお、本実施形態では、例えば公開パラメータは各装置10〜50の一時データ記憶部に記憶される。しかしこれに限らず、公開パラメータは各装置10〜50の(一時データ記憶部とは別の)記憶部に記憶されていても良い。このように、各装置10〜50の一時データ記憶部に記憶されるデータの内、一時的なデータとして扱わなくてもよいデータは、(一時データ記憶部とは別の)記憶部にそれぞれ記憶されていても良い。また、公開パラメータが複数の要素で構成されている場合、各装置20〜50は、公開パラメータの各要素の内、後述する各処理においてそれぞれ必要な要素のみを取得しても良い。これらは後述する実施形態や変形例においても同様である。
次に、以上のように構成された再暗号化システムの動作を図2乃至図6のシーケンス図を用いて説明する。
また、以下の動作は(1)鍵セットアップ処理、(2)暗号化処理、(3)再暗号化鍵生成処理、(4)再暗号化処理、(5)復号処理の手順で実行される場合を例に挙げて述べる。但し、以下の動作は、必ずしも上記手順で処理を実行しなくてもよい。例えば、再暗号化鍵生成は、暗号化処理の前に実行されてもよい。また、再暗号化処理が実行されずに、暗号文データが復号されてもよい。
(1)鍵セットアップ処理は、鍵生成装置10により、図2及び以下の各ステップST1〜ST8に示すように実行される。
始めに、鍵生成装置10の公開パラメータ生成部13は、予め鍵パラメータ記憶部11に記憶したセキュリティパラメータλに基づいて、公開パラメータ
を生成する、又は外部から入手する(ST1)。具体的には、公開パラメータ生成部13は、予め鍵パラメータ記憶部11に記憶したセキュリティパラメータλに基づいて、位数p>2λを満たす双線型写像群(bilinear map groups)(G1,G2,GT)を選択する。ここで、pは整数である。pは素数であっても良いし、合成数であっても良い。
公開パラメータ生成部13は、G1の元(げん)gをG1から、G2の元(げん)hをG2から、それぞれランダムに選択する。公開パラメータ生成部13は、α,β,δ,ωをZp からランダムに選択し、g1=gα,g2=gβ,u1=gδ,v1=gω,h1=hα,h2=hβ,u2=hδ,v2=hωを計算する。
ここで、gαはgのα乗、すなわち、群G1においてgをα個掛けたものを表す。他についても同様である。
また、g1=gαのとき、αはG1におけるgとg1の関係性を定める数(秘密値)であり,群G1が乗法群の場合、特に「ベキ指数」と呼ばれる。
なお、Zp はZpかつpと互いに素な整数の集合(=(Z/pZ))であり、pに対する乗法群Zp と呼んでもよい。Zpは0以上p未満の整数の集合(=(Z/pZ)である。
さらに、公開パラメータ生成部13は、使い捨て署名(one-time signature)アルゴリズム
使い捨て署名については、A. Menezes, P. van Oorschot, S. Vanstone, “Handbook of Applied Cryptography”, CRC Press, (1996) pp.462-471, (1996)に詳しい。
また、双線型写像(eと表記する)とは、e:G1×G2→GTとなる写像であり、以下の3つの性質を満たす。
1.任意の(g,h)∈G1×G2及びa,b∈Zについて、e(g,h)=e(g,h)abが成り立つ。ここで、Zとは整数の集合である。
2.任意の(g,h)∈G1×G2について、e(g,h)が計算可能である。
3.g,h≠1G1かつh≠1G2である場合は常にe(g,h)≠1GTが成り立つ。ここで、1G1とはG1の単位元であり、1G2とはG2の単位元であり、1GTとはGTの単位元である。
また、双線型写像群(bilinear map groups)(G1,G2,GTと表記する)とは、双線型写像e:G1×G2→GTが存在する位数pの群である。上記の定義は、G1の元g,g1,g2、G2の元h,h1,h2、について、g1=gα、g2=gβ、h1=hα、h2=hβとすると、次式が成り立つことも意味する。
e(g,h12)=e(g,hα・hβ)=e(g,hα+β)=e(g,h)α+β=e(g,h)α・e(g,h)β =e(gα+β,h)=e(gα・gβ,h)=e(g12,h)
この関係より、以降の実施形態において、e(g12,h)をe(g,h12)に置き換えてもよい。なお、G1の複数の元g,g1,g2,u1,v1、およびG2の複数の元h,h1,h2,u2,v2は、予め定められた複数のシステム固定値となっている。α,β,δ,ωは、各システム固有値間の関係性を定める複数の秘密値である。また、「システム固定値」の語は、「固定値」、「元」、「公開パラメータ」又は「システムパラメータ」などと読み替えてもよい。
また、本明細書では、G1、G2、GTをともに乗法群と想定した記法を採用しているが、これに限らず、G1、G2、GTそれぞれについて、加法群と想定した記法で表すことも可能である。つまり、例えば、G1、G2を加法群、GTを乗法群として表現しても良い。 例えば、G1、G2の元が楕円曲線上の点であり、GTの元が有限体上の元であっても良い。
1、G2が加法群の場合、G1、G2における演算が、乗算が加算に置き換えられる。例えば、G1、G2の元が楕円曲線上の点である場合、G1、G2における演算は点加算となる。例えばg1は、g1=αgと置き換えられる。ここでg1=αgはgのα倍、すなわち、群G1においてgをα個足したものを表す。他の公開パラメータについても同様である。また、これ以降の数式も同様に置き換えることができる。
また、g1=αgのとき、αはG1におけるgとg1の関係性を定める秘密値であり、群G1が加法群の場合特に「スカラー」と呼ばれる。例えば、G1、G2の元が楕円曲線上の点である場合、αgを求める演算はスカラー倍算とも呼ばれる。
また、双線形写像においては、G1の元g,g1,g2、G2の元h,h1,h2、について、g1=αg、g2=βg、h1=αh、h2=βhとすると、次式が成り立つ。
e(g,h1+h2)=e(g,αh+βh)=e(g,(α+β)h)=e(g,h)α+β=e(g,h)α・e(g,h)β =e((α+β)g,h)=e(αg+βg,h)=e(g1+g2,h)
また、双線型写像として、双線型写像群G=G1=G2、GTについて、e:G×G→GTとなる写像を用いても良い。
続いて、公開パラメータ生成部13は、生成した公開パラメータparを一時データ記憶部12に書き込む。鍵生成装置10は、一時データ記憶部12内の公開パラメータpar=(λ,p,G1,G2,GT,g,g1,g2,h,h1,h2,u1,u2,v1,v2,Sig)を公開する(ST2)。なお、ステップST1を実行する前に公開パラメータが既に公開されていた場合、その公開パラメータを一時データ記憶部12に書き込み、ステップST1及びステップST2をスキップしても良い。
また、鍵生成部14は、再暗号化鍵生成装置30の識別情報をiとしたとき、Zp の元xi,yi,ziをZp からランダムに選択し、再暗号化鍵生成装置30の秘密鍵ski=(xi,yi,zi)とする。そして、鍵生成部14は、この秘密鍵skiと公開パラメータparを用いて再暗号化鍵生成装置30の公開鍵pki=(Xi,Y1i,Zi,Z1i)を生成する。ここで、
である。さらに、鍵生成部14は、秘密鍵skiと公開パラメータparを用いて再暗号化鍵生成鍵rki=(Ti,T1i,T2i)を生成する(ST3)。ここで、
である。
続いて、鍵生成部14は、生成した公開鍵・秘密鍵のペアと再暗号化鍵生成鍵を一時データ記憶部12に書き込む。通信部15は、制御部16に制御されて一時データ記憶部12内の秘密鍵skiと再暗号化鍵生成鍵rkiを再暗号化鍵生成装置30に送信する(ST4)。鍵生成装置10は、一時データ記憶部12内の再暗号化鍵生成装置30の公開鍵pkiを公開する(ST5)。
また同様に、鍵生成部14は、復号装置50の識別情報をjとしたとき、Zp の元xj,yj,zjをZp からランダムに選択し、復号装置50の秘密鍵skj=(xj,yj,zj)とする。そして、鍵生成部14は、この秘密鍵skjと公開パラメータparを用いて復号装置50の公開鍵pkj=(Xj,Y1j,Zj,Z1j)を生成する。ここで、
である。さらに、鍵生成部14は、秘密鍵skjと公開パラメータparを用いて再暗号化鍵生成鍵rkj=(Tj,T1j,T2j)を生成する(ST6)。ここで、
である。ステップST6で生成された再暗号化生成鍵(第2再暗号化生成鍵)rkj=(Tj,T1j,T2j)は、複数のシステム固定値(h,h1,h2)及び復号装置50の秘密鍵(第2秘密鍵)からなる。
続いて、鍵生成部14は、生成した公開鍵・秘密鍵のペアと再暗号化鍵生成鍵を一時データ記憶部12に書き込む。通信部15は、制御部16に制御されて一時データ記憶部12内の秘密鍵skjと再暗号化鍵生成鍵rkjを復号装置50に送信する(ST7)。鍵生成装置10は、一時データ記憶部12内の復号装置50の公開鍵pkjを公開する(ST8)。また、所望により、暗号化装置20の秘密鍵skh、公開鍵pkh、及び再暗号化鍵生成鍵rkhについても各ステップST6〜ST8と同様の処理を実行して暗号化装置20に秘密鍵skhと再暗号化鍵生成鍵rkhを送信し、公開鍵pkhを公開してもよい。また、鍵生成装置10は、暗号化装置20、再暗号化鍵生成装置30、又は復号装置50に、(再暗号化鍵生成鍵を送信せず)秘密鍵のみを送信しても良い。また、鍵生成装置10は、暗号化装置20、再暗号化鍵生成装置30、又は復号装置50に、鍵セットアップ処理において生成された全ての公開鍵の内、一部又は全部の公開鍵を送信しても良い。これらは後述する実施形態や変形例においても同様である。
以上により、鍵セットアップ処理が完了する。以後、各装置20,30,40,50では、各ステップST2,ST5,ST8で公開された公開パラメータ及び公開鍵を適宜、取得して利用することができる。
(2)暗号化処理は、暗号化装置20により、図3及び以下の各ステップST21〜ST24に示すように実行される。なお、暗号化装置20は、再暗号化鍵生成装置30の公開鍵pkiを一時データ記憶部21に既に記憶していると想定しているが、もし暗号化装置20が再暗号化鍵生成装置30の公開鍵pkiを未だ取得していない場合は、暗号化装置20は、後述するステップST22の前に、再暗号化鍵生成装置30の公開鍵pkiを、例えば鍵生成装置10から取得すれば良い。同様に、暗号化装置20は、公開パラメータparを一時データ記憶部21に既に記憶していると想定しているが、もし暗号化装置20が公開パラメータparを未だ取得していない場合は、暗号化装置20は、後述するステップST21の前に、公開パラメータparを、例えば鍵生成装置10から取得すれば良い。
暗号化装置20の暗号化パラメータ生成部23は、公開パラメータparにおけるセキュリティパラメータλ及び鍵ペア生成機能
を生成し(ST21)、暗号化データC1に検証鍵svkをセットする(C1=svk)。
また、暗号化パラメータ生成部23は、乱数r∈Zp を生成して暗号文生成部24に送出する。
暗号文生成部24は、この乱数r、再暗号化鍵生成装置30の公開鍵pki、及び公開パラメータparを用いて、平文データとしてのメッセージm∈GT に対して、以下の暗号化データC2X,C2Y,C2Z,C2Z1,C3,C41,C42を生成する(ST22)。
は、署名鍵と署名対象データを入力として、署名を出力する。
しかる後、暗号文生成部24は、上記全ての暗号化データC1〜C42と使い捨て署名σとを含む暗号文データCi=(C1,C2X,C2Y,C2Z,C2Z1,C3,C41,C42,σ)を生成し、得られた暗号文データを一時データ記憶部21に書き込む。
なお、暗号文データCi=(C1,C2X,C2Y,C2Z,C2Z1,C3,C41,C42,σ)は、後述するステップST41における検証処理を省略する場合、復号に用いない検証用データ(C1,C41,C42,σ)を省略して、Ci=(C2X,C2Y,C2Z,C2Z1,C3)としてもよい。この場合、検証用データ(C1,C41,C42,σ)を生成する処理も省略される。本実施形態においては、上述したように(また後述するように)検証を省略したり、検証用データの生成を省略したりしてもよいが、これは後述する実施形態や変形例においても同様である。
いずれにしても通信部22は、制御部25に制御されて一時データ記憶部21内の暗号文データCiを再暗号化装置40に送信する(ST24)。
以上により、暗号化処理が完了する。
(3)再暗号化鍵生成処理は、再暗号化鍵生成装置30により、図4及び以下の各ステップST31〜ST33に示すように実行される。なお、再暗号化鍵生成装置30は、公開パラメータparを一時データ記憶部32に既に記憶していると想定しているが、もし再暗号化鍵生成装置30が公開パラメータparを未だ取得していない場合は、再暗号化鍵生成装置30は、後述するステップST32の前に、公開パラメータparを、例えば鍵生成装置10から取得すれば良い。
今、復号装置50(図8の例では、例えばユーザA)が、再暗号化鍵生成装置30(図8の例では、グループ管理者)宛の暗号文を、復号装置50(図8の例では、例えばユーザA)宛の暗号文に再暗号化すること(つまり、暗号文の復号権限のユーザAへ移譲すること)を承諾したとする。復号装置50は、再暗号化鍵生成装置30に、復号装置50の再暗号化鍵生成鍵rkjを送信する。再暗号化鍵生成装置30の通信部33は、制御部35に制御されて、復号装置50の再暗号化鍵生成鍵rkjを取得して一時データ記憶部32に書き込む(ST31)。なお、ステップST31において、(復号装置50ではなく)鍵生成装置10が再暗号化鍵生成装置30に再暗号化鍵生成鍵rkjを送信しても良い。これは後述する実施形態や変形例においても同様である。
ここで、一時データ記憶部32について、図11に示すように、再暗号化鍵生成装置30は、一時データ記憶部32の中に公開パラメータ記憶部321と再暗号化鍵生成鍵記憶部322を保持し、公開パラメータparを公開パラメータ記憶部321に記憶し、復号装置50の再暗号化鍵生成鍵rkjを再暗号化鍵生成鍵記憶部322に記憶しても良い。また、公開パラメータparを記憶する公開パラメータ記憶部321は、一時データ記憶部32の外にあっても良い。また、再暗号化鍵生成鍵rkjを記憶する再暗号化鍵生成鍵記憶部322は、一時データ記憶部32の外にあっても良い。これらは後述する実施形態や変形例においても同様である。また、通信部33は、前述したステップST4のとき、再暗号化鍵生成装置30の秘密鍵skiを鍵生成装置10から受信して秘密鍵記憶部31に書き込んでいる。
乱数生成部36は、乱数θ,n∈Zp を生成して再暗号化鍵生成部34に送出する。
再暗号化鍵生成部34は、この乱数θ,n、秘密鍵記憶部31内の再暗号化鍵生成装置30の秘密鍵ski、一時データ記憶部32内の復号装置50の再暗号化鍵生成鍵rkj、及び公開パラメータparを用いて、再暗号化鍵Rijを次式に示すように生成する(ST32)。
ij=(Rij1,Rij2,Rij3
ここで、
である。再暗号化鍵Rij=(Rij1,Rij2,Rij3 )は、分子部分と分母部分とを有するベキ指数を含んでいる。なお、G1、G2、GTそれぞれについて、加法群と想定した記法で表す場合、再暗号化鍵は、ベキ指数に代えて、スカラーを含む。ベキ指数(又はスカラー)の分子部分は、各システム固有値(h,h1,h2)間の関係性を定める複数の秘密値(α,β)と各乱数(θ,n)とのうちの少なくとも一つを作用させた第2秘密鍵(θxj,α(θ−n−1)yj,nxj,βyj)の線形結合の形を有している。本実施例では、ベキ指数(又はスカラー)の分子部分は、各システム固有値(h,h1,h2)間の関係性を定める複数の秘密値(α,β)と各乱数(θ,n)とのうちの少なくとも一つによりマスクした第2秘密鍵(θxj,α(θ−n−1)yj,nxj,βyj)の線形結合の形を有している。これにより、第2秘密鍵が秘匿され、サーバと複数のユーザが結託した場合でも、復号権限が移譲元の許可なく再移譲されることを阻止することができる。ベキ指数(又はスカラー)の分母部分は、再暗号化鍵生成装置30の秘密鍵ski(第1秘密鍵)からなる。
この時、乱数θ,nは、秘密鍵skiと再暗号化鍵生成鍵rkjのペア毎に固定してもよいし,再暗号化鍵を生成するたびに違う乱数としてもよい。前者の場合、秘密鍵skiと再暗号化鍵生成鍵rkjのペア毎に、再暗号化鍵は1種類となる。一方、後者の場合、秘密鍵skiと再暗号化鍵生成鍵rkjのペア毎に、複数種類の再暗号化鍵が生成されることになる。また、Rij1のθ部分とn部分とを分けてもよい。例えば、Rij11=(Tj θ1j θ1/xi,Rij12=(T1j -n-11/xiとして、再暗号化鍵Rijを(Rij11,Rij12,Rij2,Rij3)とする。計算時にRij11と、Rij12とを乗算してRij1を作成する。また、ここでは乱数を2つ選択しているが、乱数を3つ以上選択してもよい。例えば、乱数θ1、θ2、nを選択し、Tj θの代わりにTj θ1j θ2、T1j θの代わりにT1j θ11j θ2を計算するように置き換えてもよい。例えば、Rij31=(Tj θ11j θ1/zi,Rij32=(Tj θ22j1/ziとして、再暗号化鍵Rijを(Rij1,Rij2,Rij31,Rij32)とする。計算時にRij31と、Rij32とを乗算してRij3を作成する。また、Rij1の方も、θ部分をθ=θ1+θ2に分けてもよい。
しかる後、再暗号化鍵生成部34は、生成した再暗号化鍵Rijを一時データ記憶部32に書き込む。通信部33は、制御部35に制御されて、一時データ記憶部32内の再暗号化鍵Rijを再暗号化装置40に送信する(ST33)。
以上により、再暗号化鍵生成処理が完了する。
(4)再暗号化処理は、再暗号化装置40により、図5及び以下の各ステップST41〜ST43に示すように実行される。なお、再暗号化装置40は、再暗号化鍵生成装置30の公開鍵pkiを一時データ記憶部42に既に記憶していると想定しているが、もし再暗号化装置40が再暗号化鍵生成装置30の公開鍵pkiを未だ取得していない場合は、再暗号化装置40は、後述するステップST41の前に、再暗号化鍵生成装置30の公開鍵pkiを、例えば再暗号化鍵生成装置30から取得すれば良い。同様に、再暗号化装置40は、公開パラメータparを一時データ記憶部42に既に記憶していると想定しているが、もし再暗号化装置40が公開パラメータparを未だ取得していない場合は、再暗号化装置40は、後述するステップST41の前に、公開パラメータparを、例えば鍵生成装置10から取得すれば良い。
再暗号化装置40の通信部43は、ステップST24で送信された暗号文データCiと、ステップST33で送信された再暗号化鍵Rijとをそれぞれ一時データ記憶部42に書き込む。
再暗号化処理部44は、公開パラメータparと再暗号化鍵生成装置30の公開鍵pkiを用い、一時データ記憶部42内の暗号文データCiを次の検証式により検証する(ST41)。
は、検証鍵を用いて、署名検証データに対する署名を検証し、署名が正当であると判定した場合は“1”を出力し、正当でないと判定した場合は“1”以外(例えば“0”)を出力する。
従って、式(a1)の6番目の検証式は、暗号化データC1を検証鍵として用いて、署名対象データである暗号化データC3,C41に対する使い捨て署名σを検証し、使い捨て署名σが正当であると判定されることを表す。
ここで、式(a1)の6つの検証式が全て成立すれば検証は成功し、1つでも成立しない検証式があれば検証は失敗する。
検証が成功した場合(又はステップST41の検証処理をスキップした場合)、再暗号化パラメータ生成部45は、3つの乱数s,t,k∈Zp を生成して再暗号化処理部44に送出する。
再暗号化処理部44は、これらの乱数s,t,k、一時データ記憶部42に記憶されている、暗号文データCi、再暗号化鍵Rij、再暗号化鍵生成装置30の公開鍵pki、及び公開パラメータparを用いて、次式に示すように、再暗号化データC2X ,C2X ’’,C2Y ,C2Y ’’,C2Z ,C2Z ’’,C2Z1 ,C2Z1 ’’,C5X,C5Y,C5Zを生成する(ST42)。
ステップST42の終了後、再暗号化処理部44は、上記全ての再暗号化データC2X 〜C5Zを、暗号文データCi内の暗号化データC2X,C2Y,C2Z,C2Z1と置換して再暗号文データCj=(C1,C2X ,C2X ’’,C2Y ,C2Y ’’,C2Z ,C2Z ’’,C2Z1 ,C2Z1 ’’,C5X,C5Y,C5Z,C3,C41,C42,σ)を生成し、得られた再暗号文データCjを一時データ記憶部42に書き込む。なお、再暗号文データCj=(C1,C2X ,C2X ’’,C2Y ,C2Y ’’,C2Z ,C2Z ’’,C2Z1 ,C2Z1 ’’,C5X,C5Y,C5Z,C3,C41,C42,σ)は、後述する復号処理におけるステップST51の検証処理を省略する場合、復号に用いない検証用データ(C1,C2X ,C2Y ,C2Z ,C2Z1 ,C41,C42,σ)を省略して、Cj=(C2X ’’,C2Y ’’,C2Z ’’,C2Z1 ’’,C5X,C5Y,C5Z,C3)としてもよい。この場合、検証用データ(C2X ,C2Y ,C2Z ,C2Z1 )を生成する処理も省略される。
いずれにしても通信部43は、制御部46に制御されて一時データ記憶部42内の再暗号文データCjを復号装置50に送信する(ST43)。
以上により、再暗号化処理が完了する。
なお、再暗号化処理部44は、ステップST41の検証処理を省略し、ステップST42の再暗号化データ生成処理を行ってもよい。また、暗号文データCiに検証用データ(C1,C41,C42,σ)が含まれていない場合も、再暗号化処理部44は、ステップST41の検証処理を省略し、ステップST42の再暗号化データ生成処理を行う。
(5)復号処理は、復号装置50により、図6及び以下のステップST51及びST52に示すように実行される。なお、復号装置50は、公開パラメータparを一時データ記憶部52に既に記憶していると想定しているが、もし復号装置50が公開パラメータparを未だ取得していない場合は、復号装置50は、後述するステップST51の前に、公開パラメータparを、例えば鍵生成装置10から取得すれば良い。
復号装置50の通信部53は、ステップST43で送信された再暗号文データCjを受信して一時データ記憶部52に書き込む。
復号処理部54は、秘密鍵記憶部51内の自装置50の秘密鍵skjと一時データ記憶部52内の公開パラメータparを用い、一時データ記憶部52内の再暗号文データCjを次の検証式により検証する(ST51)。
式(a2)の7つの検証式が全て成立すれば検証は成功し、1つでも成立しない検証式があれば検証は失敗する。このとき,式(a2)の5番目の式を計算するには、秘密鍵xj,yjが必要であることに注意する。
検証が成功した場合(又はステップST51の検証処理をスキップした場合)、復号処理部54は、秘密鍵記憶部51内の自装置50の秘密鍵skjと一時データ記憶部52内の公開パラメータparを用いて、次式に示すように、再暗号文データCjを復号し、メッセージmを得る(ST52)。
以上により、復号処理が完了する。
なお、復号処理部54は、ステップST51の検証処理を省略し、ステップST52の復号処理を行ってもよい。また、再暗号文データCjに検証用データ(C1,C2X ,C2Y ,C2Z ,C2Z1 ,C41,C42,σ)が含まれていない場合も、復号処理部54は、ステップST51の検証処理を省略し、ステップST52の復号処理を行う。また、上記mはメッセージそのものではなく、鍵であってもよい。例えば、共通鍵暗号における共通鍵ksymについて、m=ksymとして、mをksymに置き換えてもよい。この場合、共通鍵ksymを用いてメッセージを暗号化した暗号文を上記暗号文データや再暗号文データに付加すればよい。これらは後述する実施形態や変形例においても同様である。
なお、本実施形態は、適宜、処理の順番を変更してもよい。例えば、復号処理と暗号文検証処理の順番を変更してもよい。同様に、再暗号化鍵生成処理の順番を暗号化処理よりも前に変更してもよい。
上述したように本実施形態によれば、第1秘密鍵、第2再暗号化鍵生成鍵及び複数の乱数に基づいて再暗号化鍵を生成する場合に、第2再暗号化鍵生成鍵及び再暗号化鍵としては、次の(A)〜(D)に示す構成を用いている。
(A)第2再暗号化鍵生成鍵が複数のシステム固有値及び第2秘密鍵からなる。
(B)再暗号化鍵が分子部分と分母部分とを有するベキ指数又は分子部分と分母部分とを有するスカラーを含む。
(C)分子部分は、各システム固有値間の関係性を定める複数の秘密値と各乱数とのうちの少なくとも一つを作用させた第2秘密鍵の線形結合の形を有する。
(D)分母部分は、第1秘密鍵からなる。
従って、このような構成により、サーバと複数のユーザが結託した場合でも、復号権限が移譲元の許可なく再移譲されることを阻止することができる。
補足すると、移譲先(再暗号化先)のユーザBの公開鍵とは異なる再暗号化鍵生成鍵rkjを(直接)乱数乗または乱数倍する演算を含む処理によって再暗号化鍵を生成することにより、再暗号化鍵から委譲先ユーザの公開鍵および秘密鍵に関する情報を秘匿する。これにより、サーバと複数のユーザが結託した場合でも、復号権限を移譲元の許可なく再移譲されることを防ぐことができる。また、これにより、サーバに対して極端な信頼を求める必要が無くなるため、ユーザがより安心して利用できるファイル共有システムを提供することができる。さらに、再暗号化鍵Rijを再暗号化鍵生成鍵rkjに基づいて生成する構成により、移譲先(図8の例では、例えばユーザA)が再暗号化鍵生成鍵を移譲元(図8の例では、グループ管理者)に通知しなければ再暗号化鍵が生成され得ないため、移譲先の承諾なく再暗号化(つまり、暗号文の復号権限の当該移譲先への移譲)を行わないようにすることができる。
また、本実施形態によれば、復号権限を持つユーザのみが再暗号化後の暗号文の検証式を計算することができる。すなわち、再暗号化後の暗号文の検証式の計算には復号権限を持つユーザの秘密鍵が必須であるため,通信路上の攻撃者に暗号文を検証されないようにすることができる。また、通信路上の攻撃者に、どの暗号文がどのユーザ向けに送信されたものかを判断されないようにすることができる。
補足すると、非特許文献1記載のプロキシ再暗号化方式では、再暗号化後の暗号文の正しさを検証する検証式は、暗号文、公開パラメータ、復号権限を持つユーザの公開鍵のみで計算できる(秘密鍵を用いなくとも計算できる)。すなわち、公開情報のみで暗号文が正しいかどうかの検証が行えるため、どの暗号文がどのユーザ向けに送信されたものか、だれでも判定できる不都合がある。これに対し、本実施形態では、復号権限を持つユーザの秘密鍵xj,yjを再暗号文データCjの検証式(a2)が含むため、前述した不都合を解消することができる。このことは、以下の各実施形態及び再暗号化を行う各変形例でも同様である。
[変形例1]
第1の実施形態では、暗号化装置20において暗号文データを生成し、再暗号化装置40において暗号文データを再暗号化して再暗号文データを生成し、復号装置50において再暗号文データを復号する例を挙げたが、再暗号化せずに暗号文データを復号する形態に変更しても良い。この場合、鍵セットアップ処理、暗号化処理、復号処理のみを行えば良い。本変形例における鍵セットアップ処理は、第1の実施形態における鍵セットアップ処理と同じである。以下、本変形例における暗号化処理及び復号処理について説明する。
本変形例における暗号化処理と、第1の実施形態における暗号化処理との違いは、最終ステップのみである。前述の記号を流用して説明をするために、便宜上、復号装置50の識別情報をiとする。この場合、暗号化装置20の通信部22は、制御部25に制御されて一時データ記憶部21内の暗号文データCiを復号装置50に送信する(ST24’)。
復号装置50は、公開パラメータparと自装置50の秘密鍵skiを用いて、暗号化装置20において生成された暗号文データCiを次の検証式により検証する(ST51’)。
なお、復号装置50は、公開パラメータparと自装置50の公開鍵pkiを用いて、暗号化装置20において生成された暗号文データCiをステップST41と同様に検証しても良い。
式(a3)の6つの検証式が全て成立すれば検証は成功し、1つでも成立しない検証式があれば検証は失敗する。
検証が成功した場合(又はステップST51’の検証処理をスキップした場合)、復号装置50は、自装置50の秘密鍵skiと公開パラメータparを用いて、次式のように暗号文データCiを復号し、メッセージmを得る(ST52’)。
[変形例2]
変形例1の他に、以下に説明するように、再暗号化せずに暗号文データを復号する形態に変更しても良い。この場合も、鍵セットアップ処理、暗号化処理、復号処理のみを行えば良い。本変形例における鍵セットアップ処理、復号処理は、第1の実施形態における鍵セットアップ処理、復号処理とそれぞれ同じである。以下、本変形例における暗号化処理及び復号処理について説明する。なお、本変形例においては、復号装置50の識別情報をjとする。
暗号化装置20の暗号化パラメータ生成部23は、ステップST21と同様に(ssk,svk)を生成し(ST21’)、暗号化データC1に検証鍵svkをセットする(C1=svk)。
また、暗号化パラメータ生成部23は、4つの乱数r,s,t,k∈Zp を生成して暗号文生成部24に送出する。
暗号文生成部24は、これらの乱数r,s,t,k、復号装置50の公開鍵pkj、及び公開パラメータを用いて、平文データとしてのメッセージm∈GT に対して、以下の暗号化データC2X ,C2X ’’, C2Y ,C2Y ’’, C2Z ,C2Z ’’, C2Z1 ,C2Z1 ’’,C5X, C5Y,C5Z,C3,C41,C42を生成する(ST22’)。
ステップST22’の終了後、暗号文生成部24は、ステップST23と同様に、使い捨て署名σを生成する(ST23’)。
しかる後、暗号文生成部24は、上記全ての暗号化データC1〜C42と使い捨て署名σとを含む暗号文データCj=(C1,C2X ,C2X ’’, C2Y ,C2Y ’’, C2Z ,C2Z ’’, C2Z1 ,C2Z1 ’’,C2 ’’’,C5X, C5Y,C5Z,C3,C41,C42,σ)を生成し、得られた暗号文データを一時データ記憶部21に書き込む。
通信部22は、制御部25に制御されて一時データ記憶部21内の暗号文データCjを復号装置50に送信する(ST24’)。
復号装置50は、暗号化装置20において生成された暗号文データCjをステップST51と同様に検証する(ST51’)。検証が成功した場合(又はステップST51’の検証処理をスキップした場合)、復号装置50は、自装置50の秘密鍵skjと公開パラメータparを用いて、次式のように暗号文データCjを復号し、メッセージmを得る(ST52’)。
[変形例3]
前述のとおり、双線形写像においては、e(g12,h)=e(g,h12)という関係が成り立つため、e(g12,h)をe(g,h12)に置き換えてもよい。すると、どのアルゴリズムにもg2が登場しなくなるため、パラメータからg2を削除してもよい。これにより、データ量を削減することができる。これは、変形例1、変形例2についても同様である。
[変形例4]
第1の実施形態では、双線形写像としてe:G1×G2→GTを用いたが、前述のとおり、双線型写像群G=G1=G2、GTについて、e:G×G→GTとなる写像を用いても良い。この場合、gおよびh(ただしg≠h)を、共にG(G1=G2)から選び、あとは第1の実施形態と同様に計算すればよい。さらにこの時、アルゴリズム中のu2をu1に置き換え、v2をv1に置き換え、C42をC41に置き換え、さらに式(a1),式(a2),式(a3)から検証式「e(g,C42)=e(C41,h)」を削除してもよい。すると、アルゴリズム中にC42、u2、v2が登場しなくなるため、パラメータからu2、v2を削除し、暗号文からC42を削除してもよい。これにより、データ量を削減することができる。これは、変形例1、変形例2、変形例3についても同様である。
(第2の実施形態)
本実施形態では、第1の実施形態において再暗号化鍵をある期間毎に更新する例を説明する。期間を表すパラメータとして、時間パラメータLを用いる。鍵セットアップ処理、暗号化処理、再暗号化鍵生成処理、再暗号化処理、及び復号処理の内、暗号化処理、再暗号化鍵生成処理、及び再暗号化処理において時間パラメータが用いられる。例えば、ある期間t1において暗号化処理を行う場合、L=t1として後述する暗号化処理を行い、次の期間t2において暗号化処理を行う場合、L=t2として後述する暗号化処理を行う、というように時間パラメータを用いる。すなわち、定期的に時間パラメータLを変えて、暗号化処理、再暗号化鍵生成処理、及び再暗号化処理を行う。以下、本実施形態における鍵セットアップ処理、暗号化処理、再暗号化鍵生成処理、再暗号化処理、及び復号処理について説明する。なお、前述の第1の実施形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
(1)鍵セットアップ処理
鍵生成装置10の公開パラメータ生成部13は、公開パラメータparを、第1の実施形態と同様に生成する、又は外部から入手する(ST1)。鍵生成部14は、再暗号化鍵生成装置30の識別情報をiとしたとき、Zp の元xi,yi,zi,wiをZp からランダムに選択し、再暗号化鍵生成装置30の秘密鍵ski=(xi,yi,zi,wi)とする。そして、鍵生成部14は、この秘密鍵skiと公開パラメータparを用いて再暗号化鍵生成装置30の公開鍵pki=(Xi,Y1i,Zi,Z1i,Wi)を生成する。ここで、
である。さらに、鍵生成部14は、秘密鍵skiと公開パラメータparを用いて再暗号化鍵生成鍵rki=(Ti,T1i,T2i)を生成する(ST3)。ここで、
である。
また同様に、鍵生成部14は、復号装置50の識別情報をjとしたとき、Zp の元xj,yj,zj,wjをZp からランダムに選択し、復号装置50の秘密鍵skj=(xj,yj,zj,wj)とする。そして、鍵生成部14は、この秘密鍵skjと公開パラメータparを用いて復号装置50の公開鍵pkj=(Xj,Y1j,Zj,Z1j,Wj)を生成する。ここで、
である。さらに、鍵生成部14は、秘密鍵skjと公開パラメータparを用いて再暗号化鍵生成鍵rkj=(Tj,T1j,T2j)を生成する(ST6)。ここで、
である。
(2)暗号化処理
第1の実施形態のステップST21と同様に、暗号化装置20の暗号化パラメータ生成部23は、(ssk,svk)を生成し(ST21)、暗号化データC1に検証鍵svkをセットする(C1=svk)。
また、暗号化パラメータ生成部23は、乱数r∈Zp を生成して暗号文生成部24に送出する。
暗号文生成部24は、この乱数r、再暗号化鍵生成装置30の公開鍵pki、公開パラメータpar、及び時間パラメータLを用いて、平文データとしてのメッセージm∈GT に対して、以下の暗号化データC2X,C2Y,C2Z,C2Z1,C2F,C3,C41,C42を生成する(ST22)。
暗号化装置20(又は後述する再暗号化鍵生成装置30)による時間パラメータの取得方法として、例えば、以下の方法を用いれば良い。あるエンティティ(例えば、図8のサーバSv、サーバSvとは別のサーバ、ユーザ管理者、グループ管理者、ユーザ管理者やグループ管理者とは別の管理者、ユーザA、ユーザB、ユーザB、又はユーザA〜Cとは別のユーザ)が時間パラメータを生成する時間パラメータ生成装置(図示せず)を保持し、時間パラメータ生成装置が暗号化装置20(又は再暗号化鍵生成装置30)に時間パラメータを通知するようにしても良い。また、入力を時刻とし、出力を時間パラメータとする関数を定義し、時刻とその関数を用いて時間パラメータを生成しても良い。この場合、暗号化装置20(又は再暗号化鍵生成装置30)は、暗号化処理(再暗号化鍵生成処理)を行う時刻に基づいた情報(例えば、暗号化処理(再暗号化鍵生成処理)を行う日付を数値化した値)を入力とした上記関数の出力値を時間パラメータLとして用いれば良く、他の装置から時間パラメータを取得する必要はない。また、鍵生成装置10、暗号化装置20、再暗号化鍵生成装置30、再暗号化装置40、又は復号装置50が時間パラメータを生成し、(時間パラメータを生成する)当該装置以外の装置に時間パラメータを通知しても良い。また、再暗号化鍵生成装置30は、後述するように復号装置50の再暗号化鍵生成鍵を復号装置50から取得するが、この際に再暗号化鍵生成鍵に加えて時間パラメータも復号装置50から取得しても良い。この場合、復号装置50は、上述のいずれかの方法により時間パラメータを取得すれば良い。これは後述する実施形態や変形例においても同様である。
ステップST22の終了後、暗号文生成部24は、時間パラメータL及び暗号化データC3,C41に対し、公開パラメータparにおける署名生成機能
なお、暗号文生成部24は、署名対象データとして時間パラメータLを含めず、暗号化データC3,C41を署名対象データとして、使い捨て署名σを生成しても良い。これは後述する実施形態や変形例においても同様である。
しかる後、暗号文生成部24は、時間パラメータL、上記全ての暗号化データC1〜C4、及び使い捨て署名σを含む暗号文データCi=(L,C1,C2X,C2Y,C2Z,C2Z1,C2F,C3,C41,C42,σ)を生成し、得られた暗号文データを一時データ記憶部21に書き込む。
通信部22は、制御部25に制御されて一時データ記憶部21内の暗号文データCiを再暗号化装置40に送信する(ST24)。
(3)再暗号化鍵生成処理
今、復号装置50(図8の例では、例えばユーザA)が、再暗号化鍵生成装置30(図8の例では、グループ管理者)宛の、時間パラメータの値としてLを用いて生成された暗号文を、復号装置50(図8の例では、例えばユーザA)宛の暗号文に再暗号化すること(つまり、暗号文の復号権限のユーザAへ移譲すること)を承諾したとする。復号装置50は、再暗号化鍵生成装置30に、復号装置50の再暗号化鍵生成鍵rkjを送信する。再暗号化鍵生成装置30の通信部33は、制御部35に制御されて、復号装置50の再暗号化鍵生成鍵rkjを取得して一時データ記憶部32に書き込む(ST31)。
乱数生成部36は、4つの乱数θ,n,δ,δ∈Zp を生成して再暗号化鍵生成部34に送出する。
再暗号化鍵生成部34は、これらの乱数θ,n,δ,δ、秘密鍵記憶部31内の再暗号化鍵生成装置30の秘密鍵ski、一時データ記憶部32内の復号装置50の再暗号化鍵生成鍵rkj、公開パラメータpar、及び時間パラメータLを用いて、再暗号化鍵RijLを次式に示すように生成する(ST32)。
ijL=(RijL1,RijL2,RijL3,RijL4,RijL5
ここで、
である。再暗号化鍵RijL=(RijL1,RijL2,RijL3,RijL4,RijL5 )は、分子部分と分母部分とを有するベキ指数を含んでいる。なお、G1、G2、GTそれぞれについて、加法群と想定した記法で表す場合、再暗号化鍵は、ベキ指数に代えて、分子部分と分母部分とを有するスカラーを含む。ベキ指数(又はスカラー)の分子部分は、各システム固有値(h,h1,h2)間の関係性を定める複数の秘密値(α,β)と各乱数(θ,n)とのうちの少なくとも一つを作用させた第2秘密鍵(θxj,α(θ−n−1)yj,nxj,βyj)の線形結合の形を有している。本実施例では、ベキ指数(又はスカラー)の分子部分は、各システム固有値(h,h1,h2)間の関係性を定める複数の秘密値(α,β)と各乱数(θ,n)とのうちの少なくとも一つによりマスクした第2秘密鍵(θxj,α(θ−n−1)yj,nxj,βyj)の線形結合の形を有している。これにより、第2秘密鍵が秘匿され、サーバと複数のユーザが結託した場合でも、復号権限が移譲元の許可なく再移譲されることを阻止することができる。ベキ指数(又はスカラー)の分母部分は、再暗号化鍵生成装置30の秘密鍵ski(第1秘密鍵)からなる。
(4)再暗号化処理
再暗号化装置40の再暗号化処理部44は、公開パラメータpar、一時データ記憶部42内の暗号文データCiに含まれている時間パラメータL、及び再暗号化鍵生成装置30の公開鍵pkiを用い、一時データ記憶部42内の暗号文データCiを次の検証式により検証する(ST41)。
なお、式(a4)の7番目の検証式について、使い捨て署名σの署名対象データとして時間パラメータLが含まれていない場合、署名対象データを暗号化データC3,C41として使い捨て署名σの検証を行う。これは、後述の使い捨て署名σの検証処理においても同様である。
ここで、式(a4)の7つの検証式が全て成立すれば検証は成功し、1つでも成立しない検証式があれば検証は失敗する。
検証が成功した場合(又はステップST41の検証処理をスキップした場合)、再暗号化パラメータ生成部45は、4つの乱数s,t,k,π∈Zp を生成して再暗号化処理部44に送出する。
再暗号化処理部44は、これらの乱数s,t,k,π、一時データ記憶部42に記憶されている、暗号文データCi、再暗号化鍵RijL、再暗号化鍵生成装置30の公開鍵pki、及び公開パラメータparを用いて、次式に示すように、再暗号化データC2X ,C2X ’’,C2Y ,C2Y ’’,C2Z ,C2Z ’’,C2Z1 ,C2Z1 ’’,C2F ,C2F ’’,C5X,C5Y,C5Z,C5FX,C5FYを生成する(ST42)。
ステップST42の終了後、再暗号化処理部44は、上記全ての再暗号化データC2X 〜 C5FYを、暗号文データCi内の暗号化データC2X,C2Y,C2Z,C2Z1,C2Fと置換して再暗号文データCj=(L,C1,C2X ,C2X ’’,C2Y ,C2Y ’’,C2Z ,C2Z ’’,C2Z1 ,C2Z1 ’’,C2F ,C2F ’’,C5X,C5Y,C5Z,C5FX,C5FY,C3,C41,C42,σ)を生成し、得られた暗号文データを一時データ記憶部42に書き込む。なお、再暗号文データCj=(L,C1,C2X ,C2X ’’,C2Y ,C2Y ’’,C2Z ,C2Z ’’,C2Z1 ,C2Z1 ’’,C2F ,C2F ’’,C5X,C5Y,C5Z,C5FX,C5FY,C3,C41,C42,σ)は、後述する復号処理におけるステップST51の検証処理を省略する場合、復号に用いない検証用データ(L,C1,C2X ,C2Y ,C2Z ,C2Z1 ,C2F ,C41,C42,σ)を省略して、Cj=(C2X ’’,C2Y ’’,C2Z ’’,C2Z1 ’’,C2F ’’,C5X,C5Y,C5Z,C5FX,C5FY,C3)としてもよい。この場合、検証用データ(C2X ,C2Y ,C2Z ,C2Z1 )を生成する処理も省略される。
いずれにしても、通信部43は、制御部46に制御されて一時データ記憶部42内の再暗号文データCjを復号装置50に送信する(ST43)。
(5)復号処理
復号装置50の復号処理部54は、秘密鍵記憶部51内の自装置50の秘密鍵skjと一時データ記憶部52内の公開パラメータparを用い、一時データ記憶部52内の再暗号文データCjを次の検証式により検証する(ST51)。
式(a5)の8つの検証式が全て成立すれば検証は成功し、1つでも成立しない検証式があれば検証は失敗する。このとき,式(a5)の7番目の式を計算するには、秘密鍵xj,yjが必要であることに注意する。
検証が成功した場合(又はステップST51の検証処理をスキップした場合)、復号処理部54は、秘密鍵記憶部51内の自装置50の秘密鍵skjと一時データ記憶部52内の公開パラメータparを用いて、次式に示すように、再暗号文データCjを復号し、メッセージmを得る(ST52)。
なお、本実施形態は、適宜、処理の順番を変更してもよい。例えば、復号処理と暗号文検証処理の順番を変更してもよい。同様に、再暗号化鍵生成処理の順番を暗号化処理よりも前に変更してもよい。
上述したように本実施形態によれば、再暗号化鍵RijLを乱数θ,n,δ,δ、再暗号化鍵生成鍵rkj、及び時間パラメータLに基づいて生成する構成により、第1の実施形態の効果に加え、復号権限を移譲するか否かを期間毎に決めることができ、よりきめ細かいアクセス制御が可能となる。また、これにより、ある期間において移譲元(図8の例では、グループ管理者)向けの暗号文についての復号権限を一度移譲先(図8の例では、例えばユーザA)へ移譲した後でも、次の期間については当該移譲元向けの暗号文についての復号権限を当該移譲先に与えない。つまり、(当該移譲元向けの暗号文についての)当該移譲先の復号権限を無効化することが可能となるため、利便性がより向上したファイル共有システムを提供することができる。
[変形例5]
第2の実施形態では、暗号化装置20において暗号文データを生成し、再暗号化装置40において暗号文データを再暗号化して再暗号文データを生成し、復号装置50において再暗号文データを復号する例を挙げたが、再暗号化せずに暗号文データを復号する形態に変更しても良い。この場合、鍵セットアップ処理、暗号化処理、復号処理のみを行えば良い。本変形例における鍵セットアップ処理は、第2の実施形態における鍵セットアップ処理と同じである。以下、本変形例における暗号化処理及び復号処理について説明する。
本変形例における暗号化処理と、第2の実施形態における暗号化処理との違いは、最終ステップのみである。前述の記号を流用して説明をするために、便宜上、復号装置50の識別情報をiとする。この場合、暗号化装置20の通信部22は、制御部25に制御されて一時データ記憶部21内の暗号文データCiを復号装置50に送信する(ST24’)。
復号装置50は、公開パラメータparと自装置50の秘密鍵skiを用いて、暗号化装置20において生成された暗号文データCiを次の検証式により検証する(ST51’)。
なお、復号装置50は、公開パラメータparと自装置50の公開鍵pkiを用いて、暗号化装置20において生成された暗号文データCiをステップST41と同様に検証しても良い。
式(a6)の7つの検証式が全て成立すれば検証は成功し、1つでも成立しない検証式があれば検証は失敗する。
検証が成功した場合(又はステップST51’の検証処理をスキップした場合)、復号装置50は、自装置50の秘密鍵skiと公開パラメータparを用いて、次式のように暗号文データCiを復号し、メッセージmを得る(ST52’)。
[変形例6]
変形例5の他に、以下に説明するように、再暗号化せずに暗号文データを復号する形態に変更しても良い。この場合も、鍵セットアップ処理、暗号化処理、復号処理のみを行えば良い。本変形例における鍵セットアップ処理は、復号装置50の識別情報をjとしたとき、鍵生成部14が、秘密鍵skjと公開パラメータparを用いて、第2の実施形態における鍵セットアップ処理に加え、W’jを生成し、再暗号化鍵生成装置30の公開鍵をpkj=(Xj,Y1j,Zj,Z1j,Wj,W’j)とする(第2の実施形態と比較してW’jが追加されている)。ここで
である。本変形例における復号処理は、第2の実施形態における復号処理と同じである。以下、本変形例における暗号化処理及び復号処理について説明する。なお、本変形例においては、復号装置50の識別情報をjとする。
暗号化装置20の暗号化パラメータ生成部23は、第1の実施形態のステップST21と同様に(ssk,svk)を生成し(ST21’)、暗号化データC1に検証鍵svkをセットする(C1=svk)。
また、暗号化パラメータ生成部23は、7つの乱数r,s,t,k,π,δ,δ∈Zp を生成して暗号文生成部24に送出する。
暗号文生成部24は、これらの乱数r,s,t,k,π,δ,δ、復号装置50の公開鍵pkj、公開パラメータ、及び時間パラメータLを用いて、平文データとしてのメッセージm∈GT に対して、以下の暗号化データC2X ,C2X ’’,C2Y ,C2Y ’’,C2Z ,C2Z ’’,C2Z1 ,C2Z1 ’’,C2F ,C2F ’’,C5X,C5Y,C5Z,C5FX,C5FY,C3,C41,C42を生成する(ST22’)。
ステップST22’の終了後、暗号文生成部24は、ステップST23と同様に、使い捨て署名σを生成する。
しかる後、暗号文生成部24は、時間パラメータL、上記全ての暗号化データC1〜C42と使い捨て署名σとを含む暗号文データCj=(L,C1,C2X ,C2X ’’,C2Y ,C2Y ’’,C2Z ,C2Z ’’,C2Z1 ,C2Z1 ’’,C2F ,C2F ’’,C5X,C5Y,C5Z,C5FX,C5FY,C3,C41,C42,σ)を生成し、得られた暗号文データを一時データ記憶部21に書き込む。
通信部22は、制御部25に制御されて一時データ記憶部21内の暗号文データCjを復号装置50に送信する(ST24’)。
復号装置50は、暗号化装置20において生成された暗号文データCjをステップST51と同様に検証する(ST51’)。検証が成功した場合(又はステップST51’の検証処理をスキップした場合)、復号装置50は、秘密鍵skjと公開パラメータparを用いて、次式のように暗号文データCjを復号し、メッセージmを得る(ST52’)。
[変形例7]
前述のとおり、双線形写像においては、e(g12,h)=e(g,h12)という関係が成り立つため、e(g12,h)をe(g,h12)に置き換えてもよい。すると、どのアルゴリズムにもg2が登場しなくなるため、パラメータからg2を削除してもよい。これにより、データ量を削減することができる。これは、変形例5、変形例6についても同様である。
[変形例8]
第2の実施形態では、双線形写像としてe:G1×G2→GTを用いたが、前述のとおり、双線型写像群G=G1=G2、GTについて、e:G×G→GTとなる写像を用いても良い。この場合、gおよびh(ただしg≠h)を、共にG(G1=G2)から選び、あとは第1の実施形態と同様に計算すればよい。さらにこの時、アルゴリズム中のC42をC41に置き換え、u2をu1に置き換え、v2をv1に置き換え、さらに式(a4),式(a5),式(a6)から検証式「e(g,C42)=e(C41,h)」を削除してもよい。すると、アルゴリズム中にC42、u2、v2が登場しなくなるため、パラメータからu2、v2を削除し、暗号文からC42を削除してもよい。これにより、データ量を削減することができる。これは、変形例5、変形例6、変形例7についても同様である。
以上説明した少なくとも一つの実施形態によれば、第1秘密鍵、第2再暗号化鍵生成鍵及び複数の乱数に基づいて再暗号化鍵を生成する場合に、第2再暗号化鍵生成鍵及び再暗号化鍵としては、次の(A)〜(D)に示す構成を用いている。
(A)第2再暗号化鍵生成鍵が複数のシステム固有値及び第2秘密鍵からなる。
(B)再暗号化鍵が分子部分と分母部分とを有するベキ指数又は分子部分と分母部分とを有するスカラーを含む。
(C)分子部分は、各システム固有値間の関係性を定める複数の秘密値と各乱数とのうちの少なくとも一つを作用させた第2秘密鍵の線形結合の形を有する。
(D)分母部分は、第1秘密鍵からなる。
従って、このような構成により、サーバと複数のユーザが結託した場合でも、復号権限が移譲元の許可なく再移譲されることを阻止することができる。
なお、上記の各実施形態の利用場面について以下に記載する。
ファイル共有システムにおいては、前述した通り、サーバに対してファイルデータの秘匿性を保つ方法として以下の三つの方式(1)〜(3)が挙げられる。
(1)各ユーザに個別の暗号化鍵でファイルを暗号化する個別鍵方式。
(2)各ユーザに共通の暗号化鍵でファイルを暗号化する共通鍵方式。
(3)プロキシ再暗号化方式を用いてファイルを暗号化する再暗号化方式。
ここで、(1)の個別鍵方式では、前述した通り、新たにユーザDともファイルを共有したいとき、ユーザAがユーザDの公開鍵でファイルを暗号化し、暗号化されたファイルをサーバへアップロードする必要があるという不都合がある。従って、(1)の方法は、新規ユーザ数や共有ファイル数が多い場合に、新規ユーザ追加時の処理が煩雑となるため、ファイル共有システムに不適である。
(2)の共通鍵方式では、前述した通り、ユーザをファイル共有システムから排除する際に、各ユーザに共通の秘密鍵と公開鍵を更新する機構が別途必要であることや、各ユーザに共通の秘密鍵が漏洩してしまった場合、全ての暗号化ファイルが当該漏洩鍵により復号可能となってしまう不都合がある。このため、(2)の共通鍵方式は、ファイル共有システムに不適である。
一方、(3)のプロキシ再暗号化方式では、サーバが再暗号化鍵を用いて一つの暗号文を各ユーザだけが復号できる暗号文に再暗号化するため、ユーザに再暗号化鍵を知らせない構成にすれば、上述した不都合を解決している。このため、(3)のプロキシ再暗号化方式は、ファイル共有システムに好適である。以上のようなプロキシ再暗号化方式は、特に問題は無いが、しいて言えば、サーバが各ユーザの許可なしに再暗号文を作成可能な状態にある。このため、プロキシ再暗号化方式は、安全なファイル共有を実現する観点から、改善の余地がある。これに対し、上記の各実施形態に記載した手法は、サーバと複数のユーザが結託した場合でも、移譲元の許可なく復号権限が再移譲されることを阻止できるため、安全なファイル共有を実現することができる。
なお、上記の各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
そして、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。
さらに、各実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限らず、複数の媒体から上記の各実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
なお、各実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の各実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
また、各実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。

Claims (14)

  1. 第1ユーザ装置の第1公開鍵により平文データを暗号化して得られた暗号文データを復号せずに再暗号化して、第2ユーザ装置の第2秘密鍵により復号可能な再暗号文データを得るための再暗号化鍵を生成する再暗号化鍵生成装置であって、
    前記第1公開鍵に対応する第1秘密鍵を記憶する第1記憶手段と、
    前記第2秘密鍵に対応する第2公開鍵とは異なる前記第2ユーザ装置の第2再暗号化鍵生成鍵を記憶する第2記憶手段と、
    前記第1秘密鍵、前記第2再暗号化鍵生成鍵及び複数の乱数に基づいて、前記再暗号化鍵を生成する再暗号化鍵生成手段と
    を備え、
    前記第2再暗号化鍵生成鍵は、複数のシステム固有値及び前記第2秘密鍵からなり、
    前記再暗号化鍵は、分子部分と分母部分とを有するベキ指数をそれぞれ含む第1成分、第2成分及び第3成分を含み、
    前記分子部分は、前記各システム固有値間の関係性を定める複数の秘密値と前記各乱数とのうちの少なくとも一つを作用させた前記第2秘密鍵の線形結合の形を有し、
    前記第1成分のベキ指数の分子部分は、前記各乱数のうちの第1乱数に基づく項と、前記各乱数のうちの第2乱数及び前記第1乱数と前記複数の秘密値のうちの第1秘密値とに基づく項との線形結合の形を有し、
    前記第2成分のベキ指数の分子部分は、前記第2乱数に基づく項と、前記複数の秘密値のうちの第2秘密値とに基づく項との線形結合の形を有し、
    前記第3成分のベキ指数の分子部分は、前記第1乱数に基づく項と、前記第2秘密値に基づく項との線形結合の形を有し、
    前記分子部分の各々の項は、前記第2秘密鍵にも基づいており、
    前記分母部分は、前記第1秘密鍵からなる、
    ことを特徴とする再暗号化鍵生成装置。
  2. 請求項1に記載の再暗号化鍵生成装置において、
    前記第1公開鍵は、前記第1秘密鍵及び複数のシステム固定値に基づいて生成されており、
    前記第2公開鍵は、前記第2秘密鍵及び前記複数のシステム固定値に基づいて生成されていることを特徴とする再暗号化鍵生成装置。
  3. 第1ユーザ装置の第1公開鍵により平文データを暗号化して得られた暗号文データを復号せずに再暗号化して、第2ユーザ装置の第2秘密鍵により復号可能な再暗号文データを得るための再暗号化鍵を生成する再暗号化鍵生成装置であって、
    前記第1公開鍵に対応する第1秘密鍵を記憶する第1記憶手段と、
    前記第2秘密鍵に対応する第2公開鍵とは異なる前記第2ユーザ装置の第2再暗号化鍵生成鍵を記憶する第2記憶手段と、
    前記第1秘密鍵、前記第2再暗号化鍵生成鍵及び複数の乱数に基づいて、前記再暗号化鍵を生成する再暗号化鍵生成手段と
    を備え、
    前記第2再暗号化鍵生成鍵は、複数のシステム固有値及び前記第2秘密鍵からなり、
    前記再暗号化鍵は、分子部分と分母部分とを有するベキ指数又は分子部分と分母部分とを有するスカラーを含み、
    前記分子部分は、前記各システム固有値間の関係性を定める複数の秘密値と前記各乱数とのうちの少なくとも一つを作用させた前記第2秘密鍵の線形結合の形を有し、
    前記分母部分は、前記第1秘密鍵からなり、
    前記第1公開鍵は、前記第1秘密鍵及び複数のシステム固定値に基づいて生成されており、
    前記第2公開鍵は、前記第2秘密鍵及び前記複数のシステム固定値に基づいて生成されており、
    前記第1秘密鍵をski=(xi,yi,zi)で表し、前記第2秘密鍵をskj=(xj,yj,zj)で表し、前記第1公開鍵と前記第2公開鍵とに関する前記複数のシステム固定値をg,g1で表し(但し、双線型写像e:G1×G2→GTが存在する位数pの群である双線型写像群をG1,G2,GTで表したとき、g,g1∈G1)、前記第1公開鍵をpkiで表すとき、前記第1公開鍵pkiは、データXi,Y1i,Zi,Z1i を含んでおり(但し、
    )、
    前記第2公開鍵をpkjで表すとき、前記第2公開鍵pkjは、データXj,Y1j,Zj,Z1j を含んでおり(但し、
    )、
    前記第2再暗号化鍵生成鍵に関する前記複数のシステム固定値をh,h1,h2で表し(但し、h,h1,h2∈G2)前記第2再暗号化鍵生成鍵をrkjで表すとき、
    rkj=(Tj,T1j,T2j
    であり(但し、
    )、
    前記平文データをmで表し(但し、m∈GT)、前記暗号文データに関する乱数をrで表し、前記暗号文データに関するシステム固定値をg2で表し(但し、g2∈G1)、前記暗号文データをCiで表すとき(但し、前記双線型写像e:G1×G2→GTをe( , )で表す)、前記暗号文データCiは、データC2X,C2Y,C2Z,C2Z1,C3 を含んでおり(但し、
    )、
    前記再暗号化鍵に関する各乱数をθ,nで表し、前記再暗号化鍵をRijで表すとき、
    ij=(Rij1,Rij2,Rij3
    であり(但し、
    )、
    前記再暗号文データをCjで表すとき(但し、3つの乱数をs,t,kで表す)、前記再暗号文データCjは、データC2X ’’,C2Y ’’,C2Z ’’,C2Z1 ’’,C5X,C5Y,C5Z,C3 を含んでおり(但し、
    で表されることを特徴とする再暗号化鍵生成装置。
  4. 第1ユーザ装置の第1公開鍵により平文データを暗号化して得られた暗号文データを復号せずに再暗号化して、第2ユーザ装置の第2秘密鍵により復号可能な再暗号文データを得るための再暗号化鍵を生成する再暗号化鍵生成装置であって、
    前記第1公開鍵に対応する第1秘密鍵を記憶する第1記憶手段と、
    前記第2秘密鍵に対応する第2公開鍵とは異なる前記第2ユーザ装置の第2再暗号化鍵生成鍵を記憶する第2記憶手段と、
    前記第1秘密鍵、前記第2再暗号化鍵生成鍵及び複数の乱数に基づいて、前記再暗号化鍵を生成する再暗号化鍵生成手段と
    を備え、
    前記第2再暗号化鍵生成鍵は、複数のシステム固有値及び前記第2秘密鍵からなり、
    前記再暗号化鍵は、分子部分と分母部分とを有するベキ指数又は分子部分と分母部分とを有するスカラーを含み、
    前記分子部分は、前記各システム固有値間の関係性を定める複数の秘密値と前記各乱数とのうちの少なくとも一つを作用させた前記第2秘密鍵の線形結合の形を有し、
    前記分母部分は、前記第1秘密鍵からなり、
    前記第1公開鍵は、前記第1秘密鍵及び複数のシステム固定値に基づいて生成されており、
    前記第2公開鍵は、前記第2秘密鍵及び前記複数のシステム固定値に基づいて生成されており、
    前記第1秘密鍵をski=(xi,yi,zi,wi)で表し、前記第2秘密鍵をskj=(xj,yj,zj,wj)で表し、前記第1公開鍵と前記第2公開鍵とに関する前記複数のシステム固定値をg,g1で表し(但し、双線型写像e:G1×G2→GTが存在する位数pの群である双線型写像群をG1,G2,GTで表したとき、g,g1∈G1)、前記第1公開鍵をpkiで表すとき、前記第1公開鍵pkiは、データXi,Y1i,Zi,Z1i,Wi を含んでおり(但し、
    )、
    前記第2公開鍵をpkjで表すとき、前記第2公開鍵pkjは、データXj,Y1j,Zj,Z1j,Wj を含んでおり(但し、
    )、
    前記第2再暗号化鍵生成鍵に関する前記複数のシステム固定値をh,h1,h2で表し(但し、h,h1,h2∈G2)、前記第2再暗号化鍵生成鍵をrkjで表すとき、
    rkj=(Tj,T1j,T2j
    であり(但し、
    )、
    前記平文データをmで表し(但し、m∈GT)、前記暗号文データに関する乱数をrで表し、前記暗号文データに関するシステム固定値をg2で表し(但し、g2∈G1)、前記位数pに対する乗法群をZP で表し、前記再暗号化鍵を更新する期間を示す時間パラメータをLで表し、前記暗号文データをCiで表すとき(但し、前記双線型写像e:G1×G2→GTをe( , )で表す)、前記暗号文データCiは、データC2X,C2Y,C2Z,C2Z1,C2F,C3 を含んでおり(但し、
    )、
    前記再暗号化鍵に関する各乱数をθ,n,δ,δで表し、前記再暗号化鍵をRijLで表すとき、
    ijL=(RijL1,RijL2,RijL3,RijL4,RijL5
    であり(但し、
    )、
    前記再暗号文データをCjで表すとき(但し、4つの乱数をs,t,k,πで表す)、前記再暗号文データCjは、データC2X ’’,C2Y ’’,C2Z ’’,C2Z1 ’’,C2F ’’,C5X,C5Y,C5Z,C5FX,C5FY,C3 を含んでおり(但し、
    で表されることを特徴とする再暗号化鍵生成装置。
  5. 第1ユーザ装置の第1公開鍵により平文データを暗号化して得られた暗号文データを復号せずに再暗号化鍵により再暗号化して、第2ユーザ装置の第2秘密鍵により復号可能な再暗号文データを得るための再暗号化装置であって、
    予め再暗号化鍵生成装置により生成された前記再暗号化鍵を記憶する記憶手段と、
    前記暗号文データを復号せずに、前記記憶手段内の再暗号化鍵により再暗号化して前記再暗号文データを得る再暗号化手段と、
    を備え、
    前記再暗号化鍵は、前記第1公開鍵に対応する第1秘密鍵、前記第2秘密鍵に対応する第2公開鍵とは異なる前記第2ユーザ装置の第2再暗号化鍵生成鍵、及び複数の乱数に基づいて、生成されており、
    前記第2再暗号化鍵生成鍵は、複数のシステム固有値及び前記第2秘密鍵からなり、
    前記再暗号化鍵は、分子部分と分母部分とを有するベキ指数をそれぞれ含む第1成分、第2成分及び第3成分を含み、
    前記分子部分は、前記各システム固有値間の関係性を定める複数の秘密値と前記各乱数とのうちの少なくとも一つを作用させた前記第2秘密鍵の線形結合の形を有し、
    前記第1成分のベキ指数の分子部分は、前記各乱数のうちの第1乱数に基づく項と、前記各乱数のうちの第2乱数及び前記第1乱数と前記複数の秘密値のうちの第1秘密値とに基づく項との線形結合の形を有し、
    前記第2成分のベキ指数の分子部分は、前記第2乱数に基づく項と、前記複数の秘密値のうちの第2秘密値とに基づく項との線形結合の形を有し、
    前記第3成分のベキ指数の分子部分は、前記第1乱数に基づく項と、前記第2秘密値に基づく項との線形結合の形を有し、
    前記分子部分の各々の項は、前記第2秘密鍵にも基づいており、
    前記分母部分は、前記第1秘密鍵からなる、
    ことを特徴とする再暗号化装置。
  6. 第1ユーザ装置の第1公開鍵により平文データを暗号化して得られた暗号文データを復号せずに再暗号化鍵により再暗号化して、第2ユーザ装置の第2秘密鍵により復号可能な再暗号文データを得るための再暗号化装置に対し、前記暗号文データを生成する暗号化装置であって、
    前記第1公開鍵を記憶する記憶手段と、
    前記記憶手段内の第1公開鍵を用いて前記平文データを暗号化して前記暗号文データを得る暗号化手段と、
    を備え、
    前記再暗号化鍵は、前記第1公開鍵に対応する第1秘密鍵、前記第2秘密鍵に対応する第2公開鍵とは異なる前記第2ユーザ装置の第2再暗号化鍵生成鍵、及び複数の乱数に基づいて、生成されており、
    前記第2再暗号化鍵生成鍵は、複数のシステム固有値及び前記第2秘密鍵からなり、
    前記再暗号化鍵は、分子部分と分母部分とを有するベキ指数をそれぞれ含む第1成分、第2成分及び第3成分を含み、
    前記分子部分は、前記各システム固有値間の関係性を定める複数の秘密値と前記各乱数とのうちの少なくとも一つを作用させた前記第2秘密鍵の線形結合の形を有し、
    前記第1成分のベキ指数の分子部分は、前記各乱数のうちの第1乱数に基づく項と、前記各乱数のうちの第2乱数及び前記第1乱数と前記複数の秘密値のうちの第1秘密値とに基づく項との線形結合の形を有し、
    前記第2成分のベキ指数の分子部分は、前記第2乱数に基づく項と、前記複数の秘密値のうちの第2秘密値とに基づく項との線形結合の形を有し、
    前記第3成分のベキ指数の分子部分は、前記第1乱数に基づく項と、前記第2秘密値に基づく項との線形結合の形を有し、
    前記分子部分の各々の項は、前記第2秘密鍵にも基づいており、
    前記分母部分は、前記第1秘密鍵からなる、
    ことを特徴とする暗号化装置。
  7. 再暗号化装置が再暗号化鍵に基づいて、第1ユーザ装置の第1公開鍵により平文データを暗号化して得られた暗号文データを復号せずに再暗号化して、第2ユーザ装置の第2秘密鍵により復号可能な再暗号文データを得た後に、前記再暗号文データを復号する復号装置であって、
    前記第2秘密鍵を記憶する記憶手段と、
    前記記憶手段内の第2秘密鍵に基づいて、前記再暗号文データを復号して前記平文データを得る復号手段と、
    を備え、
    前記再暗号化鍵は、前記第1公開鍵に対応する第1秘密鍵、前記第2秘密鍵に対応する第2公開鍵とは異なる前記第2ユーザ装置の第2再暗号化鍵生成鍵及び複数の乱数に基づいて、生成されており、
    前記第2再暗号化鍵生成鍵は、複数のシステム固有値及び前記第2秘密鍵からなり、
    前記再暗号化鍵は、分子部分と分母部分とを有するベキ指数をそれぞれ含む第1成分、第2成分及び第3成分を含み、
    前記分子部分は、前記各システム固有値間の関係性を定める複数の秘密値と前記各乱数とのうちの少なくとも一つを作用させた前記第2秘密鍵の線形結合の形を有し、
    前記第1成分のベキ指数の分子部分は、前記各乱数のうちの第1乱数に基づく項と、前記各乱数のうちの第2乱数及び前記第1乱数と前記複数の秘密値のうちの第1秘密値とに基づく項との線形結合の形を有し、
    前記第2成分のベキ指数の分子部分は、前記第2乱数に基づく項と、前記複数の秘密値のうちの第2秘密値とに基づく項との線形結合の形を有し、
    前記第3成分のベキ指数の分子部分は、前記第1乱数に基づく項と、前記第2秘密値に基づく項との線形結合の形を有し、
    前記分子部分の各々の項は、前記第2秘密鍵にも基づいており、
    前記分母部分は、前記第1秘密鍵からなる、
    ことを特徴とする復号装置。
  8. 第1ユーザ装置の第1公開鍵により平文データを暗号化して得られた暗号文データを復号せずに再暗号化して、第2ユーザ装置の第2秘密鍵により復号可能な再暗号文データを得るための再暗号化鍵を生成する再暗号化鍵生成装置に用いられるプログラムであって、
    前記再暗号化鍵生成装置を、
    前記第1公開鍵に対応する第1秘密鍵を前記再暗号化鍵生成装置の第1記憶手段に書込む手段、
    前記第2秘密鍵に対応する第2公開鍵とは異なる前記第2ユーザ装置の第2再暗号化鍵生成鍵を前記再暗号化鍵生成装置の第2記憶手段に書込む手段、
    前記第1秘密鍵、前記第2再暗号化鍵生成鍵及び複数の乱数に基づいて、前記再暗号化鍵を生成する再暗号化鍵生成手段、
    として機能させ、
    前記第2再暗号化鍵生成鍵は、複数のシステム固有値及び前記第2秘密鍵からなり、
    前記再暗号化鍵は、分子部分と分母部分とを有するベキ指数をそれぞれ含む第1成分、第2成分及び第3成分を含み、
    前記分子部分は、前記各システム固有値間の関係性を定める複数の秘密値と前記各乱数とのうちの少なくとも一つを作用させた前記第2秘密鍵の線形結合の形を有し、
    前記第1成分のベキ指数の分子部分は、前記各乱数のうちの第1乱数に基づく項と、前記各乱数のうちの第2乱数及び前記第1乱数と前記複数の秘密値のうちの第1秘密値とに基づく項との線形結合の形を有し、
    前記第2成分のベキ指数の分子部分は、前記第2乱数に基づく項と、前記複数の秘密値のうちの第2秘密値とに基づく項との線形結合の形を有し、
    前記第3成分のベキ指数の分子部分は、前記第1乱数に基づく項と、前記第2秘密値に基づく項との線形結合の形を有し、
    前記分子部分の各々の項は、前記第2秘密鍵にも基づいており、
    前記分母部分は、前記第1秘密鍵からなる、
    プログラム。
  9. 請求項8に記載のプログラムにおいて、
    前記第1公開鍵は、前記第1秘密鍵及び複数のシステム固定値に基づいて生成されており、
    前記第2公開鍵は、前記第2秘密鍵及び前記複数のシステム固定値に基づいて生成されているプログラム。
  10. 第1ユーザ装置の第1公開鍵により平文データを暗号化して得られた暗号文データを復号せずに再暗号化して、第2ユーザ装置の第2秘密鍵により復号可能な再暗号文データを得るための再暗号化鍵を生成する再暗号化鍵生成装置に用いられるプログラムであって、
    前記再暗号化鍵生成装置を、
    前記第1公開鍵に対応する第1秘密鍵を前記再暗号化鍵生成装置の第1記憶手段に書込む手段、
    前記第2秘密鍵に対応する第2公開鍵とは異なる前記第2ユーザ装置の第2再暗号化鍵生成鍵を前記再暗号化鍵生成装置の第2記憶手段に書込む手段、
    前記第1秘密鍵、前記第2再暗号化鍵生成鍵及び複数の乱数に基づいて、前記再暗号化鍵を生成する再暗号化鍵生成手段、
    として機能させ、
    前記第2再暗号化鍵生成鍵は、複数のシステム固有値及び前記第2秘密鍵からなり、
    前記再暗号化鍵は、分子部分と分母部分とを有するベキ指数又は分子部分と分母部分とを有するスカラーを含み、
    前記分子部分は、前記各システム固有値間の関係性を定める複数の秘密値と前記各乱数とのうちの少なくとも一つを作用させた前記第2秘密鍵の線形結合の形を有し、
    前記分母部分は、前記第1秘密鍵からなり、
    前記第1公開鍵は、前記第1秘密鍵及び複数のシステム固定値に基づいて生成されており、
    前記第2公開鍵は、前記第2秘密鍵及び前記複数のシステム固定値に基づいて生成されており、
    前記第1秘密鍵をski=(xi,yi,zi)で表し、前記第2秘密鍵をskj=(xj,yj,zj)で表し、前記第1公開鍵と前記第2公開鍵とに関する前記複数のシステム固定値をg,g1で表し(但し、双線型写像e:G1×G2→GTが存在する位数pの群である双線型写像群をG1,G2,GTで表したとき、g,g1∈G1)、前記第1公開鍵をpkiで表すとき、前記第1公開鍵pkiは、データXi,Y1i,Zi,Z1i を含んでおり(但し、
    )、
    前記第2公開鍵をpkjで表すとき、前記第2公開鍵pkjは、データXj,Y1j,Zj,Z1j を含んでおり(但し、
    )、
    前記第2再暗号化鍵生成鍵に関する前記複数のシステム固定値をh,h1,h2で表し(但し、h,h1,h2∈G2)前記第2再暗号化鍵生成鍵をrkjで表すとき、
    rkj=(Tj,T1j,T2j
    であり(但し、
    )、
    前記平文データをmで表し(但し、m∈GT)、前記暗号文データに関する乱数をrで表し、前記暗号文データに関するシステム固定値をg2で表し(但し、g2∈G1)、前記暗号文データをCiで表すとき(但し、前記双線型写像e:G1×G2→GTをe( , )で表す)、前記暗号文データCiは、データC2X,C2Y,C2Z,C2Z1,C3 を含んでおり(但し、
    )、
    前記再暗号化鍵に関する各乱数をθ,nで表し、前記再暗号化鍵をRijで表すとき、
    ij=(Rij1,Rij2,Rij3
    であり(但し、
    )、
    前記再暗号文データをCjで表すとき(但し、3つの乱数をs,t,kで表す)、前記再暗号文データCjは、データC2X ’’,C2Y ’’,C2Z ’’,C2Z1 ’’,C5X,C5Y,C5Z,C3 を含んでおり(但し、
    で表されるプログラム。
  11. 第1ユーザ装置の第1公開鍵により平文データを暗号化して得られた暗号文データを復号せずに再暗号化して、第2ユーザ装置の第2秘密鍵により復号可能な再暗号文データを得るための再暗号化鍵を生成する再暗号化鍵生成装置に用いられるプログラムであって、
    前記再暗号化鍵生成装置を、
    前記第1公開鍵に対応する第1秘密鍵を前記再暗号化鍵生成装置の第1記憶手段に書込む手段、
    前記第2秘密鍵に対応する第2公開鍵とは異なる前記第2ユーザ装置の第2再暗号化鍵生成鍵を前記再暗号化鍵生成装置の第2記憶手段に書込む手段、
    前記第1秘密鍵、前記第2再暗号化鍵生成鍵及び複数の乱数に基づいて、前記再暗号化鍵を生成する再暗号化鍵生成手段、
    として機能させ、
    前記第2再暗号化鍵生成鍵は、複数のシステム固有値及び前記第2秘密鍵からなり、
    前記再暗号化鍵は、分子部分と分母部分とを有するベキ指数又は分子部分と分母部分とを有するスカラーを含み、
    前記分子部分は、前記各システム固有値間の関係性を定める複数の秘密値と前記各乱数とのうちの少なくとも一つを作用させた前記第2秘密鍵の線形結合の形を有し、
    前記分母部分は、前記第1秘密鍵からなり、
    前記第1公開鍵は、前記第1秘密鍵及び複数のシステム固定値に基づいて生成されており、
    前記第2公開鍵は、前記第2秘密鍵及び前記複数のシステム固定値に基づいて生成されており、
    前記第1秘密鍵をski=(xi,yi,zi,wi)で表し、前記第2秘密鍵をskj=(xj,yj,zj,wj)で表し、前記第1公開鍵と前記第2公開鍵とに関する前記複数のシステム固定値をg,g1で表し(但し、双線型写像e:G1×G2→GTが存在する位数pの群である双線型写像群をG1,G2,GTで表したとき、g,g1∈G1)、前記第1公開鍵をpkiで表すとき、前記第1公開鍵pkiは、データXi,Y1i,Zi,Z1i,Wi を含んでおり(但し、
    )、
    前記第2公開鍵をpkjで表すとき、前記第2公開鍵pkjは、データXj,Y1j,Zj,Z1j,Wj を含んでおり(但し、
    )、
    前記第2再暗号化鍵生成鍵に関する前記複数のシステム固定値をh,h1,h2で表し(但し、h,h1,h2∈G2)前記第2再暗号化鍵生成鍵をrkjで表すとき、
    rkj=(Tj,T1j,T2j
    であり(但し、
    )、
    前記平文データをmで表し(但し、m∈GT)、前記暗号文データに関する乱数をrで表し、前記暗号文データに関するシステム固定値をg2で表し(但し、g2∈G1)、前記位数pに対する乗法群をZP で表し、前記再暗号化鍵を更新する期間を示す時間パラメータをLで表し、前記暗号文データをCiで表すとき(但し、前記双線型写像e:G1×G2→GTをe( , )で表す)、前記暗号文データCiは、データC2X,C2Y,C2Z,C2Z1,C2F,C3 を含んでおり(但し、
    )、
    前記再暗号化鍵に関する各乱数をθ,n,δ,δで表し、前記再暗号化鍵をRijLで表すとき、
    ijL=(RijL1,RijL2,RijL3,RijL4,RijL5
    であり(但し、
    )、
    前記再暗号文データをCjで表すとき(但し、4つの乱数をs,t,k,πで表す)、前記再暗号文データCjは、データC2X ’’,C2Y ’’,C2Z ’’,C2Z1 ’’,C2F ’,C5X,C5Y,C5Z,C5FX,C5FY,C3 を含んでおり(但し、
    で表されるプログラム。
  12. 第1ユーザ装置の第1公開鍵により平文データを暗号化して得られた暗号文データを復号せずに再暗号化鍵により再暗号化して、第2ユーザ装置の第2秘密鍵により復号可能な再暗号文データを得るための再暗号化装置に用いられるプログラムであって、
    前記再暗号化装置を、
    予め再暗号化鍵生成装置により生成された前記再暗号化鍵を前記再暗号化装置の記憶手段に書込む手段、
    前記暗号文データを復号せずに、前記記憶手段内の再暗号化鍵により再暗号化して前記再暗号文データを得る再暗号化手段、
    として機能させ、
    前記再暗号化鍵は、前記第1公開鍵に対応する第1秘密鍵、前記第2秘密鍵に対応する第2公開鍵とは異なる前記第2ユーザ装置の第2再暗号化鍵生成鍵、及び複数の乱数に基づいて、生成されており、
    前記第2再暗号化鍵生成鍵は、複数のシステム固有値及び前記第2秘密鍵からなり、
    前記再暗号化鍵は、分子部分と分母部分とを有するベキ指数をそれぞれ含む第1成分、第2成分及び第3成分を含み、
    前記分子部分は、前記各システム固有値間の関係性を定める複数の秘密値と前記各乱数とのうちの少なくとも一つを作用させた前記第2秘密鍵の線形結合の形を有し、
    前記第1成分のベキ指数の分子部分は、前記各乱数のうちの第1乱数に基づく項と、前記各乱数のうちの第2乱数及び前記第1乱数と前記複数の秘密値のうちの第1秘密値とに基づく項との線形結合の形を有し、
    前記第2成分のベキ指数の分子部分は、前記第2乱数に基づく項と、前記複数の秘密値のうちの第2秘密値とに基づく項との線形結合の形を有し、
    前記第3成分のベキ指数の分子部分は、前記第1乱数に基づく項と、前記第2秘密値に基づく項との線形結合の形を有し、
    前記分子部分の各々の項は、前記第2秘密鍵にも基づいており、
    前記分母部分は、前記第1秘密鍵からなる、
    プログラム。
  13. 第1ユーザ装置の第1公開鍵により平文データを暗号化して得られた暗号文データを復号せずに再暗号化鍵により再暗号化して、第2ユーザ装置の第2秘密鍵により復号可能な再暗号文データを得るための再暗号化装置に対し、前記暗号文データを生成する暗号化装置に用いられるプログラムであって、
    前記暗号化装置を、
    前記第1公開鍵を前記暗号化装置の記憶手段に書込む手段、
    前記記憶手段内の第1公開鍵を用いて前記平文データを暗号化して前記暗号文データを得る暗号化手段、
    として機能させ、
    前記再暗号化鍵は、前記第1公開鍵に対応する第1秘密鍵、前記第2秘密鍵に対応する第2公開鍵とは異なる前記第2ユーザ装置の第2再暗号化鍵生成鍵に基づいて、生成されており、
    前記第2再暗号化鍵生成鍵は、複数のシステム固有値及び前記第2秘密鍵からなり、
    前記再暗号化鍵は、分子部分と分母部分とを有するベキ指数をそれぞれ含む第1成分、第2成分及び第3成分を含み、
    前記分子部分は、前記各システム固有値間の関係性を定める複数の秘密値と前記各乱数とのうちの少なくとも一つを作用させた前記第2秘密鍵の線形結合の形を有し、
    前記第1成分のベキ指数の分子部分は、前記各乱数のうちの第1乱数に基づく項と、前記各乱数のうちの第2乱数及び前記第1乱数と前記複数の秘密値のうちの第1秘密値とに基づく項との線形結合の形を有し、
    前記第2成分のベキ指数の分子部分は、前記第2乱数に基づく項と、前記複数の秘密値のうちの第2秘密値とに基づく項との線形結合の形を有し、
    前記第3成分のベキ指数の分子部分は、前記第1乱数に基づく項と、前記第2秘密値に基づく項との線形結合の形を有し、
    前記分子部分の各々の項は、前記第2秘密鍵にも基づいており、
    前記分母部分は、前記第1秘密鍵からなる、
    プログラム。
  14. 再暗号化装置が再暗号化鍵に基づいて、第1ユーザ装置の第1公開鍵により平文データを暗号化して得られた暗号文データを復号せずに再暗号化して、第2ユーザ装置の第2秘密鍵により復号可能な再暗号文データを得た後に、前記再暗号文データを復号する復号装置に用いられるプログラムであって、
    前記復号装置を、
    前記第2秘密鍵を前記復号装置の記憶手段に書込む手段、
    前記記憶手段内の第2秘密鍵に基づいて、前記再暗号文データを復号して前記平文データを得る復号手段、
    として機能させ、
    前記再暗号化鍵は、前記第1公開鍵に対応する第1秘密鍵、前記第2秘密鍵に対応する第2公開鍵とは異なる前記第2ユーザ装置の第2再暗号化鍵生成鍵、及び複数の乱数に基づいて、生成されており、
    前記第2再暗号化鍵生成鍵は、複数のシステム固有値及び前記第2秘密鍵からなり、
    前記再暗号化鍵は、分子部分と分母部分とを有するベキ指数をそれぞれ含む第1成分、第2成分及び第3成分を含み、
    前記分子部分は、前記各システム固有値間の関係性を定める複数の秘密値と前記各乱数とのうちの少なくとも一つを作用させた前記第2秘密鍵の線形結合の形を有し、
    前記第1成分のベキ指数の分子部分は、前記各乱数のうちの第1乱数に基づく項と、前記各乱数のうちの第2乱数及び前記第1乱数と前記複数の秘密値のうちの第1秘密値とに基づく項との線形結合の形を有し、
    前記第2成分のベキ指数の分子部分は、前記第2乱数に基づく項と、前記複数の秘密値のうちの第2秘密値とに基づく項との線形結合の形を有し、
    前記第3成分のベキ指数の分子部分は、前記第1乱数に基づく項と、前記第2秘密値に基づく項との線形結合の形を有し、
    前記分子部分の各々の項は、前記第2秘密鍵にも基づいており、
    前記分母部分は、前記第1秘密鍵からなる、
    プログラム。
JP2016551451A 2014-10-03 2014-10-03 再暗号化鍵生成装置、再暗号化装置、暗号化装置、復号装置及びプログラム Active JP6139804B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/076562 WO2016051591A1 (ja) 2014-10-03 2014-10-03 再暗号化鍵生成装置、再暗号化装置、暗号化装置、復号装置及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2016051591A1 JPWO2016051591A1 (ja) 2017-04-27
JP6139804B2 true JP6139804B2 (ja) 2017-05-31

Family

ID=55629676

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016551451A Active JP6139804B2 (ja) 2014-10-03 2014-10-03 再暗号化鍵生成装置、再暗号化装置、暗号化装置、復号装置及びプログラム

Country Status (3)

Country Link
US (1) US10187207B2 (ja)
JP (1) JP6139804B2 (ja)
WO (1) WO2016051591A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2019093201A1 (ja) * 2017-11-07 2020-12-03 日本電信電話株式会社 通信端末、サーバ装置、プログラム

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015142765A1 (en) 2014-03-17 2015-09-24 Coinbase, Inc Bitcoin host computer system
US9735958B2 (en) * 2015-05-19 2017-08-15 Coinbase, Inc. Key ceremony of a security system forming part of a host computer for cryptographic transactions
US10277563B2 (en) * 2016-06-17 2019-04-30 Palo Alto Research Center Incorporated Computer-implemented system and method for protecting sensitive data via data re-encryption
US10116633B2 (en) * 2016-09-16 2018-10-30 Bank Of America Corporation Systems and devices for hardened remote storage of private cryptography keys used for authentication
US10680810B2 (en) * 2016-10-26 2020-06-09 Nxp B.V. Method of generating an elliptic curve cryptographic key pair
WO2018154581A1 (en) * 2017-02-22 2018-08-30 Kindite Ltd. Encrypting data records and processing encrypted records without exposing plaintext
US10587401B2 (en) * 2017-04-03 2020-03-10 Salesforce.Com, Inc. Secure handling of customer-supplied encryption secrets
US10157290B1 (en) * 2017-10-11 2018-12-18 Symantec Corporation Systems and methods for encrypting files
US10965653B2 (en) * 2018-03-28 2021-03-30 Xaptum, Inc. Scalable and secure message brokering approach in a communication system
EP3782105A4 (en) * 2018-04-17 2021-12-22 Coinbase Inc. OFFLINE STORAGE SYSTEM AND METHOD OF USE
US11362824B2 (en) * 2018-05-25 2022-06-14 Intertrust Technologies Corporation Content management systems and methods using proxy reencryption
US11394543B2 (en) 2018-12-13 2022-07-19 Coinbase, Inc. System and method for secure sensitive data storage and recovery
CN110378139B (zh) * 2019-07-25 2021-07-30 江苏芯盛智能科技有限公司 一种数据密钥保护方法、系统及电子设备和存储介质
CN114730420A (zh) 2019-08-01 2022-07-08 科恩巴斯公司 用于生成签名的系统和方法
US11943350B2 (en) * 2019-10-16 2024-03-26 Coinbase, Inc. Systems and methods for re-using cold storage keys
CN111404952B (zh) * 2020-03-24 2022-06-14 中国南方电网有限责任公司 变电站数据加密传输方法、装置、计算机设备和存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7240200B2 (en) * 2002-09-26 2007-07-03 International Business Machines Corporation System and method for guaranteeing software integrity via combined hardware and software authentication
US20050195975A1 (en) * 2003-01-21 2005-09-08 Kevin Kawakita Digital media distribution cryptography using media ticket smart cards
EP1672831A1 (fr) * 2004-12-16 2006-06-21 Nagravision S.A. Méthode de transmission de données numériques dans un réseau local
DE102009001718B4 (de) * 2009-03-20 2010-12-30 Compugroup Holding Ag Verfahren zur Bereitstellung von kryptografischen Schlüsselpaaren
US8874929B2 (en) * 2009-10-27 2014-10-28 Lockheed Martin Corporation Cross domain discovery
US8577029B2 (en) * 2010-09-10 2013-11-05 International Business Machines Corporation Oblivious transfer with hidden access control lists
US20130091353A1 (en) * 2011-08-01 2013-04-11 General Instrument Corporation Apparatus and method for secure communication
CN102404121B (zh) * 2011-11-30 2014-03-12 华为技术有限公司 一种密文处理方法、装置及系统
JP5932040B2 (ja) * 2012-08-08 2016-06-08 株式会社東芝 再暗号化鍵生成装置及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2019093201A1 (ja) * 2017-11-07 2020-12-03 日本電信電話株式会社 通信端末、サーバ装置、プログラム

Also Published As

Publication number Publication date
US20160380767A1 (en) 2016-12-29
JPWO2016051591A1 (ja) 2017-04-27
WO2016051591A1 (ja) 2016-04-07
US10187207B2 (en) 2019-01-22

Similar Documents

Publication Publication Date Title
JP6139804B2 (ja) 再暗号化鍵生成装置、再暗号化装置、暗号化装置、復号装置及びプログラム
JP5851558B2 (ja) 再暗号化鍵生成装置、再暗号化装置及びプログラム
JP5932040B2 (ja) 再暗号化鍵生成装置及びプログラム
JP5367039B2 (ja) サーバ装置及びプログラム
US11451386B2 (en) Method and system for many-to-many symmetric cryptography and a network employing the same
US11271730B2 (en) Systems and methods for deployment, management and use of dynamic cipher key systems
US9698984B2 (en) Re-encrypted data verification program, re-encryption apparatus and re-encryption system
JP6313074B2 (ja) データ管理装置、システム、データ共有装置及びプログラム
JP2022501971A (ja) 鍵管理のための方法、ユーザ・デバイス、管理デバイス、記憶媒体及びコンピュータ・プログラム製品
US9813386B2 (en) Cooperation service providing system and server apparatus
WO2014034018A1 (ja) 再暗号化システム、再暗号化方法および再暗号化プログラム
WO2014083784A1 (ja) 暗号システム、データ保存システム、それに用いる装置および方法
WO2014141907A1 (ja) 暗号化データ演算システム、装置及びプログラム
JPWO2021009860A5 (ja)
CN113141249B (zh) 一种门限解密方法、系统及可读存储介质
JP2020053772A (ja) 通信システム、サーバ装置、通信端末、通信方法、及びプログラム
JP2008124906A (ja) 認証システム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170217

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170427

R150 Certificate of patent or registration of utility model

Ref document number: 6139804

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150