WO2014184894A1 - 暗号システム、暗号方法及び暗号プログラム - Google Patents

暗号システム、暗号方法及び暗号プログラム Download PDF

Info

Publication number
WO2014184894A1
WO2014184894A1 PCT/JP2013/063538 JP2013063538W WO2014184894A1 WO 2014184894 A1 WO2014184894 A1 WO 2014184894A1 JP 2013063538 W JP2013063538 W JP 2013063538W WO 2014184894 A1 WO2014184894 A1 WO 2014184894A1
Authority
WO
WIPO (PCT)
Prior art keywords
ciphertext
encryption
base
basis
information
Prior art date
Application number
PCT/JP2013/063538
Other languages
English (en)
French (fr)
Inventor
克幸 高島
豊 川合
Original Assignee
三菱電機株式会社
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 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to CN201380076638.7A priority Critical patent/CN105210133B/zh
Priority to JP2015516812A priority patent/JP5951122B2/ja
Priority to US14/787,317 priority patent/US9755823B2/en
Priority to EP13884915.3A priority patent/EP2998948B1/en
Priority to PCT/JP2013/063538 priority patent/WO2014184894A1/ja
Publication of WO2014184894A1 publication Critical patent/WO2014184894A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • 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/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • 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/42Anonymization, e.g. involving pseudonyms
    • 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/46Secure multiparty computation, e.g. millionaire problem
    • 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
    • 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

Definitions

  • B * n + u + w as the coefficients ⁇ 1 ,. . . , Eta w is set
  • basis vectors of the basis B * b * n + u + w + 1,. . . , B * n + u + w + z means that 0 is set.
  • the decryption device 400 includes a token acquisition unit 410, a ciphertext acquisition unit 420, and a decryption unit 430.
  • the ciphertext generation unit 230 generates a random number as shown in Formula 145 by the processing device.
  • the key generation device 100 executes the Setup algorithm shown in Formula 154 to generate the conversion key ck, the public key pk, and the secret key sk.
  • the G IPE ob algorithm is as shown in Equation 155.
  • the key generation device 100 stores the generated conversion key ck, public key pk, and secret key sk in the storage device.
  • step S ⁇ b > 405 the conversion apparatus 300 transmits the generated ciphertext CT x to the decryption apparatus 400.
  • Each pharmaceutical company 540 is a searcher, and transmits a predicate vector v ⁇ in which its own attribute information is set from a terminal such as a PC (Personal Computer) to the PKG 510. Then, the PKG 510 uses the key generation device 100 to execute the TokenGen algorithm, and generates a token tk v based on the transmitted predicate vector v ⁇ . Then, the PKG 510 transmits the generated token tk v to the pharmaceutical company 540 that is the transmission source of the predicate vector v ⁇ .
  • FIG. 13 is a configuration diagram of a secret search system 500 having a configuration different from that in FIG.
  • the secret search system 500 shown in FIG. 13 is different from the secret search system 500 shown in FIG. 12 in that the assistant 530 is located between the pharmaceutical company 540 and the medical information DB 550.

Landscapes

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

Abstract

 公開鍵セッティングでも、暗号文に設定された属性情報と、復号鍵に設定された述語情報とを共に秘匿可能な述語暗号を提供することを目的とする。暗号化装置200は、基底Dの基底ベクトルの係数として属性情報xを設定した暗号文ctを生成する。仲介装置300は、暗号化装置200が生成した暗号文ctの基底Dを変換情報Wにより基底Bに変換して暗号文CTを生成する。復号装置400は、基底Bに対応する基底Bの基底ベクトルの係数として述語情報vを設定したトークンtkによって、仲介装置300が生成した暗号文CTを復号する。

Description

暗号システム、暗号方法及び暗号プログラム
 この発明は、暗号文に設定された属性情報と、復号鍵に設定された述語情報とを共に秘匿可能な述語暗号に関する。
 非特許文献1には、暗号化側及び復号側の両方の鍵を秘密にした秘密鍵セッティングで、暗号文に設定された属性情報と、復号鍵に設定された述語情報とを共に秘匿可能な内積述語暗号について記載されている。
Emily Shen, Elaine Shi, and Brent Waters. Predicate privacy in encryption systems. In Omer Reingold,editor, TCC 2009, volume 5444 of LNCS, pages 457.473. Springer, 2009. Allison B. Lewko, Tatsuaki Okamoto, Amit Sahai, Katsuyuki Takashima, and Brent Waters. Fully secure functional encryption: Attribute-based encryption and (hierarchical) inner product encryption. In Henri Gilbert, editor, EUROCRYPT 2010, volume 6110 of LNCS, pages 62.91. Springer, 2010. Full version is available at http://eprint.iacr.org/2010/110. Okamoto, T., Takashima, K.: Achieving Short Ciphertexts or Short Secret-Keys for Adaptively Secure General Inner-Product Encryption. CANS 2011, LNCS, vol. 7092, pp. 138-159 Springer Heidelberg (2011). Okamoto, T Takashima, K.:Fully Secure Unbounded Inner-Product and Attribute-Based Encryption.ePrint http://eprint.iacr.org/2012/671
 暗号化側の鍵を公開した公開鍵セッティングで、暗号文に設定された属性情報と、復号鍵に設定された述語情報とを共に秘匿可能な述語暗号は実現されていなかった。
 この発明は、公開鍵セッティングでも、暗号文に設定された属性情報と、復号鍵に設定された述語情報とを共に秘匿可能な述語暗号を提供することを目的とする。
 この発明に係る暗号システムは、
 基底Dの基底ベクトルの係数として属性情報xを設定した暗号文ctを生成する暗号化装置と、
 前記暗号化装置が生成した暗号文ctの基底Dを変換情報Wにより基底Bに変換して暗号文CTを生成する変換装置と、
 前記基底Bに対応する基底Bの基底ベクトルの係数として述語情報vを設定したトークンtkによって、前記変換装置が生成した暗号文CTを復号する復号装置と
を備えることを特徴とする。
 この発明に係る暗号システムは、変換情報Wと変換装置とを用いることにより、公開鍵セッティングでも、暗号文に設定された属性情報と、復号鍵に設定された述語情報とを共に秘匿可能な述語暗号を実現することができる。
実施の形態1に係る暗号システム10の構成図。 実施の形態1に係る鍵生成装置100の機能を示す機能ブロック図。 実施の形態1に係る暗号化装置200の機能を示す機能ブロック図。 実施の形態1に係る変換装置300の機能を示す機能ブロック図。 実施の形態1に係る復号装置400の機能を示す機能ブロック図。 実施の形態1に係るSetupアルゴリズムの処理を示すフローチャート。 実施の形態1に係るTokenGenアルゴリズムの処理を示すフローチャート。 実施の形態1に係るEncアルゴリズムの処理を示すフローチャート。 実施の形態1に係るConvアルゴリズムの処理を示すフローチャート。 実施の形態1に係るQueryアルゴリズムの処理を示すフローチャート。 実施の形態3に係るTokenGenアルゴリズムの処理を示すフローチャート。 実施の形態5に係る秘匿検索システム500の構成図。 図12とは異なる構成の秘匿検索システム500の構成図。 上記実施の形態に示した鍵生成装置100、暗号化装置200、変換装置300、復号装置400のハードウェア構成の例を示す図。
 以下の説明における記法について説明する。
 Aがランダムな変数または分布であるとき、数101は、Aの分布に従いAからyをランダムに選択することを表す。つまり、数101において、yは乱数である。
Figure JPOXMLDOC01-appb-M000006
 Aが集合であるとき、数102は、Aからyを一様に選択することを表す。つまり、数102において、yは一様乱数である。
Figure JPOXMLDOC01-appb-M000007
 数103は、yがzにより定義される、定義される、又は、yがzを代入されることを表す。
Figure JPOXMLDOC01-appb-M000008
 aが定数であるとき、数104は、機械(アルゴリズム)Aが入力xに対しaを出力することを表す。
Figure JPOXMLDOC01-appb-M000009
 数105、つまりFは、位数qの有限体を示す。
Figure JPOXMLDOC01-appb-M000010
 ベクトル表記は、有限体Fにおけるベクトル表示を表す。つまり、数106である。
Figure JPOXMLDOC01-appb-M000011
 数107は、数108に示す2つのベクトルxとvとの数109に示す内積を表す。
Figure JPOXMLDOC01-appb-M000012
Figure JPOXMLDOC01-appb-M000013
Figure JPOXMLDOC01-appb-M000014
 Xは、行列Xの転置行列を表す。
 数110に示す基底Bと基底Bとに対して、数111が定義される。
Figure JPOXMLDOC01-appb-M000015
Figure JPOXMLDOC01-appb-M000016
 以下の説明において、“δi,j”が上付きで示されている場合、このδi,jは、δi,jを意味する。
 ベクトルを意味する“→”が下付き文字又は上付き文字に付されている場合、この“→”は下付き文字又は上付き文字に上付きで付されていることを意味する。
 また、以下の説明において、暗号処理は、鍵生成処理、暗号化処理、変換処理、復号処理(問合せ処理)を含む。
 実施の形態1.
 内積述語暗号方式の基礎となる概念を説明した上で、公開鍵セッティングでも、暗号文に設定された属性情報と、復号鍵に設定された述語情報とを共に秘匿可能な内積述語暗号方式について説明する。
 第1に、暗号文に設定された属性情報と、復号鍵に設定された述語情報とを共に秘匿することの背景を説明する。
 第2に、内積述語暗号方式を実現するための空間である「双対ペアリングベクトル空間(Dual Pairing Vector Spaces(DPVS))」という豊かな数学的構造を有する空間を説明する。
 第3に、実施の形態1に係る内積述語暗号方式を構成するためのキーテクニックを説明する。
 第4に、実施の形態1に係る内積述語暗号方式について説明する。
 <第1.背景>
 病院等が患者のDNA情報をデータベースに蓄積しておき、製薬会社等が検索クエリを用いて前記データベースを検索し、ある病気を持つ患者のDNA情報に特定の規則性があるかを調査すること等が行われている。
 患者のDNA情報は、プライバシー情報である。検索クエリは、製薬会社等にとって、医薬品の開発戦略上、秘密にされるものである。
 述語暗号等では、患者のDNA情報等を、属性情報として設定して暗号文を生成し、検索条件を述語情報として設定して検索クエリを生成する。
 しかし、従来の公開鍵セッティングでは、患者のDNA情報は秘匿できても、検索条件は秘匿できない恐れがあった。公開鍵セッティングでは、公開鍵に基づき暗号文を自由に生成できるため、生成した暗号文に対して検索クエリを実行して、検索クエリに設定された検索条件を推定される可能性があるためである。
 非特許文献1に記載された内積述語暗号方式では、秘密鍵セッティングで、患者のDNA情報と検索条件との両方を秘匿可能であった。
 しかし、秘密鍵セッティングでは、暗号文の作成に秘密鍵が必要となり、実運用においては大変不便である。そのため、公開鍵セッティングで、患者のDNA情報と検索条件との両方を秘匿可能な方式が望まれていた。
 <第2.双対ペアリングベクトル空間>
 以下に説明する内積述語暗号方式は、双対ペアリングベクトル空間において実現される。
 まず、対称双線形ペアリング群について説明する。
 対称双線形ペアリング群(q,G,G,g,e)は、素数qと、位数qの巡回加法群Gと、位数qの巡回乗法群Gと、g≠0∈Gと、多項式時間で計算可能な非退化双線形ペアリングe:G×G→Gとの組である。非退化双線形ペアリングは、e(sg,tg)=e(g,g)stであり、e(g,g)≠1である。
 以下の説明において、Gbpgを、1λを入力として、セキュリティパラメータをλとする双線形ペアリング群のパラメータparam:=(q,G,G,g,e)の値を出力するアルゴリズムとする。
 次に、双対ペアリングベクトル空間について説明する。
 双対ペアリングベクトル空間(q,V,G,A,e)は、対称双線形ペアリング群(param:=(q,G,G,g,e))の直積によって構成することができる。双対ペアリングベクトル空間(q,V,G,A,e)は、素数q、数112に示すF上のN次元ベクトル空間V、位数qの巡回群G、空間Vの標準基底A:=(a,...,a)の組であり、以下の演算(1)(2)を有する。ここで、aは、数113に示す通りである。
Figure JPOXMLDOC01-appb-M000017
Figure JPOXMLDOC01-appb-M000018
 演算(1):非退化双線形ペアリング
 空間Vにおけるペアリングは、数114によって定義される。
Figure JPOXMLDOC01-appb-M000019
 これは、非退化双線形である。つまり、e(sx,ty)=e(x,y)stであり、全てのy∈Vに対して、e(x,y)=1の場合、x=0である。また、全てのiとjとに対して、e(a,a)=e(g,g)δi,jである。ここで、i=jであれば、δi,j=1であり、i≠jであれば、δi,j=0である。また、e(g,g)≠1∈Gである。
 演算(2):ディストーション写像
 数115に示す空間Vにおける線形変換φi,jは、数116を行うことができる。
Figure JPOXMLDOC01-appb-M000020
Figure JPOXMLDOC01-appb-M000021
 ここで、線形変換φi,jをディストーション写像と呼ぶ。
 以下の説明において、Gdpvsを、1λ(λ∈自然数)、N∈自然数、双線形ペアリング群のパラメータparam:=(q,G,G,g,e)の値を入力として、セキュリティパラメータがλであり、N次元の空間Vとする双対ペアリングベクトル空間のパラメータparam:=(q,V,G,A,e)の値を出力するアルゴリズムとする。
 なお、ここでは、上述した対称双線形ペアリング群により、双対ペアリングベクトル空間を構成した場合について説明する。なお、非対称双線形ペアリング群により双対ペアリングベクトル空間を構成することも可能である。以下の説明を、非対称双線形ペアリング群により双対ペアリングベクトル空間を構成した場合に応用することは容易である。
 <第3.キーテクニック>
 属性情報と述語情報との両方を秘匿可能とするため、公開鍵と秘密鍵との間(あるいは、暗号文とトークンとの間)に、新しいトラップドア(以下に説明する変換鍵W)が採用される。
 まず、双対ペアリングベクトル空間におけるランダムな双対基底B,Bが生成される。そして、ランダムな行列である変換鍵Wを用いて、基底Bの部分基底B^を線形変換して、新しい基底D^(:=B^・W)が生成される。基底D^は、基底Bから一様かつ独立に分散している。そして、基底D^が公開鍵として出力され、基底Bの部分基底B^が秘密鍵として出力される。ここで、基底D^と基底B^とは、Wを考慮しなければ、互いに独立している。
 暗号者によって生成されるオリジナルの暗号文と、検索を行うためのトークンとは、これらの鍵ペアの独立性を継承する。
 暗号者とは別の仲介者によって、トラップドアW(変換鍵W)により、オリジナルの暗号文が、基底B,Bの双対正規直交性によりトークンと関連付けられた検索可能な暗号文に変換される。そして、トークンにより、変換された暗号文が検索される。
 <第4.内積述語暗号方式>
 ここでは、暗号文変換を伴う内積述語暗号(Inner Product Encryption with Ciphertext Conversion,IPE-CC)方式について説明する。
 IPE-CC方式では、内積述語の属性情報は、属性ベクトルx∈F \{0}で表される。また、述語情報(fv→)は、述語ベクトルvで表される。ここで、v・x=0の場合に限り、fv→(x)=1である。
 IPE-CC方式は、Setup、TokenGen、Enc、Conv、Queryの5つの確率的多項式時間アルゴリズムを備える。
 (Setup)
 Setupアルゴリズムでは、セキュリティパラメータ1λが入力され、公開鍵pkと変換鍵ckと秘密鍵sk(マスター秘密鍵)とが出力される。
 (TokenGen)
 TokenGenアルゴリズムでは、公開鍵pkと秘密鍵skと述語ベクトルvとが入力され、トークンtk(復号鍵)が出力される。
 (Enc)
 Encアルゴリズムでは、公開鍵pkと属性ベクトルxとが入力され、暗号文ctが出力される。
 (Conv)
Convアルゴリズムでは、公開鍵pkと変換鍵ckと暗号文ctとが入力され、変換された暗号文CTが出力される。
 (Query)
 Queryアルゴリズムでは、公開鍵pkとトークンtkと変換された暗号文CTとが入力され、属性ベクトルxに基づいて評価された、述語ベクトルvに関する述語fv→の値を示す0又は1が出力される。
 IPE-CC方式のアルゴリズムを実行する暗号システム10について説明する。
 図1は、実施の形態1に係る暗号システム10の構成図である。
 暗号システム10は、鍵生成装置100、暗号化装置200、変換装置300、復号装置400を備える。
 鍵生成装置100は、セキュリティパラメータλを入力としてSetupアルゴリズムを実行して、公開鍵pkと変換鍵ckと秘密鍵skとを生成する。そして、鍵生成装置100は、公開鍵pkを公開し、変換鍵ckを変換装置300へ秘密裡に送信する。また、鍵生成装置100は、公開鍵pkと秘密鍵skと述語ベクトルvとを入力としてTokenGenアルゴリズムを実行して、トークンtkを生成して復号装置400へ秘密裡に送信する。
 暗号化装置200は、公開鍵pkと属性ベクトルxとを入力としてEncアルゴリズムを実行して、暗号文ctを生成する。
 変換装置300は、公開鍵pkと変換鍵ckと暗号文ctとを入力としてConvアルゴリズムを実行して、暗号文CTを生成する。
 復号装置400は、公開鍵pkとトークンtkと暗号文CTとを入力としてQueryアルゴリズムを実行して、0又は1を出力する。
 図2は、実施の形態1に係る鍵生成装置100の機能を示す機能ブロック図である。図3は、実施の形態1に係る暗号化装置200の機能を示す機能ブロック図である。図4は、実施の形態1に係る変換装置300の機能を示す機能ブロック図である。図5は、実施の形態1に係る復号装置400の機能を示す機能ブロック図である。
 図6と図7とは、実施の形態1に係る鍵生成装置100の動作を示すフローチャートである。図6は実施の形態1に係るSetupアルゴリズムの処理を示すフローチャートであり、図7は実施の形態1に係るTokenGenアルゴリズムの処理を示すフローチャートである。図8は、実施の形態1に係る暗号化装置200の動作を示すフローチャートであり、実施の形態1に係るEncアルゴリズムの処理を示すフローチャートである。図9は、実施の形態1に係る変換装置300の動作を示すフローチャートであり、実施の形態1に係るConvアルゴリズムの処理を示すフローチャートである。図10は、実施の形態1に係る復号装置400の動作を示すフローチャートであり、実施の形態1に係るQueryアルゴリズムの処理を示すフローチャートである。
 鍵生成装置100の機能と動作とについて説明する。
 図2に示すように、鍵生成装置100は、マスター鍵生成部110、マスター鍵記憶部120、情報入力部130、トークン生成部140、トークン送信部150を備える。
 図6に基づき、Setupアルゴリズムの処理について説明する。
 (S101:正規直交基底生成ステップ)
 マスター鍵生成部110は、処理装置により、数117を計算して、パラメータparamと、基底B及び基底Bとを生成する。
Figure JPOXMLDOC01-appb-M000022
 つまり、マスター鍵生成部110は以下の(1)から(9)の処理を実行する。
 (1)マスター鍵生成部110は、入力装置により、セキュリティパラメータλを入力する。
 (2)マスター鍵生成部110は、処理装置により、Nにn+u+w+zを設定する。なお、nは、1以上の整数であり、u,w,zはそれぞれ0以上の整数である。
 (3)マスター鍵生成部110は、処理装置により、(1)で入力したセキュリティパラメータλを入力として、アルゴリズムGbpgを実行して、双線形ペアリング群のパラメータparamを生成する。そして、マスター鍵生成部110は、処理装置により、(1)で入力したセキュリティパラメータλと、(2)で設定したNと、パラメータparamとを入力としてアルゴリズムGdpvsを実行して、双対ペアリングベクトル空間のパラメータparamV’:=(q,V,G,A,e)の値を生成する。
 (4)マスター鍵生成部110は、処理装置により、乱数ψを生成する。
 (5)マスター鍵生成部110は、処理装置により、(2)で設定したNと、Fとを入力として、線形変換X:=(χi,j)をランダムに生成する。なお、GLは、General Linearの略である。つまり、GLは、一般線形群であり、行列式が0でない正方行列の集合であり、乗法に関し群である。
 (6)マスター鍵生成部110は、処理装置により、(4)で生成した乱数ψと、(5)で生成した線形変換Xとに基づき、(νi,j):=ψ・(X-1を生成する。
 (7)マスター鍵生成部110は、処理装置により、(5)で生成した線形変換Xに基づき、(3)で生成した標準基底Aから基底Bを生成する。
 (8)マスター鍵生成部110は、処理装置により、(6)で生成したνi,jに基づき、(3)で生成した標準基底Aから基底Bを生成する。
 (9)マスター鍵生成部110は、処理装置により、gにe(g,g)ψを設定する。また、マスター鍵生成部110は、paramに(4)で生成したparamV’と、gとを設定する。
 (S102:変換鍵生成ステップ)
 マスター鍵生成部110は、処理装置により、変換情報Wを数118に示すように生成する。マスター鍵生成部110は、変換情報Wを変換鍵ckとする。
Figure JPOXMLDOC01-appb-M000023
 (S103:公開鍵生成ステップ)
 マスター鍵生成部110は、処理装置により、S101で生成した基底Bを、数119に示すように変換鍵Wで変換して基底Dを生成する。そして、マスター鍵生成部110は、処理装置により、基底Dの部分基底D^を数119に示すように生成する。
Figure JPOXMLDOC01-appb-M000024
 マスター鍵生成部110は、部分基底D^と、S101で入力したセキュリティパラメータλと、S101で生成したparamとを合わせて、公開鍵pkとする。
 (S104:秘密鍵生成ステップ)
 マスター鍵生成部110は、処理装置により、S101で生成した基底Bの部分基底B^を数120に示すように生成する。
Figure JPOXMLDOC01-appb-M000025
 マスター鍵生成部110は、部分基底B^を秘密鍵skとする。
 (S105:鍵記憶ステップ)
 マスター鍵記憶部120は、S102で生成した変換鍵ckと、S103で生成した公開鍵pkと、S104で生成した秘密鍵skとを記憶装置に記憶する。
 つまり、S101からS104において、鍵生成装置100は、数121に示すSetupアルゴリズムを実行して、変換鍵ckと公開鍵pkと秘密鍵skとを生成する。そして、S105で、鍵生成装置100は、変換鍵ckと公開鍵pkと秘密鍵skとを記憶装置に記憶する。
 なお、公開鍵pkは、例えば、ネットワークを介して公開され、暗号化装置200と変換装置300と復号装置400とが取得可能な状態にされる。変換鍵ckは、例えば、通信装置によりネットワークを介して秘密裡に変換装置300へ送信する。
Figure JPOXMLDOC01-appb-M000026
 図7に基づき、TokenGenアルゴリズムの処理について説明する。
 (S201:情報入力ステップ)
 情報入力部130は、入力装置により、述語ベクトルvを入力する。述語ベクトルvは、例えば、トークンtkの使用者の属性情報や検索キーワード等が要素として設定されている。
 (S202:乱数生成ステップ)
 トークン生成部140は、処理装置により、乱数を数122に示すように生成する。
Figure JPOXMLDOC01-appb-M000027
 (S203:トークン要素生成ステップ)
 トークン生成部140は、処理装置により、トークンtkの要素kを数123に示すように生成する。
Figure JPOXMLDOC01-appb-M000028
 なお、数110に示す基底Bと基底Bとに対して、数111が定義される。したがって、数123は、基底Bの基底ベクトルb ,...,b の係数としてσv,...,σvが設定され、基底Bの基底ベクトルb n+1,...,b n+uの係数として0が設定され、基底Bの基底ベクトルb n+u+1,...,b n+u+wの係数としてη,...,ηが設定され、基底Bの基底ベクトルb n+u+w+1,...,b n+u+w+zの係数として0が設定されることを意味する。
 (S204:トークン送信ステップ)
 トークン送信部150は、S203で生成されたkを要素とするトークンtkを、例えば通信装置によりネットワークを介して秘密裡に復号装置400へ送信する。もちろん、トークンtkは、他の方法により復号装置400へ送信されてもよい。
 つまり、S201からS203において、鍵生成装置100は、数124に示すTokenGenアルゴリズムを実行して、トークンtkを生成する。そして、S204で、鍵生成装置100は、トークンtkを復号装置400へ送信する。
Figure JPOXMLDOC01-appb-M000029
 暗号化装置200の機能と動作とについて説明する。
 図3に示すように、暗号化装置200は、公開鍵取得部210、情報入力部220、暗号文生成部230、データ送信部240を備える。
 図8に基づき、Encアルゴリズムの処理について説明する。
 (S301:公開鍵取得ステップ)
 公開鍵取得部210は、例えば、通信装置によりネットワークを介して、鍵生成装置100が生成した公開鍵pkを取得する。
 (S302:情報入力ステップ)
 情報入力部220は、入力装置により、属性ベクトルx∈Fを入力する。属性ベクトルxは、例えば、検索可能なユーザの属性情報や検索用のタグが要素として設定されている。
 (S303:乱数生成ステップ)
 暗号文生成部230は、処理装置により、乱数を数125に示すように生成する。
Figure JPOXMLDOC01-appb-M000030
 (S304:暗号要素生成ステップ)
 暗号文生成部230は、処理装置により、暗号文ctの要素fを数126に示すように生成する。
Figure JPOXMLDOC01-appb-M000031
 (S305:データ送信ステップ)
 データ送信部240は、S304で生成された要素fを含む暗号文ctを、例えば通信装置によりネットワークを介して変換装置300へ送信する。もちろん、暗号文ctは、他の方法により変換装置300へ送信されてもよい。
 つまり、S301からS304において、暗号化装置200は、数127に示すEncアルゴリズムを実行して、暗号文ctを生成する。そして、S305で、暗号化装置200は、暗号文ctを変換装置300へ送信する。
Figure JPOXMLDOC01-appb-M000032
 変換装置300の機能と動作とについて説明する。
 図4に示すように、変換装置300は、変換鍵取得部310、暗号文取得部320、暗号文変換部330、データ送信部340を備える。
 図9に基づき、Convアルゴリズムの処理について説明する。
 (S401:変換鍵取得ステップ)
 変換鍵取得部310は、例えば、通信装置によりネットワークを介して、鍵生成装置100から送信された変換鍵ck:=Wを取得する。また、変換鍵取得部310は、鍵生成装置100が生成した公開鍵pkを取得する。
 (S402:暗号文取得ステップ)
 暗号文取得部320は、例えば、通信装置によりネットワークを介して、暗号化装置200が送信した暗号文ct:=fを受信する。
 (S403:乱数生成ステップ)
 暗号文変換部330は、処理装置により、乱数を数128に示すように生成する。
Figure JPOXMLDOC01-appb-M000033
 (S404:暗号文変換ステップ)
 暗号文変換部330は、処理装置により、暗号文ctを数129に示すように変換して、要素cを生成する。
Figure JPOXMLDOC01-appb-M000034
 (S405:データ送信ステップ)
 データ送信部340は、S404で生成された要素cを含む暗号文CTを、例えば通信装置によりネットワークを介して復号装置400へ送信する。もちろん、暗号文CTは、他の方法により復号装置400へ送信されてもよい。
 つまり、S401からS404において、変換装置300は、数130に示すConvアルゴリズムを実行して、暗号文CTを生成する。そして、S405で、変換装置300は生成した暗号文CTを復号装置400へ送信する。
Figure JPOXMLDOC01-appb-M000035
 復号装置400の機能と動作とについて説明する。
 図5に示すように、復号装置400は、トークン取得部410、暗号文取得部420、復号部430を備える。
 図10に基づき、Decアルゴリズムの処理について説明する。
 (S501:トークン取得ステップ)
 トークン取得部410は、例えば、通信装置によりネットワークを介して、鍵生成装置100から送信されたトークンtk:=kを取得する。また、トークン取得部410は、鍵生成装置100が生成した公開パラメータpkを取得する。
 (S502:暗号文取得ステップ)
 暗号文取得部420は、例えば、通信装置によりネットワークを介して、変換装置300が送信した暗号文CT:=cを受信する。
 (S503:復号ステップ)
 復号部430は、処理装置により、ペアリング演算e(c,k)を計算した結果が1であれば、復号できたことを示す1を出力し、結果が1でなければ、復号できなかったことを示す0を出力する。
 つまり、S501からS503において、復号装置400は、数131に示すQueryアルゴリズムを実行して、復号できたか否かを判定する。
Figure JPOXMLDOC01-appb-M000036
 なお、D・W-1:=(d-1,...,dn+u+w+z-1)は、B:=(b,...,bn+u+w+z)と等しい。そのため、c:=(ρf+y)W-1=(ωx,0,0,η・W-1=(ωx,0,0,ηD・W-1=(ωx,0,0,ηである。ここで、下付きのW-1はW-1を意味する。また、ω∈Fとη∈F とは、一様かつ独立に分散している。そのため、もし、v・x=0なら、e(c,k)=g ωσv→・x→=1である。
 従来のIPEでは、公開鍵pkを用いて自由に暗号文を生成できたため、多数の暗号文に対してQueryアルゴリズムを実行することによって、トークンtkに設定された述語ベクトルvの情報が漏洩する恐れがあった。
 実施の形態1に係るIPE-CC方式では、変換装置300が、変換鍵ckを用いて暗号文ctの基底を変換して暗号文CTを生成し、復号装置400が、変換された暗号文CTに対してQueryアルゴリズムを実行する。そのため、変換装置300の助けなく、多数の暗号文に対してQueryアルゴリズムを実行することができない。これにより、トークンtkに設定された述語ベクトルvの情報が漏洩することを防止できる。
 なお、上記説明では、基底D^とセキュリティパラメータλとparamとを合わせて、公開鍵pkとして公開するとした。
 しかし、基底D^とセキュリティパラメータλとparamとを公開鍵とせず、秘密鍵skと対をなす、もう1つの秘密鍵として、暗号化装置200へ秘密裡に送信するようにしてもよい。この場合、秘密鍵セッティングで、属性情報と述語情報との両方を秘匿可能な内積述語暗号とすることができる。
 また、上記説明では、u,w,zはそれぞれ0以上の整数であるとした。例えば、u=3n,w=n,z=nとしてもよい。
 また、上記説明では、暗号文ctがトークンtkに設定された条件を満たすか否かを判定する方法について説明した。これにより、暗号文ctを暗号化したままで検索可能な秘匿検索システムを構築することができる。
 しかし、非特許文献2等に記載されたように、暗号文ctにメッセージmを埋め込めば、暗号文ctに埋め込まれたメッセージmをトークンtkにより抽出する、狭義の暗号システムを構築することもできる。
 実施の形態2.
 実施の形態2では、正規直交基底B,Bを生成する際、疎行列を用いることによって、効率化されたIPE-CC方式について説明する。
 実施の形態2では、実施の形態1と同じ部分については説明を省略し、主に異なる部分について説明する。
 実施の形態2に係る鍵生成装置100、暗号化装置200、変換装置300、復号装置400の構成は、図2から図5に示す各装置の構成と同じである。
 また、実施の形態2に係るSetupアルゴリズム、TokenGenアルゴリズム、Encアルゴリズム、Convアルゴリズム、Queryアルゴリズムの流れは、図6から図10に示す各アルゴリズムの流れと同じである。
 実施の形態2で用いる疎行列と、疎行列を用いて構成される線形変換X及びその随伴行列ψ(X-1とについて説明する。
 N:=6nとし、H(n,F)を数132に示す通りであるとし、L(6,n,F)を数133に示す通りであるとする。
Figure JPOXMLDOC01-appb-M000037
Figure JPOXMLDOC01-appb-M000038
 L(6,n,F)は、GL(N,F)の部分集合である。
 線形変換X∈L(6,n,F)の隋伴行列ψ(X-1は、数134に示す疎形式で表される。
Figure JPOXMLDOC01-appb-M000039
 ここで、行列X,(X-1における空白の要素は定数値0∈Fであることを示す。定数値0とは、値が0に固定されていることを意味する。
 つまり、行列X∈L(6,n,F)は、72n個の非零要素{ui,j,u’i,j,2,...,u’i,j,n,u’’i,j,1,...,u’’i,j,n-1,u’’’i,ji,j=1,...,6で表され、隋伴行列ψ(X-1は、72n個の非零要素{vi,j,v’i,j,2,...,v’i,j,n,v’’i,j,1,...,v’’i,j,n-1,v’’’i,ji,j=1,...,6で表される。なお、非零要素は、0も取り得る一様乱数である。
 実施の形態2に係るIPE-CC方式について説明する。
 ここでは、入力される属性ベクトルx:=(x,...,x)と述語ベクトルv:=(v,...,v)とは、x≠0であり、v≠0であると仮定する。
 図6に基づき、Setupアルゴリズムの処理について説明する。
 (S101:正規直交基底生成ステップ)
 マスター鍵生成部110は、処理装置により、数135を計算して、パラメータparamと、基底B及び基底Bとを生成する。
Figure JPOXMLDOC01-appb-M000040
 つまり、マスター鍵生成部110は以下の(1)から(9)の処理を実行する。
 (1),(3),(4),(9)は実施の形態1と同じであるため、説明を省略する。
 (2)マスター鍵生成部110は、処理装置により、Nに6nを設定する。なお、nは、1以上の整数である。
 (5)マスター鍵生成部110は、処理装置により、(2)で設定したN:=6nのnと、Fとを入力として、線形変換X:=(χi,j)をランダムに生成する。
 (6)マスター鍵生成部110は、処理装置により、(4)で生成した乱数ψと、(5)で生成した線形変換Xとに基づき、(νi,j):=ψ・(X-1を生成する。
 なお、以下、{ui,j,u’i,j,2,...,u’i,j,n,u’’i,j,1,...,u’’i,j,n-1,u’’’i,ji,j=1,...,6は、線形変換Xにおける非零要素を示す。{vi,j,v’i,j,2,...,v’i,j,n,v’’i,j,1,...,v’’i,j,n-1,v’’’i,ji,j=1,...,6は、随伴行列ψ・(X-1における非零要素を示す。
 (7)マスター鍵生成部110は、処理装置により、(5)で生成した線形変換Xに基づき、基底Bを生成する。
 (8)マスター鍵生成部110は、処理装置により、(6)で生成した随伴行列ψ・(X-1に基づき、基底Bを生成する。
 ここで、数136であり、基底B:=(b,...,b6n),基底B:=(b ,...,b 6n)である。なお、行列における空白の要素は、定数値0∈Gである。そして、基底B,Bは、正規直交基底である。つまり、1≦i≠j≦6nに対して、e(b,b )=gであり、e(b,b )=1である。
Figure JPOXMLDOC01-appb-M000041
 (S102:変換鍵生成ステップ)
 マスター鍵生成部110は、処理装置により、変換情報Wを数137に示すように生成する。マスター鍵生成部110は、変換情報Wを変換鍵ckとする。
Figure JPOXMLDOC01-appb-M000042
 (S103:公開鍵生成ステップ)
 マスター鍵生成部110は、処理装置により、S101で生成した基底Bを、数138に示すように変換鍵Wで変換して基底D:=(d,...,d6n)を生成する。そして、マスター鍵生成部110は、処理装置により、基底Dの部分基底D^を数138に示すように生成する。ここで、基底Dは、数136に示す基底Bと同様に、{Di,j,D’i,j,2,...,D’i,j,n,D’’i,j,1,...,D’’i,j,n-1,D’’’i,ji,j=1,...,6で構成される。
Figure JPOXMLDOC01-appb-M000043
 マスター鍵生成部110は、生成した部分基底D^と、S101で入力したセキュリティパラメータλと、S101で生成したparamとを合わせて、公開鍵pkとする。
 (S104:秘密鍵生成ステップ)
 マスター鍵生成部110は、処理装置により、S101で生成した基底Bの部分基底B^を数139に示すように生成する。
Figure JPOXMLDOC01-appb-M000044
 マスター鍵生成部110は、生成した部分基底B^を秘密鍵skとする。
 (S105:鍵記憶ステップ)
 マスター鍵記憶部120は、S102で生成した変換鍵ckと、S103で生成した公開鍵pkと、S104で生成した秘密鍵skとを記憶装置に記憶する。
 つまり、S101からS104において、鍵生成装置100は、数140に示すSetupアルゴリズムを実行して、変換鍵ckと公開鍵pkと秘密鍵skとを生成する。ここで、GZIPE,SK obアルゴリズムは、数141に示す通りである。そして、S105で、鍵生成装置100は、生成した変換鍵ckと公開鍵pkと秘密鍵skとを記憶装置に記憶する。
Figure JPOXMLDOC01-appb-M000045
Figure JPOXMLDOC01-appb-M000046
 図7に基づき、TokenGenアルゴリズムの処理について説明する。
 S201は、実施の形態1と同じであるため、説明を省略する。
 (S202:乱数生成ステップ)
 トークン生成部140は、処理装置により、乱数を数142に示すように生成する。
Figure JPOXMLDOC01-appb-M000047
 (S203:トークン要素生成ステップ)
 トークン生成部140は、処理装置により、トークンtkの要素kを数143に示すように生成する。
Figure JPOXMLDOC01-appb-M000048
 (S204:トークン送信ステップ)
 トークン送信部150は、S203で生成されたkを要素とするトークンtkを、例えば通信装置によりネットワークを介して秘密裡に復号装置400へ送信する。もちろん、トークンtkは、他の方法により復号装置400へ送信されてもよい。
 つまり、S201からS203において、鍵生成装置100は、数144に示すTokenGenアルゴリズムを実行して、トークンtkを生成する。そして、S204で、鍵生成装置100は、生成したトークンtkを復号装置400へ送信する。
Figure JPOXMLDOC01-appb-M000049
 図8に基づき、Encアルゴリズムの処理について説明する。
 S301とS302とは、実施の形態1と同じであるため、説明を省略する。
 (S303:乱数生成ステップ)
 暗号文生成部230は、処理装置により、乱数を数145に示すように生成する。
Figure JPOXMLDOC01-appb-M000050
 (S304:暗号要素生成ステップ)
 暗号文生成部230は、処理装置により、暗号文ctの要素fを数146に示すように生成する。
Figure JPOXMLDOC01-appb-M000051
 (S305:データ送信ステップ)
 データ送信部240は、S304で生成された要素fを含む暗号文ctを、例えば通信装置によりネットワークを介して変換装置300へ送信する。もちろん、暗号文ctは、他の方法により変換装置300へ送信されてもよい。
 つまり、S301からS304において、暗号化装置200は、数147に示すEncアルゴリズムを実行して、暗号文ctを生成する。そして、S305で、暗号化装置200は生成した暗号文ctを変換装置300へ送信する。
Figure JPOXMLDOC01-appb-M000052
 Convアルゴリズムと、Queryアルゴリズムとは、実施の形態1と同じであるため、説明を省略する。但し、ConvアルゴリズムのS403において、乱数yは、数148のように生成される。
Figure JPOXMLDOC01-appb-M000053
 なお、Setupアルゴリズムの出力の一部である{Di,j,D’i,j,2,...,D’i,j,n,D’’i,j,1,...,D’’i,j,n-1,D’’’i,ji=1,6;i,j=1,...,6は、基底D^:=(d,...,d,d5n+1,...,d6n)によって識別される。基底D:=(d,...,d6n)は、{Di,j,D’i,j,2,...,D’i,j,n,D’’i,j,1,...,D’’i,j,n-1,D’’’i,ji,j=1,...,6によって識別される。
 {B i,j,B’ i,j,2,...,B’ i,j,n,B’’ i,j,1,...,B’’ i,j,n-1,B’’’ i,ji=1,5;i,j=1,...,6は、基底B^:=(B ,...,B ,B 4n+1,...,B 5n)によって識別される。基底B:=(d ,...,d 6n)は、{B i,j,B’ i,j,2,...,B’ i,j,n,B’’ i,j,1,...,B’’ i,j,n-1,B’’’ i,ji,j=1,...,6によって識別される。
 そして、Queryアルゴリズムにおけるcとkとは、それぞれ数149に示すように表せる。
Figure JPOXMLDOC01-appb-M000054
 以上のように、実施の形態2に係る暗号システム10では、正規直交基底B,Bを生成する際、疎行列を用いる。これにより、安全性を保ちつつ、公開パラメータやマスター秘密鍵のサイズを小さくするとともに、ユーザへ与える秘密鍵の生成の処理や暗号化の処理にかかる時間を短くすることが可能である。
 なお、上記説明では、数132に示す疎行列を用いて正規直交基底B,Bを生成するとした。しかし、正規直交基底B,Bを生成するのに用いる疎行列はこれに限らない。例えば、数132における複数のμをそれぞれ異なる値としてもよい。また、数132では、第n列における全ての成分を定数値0以外の乱数としたが、第n列ではなく、他のいずれか少なくとも1つの列における全ての成分を定数値0以外の乱数としてもよい。同様に、数132では、第1行における全ての成分を定数値0以外の乱数としたが、第1行ではなく、他のいずれか少なくとも1つの行における全ての成分を定数値0以外の乱数としてもよい。
 より一般的には、疎行列は、各行各列に少なくとも1つは定数値0以外の値を有する疎行列であればよい。さらに、疎行列は、n行n列の行列である場合、定数値0以外の値として、少なくともn個の異なる値を有しているとよい。さらに、疎行列は、少なくとも1つの列における全ての成分が定数値0以外の値であるとよい。さらに、疎行列は、少なくとも1つの行における全ての成分が定数値0以外の値であるとよい。さらに、疎行列は、対角成分と、少なくとも1つの列と、少なくとも1つの行とにおける全ての成分が定数値0以外の値であるとよい。さらに、疎行列は、全ての成分が定数値0以外の値である列を除き、対角成分の値が同一であるとよい。
 このような疎行列を用いた場合であっても、通常の行列を用いた場合に比べ、公開パラメータと秘密鍵とのサイズは小さくなる。また、ユーザ鍵の生成や暗号化の処理の処理時間も短くなる。
 但し、線形変換Xの形式によっては、ペアリング演算の数を減らすことができない場合もある。
 また、上記説明では、暗号文ctがトークンtkに設定された条件を満たすか否かを判定する方法について説明した。これにより、暗号文ctを暗号化したままで検索可能な秘匿検索システムを構築することができる。
 しかし、非特許文献2等に記載されたように、暗号文ctにメッセージmを埋め込めば、暗号文ctに埋め込まれたメッセージmをトークンtkにより抽出する、狭義の暗号システムを構築することもできる。
 実施の形態3.
 実施の形態3では、公開パラメータの再発行をすることなく、属性カテゴリの追加を可能としたIPE-CC方式について説明する。
 実施の形態3では、実施の形態1と同じ部分については説明を省略し、主に異なる部分について説明する。
 属性カテゴリとは、例えば、所属機関、所属部署、役職、年齢、性別等、各ユーザの属性の分類や、検索条件の属性の分類のことである。
 通常、アクセスコントロールや検索条件に使用する属性カテゴリは、システム設計時に予め決定される。しかし、後にシステムの運用が変更され、アクセスコントロールや検索条件に使用する属性カテゴリの追加が必要になる場合がある。
 例えば、A会社内のみで使用することを想定して暗号システムを構築したとする。この場合、アクセスコントロールに使用する属性カテゴリとしては、所属部署、役職、個人のID等が想定される。しかし、後に、A会社だけでなく、A会社の関連会社でも暗号システムを使用するように運用が変更されたとする。この場合、アクセスコントロールに使用する属性カテゴリとして、新たに所属会社を追加する必要がある。
 実施の形態1に係るIPE-CC方式では、属性カテゴリ毎に基底B及び基底Bの基底ベクトルが必要であり、属性カテゴリを追加する場合、次元の数を増やした新たな基底B及び基底Bを生成する必要がある。そして、基底Bは、公開パラメータに含まれているため、公開パラメータを再発行し、ユーザへ配布し直す必要がある。そのため、後に属性カテゴリを追加することは容易でなく、システム設計時に想定していなかった運用形態を柔軟に採用することができない。
 実施の形態3に係る鍵生成装置100、暗号化装置200、変換装置300、復号装置400の構成は、図2から図5に示す各装置の構成と同じである。
 また、実施の形態3に係るSetupアルゴリズム、Encアルゴリズム、Convアルゴリズム、Queryアルゴリズムの流れは、図6、図8から図10に示す各アルゴリズムの流れと同じである。
 図11は、実施の形態3に係るTokenGenアルゴリズムの処理を示すフローチャートである。
 図6に基づき、Setupアルゴリズムの処理について説明する。
 (S101:正規直交基底生成ステップ)
 マスター鍵生成部110は、処理装置により、数150を計算して、パラメータparamと、基底B及び基底Bとを生成する。
Figure JPOXMLDOC01-appb-M000055
 つまり、マスター鍵生成部110は以下の(1)から(10)の処理を実行する。
 (1)は実施の形態1と同じであるため、説明を省略する。
 (2)マスター鍵生成部110は、処理装置により、Nに1+u+w+zを設定し、Nに4+u+w+zを設定する。なお、u,w,z,u,w,zはそれぞれ0以上の整数である。
 (3)マスター鍵生成部110は、処理装置により、(1)で入力したセキュリティパラメータλを入力として、アルゴリズムGbpgを実行して、双線形ペアリング群のパラメータparamを生成する。
 (4)マスター鍵生成部110は、処理装置により、乱数ψを生成する。
 続いて、マスター鍵生成部110は、t=0,1の各tについて以下の(5)から(9)までの処理を実行する。
 (5)マスター鍵生成部110は、処理装置により、(1)で入力したセキュリティパラメータλと、(2)で設定したNと、(3)で生成したparam:=(q,G,G,g,e)の値とを入力としてアルゴリズムGdpvsを実行して、双対ペアリングベクトル空間のパラメータparamVt:=(q,V,G,A,e)の値を生成する。
 (6)マスター鍵生成部110は、処理装置により、(2)で設定したNと、Fとを入力として、線形変換X:=(χt,i,ji,jをランダムに生成する。なお、(χt,i,ji,jは、行列χt,i,jの添え字i,jに関する行列という意味であり、ここでは、i,j=1,...,Nである。
 (7)マスター鍵生成部110は、処理装置により、乱数ψと線形変換Xとに基づき、線形変換X :=(νt,i,ji,j:=ψ・(X -1を生成する。なお、(νt,i,ji,jも(χt,i,ji,jと同様に、行列νt,i,jの添え字i,jに関する行列という意味であり、ここでは、i,j=1,...,Nである。
 (8)マスター鍵生成部110は、処理装置により、(6)で生成した線形変換Xに基づき、(5)で生成した標準基底Aから基底Bを生成する。なお、x t,iとは、線形変換Xのi行目を示す。
 (9)マスター鍵生成部110は、処理装置により、(7)で生成した(νt,i,ji,jに基づき、(5)で生成した標準基底Aから基底B を生成する。なお、v t,iとは、線形変換X のi行目を示す。
 (10)マスター鍵生成部110は、処理装置により、gにe(g,g)ψを設定する。また、マスター鍵生成部110は、paramに(5)で生成した{paramVtt=0,1と、gとを設定する。
 なお、以下の説明では、簡単のため、基底B及び基底B を基底B及び基底Bとする。
 (S102:変換鍵生成ステップ)
 マスター鍵生成部110は、処理装置により、変換情報W,Wを数151に示すように生成する。マスター鍵生成部110は、変換情報W,Wを変換鍵ckとする。
Figure JPOXMLDOC01-appb-M000056
 (S103:公開鍵生成ステップ)
 マスター鍵生成部110は、処理装置により、S101で生成した基底B及び基底Bを、数152に示すように変換鍵W,Wで変換して基底D及び基底Dを生成する。そして、マスター鍵生成部110は、処理装置により、基底D及び基底Dの部分基底D^及び部分基底D^を数152に示すように生成する。
Figure JPOXMLDOC01-appb-M000057
 マスター鍵生成部110は、部分基底D^及び部分基底D^と、S101で入力したセキュリティパラメータλと、S101で生成したparamとを合わせて、公開鍵pkとする。
 (S104:秘密鍵生成ステップ)
 マスター鍵生成部110は、処理装置により、S101で生成した基底B 及び基底Bの部分基底B^ 及び部分基底B^を数153に示すように生成する。
Figure JPOXMLDOC01-appb-M000058
 マスター鍵生成部110は、生成した部分基底B^ 及び部分基底B^を秘密鍵skとする。
 (S105:鍵記憶ステップ)
 マスター鍵記憶部120は、S102で生成した変換鍵ckと、S103で生成した公開鍵pkと、S104で生成した秘密鍵skとを記憶装置に記憶する。
 つまり、S101からS104において、鍵生成装置100は、数154に示すSetupアルゴリズムを実行して、変換鍵ckと公開鍵pkと秘密鍵skとを生成する。ここで、GIPE obアルゴリズムは、数155に示す通りである。そして、S105で、鍵生成装置100は、生成した変換鍵ckと公開鍵pkと秘密鍵skとを記憶装置に記憶する。
Figure JPOXMLDOC01-appb-M000059
Figure JPOXMLDOC01-appb-M000060
 図11に基づき、TokenGenアルゴリズムの処理について説明する。
 (S601:情報入力ステップ)
 情報入力部130は、入力装置により、述語ベクトルv:={(t,v)|t∈Iv→}を入力する。つまり、述語ベクトルvは、集合Iv→に含まれるインデックスtについて、インデックスtと述語情報vとを要素として有するベクトルである。述語情報vとしては、例えば、トークンtkの使用者の属性情報や検索キーワード等が設定されている。
 (S602:秘密情報生成ステップ)
 トークン生成部140は、処理装置により、秘密情報s,sを数156に示すように生成する。
Figure JPOXMLDOC01-appb-M000061
 (S603:乱数生成ステップ)
 トークン生成部140は、処理装置により、乱数を数157に示すように生成する。
Figure JPOXMLDOC01-appb-M000062
 (S604:トークン要素生成ステップ)
 トークン生成部140は、処理装置により、トークンtkの要素k を数158に示すように生成する。
Figure JPOXMLDOC01-appb-M000063
 また、トークン生成部140は、処理装置により、集合Iv→に含まれるインデックスtについて、トークンtkの要素k を数159に示すように生成する。
Figure JPOXMLDOC01-appb-M000064
 (S605:トークン配布ステップ)
 トークン送信部150は、S604で生成されたk ,k とを要素とするトークンtkを、例えば通信装置によりネットワークを介して秘密裡に復号装置400へ配布する。もちろん、トークンtkは、他の方法により復号装置400へ配布されてもよい。
 つまり、S601からS604において、鍵生成装置100は、数160に示すTokenGenアルゴリズムを実行して、トークンtkを生成する。そして、S605で、鍵生成装置100は、生成したトークンtkを復号装置400へ配布する。
Figure JPOXMLDOC01-appb-M000065
 図8に基づき、Encアルゴリズムの処理について説明する。
 S301は、実施の形態1と同様であるため、説明を省略する。
 (S302:情報入力ステップ)
 情報入力部220は、入力装置により、属性ベクトルx:={(t,x)|t∈Ix→}を入力する。つまり、属性ベクトルxは、集合Ix→に含まれるインデックスtについて、インデックスtと属性情報xとを要素として有するベクトルである。属性ベクトルxは、例えば、検索可能なユーザの属性情報や検索用のタグが設定されている。
 (S303:乱数生成ステップ)
 暗号文生成部230は、処理装置により、乱数を数161に示すように生成する。
Figure JPOXMLDOC01-appb-M000066
 (S304:暗号要素生成ステップ)
 暗号文生成部230は、処理装置により、暗号文ctの要素fを数162に示すように生成する。
Figure JPOXMLDOC01-appb-M000067
 また、暗号文生成部230は、処理装置により、集合Ix→に含まれるインデックスtについて、暗号文ctの要素fを数163に示すように生成する。
Figure JPOXMLDOC01-appb-M000068
 (S305:データ送信ステップ)
 データ送信部240は、S304で生成されたf,fを要素とする暗号文ctを、例えば通信装置によりネットワークを介して変換装置300へ送信する。もちろん、暗号文ctは、他の方法により変換装置300へ送信されてもよい。
 つまり、S301からS304において、暗号化装置200は、数164に示すEncアルゴリズムを実行して、暗号文ctを生成する。そして、S305で、暗号化装置200は生成した暗号文ctを変換装置300へ送信する。
Figure JPOXMLDOC01-appb-M000069
 図9に基づき、Convアルゴリズムの処理について説明する。
 (S401:変換鍵取得ステップ)
 変換鍵取得部310は、例えば、通信装置によりネットワークを介して、鍵生成装置100から送信された変換鍵ck:=(W,W)を取得する。また、変換鍵取得部310は、鍵生成装置100が生成した公開鍵pkを取得する。
 (S402:暗号文取得ステップ)
 暗号文取得部320は、例えば、通信装置によりネットワークを介して、暗号化装置200が送信した暗号文ct:=(f,f)を受信する。
 (S403:乱数生成ステップ)
 暗号文変換部330は、処理装置により、乱数を数165に示すように生成する。
Figure JPOXMLDOC01-appb-M000070
 (S404:暗号文変換ステップ)
 暗号文変換部330は、処理装置により、暗号文ctを数166に示すように変換して、要素c及び要素cを生成する。
Figure JPOXMLDOC01-appb-M000071
 (S405:データ送信ステップ)
 データ送信部340は、S404で生成された要素c及び要素cを含む暗号文CTを、例えば通信装置によりネットワークを介して復号装置400へ送信する。もちろん、暗号文CTは、他の方法により復号装置400へ送信されてもよい。
 つまり、S401からS404において、変換装置300は、数167に示すConvアルゴリズムを実行して、暗号文CTを生成する。そして、S405で、変換装置300は生成した暗号文CTを復号装置400へ送信する。
Figure JPOXMLDOC01-appb-M000072
 図10に基づき、Queryアルゴリズムの処理について説明する。
 (S501:トークン取得ステップ)
 トークン取得部410は、例えば、通信装置によりネットワークを介して、鍵生成装置100から送信されたトークンtk:=(k ,k )を取得する。また、トークン取得部410は、鍵生成装置100が生成した公開パラメータpkを取得する。
 (S502:暗号文取得ステップ)
 暗号文取得部420は、例えば、通信装置によりネットワークを介して、変換装置300が送信した暗号文CT:=(c,c)を受信する。
 (S503:復号ステップ)
 復号部430は、処理装置により、集合Iv→が集合Ix→の部分集合であり、かつ、ペアリング演算e(c,k )・Πt∈Iv→e(c,k )を計算した結果が1であれば、復号できたことを示す1を出力し、結果が1でなければ、復号できなかったことを示す0を出力する。
 つまり、S501からS503において、復号装置400は、数168に示すQueryアルゴリズムを実行して、復号できたか否かを判定する。
Figure JPOXMLDOC01-appb-M000073
 以上のように、実施の形態3に係る内積述語暗号方式では、属性ベクトルx及び述語ベクトルvの次元が同じでなくても、集合Iv→が集合Ix→の部分集合であり、かつ、集合Iv→に含まれるインデックスtについて、vの合計が0となるなら、暗号文ctをトークンtkで復号することができる。
 また、実施の形態3に係る内積述語暗号方式では、復号鍵skの要素k について、基底ベクトルb ,b (基底ベクトルb index)の係数として、μtと-μとをそれぞれ設定した。また、暗号システム10は、暗号文ctの要素cについて、基底ベクトルb,b(基底ベクトルbindex)の係数として、σとσtとをそれぞれ設定した。
 そのため、対応するインデックスtについての要素k と要素cとのペアリング演算を行うと、基底ベクトルb ,b と基底ベクトルb,bとの部分については、内積が0となり、キャンセルされる。つまり、対応するインデックスtについての要素k と要素cとのペアリング演算を行うと、基底ベクトルの係数として設定したインデックス部(基底ベクトルb ,b と基底ベクトルb,bとの部分)はキャンセルされ、残りの部分についてのペアリング演算の結果が得られる。
 実施の形態3に係る内積述語暗号方式では、インデックス部を設けることにより、各属性カテゴリで使用する基底を共通の基底(基底B及び基底B)とすることができる。その結果、公開パラメータには、基底B及び基底Bだけを含めておけばよく、後に属性カテゴリを追加する場合に、公開パラメータを再発行する必要がない。
 なお、インデックス部については、内積した結果が0となればよい。そのため、上記説明では、基底ベクトルb ,b と基底ベクトルb,bとの2次元をインデックス部としが、これに限らず、3次元以上をインデックス部としてもよい。また、インデックス部への値の割り当ても上記説明のものに限らず、他の割り当てであってもよい。
 また、上記説明では、非特許文献4のType1に対応したIPE-CC方式であって、集合Iv→が集合Ix→の部分集合である場合に復号可能なIPE-CC方式について説明した。
 しかし、上述したアルゴリズムと同様の応用を行うことで、非特許文献4のType2に対応したIPE-CC方式(集合Ix→が集合Iv→の部分集合である場合に復号可能なIPE-CC方式)や、非特許文献4のType0(集合Iv→が集合Ix→の部分集合であり、かつ、集合Ix→が集合Iv→の部分集合である場合に復号可能なIPE-CC方式)に対応したIPE-CC方式を構成することも可能である。
 また、上記説明では、暗号文ctがトークンtkに設定された条件を満たすか否かを判定する方法について説明した。これにより、暗号文ctを暗号化したままで検索可能な秘匿検索システムを構築することができる。
 しかし、非特許文献2等に記載されたように、暗号文ctにメッセージmを埋め込めば、暗号文ctに埋め込まれたメッセージmをトークンtkにより抽出する、狭義の暗号システムを構築することもできる。
 実施の形態4.
 実施の形態4では、上記実施の形態で説明したIPE-CC方式に、非特許文献2の構成を適用して、権限委譲システムを有するIPE-CC方式を構成することについて簡単に説明する。
 ここでは、実施の形態1で説明したIPE-CC方式に権限委譲システムを持たせた例を示す。数169から数173は、実施の形態1で説明したIPE-CC方式に権限委譲システムを持たせた場合におけるSetupアルゴリズム、TokenGenアルゴリズム、Encアルゴリズム、Queryアルゴリズム、Delegateアルゴリズムを示す。なお、Convアルゴリズムは、実施の形態1と同じであるため、説明を省略する。
 ここでは、簡単のため、2階層の権限委譲システムを持たせたIPE-CC方式を示す。しかし、ここに示す方式を応用すれば、容易にd階層(dは3以上の整数)の権限委譲システムを持たせたIPE-CC方式とすることができる。
Figure JPOXMLDOC01-appb-M000074
Figure JPOXMLDOC01-appb-M000075
Figure JPOXMLDOC01-appb-M000076
Figure JPOXMLDOC01-appb-M000077
Figure JPOXMLDOC01-appb-M000078
 実施の形態5.
 実施の形態5では、上記実施の形態で説明した暗号システム10を医療情報DB(データベース)に適用した秘匿検索システム500について説明する。
 図12は、実施の形態5に係る秘匿検索システム500の構成図である。
 秘匿検索システム500は、PKG510、複数の病院520、補助者530、複数の製薬会社540、医療情報DB550を備える。
 PKGは、鍵生成装置100により、Setupアルゴリズムを実行して、公開鍵pk:=D^と秘密鍵sk:=B^と変換鍵ck:=Wとを生成する。
 各病院520は、暗号化装置200により、Encアルゴリズムを実行して、患者のDNA情報等を暗号化した暗号文ctを生成する。そして、各病院520は、生成した暗号文ctを医療情報DB550に登録する。
 補助者530は、変換装置300により、Convアルゴリズムを実行して、医療情報DB550に登録された暗号文ctを変換して、暗号文CTを生成する。補助者530は、生成した暗号文CTを医療情報DB550に登録する。
 各製薬会社540は、検索の実行者であり、自身の属性情報を設定した述語ベクトルvをPC(Personal Computer)等の端末からPKG510へ送信する。すると、PKG510は、鍵生成装置100により、TokenGenアルゴリズムを実行して、送信された述語ベクトルvに基づくトークンtkを生成する。そして、PKG510は、生成したトークンtkを述語ベクトルvの送信元の製薬会社540へ送信する。
 製薬会社540は、トークンtkを受信すると、受信したトークンtkに検索条件(ω)を設定したトークンtkv∧ωを端末から医療情報DB550へ送信して、トークンtkに基づく検索を依頼する。なお、トークンtkに検索条件(ω)を設定する方法としては、例えば、実施の形態4で説明した権限委譲を応用する方法がある。
 医療情報DB550は、検索の依頼を受けると、登録された各暗号文CTと、送信されたトークンtkとについて、復号装置400によりQueryアルゴリズムを実行して、依頼元の製薬会社540へ結果を送信する。送信する結果には、Queryアルゴリズムによって復号できた暗号文CTの識別子等を含めてもよい。
 図13は、図12とは異なる構成の秘匿検索システム500の構成図である。
 図13に示す秘匿検索システム500では、補助者530が製薬会社540と医療情報DB550との間に位置している点が、図12に示す秘匿検索システム500と異なる。
 図12に示す秘匿検索システム500では、補助者530は、暗号文CTを生成して医療情報DB550に登録しておき、医療情報DB550は、検索の依頼を受けると、Queryアルゴリズムを実行して、製薬会社540へ結果を送信した。
 図13に示す秘匿検索システム500では、補助者530は、検索の依頼を受けると、Convアルゴリズムを実行して、医療情報DB550に登録された各暗号文ctを変換して、暗号文CTを生成する。そして、補助者530は、生成した各暗号文CTと送信されたトークンtkとについて、復号装置400によりQueryアルゴリズムを実行して、依頼元の製薬会社540へ結果を送信する。
 なお、上記説明における病院520、製薬会社540は一例であり、その他の機関であってもよい。
 実施の形態6.
 以上の実施の形態では、双対ベクトル空間において暗号処理を実現する方法について説明した。実施の形態6では、双対加群において暗号処理を実現する方法について説明する。
 つまり、以上の実施の形態では、素数位数qの巡回群において暗号処理を実現した。しかし、合成数Mを用いて数174のように環Rを表した場合、環Rを係数とする加群においても、上記実施の形態で説明した暗号処理を適用することができる。
Figure JPOXMLDOC01-appb-M000079
 以上の実施の形態で説明したアルゴリズムにおけるFをRに変更すれば、双対加群における暗号処理を実現することができる。
 図14は、上記実施の形態に示した鍵生成装置100、暗号化装置200、変換装置300、復号装置400のハードウェア構成の例を示す図である。
 鍵生成装置100、暗号化装置200、変換装置300、復号装置400はコンピュータであり、鍵生成装置100、暗号化装置200、変換装置300、復号装置400の各要素をプログラムで実現することができる。
 鍵生成装置100、暗号化装置200、変換装置300、復号装置400のハードウェア構成としては、バスに、演算装置901、外部記憶装置902、主記憶装置903、通信装置904、入出力装置905が接続されている。
 演算装置901は、プログラムを実行するCPU(Central Processing Unit)等である。外部記憶装置902は、例えばROM(Read Only Memory)やフラッシュメモリ、ハードディスク装置等である。主記憶装置903は、RAM(Random Access Memory)等である。通信装置904は、ネットワークカード等である。入出力装置905は、例えばマウス、キーボード、ディスプレイ装置等である。
 プログラムは、通常は外部記憶装置902に記憶されており、主記憶装置903にロードされた状態で、順次演算装置901に読み込まれ、実行される。
 プログラムは、マスター鍵生成部110、マスター鍵記憶部120、情報入力部130、トークン生成部140、トークン送信部150、公開鍵取得部210、情報入力部220、暗号文生成部230、データ送信部240、変換鍵取得部310、暗号文取得部320、暗号文変換部330、データ送信部340、トークン取得部410、暗号文取得部420、復号部430として説明している機能を実現するプログラムである。
 更に、外部記憶装置902にはオペレーティングシステム(OS)も記憶されており、OSの少なくとも一部が主記憶装置903にロードされ、演算装置901はOSを実行しながら、上記プログラムを実行する。
 また、実施の形態1~6の説明において、「~の計算」、「~の受信」、「~の送信」等として説明している処理の結果を示す情報やデータや信号値や変数値が主記憶装置903にファイルとして記憶されている。
 なお、図14の構成は、あくまでも鍵生成装置100、暗号化装置200、変換装置300、復号装置400のハードウェア構成の一例を示すものであり、鍵生成装置100、暗号化装置200、変換装置300、復号装置400のハードウェア構成は図14に記載の構成に限らず、他の構成であってもよい。
 10 暗号システム、100 鍵生成装置、110 マスター鍵生成部、120 マスター鍵記憶部、130 情報入力部、140 トークン生成部、150 トークン送信部、200 暗号化装置、210 公開鍵取得部、220 情報入力部、230 暗号文生成部、240 データ送信部、300 変換装置、310 変換鍵取得部、320 暗号文取得部、330 暗号文変換部、340 データ送信部、400 復号装置、410 トークン取得部、420 暗号文取得部、430 復号部、901 演算装置、902 外部記憶装置、903 主記憶装置、904 通信装置、905 入出力装置。

Claims (12)

  1.  基底Dの基底ベクトルの係数として属性情報xを設定した暗号文ctを生成する暗号化装置と、
     前記暗号化装置が生成した暗号文ctの基底Dを変換情報Wにより基底Bに変換して暗号文CTを生成する変換装置と、
     前記基底Bに対応する基底Bの基底ベクトルの係数として述語情報vを設定したトークンtkによって、前記変換装置が生成した暗号文CTを復号する復号装置と
    を備えることを特徴とする暗号システム。
  2.  前記復号装置は、前記暗号文CTと前記トークンtkとについて、ペアリング演算を行うことによって、前記属性情報xと前記述語情報vとの内積を計算して、前記暗号文CTを復号する
    ことを特徴とする請求項1に記載の暗号システム。
  3.  前記暗号化装置は、数1に示す要素fを含む暗号文ctを生成し、
     前記変換装置は、数2に示す要素cを含む暗号文CTを生成し、
     前記復号装置は、数3に示すペアリング演算を行い、前記暗号文CTを復号する
    ことを特徴とする請求項2に記載の暗号システム。
    Figure JPOXMLDOC01-appb-M000001
    Figure JPOXMLDOC01-appb-M000002
    Figure JPOXMLDOC01-appb-M000003
  4.  前記暗号システムは、前記基底Dの少なくとも一部の基底ベクトルが公開鍵として公開された公開鍵セッティングの暗号方式を実現する
    ことを特徴とする請求項1から3までのいずれかに記載の暗号システム。
  5.  前記暗号システムは、前記基底Dの少なくとも一部の基底ベクトルが秘密鍵として前記暗号化装置へ配布された秘密鍵セッティングの暗号方式を実現する
    ことを特徴とする請求項1から3までのいずれかに記載の暗号システム。
  6.  前記基底Bと前記基底Bとは、双対ペアリングベクトル空間における正規直交基底である
    ことを特徴とする請求項1から5までのいずれかに記載の暗号システム。
  7.  前記基底Bと前記基底Bとは、各行各列に少なくとも1つは定数値0以外の値を有する疎行列を用いて所定の基底Aを変形して生成された基底である
    ことを特徴とする請求項1から6までのいずれかに記載の暗号システム。
  8.  前記基底Bと前記基底Bとは、1行1列からn行n列までの値が数4に示す疎行列であるN行N列(Nはn以上の整数)の線形変換Xを用いて、数5に示すように前記基底Aから生成された基底である
    ことを特徴とする請求項7に記載の暗号システム。
    Figure JPOXMLDOC01-appb-M000004
    Figure JPOXMLDOC01-appb-M000005
  9.  前記暗号化装置は、集合Iに含まれる各インデックスtについて、前記基底Dの基底ベクトルdindexの係数として、インデックスtに予め割り当てられた情報Jが設定され、前記基底Dの他の基底ベクトルの係数として前記属性情報xのうちの属性情報xが設定された要素cを含む前記暗号文ctを生成し、
     前記復号装置は、集合Iに含まれる各インデックスtについて、基底ベクトルdindexに対応する前記基底Bの基底ベクトルb indexの係数として、前記情報Jとの内積が0になる情報J が設定され、前記基底Bの他の基底ベクトルの係数として前記述語情報vのうちの述語情報vが設定された要素kを含む前記トークンtkによって、前記暗号文CTを復号する
    ことを特徴とする請求項1から8までのいずれかに記載の暗号システム。
  10.  前記暗号化装置は、前記属性情報xとして遺伝子情報を設定した暗号文ctを生成し、
     前記復号装置は、前記暗号文CTを前記トークンtkによって復号することによって、前記トークンtkに設定された条件を満たす遺伝子情報を有する暗号文CTを検索する
    ことを特徴とする請求項1から9までのいずれかに記載の暗号システム。
  11.  暗号化装置が、基底Dの基底ベクトルの係数として属性情報xを設定した暗号文ctを生成する暗号化工程と、
     変換装置が、前記暗号化工程で生成した暗号文ctの基底Dを変換情報Wにより基底Bに変換して暗号文CTを生成する変換工程と、
     復号装置が、前記基底Bに対応する基底Bの基底ベクトルの係数として述語情報vを設定したトークンtkによって、前記変換工程で生成した暗号文CTを復号する復号工程と
    を備えることを特徴とする暗号方法。
  12.  基底Dの基底ベクトルの係数として属性情報xを設定した暗号文ctを生成する暗号化処理と、
     前記暗号化処理で生成した暗号文ctの基底Dを変換情報Wにより基底Bに変換して暗号文CTを生成する変換処理と、
     前記基底Bに対応する基底Bの基底ベクトルの係数として述語情報vを設定したトークンtkによって、前記変換処理で生成した暗号文CTを復号する復号処理と
    をコンピュータに実行させることを特徴とする暗号プログラム。
PCT/JP2013/063538 2013-05-15 2013-05-15 暗号システム、暗号方法及び暗号プログラム WO2014184894A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201380076638.7A CN105210133B (zh) 2013-05-15 2013-05-15 加密系统和加密方法
JP2015516812A JP5951122B2 (ja) 2013-05-15 2013-05-15 暗号システム、暗号方法及び暗号プログラム
US14/787,317 US9755823B2 (en) 2013-05-15 2013-05-15 Cryptographic system, cryptographic method, and computer readable medium
EP13884915.3A EP2998948B1 (en) 2013-05-15 2013-05-15 Encryption system, encryption method, and encryption program
PCT/JP2013/063538 WO2014184894A1 (ja) 2013-05-15 2013-05-15 暗号システム、暗号方法及び暗号プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/063538 WO2014184894A1 (ja) 2013-05-15 2013-05-15 暗号システム、暗号方法及び暗号プログラム

Publications (1)

Publication Number Publication Date
WO2014184894A1 true WO2014184894A1 (ja) 2014-11-20

Family

ID=51897910

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/063538 WO2014184894A1 (ja) 2013-05-15 2013-05-15 暗号システム、暗号方法及び暗号プログラム

Country Status (5)

Country Link
US (1) US9755823B2 (ja)
EP (1) EP2998948B1 (ja)
JP (1) JP5951122B2 (ja)
CN (1) CN105210133B (ja)
WO (1) WO2014184894A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016114901A (ja) * 2014-12-18 2016-06-23 日本電信電話株式会社 ブラインド秘密鍵発行システム、ブラインドデータ検索システム、これらの方法、鍵生成サーバ、復号装置及びプログラム
WO2018131129A1 (ja) * 2017-01-12 2018-07-19 三菱電機株式会社 暗号化タグ生成装置、検索クエリ生成装置及び秘匿検索システム
JP2019117232A (ja) * 2017-12-26 2019-07-18 日本電信電話株式会社 暗号化装置、復号装置、暗号化方法、復号方法、プログラム
US10807579B2 (en) * 2018-01-19 2020-10-20 Goodrich Corporation System for maintaining near-peak friction of a braking wheel
US11588621B2 (en) * 2019-12-06 2023-02-21 International Business Machines Corporation Efficient private vertical federated learning

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015166216A1 (en) * 2014-05-02 2015-11-05 Barclays Bank Plc Transaction authentication
CN106471766B (zh) * 2014-03-31 2019-08-06 爱迪德技术有限公司 密码芯片和相关方法
EP3731107B1 (en) * 2018-01-17 2021-10-27 Mitsubishi Electric Corporation Data management device, search device, registration device, data management method, and data management program
JP6452910B1 (ja) * 2018-01-17 2019-01-16 三菱電機株式会社 秘匿分析装置、秘匿分析システム、秘匿分析方法及び秘匿分析プログラム
DE112018007468T5 (de) * 2018-05-15 2021-01-21 Mitsubishi Electric Corporation Geheime-Suche-Einrichtung und Geheime-Suche-Verfahren
CN112733111B (zh) * 2020-12-31 2023-05-23 暨南大学 一种基于片段分割的阈值谓词加密生物特征认证方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0823331A (ja) * 1994-07-07 1996-01-23 Murata Mach Ltd 暗号化通信方法及び装置
JP3917507B2 (ja) * 2002-01-28 2007-05-23 株式会社東芝 コンテンツ提供側システム、ユーザ側システム、追跡システム、コンテンツ提供方法、暗号化コンテンツ復号方法、不正ユーザ特定方法、暗号化装置、復号装置及びプログラム
US7634085B1 (en) 2005-03-25 2009-12-15 Voltage Security, Inc. Identity-based-encryption system with partial attribute matching
US20090080658A1 (en) 2007-07-13 2009-03-26 Brent Waters Method and apparatus for encrypting data for fine-grained access control
CN101188496B (zh) * 2007-12-10 2010-09-29 中兴通讯股份有限公司 一种短信加密传输方法
WO2011047085A2 (en) * 2009-10-13 2011-04-21 Certimix, Inc. Method and apparatus for efficient and secure creating transferring, and revealing of messages over a network
JP5814880B2 (ja) * 2012-07-31 2015-11-17 三菱電機株式会社 暗号システム、暗号方法、暗号プログラム及び復号装置
JP5905128B2 (ja) 2013-01-16 2016-04-20 三菱電機株式会社 暗号システム、再暗号化装置及び暗号方法

Non-Patent Citations (10)

* Cited by examiner, † Cited by third party
Title
ALLISON B. LEWKO; TATSUAKI OKAMOTO; AMIT SAHAI; KATSUYUKI TAKASHIMA; BRENT WATERS: "EUROCRYPT 2010, volume 6110 of LNCS", vol. 6110, 2010, SPRINGER, article "Fully secure functional encryption: Attribute-based encryption and (hierarchical) inner product encryption", pages: 62.91
EMILY SHEN; ELAINE SHI; BRENT WATERS: "Predicate privacy in encryption systems", vol. 5444, 2009, SPRINGER, pages: 457 - 473
KATSUYUKI TAKASHIMA ET AL.: "Functional Encryption : the Latest Technology for Controlling Access Privilege", NIKKEI ELECTRONICS, vol. 1087, 23 July 2012 (2012-07-23), pages 87 - 95, XP008180973 *
NORI MATSUDA ET AL.: "Kansugata Ango ni Okeru IC Card-jo no Fukugo Enzan no Koritsuka ni Kansuru Kosatsu", 2013 NEN SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY GAIYOSHU CD-ROM, 22 January 2013 (2013-01-22), pages 3F3 - 5 *
OKAMOTO, T.; TAKASHIMA, K.: "CANS 2011, LNCS", vol. 7092, 2011, SPRINGER HEIDELBERG, article "Achieving Short Ciphertexts or Short Secret-Keys for Adaptively Secure General Inner-Product Encryption", pages: 138 - 159
OKAMOTO, T; TAKASHIMA, K., FULLY SECURE UNBOUNDED INNER-PRODUCT AND ATTRIBUTE-BASED ENCRYPTION, Retrieved from the Internet <URL:eprint.iacr.org/2012/671>
SACHIHIRO ICHIKAWA ET AL.: "Shikko o Koryo shita Kansugata Ango System", 2012 DAI 29 KAI SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY YOKOSHU (CD-ROM), 30 January 2012 (2012-01-30), pages 3D1 - 3, XP008180847 *
See also references of EP2998948A4
TATSUAKI OKAMOTO ET AL.: "Adaptively Attribute- Hiding (Hierarchical) Inner Product Encryption", 3 October 2011 (2011-10-03), XP047328725, Retrieved from the Internet <URL:https:// eprint.iacr.org/2011/543> [retrieved on 20130612] *
YUTAKA KAWAI ET AL.: "Fully-Anonymous Functional Proxy-Re-Encryption", 2 June 2013 (2013-06-02), XP061008268, Retrieved from the Internet <URL:https://eprint.iacr.org/2013/318> [retrieved on 20130612] *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016114901A (ja) * 2014-12-18 2016-06-23 日本電信電話株式会社 ブラインド秘密鍵発行システム、ブラインドデータ検索システム、これらの方法、鍵生成サーバ、復号装置及びプログラム
WO2018131129A1 (ja) * 2017-01-12 2018-07-19 三菱電機株式会社 暗号化タグ生成装置、検索クエリ生成装置及び秘匿検索システム
JP6494893B2 (ja) * 2017-01-12 2019-04-03 三菱電機株式会社 暗号化タグ生成装置、検索クエリ生成装置及び秘匿検索システム
JPWO2018131129A1 (ja) * 2017-01-12 2019-06-27 三菱電機株式会社 暗号化タグ生成装置、検索クエリ生成装置及び秘匿検索システム
JP2019117232A (ja) * 2017-12-26 2019-07-18 日本電信電話株式会社 暗号化装置、復号装置、暗号化方法、復号方法、プログラム
US10807579B2 (en) * 2018-01-19 2020-10-20 Goodrich Corporation System for maintaining near-peak friction of a braking wheel
US11588621B2 (en) * 2019-12-06 2023-02-21 International Business Machines Corporation Efficient private vertical federated learning

Also Published As

Publication number Publication date
US9755823B2 (en) 2017-09-05
JP5951122B2 (ja) 2016-07-13
CN105210133A (zh) 2015-12-30
EP2998948A1 (en) 2016-03-23
EP2998948A4 (en) 2017-01-11
CN105210133B (zh) 2018-07-17
US20160072625A1 (en) 2016-03-10
EP2998948B1 (en) 2020-11-04
JPWO2014184894A1 (ja) 2017-02-23

Similar Documents

Publication Publication Date Title
JP5951122B2 (ja) 暗号システム、暗号方法及び暗号プログラム
EP2947810B1 (en) Encryption system, re-encryption key generation device, re-encryption device, encryption method and encryption program
EP2424154B1 (en) Encryption processing system
EP3096487B1 (en) Crypt-system, re-encryption key generation apparatus, re-encryption apparatus, and crypt-program
JP5562475B2 (ja) 秘密分散システム、分散装置、分散管理装置、取得装置、それらの処理方法、秘密分散方法、プログラム
JP5680007B2 (ja) 暗号システム、暗号方法及び暗号プログラム
JP5769401B2 (ja) 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及びプログラム
WO2012132136A1 (ja) 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
JP5814880B2 (ja) 暗号システム、暗号方法、暗号プログラム及び復号装置
JP5334873B2 (ja) 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
JP5921410B2 (ja) 暗号システム
EP3057262B1 (en) Cipher system, encryption device, re-encryption key generation device, re-encryption device, and cipher program
JP6053983B2 (ja) 暗号システム、署名システム、暗号プログラム及び署名プログラム
JP6266130B2 (ja) 暗号システム、マスター鍵更新装置及びマスター鍵更新プログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13884915

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2015516812

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14787317

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2013884915

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE