JPWO2014184894A1 - 暗号システム、暗号方法及び暗号プログラム - Google Patents
暗号システム、暗号方法及び暗号プログラム Download PDFInfo
- Publication number
- JPWO2014184894A1 JPWO2014184894A1 JP2015516812A JP2015516812A JPWO2014184894A1 JP WO2014184894 A1 JPWO2014184894 A1 JP WO2014184894A1 JP 2015516812 A JP2015516812 A JP 2015516812A JP 2015516812 A JP2015516812 A JP 2015516812A JP WO2014184894 A1 JPWO2014184894 A1 JP WO2014184894A1
- Authority
- JP
- Japan
- Prior art keywords
- ciphertext
- basis
- encryption
- base
- information
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 61
- 238000006243 chemical reaction Methods 0.000 claims abstract description 112
- 239000013598 vector Substances 0.000 claims abstract description 81
- 239000011159 matrix material Substances 0.000 claims description 33
- 230000009466 transformation Effects 0.000 claims description 19
- 230000009977 dual effect Effects 0.000 claims description 18
- 230000002068 genetic effect Effects 0.000 claims 1
- 108090000623 proteins and genes Proteins 0.000 claims 1
- 230000001131 transforming effect Effects 0.000 claims 1
- 238000012545 processing Methods 0.000 description 78
- 230000005540 biological transmission Effects 0.000 description 26
- 238000004891 communication Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 12
- 125000004122 cyclic group Chemical group 0.000 description 4
- 238000013461 design Methods 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- UREZNYTWGJKWBI-UHFFFAOYSA-M benzethonium chloride Chemical compound [Cl-].C1=CC(C(C)(C)CC(C)(C)C)=CC=C1OCCOCC[N+](C)(C)CC1=CC=CC=C1 UREZNYTWGJKWBI-UHFFFAOYSA-M 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 238000009509 drug development Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/088—Usage 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/42—Anonymization, e.g. involving pseudonyms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/76—Proxy, i.e. using intermediary entity to perform cryptographic operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public 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/3073—Public 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
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
Description
この発明は、公開鍵セッティングでも、暗号文に設定された属性情報と、復号鍵に設定された述語情報とを共に秘匿可能な述語暗号を提供することを目的とする。
基底Dの基底ベクトルの係数として属性情報xを設定した暗号文ctxを生成する暗号化装置と、
前記暗号化装置が生成した暗号文ctxの基底Dを変換情報Wにより基底Bに変換して暗号文CTxを生成する変換装置と、
前記基底Bに対応する基底B*の基底ベクトルの係数として述語情報vを設定したトークンtkvによって、前記変換装置が生成した暗号文CTxを復号する復号装置と
を備えることを特徴とする。
Aがランダムな変数または分布であるとき、数101は、Aの分布に従いAからyをランダムに選択することを表す。つまり、数101において、yは乱数である。
数110に示す基底Bと基底B*とに対して、数111が定義される。
ベクトルを意味する“→”が下付き文字又は上付き文字に付されている場合、この“→”は下付き文字又は上付き文字に上付きで付されていることを意味する。
内積述語暗号方式の基礎となる概念を説明した上で、公開鍵セッティングでも、暗号文に設定された属性情報と、復号鍵に設定された述語情報とを共に秘匿可能な内積述語暗号方式について説明する。
第1に、暗号文に設定された属性情報と、復号鍵に設定された述語情報とを共に秘匿することの背景を説明する。
第2に、内積述語暗号方式を実現するための空間である「双対ペアリングベクトル空間(Dual Pairing Vector Spaces(DPVS))」という豊かな数学的構造を有する空間を説明する。
第3に、実施の形態1に係る内積述語暗号方式を構成するためのキーテクニックを説明する。
第4に、実施の形態1に係る内積述語暗号方式について説明する。
病院等が患者のDNA情報をデータベースに蓄積しておき、製薬会社等が検索クエリを用いて前記データベースを検索し、ある病気を持つ患者のDNA情報に特定の規則性があるかを調査すること等が行われている。
患者のDNA情報は、プライバシー情報である。検索クエリは、製薬会社等にとって、医薬品の開発戦略上、秘密にされるものである。
しかし、従来の公開鍵セッティングでは、患者のDNA情報は秘匿できても、検索条件は秘匿できない恐れがあった。公開鍵セッティングでは、公開鍵に基づき暗号文を自由に生成できるため、生成した暗号文に対して検索クエリを実行して、検索クエリに設定された検索条件を推定される可能性があるためである。
しかし、秘密鍵セッティングでは、暗号文の作成に秘密鍵が必要となり、実運用においては大変不便である。そのため、公開鍵セッティングで、患者のDNA情報と検索条件との両方を秘匿可能な方式が望まれていた。
以下に説明する内積述語暗号方式は、双対ペアリングベクトル空間において実現される。
対称双線形ペアリング群(q,G,GT,g,e)は、素数qと、位数qの巡回加法群Gと、位数qの巡回乗法群GTと、g≠0∈Gと、多項式時間で計算可能な非退化双線形ペアリングe:G×G→GTとの組である。非退化双線形ペアリングは、e(sg,tg)=e(g,g)stであり、e(g,g)≠1である。
以下の説明において、Gbpgを、1λを入力として、セキュリティパラメータをλとする双線形ペアリング群のパラメータparamG:=(q,G,GT,g,e)の値を出力するアルゴリズムとする。
双対ペアリングベクトル空間(q,V,GT,A,e)は、対称双線形ペアリング群(paramG:=(q,G,GT,g,e))の直積によって構成することができる。双対ペアリングベクトル空間(q,V,GT,A,e)は、素数q、数112に示すFq上のN次元ベクトル空間V、位数qの巡回群GT、空間Vの標準基底A:=(a1,...,aN)の組であり、以下の演算(1)(2)を有する。ここで、aiは、数113に示す通りである。
空間Vにおけるペアリングは、数114によって定義される。
属性情報と述語情報との両方を秘匿可能とするため、公開鍵と秘密鍵との間(あるいは、暗号文とトークンとの間)に、新しいトラップドア(以下に説明する変換鍵W)が採用される。
暗号者とは別の仲介者によって、トラップドアW(変換鍵W)により、オリジナルの暗号文が、基底B,B*の双対正規直交性によりトークンと関連付けられた検索可能な暗号文に変換される。そして、トークンにより、変換された暗号文が検索される。
ここでは、暗号文変換を伴う内積述語暗号(Inner Product Encryption with Ciphertext Conversion,IPE−CC)方式について説明する。
IPE−CC方式では、内積述語の属性情報は、属性ベクトルx→∈Fq n\{0→}で表される。また、述語情報(fv→)は、述語ベクトルv→で表される。ここで、v→・x→=0の場合に限り、fv→(x→)=1である。
(Setup)
Setupアルゴリズムでは、セキュリティパラメータ1λが入力され、公開鍵pkと変換鍵ckと秘密鍵sk(マスター秘密鍵)とが出力される。
(TokenGen)
TokenGenアルゴリズムでは、公開鍵pkと秘密鍵skと述語ベクトルv→とが入力され、トークンtkv(復号鍵)が出力される。
(Enc)
Encアルゴリズムでは、公開鍵pkと属性ベクトルx→とが入力され、暗号文ctxが出力される。
(Conv)
Convアルゴリズムでは、公開鍵pkと変換鍵ckと暗号文ctxとが入力され、変換された暗号文CTxが出力される。
(Query)
Queryアルゴリズムでは、公開鍵pkとトークンtkvと変換された暗号文CTxとが入力され、属性ベクトルx→に基づいて評価された、述語ベクトルv→に関する述語fv→の値を示す0又は1が出力される。
図1は、実施の形態1に係る暗号システム10の構成図である。
暗号システム10は、鍵生成装置100、暗号化装置200、変換装置300、復号装置400を備える。
鍵生成装置100は、セキュリティパラメータλを入力としてSetupアルゴリズムを実行して、公開鍵pkと変換鍵ckと秘密鍵skとを生成する。そして、鍵生成装置100は、公開鍵pkを公開し、変換鍵ckを変換装置300へ秘密裡に送信する。また、鍵生成装置100は、公開鍵pkと秘密鍵skと述語ベクトルv→とを入力としてTokenGenアルゴリズムを実行して、トークンtkvを生成して復号装置400へ秘密裡に送信する。
暗号化装置200は、公開鍵pkと属性ベクトルx→とを入力としてEncアルゴリズムを実行して、暗号文ctxを生成する。
変換装置300は、公開鍵pkと変換鍵ckと暗号文ctxとを入力としてConvアルゴリズムを実行して、暗号文CTxを生成する。
復号装置400は、公開鍵pkとトークンtkvと暗号文CTxとを入力としてQueryアルゴリズムを実行して、0又は1を出力する。
図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アルゴリズムの処理を示すフローチャートである。
図2に示すように、鍵生成装置100は、マスター鍵生成部110、マスター鍵記憶部120、情報入力部130、トークン生成部140、トークン送信部150を備える。
(S101:正規直交基底生成ステップ)
マスター鍵生成部110は、処理装置により、数117を計算して、パラメータparamVと、基底B及び基底B*とを生成する。
(1)マスター鍵生成部110は、入力装置により、セキュリティパラメータλを入力する。
マスター鍵生成部110は、処理装置により、S101で生成した基底Bを、数119に示すように変換鍵Wで変換して基底Dを生成する。そして、マスター鍵生成部110は、処理装置により、基底Dの部分基底D^を数119に示すように生成する。
マスター鍵生成部110は、処理装置により、S101で生成した基底B*の部分基底B^*を数120に示すように生成する。
マスター鍵記憶部120は、S102で生成した変換鍵ckと、S103で生成した公開鍵pkと、S104で生成した秘密鍵skとを記憶装置に記憶する。
なお、公開鍵pkは、例えば、ネットワークを介して公開され、暗号化装置200と変換装置300と復号装置400とが取得可能な状態にされる。変換鍵ckは、例えば、通信装置によりネットワークを介して秘密裡に変換装置300へ送信する。
(S201:情報入力ステップ)
情報入力部130は、入力装置により、述語ベクトルv→を入力する。述語ベクトルv→は、例えば、トークンtkvの使用者の属性情報や検索キーワード等が要素として設定されている。
トークン生成部140は、処理装置により、トークンtkvの要素k*を数123に示すように生成する。
トークン送信部150は、S203で生成されたk*を要素とするトークンtkvを、例えば通信装置によりネットワークを介して秘密裡に復号装置400へ送信する。もちろん、トークンtkvは、他の方法により復号装置400へ送信されてもよい。
図3に示すように、暗号化装置200は、公開鍵取得部210、情報入力部220、暗号文生成部230、データ送信部240を備える。
(S301:公開鍵取得ステップ)
公開鍵取得部210は、例えば、通信装置によりネットワークを介して、鍵生成装置100が生成した公開鍵pkを取得する。
情報入力部220は、入力装置により、属性ベクトルx→∈Fqを入力する。属性ベクトルx→は、例えば、検索可能なユーザの属性情報や検索用のタグが要素として設定されている。
データ送信部240は、S304で生成された要素fを含む暗号文ctxを、例えば通信装置によりネットワークを介して変換装置300へ送信する。もちろん、暗号文ctxは、他の方法により変換装置300へ送信されてもよい。
図4に示すように、変換装置300は、変換鍵取得部310、暗号文取得部320、暗号文変換部330、データ送信部340を備える。
(S401:変換鍵取得ステップ)
変換鍵取得部310は、例えば、通信装置によりネットワークを介して、鍵生成装置100から送信された変換鍵ck:=Wを取得する。また、変換鍵取得部310は、鍵生成装置100が生成した公開鍵pkを取得する。
暗号文取得部320は、例えば、通信装置によりネットワークを介して、暗号化装置200が送信した暗号文ctx:=fを受信する。
データ送信部340は、S404で生成された要素cを含む暗号文CTxを、例えば通信装置によりネットワークを介して復号装置400へ送信する。もちろん、暗号文CTxは、他の方法により復号装置400へ送信されてもよい。
図5に示すように、復号装置400は、トークン取得部410、暗号文取得部420、復号部430を備える。
(S501:トークン取得ステップ)
トークン取得部410は、例えば、通信装置によりネットワークを介して、鍵生成装置100から送信されたトークンtkv:=k*を取得する。また、トークン取得部410は、鍵生成装置100が生成した公開パラメータpkを取得する。
暗号文取得部420は、例えば、通信装置によりネットワークを介して、変換装置300が送信した暗号文CTx:=cを受信する。
復号部430は、処理装置により、ペアリング演算e(c,k*)を計算した結果が1であれば、復号できたことを示す1を出力し、結果が1でなければ、復号できなかったことを示す0を出力する。
実施の形態1に係るIPE−CC方式では、変換装置300が、変換鍵ckを用いて暗号文ctxの基底を変換して暗号文CTxを生成し、復号装置400が、変換された暗号文CTxに対してQueryアルゴリズムを実行する。そのため、変換装置300の助けなく、多数の暗号文に対してQueryアルゴリズムを実行することができない。これにより、トークンtkvに設定された述語ベクトルv→の情報が漏洩することを防止できる。
しかし、基底D^とセキュリティパラメータλとparamVとを公開鍵とせず、秘密鍵skと対をなす、もう1つの秘密鍵として、暗号化装置200へ秘密裡に送信するようにしてもよい。この場合、秘密鍵セッティングで、属性情報と述語情報との両方を秘匿可能な内積述語暗号とすることができる。
しかし、非特許文献2等に記載されたように、暗号文ctxにメッセージmを埋め込めば、暗号文ctxに埋め込まれたメッセージmをトークンtkvにより抽出する、狭義の暗号システムを構築することもできる。
実施の形態2では、正規直交基底B,B*を生成する際、疎行列を用いることによって、効率化されたIPE−CC方式について説明する。
実施の形態2では、実施の形態1と同じ部分については説明を省略し、主に異なる部分について説明する。
また、実施の形態2に係るSetupアルゴリズム、TokenGenアルゴリズム、Encアルゴリズム、Convアルゴリズム、Queryアルゴリズムの流れは、図6から図10に示す各アルゴリズムの流れと同じである。
N:=6nとし、H(n,Fq)を数132に示す通りであるとし、L(6,n,Fq)を数133に示す通りであるとする。
つまり、行列X∈L(6,n,Fq)は、72n個の非零要素{ui,j,u’i,j,2,...,u’i,j,n,u’’i,j,1,...,u’’i,j,n−1,u’’’i,j}i,j=1,...,6で表され、隋伴行列ψ(X−1)Tは、72n個の非零要素{vi,j,v’i,j,2,...,v’i,j,n,v’’i,j,1,...,v’’i,j,n−1,v’’’i,j}i,j=1,...,6で表される。なお、非零要素は、0も取り得る一様乱数である。
ここでは、入力される属性ベクトルx→:=(x1,...,xn)と述語ベクトルv→:=(v1,...,vn)とは、x1≠0であり、v1≠0であると仮定する。
(S101:正規直交基底生成ステップ)
マスター鍵生成部110は、処理装置により、数135を計算して、パラメータparamVと、基底B及び基底B*とを生成する。
(1),(3),(4),(9)は実施の形態1と同じであるため、説明を省略する。
(2)マスター鍵生成部110は、処理装置により、Nに6nを設定する。なお、nは、1以上の整数である。
(6)マスター鍵生成部110は、処理装置により、(4)で生成した乱数ψと、(5)で生成した線形変換Xとに基づき、(νi,j):=ψ・(X−1)Tを生成する。
なお、以下、{ui,j,u’i,j,2,...,u’i,j,n,u’’i,j,1,...,u’’i,j,n−1,u’’’i,j}i,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,j}i,j=1,...,6は、随伴行列ψ・(X−1)Tにおける非零要素を示す。
マスター鍵生成部110は、処理装置により、S101で生成した基底Bを、数138に示すように変換鍵Wで変換して基底D:=(d1,...,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,j}i,j=1,...,6で構成される。
マスター鍵生成部110は、処理装置により、S101で生成した基底B*の部分基底B^*を数139に示すように生成する。
マスター鍵記憶部120は、S102で生成した変換鍵ckと、S103で生成した公開鍵pkと、S104で生成した秘密鍵skとを記憶装置に記憶する。
S201は、実施の形態1と同じであるため、説明を省略する。
トークン生成部140は、処理装置により、乱数を数142に示すように生成する。
トークン生成部140は、処理装置により、トークンtkvの要素k*を数143に示すように生成する。
トークン送信部150は、S203で生成されたk*を要素とするトークンtkvを、例えば通信装置によりネットワークを介して秘密裡に復号装置400へ送信する。もちろん、トークンtkvは、他の方法により復号装置400へ送信されてもよい。
S301とS302とは、実施の形態1と同じであるため、説明を省略する。
データ送信部240は、S304で生成された要素fを含む暗号文ctxを、例えば通信装置によりネットワークを介して変換装置300へ送信する。もちろん、暗号文ctxは、他の方法により変換装置300へ送信されてもよい。
{B* i,j,B’* i,j,2,...,B’* i,j,n,B’’* i,j,1,...,B’’* i,j,n−1,B’’’* i,j}i=1,5;i,j=1,...,6は、基底B*^:=(B* 1,...,B* n,B* 4n+1,...,B* 5n)によって識別される。基底B*:=(d* 1,...,d* 6n)は、{B* i,j,B’* i,j,2,...,B’* i,j,n,B’’* i,j,1,...,B’’* i,j,n−1,B’’’* i,j}i,j=1,...,6によって識別される。
そして、Queryアルゴリズムにおけるcとk*とは、それぞれ数149に示すように表せる。
より一般的には、疎行列は、各行各列に少なくとも1つは定数値0以外の値を有する疎行列であればよい。さらに、疎行列は、n行n列の行列である場合、定数値0以外の値として、少なくともn個の異なる値を有しているとよい。さらに、疎行列は、少なくとも1つの列における全ての成分が定数値0以外の値であるとよい。さらに、疎行列は、少なくとも1つの行における全ての成分が定数値0以外の値であるとよい。さらに、疎行列は、対角成分と、少なくとも1つの列と、少なくとも1つの行とにおける全ての成分が定数値0以外の値であるとよい。さらに、疎行列は、全ての成分が定数値0以外の値である列を除き、対角成分の値が同一であるとよい。
このような疎行列を用いた場合であっても、通常の行列を用いた場合に比べ、公開パラメータと秘密鍵とのサイズは小さくなる。また、ユーザ鍵の生成や暗号化の処理の処理時間も短くなる。
但し、線形変換Xの形式によっては、ペアリング演算の数を減らすことができない場合もある。
しかし、非特許文献2等に記載されたように、暗号文ctxにメッセージmを埋め込めば、暗号文ctxに埋め込まれたメッセージmをトークンtkvにより抽出する、狭義の暗号システムを構築することもできる。
実施の形態3では、公開パラメータの再発行をすることなく、属性カテゴリの追加を可能としたIPE−CC方式について説明する。
実施の形態3では、実施の形態1と同じ部分については説明を省略し、主に異なる部分について説明する。
通常、アクセスコントロールや検索条件に使用する属性カテゴリは、システム設計時に予め決定される。しかし、後にシステムの運用が変更され、アクセスコントロールや検索条件に使用する属性カテゴリの追加が必要になる場合がある。
例えば、A会社内のみで使用することを想定して暗号システムを構築したとする。この場合、アクセスコントロールに使用する属性カテゴリとしては、所属部署、役職、個人のID等が想定される。しかし、後に、A会社だけでなく、A会社の関連会社でも暗号システムを使用するように運用が変更されたとする。この場合、アクセスコントロールに使用する属性カテゴリとして、新たに所属会社を追加する必要がある。
また、実施の形態3に係るSetupアルゴリズム、Encアルゴリズム、Convアルゴリズム、Queryアルゴリズムの流れは、図6、図8から図10に示す各アルゴリズムの流れと同じである。
図11は、実施の形態3に係るTokenGenアルゴリズムの処理を示すフローチャートである。
(S101:正規直交基底生成ステップ)
マスター鍵生成部110は、処理装置により、数150を計算して、パラメータparamVと、基底B及び基底B*とを生成する。
(1)は実施の形態1と同じであるため、説明を省略する。
(2)マスター鍵生成部110は、処理装置により、N0に1+u0+w0+z0を設定し、N1に4+u+w+zを設定する。なお、u0,w0,z0,u,w,zはそれぞれ0以上の整数である。
(5)マスター鍵生成部110は、処理装置により、(1)で入力したセキュリティパラメータλと、(2)で設定したNtと、(3)で生成したparamG:=(q,G,GT,g,e)の値とを入力としてアルゴリズムGdpvsを実行して、双対ペアリングベクトル空間のパラメータparamVt:=(q,Vt,GT,At,e)の値を生成する。
マスター鍵生成部110は、処理装置により、S101で生成した基底B0及び基底Bを、数152に示すように変換鍵W0,Wで変換して基底D0及び基底Dを生成する。そして、マスター鍵生成部110は、処理装置により、基底D0及び基底Dの部分基底D^0及び部分基底D^を数152に示すように生成する。
マスター鍵生成部110は、処理装置により、S101で生成した基底B* 0及び基底B*の部分基底B^* 0及び部分基底B^*を数153に示すように生成する。
マスター鍵記憶部120は、S102で生成した変換鍵ckと、S103で生成した公開鍵pkと、S104で生成した秘密鍵skとを記憶装置に記憶する。
(S601:情報入力ステップ)
情報入力部130は、入力装置により、述語ベクトルv→:={(t,vt)|t∈Iv→}を入力する。つまり、述語ベクトルv→は、集合Iv→に含まれるインデックスtについて、インデックスtと述語情報vtとを要素として有するベクトルである。述語情報vtとしては、例えば、トークンtkvの使用者の属性情報や検索キーワード等が設定されている。
(S602:秘密情報生成ステップ)
トークン生成部140は、処理装置により、秘密情報st,s0を数156に示すように生成する。
トークン生成部140は、処理装置により、トークンtkvの要素k* 0を数158に示すように生成する。
トークン送信部150は、S604で生成されたk* 0,k* tとを要素とするトークンtkvを、例えば通信装置によりネットワークを介して秘密裡に復号装置400へ配布する。もちろん、トークンtkvは、他の方法により復号装置400へ配布されてもよい。
S301は、実施の形態1と同様であるため、説明を省略する。
情報入力部220は、入力装置により、属性ベクトルx→:={(t,xt)|t∈Ix→}を入力する。つまり、属性ベクトルx→は、集合Ix→に含まれるインデックスtについて、インデックスtと属性情報xtとを要素として有するベクトルである。属性ベクトルx→は、例えば、検索可能なユーザの属性情報や検索用のタグが設定されている。
暗号文生成部230は、処理装置により、暗号文ctxの要素f0を数162に示すように生成する。
データ送信部240は、S304で生成されたf0,ftを要素とする暗号文ctxを、例えば通信装置によりネットワークを介して変換装置300へ送信する。もちろん、暗号文ctxは、他の方法により変換装置300へ送信されてもよい。
(S401:変換鍵取得ステップ)
変換鍵取得部310は、例えば、通信装置によりネットワークを介して、鍵生成装置100から送信された変換鍵ck:=(W0,W)を取得する。また、変換鍵取得部310は、鍵生成装置100が生成した公開鍵pkを取得する。
暗号文取得部320は、例えば、通信装置によりネットワークを介して、暗号化装置200が送信した暗号文ctx:=(f0,f)を受信する。
データ送信部340は、S404で生成された要素c0及び要素ctを含む暗号文CTxを、例えば通信装置によりネットワークを介して復号装置400へ送信する。もちろん、暗号文CTxは、他の方法により復号装置400へ送信されてもよい。
(S501:トークン取得ステップ)
トークン取得部410は、例えば、通信装置によりネットワークを介して、鍵生成装置100から送信されたトークンtkv:=(k* 0,k* t)を取得する。また、トークン取得部410は、鍵生成装置100が生成した公開パラメータpkを取得する。
暗号文取得部420は、例えば、通信装置によりネットワークを介して、変換装置300が送信した暗号文CTx:=(c0,ct)を受信する。
復号部430は、処理装置により、集合Iv→が集合Ix→の部分集合であり、かつ、ペアリング演算e(c0,k* 0)・Πt∈Iv→e(ct,k* t)を計算した結果が1であれば、復号できたことを示す1を出力し、結果が1でなければ、復号できなかったことを示す0を出力する。
そのため、対応するインデックスtについての要素k* tと要素ctとのペアリング演算を行うと、基底ベクトルb* 1,b* 2と基底ベクトルb1,b2との部分については、内積が0となり、キャンセルされる。つまり、対応するインデックスtについての要素k* tと要素ctとのペアリング演算を行うと、基底ベクトルの係数として設定したインデックス部(基底ベクトルb* 1,b* 2と基底ベクトルb1,b2との部分)はキャンセルされ、残りの部分についてのペアリング演算の結果が得られる。
しかし、上述したアルゴリズムと同様の応用を行うことで、非特許文献4のType2に対応したIPE−CC方式(集合Ix→が集合Iv→の部分集合である場合に復号可能なIPE−CC方式)や、非特許文献4のType0(集合Iv→が集合Ix→の部分集合であり、かつ、集合Ix→が集合Iv→の部分集合である場合に復号可能なIPE−CC方式)に対応したIPE−CC方式を構成することも可能である。
しかし、非特許文献2等に記載されたように、暗号文ctxにメッセージmを埋め込めば、暗号文ctxに埋め込まれたメッセージmをトークンtkvにより抽出する、狭義の暗号システムを構築することもできる。
実施の形態4では、上記実施の形態で説明したIPE−CC方式に、非特許文献2の構成を適用して、権限委譲システムを有するIPE−CC方式を構成することについて簡単に説明する。
ここでは、簡単のため、2階層の権限委譲システムを持たせたIPE−CC方式を示す。しかし、ここに示す方式を応用すれば、容易にd階層(dは3以上の整数)の権限委譲システムを持たせたIPE−CC方式とすることができる。
実施の形態5では、上記実施の形態で説明した暗号システム10を医療情報DB(データベース)に適用した秘匿検索システム500について説明する。
秘匿検索システム500は、PKG510、複数の病院520、補助者530、複数の製薬会社540、医療情報DB550を備える。
製薬会社540は、トークンtkvを受信すると、受信したトークンtkvに検索条件(ω→)を設定したトークンtkv∧ωを端末から医療情報DB550へ送信して、トークンtkvに基づく検索を依頼する。なお、トークンtkvに検索条件(ω→)を設定する方法としては、例えば、実施の形態4で説明した権限委譲を応用する方法がある。
図13に示す秘匿検索システム500では、補助者530が製薬会社540と医療情報DB550との間に位置している点が、図12に示す秘匿検索システム500と異なる。
図13に示す秘匿検索システム500では、補助者530は、検索の依頼を受けると、Convアルゴリズムを実行して、医療情報DB550に登録された各暗号文ctxを変換して、暗号文CTxを生成する。そして、補助者530は、生成した各暗号文CTxと送信されたトークンtkvとについて、復号装置400によりQueryアルゴリズムを実行して、依頼元の製薬会社540へ結果を送信する。
以上の実施の形態では、双対ベクトル空間において暗号処理を実現する方法について説明した。実施の形態6では、双対加群において暗号処理を実現する方法について説明する。
鍵生成装置100、暗号化装置200、変換装置300、復号装置400はコンピュータであり、鍵生成装置100、暗号化装置200、変換装置300、復号装置400の各要素をプログラムで実現することができる。
鍵生成装置100、暗号化装置200、変換装置300、復号装置400のハードウェア構成としては、バスに、演算装置901、外部記憶装置902、主記憶装置903、通信装置904、入出力装置905が接続されている。
プログラムは、マスター鍵生成部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にファイルとして記憶されている。
Claims (12)
- 基底Dの基底ベクトルの係数として属性情報xを設定した暗号文ctxを生成する暗号化装置と、
前記暗号化装置が生成した暗号文ctxの基底Dを変換情報Wにより基底Bに変換して暗号文CTxを生成する変換装置と、
前記基底Bに対応する基底B*の基底ベクトルの係数として述語情報vを設定したトークンtkvによって、前記変換装置が生成した暗号文CTxを復号する復号装置と
を備えることを特徴とする暗号システム。 - 前記復号装置は、前記暗号文CTxと前記トークンtkvとについて、ペアリング演算を行うことによって、前記属性情報xと前記述語情報vとの内積を計算して、前記暗号文CTxを復号する
ことを特徴とする請求項1に記載の暗号システム。 - 前記暗号システムは、前記基底Dの少なくとも一部の基底ベクトルが公開鍵として公開された公開鍵セッティングの暗号方式を実現する
ことを特徴とする請求項1から3までのいずれかに記載の暗号システム。 - 前記暗号システムは、前記基底Dの少なくとも一部の基底ベクトルが秘密鍵として前記暗号化装置へ配布された秘密鍵セッティングの暗号方式を実現する
ことを特徴とする請求項1から3までのいずれかに記載の暗号システム。 - 前記基底Bと前記基底B*とは、双対ペアリングベクトル空間における正規直交基底である
ことを特徴とする請求項1から5までのいずれかに記載の暗号システム。 - 前記基底Bと前記基底B*とは、各行各列に少なくとも1つは定数値0以外の値を有する疎行列を用いて所定の基底Aを変形して生成された基底である
ことを特徴とする請求項1から6までのいずれかに記載の暗号システム。 - 前記暗号化装置は、集合Ixに含まれる各インデックスtについて、前記基底Dの基底ベクトルdindexの係数として、インデックスtに予め割り当てられた情報Jtが設定され、前記基底Dの他の基底ベクトルの係数として前記属性情報xのうちの属性情報xtが設定された要素ctを含む前記暗号文ctxを生成し、
前記復号装置は、集合Ivに含まれる各インデックスtについて、基底ベクトルdindexに対応する前記基底B*の基底ベクトルb* indexの係数として、前記情報Jtとの内積が0になる情報Jt *が設定され、前記基底B*の他の基底ベクトルの係数として前記述語情報vのうちの述語情報vtが設定された要素ktを含む前記トークンtkvによって、前記暗号文CTxを復号する
ことを特徴とする請求項1から8までのいずれかに記載の暗号システム。 - 前記暗号化装置は、前記属性情報xとして遺伝子情報を設定した暗号文ctxを生成し、
前記復号装置は、前記暗号文CTxを前記トークンtkvによって復号することによって、前記トークンtkvに設定された条件を満たす遺伝子情報を有する暗号文CTxを検索する
ことを特徴とする請求項1から9までのいずれかに記載の暗号システム。 - 暗号化装置が、基底Dの基底ベクトルの係数として属性情報xを設定した暗号文ctxを生成する暗号化工程と、
変換装置が、前記暗号化工程で生成した暗号文ctxの基底Dを変換情報Wにより基底Bに変換して暗号文CTxを生成する変換工程と、
復号装置が、前記基底Bに対応する基底B*の基底ベクトルの係数として述語情報vを設定したトークンtkvによって、前記変換工程で生成した暗号文CTxを復号する復号工程と
を備えることを特徴とする暗号方法。 - 基底Dの基底ベクトルの係数として属性情報xを設定した暗号文ctxを生成する暗号化処理と、
前記暗号化処理で生成した暗号文ctxの基底Dを変換情報Wにより基底Bに変換して暗号文CTxを生成する変換処理と、
前記基底Bに対応する基底B*の基底ベクトルの係数として述語情報vを設定したトークンtkvによって、前記変換処理で生成した暗号文CTxを復号する復号処理と
をコンピュータに実行させることを特徴とする暗号プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/063538 WO2014184894A1 (ja) | 2013-05-15 | 2013-05-15 | 暗号システム、暗号方法及び暗号プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5951122B2 JP5951122B2 (ja) | 2016-07-13 |
JPWO2014184894A1 true JPWO2014184894A1 (ja) | 2017-02-23 |
Family
ID=51897910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015516812A Active JP5951122B2 (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) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10237065B2 (en) * | 2014-03-31 | 2019-03-19 | Irdeto B.V. | Cryptographic chip and related methods |
EP3089091B1 (en) * | 2014-05-02 | 2020-03-11 | Barclays Execution Services Limited | Transaction authentication |
DE112014007235B4 (de) | 2014-12-05 | 2024-10-10 | Mitsubishi Electric Corporation | Kryptografisches System, Hauptschlüsselaktualisierungseinrichtung und Hauptschlüsselaktualisierungsprogramm |
JP6228912B2 (ja) * | 2014-12-18 | 2017-11-08 | 日本電信電話株式会社 | ブラインド秘密鍵発行システム、ブラインドデータ検索システム、これらの方法、鍵生成サーバ、復号装置及びプログラム |
JP6494893B2 (ja) * | 2017-01-12 | 2019-04-03 | 三菱電機株式会社 | 暗号化タグ生成装置、検索クエリ生成装置及び秘匿検索システム |
JP6885325B2 (ja) * | 2017-12-26 | 2021-06-16 | 日本電信電話株式会社 | 暗号化装置、復号装置、暗号化方法、復号方法、プログラム |
US20210067317A1 (en) * | 2018-01-17 | 2021-03-04 | Mitsubishi Electric Corporation | Data management device, data management method, and computer readable medium |
WO2019142260A1 (ja) * | 2018-01-17 | 2019-07-25 | 三菱電機株式会社 | 秘匿分析装置、秘匿分析システム、秘匿分析方法及び秘匿分析プログラム |
US10807579B2 (en) * | 2018-01-19 | 2020-10-20 | Goodrich Corporation | System for maintaining near-peak friction of a braking wheel |
WO2019220531A1 (ja) * | 2018-05-15 | 2019-11-21 | 三菱電機株式会社 | 秘匿検索装置および秘匿検索方法 |
US11588621B2 (en) * | 2019-12-06 | 2023-02-21 | International Business Machines Corporation | Efficient private vertical federated learning |
CN112733111B (zh) * | 2020-12-31 | 2023-05-23 | 暨南大学 | 一种基于片段分割的阈值谓词加密生物特征认证方法 |
Family Cites Families (8)
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 | 三菱電機株式会社 | 暗号システム、暗号方法、暗号プログラム及び復号装置 |
WO2014112048A1 (ja) | 2013-01-16 | 2014-07-24 | 三菱電機株式会社 | 暗号システム、再暗号化鍵生成装置、再暗号化装置、暗号方法及び暗号プログラム |
-
2013
- 2013-05-15 WO PCT/JP2013/063538 patent/WO2014184894A1/ja active Application Filing
- 2013-05-15 JP JP2015516812A patent/JP5951122B2/ja active Active
- 2013-05-15 US US14/787,317 patent/US9755823B2/en active Active
- 2013-05-15 EP EP13884915.3A patent/EP2998948B1/en active Active
- 2013-05-15 CN CN201380076638.7A patent/CN105210133B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP2998948A1 (en) | 2016-03-23 |
CN105210133A (zh) | 2015-12-30 |
WO2014184894A1 (ja) | 2014-11-20 |
US20160072625A1 (en) | 2016-03-10 |
CN105210133B (zh) | 2018-07-17 |
US9755823B2 (en) | 2017-09-05 |
EP2998948B1 (en) | 2020-11-04 |
EP2998948A4 (en) | 2017-01-11 |
JP5951122B2 (ja) | 2016-07-13 |
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 | |
JP6053966B2 (ja) | 暗号システム及び再暗号化装置 | |
JP5562475B2 (ja) | 秘密分散システム、分散装置、分散管理装置、取得装置、それらの処理方法、秘密分散方法、プログラム | |
JP5680007B2 (ja) | 暗号システム、暗号方法及び暗号プログラム | |
JP5769401B2 (ja) | 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及びプログラム | |
JP5814880B2 (ja) | 暗号システム、暗号方法、暗号プログラム及び復号装置 | |
WO2012132136A1 (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 |
---|---|---|---|
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: 20160510 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160607 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5951122 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |