JP2010273317A - 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム - Google Patents
暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム Download PDFInfo
- Publication number
- JP2010273317A JP2010273317A JP2009264576A JP2009264576A JP2010273317A JP 2010273317 A JP2010273317 A JP 2010273317A JP 2009264576 A JP2009264576 A JP 2009264576A JP 2009264576 A JP2009264576 A JP 2009264576A JP 2010273317 A JP2010273317 A JP 2010273317A
- Authority
- JP
- Japan
- Prior art keywords
- vector
- key
- information
- encryption
- space
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 273
- 238000003672 processing method Methods 0.000 title claims 3
- 238000012546 transfer Methods 0.000 title description 2
- 239000013598 vector Substances 0.000 claims abstract description 1180
- 230000005540 biological transmission Effects 0.000 claims abstract description 80
- 239000000284 extract Substances 0.000 claims abstract description 7
- 238000000034 method Methods 0.000 claims description 161
- 238000012795 verification Methods 0.000 claims description 160
- 238000004364 calculation method Methods 0.000 claims description 73
- 230000009977 dual effect Effects 0.000 claims description 72
- 238000003860 storage Methods 0.000 claims description 56
- 230000008569 process Effects 0.000 claims description 37
- 230000009466 transformation Effects 0.000 claims description 31
- 238000013507 mapping Methods 0.000 claims description 9
- OVSKIKFHRZPJSS-UHFFFAOYSA-N 2,4-D Chemical compound OC(=O)COC1=CC=C(Cl)C=C1Cl OVSKIKFHRZPJSS-UHFFFAOYSA-N 0.000 claims 1
- 230000001131 transforming effect Effects 0.000 claims 1
- 239000000047 product Substances 0.000 description 91
- 238000004422 calculation algorithm Methods 0.000 description 81
- 230000006870 function Effects 0.000 description 49
- 230000014509 gene expression Effects 0.000 description 40
- 230000003044 adaptive effect Effects 0.000 description 35
- 238000004891 communication Methods 0.000 description 34
- 238000010586 diagram Methods 0.000 description 29
- 238000009826 distribution Methods 0.000 description 29
- 238000006243 chemical reaction Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 125000004122 cyclic group Chemical group 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 238000000354 decomposition reaction Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 239000003643 water by type Substances 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000011426 transformation method Methods 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/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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- 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
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
- H04L9/0833—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
- H04L9/0836—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
-
- 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- 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/12—Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S40/00—Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
- Y04S40/20—Information technology specific aspects, e.g. CAD, simulation, modelling, system security
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
【解決手段】ペアリング演算によって関連付けられた双対ベクトル空間(双対ディストーションベクトル空間)である空間Vと空間V*とを用いて暗号処理を行う。暗号化装置は、空間Vにおけるベクトルであって、送信情報を埋め込んだベクトルを暗号ベクトルとして生成する。復号装置は、空間V*における所定のベクトルを鍵ベクトルとして、暗号化装置が生成した暗号ベクトルと鍵ベクトルとについて、ペアリング演算を行い前記暗号ベクトルを復号して送信情報に関する情報を抽出する。
【選択図】図6
Description
この発明は、例えば、適用範囲の広い権限委譲可能な述語暗号処理を提供することを目的とする。
前記空間Vにおけるベクトルであって、所定の情報を埋め込んだベクトルを暗号ベクトルとして処理装置により生成する暗号化装置と、
前記空間V*における所定のベクトルを鍵ベクトルとして、前記暗号化装置が生成した暗号ベクトルと前記鍵ベクトルとについて、処理装置により前記ペアリング演算を行い前記暗号ベクトルを復号して前記所定の情報に関する情報を抽出する復号装置と
を備えることを特徴とする。
以下の説明において、処理装置は後述するCPU911等である。記憶装置は後述するROM913、RAM914、磁気ディスク920等である。通信装置は後述する通信ボード915等である。入力装置は後述するキーボード902、通信ボード915等である。出力装置は後述するRAM914、磁気ディスク920、通信ボード915、LCD901等である。つまり、処理装置、記憶装置、通信装置、入力装置、出力装置はハードウェアである。
Aがランダムな変数または分布であるとき、数43は、Aの分布に従いAからyをランダムに選択することを表す。
XTは、行列Xの転置行列を表す。
数51は、xi,jに行列Xの(i,j)番目の値が設定されることを表す。
この実施の形態では、後の実施の形態で説明する「階層的述語鍵秘匿方式(Hierarchial Predicate Key Encapsulation Mechanism,HPKEM)」や「階層的述語暗号(Hierarchial Predicate Encryption,HPE)」を実現する基礎となる概念と、階層的述語鍵秘匿方式と階層的述語暗号との基本構成について説明する。
第1に、階層的述語鍵秘匿方式及び階層的述語暗号の一種である「階層的内積述語暗号(階層的内積述語鍵秘匿方式)」という概念を説明する。後の実施の形態で説明する階層的述語鍵秘匿方式及び階層的述語暗号は、階層的内積述語暗号及び階層的内積述語鍵秘匿方式である。階層的内積述語暗号という概念を説明するに当たり、まず「階層的」という概念を説明する。次に、「内積述語暗号」を説明する。そして、階層的という概念を内積述語暗号に加えた「階層的内積述語暗号(階層的内積述語鍵秘匿方式)」を説明する。さらに、階層的内積述語暗号の理解を深めるため、階層的内積述語暗号の応用例を説明する。
第2に、ベクトル空間における階層的内積述語暗号を説明する。この実施の形態及び以下の実施の形態では、階層的述語鍵秘匿方式と階層的述語暗号とをベクトル空間において実現する。
第3に、この実施の形態及び後の実施の形態に係る「階層的述語鍵秘匿方式」と「階層的述語暗号」との基本構成を説明する。併せて、階層的述語鍵秘匿方式と階層的述語暗号とを実行する「暗号処理システム10」の概要を説明する。
第4に、階層的述語鍵秘匿方式や階層的述語暗号を実現するための概念を説明する。まず、双線形ペアリンググループを説明する。続いて、双線形ペアリンググループを用いて、他の概念を以下の(1)から(6)までの6つに分けて説明する。
(1)1次元ペアリング「G1×G2→GT」の空間V,空間V*に対する高次元化。
(2)標準的な双対基底A,A*。
(3)ディストーション写像を用いた効率的な線形写像。
(4)基底変換による鍵ペア(B,B*)の生成方法。
(5)暗号処理への応用のための(V,B),(V,B*)での計算困難問題。
(6)鍵ペア(B,B*)を用いた内積述語暗号。
第5に、階層的述語鍵秘匿方式と階層的述語暗号とを実現するための空間である「双対ディストーションベクトル空間(Dual Distortion Vector Spaces,DDVS)」という豊かな数学的構造を有する空間を説明する。
そして、第6に、以上の説明を踏まえ、後の実施の形態で詳細に説明する階層的述語鍵秘匿方式と階層的述語暗号との実現方法を簡単に説明する。
<第1−1.階層的という概念>
この実施の形態及び以下の実施の形態で説明する階層的述語鍵秘匿方式と階層的述語暗号とにおける「階層的」という概念について説明する。
図1は、「階層的」という概念を説明するための図である。
階層的述語鍵秘匿方式と階層的述語暗号とにおける「階層的」とは、権限委譲できる仕組み(権限委譲システム(Delegation System))を有することである。権限委譲とは、上位の鍵を有する利用者が、その鍵(上位の鍵)よりも機能が制限された下位の鍵を生成することである。
図1では、Root(鍵生成装置)は、マスター秘密鍵を用いて、第1層目(Level−1)の利用者へ秘密鍵を生成する。つまり、Rootは、第1層目の利用者1,2,3それぞれへ鍵1,2,3を生成する。そして、例えば、利用者1であれば、鍵1を用いて、利用者1の下位(第1層目)の利用者である利用者11,12,13それぞれへ鍵11,12,13を生成することができる。ここで、利用者1が有する鍵1よりも、利用者11,12,13が有する鍵11,12,13は機能が制限されている。機能が制限されているとは、その秘密鍵によって復号できる暗号文が限定されているということである。つまり、上位の秘密鍵で復号できる暗号文の一部の暗号文のみ下位の秘密鍵で復号できることを意味する。すなわち、利用者1が有する鍵1で復号できる暗号文のうち、一部の暗号文のみ利用者11,12,13が有する鍵11,12,13で復号することができる。また、通常は、鍵11と鍵12と鍵13とが復号できる暗号文は異なる。一方、鍵11と鍵12と鍵13が復号できる暗号文は、鍵1で復号することができる。
次に、「内積述語暗号」について説明する。
まず、述語暗号とは、述語情報fvに属性情報xを入力した場合に1(True)となる場合(fv(x)=1となる場合)に、暗号文を復号できる暗号方式である。通常、暗号文に属性情報xが埋め込まれ、秘密鍵に述語情報fvが埋め込まれる。つまり、述語暗号では、属性情報xに基づき暗号化された暗号文cを、述語情報fvに基づき生成された秘密鍵SKfにより復号する。述語暗号は、例えば、述語情報fvが条件式であり、属性情報xがその条件式への入力情報であり、入力情報(属性情報x)が条件式(述語情報fv)を満たせば(fv(x)=1)、暗号文を復号できる暗号方式であるとも言える。
なお、述語暗号について詳しくは非特許文献19に記載されている。
階層的内積述語暗号(階層的内積述語鍵秘匿方式)とは、上述した「階層的」という概念を有する「内積述語暗号」である。つまり、階層的内積述語暗号(階層的内積述語鍵秘匿方式)とは、権限委譲システムを有する内積述語暗号である。
図2は、属性情報と述語情報との階層構造を示す図である。
図2において、符号が対応する属性情報と述語情報とは対応する(つまり、内積が0となる)ものとする。つまり、属性1と述語1との内積は0となり、属性11と述語11との内積は0となり、属性12と述語12との内積は0となり、属性13と述語13との内積は0となるとする。すなわち、属性1により暗号化された暗号文c1は、述語1に基づき生成された秘密鍵k1であれば復号できる。また、属性11により暗号化された暗号文c11は、述語11に基づき生成された秘密鍵k11であれば復号できる。属性12と述語12、属性13と述語13についても同様のことが言える。
上記の通り、階層的内積述語暗号は権限委譲システムを有する。そのため、述語1に基づき生成された秘密鍵k1と、述語11とに基づき、秘密鍵k11を生成することができる。つまり、上位の秘密鍵k1を有する利用者は、その秘密鍵k1と下位の述語11とから、秘密鍵k1の下位の秘密鍵k11を生成することができる。同様に、秘密鍵k1と述語12とから秘密鍵k12を生成でき、秘密鍵k1と述語13とから秘密鍵k13を生成できる。
また、下位の秘密鍵に対応する鍵(公開鍵)で暗号化された暗号文を上位の秘密鍵で復号できる。一方、上位の秘密鍵に対応する鍵(公開鍵)で暗号化された暗号文は、下位の秘密鍵で復号できない。つまり、属性11、属性12、属性13により暗号化された暗号文c11、c12、c13は、述語1に基づき生成された秘密鍵k1であれば復号できる。一方、属性1により暗号化された暗号文c1は、述語11、述語12、述語13に基づき生成された秘密鍵k11、k12、k13では復号できない。すなわち、属性11、属性12、属性13と述語1との内積は0となる。一方、属性1と述語11、述語12、述語13との内積は0とならない。
図3は、後述する階層的内積述語暗号の応用例である階層的IDベース暗号(Hierarchial Identifier Based Encryption,HIBE)の例を示す図である。なお、階層的IDベース暗号とは、IDベース暗号が階層的になった暗号処理である。IDベース暗号は、述語暗号の一種であり、暗号文に含まれるIDと秘密鍵に含まれるIDとが一致する場合に暗号文を復号できるマッチング述語暗号である。
図3に示す例では、Root(鍵生成装置)は、マスター秘密鍵skとA会社のIDである「A」とに基づき、ID「A」に対応する秘密鍵(鍵A)を生成する。例えば、A会社のセキュリティ担当者は、鍵Aと各部門のIDとに基づき、そのIDに対応する秘密鍵を生成する。例えば、セキュリティ担当者は、営業部門のIDである「A−1」に対応する秘密鍵(鍵1)を生成する。次に、例えば、各部門の管理者は、その部門の秘密鍵とその部門に属する各課のIDとに基づき、そのIDに対応する秘密鍵を生成する。例えば、営業部門の管理者は、営業1課のIDである「A−11」に対応する秘密鍵(鍵11)を生成する。
ここで、営業1課のID「A−11」に対応する秘密鍵である鍵11により、営業1課のID「A−11」で暗号化された暗号文を復号することができる。しかし、鍵11により、営業2課や営業3課のIDで暗号化された暗号文は復号することはできない。また、鍵11により、営業部門のIDで暗号化された暗号文は復号することができない。
営業部門のID「A−1」に対応する秘密鍵である鍵1により、営業部門のID「A−1」で暗号化された暗号文を復号することができる。また、鍵1により、営業部門に属する課のIDで暗号化された暗号文を復号することができる。つまり、鍵1により、営業1課、営業2課、営業3課のIDで暗号化された暗号文を復号することができる。しかし、鍵1により、製造部門(ID:A−2)やスタッフ部門(ID:A−3)のIDで暗号化された暗号文は復号することができない。また、鍵1により、A会社のIDで暗号化された暗号文は復号することができない。
A会社のID「A」に対応する秘密鍵である鍵Aにより、A会社のID「A」で暗号化された暗号文を復号することができる。また、A会社に属する各部門や、その部門に属する課のIDで暗号化された暗号文を復号することができる。
つまり、後の実施の形態で説明する階層的述語鍵秘匿方式と階層的述語暗号とは、IDベース暗号や検索可能暗号等へ幅広い応用が可能である。
階層的述語鍵秘匿方式と階層的述語暗号とは、後述する双対ディストーションベクトル空間という高次元ベクトル空間において実現される。そこで、ベクトル空間における階層的内積述語暗号を説明する。
図4は、基底と基底ベクトルとを説明するための図である。
図4は、2次元ベクトル空間におけるベクトルvを示す。ベクトルvは、c0a0+c1a1である。また、ベクトルvは、y0b0+y1b1である。ここで、a0,a1を基底Aにおける基底ベクトルといい、基底A:=(a0,a1)と表す。また、b0,b1を基底Bにおける基底ベクトルといい、基底B:=(b0,b1)と表す。また、c0,c1,y0,y1は、各基底ベクトルに対する係数である。図1では、2次元ベクトル空間であったため、各基底における基底ベクトルは2個であった。しかし、N次元ベクトル空間であれば、各基底における基底ベクトルはN個である。
上記の通り、内積述語暗号とは、属性情報xと述語情報fvとの内積が所定の値(ここでは、0)の場合に、fv(x)=1となる述語暗号である。属性情報xと述語情報fvとがベクトルであった場合、つまり属性ベクトルx→と述語ベクトルv→とであった場合、内積述語は数52のように定義される。
図5は、ベクトル空間における階層構造の実現方法を説明するための図である。
ここで扱うベクトル空間は、高次元(N次元)ベクトル空間であるとする。つまり、ベクトル空間における所定の基底Cには、基底ベクトルci(i=0,...,N−1)のN個の基底ベクトルが存在する。
N個の基底ベクトルのうちのn個の基底ベクトル(基底ベクトルci(i=0,...,n−1))を階層構造を表すために使用する。また、基底ベクトルci(i=0,...,n−1)を、基底ベクトルci(i=0,...,μ1−1)と、基底ベクトルci(i=μ1,...,μ2−1)と、...、基底ベクトルci(i=μd−1,...,n−1)とのd個に分割する。ここで、dは、階層の深さを表す数となる。
そして、μ1個の基底ベクトルci(i=0,...,μ1−1)を第1層目の属性情報や述語情報を表すために割り当てる。また、μ2−μ1個の基底ベクトルci(i=μ1,...,μ2−1)を第2層目の属性情報や述語情報を表すために割り当てる。以下同様に、μd−μd−1個の基底ベクトルci(i=μd−1,...,μd−1(=n−1))を第d層目の属性情報や述語情報を表すために割り当てる。
また、第L層目の属性情報によって暗号文を生成する場合には、第L層目の属性情報だけでなく、第1層目から第L層目までの属性情報を用いて暗号文を生成する。同様に、第L層目の述語情報によって秘密鍵を生成する場合には、第L層目の述語情報だけでなく、第1層目から第L層目までの述語情報を用いて秘密鍵を生成する。つまり、第L層目の属性情報によって暗号文を生成する場合や、第L層目の述語情報によって秘密鍵を生成する場合には、第1層目から第L層目までに割り当てられたμL個の基底ベクトルci(i=0,...,μL−1)を用いる。例えば、第3層目の属性情報によって暗号文を生成する場合には、第1層目から第3層目までに割り当てられたμ3個の基底ベクトルci(i=0,...,μ3−1)を用いて、第1層目から第3層目までの属性情報を表して暗号文を生成する。同様に、第3層目の述語情報によって秘密鍵を生成する場合には、第1層目から第3層目までに割り当てられたμ3個の基底ベクトルci(i=0,...,μ3−1)を用いて、第1層目から第3層目までの述語情報を表して秘密鍵を生成する。つまり、下位の層で使用される属性情報や述語情報には、上位の層で使用される属性情報や述語情報が含まれる。これにより、属性情報と述語情報とに階層構造を持たせる。そして、この属性情報と述語情報とに階層構造を利用して、内積述語暗号に権限委譲システムを持たせる。
まず、各階層の空間における内積述語について説明する。各階層の空間とは、各階層の属性情報や述語情報を表すために割り当てられた空間である。つまり、第j層目の階層の空間であれば、基底ベクトルci(i=μj−1,...,μj)で表される空間である。
属性空間Σi(i=1,...,d)を、第i層目の属性情報を表すために割り当てられた空間であるとする。同様に、述語空間Fi(i=1,...,d)を、第i層目の述語情報を表すために割り当てられた空間であるとする。つまり、属性空間Σiは、所定の基底Σの基底ベクトルσj(j=μi−1,...,μi)で表された属性情報の空間である。同様に、述語空間Fiは、所定の基底Fの基底ベクトルfj(j=μi−1,...,μi)で表された述語情報の空間である。すなわち、属性空間Σ1であれば、基底ベクトルσj(j=0,...,μ1−1)で表された属性情報の空間である。また、属性空間Σ2であれば、基底ベクトルσj(j=μ1,...,μ2−1)で表された属性情報の空間である。述語空間Fiについても同様である。
つまり、属性空間Σi(i=1,...,d)と述語空間Fi(i=1,...,d)とは、それぞれ数54に示す属性情報と述語情報との集合である。
すなわち、階層的な属性空間Σと階層的な述語空間Fとは、それぞれ数56に示す空間である。
<第3−1.階層的述語鍵秘匿方式>
階層的述語鍵秘匿方式の構成を簡単に説明する。
階層的述語鍵秘匿方式は、Setup、GenKey、Enc、Dec、DelegateL(L=1,...,d−1)の5つの確率的多項式時間アルゴリズムを備える。
(Setup)
Setupアルゴリズムでは、セキュリティパラメータ1λと階層情報μ→とが入力され、マスター公開鍵pkとマスター秘密鍵skとが出力される。マスター秘密鍵skは最も上位の鍵である。
(GenKey)
GenKeyアルゴリズムでは、マスター公開鍵pkとマスター秘密鍵skと数60に示す述語ベクトルv→ 1(なお、述語ベクトルv→ 1を単にv→ 1と記載する場合もある)が入力され、数61に示す第1層目の秘密鍵が出力される。
Encアルゴリズムでは、マスター公開鍵pkと属性ベクトルx→ i(i=1,...,Lx)(1≦Lx≦d)とが入力され、暗号文cとセッション鍵Kとが出力される。つまり、Encアルゴリズムでは、所定の情報(ρ)を埋め込み属性ベクトルx→ i(i=1,...,Lx)(1≦Lx≦d)により暗号化された暗号文cと、所定の情報(ρ)から生成したセッション鍵Kとが出力される。
(Dec)
Decアルゴリズムでは、マスター公開鍵pkと数62に示す第Lv層目の秘密鍵(1≦Lv≦d)と暗号文cとが入力され、セッション鍵K又は識別情報⊥が出力される。識別情報⊥とは、復号に失敗したことを示す情報である。つまり、Decアルゴリズムでは、暗号文cを第Lv層目の秘密鍵で復号して、所定の情報(ρ)に関する情報を抽出し、セッション鍵Kを生成する。また、復号に失敗した場合には識別情報⊥を出力する。
DelegateLアルゴリズムでは、マスター公開鍵pkと数63に示す第L層目の秘密鍵と数64に示す第L+1層目の述語ベクトルv→ L+1(なお、述語ベクトルv→ L+1を単にv→ L+1と記載する場合もある)とが入力され、数65に示す第L+1層目の秘密鍵が出力される。つまり、DelegateLアルゴリズムでは、下位の秘密鍵が出力される。
階層的述語暗号の概要を説明する。
階層的述語暗号は、階層的述語鍵秘匿方式と同様に、Setup、GenKey、Enc、Dec、DelegateL(L=1,...,d−1)の5つの確率的多項式時間アルゴリズムを備える。
(Setup)
階層的述語鍵秘匿方式と同様に、Setupアルゴリズムでは、セキュリティパラメータ1λと階層情報μ→とが入力され、マスター公開鍵pkとマスター秘密鍵skとが出力される。
(GenKey)
階層的述語鍵秘匿方式と同様に、GenKeyアルゴリズムでは、マスター公開鍵pkとマスター秘密鍵skと数67に示す述語ベクトルv→ 1が入力され、数68に示す第1層目の秘密鍵が出力される。
Encアルゴリズムでは、マスター公開鍵pkと属性ベクトルx→ i(i=1,...,Lx)(1≦Lx≦d)と平文情報mとが入力され、暗号文cが出力される。つまり、Encアルゴリズムでは、平文情報mを埋め込み属性ベクトルx→ i(i=1,...,Lx)(1≦Lx≦d)により暗号化された暗号文cが出力される。
(Dec)
Decアルゴリズムでは、マスター公開鍵pkと数69に示す第Lv層目の秘密鍵(1≦Lv≦d)と暗号文cとが入力され、平文情報m又は識別情報⊥が出力される。識別情報⊥とは、復号に失敗したことを示す情報である。つまり、Decアルゴリズムでは、暗号文cを第Lv層目の秘密鍵で復号して、平文情報mを抽出する。また、復号に失敗した場合には識別情報⊥を出力する。
階層的述語鍵秘匿方式と同様に、DelegateLでは、マスター公開鍵pkと数70に示す第L層目の秘密鍵と数71に示す第L+1層目の述語ベクトルv→ L+1とが入力され、数72に示す第L+1層目の秘密鍵が出力される。つまり、DelegateLアルゴリズムでは、下位の秘密鍵が出力される。
暗号処理システム10について説明する。暗号処理システム10は、上述した階層的述語鍵秘匿方式と階層的述語暗号とのアルゴリズムを実行する。
図6は、暗号処理システム10の構成図である。
暗号処理システム10は、鍵生成装置100、暗号化装置200、復号装置300、鍵委譲装置400を備える。なお、ここでは、復号装置300は、鍵委譲装置400を備えるものとする。また、上述したように、暗号処理システム10は、階層的な暗号処理を実行するものであるため、暗号処理システム10は、複数の暗号化装置200、複数の復号装置300、複数の鍵委譲装置400を備えるものとする。
鍵生成装置100は、階層的述語鍵秘匿方式と階層的述語暗号とのSetup、GenKeyアルゴリズムを実行する。
暗号化装置200は、階層的述語鍵秘匿方式と階層的述語暗号とのEncアルゴリズムを実行する。
復号装置300は、階層的述語鍵秘匿方式と階層的述語暗号とのDecアルゴリズムを実行する。
鍵委譲装置400は、階層的述語鍵秘匿方式と階層的述語暗号とのDelegateLアルゴリズムを実行する。
(S101:鍵生成ステップ)
鍵生成装置100は、Setupアルゴリズムを実行してマスター公開鍵pkとマスター秘密鍵skとを生成する。また、鍵生成装置100は、生成したマスター公開鍵pkとマスター秘密鍵skと、所定の復号装置300(第1層目の復号装置300)に対応する述語ベクトルv→ 1(v→ 1=(v0,...,vi)(i=μL−1))とに基づき、GenKeyアルゴリズムを実行して第1層目の秘密鍵を生成する。そして、鍵生成装置100は、生成したマスター公開鍵pkを公開(配布)するとともに、第1層目の秘密鍵を前記所定の復号装置300へ秘密裡に配布する。なお、鍵生成装置100は、マスター秘密鍵を秘密裡に保持する。
(S102:暗号化ステップ)
暗号化装置200は、(S101)で鍵生成装置100が配布したマスター公開鍵pkと、前記復号装置300の属性ベクトルx→ 1(x→ 1=(x0,...,xi)(i=μL−1))とに基づき、Encアルゴリズムを実行して暗号文cを生成する。なお、階層的述語鍵秘匿方式であれば、暗号化装置200は、セッション鍵Kも併せて生成する。そして、暗号化装置200は、生成した暗号文cを前記復号装置300へネットワーク等を介して送信する。なお、属性ベクトルx→ 1は、公開されているものとしてもよいし、暗号化装置200が鍵生成装置100や復号装置300から取得するものとしてもよい。
(S103:復号ステップ)
復号装置300は、(S101)で鍵生成装置100が配布したマスター公開鍵pkと第1層目の秘密鍵とに基づき、アルゴリズムDecを実行して、暗号化装置200から受信した暗号文cを復号する。復号装置300は、暗号文cを復号した結果、階層的述語鍵秘匿方式であればセッション鍵Kを取得し、階層的述語暗号であれば平文情報mを取得する。復号装置300は、復号に失敗した場合には識別情報⊥を出力する。
(S201:鍵委譲ステップ)
第L層目の鍵委譲装置400(第L層目の復号装置300が備える鍵委譲装置400)は、(S101)で鍵生成装置100が配布したマスター公開鍵pkと、鍵生成装置100又は第L−1層目の鍵委譲装置400が配布した第L層目の秘密鍵と、第L+1層目の復号装置300に対応する述語ベクトルv→ L+1(v→ L+1=(vi,...,vj)(i=μL,j=μL+1−1))とに基づき、アルゴリズムDelegateLを実行して第L+1層目の秘密鍵を生成する。そして、第L層目の鍵委譲装置400は、生成した秘密鍵を第L+1層目の復号装置300へ秘密裡に配布する。
(S202:暗号化ステップ)
暗号化装置200は、(S101)で鍵生成装置100が配布したマスター公開鍵pkと、第L+1層目までの復号装置300の属性ベクトルx→ 1から属性ベクトルx→ L+1(x→ i(i=1,...,L+1)(=(x0,...,xi)(i=μL+1−1)))とに基づき、Encアルゴリズムを実行して暗号文cを生成する。なお、階層的述語鍵秘匿方式であれば、暗号化装置200は、セッション鍵Kも併せて生成する。そして、暗号化装置200は、生成した暗号文cを前記復号装置300へネットワーク等を介して送信する。なお、属性ベクトルx→ 1から属性ベクトルx→ L+1(x→ i(i=1,...,L+1))は、公開されているものとしてもよいし、暗号化装置200が鍵生成装置100や復号装置300から取得するものとしてもよい。
(S203:復号ステップ)
復号装置300は、(S101)で鍵生成装置100が配布したマスター公開鍵pkと、(S201)で第L層目の鍵委譲装置400が配布した秘密鍵とに基づき、アルゴリズムDecを実行して、暗号化装置200から受信した暗号文cを復号する。復号装置300は、暗号文cを復号した結果、階層的述語鍵秘匿方式であればセッション鍵Kを取得し、階層的述語暗号であれば平文情報mを取得する。
次に、上述した階層的述語鍵秘匿方式と階層的述語暗号との各アルゴリズムを実現するために必要となる概念を説明する。
双線形ペアリンググループ(G1,G2,GT,g1,g2,q)を説明する。
双線形ペアリンググループ(G1,G2,GT,g1,g2,q)は、位数qの3つの巡回群G1,G2,GTの組である。g1はG1の生成元であり、g2はG2の生成元である。そして、双線形ペアリンググループ(G1,G2,GT,g1,g2,q)は、以下の非退化双線形ペアリングの条件を満たす。
(条件:非退化双線形ペアリング)
多項式時間で計算可能な数73に示す非退化双線形ペアリングが存在すること。
1次元空間の巡回群を高次元空間(高次元ベクトル空間)へ拡張する。つまり、数74に示すように、G1とG2との直積によりN次元ベクトル空間VとN次元ベクトル空間V*とを構築する。
N次元ベクトル空間Vの標準基底Aと、N次元ベクトル空間V*の標準基底A*とを説明する。
数77は、標準基底Aを示す。
標準基底Aと標準基底A*とが数80に示す条件を満たすことについて補足する。
まず、e(ai,a* i)=uであることについて説明する。一例として、e(a0,a* 0)について計算する。上記の通り、a0=(g1,0,...,0)であり、a* 0=(g2,0,...,0)である。したがって、e(a0,a* 0)=e(g1,g2)×e(0,0)×,...,×e(0,0)である。ここで、上記の通り、e(g1,g2)=uである。また、e(0,0)=e(0・g1,0・g2)=e(g1,g2)0であるから、e(0,0)=1である。したがって、e(a0,a* 0)=uとなる。他のe(ai,a* i)についても同様の計算が成立し、e(ai,a* i)=uとなる。
次に、e(ai,a* j)=1(i≠j)であることについて説明する。一例として、e(a0,a* 1)について計算する。上記の通り、a0=(g1,0,...,0)であり、a* 1=(0,g2,0,...,0)である。したがって、e(a0,a* 1)=e(g1,0)×e(0,g2)×e(0,0)×,...,×e(0,0)である。e(g1,0)=e(g1,0・g2)=e(g1,g2)0であるから、e(g1,0)=1である。同様に、e(0,g2)=1である。また、上記の通り、e(0,0)=1である。したがって、e(ai,a* j)=1となる。他のe(ai,a* j)についても同様の計算が成立し、e(ai,a* j)=1となる。
したがって、標準基底Aと標準基底A*とにおいて、e(ai,a* i)=uであり、e(ai,a* j)=1(i≠j)である。
標準基底Aにおける空間Vの生成元xに対するディストーション写像という線形変換について説明する。
空間Vの標準基底Aにおけるディストーション写像φi,jは、数81に示す写像である。
空間V*の標準基底A*におけるディストーション写像φ* i,jも、空間Vの標準基底Aにおけるディストーション写像φi,jと同様に表すことができる。
標準基底Aと標準基底A*とから他の基底Bと基底B*とへ変換する基底変換方法について説明する。図9は、基底変換方法を説明するための図である。
空間Vにおける標準基底Aから空間Vにおける他の基底B:=(b0,...,bN−1)へ変換する。ここでは、数86に示す一様に選択された線形変換Xを用いて、数87に示すように空間Vにおける標準基底Aから空間Vにおける他の基底Bに変換する。
以下に説明する暗号処理において、基底Bは、公開パラメータ(公開鍵)として使用される。また、Xは、トラップドア情報(秘密鍵)として使用される。
以下に説明する暗号処理において、基底B*は(Xに代えて)秘密鍵として使用できる。詳しくは後述するが、これにより、後述する暗号処理において、要求される秘密鍵の要件に応じて様々なレベル又はタイプの秘密鍵を作ることができる。つまり、最上位階層の秘密鍵をXとして、下位のレベルの秘密鍵を基底B*の部分情報とすることにより、上位階層の秘密鍵から下位階層の秘密鍵まで階層化された秘密鍵を作ることができる。
暗号処理に適した(V,B)と(V*,B*)における計算困難問題の定義及び確立をする。つまり、後述する暗号処理の安全性の根拠となる計算困難問題について説明する。ここで、上述したように、基底B:=(b0,...,bN−1)は、空間Vの基底であり、基底B*:=(b* 0,...,b* N−1)は空間V*の基底である。
なお、非特許文献21には、(V,B)における計算問題と決定問題とについての記載、及びそれらの問題の関連についての調査結果についての記載がある。
ここでは、非特許文献21に記載された計算ベクトル分解問題(Computational Vector Decomposition Problem,CVDP)と、決定部分空間問題(Decisional Subspace Problem,DSP)とについて簡単に説明する。
(N1,N2)CVDPの仮定は、「数90に示すvが与えられた場合に、数91に示すuを計算することは難しい」というものである。
なお、たとえCVDP仮定が正しいとしても、上述したディストーション写像φi,jと、トラップドアX(上述した基底変換方法における線形変換X)と非特許文献21に記載されたアルゴリズムDecoとを用いることにより、CVDPは効率的に計算することができる。一方、CVDP仮定が正しい場合、トラップドアXが与えられなければ、CVDPを効率的に解くことはできない。つまり、上述した基底変換方法における線形変換Xを最上位階層の秘密鍵とすることで、線形変換Xを知らない下位階層ではCVDPを効率的に解くことはできない。
2つのベクトルの内積の計算に双対正規直交基底(B,B*)を適用して、内積述語暗号を実現する。
2つのベクトルの内積の計算に双対正規直交基底(B,B*)を適用するとは、数94を計算することである。
暗号文cは、数95に示すように生成される。
また、セッション鍵Kだけでなく、属性ベクトルx→についても隠蔽される。つまり、秘密鍵k*を有さない攻撃者は、暗号文cからセッション鍵Kだけでなく属性ベクトルx→についての情報を得ることもできない。ここで、上述したDSP仮定は属性情報x→を隠蔽することを説明する中心的な役割を果たす。DSP仮定によれば、数100が数101から区別できないことを示すためである。
第4で説明した概念を踏まえて、双対ディストーションベクトル空間について説明する。上述したように、後述する階層的述語鍵秘匿方式と階層的述語暗号とは、双対ディストーションベクトル空間において実現される。
双対ディストーションベクトル空間(V,V*,GT,A,A*,q)は、Fq上の2つのN次元ベクトル空間V,V*の組と、位数qの巡回群GTと、空間Vの標準基底A:=(a0,...,aN−1)と空間V*の標準基底A*:=(a* 0,...,a* N−1)を有する空間であって、以下の(1)ディストーション写像が存在する、(2)非退化双線形ペアリングが存在する、(3)2つの空間の標準基底が双対正規直交基底であるという3つの条件を満たす空間である。
(1)ディストーション写像(上記第4−4参照)
多項式時間で計算可能なディストーション写像φi,jとφ* i,jが存在すること。
つまり、数102に示す空間Vの準同型φi,jと空間V*の準同型φ* i,jが多項式時間で計算可能であることが1つ目の条件である。
多項式時間で計算可能な非退化双線形ペアリングeが存在すること。
つまり、数103に示す非退化双線形ペアリングeが存在することが2つ目の条件である。
空間Vの標準基底Aと空間V*の標準基底A*とが双対正規直交基底であること。
つまり、空間Vの標準基底Aと空間V*の標準基底A*とが、数104に示す条件を満たすことが3つ目の条件である。
数105に示すランダムな係数を用いて、数106に示すV/Fq(resp.V*/Fq)のランダムな多項式時間で計算可能な準同型を効率的にサンプリングすることができる。
上述した概念(上記第4参照)と、双対ディストーションベクトル空間(上記第5参照)とを踏まえて、上述した暗号処理システム10(上記第3参照)が階層的述語鍵秘匿方式と階層的述語暗号とを実現する方法を簡単に説明する。
まず、暗号処理システム10は、双対ディストーションベクトル空間において、階層的述語鍵秘匿方式と階層的述語暗号とを実現する。つまり、暗号処理システム10は、ディストーション写像と、非退化双線形ペアリングと、双対正規直交基底とを有する高次元ベクトル空間であって、ペアリング演算eによって関連付けられた高次元双対ベクトル空間において、階層的述語鍵秘匿方式と階層的述語暗号とを実現する。なお、2つの空間を関連付けるペアリング演算e(高次元ベクトル空間におけるペアリング演算)は、上記第4−2にて定義されたペアリング演算である。
また、上記第4−5によれば、暗号処理システム10は、各空間VとV*との標準基底AとA*とから所定の変換により生成された双対正規直交基底BとB*とを鍵ペア(公開鍵と秘密鍵とのペア)として用いて、階層的述語鍵秘匿方式と階層的述語暗号とを実現する。上記第4−7によれば、暗号処理システム10の鍵生成装置100は、双対正規直交基底BとB*との一方(以下、基底B)をマスター公開鍵とし、他方(以下、基底B*)をマスター秘密鍵とする。
つまり、図7の(S101)で鍵生成装置100は、高次元ベクトル空間である双対ディストーションベクトル空間の基底Bを含む情報をマスター公開鍵として生成し、基底B*を含む情報をマスター秘密鍵として生成する。また、鍵生成装置100は、述語ベクトルv→ 1(v→ 1=(v0,...,vi)(i=μ1−1))に基づき基底B*におけるベクトルを第1層目の秘密鍵として生成する。図7の(S102)で暗号化装置200は、x→ 1(x→ 1=(x0,...,xi)(i=μ1−1))に基づきマスター公開鍵である基底Bにおけるベクトルにセッション鍵Kを生成するための情報ρ又は平文情報mを埋め込んで暗号文cとして生成する。図7の(S103)で復号装置300は、基底Bにおけるベクトルである暗号文cと、基底B*におけるベクトルである第1層目の秘密鍵とについてペアリング演算eを行い、暗号文cに埋め込まれたセッション鍵K又は平文情報mを抽出する。なお、復号装置300が実行する高次元ベクトルについてのペアリング演算eは上記第4−2にて定義されたペアリング演算である。
また、図8の(S201)で鍵委譲装置400は、述語ベクトルv→ L+1(v→ L+1=(vi,...,vj)(i=μ1,j=μL+1−1))に基づき基底B*におけるベクトルを第L+1層目の秘密鍵として生成する。図8の(S202)で暗号化装置200は、属性ベクトルx→ 1からx→ L+1までの属性ベクトル(x→ i(i=1,...,L+1)(=(x0,...,xi)(i=μL+1−1)))に基づきマスター公開鍵である基底Bにおけるベクトルにセッション鍵Kを生成するための情報ρ又は平文情報mを埋め込んで暗号文cとして生成する。図8の(S203)で復号装置300は、基底Bにおけるベクトルである暗号文cと、基底B*におけるベクトルである第L+1層目の秘密鍵とについてペアリング演算eを行い、暗号文cに埋め込まれたセッション鍵K又は平文情報mを抽出する。
なお、上記第4−6で述べた計算困難問題に基づき、この暗号処理の安全性(セッション鍵K又は平文情報m及び属性ベクトルの秘匿性)は保障される。
この実施の形態では、実施の形態1で説明した概念に基づき、階層的述語鍵秘匿方式を実現する暗号処理システム10について説明する。
図10は、この実施の形態に係る暗号処理システム10の機能を示す機能ブロック図である。暗号処理システム10は、上述したように、鍵生成装置100、暗号化装置200、復号装置300、鍵委譲装置400を備える。また、ここでも、復号装置300が鍵委譲装置400を備えるものとする。
図11は、鍵生成装置100の動作を示すフローチャートである。図12は、暗号化装置200の動作を示すフローチャートである。図13は、復号装置300の動作を示すフローチャートである。図14は、鍵委譲装置400の動作を示すフローチャートである。
図15は、双対ディストーションベクトル空間の基底の構造を示す概念図である。
マスター鍵生成部110は、数107を計算して、マスター公開鍵pkとマスター秘密鍵skとを処理装置により生成してマスター鍵記憶部120に記憶する。
(2)マスター鍵生成部110は、標準基底Aから基底Bを生成するための線形変換Xを処理装置によりランダムに選択する。
(3)マスター鍵生成部110は、選択した線形変換Xに基づき、基底A:=(a0,...,an−1)から基底B:=(b0,...,bn−1)を処理装置により生成する。
(4)マスター鍵生成部110は、基底A*:=(a* 0,...,a* n−1)から基底B*:=(b* 0,...,b* n−1)を生成するための線形変換(XT)−1を線形変換Xから処理装置により生成する。
(5)マスター鍵生成部110は、生成した線形変換(XT)−1に基づき、基底A*から基底B*を処理装置により生成する。
(6)マスター鍵生成部110は、生成した基底B*をマスター秘密鍵skとし、生成した基底Bを含む(1λ,μ→,V,V*,GT,A,A*,q,B)をマスター公開鍵pkとする。そして、マスター鍵記憶部120は、マスター鍵生成部110が生成したマスター公開鍵pkとマスター秘密鍵skとを記憶装置に記憶する。
なお、双対ディストーションベクトル空間の次元数は、N(=n+2)であるとした。ここで、nは、階層情報μ→が有する階層構造をあらわすために割り当てられている基底数を表すnである。つまり、ここでは、階層構造をあらわすために割り当てられている基底数nに加え、2つの基底ベクトルが設けられている。もちろん、これよりも多くの基底ベクトルを設けてもよい。
図15に示すように、N(=n+2)個の基底ベクトルのうち、n個の基底ベクトルが階層構造をあらわすために割り当てられている。階層構造をあらわすために割り当てられている基底ベクトルの構造は、図5に示す構造と同様である。残り2つの基底ベクトルのうちの1つの基底ベクトル(n番目の基底ベクトル)は、セッション鍵を生成する情報(送信情報ρ)のための基底ベクトルである。残り2つの基底ベクトルのうちのもう1つの基底ベクトル(n+1番目の基底ベクトル)は、暗号文cをランダム化するための基底ベクトルである。
鍵ベクトル生成部130は、マスター公開鍵pkとマスター秘密鍵skと、述語ベクトルv→ 1(v→ 1=(v0,...,vi)(i=μL−1))とに基づき、数109を計算して、第1層目(レベル1)の秘密鍵の先頭要素である鍵ベクトルk* 1,0を処理装置により生成する。
(2)鍵ベクトル生成部130は、空間V*の基底B*における基底ベクトルb* nに対する係数として所定の値(ここでは、1)を処理装置により設定するとともに、基底ベクトルb* i(i=0,...,μ1−1)に対する係数として生成した乱数σ1,0でランダム化した述語ベクトルv→ 1の各要素を処理装置により設定して、鍵ベクトルk* 1,0を生成する。
鍵生成用ベクトル生成部140は、マスター公開鍵pkとマスター秘密鍵skと、述語ベクトルv→ 1とに基づき、数110を計算して、下位の秘密鍵(下位の鍵ベクトル)を生成するための鍵生成用ベクトルk* 1,jを処理装置により生成する。鍵生成用ベクトルk* 1,jは、第1層目の秘密鍵のj番目の要素である。
(2)鍵生成用ベクトル生成部140は、j=μ1,...,n−1の各jについて、空間V*の基底B*における基底ベクトルb* jに対する係数として所定の値(ここでは、1)を処理装置により設定するとともに、基底ベクトルb* i(i=0,...,μ1−1)に対する係数として生成した乱数σ1,jでランダム化した述語ベクトルv→ 1の各要素を処理装置により設定して、鍵生成用ベクトルk* 1,jを生成する。
鍵配布部150は、マスター鍵生成部110が生成したマスター公開鍵と、鍵ベクトル生成部130と鍵生成用ベクトル生成部140とが生成した鍵情報k→* 1とを復号装置300へ通信装置を介して送信する。また、鍵配布部150は、マスター公開鍵を暗号化装置200へ通信装置を介して送信する。ここで、鍵情報k→* 1は秘密裡に復号装置300へ送信されるが、鍵情報k→* 1を秘密裡に復号装置300へ送信する方法に関しては、どのような方法であっても構わない。例えば、従来の暗号処理を使用して送信してもよい。
送信情報設定部210は、マスター公開鍵pkに基づき、数112を処理装置により計算して送信情報ベクトルρvを生成する。
暗号ベクトル生成部220は、マスター公開鍵pkとx→ 1から属性ベクトルx→ L(x→ i(i=1,...,L)(=(x0,...,xi)(i=μL−1)))とに基づき、数113を処理装置により計算して暗号ベクトルcを生成する。ここで、Lは、階層の深さである。
(2)暗号ベクトル生成部220は、以下のように、マスター公開鍵pkに含まれる基底Bの基底ベクトルbi(i=0,...,μL−1)に対する係数として属性ベクトルの各要素を処理装置により設定するとともに、基底ベクトルbi(i=μL,...,n−1)に対する係数として乱数を処理装置により設定して属性情報ベクトルxvを生成する。
まず、暗号ベクトル生成部220は、基底ベクトルbi(i=0,...,μ1−1)に対する係数として乱数δ1でランダム化した属性ベクトルx→ 1を設定する。また、暗号ベクトル生成部220は、基底ベクトルbi(i=μ1,...,μ2−1)に対する係数として乱数δ2でランダム化した属性ベクトルx→ 2(x→ 2=(xi,...,xj)(i=μ1,j=μ2−1))を設定する。以下同様に、暗号ベクトル生成部220は、基底ベクトルbi(i=μk−1,...,μk−1)(k=3,...,L)に対する係数として乱数δkでランダム化した属性ベクトルx→ k(x→ k=(xi,...,xj)(i=μj−1,j=μj−1))を設定する。
また、暗号ベクトル生成部220は、基底ベクトルbi(i=μL,...,n−1)に対する係数として乱数x→ i(i=L+1,...,d)と乱数δi(i=L+1,...,d)とから計算した乱数値を設定する。
(3)暗号ベクトル生成部220は、マスター公開鍵pkに含まれる基底Bの基底ベクトルbn+1に対する係数として乱数δn+1を処理装置により設定して、乱数ベクトルrvを生成する。
(4)暗号ベクトル生成部220は、生成した属性情報ベクトルxvと乱数ベクトルrvとを、送信情報設定部210が生成した送信情報ベクトルρvに加算して暗号ベクトルcを処理装置により生成する。
データ送信部230は、暗号ベクトル生成部220が生成した暗号ベクトルcを復号装置300へ通信装置を介して送信する。
ベクトル入力部310は、暗号化装置200のデータ送信部230が送信した暗号ベクトルcを通信装置を介して受信して入力する。
ペアリング演算部330は、マスター公開鍵pkと第L層目の秘密鍵の先頭要素である鍵ベクトルk* L,0とに基づき、数116を処理装置により計算してセッション鍵K’(=K)を生成する。
このペアリング演算により、セッション鍵Kが計算できることについて詳しくは後述する。
鍵ベクトル取得部410は、第L層目の秘密鍵の先頭要素である鍵ベクトルk* L,0と、第L層目の秘密鍵のj番目(j=μ1,...,n−1)の要素である鍵生成用ベクトルk* L,jとを含む第L層目の秘密鍵(鍵情報k→* L)を通信装置を介して取得する。つまり、鍵生成装置100が配布した鍵ベクトルk* 1,0と鍵生成用ベクトルk* 1,jとを含む鍵情報k→* 1、又は、上位の鍵委譲装置400が配布した鍵ベクトルk* L,0と鍵生成用ベクトルk* L,jとを含む鍵情報k→* Lを通信装置を介して取得する。
(S602:鍵ベクトルk* L+1,0生成ステップ)
鍵ベクトル生成部420は、マスター公開鍵pkと鍵情報k→* Lと述語ベクトルv→ L+1(v→ L+1=(vi,...,vj)(i=μL,j=μL+1−1))とに基づき、数118を計算して、第L+1層目の秘密鍵の先頭要素である鍵ベクトルk* L+1,0を処理装置により生成する。
(2)鍵ベクトル生成部420は、鍵生成用ベクトルk* L,i(i=μL,...,μL+1−1)に対する係数に乱数σL+1,0でランダム化した述語ベクトルv→ L+1の各要素を設定したベクトルvi(i=μL,...,μL+1−1)を、鍵ベクトルk* L,0に加算して鍵ベクトルk* L+1,0を処理装置により生成する。
鍵生成用ベクトル生成部430は、マスター公開鍵pkと鍵情報k→* Lと述語ベクトルv→ L+1とに基づき、数119を計算して、下位の秘密鍵(下位の鍵ベクトル)を生成するための鍵生成用ベクトルk* L+1,j(j=μ1+1,...,n−1)を処理装置により生成する。鍵生成用ベクトルk* L+1,jは、第L+1層目の秘密鍵のj番目の要素である。
(2)鍵生成用ベクトル生成部140は、j=μL+1,...,n−1の各jについて、鍵生成用ベクトルk* L,jに、鍵生成用ベクトルk* L,i(i=μL,...,μL+1−1)に対する係数として乱数σL+1,jでランダム化した述語ベクトルv→ L+1の各要素を設定したベクトルを加算して、鍵ベクトルk* L+1,0の下位の鍵ベクトルを生成するための鍵生成用ベクトルk* L+1,jを処理装置により生成する。
鍵配布部440は、鍵ベクトル生成部420と鍵生成用ベクトル生成部430とが生成した鍵情報k→* L+1とを下位の復号装置300へ通信装置を介して送信する。ここで、鍵情報k→* L+1は秘密裡に復号装置300へ送信されるが、鍵情報k→* L+1を秘密裡に復号装置300へ送信する方法に関しては、どのような方法であっても構わない。例えば、従来の暗号処理を使用して送信してもよい。
図16に基づき、(S502)において、ペアリング演算部330が上記数116に示すペアリング演算によりセッション鍵K(=K’)を抽出できることを説明する。なお、図16では、簡単のため、乱数σと乱数δとの添え字を省略して示している。
上述したように、第L階層における暗号文cは、基底ベクトルbi(i=0,...,μL−1)に対する係数としてランダム化した属性ベクトルが設定されている。また、暗号文cは、基底ベクトルbi(i=μL,...,n−1)に対する係数として乱数x→が設定されている。また、暗号文cは、基底ベクトルbnに対する係数としてρが設定されている。さらに、暗号文cは、基底ベクトルbn+1に対する係数として乱数δが設定されている。
一方、第L階層における鍵ベクトルk* L,0は、基底ベクトルb* i(i=0,...,μL−1)に対する係数としてランダム化した述語ベクトルが設定されている。また、鍵ベクトルk* L,0は、基底ベクトルb* i(i=μL,...,n−1)に対する係数は設定されていない、つまり、係数として0が設定されている。また、鍵ベクトルk* L,0は、基底ベクトルb* nに対する係数として1が設定されている。さらに、鍵ベクトルk* L,0は、基底ベクトルbn+1に対する係数として0が設定されている。
ここで、数116に示すペアリング演算を行うと、鍵ベクトルk* L,0において、係数として0が設定されている基底ベクトルb* i(i=μL,...,n−1,n+1)と、対応する暗号文cの基底ベクトルbi(i=μL,...,n−1,n+1)との内積は0になる。
また、暗号文cにおいて係数として属性ベクトルが設定された基底ベクトルbi(i=0,...,μL−1)と、鍵ベクトルk* L,0において係数として述語ベクトルが設定された基底ベクトルb* i(i=0,...,μL−1)との内積は0となる。属性ベクトルと述語ベクトルとは内積が0となるように設定されたものであるためである。
したがって、数116に示すペアリング演算の結果e(ρbn,b* n)のみが内積0とならずに残る。よって、e(ρbn,b* n)=uρ=Kであり、数116に示すペアリング演算を計算することにより、セッション鍵Kを計算できる。
図17に基づき、(S502)において、上位階層の属性ベクトルに基づき暗号化した暗号文cと、下位階層の鍵ベクトルk* Lv,0とについて、ペアリング演算部330が上記数116に示すペアリング演算によりセッション鍵Kを抽出できないことを説明する。なお、図17では、簡単のため、乱数σと乱数δとの添え字を省略して示している。また、図17についての説明において、Lx(=Lx)<Lv(=Lv)である。
第Lx階層における暗号文cは、基底ベクトルbi(i=0,...,μLx−1)に対する係数としてランダム化した属性ベクトルが設定されている。また、暗号文cは、基底ベクトルbi(i=μLx,...,n−1)に対する係数として乱数x→が設定されている。また、暗号文cは、基底ベクトルbnに対する係数としてρが設定されている。さらに、暗号文cは、基底ベクトルbn+1に対する係数として乱数δが設定されている。
一方、第Lv階層における鍵ベクトルk* Lv,0は、基底ベクトルb* i(i=0,...,μLv−1)に対する係数としてランダム化した述語ベクトルが設定されている。また、鍵ベクトルk* Lv,0は、基底ベクトルb* i(i=μLv,...,n−1)に対する係数は設定されていない、つまり、係数として0が設定されている。また、鍵ベクトルk* Lv,0は、基底ベクトルb* nに対する係数として1が設定されている。さらに、鍵ベクトルk* Lv,0は、基底ベクトルbn+1に対する係数として0が設定されている。
ここで、数116に示すペアリング演算を行うと、鍵ベクトルk* L,0において、係数として0が設定されている基底ベクトルb* i(i=μLv,...,n−1,n+1)と、対応する暗号文cの基底ベクトルbi(i=μLv,...,n−1,n+1)との内積は0になる。
また、暗号文cにおいて係数として属性ベクトルが設定された基底ベクトルbi(i=0,...,μLx−1)と、鍵ベクトルk* L,0において係数として述語ベクトルが設定された基底ベクトルb* i(i=0,...,μLx−1)との内積は0となる。
しかし、暗号文cにおいて係数として乱数が設定された基底ベクトルbi(i=μLx,...,μLv−1)と、鍵ベクトルk* L,0において係数として述語ベクトルが設定された基底ベクトルb* i(i=μLx,...,μLv−1)との内積は0とならない。
したがって、e(ρbn,b* n)以外にも値が残ってしまいセッション鍵Kを計算できない。
図18に基づき、(S502)において、下位階層の属性ベクトルに基づき暗号化した暗号文cと、上位階層の鍵ベクトルk* Lv,0とについて、ペアリング演算部330が上記数116に示すペアリング演算によりセッション鍵Kを抽出できることを説明する。なお、図18では、簡単のため、乱数σと乱数δとの添え字を省略して示している。また、図20についての説明において、Lx(=Lx)>Lv(=Lv)である。
暗号文cと鍵ベクトルk* Lv,0との各基底ベクトルに対する係数としては、図17の場合と同様に設定されている。但し、上記の通り、Lx(=Lx)>Lv(=Lv)である。
ここで、数116に示すペアリング演算を行うと、鍵ベクトルk* L,0において、係数として0が設定されている基底ベクトルb* i(i=μLv,...,n−1,n+1)と、対応する暗号文cの基底ベクトルbi(i=μLv,...,n−1,n+1)との内積は0になる。
また、暗号文cにおいて係数として属性ベクトルが設定された基底ベクトルbi(i=0,...,μLv−1)と、鍵ベクトルk* L,0において係数として述語ベクトルが設定された基底ベクトルb* i(i=0,...,μLv−1)との内積は0となる。
したがって、数116に示すペアリング演算の結果e(ρbn,b* n)のみが内積0とならずに残る。よって、e(ρbn,b* n)=uρ=Kであり、数116に示すペアリング演算を計算することにより、セッション鍵Kを計算できる。
しかし、鍵生成装置100は、第1層目の鍵ではなく、第L層目(L≧2)の鍵を生成するとしてもよい。つまり、鍵生成装置100は、(S302)でk* L,0を生成し、(S303)でk* L,j(j=μL,...,n−1)を生成してもよい。
図19は、階層的述語暗号を実現する暗号処理システム10の機能を示す機能ブロック図である。図19に示す暗号処理システム10の鍵生成装置100と鍵委譲装置400とは、図10に示す暗号処理システム10の鍵生成装置100と鍵委譲装置400と同一である。図19に示す暗号処理システム10の暗号化装置200は、図10に示す暗号処理システム10の暗号化装置200が備えるセッション鍵生成部240を備えていない。図19に示す暗号処理システム10の復号装置300は、図10に示す暗号処理システム10の復号装置300が備える機能に加え、離散対数計算部340を備える。
図20は、図19に示す暗号化装置200の動作を示すフローチャートである。図21は、図19に示す復号装置300の動作を示すフローチャートである。なお、鍵生成装置100と鍵委譲装置400との動作は、図10に示す暗号処理システム10の鍵生成装置100と鍵委譲装置400との動作と同一であるため、説明を省略する。
(S701)で、暗号化装置200の送信情報設定部210は、(S401)での送信情報ρに代えて、平文情報mを基底ベクトルbnに対する係数として処理装置により設定して、平文ベクトルmvを生成する。次に、(S702)で、暗号ベクトル生成部220は、(S402)と同様に属性情報ベクトルxvと乱数ベクトルrvとを生成する。そして、暗号ベクトル生成部220は、生成した属性情報ベクトルxvと乱数ベクトルrvとを、平文ベクトルmvに加算して暗号ベクトルcを処理装置により生成する。そして、(S703)で、データ送信部230は、(S402)と同様に生成した暗号ベクトルcを復号装置300へ通信装置を介して送信する。
(S801)で、復号装置300のベクトル入力部310は、(S501)と同様に暗号ベクトルcを通信装置を介して受信して入力する。(S802)で、ペアリング演算部330は、(S502)と同様に暗号ベクトルcと鍵ベクトルk* L,0とについて、マスター公開鍵pkに含まれる空間Vと空間V*とを関連付けるペアリング演算eを処理装置により行う。そして、鍵ベクトル記憶部320は、平文情報mに関する情報f(=um)を取得する。(S803)で、離散対数計算部340は、fについて、uを底とする離散対数問題を解き、平文情報mを計算する。つまり、離散対数計算部340は、数125を計算する。
このように、平文情報mを小さな値に制限した場合であっても、多くの応用が可能であることは一般に知られている。
なお、上記説明では、平文情報mを1つの基底ベクトルbnにのみ設定する例を説明した。しかし、以上の説明に基づけば、容易に複数の基底ベクトルに平文情報mを設定することも可能である。
この実施の形態では、実施の形態2で説明した階層的述語鍵秘匿方式の安全性について説明する。
まず、この実施の形態では、階層的述語鍵秘匿方式の正当性を説明する。そして、実施の形態2で説明した階層的述語鍵秘匿方式がこの正当性の要件を満たすことを説明する。次に、階層的述語鍵秘匿方式についての「属性秘匿安全」を説明する。次に、安全性の基準としてCPA(Chosen Plaintext Attacks)に対する適応的属性秘匿について定義する。そして、実施の形態2で説明した階層的述語鍵秘匿方式は、CPAに対する適応的属性秘匿の要件を満たす。
(補題1)
Lを1≦L≦dとする。数128に示す第L層目の秘密鍵は、数129に示す式の係数φL,i,j∈Fqの線形結合によって与えられる。
Lにおける帰納法を用いて説明する。
L=1に対して、数130であるから補題1は成立する。
実施の形態2で説明した階層的述語鍵秘匿方式が上述した正当性の要件を満たす。
(補題2が成立することの説明)
cを数133に示す属性ベクトルx→ Lxに対応する秘匿されたセッション鍵であるとする。基底BとB*との正規直交性、つまり数134と補題1とによって、復元されたセッション鍵K’は、数135となる。
階層的述語鍵秘匿方式についての属性秘匿安全とは、暗号文(暗号ベクトル)を生成するために使用した属性ベクトルについての秘匿性が保たれることである。つまり、属性秘匿安全である階層的述語鍵秘匿方式において、攻撃者Aは、暗号文を取得した場合であっても、暗号文を生成するために使用した属性ベクトルについて、送信情報ρに関する情報(セッション鍵K)と同様に知ることができない。
述語鍵秘匿方式についての属性秘匿安全についての正確な定義は、非特許文献19に記載がある。なお、非特許文献19では、「階層的」という概念を考慮していない。そこで、「階層的」という概念、すなわち鍵委譲という処理を考慮するため、数145に示す(1)(2)の2つの場合も扱い、非特許文献19に記載された述語鍵秘匿方式についての属性秘匿安全についての定義を、階層的述語鍵秘匿方式を含むように一般化する。以下の説明において、ビットτは、上記2つの場合を切り替えるために使用される。
階層的属性Σにおける階層的述語Fについての階層的述語鍵秘匿方式がCPAに対して適応的属性秘匿であることの要件は、全ての確率的多項式時間の攻撃者Aについて、以下に示す実験(CPA適応的属性秘匿ゲーム)における攻撃者Aのアドバンテージがセキュリティパラメータにおいて無視し得ることである。
(実験:CPA適応的属性秘匿ゲーム)
1.Setupアルゴリズムが実行され、マスター公開鍵pkとマスター秘密鍵skが生成される。そして、マスター公開鍵pkが攻撃者Aに与えられる。
2.攻撃者Aは、数146に示すベクトルに対応する鍵を適応的に要求できる。
ここで、攻撃者Aのアドバンテージを数153として定義する。
この実施の形態では、実施の形態2で説明した階層的述語鍵秘匿方式を応用した安全性の高い階層的述語暗号について説明する。ここで安全性が高いとは、後の実施の形態で説明するCCA(Chosen Ciphertext Attacks)に対する適応的属性秘匿の安全性を満たすという意味である。
まず、CCAに対する適応的属性秘匿の安全性を満たす階層的述語暗号を実現するための概念として、(1)安全なメッセージ認証、(2)安全な秘匿方式、(3)安全な共通鍵暗号、(4)安全な鍵生成関数の4つの概念を説明する。なお、(1)から(4)の4つの概念は、以下に説明するように先行技術文献に記載された概念であるため、ここでは簡単に説明する。
次に、上記4つの概念を用いて、CCAに対する適応的属性秘匿の安全性を満たす階層的述語暗号を実現する暗号処理システム10について説明する。
(Mac,Vrfy)を、ワンタイム選択メッセージ攻撃(one−time chosen−message atacks)に対して安全なメッセージ認証コードであるとする。なお、ワンタイム選択メッセージ攻撃に対して安全なメッセージ認証コードについての定義は、非特許文献7に記載されている。
(Mac,Vrfy)は、対をなす処理であり、それぞれ以下のように動作する。
Macは、データを暗号化して認証情報を生成する処理である。Mackey(x)は、データxに対して鍵keyにより暗号化する。つまり、y=Mackey(x)であれば、データyは、データxを鍵keyで暗号化したデータ(認証情報)である。
Vrfyは、Macによって生成された認証情報を検証する処理である。Vrfykey’(x’,y’)は、y=Mackey(x)であるとき、x=x’、y=y’、key=key’である場合に1を返し、x=x’、y=y’、key=key’のいずれか1つでも成立しない場合に0を返す処理である。
(Setupenc,Senc,Renc)を、安全な秘匿方式であるとする。また、(Setupenc,Senc,Renc)とともに、後述する第1検証情報com、第2検証情報dec、第3検証情報rを用いる。なお、安全な秘匿方式についての定義は、非特許文献7に記載されている。
(Setupenc,Senc,Renc)は一体をなす処理であり、それぞれ以下のように動作する。
Setupencは、セキュリティパラメータ1kを入力として、文字列pubをランダムに選択して出力する。
Sencは、1kと文字列pubとを入力として、第1検証情報comと第2検証情報decとr∈{0,1}kである第3検証情報rとをランダムに選択して出力する。
Rencは、文字列pubと第1検証情報comと第2検証情報decとを入力として、r∈{0,1}k∪{⊥}である第3検証情報rを出力する。ここで、Rencは、Setupencが出力した文字列pubと、そのpubによってSencが出力した第1検証情報comと第2検証情報decとが入力された場合、r∈{0,1}kである第3検証情報rを出力し、その他の情報が入力された場合r∈{⊥}である第3検証情報rを出力する。
(SE,SD)を、安全な共通鍵暗号方式であるとする。なお、安全な共通鍵暗号方式についての定義は、非特許文献1に記載されている。
(SE、SD)は、対をなす処理であり、それぞれ以下のように動作する。
SEは、共通鍵を用いて暗号化する処理である。SEkey(x)は、データxを共通鍵keyにより暗号化する処理である。y=SEkey(x)であれば、データyは、データxを共通鍵keyにより暗号化したデータである。
SDは、共通鍵を用いて復号する処理である。SDkey(y)は、データyを共通鍵keyにより復号する処理である。つまり、y=SEkey(x)である場合に、x=SDkey(y)である。
KDFを、安全な鍵生成関数であるとする。なお、安全な鍵生成関数についての定義は、非特許文献1に記載されている。
KDF(x)は、データxに基づき鍵を生成する処理である。key=KDF(x)であれば、鍵keyはデータxに基づき生成された鍵である。
図22から図25と、図11と図14とに基づき、暗号処理システム10の機能と動作とについて説明する。
図22は、この実施の形態に係る暗号処理システム10の機能を示す機能ブロック図である。暗号処理システム10は、実施の形態2に係る暗号処理システム10と同様に、鍵生成装置100、暗号化装置200、復号装置300、鍵委譲装置400を備える。また、ここでも、復号装置300が鍵委譲装置400を備えるものとする。
図23は、暗号化装置200の動作を示すフローチャートである。図24は、復号装置300の動作を示すフローチャートである。なお、鍵生成装置100と鍵委譲装置400との動作の流れは、実施の形態2に係る鍵生成装置100と鍵委譲装置400との動作の流れと同一である。そのため、鍵生成装置100の動作については、図11に基づき説明する。また、鍵委譲装置400の動作については、図14に基づき説明する。
図25は、双対ディストーションベクトル空間の基底の構造を示す概念図である。
マスター鍵生成部110は、数154を計算して、マスター公開鍵pkとマスター秘密鍵skとを処理装置により生成してマスター鍵記憶部120に記憶する。
なお、双対ディストーションベクトル空間の次元数は、N(=n+4)であるとした。ここで、nは、階層情報μ→が有する階層構造をあらわすために割り当てられている基底数を表すnである。つまり、ここでは、階層構造をあらわすために割り当てられている基底数nに加え、4つの基底ベクトルが設けられている。もちろん、これよりも多くの基底ベクトルを設けてもよい。
図25に示すように、N(=n+4)個の基底ベクトルのうち、n個の基底ベクトルが階層構造をあらわすために割り当てられている。階層構造をあらわすために割り当てられている基底ベクトルの構造は、図5に示す構造と同様である。そして、残り4つの基底ベクトルのうちの1つの基底ベクトル(n番目の基底ベクトル)は、平文情報mのための基底ベクトルである。残り4つの基底ベクトルのうちの他の1つの基底ベクトル(n+1番目の基底ベクトル)は、暗号文cをランダム化するための基底ベクトルである。残り4つの基底ベクトルのうちの他の2つの基底ベクトル(n+2,n+3番目の基底ベクトル)は、検証情報(第1検証情報com)のための基底ベクトルである。
実施の形態2と同様に、鍵生成用ベクトル生成部140は、数157を計算して鍵生成用ベクトルk* 1,jを処理装置により生成する。
実施の形態2の鍵配布部150と同様に、鍵配布部150は、マスター鍵生成部110が生成したマスター公開鍵と、鍵ベクトル生成部130と鍵生成用ベクトル生成部140とが生成した鍵情報k→* 1とを復号装置300へ通信装置を介して送信する。また、鍵配布部150は、マスター公開鍵を暗号化装置200へ通信装置を介して送信する。
検証情報生成部250は、数159を処理装置により計算して第1検証情報com、第2検証情報dec、第3検証情報rを生成する。
検証情報設定部260は、マスター公開鍵pkに基づき、数161を処理装置により計算して検証情報ベクトルcvを生成する。
(2)検証情報設定部260は、マスター公開鍵pkに含まれる基底Bの基底ベクトルbn+2に対する係数として乱数δn+2でランダム化した所定の値(ここでは、1)を処理装置により設定するとともに、基底ベクトルbn+3に対する係数として乱数δn+2でランダム化した第1検証情報comを処理装置により設定して、検証情報ベクトルcvを生成する。
暗号ベクトル生成部220は、マスター公開鍵pkと属性ベクトルx→ 1から属性ベクトルx→ L(x→ i(i=1,...,L)(=(x0,...,xi)(i=μL−1)))(Lは、階層の深さ)とに基づき、数162を処理装置により計算して暗号ベクトルcを生成する。
(2)実施の形態2と同様に、暗号ベクトル生成部220は、マスター公開鍵pkに含まれる基底Bの基底ベクトルbi(i=0,...,μL−1)に対する係数として属性ベクトルの各要素を処理装置により設定するとともに、基底ベクトルbi(i=μL,...,n−1)に対する係数として乱数を処理装置により設定して属性情報ベクトルxvを生成する。
(3)実施の形態2と同様に、暗号ベクトル生成部220は、マスター公開鍵pkに含まれる基底Bの基底ベクトルbn+1に対する係数として乱数を処理装置により設定して、乱数ベクトルrvを生成する。
(4)暗号ベクトル生成部220は、生成した属性情報ベクトルxvと乱数ベクトルrvと、送信情報設定部210が生成した送信情報ベクトルρvと、検証情報設定部260が生成した検証情報ベクトルcvとを加算して暗号ベクトルc(データc1)を処理装置により生成する。
署名情報生成部270は、数164を処理装置により計算してデータc2を生成する。
署名情報生成部270は、第1検証情報comをデータc3とする。
署名情報生成部270は、以下の数165を処理装置により計算してデータc4を生成する。
データ送信部230は、暗号ベクトル生成部220が生成したデータc1と、署名情報生成部270が生成したデータc2,c3,c4とを復号装置300へ通信装置を介して送信する。
実施の形態2と同様に、ベクトル入力部310は、暗号化装置200のデータ送信部230が送信したデータc1,c2,c3,c4を通信装置を介して受信して入力する。
ベクトル変形部350は、数167を処理装置により計算して、鍵ベクトルk* L,0を変形する。
ペアリング演算部330は、マスター公開鍵pkと変形後の鍵ベクトルk* L,0とに基づき、数168を処理装置により計算してセッション鍵K’(=K)を生成する。
なお、データc1が改ざんされていなければ、ベクトル変形部350が鍵ベクトルを変形したことにより、データc1に設定された検証情報comを含む情報(基底ベクトルbn+2,bn+3に設定された情報)は、ペアリング演算の結果消える。そのため、データc1が改ざんされていなければ、ペアリング演算部330は、暗号化装置200が生成したセッション鍵Kと同一のセッション鍵Kを生成することができる。
復号部360は、数169を処理装置により計算してデータc2を復号する。
改ざん検証部370は、数170と数171とが成立するか否かを処理装置により判定してデータc1,c2,c3,c4が改ざんされていないことを検証する。すなわち、改ざん検証部370は、平文情報mが改ざんされていないことを検証する。
(2)改ざん検証部370は、数171に示すように、生成した第3検証情報r’と、暗号化装置200から受信したデータc1,c2,c4とに基づき、Vrfyを処理装置により実行する。第3検証情報r’が正しく、データc1,c2,c4が改ざんされていなければ、Vrfyの実行結果は1となる。一方、第3検証情報r’が正しくないか、あるいはデータc1,c2,c4のいずれかが改ざんされていれば、Vrfyの実行結果は0となる。
改ざん検証部370は、第3検証情報rが正しく生成されるとともに、Vrfyの実行結果が1であれば、生成した平文情報m’は暗号化装置200が送信した平文情報mであると判定する。平文情報m’が平文情報mであると判定した場合、改ざん検証部370は平文情報m’を出力する。一方、平文情報m’が平文情報mでないと判定した場合、改ざん検証部370は識別情報⊥を出力する。
実施の形態2と同様に、鍵ベクトル取得部410は、第L層目の秘密鍵の先頭要素である鍵ベクトルk* L,0と、第L層目の秘密鍵のj番目(j=μ1,...,n−1)の要素である鍵生成用ベクトルk* L,jとを含む第L層目の秘密鍵(鍵情報k→* L)を通信装置を介して取得する。
(S602:鍵ベクトルk* L,0生成ステップ)
実施の形態2と同様に、鍵ベクトル生成部420は、数173を計算して、第L+1層目の秘密鍵の先頭要素である鍵ベクトルk* L+1,0を処理装置により生成する。
実施の形態2と同様に、鍵生成用ベクトル生成部430は、数174を計算して、鍵生成用ベクトルk* L+1,jを処理装置により生成する。鍵生成用ベクトルk* L+1,jは、第L+1層目の秘密鍵のj番目の要素である。
実施の形態2と同様に、鍵配布部440は、鍵ベクトル生成部420と鍵生成用ベクトル生成部430とが生成した鍵情報k→* L+1を下位の復号装置300へ通信装置を介して送信する。
Sig:=(Gsig,Sign,Vrfy)を、安全なワンタイム署名方式であるとする。(Gsig,Sign,Vrfy)は、それぞれ以下のように動作する。
Gsig(1λ)は、Fqの認証用の鍵(検証鍵vk,署名鍵sk)を出力する処理である。
Σ=Signsk(x)は、データxに対して署名鍵skで署名情報Σを生成する処理である。
Vrfyvk(x,Σ)は、署名情報Σがデータxに対して署名鍵skで生成された正しい署名情報である場合に1を返し、正しい署名情報でない場合に0を返す処理である。
例えば、EncアルゴリズムとDecアルゴリズムとを数181、数182に示すようにすることで、実施の形態2で説明した階層的述語鍵秘匿方式に、非特許文献7に記載された方式を応用して構築した階層的述語暗号を階層的述語鍵秘匿方式に変更できる。
この実施の形態では、実施の形態4で説明した階層的述語暗号の安全性について説明する。
まず、この実施の形態では、階層的述語暗号の正当性を説明する。次に、安全性の基準としてCCA(Chosen Ciphertext Attacks)に対する適応的属性秘匿について定義する。そして、実施の形態4で説明した階層的述語暗号がCCAに対する適応的属性秘匿の要件を満たすことを説明する。
階層的述語暗号は数183に示す要件を満たすことが必要である。
階層的属性Σにおける階層的述語Fについての階層的述語暗号がCCAに対して適応的属性秘匿であることの要件は、全ての確率的多項式時間の攻撃者Aについて、以下に示す実験(CCA適応的属性秘匿ゲーム)における攻撃者Aのアドバンテージがセキュリティパラメータにおいて無視し得ることである。
(実験:CCA適応的属性秘匿ゲーム)
1.Setupアルゴリズムが実行され、マスター公開鍵pkとマスター秘密鍵skが生成される。そして、マスター公開鍵pkが攻撃者Aに与えられる。
2.攻撃者Aは、数184に示すベクトルに対応する鍵を適応的に要求できる。
ここで、攻撃者Aのアドバンテージを数193として定義する。
実施の形態4で説明した非特許文献7に記載された方式を応用した階層的述語暗号が、CCAに対する適応的属性秘匿の要件を満たすことを説明する。
なお、ここでの説明は、非特許文献7に記載された証明に基づくものである。したがって、ここでは、CCAに対する適応的属性秘匿の要件を満たすことの概要を説明する。
1.階層的述語鍵秘匿方式の公開鍵pkHPKEM:=(μ→ HPKEM,V,V*,GT,A,A*,q,B)が攻撃者A’に与えられる。攻撃者A’(1λ)は、Setupenc(1λ)を実行してpubを生成する。また、階層的述語暗号の公開鍵pk:=(pkHPKEM,pub)を設定して、攻撃者Aに与える。
2.攻撃者Aが数194に示すベクトルを鍵問い合わせオラクル(CCAに対する適応的属性秘匿の定義参照)へ送信したなら、攻撃者A’は、数194に示すベクトルを鍵問い合わせオラクル(CPAに対する適応的属性秘匿の定義参照)へ送信する。そして、攻撃者Aへ応答が返る。
(1)攻撃者A’は、数195に示す述語ベクトルを計算する。
(1)c3=c(θ) 3である場合、攻撃者A’は識別情報⊥を返す。
(2)c3≠c(θ) 3である場合、攻撃者A’はステップ3と同じ処理を実行する。
7.最後に、攻撃者Aは予想したθ’を出力する。攻撃者A’は同じ予想を出力する。
そして、非特許文献7に記載された方法と同様に、数203を示すことができる。
この実施の形態では、以上の実施の形態で説明した暗号処理よりも安全性が高くなるように変更した暗号処理について説明する。なお、この実施の形態では、実施の形態2で説明した暗号処理と同様に、CPAに対する適応的属性秘匿の安全性を満たす暗号処理であって、安全性が高くなるように変更した暗号処理について説明する。そして、後の実施の形態において、実施の形態4と同様に、CCAに対する適応的属性秘匿の安全性を満たす暗号処理であって、安全性が高くなるように変更した暗号処理について説明する。
まず、安全性が高くなるようにするために用いる「nコピーベクトル空間」という概念を説明する。そして、nコピーベクトル空間に基づき、安全性が高くなるように変更した暗号処理について説明する。ここでは、階層的述語暗号について説明するが、階層的述語鍵秘匿方式を実現することも可能である。
なお、この実施の形態に係る階層的述語暗号では、nコピーベクトル空間や、上記実施の形態に係る階層的述語暗号では用いていない複数の乱数を用いる。
上記実施の形態では、空間Vにおける標準基底Aから生成した基底Bと、空間V*における標準基底A*から生成した基底B*との1個の双対正規直交規定において暗号処理を実現した。ここでは、基底(B[0],...,B[n−1])と基底(B[0]*,...,B[n−1]*)とのn個の双対正規直交規定において暗号処理を実現する。
図26と図27とは、nコピーベクトル空間を説明するための図である。
図26に示すように、n個の双対ベクトル空間(V[0],...,V[n−1])と(V[0]*,...,V[n−1]*)とがある。そして、各空間(V[0],...,V[n−1])と(V[0]*,...,V[n−1]*)との標準基底(A[0],...,A[n−1])と(A[0]*,...,A[n−1]*)とがある。ここで、各基底A[t](t=0,...,n−1)とA[t]*(t=0,...,n−1)とは双対正規直交基底である。つまり、基底A[0]とA[0]*とは双対正規直交基底であり、基底A[1]とA[1]*とは双対正規直交基底であり、・・・、基底A[n−1]とA[n−1]*とは双対正規直交基底である。また、標準基底(A[0],...,A[n−1])と(A[0]*,...,A[n−1]*)とから基底(B[0],...,B[n−1])と基底(B[0]*,...,B[n−1]*)とを生成する。ここで、標準基底(A[0],...,A[n−1])から基底(B[0],...,B[n−1])を生成するには、線形変換X[t](t=0,...,n−1)を用いる。一方、標準基底(A[0]*,...,A[n−1]*)から基底(B[0]*,...,B[n−1]*)とを生成するには、線形変換X[t](t=0,...,n−1)から生成された((X[t])T)−1(t=0,...,n−1)を用いる。その結果、各基底B[t](t=0,...,n−1)とB[t]*(t=0,...,n−1)とは双対正規直交基底である。つまり、基底B[0]とB[0]*とは双対正規直交基底であり、基底B[1]とB[1]*とは双対正規直交基底であり、・・・、基底B[n−1]とB[n−1]*とは双対正規直交基底である。
なお、ここでは、図27に示すように、1つの双対空間VとV*との標準基底AとA*とから、それぞれn個の基底(B[0],...,B[n−1])と基底(B[0]*,...,B[n−1]*)とを生成して、暗号処理を実現する。このように、それぞれn個の基底(B[0],...,B[n−1])と基底(B[0]*,...,B[n−1]*)とを生成しても、各基底B[t](t=0,...,n−1)とB[t]*(t=0,...,n−1)とは双対正規直交基底である。
上述したnコピーベクトル空間を用いた安全性の高い階層的述語暗号を実現する暗号処理システム10について説明する。
図28から図32に基づき、暗号処理システム10の機能と動作とについて説明する。
図28は、nコピーベクトル空間を用いた安全性の高い階層的述語暗号を実現する暗号処理システム10の機能を示す機能ブロック図である。暗号処理システム10は、実施の形態2に係る暗号処理システム10と同様に、鍵生成装置100、暗号化装置200、復号装置300、鍵委譲装置400を備える。また、ここでも、復号装置300が鍵委譲装置400を備えるものとする。
図29は、鍵生成装置100の動作を示すフローチャートである。図30は、暗号化装置200の動作を示すフローチャートである。図31は、復号装置300の動作を示すフローチャートである。図32は、鍵委譲装置400の動作を示すフローチャートである。
マスター鍵生成部110は、数204を計算して、マスター公開鍵pkとマスター秘密鍵skとを処理装置により生成してマスター鍵記憶部120に記憶する。
次に、マスター鍵生成部110は、以下の(2)から(5)を各t(t=0,...,n−1)について実行する。
(2)マスター鍵生成部110は、標準基底A:=(a0,...,an−1)から基底B[t]:=(b[t] 0,...,b[t] n−1)を生成するための線形変換X[t]を処理装置によりランダムに選択する。
(3)マスター鍵生成部110は、選択した線形変換X[t]に基づき、基底Aから基底B[t]を処理装置により生成する。
(4)マスター鍵生成部110は、基底A*:=(a* 0,...,a* n−1)から基底B[t]*:=(b[t]* 0,...,b[t]* n−1)を生成するための線形変換((X[t])T)−1を線形変換X[t]から処理装置により生成する。
(5)マスター鍵生成部110は、生成した線形変換((X[t])T)−1に基づき、基底A*から基底B[t]*を処理装置により生成する。
そして、(6)マスター鍵生成部110は、生成した線形変換X[t](t=0,...,n−1)と基底B[t]*(t=0,...,n−1)とをマスター秘密鍵skとし、生成した基底B[t](t=0,...,n−1)を含む(1λ,μ→,V,V*,GT,A,A*,q,B[0],...,B[n−1])をマスター公開鍵pkとする。そして、マスター鍵記憶部120は、マスター鍵生成部110が生成したマスター公開鍵pkとマスター秘密鍵skと記憶装置に記憶する。
なお、実施の形態2に係る暗号処理システム10と同様に、双対ディストーションベクトル空間の次元数は、N(=n+2)であるとした。つまり、双対ディストーションベクトル空間の基底ベクトルの構造は、図15に示す構造である。
(S1302:鍵ベクトルk[t] * 1,0生成ステップ)
鍵ベクトル生成部130は、マスター公開鍵pkとマスター秘密鍵skと、述語ベクトルv→ 1とに基づき、数206を計算して、第1層目(レベル1)の秘密鍵の先頭要素である鍵ベクトルk[t]* 1,0を処理装置により生成する。
(2)鍵ベクトル生成部130は、基底B[t]*における基底ベクトルb[t]* nに対する係数として乱数ζ[t] 1,0でランダム化した所定の値(ここでは、1)を処理装置により設定するとともに、基底ベクトルb[t]* i(i=0,...,μ1−1)に対する係数として乱数σ1,0でランダム化した述語ベクトルv→ 1の各要素を処理装置により設定し、全体を乱数τ1でランダム化した鍵ベクトルk[t]* 1,0を生成する。
鍵生成用ベクトル生成部140は、マスター公開鍵pkとマスター秘密鍵skと、述語ベクトルv→ 1(v→ 1=(v0,...,vi)(i=μL−1))とに基づき、数207を計算して、下位の秘密鍵(下位の鍵ベクトル)を生成するための鍵生成用ベクトルk[t]* 1,jを処理装置により生成する。鍵生成用ベクトルk[t]* 1,jは、第1層目の秘密鍵のj番目の要素である。
(2)鍵生成用ベクトル生成部140は、基底B[t]*における基底ベクトルb[t]* nに対する係数として乱数ζ[t] 1,1でランダム化した所定の値(ここでは、1)を処理装置により設定するとともに、基底ベクトルb[t]* i(i=0,...,μ1−1)に対する係数として乱数σ1,1でランダム化した述語ベクトルv→ 1の各要素を処理装置により設定し、全体を乱数τ1でランダム化した鍵生成用ベクトルk[t]* 1,1を生成する。
(3)鍵生成用ベクトル生成部140は、j=μ1,...,n−1の各jについて、基底B[t]*における基底ベクトルb[t]* jに対する係数として所定の値(ここでは、1)を処理装置により設定し、基底ベクトルb[t]* i(i=0,...,μ1−1)に対する係数として乱数σ1,iでランダム化した述語ベクトルv→ 1の各要素を処理装置により設定し、基底ベクトルb[t]* nに対する係数として乱数ζ[t] 1,jでランダム化した所定の値(ここでは、1)を設定して、全体を乱数τ1でランダム化した鍵生成用ベクトルk[t]* 1,jを生成する。
鍵配布部150は、マスター鍵生成部110が生成したマスター公開鍵と、鍵ベクトル生成部130と鍵生成用ベクトル生成部140とが生成した鍵情報k→[t]* 1(t=0,...,n−1)とを復号装置300へ通信装置を介して送信する。また、鍵配布部150は、マスター公開鍵を暗号化装置200へ通信装置を介して送信する。
送信情報設定部210は、マスター公開鍵pkに基づき、数209を処理装置により計算して平文情報ベクトルmv[t](t=0,...,n−1)を生成する。
暗号ベクトル生成部220は、マスター公開鍵pkと属性ベクトルx→ 1から属性ベクトルxL(x→ i(i=1,...,L)(=(x0,...,xi)(i=μL−1)))(Lは、階層の深さ)とに基づき、数210を処理装置により計算して暗号ベクトルc[t](t=0,...,n−1)を生成する。
(2)暗号ベクトル生成部220は、マスター公開鍵pkに含まれる基底B[t](t=0,...,n−1)の各基底B[t]について、属性ベクトルの各要素等を処理装置により設定して属性情報ベクトルxv[t]を生成する。
i=0,...,μ1−1の各iについて、t=0,...,n−1の基底ベクトルb[t] iに対する係数の合計がランダム化された属性ベクトルx→ iとなるように、基底ベクトルb[t] i(t=0,...,n−1)に対する係数を設定する。ここでは、t=0,...,n−2の基底ベクトルb[t] iに対する係数として乱数s[t] iを設定して、t=n−1の基底ベクトルb[t] iに対する係数で合計値がランダム化された属性ベクトルx→ iとなるように調整している。
また、i=μL,...,n−1については、基底ベクトルb[t] i(t=0,...,n−1)に対する係数として乱数を設定する。
(3)暗号ベクトル生成部220は、基底B[t](t=0,...,n−1)の各基底B[t]について、マスター公開鍵pkに含まれる基底Bの基底ベクトルb[t] n+1に対する係数として乱数δ[t] n+1を処理装置により設定して、乱数ベクトルrv[t]を生成する。
(4)暗号ベクトル生成部220は、基底B[t](t=0,...,n−1)の各基底B[t]について、生成した属性情報ベクトルxv[t]と乱数ベクトルrv[t]とを、送信情報設定部210が生成した平文情報ベクトルmv[t]に加算して暗号ベクトルc[t]を処理装置により生成する。
データ送信部230は、暗号ベクトル生成部220が生成した暗号ベクトルc[t]を復号装置300へ通信装置を介して送信する。
ベクトル入力部310は、暗号化装置200のデータ送信部230が送信した暗号ベクトルc[t](t=0,...,n−1)を通信装置を介して受信して入力する。
ペアリング演算部330は、マスター公開鍵pkと第L層目の秘密鍵の先頭要素である鍵ベクトルk[t]* L,0(t=0,...,n−1)とに基づき、数212を処理装置により計算して平文情報mに関する情報fを生成する。
また、ペアリング演算部330は、マスター公開鍵pkと鍵ベクトルk*[t] L,0(t=0,...,n−1)とに基づき、数213を処理装置により計算して情報fから平文情報mを抽出するために用いる情報gを生成する。
鍵ベクトル取得部410は、各t(t=0,...,n−1)について、第L層目の秘密鍵の先頭要素である鍵ベクトルk[t]* L,0と、第L層目の秘密鍵のj番目(j=μ1,...,n−1)の要素である鍵生成用ベクトルk[t]* L,jとを含む第L層目の秘密鍵(鍵情報k→[t]* L)を通信装置を介して取得する。
(S1602:鍵ベクトルk[t]* L,0生成ステップ)
鍵ベクトル生成部420は、マスター公開鍵pkと鍵情報k→[t]* Lと述語ベクトルv→ L+1(v→ L+1=(vi,...,vj)(i=μL,j=μL+1−1))とに基づき、数216を計算して、第L+1層目の秘密鍵の先頭要素である鍵ベクトルk[t]* L+1,0を処理装置により生成する。
(2)鍵ベクトル生成部420は、鍵生成用ベクトルk[t]* L,i(i=μL,...,μL+1−1)に対する係数として乱数σL+1,0でランダム化した述語ベクトルv→ L+1の各要素を設定したベクトルvi(i=μL,...,μL+1−1)と、乱数ψL+1,0,0でランダム化した鍵ベクトルk[t]* L,0と、乱数ψL+1,0,i(i=1,...,L)でランダム化した鍵生成用ベクトルk[t]* L,i(i=1,...,L)とを、鍵ベクトルk[t]* L,0に加算して鍵ベクトルk[t]* L+1,0を処理装置により生成する。
鍵生成用ベクトル生成部430は、マスター公開鍵pkと鍵情報k→[t]* Lと述語ベクトルv→ L+1とに基づき、数217を計算して、下位の秘密鍵(下位の鍵ベクトル)を生成するための鍵生成用ベクトルk[t]* L+1,jを処理装置により生成する。鍵生成用ベクトルk[t]* L+1,jは、第L+1層目の秘密鍵のj番目の要素である。
(2)鍵生成用ベクトル生成部140は、j=1,...,L+1,μL+1,...,n−1の各jについて、鍵生成用ベクトルk[t]* L,jに、鍵生成用ベクトルk[t]* L,i(i=μL,...,μL+1−1)に対する係数として乱数σL+1,jでランダム化した述語ベクトルv→ L+1の各要素を処理装置により設定したベクトルと、乱数ψL+1,j,0でランダム化した鍵ベクトルk[t]* L,0と、乱数ψL+1,j,i(i=1,...,L)でランダム化した鍵生成用ベクトルk[t]* L,iとを加算して、鍵ベクトルk[t]* L+1,0の下位の鍵ベクトルを生成するための鍵生成用ベクトルk[t]* L+1,jを生成する。
鍵配布部440は、鍵ベクトル生成部420と鍵生成用ベクトル生成部430とが生成した鍵情報k→[t]* L+1とを下位の復号装置300へ通信装置を介して送信する。
実施の形態2では、図16に基づき説明したように、属性ベクトルと述語ベクトルとの内積が0になることを利用して、暗号文cのうち基底ベクトルbnに関する成分以外をペアリング演算により0にして、基底ベクトルbnに関する成分を抽出した。同様に、この実施の形態でも(S1502)でペアリング演算を行うことにより、数219に示すように暗号文cのうち基底ベクトルbnに関する成分が抽出される。数219は、ペアリング演算の説明のための式である。数219においては、簡単のため、乱数の添え字を簡略化している。
なお、この実施の形態に係る暗号処理システム10も上記実施の形態に係る暗号処理システム10と同様に、容易に階層的述語鍵秘匿方式を実現することができる。
この実施の形態では、実施の形態6で説明したCPAに対する適応的属性秘匿の要件を満たす暗号処理に基づき構築したCCAに対する適応的属性秘匿の要件を満たす暗号処理について説明する。
なお、実施の形態4では、非特許文献7に記載された方式を応用した階層的述語暗号を主として説明し、非特許文献11に記載された方式を応用した階層的述語暗号は簡単に説明した。ここでは、非特許文献11に記載された方式を応用した階層的述語暗号を説明する。
図33は、この実施の形態に係る暗号処理システム10の機能を示す機能ブロック図である。暗号処理システム10は、実施の形態2に係る暗号処理システム10と同様に、鍵生成装置100、暗号化装置200、復号装置300、鍵委譲装置400を備える。また、ここでも、復号装置300が鍵委譲装置400を備えるものとする。
図34は、暗号化装置200の動作を示すフローチャートである。図35は、復号装置300の動作を示すフローチャートである。なお、鍵生成装置100と鍵委譲装置400との動作の流れは、実施の形態6に係る鍵生成装置100と鍵委譲装置400との動作の流れと同一である。そのため、鍵生成装置100の動作については、図29に基づき説明する。また、鍵委譲装置400の動作については、図32に基づき説明する。
なお、以下の説明において、Sig:=(Gsig,Sign,Vrfy)は、実施の形態4で説明した安全なワンタイム署名方式である。
実施の形態6と同様に、マスター鍵生成部110は、マスター公開鍵pkとマスター秘密鍵skとを処理装置により生成してマスター鍵記憶部120に記憶する。
なお、実施の形態4と同様に、双対ディストーションベクトル空間の次元数は、N(=n+4)であるとした。つまり、双対ディストーションベクトル空間の基底ベクトルの構造は、図25に示す構造である。
(S1302:鍵ベクトルk[t]* 1,0生成ステップ)
実施の形態6と同様に、鍵ベクトル生成部130は、数221を計算して、第1層目(レベル1)の秘密鍵の先頭要素である鍵ベクトルk[t]* 1,0を処理装置により生成する。
実施の形態6と同様に、鍵生成用ベクトル生成部140は、数222を計算して鍵生成用ベクトルk[t]* 1,jを処理装置により生成する。鍵生成用ベクトルk[t]* 1,jは、第1層目の秘密鍵のj番目の要素である。
実施の形態6と同様に、鍵配布部150は、マスター鍵生成部110が生成したマスター公開鍵と、鍵ベクトル生成部130と鍵生成用ベクトル生成部140とが生成した鍵情報k→[t]* 1(t=0,...,n−1)とを復号装置300へ通信装置を介して送信する。また、鍵配布部150は、マスター公開鍵を暗号化装置200へ通信装置を介して送信する。
実施の形態6と同様に、送信情報設定部210は、数225を処理装置により計算してマスター公開鍵pkに基づき、平文情報ベクトルmv[t](t=0,...,n−1)を処理装置により生成する。
検証情報設定部260は、マスター公開鍵pkに基づき、数226を処理装置により計算して検証情報ベクトルcv[t](t=0,...,n−1)を生成する。
(2)検証情報設定部260は、各t(t=0,...,n−1)に対して、マスター公開鍵pkに含まれる基底Bの基底ベクトルb[t] n+2に対する係数として乱数δ[t] n+2でランダム化した所定の値(ここでは、1)を処理装置により設定するとともに、基底ベクトルb[t] n+3に対する係数として乱数δ[t] n+2でランダム化した検証鍵vkを処理装置により設定して、検証情報ベクトルcv[t](t=0,...,n−1)を生成する。
暗号ベクトル生成部220は、マスター公開鍵pkと属性ベクトルx→ 1から属性ベクトルx→ L(x→ i(i=1,...,L)(=(x0,...,xi)(i=μL−1)))(Lは、階層の深さ)とに基づき、数227を処理装置により計算して暗号ベクトルc[t](t=0,...,n−1)を生成する。
署名情報生成部270は、数228を処理装置により計算して署名情報Σを生成する。
データ送信部230は、暗号ベクトル生成部220が生成した暗号ベクトルc[t]と、検証情報生成部250が生成した検証鍵vkと、署名情報生成部270が生成した署名情報Σとを復号装置300へ通信装置を介して送信する。
ベクトル入力部310は、暗号化装置200のデータ送信部230が送信した暗号ベクトルc[t](t=0,...,n−1)と検証鍵vkと署名情報Σとを通信装置を介して受信して入力する。
改ざん検証部370は、数230が成立するか否かを処理装置により判定する。
ベクトル変形部350は、数231を処理装置により計算して、鍵ベクトルk[t]* L,0を変形する。
ペアリング演算部330は、数232を計算して、マスター公開鍵pkと変形後の鍵ベクトルk[t]* L,0(t=0,...,n−1)とに基づき、平文情報mに関する情報fを生成する。
実施の形態6と同様に、離散対数計算部340は、情報fについて、情報gを底とする離散対数問題を解き、平文情報mを計算する。つまり、離散対数計算部340は、数234を計算する。
実施の形態6と同様に、鍵ベクトル取得部410は、第L層目の秘密鍵の先頭要素である鍵ベクトルk[t]* L,0と、第L層目の秘密鍵のj番目(j=μ1,...,n−1)の要素である鍵生成用ベクトルk[t]* L,jとを含む第L層目の秘密鍵(鍵情報k→[t]* L)を通信装置を介して取得する。
(S1602:鍵ベクトルk[t]* L,0生成ステップ)
実施の形態6と同様に、鍵ベクトル生成部420は、数236を計算して、第L+1層目の秘密鍵の先頭要素である鍵ベクトルk[t]* L+1,0を処理装置により生成する。
実施の形態6と同様に、鍵生成用ベクトル生成部430は、数237を計算して、鍵生成用ベクトルk[t]* L+1,jを処理装置により生成する。鍵生成用ベクトルk[t]* L+1,jは、第L+1層目の秘密鍵のj番目の要素である。
実施の形態6と同様に、鍵配布部440は、鍵ベクトル生成部420と鍵生成用ベクトル生成部430とが生成した鍵情報k→[t]* L+1を下位の復号装置300へ通信装置を介して送信する。
この実施の形態では、双対ディストーションベクトル空間の実現方法について説明する。まず、上記実施の形態で双対ディストーションベクトル空間の例として用いた非対称双線形ペアリンググループの直積による実現方法について説明する。次に、対称双線形ペアリンググループの直積による実現方法について説明する。そして、種数1以上の超特異曲線のヤコビ多様体による実現方法について説明する。
非対称双線形ペアリンググループ(G1,G2,GT,g1,g2,q)と、非対称双線形ペアリンググループ(G1,G2,GT,g1,g2,q)におけるペアリング演算eとが与えられる。なお、非対称双線形ペアリンググループ(G1,G2,GT,g1,g2,q)とペアリング演算とについては実施の形態1で説明した通りである。
以下のように、双対ディストーションベクトル空間を実現する。
V,V*,a0,...,aN−1,a* 0,...,a* N−1は、数239に示す通りである。
上記実施の形態で説明した対称双線形ペアリンググループ(G,GT,g,q)を用いても、非対称双線形ペアリンググループ(G1,G2,GT,g1,g2,q)を用いた場合と同様に、直積を構築できる。つまり、V=V*であり、A=A*である構造となる。そのため、ペアリング演算eと基底A=A*における基底ベクトルへの射影を用いて、空間V=V*におけるどんな非ゼロのベクトルxとx’とに対しても、x=cx’であるc∈Fqが存在することを確認できる。
双対ディストーションベクトル空間は、いくつかの特別な超特異楕円曲線Cのヤコビ多様体における有理数qの点の集合として認識される。つまり、V=V*:=JacC[q]である。空間V(とV*)の次元Nは、超特異楕円曲線Cの2倍である。空間Vの標準基底A=(a0,...,aN−1)は、フロベニウス自己準同型の固有ベクトルによって与えられる。数244であるような全ての値κi,j∈Fqは非特許文献27に記載されたWeilペアリングeによって決定される。そのような明白な値κi,jを用いれば、空間V*の双対正規直交基底A*を構築できる。
以上の実施の形態では、双対ベクトル空間において暗号処理を実現する方法について説明した。この実施の形態では、双対加群において暗号処理を実現する方法について説明する。
図36は、鍵生成装置100、暗号化装置200、復号装置300、鍵委譲装置400のハードウェア構成の一例を示す図である。
図36に示すように、鍵生成装置100、暗号化装置200、復号装置300、鍵委譲装置400は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、LCD901(Liquid Crystal Display)、キーボード902(K/B)、通信ボード915、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920(固定ディスク装置)の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。磁気ディスク装置920は、所定の固定ディスクインタフェースを介して接続される。
ファイル群924には、上記の説明において「マスター公開鍵pk」、「マスター秘密鍵sk」、「暗号ベクトルc」、「鍵ベクトル」等の情報やデータや信号値や変数値やパラメータが、「ファイル」や「データベース」の各項目として記憶される。「ファイル」や「データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPU911の動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPU911の動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、上記の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。また、「〜装置」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。さらに、「〜処理」として説明するものは「〜ステップ」であっても構わない。すなわち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、ROM913等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、上記で述べた「〜部」としてコンピュータ等を機能させるものである。あるいは、上記で述べた「〜部」の手順や方法をコンピュータ等に実行させるものである。
Claims (47)
- ペアリング演算によって関連付けられた双対ベクトル空間である空間Vと空間V*とを用いて暗号処理を行う暗号処理システムであり、
前記空間Vにおけるベクトルであって、所定の情報を埋め込んだベクトルを暗号ベクトルとして処理装置により生成する暗号化装置と、
前記空間V*における所定のベクトルを鍵ベクトルとして、前記暗号化装置が生成した暗号ベクトルと前記鍵ベクトルとについて、処理装置により前記ペアリング演算を行い前記暗号ベクトルを復号して前記所定の情報に関する情報を抽出する復号装置と
を備えることを特徴とする暗号処理システム。 - 前記暗号化装置は、前記空間Vの標準基底Aに所定の演算を行った基底Bにおけるベクトルを暗号ベクトルとして生成し、
前記復号装置は、前記空間V*の標準基底A*に前記所定の演算から導出される演算を行った基底B*であって、前記基底Bと正規直交基底である基底B*におけるベクトルを前記鍵ベクトルとする
ことを特徴とする請求項1から4までのいずれかに記載の暗号処理システム。 - 前記暗号化装置は、
前記空間Vにおける所定の基底Bの基底ベクトルbi(i=0,...,N−1)のうち、基底ベクトルbnに対する係数としてρを設定したベクトルを送信情報ベクトルとして処理装置により生成する送信情報設定部と、
基底ベクトルbi(i=0,...,μLx−1)に対する係数として属性情報xi(i=0,...,μLx−1)を設定したベクトルを、前記送信情報設定部が生成した送信情報ベクトルに加えて暗号ベクトルを処理装置により生成する暗号ベクトル生成部とを備え、
前記復号装置は、
前記空間V*における所定の基底B*の基底ベクトルb* i(i=0,...,N−1)のうち、所定の基底ベクトルb* nに対する係数として所定の値が設定されるとともに、基底ベクトルb* i(i=0,...,μLv−1)(μLx≧μLv)に対する係数として述語情報vi(i=0,...,μLv−1)が設定されたベクトルを鍵ベクトルとして記憶装置に記憶する鍵ベクトル記憶部と、
前記暗号ベクトル生成部が生成した暗号ベクトルと、前記鍵ベクトル記憶部が記憶した鍵ベクトルとについて処理装置により前記ペアリング演算を行い、前記暗号ベクトルから前記基底ベクトルbnの係数として設定したρに関する値を抽出するペアリング演算部を備える
ことを特徴とする請求項1から6までのいずれかに記載の暗号処理システム。 - 前記暗号処理システムは、さらに、
前記空間V*における所定の基底B*の基底ベクトルb* i(i=0,...,n−1)のうち、所定の基底ベクトルb* nに対する係数として所定の値を設定するとともに、基底ベクトルb* i(i=0,...,μL−1)に対する係数として述語情報vi(i=0,...,μL−1)を設定したベクトルを鍵ベクトルkL,0として処理装置により生成する鍵ベクトル生成部を備える鍵生成装置
を備えることを特徴とする請求項1から7までのいずれかに記載の暗号処理システム。 - 前記鍵生成装置は、さらに、
i=μL,...,n−1の各iについて、基底ベクトルb* iに対する係数として所定の値を設定した((n−1)−μL−1)個のベクトルを、前記鍵ベクトルkL,0の下位の鍵ベクトルを生成するための鍵生成用ベクトルkL,i(i=μL,...,n−1)として処理装置により生成する鍵生成用ベクトル生成部
を備えることを特徴とする請求項8に記載の暗号処理システム。 - 前記暗号処理システムは、さらに、
鍵生成用ベクトルkL,i(i=μL,...,μL+1−1)に対する係数として述語情報vi(i=μL,...,μL+1−1)を設定したベクトルvi(i=μL,...,μL+1−1)と、前記鍵ベクトルkL,0とを加算して、前記鍵ベクトルkL,0の下位の鍵ベクトルである鍵ベクトルkL+1,0を処理装置により生成する鍵ベクトル生成部と、
鍵生成用ベクトルkL,i(i=μL+1,...,n−1)に所定の変更を加えて、前記鍵ベクトルkL+1,0の下位の鍵ベクトルを生成するための鍵生成用ベクトルkL,i(i=μL+1,...,n−1)を処理装置により生成する鍵生成用ベクトル生成部と
を備える鍵委譲装置
を備えることを特徴とする請求項1から9までのいずれかに記載の暗号処理システム。 - 述語暗号における秘密鍵である鍵ベクトルkL,0を生成する鍵生成装置であり、
ペアリング演算によって関連付けられた双対ベクトル空間である空間Vと空間V*とのうちの前記空間V*をマスター秘密鍵として記憶装置に記憶するマスター鍵記憶部と、
前記マスター鍵記憶部が記憶したマスター秘密鍵である前記空間V*における所定の基底B*の基底ベクトルb* i(i=0,...,N−1)のうち、所定の基底ベクトルb* nに対する係数として所定の値を設定するとともに、基底ベクトルb* i(i=0,...,μL−1)に対する係数として述語情報vi(i=0,...,μL−1)を設定したベクトルを鍵ベクトルkL,0として処理装置により生成する鍵ベクトル生成部と
を備えることを特徴とする鍵生成装置。 - 前記鍵ベクトル生成部は、基底ベクトルb* i(i=0,...,μL−1)に対する係数として、属性情報xi(i=0,...,μL−1)との内積が0となる述語情報vi(i=0,...,μL−1)を設定する
ことを特徴とする請求項11に記載の鍵生成装置。 - 前記鍵生成装置は、さらに、
i=μL,...,n−1の各iについて、基底ベクトルb* iに対する係数として所定の値を設定した((n−1)−μL−1)個のベクトルを、前記鍵ベクトルkL,0の下位の鍵ベクトルを生成するための鍵生成用ベクトルkL,i(i=μL,...,n−1)として処理装置により生成する鍵生成用ベクトル生成部
を備えることを特徴とする請求項11から13までのいずれかに記載の鍵生成装置。 - 述語暗号における秘密鍵である鍵ベクトルを生成する鍵委譲装置であり、
ペアリング演算によって関連付けられた双対ベクトル空間である空間Vと空間V*とのうちの前記空間Vにおける所定の暗号ベクトルを復号可能な前記空間V*における鍵ベクトルを取得する鍵ベクトル取得部と、
前記鍵ベクトル取得部が取得した鍵ベクトルに基づき、前記鍵ベクトルで復号可能な前記所定の暗号ベクトルのうちの一部の暗号ベクトルを復号可能な前記空間V*における新たな鍵ベクトルを処理装置により生成する鍵ベクトル生成部と
を備えることを特徴とする鍵委譲装置。 - 前記鍵ベクトル取得部は、前記空間V*における所定の基底B*の所定の基底ベクトルに対する係数として述語情報が設定されたベクトルを鍵ベクトルとして取得し、
前記鍵ベクトル生成部は、前記所定の基底ベクトル以外の前記基底B*の基底ベクトルに対する係数として述語情報を設定したベクトルを、前記鍵ベクトル取得部が取得した鍵ベクトルに加算して新たな鍵ベクトルを生成する
ことを特徴とする請求項16に記載の鍵委譲装置。 - 前記鍵ベクトル取得部は、前記基底B*の基底ベクトルb* i(i=0,...,N−1)のうち基底ベクトルb* i(i=0,...,μL−1)に述語情報vi(i=0,...,μL−1)が設定された第L層目の鍵ベクトルkL,0と、基底ベクトルb* iに対する係数として所定の値が設定された鍵生成用ベクトルkL,i(i=μL,...,μL+1−1)とを取得し、
前記鍵ベクトル生成部は、i=μL,...,μL+1−1の各iについて、前記鍵ベクトル取得部が取得した鍵生成用ベクトルkL,iの基底ベクトルb* iに対する係数として述語情報viを設定したベクトルvi(i=μL,...,μL+1−1)を、前記鍵ベクトルkL,0にを加算して第L+1層目の鍵ベクトルkL+1,0を処理装置により生成する
ことを特徴とする請求項16又は17に記載の鍵委譲装置。 - 前記鍵ベクトル生成部は、前記鍵生成用ベクトルkL,iの基底ベクトルb* iに対する係数を、属性情報xi(i=μL,...,μL+1−1)との内積が0となる述語情報vi(i=μL,...,μL+1−1)倍する
ことを特徴とする請求項18に記載の鍵委譲装置。 - 前記鍵委譲装置は、さらに、
鍵生成用ベクトルkL,i(i=μL,...,μL+1−1)に所定の変更を加えて、前記鍵ベクトルkL+1,0の下位の鍵ベクトルを生成するための鍵生成用ベクトルkL,i(i=μL+1,...,n−1)を処理装置により生成する鍵生成用ベクトル生成部
を備えることを特徴とする請求項18から20までのいずれかに記載の鍵委譲装置。 - ペアリング演算によって関連付けられた双対ベクトル空間である空間Vと空間V*とのうちの空間Vにおける所定の基底Bの基底ベクトルbi(i=0,...,N−1)のうち、基底ベクトルbnに対する係数としてρを設定したベクトルを送信情報ベクトルとして処理装置により生成する送信情報設定部と、
基底ベクトルbi(i=0,...,μLx−1)に対する係数として属性情報xi(i=0,...,μLx−1)を設定した属性ベクトルを、前記送信情報設定部が生成した送信情報ベクトルに加算して暗号ベクトルを処理装置により生成する暗号ベクトル生成部と
を備えることを特徴とする暗号化装置。 - ペアリング演算によって関連付けられた双対ベクトル空間である空間Vと空間V*とのうちの空間Vにおける所定の基底Bの基底ベクトルbi(i=0,...,N−1)のうち、基底ベクトルbnの係数としてρが設定されるとともに、基底ベクトルbi(i=0,...,μLx−1)の所定の基底ベクトルの係数に属性情報xi(i=0,...,μLx−1)を設定されたベクトルを暗号ベクトルとして入力するベクトル入力部と、
前記空間V*における所定の基底B*の基底ベクトルb* i(i=0,...,N−1)のうち、所定の基底ベクトルb* nに対する係数として所定の値が設定されるとともに、基底ベクトルb* i(i=0,...,μLv−1)(μLx≧μLv)に対する係数として述語情報vi(i=0,...,μLv−1)が設定されたベクトルを鍵ベクトルとして記憶装置に記憶する鍵ベクトル記憶部と、
前記ベクトル入力部が入力した暗号ベクトルと、前記鍵ベクトル記憶部が記憶した鍵ベクトルとについて処理装置により前記ペアリング演算を行い、前記暗号ベクトルから前記基底ベクトルbnの係数として設定したρに関する値を抽出するペアリング演算部と
を備えることを特徴とする復号装置。 - 前記暗号化装置は、さらに、
基底ベクトルbnと前記基底ベクトルbi(i=0,...,μLx−1)と以外の所定の基底ベクトルに対する係数として検証情報を含む情報を設定したベクトルを検証情報ベクトルとして処理装置により生成する検証情報設定部を備え、
前記暗号ベクトル生成部は、前記属性ベクトルと前記送信情報ベクトルと前記検証情報設定部が生成した検証情報ベクトルとを加算して暗号ベクトルを生成し、
前記暗号化装置は、さらに、
前記検証情報設定部が設定した検証情報に基づき検証される署名情報を処理装置により生成する署名情報生成部と、
前記暗号ベクトル生成部が生成した暗号ベクトルと、前記署名情報生成部が生成した署名情報と、前記検証情報とを復号装置へ送信するデータ送信部と
を備えることを特徴とする請求項23に記載の暗号化装置。 - 前記検証情報設定部は、前記所定の基底ベクトルに対する係数として第1検証情報comを含む情報を設定したベクトルを検証情報ベクトルとして生成し、
前記暗号ベクトル生成部は、前記暗号ベクトルをデータc1として生成し、
前記署名情報生成部は、
平文情報mと第2検証情報decとを、前記基底ベクトルbnに対する係数として設定したρから生成されたセッション鍵で暗号化してデータc2を生成するc2生成部と、
前記第1検証情報comをデータc3として生成するc3生成部と、
前記データc1と前記データc2とを、前記第1検証情報comと前記第2検証情報decとに基づき生成可能な第3検証情報rにより暗号化した署名情報をデータc4として生成するc4生成部と、
前記データ出力部は、前記暗号ベクトル生成部が生成したデータc1と、前記c2生成部が生成したデータc2と、前記c3生成部が生成したデータc3と、前記c4生成部が生成したデータc4とを出力する
ことを特徴とする請求項27に記載の暗号化装置。 - 前記ベクトル入力部は、前記基底ベクトルbnの係数としてρが設定され、前記基底ベクトルbi(i=0,...,μLx−1)に対する係数として属性情報xi(i=0,...,μLx−1)が設定され、前記基底ベクトルbnと前記基底ベクトルbi(i=0,...,μLx−1)と以外の所定の基底ベクトルに対する係数として検証情報を含む情報が設定された暗号ベクトルと、前記検証情報に基づき検証される署名情報と、前記検証情報とを入力し、
前記復号装置は、さらに、
所定の基底ベクトルに対する係数として前記検証情報を含む情報を設定したベクトルを前記鍵ベクトル記憶部が記憶した鍵ベクトルに加えて鍵ベクトルを処理装置により変形す
る鍵ベクトル変形部を備え、
前記ペアリング演算部は、前記ベクトル入力部が入力した暗号ベクトルと、前記鍵ベクトル変形部が変形した鍵ベクトルとについて、前記ペアリング演算を行い、前記暗号ベクトルから前記基底ベクトルbnの係数として設定したρに関する値を抽出し、
前記復号装置は、さらに、
前記検証情報に基づき、前記署名情報に改ざんがないことを処理装置により検証する改ざん検証部
を備えることを特徴とする請求項25に記載の復号装置。 - 前記ベクトル入力部は、前記検証情報として第1検証情報comを含む情報が設定された暗号ベクトルであるデータc1と、
平文情報mと第2検証情報decとを、前記データc1の前記基底ベクトルbnに対する係数として設定したρから生成されたセッション鍵で暗号化したデータc2と、
第1検証情報comであるデータc3と、
前記データc1と前記データc2とを、前記第1検証情報comと前記第2検証情報decとに基づき生成可能な第3検証情報rにより暗号化した署名情報であるデータc4とを入力し、
前記復号装置は、さらに、
前記ペアリング演算部が抽出したρに関する値からセッション鍵を生成して、生成したセッション鍵により前記データc2を復号して、前記平文情報mと前記第2検証情報decとを取得するc2復号部を備え、
前記改ざん検証部は、前記c2復号部が取得した第2検証情報と前記データc3とから前記第3検証情報rを生成するとともに、生成した前記第3検証情報rと前記データc4とに基づき、前記データc1と前記データc2とに改ざんがないことを検証する
ことを特徴とする請求項30に記載の復号装置。 - 前記データ入力部は、数21に示すデータc1とデータc2とデータc3とデータc4とを入力し、
前記鍵ベクトル記憶部は、数22に示す鍵ベクトルkvを記憶し、
前記鍵ベクトル変形部は、数23に従い鍵ベクトルkvを変換し、
前記ペアリング演算部は、数24に示すペアリング演算を行って、ρに関する値Kを取得し、
前記c2復号部は、数25に従い前記ρに関する値Kから共通鍵を生成して、生成した共通鍵により前記データc2を復号して、前記平文情報mと前記第2検証情報decとを取得し、
前記改ざん検証部は、数26に従い前記第3検証情報rを生成して、数27に従い改ざんを検証する
ことを特徴とする請求項31に記載の復号装置。
- 前記送信情報設定部は、t=0,...,n−1の各tについて、前記空間Vにおける基底B[t]の基底ベクトルb[t] i(i=0,...,N−1)のうち、基底ベクト
ルb[t] nに対する係数として平文情報mを設定したベクトルを送信情報ベクトルmv[t]として生成し、
前記暗号ベクトル生成部は、t=0,...,n−1の各tについて、基底ベクトルb[t] i(i=0,...,μLx−1)に対する係数として、数28に示す係数値s[t] iを設定した属性情報ベクトルxv[t]を、前記送信情報設定部が生成した送信情報ベクトルmv[t]に加算して暗号ベクトルc[t]を生成する
ことを特徴とする請求項23に記載の暗号化装置。
- 前記ベクトル入力部は、t=0,...,n−1の各tについて、前記空間Vにおける基底B[t]の基底ベクトルb[t] i(i=0,...,N−1)のうち、基底ベクトルb[t] nに対する係数として平文情報mが設定されるとともに、基底ベクトルb[t] i(i=0,...,μLx−1)に対する係数として、数31に示す係数値s[t] iを設定されたベクトルv[t]を暗号ベクトルc[t]として入力し、
前記鍵ベクトル記憶部は、t=0,...,n−1の各tについて、前記空間V*における基底B[t]*の基底ベクトルb[t]* i(i=0,...,N−1)のうち、基底ベクトルb[t]* nに対する係数として所定の値が設定されるとともに、ベクトルb[t]* i(i=0,...,μLv−1)(μLx≧μLv)に対する係数として述語情報vi(i=0,...,μLv−1)が設定されたベクトルv[t]を鍵ベクトルkv[t]として記憶装置に記憶し、
前記ペアリング演算部は、t=0,...,n−1の各tについて、前記ベクトル入力部が入力した暗号ベクトルc[t]と、前記鍵ベクトル記憶部が記憶した鍵ベクトルkv[t]とについて前記ペアリング演算を行い、前記暗号ベクトルから前記基底ベクトルb[t] nの係数として設定した平文情報mに関する情報fを生成するとともに、t=0,...,n−1の各tについて、基底ベクトルb[t] nと、前記鍵ベクトルkv[t]とについて前記ペアリング演算を行い、前記値fから前記平文情報mを抽出するための情報gを生成し、
前記復号装置は、さらに、
前記ペアリング演算部が生成した情報fについて、情報gを底として離散対数問題を計算して、前記平文情報mを計算する離散対数計算部
を備えることを特徴とする請求項25に記載の復号装置。
- 前記暗号化装置は、さらに、
t=0,...,n−1の各tについて、基底ベクトルb[t] nと前記基底ベクトルb[t] i(i=0,...,μLx−1)と以外の所定の基底ベクトルb[t] jに対する係数として検証情報vkを含む情報を設定したベクトルv[t]を検証情報ベクトルck[t]として生成する検証情報設定部を備え、
前記暗号ベクトル生成部は、t=0,...,n−1の各tについて、前記属性情報ベクトルxv[t]と送信情報ベクトルmv[t]と前記検証情報設定部が生成した検証情報ベクトルck[t]とを加算して暗号ベクトルc[t]を生成し、
前記暗号化装置は、さらに、
前記検証情報設定部が設定した検証情報vkに基づき検証される署名情報Σを生成する署名情報生成部と、
前記暗号ベクトル生成部が生成した暗号ベクトルc[t](t=0,...,n−1)と、前記署名情報生成部が生成した署名情報Σと、前記検証情報vkとを復号装置へ送信するデータ送信部と
を備えることを特徴とする請求項33に記載の暗号化装置。 - 前記ベクトル入力部は、t=0,...,n−1の各tについて、前記基底ベクトルb[t] nと前記基底ベクトルb[t] i(i=0,...,μLx−1)と以外の所定の基底ベクトルb[t] jに対する係数として検証情報vkを含む情報が設定された暗号ベクトルc[t]と、前記検証情報vkに基づき検証される署名情報Σと、前記検証情報vkとを入力し、
前記復号装置は、さらに、
t=0,...,n−1の各tについて、所定の基底ベクトルb[t] kに対する係数として前記検証情報vkを含む情報を設定したベクトルv[t]を前記鍵ベクトル記憶部が記憶した鍵ベクトルに加えて鍵ベクトルkv[t]を変形する鍵ベクトル変形部を備え、
前記ペアリング演算部は、t=0,...,n−1の各tについて、前記ベクトル入力部が入力した暗号ベクトルc[t]と前記鍵ベクトル変形部が変形した鍵ベクトルkv[t]とについて前記ペアリング演算を行い情報fを生成するとともに、t=0,...,n−1の各tについて、基底ベクトルb[t] nと前記変形した鍵ベクトルkv[t]とについて前記ペアリング演算を行い情報gを生成し、
前記復号装置は、さらに、
前記検証情報vkに基づき、前記署名情報Σに改ざんがないことを検証する改ざん検証
部
を備えることを特徴とする請求項35に記載の復号装置。 - ペアリング演算によって関連付けられた双対加群である空間Vと空間V*とを用いて暗号処理を行う暗号処理システムであり、
前記空間Vにおけるベクトルであって、所定の情報を埋め込んだベクトルを暗号ベクトルとして生成する暗号化装置と、
前記空間V*における所定のベクトルを鍵ベクトルとして、前記暗号化装置が生成した暗号ベクトルと前記鍵ベクトルとについて、前記ペアリング演算を行い前記暗号ベクトルを復号して前記所定の情報に関する情報を抽出する復号装置と
を備えることを特徴とする暗号処理システム。 - 述語暗号における秘密鍵である鍵ベクトルkL,0を生成する鍵生成装置であり、
ペアリング演算によって関連付けられた双対加群である空間Vと空間V*とのうちの前記空間V*をマスター秘密鍵として記憶装置に記憶するマスター鍵記憶部と、
前記マスター鍵記憶部が記憶したマスター秘密鍵である前記空間V*における所定の基底B*の基底ベクトルb* i(i=0,...,N−1)のうち、所定の基底ベクトルb* nに対する係数として所定の値を設定するとともに、基底ベクトルb* i(i=0,...,μL−1)に対する係数として述語情報vi(i=0,...,μL−1)を設定したベクトルを鍵ベクトルkL,0として生成する鍵ベクトル生成部と
を備えることを特徴とする鍵生成装置。 - 述語暗号における秘密鍵である鍵ベクトルを生成する鍵委譲装置であり、
ペアリング演算によって関連付けられた双対加群である空間Vと空間V*とのうちの前記空間Vにおける所定の暗号ベクトルを復号可能な前記空間V*における鍵ベクトルを取得する鍵ベクトル取得部と、
前記鍵ベクトル取得部が取得した鍵ベクトルに基づき、前記鍵ベクトルで復号可能な前記所定の暗号ベクトルのうちの一部の暗号ベクトルを復号可能な前記空間V*における新たな鍵ベクトルを処理装置により生成する鍵ベクトル生成部と
を備えることを特徴とする鍵委譲装置。 - ペアリング演算によって関連付けられた双対加群である空間Vと空間V*とのうちの空間Vにおける所定の基底Bの基底ベクトルbi(i=0,...,N−1)のうち、基底ベクトルbnに対する係数としてρを設定したベクトルを送信情報ベクトルとして生成する送信情報設定部と、
基底ベクトルbi(i=0,...,μLx−1)に対する係数として属性情報xi(i=0,...,μLx−1)を設定した属性ベクトルを、前記送信情報設定部が生成した送信情報ベクトルに加算して暗号ベクトルを生成する暗号ベクトル生成部と
を備えることを特徴とする暗号化装置。 - ペアリング演算によって関連付けられた双対加群である空間Vと空間V*とのうちの空間Vにおける所定の基底Bの基底ベクトルbi(i=0,...,N−1)のうち、基底ベクトルbnの係数としてρが設定されるとともに、基底ベクトルbi(i=0,...,μLx−1)の所定の基底ベクトルの係数に属性情報xi(i=0,...,μLx−1)を設定されたベクトルを暗号ベクトルとして入力するベクトル入力部と、
前記空間V*における所定の基底B*の基底ベクトルb* i(i=0,...,N−1)のうち、所定の基底ベクトルb* nに対する係数として所定の値が設定されるとともに、基底ベクトルb* i(i=0,...,μLv−1)(μLx≧μLv)に対する係数として述語情報vi(i=0,...,μLv−1)が設定されたベクトルを鍵ベクトルとして記憶装置に記憶する鍵ベクトル記憶部と、
前記ベクトル入力部が入力した暗号ベクトルと、前記鍵ベクトル記憶部が記憶した鍵ベクトルとについて前記ペアリング演算を行い、前記暗号ベクトルから前記基底ベクトルbnの係数として設定したρに関する値を抽出するペアリング演算部と
を備えることを特徴とする復号装置。 - ペアリング演算によって関連付けられた双対ベクトル空間である空間Vと空間V*とを用いて暗号処理を行う暗号処理方法であり、
処理装置が、前記空間Vにおけるベクトルであって、所定の情報を埋め込んだベクトルを暗号ベクトルとして生成する暗号化ステップと、
処理装置が、前記空間V*における所定のベクトルを鍵ベクトルとして、前記暗号化ステップで生成した暗号ベクトルと前記鍵ベクトルとについて、前記ペアリング演算を行い前記暗号ベクトルを復号して前記所定の情報に関する情報を抽出する復号ステップと
を備えることを特徴とする暗号処理方法。 - ペアリング演算によって関連付けられた双対ベクトル空間である空間Vと空間V*とを用いて暗号処理を行う暗号処理プログラムであり、
前記空間Vにおけるベクトルであって、所定の情報を埋め込んだベクトルを暗号ベクトルとして生成する暗号化処理と、
前記空間V*における所定のベクトルを鍵ベクトルとして、前記暗号化処理で生成した暗号ベクトルと前記鍵ベクトルとについて、前記ペアリング演算を行い前記暗号ベクトルを復号して前記所定の情報に関する情報を抽出する復号処理と
をコンピュータに実行させることを特徴とする暗号処理プログラム。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009264576A JP5349261B2 (ja) | 2009-04-23 | 2009-11-20 | 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム |
KR1020117027936A KR101359200B1 (ko) | 2009-04-23 | 2010-04-14 | 암호 처리 시스템 |
CN201080017994.8A CN102415047B (zh) | 2009-04-23 | 2010-04-14 | 密码处理系统 |
PCT/JP2010/056639 WO2010122926A1 (ja) | 2009-04-23 | 2010-04-14 | 暗号処理システム |
US13/266,002 US8559638B2 (en) | 2009-04-23 | 2010-04-14 | Cryptographic processing system |
EP10766983.0A EP2424154B1 (en) | 2009-04-23 | 2010-04-14 | Encryption processing system |
ES10766983T ES2873230T3 (es) | 2009-04-23 | 2010-04-14 | Sistema de procesamiento de encriptado |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009104915 | 2009-04-23 | ||
JP2009104915 | 2009-04-23 | ||
JP2009264576A JP5349261B2 (ja) | 2009-04-23 | 2009-11-20 | 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2010273317A true JP2010273317A (ja) | 2010-12-02 |
JP2010273317A5 JP2010273317A5 (ja) | 2013-07-25 |
JP5349261B2 JP5349261B2 (ja) | 2013-11-20 |
Family
ID=43011044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009264576A Active JP5349261B2 (ja) | 2009-04-23 | 2009-11-20 | 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム |
Country Status (7)
Country | Link |
---|---|
US (1) | US8559638B2 (ja) |
EP (1) | EP2424154B1 (ja) |
JP (1) | JP5349261B2 (ja) |
KR (1) | KR101359200B1 (ja) |
CN (1) | CN102415047B (ja) |
ES (1) | ES2873230T3 (ja) |
WO (1) | WO2010122926A1 (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012098649A1 (ja) * | 2011-01-18 | 2012-07-26 | 三菱電機株式会社 | 暗号システム、暗号システムの暗号処理方法、暗号化装置、暗号化プログラム、復号装置、復号プログラム、セットアップ装置、セットアッププログラム、鍵生成装置、鍵生成プログラム、鍵委譲装置および鍵委譲プログラム |
WO2013073488A1 (ja) * | 2011-11-18 | 2013-05-23 | 三菱電機株式会社 | 暗号処理システム、暗号処理方法、暗号処理プログラム及び鍵生成装置 |
JP2013217970A (ja) * | 2012-04-04 | 2013-10-24 | Nippon Telegr & Teleph Corp <Ntt> | 格子問題に基づく階層型内積暗号システム,格子問題に基づく階層型内積暗号方法,装置 |
JP2014138194A (ja) * | 2013-01-15 | 2014-07-28 | Mitsubishi Electric Corp | 情報処理装置 |
US8913742B2 (en) | 2010-04-27 | 2014-12-16 | Mitsubishi Electric Corporation | Cryptographic processing system, key generation device, encryption device, decryption device, signature processing system, signature device, and verification device |
WO2016088251A1 (ja) * | 2014-12-05 | 2016-06-09 | 三菱電機株式会社 | 暗号システム、マスター鍵更新装置及びマスター鍵更新プログラム |
US9640090B2 (en) | 2014-02-24 | 2017-05-02 | Mitsubishi Electric Corporation | Cryptographic system and computer readable medium |
US10516534B2 (en) | 2015-04-07 | 2019-12-24 | Mitsubishi Electric Corporation | Cryptographic system and key generation apparatus |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2423903B1 (en) * | 2009-04-24 | 2014-07-16 | Nippon Telegraph And Telephone Corporation | Encryption apparatus, deccryption apparatus, encryption method, decryption method, security method, program, and recording medium |
WO2010123117A1 (ja) * | 2009-04-24 | 2010-10-28 | 日本電信電話株式会社 | 有限体演算装置、有限体演算方法、プログラム及び記録媒体 |
US8577030B2 (en) * | 2009-11-20 | 2013-11-05 | Mitsubishi Electric Corporation | Cryptographic processing system, key generation device, key delegation device, encryption device, decryption device, cryptographic processing method, and cryptographic processing program |
JP5334873B2 (ja) * | 2010-01-08 | 2013-11-06 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム |
JP5269210B2 (ja) | 2010-01-15 | 2013-08-21 | 三菱電機株式会社 | 秘匿検索システム及び暗号処理システム |
JP5606351B2 (ja) | 2011-02-09 | 2014-10-15 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、鍵委譲装置、暗号処理方法及び暗号処理プログラム |
JP5680007B2 (ja) * | 2012-03-06 | 2015-03-04 | 三菱電機株式会社 | 暗号システム、暗号方法及び暗号プログラム |
WO2014112048A1 (ja) * | 2013-01-16 | 2014-07-24 | 三菱電機株式会社 | 暗号システム、再暗号化鍵生成装置、再暗号化装置、暗号方法及び暗号プログラム |
JP5901803B2 (ja) * | 2013-01-16 | 2016-04-13 | 三菱電機株式会社 | 情報処理装置及び情報処理方法及びプログラム |
US8559631B1 (en) * | 2013-02-09 | 2013-10-15 | Zeutro Llc | Systems and methods for efficient decryption of attribute-based encryption |
WO2015052799A1 (ja) * | 2013-10-09 | 2015-04-16 | 三菱電機株式会社 | 暗号システム、暗号化装置、再暗号化鍵生成装置、再暗号化装置及び暗号プログラム |
EP2860905A1 (en) * | 2013-10-09 | 2015-04-15 | Thomson Licensing | Method for ciphering a message via a keyed homomorphic encryption function, corresponding electronic device and computer program product |
CN105850071B (zh) * | 2014-01-14 | 2019-06-25 | 三菱电机株式会社 | 加密系统、重加密密钥生成装置以及重加密装置 |
US9438412B2 (en) * | 2014-12-23 | 2016-09-06 | Palo Alto Research Center Incorporated | Computer-implemented system and method for multi-party data function computing using discriminative dimensionality-reducing mappings |
US10965459B2 (en) | 2015-03-13 | 2021-03-30 | Fornetix Llc | Server-client key escrow for applied key management system and process |
CN105635135B (zh) * | 2015-12-28 | 2019-01-25 | 北京科技大学 | 一种基于属性集及关系谓词的加密系统及访问控制方法 |
US10931653B2 (en) * | 2016-02-26 | 2021-02-23 | Fornetix Llc | System and method for hierarchy manipulation in an encryption key management system |
CN106533697B (zh) * | 2016-12-06 | 2019-11-08 | 上海交通大学 | 随机数生成与提取方法及其在身份认证上的应用 |
US10205713B2 (en) * | 2017-04-05 | 2019-02-12 | Fujitsu Limited | Private and mutually authenticated key exchange |
CA3067504A1 (en) | 2017-07-18 | 2019-01-24 | Legic Identsystems Ag | Method and devices for verifying authorization of an electronic device |
JP6456451B1 (ja) | 2017-09-25 | 2019-01-23 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | 通信装置、通信方法、及びプログラム |
WO2021146859A1 (en) * | 2020-01-20 | 2021-07-29 | Nokia Shanghai Bell Co., Ltd. | Data privacy protection based polar coding |
US12099997B1 (en) | 2020-01-31 | 2024-09-24 | Steven Mark Hoffberg | Tokenized fungible liabilities |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2744309B1 (fr) * | 1996-01-26 | 1998-03-06 | Bull Cp8 | Procede de communicatin cryptographique asymetrique, et objet portatif associe |
CN100588131C (zh) * | 2003-02-12 | 2010-02-03 | 松下电器产业株式会社 | 发送装置及无线通信方法 |
US20070223686A1 (en) * | 2004-09-16 | 2007-09-27 | Shidong Li | Methods and apparatus for data and signal encryption and decryption by irregular subspace leaping |
US8190553B2 (en) * | 2007-12-20 | 2012-05-29 | Routt Thomas J | Methods and systems for quantum search, computation and memory |
US8401179B2 (en) | 2008-01-18 | 2013-03-19 | Mitsubishi Electric Corporation | Encryption parameter setting apparatus, key generation apparatus, cryptographic system, program, encryption parameter setting method, and key generation method |
EP2423903B1 (en) * | 2009-04-24 | 2014-07-16 | Nippon Telegraph And Telephone Corporation | Encryption apparatus, deccryption apparatus, encryption method, decryption method, security method, program, and recording medium |
-
2009
- 2009-11-20 JP JP2009264576A patent/JP5349261B2/ja active Active
-
2010
- 2010-04-14 US US13/266,002 patent/US8559638B2/en active Active
- 2010-04-14 CN CN201080017994.8A patent/CN102415047B/zh active Active
- 2010-04-14 KR KR1020117027936A patent/KR101359200B1/ko active IP Right Grant
- 2010-04-14 ES ES10766983T patent/ES2873230T3/es active Active
- 2010-04-14 WO PCT/JP2010/056639 patent/WO2010122926A1/ja active Application Filing
- 2010-04-14 EP EP10766983.0A patent/EP2424154B1/en active Active
Non-Patent Citations (5)
Title |
---|
JPN6013035782; Emily Shen, Elaine Shi, and Brent Waters: '"Predicate Privacy in Encryption Systems"' LNCS, Theory of Cryptography Vol.5444, 200903, pp.457-473 * |
JPN6013035790; Craig Gentry and Shai Halevi: '"hierarchical Identity Based Encryption with Polynominally Many Levels"' LNCS, Theory of Cryptography Vol.5444, 200903, pp.437-456 * |
JPN6013035793; Luan Ibraimi, Milan Petkovic, Svetla Nikova, Pieter Hartel, Willem Jonker: "Ciphertext-Policy Attribute-Based Threshold Decryption with Flexible Delegation and Revocation of , 2009, [online] * |
JPN6013035797; Tatsuaki Okamoto and Katsuyuki Takashima: '"Hierarchical Predicate Encryption for Inner-Products"' LNCS, Advances in Cryptology - ASIACRYPT 2009 Vol.5912, 20091206, pp.214-231 * |
JPN7013002701; Tatsuaki Okamoto, Katsuyuki Takashima: '"Relations among Computational and Decisional Problems concerning Vector Decomposition Problems"' 2009年暗号と情報セキュリティシンポジウム (SCIS2009) 2C3 数論応用,2C3-5, 20090120, p.1-6, 2009年暗号と情報セキュリティシンポジウム事務局 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8913742B2 (en) | 2010-04-27 | 2014-12-16 | Mitsubishi Electric Corporation | Cryptographic processing system, key generation device, encryption device, decryption device, signature processing system, signature device, and verification device |
US9276746B2 (en) | 2011-01-18 | 2016-03-01 | Mitsubishi Electric Corporation | Encryption system, encryption processing method of encryption system, encryption device, decryption device, setup device, key generation device, and key delegation device using a user identifier for a user who belongs to a k-th hierarchy in an organization |
JP5501482B2 (ja) * | 2011-01-18 | 2014-05-21 | 三菱電機株式会社 | 暗号システム、暗号システムの暗号処理方法、暗号化装置、暗号化プログラム、復号装置および復号プログラム |
CN103329478A (zh) * | 2011-01-18 | 2013-09-25 | 三菱电机株式会社 | 密码系统、密码系统的密码处理方法、加密装置、加密程序、解密装置、解密程序、设置装置、设置程序、密钥生成装置、密钥生成程序、密钥移交装置以及密钥移交程序 |
WO2012098649A1 (ja) * | 2011-01-18 | 2012-07-26 | 三菱電機株式会社 | 暗号システム、暗号システムの暗号処理方法、暗号化装置、暗号化プログラム、復号装置、復号プログラム、セットアップ装置、セットアッププログラム、鍵生成装置、鍵生成プログラム、鍵委譲装置および鍵委譲プログラム |
US9203622B2 (en) | 2011-11-18 | 2015-12-01 | Mitsubishi Electric Corporation | Cryptographic processing system, cryptographic processing method, cryptograhpic processing program, and key generation device |
WO2013073488A1 (ja) * | 2011-11-18 | 2013-05-23 | 三菱電機株式会社 | 暗号処理システム、暗号処理方法、暗号処理プログラム及び鍵生成装置 |
JP2013109048A (ja) * | 2011-11-18 | 2013-06-06 | Mitsubishi Electric Corp | 暗号処理システム、暗号処理方法、暗号処理プログラム及び鍵生成装置 |
JP2013217970A (ja) * | 2012-04-04 | 2013-10-24 | Nippon Telegr & Teleph Corp <Ntt> | 格子問題に基づく階層型内積暗号システム,格子問題に基づく階層型内積暗号方法,装置 |
JP2014138194A (ja) * | 2013-01-15 | 2014-07-28 | Mitsubishi Electric Corp | 情報処理装置 |
US9640090B2 (en) | 2014-02-24 | 2017-05-02 | Mitsubishi Electric Corporation | Cryptographic system and computer readable medium |
WO2016088251A1 (ja) * | 2014-12-05 | 2016-06-09 | 三菱電機株式会社 | 暗号システム、マスター鍵更新装置及びマスター鍵更新プログラム |
JPWO2016088251A1 (ja) * | 2014-12-05 | 2017-04-27 | 三菱電機株式会社 | 暗号システム、マスター鍵更新装置及びマスター鍵更新プログラム |
US10454673B2 (en) | 2014-12-05 | 2019-10-22 | Mitsubishi Electric Corporation | Cryptographic system, master key update apparatus, and non-transitory computer-readable recording medium storing master key update program |
US10516534B2 (en) | 2015-04-07 | 2019-12-24 | Mitsubishi Electric Corporation | Cryptographic system and key generation apparatus |
Also Published As
Publication number | Publication date |
---|---|
EP2424154A1 (en) | 2012-02-29 |
KR101359200B1 (ko) | 2014-02-05 |
JP5349261B2 (ja) | 2013-11-20 |
WO2010122926A1 (ja) | 2010-10-28 |
CN102415047B (zh) | 2015-12-09 |
KR20120068762A (ko) | 2012-06-27 |
CN102415047A (zh) | 2012-04-11 |
EP2424154B1 (en) | 2021-04-07 |
EP2424154A4 (en) | 2017-07-12 |
ES2873230T3 (es) | 2021-11-03 |
US20120045056A1 (en) | 2012-02-23 |
US8559638B2 (en) | 2013-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5349261B2 (ja) | 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム | |
KR101386294B1 (ko) | 암호 처리 시스템, 키 생성 장치, 암호화 장치, 복호 장치, 서명 처리 시스템, 서명 장치 및 검증 장치 | |
JP5769401B2 (ja) | 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及びプログラム | |
KR101443553B1 (ko) | 암호 처리 시스템, 키 생성 장치, 암호화 장치, 복호 장치, 암호 처리 방법 및 암호 처리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 | |
KR101393899B1 (ko) | 암호 처리 시스템, 키 생성 장치, 암호화 장치, 복호 장치, 암호 처리 방법 및 암호 처리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 | |
JP5334873B2 (ja) | 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム | |
KR101588992B1 (ko) | 암호 시스템, 암호 방법 및 암호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 | |
JP5606344B2 (ja) | 署名処理システム、鍵生成装置、署名装置、検証装置、署名処理方法及び署名処理プログラム | |
JP5921410B2 (ja) | 暗号システム | |
JP5606351B2 (ja) | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、鍵委譲装置、暗号処理方法及び暗号処理プログラム | |
CN107086912B (zh) | 一种异构存储系统中的密文转换方法、解密方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120413 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130610 |
|
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: 20130723 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130820 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5349261 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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 |
|
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 |