JP6625283B2 - 暗号化装置、復号装置、暗号化方法、暗号化プログラム、復号方法及び復号プログラム - Google Patents
暗号化装置、復号装置、暗号化方法、暗号化プログラム、復号方法及び復号プログラム Download PDFInfo
- Publication number
- JP6625283B2 JP6625283B2 JP2019530306A JP2019530306A JP6625283B2 JP 6625283 B2 JP6625283 B2 JP 6625283B2 JP 2019530306 A JP2019530306 A JP 2019530306A JP 2019530306 A JP2019530306 A JP 2019530306A JP 6625283 B2 JP6625283 B2 JP 6625283B2
- Authority
- JP
- Japan
- Prior art keywords
- group
- ciphertext
- encryption
- key
- cryptographic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 69
- 238000012545 processing Methods 0.000 claims description 148
- 238000006243 chemical reaction Methods 0.000 claims description 82
- 230000006870 function Effects 0.000 description 38
- 238000010586 diagram Methods 0.000 description 19
- 230000000875 corresponding effect Effects 0.000 description 13
- 238000013507 mapping Methods 0.000 description 13
- 238000012986 modification Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 5
- 230000000295 complement effect Effects 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 238000012546 transfer Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 229910052739 hydrogen Inorganic materials 0.000 description 1
Images
Classifications
-
- 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/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
- 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/0825—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) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Storage Device Security (AREA)
Description
この発明は、複数の問題困難性から安全性を示すことができる暗号方式を構成可能にすることを目的とする。
群G0と、前記群G0と対応付けられた群Gtと、群G^0と、前記群G^0と対応付けられた群G^tと、前記群G0及び前記群G^0とペアリング演算e0によって対応付けられるとともに、前記群Gt及び前記群G^tとペアリング演算etによって対応付けられた群GTとを用いた暗号システムにおける暗号化装置であり、
前記群GTの要素Xと前記群G^tの要素Y^との生成要素を用いて暗号文ct’を生成する暗号文生成部であって、前記要素Xは前記群GTの生成元が鍵生成乱数によって変換されて生成された、又は、前記要素Y^は前記群G^tの生成元が鍵生成乱数によって変換されて生成された前記生成要素を用いて暗号文ct’を生成する暗号文生成部
を備え、
前記暗号文生成部は、
前記要素Xに対して暗号化乱数ζが設定された変換情報zに対して、メッセージmを設定して前記暗号文ct’の要素である暗号要素cTを生成する第1暗号要素生成部と、
前記要素Y^に対して前記暗号化乱数ζを設定して前記暗号文ct’の要素である暗号要素cを生成する第2暗号要素生成部と
を備える。
実施の形態1では、高安全高効率なIBE方式を説明する。
以下の説明における記法について説明する。
なお、以下の説明では、数式中で変数の上に記載された記号等が、文中では変数の右上に示される。具体的には、記号“^”及び記号“→”は、数式中では変数の上に記載されるが、文中では変数の右上に示される。例えば、数101は、文中ではB^と記載される。
図1を参照して、実施の形態1に係るIBE方式で用いられる同種ペアリンググループ(以下、IPG)について説明する。
具体的には、IPGは、群G0と、群G0と同種写像φtによって対応付けられたt=1,...,dの各群Gtと、群G^0と同種写像φtによって対応付けられたt=1,...,dの各群G^tと、t=0,...,dの各群Gt及び群G^tとペアリング演算etによって対応付られた群GTとを有する。そして、IPGでは、要素が群G0×群G^0からペアリング演算e0で変換された場合と、t=1,...,dのいずれの整数tについての同種写像φtによって群G0×群G^0から群Gt×群G^tに変換された上で、ペアリング演算etによって変換された場合とで、結果は等しくなる。
例えば、t=0,...,dの各整数tについての群Gt及び群G^tは、異なる楕円曲線における群である。
IPG生成アルゴリズムGenIPG(1λ,N)では、数115に示す公開パラメータpkIPGとマスター秘密鍵mskIPGとのマスター鍵ペアがランダムに生成される。
IPGは、数116に示す両立性を有する。
実施の形態1に係るIBE方式の構成を説明する。
IBE方式は、Setupアルゴリズムと、KeyGenアルゴリズムと、Encアルゴリズムと、Decアルゴリズムとを備える。
Setupアルゴリズムは、セキュリティパラメータ1λを入力として、公開パラメータpkと、マスター秘密鍵mskとを出力する。
KeyGenアルゴリズムは、公開パラメータpkと、マスター秘密鍵mskと、識別子IDとを入力として、識別子IDに対応した復号鍵skIDを出力する。
Encアルゴリズムは、公開パラメータpkと、メッセージ空間msgにおけるメッセージmと、識別子ID’とを入力として、暗号文ctID’を出力する。
Decアルゴリズムは、公開パラメータpkと、識別子IDに対応した復号鍵skIDと、識別子ID’の下で暗号化された暗号文ctID’とを入力として、メッセージm’∈msg、又は、復号に失敗したことを示す識別情報⊥を出力する。
暗号システム1は、鍵生成装置10と、暗号化装置20と、復号装置30とを備える。鍵生成装置10と、暗号化装置20と、復号装置30とは、伝送路を介して接続されている。伝送路は、具体例としては、LAN(Local Area Network)、又は、インターネットである。鍵生成装置10と、暗号化装置20と、復号装置30とは、伝送路を介して通信可能である。
鍵生成装置10は、公開パラメータpkを公開し、復号鍵skIDを識別子IDに対応する復号装置30に出力する。鍵生成装置10は、マスター秘密鍵mskを保管する。
なお、Setupアルゴリズムは、暗号システム10のセットアップ時等に1度だけ実行されればよい。
鍵生成装置10は、プロセッサ11と、記憶装置12と、入出力インタフェース13とのハードウェアを備える。プロセッサ11は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
記憶装置12には、鍵生成装置10の各部の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ11により読み込まれ、プロセッサ11によって実行される。これにより、鍵生成装置10の各部の機能が実現される。
暗号化装置20は、プロセッサ21と、記憶装置22と、入出力インタフェース23とのハードウェアを備える。プロセッサ21は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
記憶装置22には、暗号化装置20の各部の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ21により読み込まれ、プロセッサ21によって実行される。これにより、暗号化装置20の各部の機能が実現される。
復号装置30は、プロセッサ31と、記憶装置32と、入出力インタフェース33とのハードウェアを備える。プロセッサ31は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
記憶装置32には、復号装置30の各部の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ31により読み込まれ、プロセッサ31によって実行される。これにより、復号装置30の各部の機能が実現される。
図3から図10を参照して、実施の形態1に係る暗号システム1の動作を説明する。
実施の形態1に係る暗号システム1の動作は、実施の形態1に係る暗号方法に相当する。また、実施の形態1に係る暗号システム1の動作は、実施の形態1に係る暗号プログラムの処理に相当する。
実施の形態1に係る鍵生成装置10の動作は、実施の形態1に係る鍵生成方法に相当する。また、実施の形態1に係る鍵生成装置10の動作は、実施の形態1に係る鍵生成プログラムの処理に相当する。
実施の形態1に係る暗号化装置20の動作は、実施の形態1に係る暗号化方法に相当する。また、実施の形態1に係る暗号化装置20の動作は、実施の形態1に係る暗号化プログラムの処理に相当する。
実施の形態1に係る復号装置30の動作は、実施の形態1に係る復号方法に相当する。また、実施の形態1に係る復号装置30の動作は、実施の形態1に係る復号プログラムの処理に相当する。
Setupアルゴリズムは、鍵生成装置10によって実行される。
マスター鍵生成部14は、入出力インタフェース13を介してセキュリティパラメータ1λの入力を受け付ける。マスター鍵生成部14は、受け付けられたセキュリティパラメータ1λと、d=1とを入力として、IPG生成アルゴリズムGenIPG(1λ,d)を実行して、数117に示す公開パラメータpkIPGとマスター秘密鍵mskIPGとのマスター鍵ペアを生成する。
なお、図7に示されるように、G0からG1への変換が“復号鍵生成(KeyGen)”に、G0×G^0からGTへの変換が“暗号化(Enc)”に、G1×G^1からGTへの変換が“復号(Dec)”に大まかに対応している。
マスター鍵生成部14は、識別子の空間である体Fqの要素を、群G0の要素に変換するランダムなハッシュ関数Hを生成する。
マスター鍵生成部14は、一様乱数である鍵生成乱数γを生成する。
マスター鍵生成部14は、ステップS11で生成された公開パラメータpkIPGと、ステップS12で生成されたハッシュ関数Hとを用いて、公開パラメータpk:=((Gt,G^t,et)t=0,1,g^0’:=g^0 γ,g^1,GT,H)を生成する。鍵出力部16は、公開パラメータpkを入出力インタフェース13を介して外部の公開用サーバ等へ出力することにより、公開パラメータpkを暗号化装置20及び復号装置30に出力する。
また、マスター鍵生成部14は、ステップS11で生成されたマスター秘密鍵mskIPGと、ステップS13で生成された鍵生成乱数γとを用いて、マスター秘密鍵msk:=(φ1,γ)を生成する。マスター鍵生成部14は、生成されたマスター秘密鍵mskを記憶装置12に書き込む。
KeyGenアルゴリズムは、鍵生成装置10によって実行される。
復号鍵生成部15は、入出力インタフェース13を介して、復号鍵skIDを使用するユーザの識別子IDの入力を受け付ける。識別子IDは、例えば、鍵生成装置10の使用者によって入力装置を介して入力される。
復号鍵生成部15は、ステップS21で受け付けられた識別子IDを入力として、公開パラメータpkに含まれるハッシュ関数Hを計算して、群G0の要素である要素h0を生成する。
復号鍵生成部15は、マスター秘密鍵mskに含まれる同種写像φ1及び鍵生成乱数γで要素h0を変換して、要素h1を生成する。具体的には、復号鍵生成部15は、数119に示すように、同種写像φ1及び鍵生成乱数γで要素h0を変換して、鍵要素kである要素h1を生成する。
鍵出力部16は、ステップS21で受け付けられた識別子IDと、ステップS22で生成された要素h1とを含む復号鍵skIDを、入出力インタフェース13を介して復号装置30に出力する。この際、鍵出力部16は、何らかの暗号方式で暗号化するといった方法により、復号鍵skIDが第三者に漏えいしないようにする。
Encアルゴリズムは、暗号化装置20によって実行される。
取得部24は、入出力インタフェース23を介して、鍵生成装置10によって生成された公開パラメータpkを取得する。また、取得部24は、暗号化対象のメッセージmと、復号条件となる識別子ID’との入力を受け付ける。メッセージmと識別子ID’とは、例えば、暗号化装置20の使用者によって入力装置を介して入力される。
暗号文生成部25は、ステップS31で取得された公開パラメータpk及び識別子ID’を用いて、暗号文ctID’の要素を生成する。暗号文生成部25は、群GTの要素Xと群G^tの要素Y^との生成要素を用いて暗号文ctID’の要素を生成する。ここで、要素Xは、後述するe0(h0,g^0’)のことであり、要素Y^は、公開パラメータpkに含まれるg^1のことである。
暗号文生成処理は、ステップS321からステップS323の処理を含む。
変換情報生成部251は、ステップS31で受け付けられた識別子ID’を入力として、公開パラメータpkに含まれるハッシュ関数Hを計算して、群G0の要素である要素h0を生成する。また、変換情報生成部251は、一様乱数である暗号化乱数ζを生成する。
変換情報生成部251は、要素h0と、暗号化乱数ζとを用いて、数121に示すように、変換情報zを生成する。
第1暗号要素生成部252は、数122に示すように、ステップS321で生成された変換情報zに対して、メッセージmを設定して暗号文ctID’の要素である暗号要素cTを生成する。
暗号文出力部26は、ステップS31で受け付けられた識別子ID’と、ステップS32で生成された暗号要素cT,cとを暗号要素とする暗号文ctID’を、入出力インタフェース23を介して復号装置30に出力する。
Decアルゴリズムは、復号装置30によって実行される。
取得部34は、入出力インタフェース33を介して、鍵生成装置10によって生成された公開パラメータpk及び復号鍵skIDと、暗号化装置20によって生成された暗号文ctID’とを取得する。
取得処理は、ステップS411とステップS412との処理を含む。
復号鍵取得部341は、入出力インタフェース33を介して、鍵生成装置10によって生成された公開パラメータpk及び復号鍵skIDを取得する。ここで、復号鍵skIDは、鍵生成乱数γで変換された群Gt(=群G1)の要素である要素h1を鍵要素kとして含む。
暗号文取得部342は、暗号化装置20によって生成された暗号文ctID’を取得する。ここで、暗号文ctID’は、暗号要素cTと、暗号要素cとが含まれる。暗号要素cTは、群GTの生成元(e0(h0,g^0))が鍵生成乱数γによって変換されて生成された要素Xに対して暗号化乱数ζが設定された変換情報zに、メッセージmが設定されている。暗号要素cは、要素Y^であるg^1に対して暗号化乱数ζが設定されている。
復号部35は、ステップS41で受け付けられた復号鍵skIDに含まれる識別子IDと、暗号文ctID’に含まれる識別子ID’とが等しいか否かを判定する。これにより、暗号文ctID’を復号鍵skIDで復号可能かが判定される。
復号部35は、識別子IDと識別子ID’とが等しいと判定された場合、つまり復号可能と判定された場合、処理をステップS43に進め、そうでない場合、処理をステップS45に進める。
復号部35は、ステップS41で受け付けられた復号鍵skIDにより、暗号文ctID’を復号して、メッセージm’を生成する。
復号処理は、ステップS431とステップS432との処理を含む。
変換情報生成部351は、ステップS411で取得された復号鍵skIDに含まれる要素h1と、ステップS412で取得された暗号文ctID’に含まれる暗号要素cとを用いて、数125に示すように、変換情報z’を生成する。
メッセージ生成部352は、ステップS431で生成された変換情報z’と、ステップS412で取得された暗号文ctID’に含まれる暗号要素cTとを用いて、数127に示すように、メッセージm’を生成する。
メッセージ出力部36は、ステップS43で計算されたメッセージm’を、入出力インタフェース33を介して出力する。
メッセージ出力部36は、復号に失敗したことを示す識別情報⊥を、入出力インタフェース33を介して出力する。
以上のように、実施の形態1に係る暗号システム1は、IPGを用いてIBE方式を実現する。IPGは、対応付けが行われた複数の群により構成される。そのため、複数の群の対応付けに使用された写像に基づく問題困難性から安全性を示すことを可能とすることができる。具体的には、IPGでは、群G0と、t=1,...,dの各群Gtとの間と、群G^0と、t=1,...,dの各群G^tとの間とが同種写像φtによって対応付けられている。これにより、同種写像問題困難性から安全性を示すことを可能とすることができる。
<変形例1>
実施の形態1では、鍵生成装置10、暗号化装置20、復号装置30の各部の機能がソフトウェアで実現された。変形例1として、鍵生成装置10、暗号化装置20、復号装置30の各部の機能はハードウェアで実現されてもよい。この変形例1について、実施の形態1と異なる点を説明する。
各部の機能がハードウェアで実現される場合、鍵生成装置10、暗号化装置20、復号装置30は、プロセッサ11,21,31と記憶装置12,22,32とに代えて、電子回路18,28,38を備える。電子回路18,28,38は、鍵生成装置10、暗号化装置20、復号装置30の各部の機能と、記憶装置12,22,32の機能とを実現する専用の回路である。
鍵生成装置10、暗号化装置20、復号装置30は、電子回路18,28,38を代替する複数の電子回路を備えていてもよい。これら複数の電子回路により、全体として各部の機能が実現される。それぞれの電子回路は、電子回路18,28,38と同じように、専用の回路である。
変形例2として、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。つまり、鍵生成装置10、暗号化装置20、復号装置30の各部のうち、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。
実施の形態2では、高安全なベーシックIBE方式を説明する。
実施の形態2では、実施の形態1と同一の点については説明を省略し、異なる点を説明する。
実施の形態2に係るIBE方式で用いられるキーテクニックを説明する。
従来ペアリングを用いて実現されたIBEは、ただ一対のペアリング群G,G^上に、秘密鍵及び暗号文をエンコードしていた。これに対して、実施の形態2に係るIBEは、ID毎に異なる群GID,G^IDをそのIDに対応させる。これらの群GID,G^IDをID群と呼ぶ。
これにより、図14に示す関係が成立する。図14では、矢印は、“if and only if”を意味する。つまり、ID≠ID’である場合かつその場合に限り、GID≠GID’である。また、GID≠GID’である場合かつその場合に限り、G^ID≠G^ID’である。
図15に示すように、Setupアルゴリズムでは、群Gtとして、j=1,...,nの各整数jと、ι=0,1の各整数ιとについての群Gj,ι及び群G^j,ιが生成される。つまり、2n個の群Gj,ι及び2n個の群G^j,ιが生成される。
図16に示すように、KeyGenアルゴリズムでは、j=1,...,nの各整数jについてのIDjの集合であるIDが入力される。ここで、IDjは、0又は1である。そして、j=1,...,nの各整数jについて、IDjに対して、群Gj,IDjが割り当てられる。j=1,...,nの各整数jについて、IDjに割り当てられた群Gj,IDjの直積がID群GIDである。つまり、ID=01...10である場合には、ID群GID:=G1,0×G2,1×・・・×Gn−1,1×Gn,0である。
図17に示すように、Encアルゴリズムでは、j=1,...,nの各整数jについてのID’jの集合であるID’が入力される。ここで、ID’jは、0又は1である。そして、j=1,...,nの各整数jについて、ID’jに対して、群G^j,ID’jが割り当てられる。j=1,...,nの各整数jについて、ID’jに割り当てられた群G^j,ID’jの直積がID群G^ID’である。つまり、ID’=01...10である場合には、ID群G^ID’:=G^1,0×G^2,1×・・・×G^n−1,1×G^n,0である。
図18に示すように、Decアルゴリズムでは、j=1,...,nの各整数jについて、IDjに割り当てられた群Gj,IDjの要素と、ID’jに割り当てられた群G^j、ID’jの要素とのペアリング演算の直積が計算される。このとき、ID=ID’であれば、j=1,...,nの各整数jについての群Gj,IDjと群G^j,ID’jとが対応している。そのため、j=1,...,nの各整数jについてペアリング演算が計算された結果が群GTの要素になる。しかし、ID≠ID’である場合には、j=1,...,nのうち少なくとも一部の整数jについての群Gj,IDjと群G^j,ID’jとが対応していない。そのため、j=1,...,nのうち少なくとも一部の整数jについてペアリング演算が計算された結果が群GTの要素にならない。一部の整数jについてでもペアリング演算が計算された結果が群GTの要素にならなければ、正しく復号することはできない。
図19を参照して、実施の形態2に係る鍵生成装置10の構成を説明する。
鍵生成装置10は、機能構成要素としてID群割当部17を備える点が図3に示す鍵生成装置10と異なる。ID群割当部17は、他の機能構成要素の機能と同様に、ソフトウェア又はハードウェアにより実現される。
暗号化装置20は、機能構成要素としてID群割当部27を備える点が図4に示す暗号化装置20と異なる。ID群割当部27は、他の機能構成要素の機能と同様に、ソフトウェア又はハードウェアにより実現される。
図5と、図10と、図19から図23とを参照して、実施の形態2に係る暗号システム1の動作を説明する。実施の形態2についても、実施の形態1と同様に各動作は、各方法及び各プログラムの処理に相当する。
(ステップS51:IPG生成処理)
マスター鍵生成部14は、入出力インタフェース13を介してセキュリティパラメータ1λと、IDのビット数である値nとの入力を受け付ける。マスター鍵生成部14は、受け付けられたセキュリティパラメータ1λと、d=2nとを入力として、IPG生成アルゴリズムGenIPG(1λ,d)を実行して、数129に示す公開パラメータpkIPGとマスター秘密鍵mskIPGとのマスター鍵ペアを生成する。
マスター鍵生成部14は、一様乱数である秘密情報s0を生成する。
マスター鍵生成部14は、数130に示すように、群GTの要素gTに秘密情報s0を設定して要素hTを生成する。
マスター鍵生成部14は、j=1,...,nの各整数jと、ι=0,1の各整数ιとについて、一様乱数である鍵生成乱数τj,ιを生成する。
マスター鍵生成部14は、j=1,...,nの各整数jと、ι=0,1の各整数ιとについて、数131に示すように、群G^j,ιの要素g^j,ιに、鍵生成乱数τj,ιを設定して要素h^j,ιを生成する。
マスター鍵生成部14は、ステップS51で生成された公開パラメータpkIPGと、ステップS52で生成された要素hTと、ステップS53で生成された要素h^j,ιとを用いて、公開パラメータpk:=((Gj,ι,G^j,ι,h^j,ι,ej,ι)j∈[n],ι∈[0,1],GT,hT)を生成する。鍵出力部16は、公開パラメータpkを入出力インタフェース13を介して外部の公開用サーバ等へ出力することにより、公開パラメータpkを暗号化装置20及び復号装置30に出力する。
また、マスター鍵生成部14は、ステップS52で生成された秘密情報s0と、ステップS53で生成された要素hj,ιとを用いて、マスター秘密鍵msk:=(s0,(hj,ι)j∈[n],ι∈[0,1])を生成する。マスター鍵生成部14は、生成されたマスター秘密鍵mskを記憶装置12に書き込む。
(ステップS61:ID受付処理)
復号鍵生成部15は、入出力インタフェース13を介して、復号鍵skIDを使用するユーザの識別子IDの入力を受け付ける。識別子IDは、例えば、鍵生成装置10の使用者によって入力装置を介して入力される。
上述した通り、識別子ID:=(IDj)j=1,...,nである。また、各IDjは、0又は1である。
ID群割当部17は、j=1,...,nの各整数jについてのIDjを、群Gtである群Gj,ιのうちの異なる群に割り当てる。具体的には、ID群割当部17は、j=1,...,nの各整数jについてのIDjを、群Gj,IDjに割り当てる。そして、ID群割当部17は、j=1,...,nの各整数jについての群Gj,IDjの直積をID群GIDとする。つまり、ID群割当部17は、数134に示すように、ID群GIDを生成する。
鍵出力部16は、ステップS61で受け付けられた識別子IDと、ステップS64で生成された鍵要素kとを含む復号鍵skIDを、入出力インタフェース13を介して復号装置30に出力する。
(ステップS71:取得処理)
取得部24は、入出力インタフェース23を介して、鍵生成装置10によって生成された公開パラメータpkを取得する。また、取得部24は、暗号化対象のメッセージmと、復号条件となる識別子ID’との入力を受け付ける。メッセージmと識別子ID’とは、例えば、暗号化装置20の使用者によって入力装置を介して入力される。
上述した通り、識別子ID’:=(ID’j)j=1,...,nである。また、各ID’jは、0又は1である。
ID群割当部27は、j=1,...,nの各整数jについてのID’jを、群G^tである群G^j,ιのうちの異なる群に割り当てる。具体的には、ID群割当部17は、j=1,...,nの各整数jについてのID’jを、群G^j,ID’jに割り当てる。そして、ID群割当部17は、j=1,...,nの各整数jについての群G^j,ID’jの直積をID群G^IDとする。つまり、ID群割当部17は、数139に示すように、ID群G^IDを生成する。
暗号文生成部25は、ステップS71で取得された公開パラメータpkと、ステップS72で生成された要素h^IDとを用いて、暗号文ctID’の要素を生成する。暗号文生成部25は、群GTの要素Xと群G^tの要素Y^との生成要素を用いて暗号文ctID’の要素を生成する。ここで、要素Xは、公開パラメータpkに含まれる要素hTのことであり、要素Y^は、ステップS72で生成された要素h^IDのことである。
暗号文生成処理は、ステップS731からステップS733の処理を含む。
変換情報生成部251は、一様乱数である暗号化乱数ζを生成する。
変換情報生成部251は、要素hTと、暗号化乱数ζとを用いて、数141に示すように、変換情報zを生成する。
第1暗号要素生成部252は、数142に示すように、ステップS731で生成された変換情報zに対して、メッセージmを設定して暗号文ctID’の要素である暗号要素cTを生成する。
第2暗号要素生成部253は、数143に示すように、要素Y^である要素h^IDに対して暗号化乱数ζを設定して暗号文ctID’の要素である暗号要素cを生成する。
暗号文出力部26は、ステップS71で受け付けられた識別子ID’と、ステップS73で生成された暗号要素cT,cとを暗号要素とする暗号文ctID’を、入出力インタフェース23を介して復号装置30に出力する。
ステップS41とステップS42との処理と、ステップS44とステップS45との処理とは、実施の形態1と同じである。
但し、復号鍵skIDは、要素hIDに分散情報s→が設定された鍵要素kを含む。ここで、要素hIDは、要素hj,ιを用いて生成される。要素hj,ιは、群Gj,ιの要素gj,ιに、鍵生成乱数τj,ιの逆数1/τj,ιを設定してされる。したがって、復号鍵skIDは、鍵生成乱数τj,ιで変換された群Gt(=群Gj,ι)の要素である鍵要素kを含む。
また、暗号文ctID’は、暗号要素cTと、暗号要素cとが含まれる。暗号要素cTは、群GTの生成元hTである要素Xに対して暗号化乱数ζが設定された変換情報zに、メッセージmが設定されている。暗号要素cは、群G^tの生成元g^j,ιが鍵生成乱数τj,ιによって変換された要素Y^である要素h^IDに対して暗号化乱数ζが設定されている。
復号部35は、ステップS41で受け付けられた復号鍵skIDにより、暗号文ctID’を復号して、メッセージm’を生成する。
復号処理は、ステップS431とステップS432との処理を含む。
変換情報生成部351は、復号鍵skIDに含まれる要素kと、暗号文ctID’に含まれる暗号要素cとを用いて、数145に示すように、変換情報z’を生成する。
メッセージ生成部352は、ステップS431で生成された変換情報z’と、暗号文ctID’に含まれる暗号要素cTとを用いて、数147に示すように、メッセージm’を生成する。
以上のように、実施の形態2に係る暗号システム1は、実施の形態1に係る暗号システム1と同様に、IPGを用いてIBE方式を実現する。そのため、同種写像問題困難性から安全性を示すことを可能とすることができる。
また、実施の形態2に係る暗号システム1は、鍵生成乱数τj,ιによって変換された生成要素である要素Y^を用いて暗号文ctID’を生成する。これにより、ペアリング問題困難性から安全性を示すことを可能とすることができる。
なお、KeyGenアルゴリズムと、Encアルゴリズムと、Decアルゴリズムとでは、同種写像φを用いていないため、図21のステップS51でGenIPGアルゴリズムは、同種写像φtを出力しなくてもよい。
実施の形態3では、小さい属性集合のABE方式を説明する。
実施の形態3では、実施の形態2と同一の点については説明を省略し、異なる点を説明する。
KP−ABE方式は、Setupアルゴリズムと、KeyGenアルゴリズムと、Encアルゴリズムと、Decアルゴリズムとを備える。
Setupアルゴリズムは、セキュリティパラメータ1λを入力として、公開パラメータpkと、マスター秘密鍵mskとを出力する。
KeyGenアルゴリズムは、公開パラメータpkと、マスター秘密鍵mskと、アクセスストラクチャS:=(M,ρ)とを入力として、入力タグtag及びアクセスストラクチャSに対応した復号鍵skSを出力する。
Encアルゴリズムは、公開パラメータpkと、メッセージ空間msgにおけるメッセージmと、属性集合Γを入力として、暗号文ctΓを出力する。
Decアルゴリズムは、公開パラメータpkと、アクセスストラクチャSに対応した復号鍵skSと、属性集合Γの下で暗号化された暗号文ctΓとを入力として、メッセージm’∈msg、又は、復号に失敗したことを示す識別情報⊥を出力する。
暗号システム1は、鍵生成装置10と、暗号化装置20と、復号装置30とを備える。鍵生成装置10と、暗号化装置20と、復号装置30とは、伝送路を介して接続されている。伝送路は、具体例としては、LAN(Local Area Network)、又は、インターネットである。鍵生成装置10と、暗号化装置20と、復号装置30とは、伝送路を介して通信可能である。
鍵生成装置10は、公開パラメータpkを公開し、復号鍵skSをアクセスストラクチャSに対応する復号装置30に出力する。鍵生成装置10は、マスター秘密鍵mskを保管する。
実施の形態2に係るABE方式で用いられる概念について説明する。
スパンプログラムについて説明する。スパンプログラムは既存の概念であるため、ここでは以下の説明で必要な範囲だけ簡単に説明する。
スパンプログラムは、以下の基準に従い、入力を受理又は拒絶する。Γを属性集合とする。つまり、Γ:={(tj,xj)}1≦j≦d’(xj∈Utj)である。1→∈span<(Mi)ρ(i)∈Γ>の場合に限り、スパンプログラムSは属性集合Γを受理する。スパンプログラムSが属性集合Γを受理することを、R(S,Γ)=1と表す。つまり、行列Mの行(Mi)ρ(i)∈Γの線形結合によって全ての要素が1のベクトルが得られる場合に限り、スパンプログラムSは属性集合Γを受理する。スパンプログラムSをアクセスストラクチャと呼ぶ。
図5と、図10と、図19から図23とを参照して、実施の形態3に係る暗号システム1の動作を説明する。実施の形態3についても、実施の形態2と同様に各動作は、各方法及び各プログラムの処理に相当する。
(ステップS51:IPG生成処理)
マスター鍵生成部14は、入出力インタフェース13を介してセキュリティパラメータ1λと、属性の最大数である値dとの入力を受け付ける。マスター鍵生成部14は、受け付けられたセキュリティパラメータ1λと、dとを入力として、IPG生成アルゴリズムGenIPG(1λ,d)を実行して、数149に示す公開パラメータpkIPGとマスター秘密鍵mskIPGとのマスター鍵ペアを生成する。
マスター鍵生成部14は、一様乱数である秘密情報s0を生成する。
マスター鍵生成部14は、数150に示すように、群GTの要素gTに秘密情報s0を設定して要素hTを生成する。
マスター鍵生成部14は、t∈[d]の各整数tについて、一様乱数である鍵生成乱数τtを生成する。
マスター鍵生成部14は、t∈[d]の各整数tについて、数151に示すように、群G^tの要素g^tに、鍵生成乱数τtを設定して要素h^tを生成する。
マスター鍵生成部14は、ステップS51で生成された公開パラメータpkIPGと、ステップS52で生成された要素hTと、ステップS53で生成された要素h^tとを用いて、公開パラメータpk:=((Gt,G^t,h^t,et)t∈[d],GT,hT)を生成する。鍵出力部16は、公開パラメータpkを入出力インタフェース13を介して外部の公開用サーバ等へ出力することにより、公開パラメータpkを暗号化装置20及び復号装置30に出力する。
また、マスター鍵生成部14は、ステップS52で生成された秘密情報s0と、ステップS53で生成された要素htとを用いて、マスター秘密鍵msk:=(s0,(ht)t∈[d])を生成する。マスター鍵生成部14は、生成されたマスター秘密鍵mskを記憶装置12に書き込む。
(ステップS61:ID受付処理)
復号鍵生成部15は、入出力インタフェース13を介して、復号鍵skSを使用するユーザのアクセスストラクチャS:=(M,ρ)の入力を受け付ける。アクセスストラクチャSは、復号鍵skSで復号可能な範囲を示す情報である。
ID群割当部17は、i∈[L]の各整数iについて、t=ρ(i)である群Gtの直積をID群GIDとする。ID群割当部17は、マスター秘密鍵mskに含まれる要素htのうち、ID群GIDに含まれる要素htの集合を、要素hIDとして生成する。具体的には、ID群割当部17は、数154に示すように、要素hIDを生成する。
復号鍵生成部15は、数156に示すように、ステップS62で生成された要素hIDに、ステップS63で生成された分散情報s→を設定して、鍵要素k:={ki}を生成する。
鍵出力部16は、ステップS61で受け付けられたアクセスストラクチャSと、ステップS64で生成された鍵要素k:={ki}とを含む復号鍵skSを、入出力インタフェース13を介して復号装置30に出力する。
ステップS73の処理は、実施の形態2と同じである。
(ステップS71:取得処理)
取得部24は、入出力インタフェース23を介して、鍵生成装置10によって生成された公開パラメータpkを取得する。また、取得部24は、暗号化対象のメッセージmと、復号条件となる属性集合Γとの入力を受け付ける。
ID群割当部27は、t∈Γの各整数tについて、群G^tの直積をID群G^IDとする。ID群割当部17は、公開パラメータpkに含まれる要素h^tのうち、ID群G^IDに含まれる要素h^tの集合を、要素h^IDとして生成する。具体的には、ID群割当部17は、数158に示すように、要素h^IDを生成する。
暗号文出力部26は、ステップS71で受け付けられた属性集合Γと、ステップS73で生成された暗号要素cT,c:={ct:=h^t ζ}とを暗号要素とする暗号文ctΓを、入出力インタフェース23を介して復号装置30に出力する。
ステップS44とステップS45との処理は、実施の形態2と同じである。
取得部34は、入出力インタフェース33を介して、鍵生成装置10によって生成された公開パラメータpk及び復号鍵skSと、暗号化装置20によって生成された暗号文ctΓとを取得する。
復号鍵取得部341は、入出力インタフェース33を介して、鍵生成装置10によって生成された公開パラメータpk及び復号鍵skSを取得する。ここで、復号鍵skSは、要素hIDに分散情報s→が設定された鍵要素k:={ki}を含む。つまり、実施の形態2と同様に、復号鍵skSは、鍵生成乱数τtで変換された群Gtの要素である鍵要素kを含む。
暗号文取得部342は、暗号化装置20によって生成された暗号文ctΓを取得する。ここで、暗号文ctΓは、暗号要素cTと、暗号要素c:={ct}とが含まれる。暗号要素cTは、群GTの生成元hTである要素Xに対して暗号化乱数ζが設定された変換情報zに、メッセージmが設定されている。暗号要素cは、群G^tの生成元g^tが鍵生成乱数τtによって変換された要素Y^である要素h^IDに対して暗号化乱数ζが設定されている。
復号部35は、ステップS41で受け付けられた復号鍵skSに含まれるアクセスストラクチャSが、暗号文ctΓに含まれる属性集合Γを受理するか否かを判定する。これにより、暗号文ctΓを復号鍵skSで復号可能かが判定される。
復号部35は、受理すると判定された場合、つまり復号可能と判定された場合、処理をステップS43に進め、そうでない場合、処理をステップS45に進める。
復号部35は、ステップS41で受け付けられた復号鍵skSにより、暗号文ctΓを復号して、メッセージm’を生成する。
復号処理は、ステップS431とステップS432との処理を含む。
変換情報生成部351は、数160に示す補完係数σiを計算する。
メッセージ生成部352は、ステップS431で生成された変換情報z’と、暗号文ctΓに含まれる暗号要素cTとを用いて、数163に示すように、メッセージm’を生成する。
以上のように、実施の形態3に係る暗号システム1は、IPGを用いてABE方式を実現する。そのため、同種写像問題困難性から安全性を示すことを可能とすることができる。
また、実施の形態3に係る暗号システム1は、鍵生成乱数τtによって変換された生成要素である要素Y^を用いて暗号文ctΓを生成する。これにより、ペアリング問題困難性から安全性を示すことを可能とすることができる。
実施の形態4では、大きい属性集合のABE方式を説明する。
実施の形態4では、実施の形態3と同一の点については説明を省略し、異なる点を説明する。
なお、以下の説明において、xtが下付きで示されている場合には、このxtはxtを意味し、viが下付きで示されている場合には、このviはviを意味する。
図5と、図10と、図19から図23とを参照して、実施の形態4に係る暗号システム1の動作を説明する。実施の形態4についても、実施の形態3と同様に各動作は、各方法及び各プログラムの処理に相当する。
(ステップS51:IPG生成処理)
マスター鍵生成部14は、入出力インタフェース13を介してセキュリティパラメータ1λと、属性の最大数である値dと、各カテゴリtについてのビット数を表す値nとの入力を受け付ける。マスター鍵生成部14は、受け付けられたセキュリティパラメータ1λと、dと、nとを入力として、IPG生成アルゴリズムGenIPG(1λ,d,n)を実行して、数165に示す公開パラメータpkIPGとマスター秘密鍵mskIPGとのマスター鍵ペアを生成する。
マスター鍵生成部14は、一様乱数である秘密情報s0を生成する。
マスター鍵生成部14は、数166に示すように、群GTの要素gTに秘密情報s0を設定して要素hTを生成する。
マスター鍵生成部14は、t∈[d]とj∈[n]とι∈[0,1]との各整数t,j,ιについて、一様乱数である鍵生成乱数τt,j,ιを生成する。
マスター鍵生成部14は、t∈[d]とj∈[n]とι∈[0,1]との各整数t,j,ιについて、数167に示すように、群G^t,j,ιの要素g^t,j,ιに、鍵生成乱数τt,j,ιを設定して要素h^t,j,ιを生成する。
マスター鍵生成部14は、ステップS51で生成された公開パラメータpkIPGと、ステップS52で生成された要素hTと、ステップS53で生成された要素h^t,j,ιとを用いて、公開パラメータpk:=((Gt,j,ι,G^t,j,ι,h^t,j,ι,et,j,ι)t∈[d],j∈[n],ι∈[0,1],GT,hT)を生成する。鍵出力部16は、公開パラメータpkを入出力インタフェース13を介して外部の公開用サーバ等へ出力することにより、公開パラメータpkを暗号化装置20及び復号装置30に出力する。
また、マスター鍵生成部14は、ステップS52で生成された秘密情報s0と、ステップS53で生成された要素ht,j,ιとを用いて、マスター秘密鍵msk:=(s0,(ht,j,ι)t∈[d],j∈[n],ι∈[0,1])を生成する。マスター鍵生成部14は、生成されたマスター秘密鍵mskを記憶装置12に書き込む。
ステップS61の処理は、実施の形態3と同じである。
ID群割当部17は、i∈[L]の各整数iについて、ρ(i)=(t,vi:=(vi,j)∈{0,1}n)である場合に、j=1,...,nの各整数jについての群Gt,j,viの直積をID群Gt,viとする。なお、ID群Gt,viは、t番目の基底群である。つまり、ID群割当部17は、数170に示すように、ID群Gt,viを生成する。
鍵出力部16は、ステップS61で受け付けられたアクセスストラクチャSと、ステップS64で生成された鍵要素k:={ki}とを含む復号鍵skSを、入出力インタフェース13を介して復号装置30に出力する。
ステップS73とステップS74との処理は、実施の形態2と同じである。
(ステップS71:取得処理)
取得部24は、入出力インタフェース23を介して、鍵生成装置10によって生成された公開パラメータpkを取得する。また、取得部24は、暗号化対象のメッセージmと、復号条件となる属性集合Γとの入力を受け付ける。
ID群割当部27は、(t,xt:=(xt,j)∈{0,1}n)∈Γの各整数tについて、j=1,...,nの各整数jの群G^t,j,xtの直積をID群G^t,xtとする。つまり、ID群割当部27は、数175に示すように、ID群G^t,xtを生成する。
暗号文生成部25は、ステップS71で取得された公開パラメータpkと、ステップS72で生成された要素h^t,xtとを用いて、暗号文ctΓの要素を生成する。暗号文生成部25は、群GTの要素Xと群G^t,xtの要素Y^との生成要素を用いて暗号文ctΓの要素を生成する。ここで、要素Xは、公開パラメータpkに含まれる要素hTのことであり、要素Y^は、ステップS72で生成された要素h^t,xtのことである。
暗号文生成処理は、ステップS731からステップS733の処理を含む。
変換情報生成部251は、一様乱数である暗号化乱数ζを生成する。
変換情報生成部251は、要素hTと、暗号化乱数ζとを用いて、数177に示すように、変換情報zを生成する。
第1暗号要素生成部252は、数178に示すように、ステップS731で生成された変換情報zに対して、メッセージmを設定して暗号文ctΓの要素である暗号要素cTを生成する。
第2暗号要素生成部253は、数179に示すように、(t,xt:=(xt,j)∈{0,1}n)∈Γの各整数tについて、要素Y^である要素h^t,xtに対して暗号化乱数ζを設定して暗号文ctΓの要素である暗号要素ctを生成する。
暗号文出力部26は、ステップS71で受け付けられた属性集合Γと、ステップS73で生成された暗号要素cT,c:={ct}t∈Γとを暗号要素とする暗号文ctΓを、入出力インタフェース23を介して復号装置30に出力する。
ステップS41とステップS42との処理と、ステップS44とステップS45との処理とは、実施の形態3と同じである。
但し、復号鍵skSは、要素ht,viに分散情報s→が設定された鍵要素kを含む。つまり、実施の形態3と同様に、復号鍵skSは、鍵生成乱数τt,j,ιで変換された群Gt,viの要素である鍵要素k:={ki}を含む。
また、暗号文ctΓは、暗号要素cTと、暗号要素cとが含まれる。暗号要素cTは、群GTの生成元hTである要素Xに対して暗号化乱数ζが設定された変換情報zに、メッセージmが設定されている。暗号要素cは、群G^t,xtの生成元g^t,j,ιが鍵生成乱数τt,j,ιによって変換された要素Y^である要素h^t,xtに対して暗号化乱数ζが設定されている。
復号部35は、ステップS41で受け付けられた復号鍵skSにより、暗号文ctΓを復号して、メッセージm’を生成する。
復号処理は、ステップS431とステップS432との処理を含む。
変換情報生成部351は、数181に示す補完係数σiを計算する。
メッセージ生成部352は、ステップS431で生成された変換情報z’と、暗号文ctΓに含まれる暗号要素cTとを用いて、数184に示すように、メッセージm’を生成する。
以上のように、実施の形態4に係る暗号システム1は、IPGを用いてABE方式を実現する。そのため、同種写像問題困難性から安全性を示すことを可能とすることができる。
また、実施の形態4に係る暗号システム1は、鍵生成乱数τt,j,ιによって変換された生成要素である要素Y^を用いて暗号文ctΓを生成する。これにより、ペアリング問題困難性から安全性を示すことを可能とすることができる。
実施の形態5では、実施の形態2で説明したIBE方式に基づく、階層的なIBE(Hierarchical IBE,以下HIBE)を説明する。
実施の形態5では、実施の形態2と同一の点については説明を省略し、異なる点を説明する。
HIBE方式は、Setupアルゴリズムと、KeyGenアルゴリズムと、Encアルゴリズムと、Decアルゴリズム、Delegateアルゴリズムとを備える。
Setupアルゴリズムは、セキュリティパラメータ1λを入力として、公開パラメータpkと、マスター秘密鍵mskとを出力する。
KeyGenアルゴリズムは、公開パラメータpkと、マスター秘密鍵mskと、識別子IDとを入力として、識別子IDに対応した復号鍵skIDを出力する。
Encアルゴリズムは、公開パラメータpkと、メッセージ空間msgにおけるメッセージmと、識別子ID’とを入力として、暗号文ctID’を出力する。
Decアルゴリズムは、公開パラメータpkと、識別子IDに対応した復号鍵skIDと、識別子ID’の下で暗号化された暗号文ctID’とを入力として、メッセージm’∈msg、又は、復号に失敗したことを示す識別情報⊥を出力する。
Delegateアルゴリズムは、公開パラメータpkと、長さLの階層的な識別子IDに対応した秘密鍵skIDと、L+1番目のIDL+1とを入力として、長さL+1の階層的な識別子ID’:=(ID,IDL+1)に対応した秘密鍵skID’、又は、鍵生成に失敗したことを示す識別情報⊥を出力する。
暗号システム1は、鍵生成装置10と、暗号化装置20と、復号装置30と、鍵委譲装置40とを備える。鍵生成装置10と、暗号化装置20と、復号装置30と、鍵委譲装置40とは、伝送路を介して接続されている。
鍵委譲装置40は、プロセッサ41と、記憶装置42と、入出力インタフェース43とのハードウェアを備える。プロセッサ41は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
記憶装置42には、鍵委譲装置40の各部の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ41により読み込まれ、プロセッサ41によって実行される。これにより、鍵委譲装置40の各部の機能が実現される。
図19から図23と、図26と、図27とを参照して、実施の形態5に係る暗号システム1の動作を説明する。実施の形態5についても、実施の形態2と同様に各動作は、各方法及び各プログラムの処理に相当する。また、実施の形態5に係る鍵委譲装置40の動作は、実施の形態5に係る鍵委譲方法と、実施の形態5に係る鍵委譲プログラムの処理とに対応する。
なお、Decアルゴリズムは、実施の形態2と同じであるため、説明を省略する。
なお、以下の説明でIDtが下付きで示されている場合には、このIDtはIDtを意味し、ID’tが下付きで示されている場合には、このID’tはID’tを意味する。
(ステップS51:IPG生成処理)
マスター鍵生成部14は、入出力インタフェース13を介してセキュリティパラメータ1λと、階層数である値d≧2との入力を受け付ける。マスター鍵生成部14は、受け付けられたセキュリティパラメータ1λと、2dとを入力として、IPG生成アルゴリズムGenIPG(1λ,2d)を実行して、数186に示す公開パラメータpkIPGとマスター秘密鍵mskIPGとのマスター鍵ペアを生成する。
マスター鍵生成部14は、一様乱数である秘密情報s0を生成する。
マスター鍵生成部14は、数187に示すように、群GTの要素gTに秘密情報s0を設定して要素hTを生成する。
マスター鍵生成部14は、t∈[d]とι∈[0,1]の各整数t,ιについて、一様乱数である鍵生成乱数τt,ιを生成する。
マスター鍵生成部14は、t∈[d]とι∈[0,1]の各整数t,ιについて、数188に示すように、群G^t,ιの要素g^t,ιに、鍵生成乱数τt,ιを設定して要素h^t,ιを生成する。
マスター鍵生成部14は、ステップS51で生成された公開パラメータpkIPGと、ステップS52で生成された要素hTと、ステップS53で生成された要素h^t,ιと要素ht,ιとを用いて、公開パラメータpk:=((Gt,ι,G^t,ι,ht,ι,h^t,ι,et,ι)t∈[d],ι∈[0,1],GT,hT)を生成する。鍵出力部16は、公開パラメータpkを入出力インタフェース13を介して外部の公開用サーバ等へ出力することにより、公開パラメータpkを暗号化装置20及び復号装置30に出力する。
また、マスター鍵生成部14は、ステップS52で生成された秘密情報s0を用いて、マスター秘密鍵msk:=s0を生成する。マスター鍵生成部14は、生成されたマスター秘密鍵mskを記憶装置12に書き込む。
(ステップS61:ID受付処理)
復号鍵生成部15は、入出力インタフェース13を介して、復号鍵skIDを使用するユーザの識別子IDの入力を受け付ける。識別子IDは、例えば、鍵生成装置10の使用者によって入力装置を介して入力される。
ここでは、識別子ID:=(IDt)t∈[L]であるとする。L<dである。また、各IDtは、0又は1である。
ID群割当部17は、t∈[L]の各整数tについてのIDtを、群Gt,IDtに割り当てる。そして、ID群割当部17は、t∈[L]の各整数tについての群Gt,IDtの直積をID群GIDとする。つまり、ID群割当部17は、数191に示すように、ID群GIDを生成する。
鍵出力部16は、ステップS61で受け付けられた識別子IDと、ステップS64で生成された鍵要素kとを含む復号鍵skIDを、入出力インタフェース13を介して復号装置30に出力する。
(ステップS71:取得処理)
取得部24は、入出力インタフェース23を介して、鍵生成装置10によって生成された公開パラメータpkを取得する。また、取得部24は、暗号化対象のメッセージmと、復号条件となる識別子ID’との入力を受け付ける。メッセージmと識別子ID’とは、例えば、暗号化装置20の使用者によって入力装置を介して入力される。
ここでは、識別子ID’:=(ID’t)t∈[L]であるとする。L<dである。また、各IDtは、0又は1である。
ID群割当部27は、t∈[L]の各整数tについてのID’tを、群G^t,IDtに割り当てる。そして、ID群割当部27は、t∈[L]の各整数tについての群G^t,ID’tの直積をID群G^IDとする。つまり、ID群割当部27は、数196に示すように、ID群G^IDを生成する。
暗号文生成部25は、ステップS71で取得された公開パラメータpkと、ステップS72で生成された要素h^IDとを用いて、暗号文ctID’の要素を生成する。暗号文生成部25は、群GTの要素Xと群G^tの要素Y^との生成要素を用いて暗号文ctID’の要素を生成する。ここで、要素Xは、公開パラメータpkに含まれる要素hTのことであり、要素Y^は、ステップS72で生成された要素h^IDとのことである。
暗号文生成処理は、ステップS731からステップS733の処理を含む。
変換情報生成部251は、一様乱数である暗号化乱数ζを生成する。
変換情報生成部251は、要素hTと、暗号化乱数ζとを用いて、数198に示すように、変換情報zを生成する。
第1暗号要素生成部252は、数199に示すように、ステップS731で生成された変換情報zに対して、メッセージmを設定して暗号文ctID’の要素である暗号要素cTを生成する。
第2暗号要素生成部253は、数200に示すように、要素Y^である要素h^IDに対して暗号化乱数ζを設定して暗号文ctID’の要素である暗号要素cを生成する。
暗号文出力部26は、ステップS71で受け付けられた識別子ID’と、ステップS73で生成された暗号要素cT,cとを暗号要素とする暗号文ctID’を、入出力インタフェース23を介して復号装置30に出力する。
Delegateアルゴリズムは、鍵委譲装置40によって実行される。
取得部44は、入出力インタフェース43を介して、鍵生成装置10によって生成された公開パラメータpkと、下位の鍵の生成対象である復号鍵skID:=kを取得する。また、取得部44は、入出力インタフェース43を介して、復号鍵skIDの下位の復号鍵skID*を使用するユーザの識別子IDL+1∈{0,1}の入力を受け付ける。
ID群割当部45は、ID*:=(ID,IDL+1)とする。また、ID群割当部45は、数202に示すように、ID群GID*を生成する。
下位鍵出力部47は、識別子ID*と、ステップS64で生成された鍵要素kID*とを含む下位の復号鍵skID*を、入出力インタフェース13を介して復号装置30に出力する。
nビットHIBE方式は、1ビットHIBEのSetupアルゴリズムと、KeyGenアルゴリズムと、Encアルゴリズムと、Decアルゴリズム、Delegateアルゴリズムとを用いて構成される。
これに対して、nビットHIBE方式のSetupアルゴリズムを、nbHIBE_Setupと呼ぶ。また、nビットHIBE方式のKeyGenアルゴリズムを、nbHIBE_KeyGenと呼ぶ。nビットHIBE方式のEncアルゴリズムを、nbHIBE_Encと呼ぶ。nビットHIBE方式のDecアルゴリズムを、nbHIBE_Decと呼ぶ。nビットHIBE方式のDelegateアルゴリズムを、nbHIBE_Delegateと呼ぶ。
マスター鍵生成部14は、セキュリティパラメータ1λと、階層数である値dと、ビット数である値nとの入力を受け付ける。
マスター鍵生成部14は、セキュリティパラメータ1λと、値d×nとを入力として、obHIBE_Setupを実行して、公開パラメータpkobとマスター秘密鍵mskobとを生成する。マスター鍵生成部14は、公開パラメータpkobをnビットHIBE方式の公開パラメータpkとし、マスター秘密鍵mskobをnビットHIBE方式のマスター秘密鍵mskとする。
つまり、マスター鍵生成部14は、数207に示すnbHIBE_Setupを実行して、マスター鍵ペアを生成する。
復号鍵生成部15は、入出力インタフェース13を介して、復号鍵skIDを使用するユーザの識別子IDの入力を受け付ける。ここでは、識別子ID:=(IDt:=(IDt,j))t∈[L],j∈[n]であるとする。L<dである。また、各IDt,jは、0又は1である。
ID^:=(IDt,j)t∈[L],j∈[n]は、階層数Lnの階層的な1ビットの識別子として扱われる。復号鍵生成部15は、nbHIBE_Setupで生成された公開パラメータpk及びマスター秘密鍵mskと、識別子ID^とを入力として、obHIBE_KeyGenを実行して、復号鍵skIDを生成する。
つまり、復号鍵生成部15は、数208に示すnbHIBE_KeyGenを実行して、復号鍵skIDを生成する。
取得部24は、入出力インタフェース23を介して、公開パラメータpkを取得する。また、取得部24は、暗号化対象のメッセージmと、復号条件となる識別子ID’との入力を受け付ける。ここでは、識別子ID’:=(ID’t:=(ID’t,j))t∈[L],j∈[n]であるとする。
ID’*:=(ID’t,j)t∈[L],j∈[n]は、階層数Lnの階層的な1ビットの識別子として扱われる。暗号文生成部25とID群割当部27とは、公開パラメータpkと、メッセージmと、識別子ID’*とを入力として、obHIBE_Encを実行して、暗号文ctID’を生成する。
取得部34は、入出力インタフェース33を介して、公開パラメータpkと、復号鍵skIDと、暗号文ctID’とを取得する。
復号部35は、公開パラメータpkと、復号鍵skIDのIDをID*とした復号鍵skID*と、暗号文ctID’のID’をID’*とした暗号文ctID’*とを入力として、obHIBE_Decを実行して、メッセージm’を生成する。
つまり、復号装置30は、数210に示すnbHIBE_Decを実行して、暗号文ctID’を復号鍵skIDにより復号する。
取得部44は、入出力インタフェース43を介して、公開パラメータpkと、復号鍵skIDとを取得する。また、取得部44は、入出力インタフェース43を介して、識別子IDL+1∈{0,1}nの入力を受け付ける。
ID群割当部45と下位鍵生成部46とは、識別子IDL+1を(IDL+1,j)j∈[n]とし、復号鍵skIDを復号鍵sk0とする。そして、ID群割当部45と下位鍵生成部46とは、j∈[n]の各整数jについて、公開パラメータpkと、復号鍵skj−1と、識別子IDL+1,jとを入力として、obHIBE_Delegateを実行して、復号鍵skjを生成する。そして、下位鍵出力部47は、復号鍵sknを下位の復号鍵skID’として出力する。
つまり、復号鍵生成部15は、数211に示すnbHIBE_Delegateを実行して、下位の復号鍵skID’を生成する。
以上のように、実施の形態5に係る暗号システム1は、IPGを用いてHIBE方式を実現する。そのため、同種写像問題困難性から安全性を示すことを可能とすることができる。
また、実施の形態5に係る暗号システム1は、鍵生成乱数τj,ιによって変換された生成要素である要素Y^を用いて暗号文ctΓを生成する。これにより、ペアリング問題困難性から安全性を示すことを可能とすることができる。
実施の形態6では、高安全なBoneh−Boyen型の1ビットHIBEを説明する。
実施の形態6では、実施の形態5と同一の点については説明を省略し、異なる点を説明する。
図5と、図10と、図19から図23と、図26と、図27とを参照して、実施の形態6に係る暗号システム1の動作を説明する。実施の形態6についても、実施の形態5と同様に各動作は、各方法及び各プログラムの処理に相当する。
(ステップS51:IPG生成処理)
マスター鍵生成部14は、入出力インタフェース13を介してセキュリティパラメータ1λと、階層数である値d≧2との入力を受け付ける。マスター鍵生成部14は、受け付けられたセキュリティパラメータ1λと、4dとを入力として、IPG生成アルゴリズムGenIPG(1λ,4d)を実行して、数212に示す公開パラメータpkIPGとマスター秘密鍵mskIPGとのマスター鍵ペアを生成する。
マスター鍵生成部14は、一様乱数である秘密情報π,τを生成する。
マスター鍵生成部14は、数213に示すように、群GTの要素gTに秘密情報π,τを設定して要素hTを生成する。
マスター鍵生成部14は、t∈[d]とι∈[0,1]の各整数t,ιについて、一様乱数である鍵生成乱数σt,ιを生成する。
マスター鍵生成部14は、t∈[d]とι∈[0,1]の各整数t,ιについて、数215に示すように、群G^R t,ιの要素g^R t,ιに、鍵生成乱数σt,ιを設定して要素h^R t,ιを生成する。
マスター鍵生成部14は、ステップS51で生成された公開パラメータpkIPGと、ステップS52で生成された要素hTと要素fL t,ιと要素f^R t,ιと要素uL ιと、ステップS53で生成された要素h^R t,ιと要素hL t,ιとを用いて、公開パラメータpk:=(((GL t,ι,G^L t,ι,fL t,ι,hL t,ι,g^L t,ι,eL t,ι),(GR t,ι,G^R t,ι,gR t,f^R t,ι,h^R t,ι,ι,eR t,ι))t∈[d],ι∈[0,1],GT,hT)を生成する。鍵出力部16は、公開パラメータpkを入出力インタフェース13を介して外部の公開用サーバ等へ出力することにより、公開パラメータpkを暗号化装置20及び復号装置30に出力する。
また、マスター鍵生成部14は、ステップS52で生成された要素uL ιを用いて、マスター秘密鍵msk:=(要素uL ι)ι∈[0,1]を生成する。マスター鍵生成部14は、生成されたマスター秘密鍵mskを記憶装置12に書き込む。
(ステップS61:ID受付処理)
復号鍵生成部15は、入出力インタフェース13を介して、復号鍵skIDを使用するユーザの識別子IDの入力を受け付ける。識別子IDは、例えば、鍵生成装置10の使用者によって入力装置を介して入力される。
ここでは、識別子ID:=(IDt)t∈[L]であるとする。L<dである。また、各IDtは、0又は1である。
ID群割当部17は、t∈[L]の各整数tについてのIDtを、群GL t,IDt及び群GR t,IDtに割り当てる。そして、ID群割当部17は、t∈[L]の各整数tについての群GL t,IDtの直積をID群GL IDとし、t∈[L]の各整数tについての群GR t,IDtの直積をID群GR IDとする。つまり、ID群割当部17は、数218に示すように、ID群GL ID及びID群GR IDを生成する。
復号鍵生成部15は、数221に示すように、ステップS62で生成された要素gL IDと要素fL IDと要素hL IDと要素gR IDとに、ステップS63で生成された分散情報τ→と、一様乱数r→:=(rt)t∈[L]とを用いて、鍵要素k:={vL ID・FL(ID)r→,(gR ID)}を生成する。
鍵出力部16は、ステップS61で受け付けられた識別子IDと、ステップS64で生成された鍵要素kとを含む復号鍵skIDを、入出力インタフェース13を介して復号装置30に出力する。
(ステップS71:取得処理)
取得部24は、入出力インタフェース23を介して、鍵生成装置10によって生成された公開パラメータpkを取得する。また、取得部24は、暗号化対象のメッセージmと、復号条件となる識別子ID’との入力を受け付ける。メッセージmと識別子ID’とは、例えば、暗号化装置20の使用者によって入力装置を介して入力される。
ここでは、識別子ID’:=(ID’t)t∈[L]であるとする。L<dである。また、各ID’tは、0又は1である。
ID群割当部27は、t∈[L]の各整数tについてのID’tを、群G^L t,IDt及び群G^R t,IDtに割り当てる。そして、ID群割当部27は、t∈[L]の各整数tについての群G^L t,ID’tの直積をID群G^L IDとし、t∈[L]の各整数tについての群G^R t,ID’tの直積をID群G^R IDとする。つまり、ID群割当部27は、数223に示すように、ID群G^L ID及びID群G^R IDを生成する。
暗号文生成部25は、ステップS71で取得された公開パラメータpkと、ステップS72で生成された要素g^L IDと要素f^R IDと要素h^R IDとを用いて、暗号文ctID’の要素を生成する。暗号文生成部25は、群GTの要素Xと群G^tの要素Y^との生成要素を用いて暗号文ctID’の要素を生成する。ここで、要素Xは、公開パラメータpkに含まれる要素hTのことであり、要素Y^は、ステップS72で生成された要素g^L IDと要素f^R IDと要素h^R IDとのことである。
暗号文生成処理は、ステップS731からステップS733の処理を含む。
変換情報生成部251は、一様乱数である暗号化乱数ζを生成する。
変換情報生成部251は、要素hTと、暗号化乱数ζとを用いて、数225に示すように、変換情報zを生成する。
第1暗号要素生成部252は、数226に示すように、ステップS731で生成された変換情報zに対して、メッセージmを設定して暗号文ctID’の要素である暗号要素cTを生成する。
第2暗号要素生成部253は、数227に示すように、要素Y^である要素g^L IDと要素f^R IDと要素h^R IDとに対して暗号化乱数ζを設定して暗号文ctID’の要素である暗号要素c:={(g^L ID)ζ,F^R(ID)ζ}を生成する。
暗号文出力部26は、ステップS71で受け付けられた識別子ID’と、ステップS73で生成された暗号要素cT,cとを暗号要素とする暗号文ctID’を、入出力インタフェース23を介して復号装置30に出力する。
ステップS41とステップS42との処理と、ステップS44とステップS45との処理とは、実施の形態5と同じである。
復号部35は、ステップS41で受け付けられた復号鍵skIDにより、暗号文ctID’を復号して、メッセージm’を生成する。
復号処理は、ステップS431とステップS432との処理を含む。
変換情報生成部351は、復号鍵skIDに含まれる鍵要素k:={vL ID・FL(ID)r→,(gR ID)}と、暗号文ctID’に含まれる暗号要素c:={(g^L ID)ζ,F^R(ID)ζ}とを用いて、数229に示すように、変換情報z’を生成する。ここで、kL:=L ID・FL(ID)r→であり、kR:=(gR ID)である。また、cL:=(g^L ID)ζであり、cR:=F^R(ID)ζである。
メッセージ生成部352は、ステップS431で生成された変換情報z’と、暗号文ctID’に含まれる暗号要素cTとを用いて、数231に示すように、メッセージm’を生成する。
Delegateアルゴリズムは、鍵委譲装置40によって実行される。
取得部44は、入出力インタフェース43を介して、鍵生成装置10によって生成された公開パラメータpkと、下位の鍵の生成対象である復号鍵skID:=(ID,kL,kR)を取得する。ここで、kL:=L ID・FL(ID)r→であり、kR:=(gR ID)である。また、取得部44は、入出力インタフェース43を介して、復号鍵skIDの下位の復号鍵skID’を使用するユーザの識別子IDL+1∈{0,1}の入力を受け付ける。
ID群割当部45は、ID’:=(ID,IDL+1)とする。また、ID群割当部45は、数233に示すように、ID群GL ID’及びID群GR ID’を生成する。
下位鍵生成部46は、数236に示すように、ステップS82で生成された要素k+Lと、要素gL ID’と、要素k+Rと、要素gR ID’とに、ステップS83で生成された分散情報τ→’と、一様乱数r→’:=(r’t)t∈[L+1]とを設定して、鍵要素k:={kL,kR}を生成する。
下位鍵出力部47は、識別子ID’と、ステップS84で生成された鍵要素kとを含む下位の復号鍵skID’を、入出力インタフェース13を介して復号装置30に出力する。
以上のように、実施の形態6に係る暗号システム1は、IPGを用いてHIBE方式を実現する。そのため、同種写像問題困難性から安全性を示すことを可能とすることができる。
また、実施の形態6に係る暗号システム1は、鍵生成乱数σj,ιによって変換された生成要素である要素Y^を用いて暗号文ctΓを生成する。これにより、ペアリング問題困難性から安全性を示すことを可能とすることができる。
Claims (18)
- 群G0と、前記群G0と対応付けられた群Gtと、群G^0と、前記群G^0と対応付けられた群G^tと、前記群G0及び前記群G^0とペアリング演算e0によって対応付けられるとともに、前記群Gt及び前記群G^tとペアリング演算etによって対応付けられた群GTとを用いた暗号システムにおける暗号化装置であり、
前記群GTの要素Xと前記群G^tの要素Y^とであって、少なくともいずれかが生成元が鍵生成乱数によって変換されて生成された要素Xと要素Y^を用いて暗号文ctを生成する暗号文生成部
を備え、
前記暗号文生成部は、
前記要素Xに暗号化乱数ζが設定された変換情報zに対して、メッセージmを設定して前記暗号文ctの要素である暗号要素cTを生成する第1暗号要素生成部と、
前記要素Y^に対して前記暗号化乱数ζを設定して前記暗号文ctの要素である暗号要素cを生成する第2暗号要素生成部と
を備える暗号化装置。 - 前記暗号システムは、2以上の整数wに関して、t=1,...,wの各整数tについての前記群Gt及び前記群G^tを用い、
前記暗号化装置は、さらに、
2以上w以下の整数nに関してj=1,...,nの各整数jについての属性xjを、前記群G^tのうちの異なる群に割り当てるID群割当部
を備え、
前記第2暗号要素生成部は、前記ID群割当部によってj=1,...,nの各整数jについての属性xjに割り当てられた群の要素に対して前記暗号化乱数ζを設定して前記暗号要素cを生成する
請求項1に記載の暗号化装置。 - 前記暗号システムは、前記群Gt及び前記群G^tとして、d=wの整数dに関して、t=1,...,dの各整数tと、ι=0,1の各整数ιとについての群GL t,ι及び群GR t,ιと、群G^L t,ι及び群G^R t,ιとを用い、
前記ID群割当部は、1以上d以下の整数Lに関して、j=1,...,Lの各整数jについての前記属性xjである識別子ID’jであって、0又は1である識別子ID’jを、t=jかつι=ID’jの群G^L t,ι及び群G^R t,ιに割り当て、
前記第1暗号要素生成部は、数9に示す暗号要素cTを生成し、
前記第2暗号要素生成部は、数10に示す暗号要素cを生成し、
請求項3に記載の暗号化装置。
- 群G0と、前記群G0と対応付けられた群Gtと、群G^0と、前記群G^0と対応付けられた群G^tと、前記群G0及び前記群G^0とペアリング演算e0によって対応付けられるとともに、前記群Gt及び前記群G^tとペアリング演算etによって対応付けられた群GTとを用いた暗号システムにおける復号装置であり、
前記群GTの要素Xと前記群G^tの要素Y^とであって、少なくともいずれかが生成元が鍵生成乱数によって変換されて生成された要素Xと要素Y^とを用いて生成された暗号文ctであって、前記要素Xに暗号化乱数ζが設定された変換情報zに対して、メッセージmが設定された暗号要素cTと、前記要素Y^に対して前記暗号化乱数ζが設定された暗号要素cとを含む暗号文ctを取得する暗号文取得部と、
前記鍵生成乱数によって変換された前記群Gtの要素である鍵要素kを含む復号鍵skと、前記暗号要素cとから変換情報z’を生成し、前記変換情報z’と前記暗号要素cTとからメッセージm’を生成する復号部と
を備える復号装置。 - 前記暗号システムは、2以上の整数wに関して、t=1,...,wの各整数tについての前記群Gt及び前記群G^tを用い、
前記暗号要素cは、2以上w以下の整数nに関してj=1,...,nの各整数jについての属性xjが前記群G^tのうちの異なる群に割り当てられ、前記各整数jについての属性xjが割り当てられた群の要素に対して前記暗号化乱数ζが設定されており、
前記鍵要素kは、前記整数nに関してj’=1,...,nの各整数j’についての属性xj’が前記群Gtのうちの異なる群に割り当てられ、前記各整数j’についての属性xj’が割り当てられた群の要素に対して前記暗号化乱数ζが設定されている
請求項8に記載の復号装置。 - 群G0と、前記群G0と対応付けられた群Gtと、群G^0と、前記群G^0と対応付けられた群G^tと、前記群G0及び前記群G^0とペアリング演算e0によって対応付けられるとともに、前記群Gt及び前記群G^tとペアリング演算etによって対応付けられた群GTとを用いた暗号システムにおける暗号化方法であり、
前記群GTの要素Xと前記群G^tの要素Y^とであって、少なくともいずれかが生成元が鍵生成乱数によって変換されて生成された要素Xと要素Y^を用いて暗号文ctを生成する暗号文生成工程
を備え、
前記暗号文生成工程は、
前記要素Xに対して暗号化乱数ζが設定された変換情報zに対して、メッセージmを設定して前記暗号文ctの要素である暗号要素cTを生成する第1暗号要素生成工程と、
前記要素Y^に対して前記暗号化乱数ζを設定して前記暗号文ctの要素である暗号要素cを生成する第2暗号要素生成工程と
を備える暗号化方法。 - 群G0と、前記群G0と対応付けられた群Gtと、群G^0と、前記群G^0と対応付けられた群G^tと、前記群G0及び前記群G^0とペアリング演算e0によって対応付けられるとともに、前記群Gt及び前記群G^tとペアリング演算etによって対応付けられた群GTとを用いた暗号システムにおける暗号化プログラムであり、
前記群GTの要素Xと前記群G^tの要素Y^とであって、少なくともいずれかが生成元が鍵生成乱数によって変換されて生成された要素Xと要素Y^を用いて暗号文ctを生成する暗号文生成処理
をコンピュータに実行させ、
前記暗号文生成処理は、
前記要素Xに対して暗号化乱数ζが設定された変換情報zに対して、メッセージmを設定して前記暗号文ctの要素である暗号要素cTを生成する第1暗号要素生成処理と、
前記要素Y^に対して前記暗号化乱数ζを設定して前記暗号文ctの要素である暗号要素cを生成する第2暗号要素生成処理と
を含む暗号化プログラム。 - 群G0と、前記群G0と対応付けられた群Gtと、群G^0と、前記群G^0と対応付けられた群G^tと、前記群G0及び前記群G^0とペアリング演算e0によって対応付けられるとともに、前記群Gt及び前記群G^tとペアリング演算etによって対応付けられた群GTとを用いた暗号システムにおける復号方法であり、
前記群GTの要素Xと前記群G^tの要素Y^とであって、少なくともいずれかが生成元が鍵生成乱数によって変換されて生成された要素Xと要素Y^とを用いて生成された暗号文ctであって、前記要素Xに暗号化乱数ζが設定された変換情報zに対して、メッセージmが設定された暗号要素cTと、前記要素Y^に対して前記暗号化乱数ζが設定された暗号要素cとを含む暗号文ctを取得する暗号文取得工程と、
前記鍵生成乱数によって変換された前記群Gtの要素である鍵要素kを含む復号鍵skと、前記暗号要素cとから変換情報z’を生成し、前記変換情報z’と前記暗号要素cTとからメッセージm’を生成する復号工程と
を備える復号方法。 - 群G0と、前記群G0と対応付けられた群Gtと、群G^0と、前記群G^0と対応付けられた群G^tと、前記群G0及び前記群G^0とペアリング演算e0によって対応付けられるとともに、前記群Gt及び前記群G^tとペアリング演算etによって対応付けられた群GTとを用いた暗号システムにおける復号プログラムであり、
前記群GTの要素Xと前記群G^tの要素Y^とであって、少なくともいずれかが生成元が鍵生成乱数によって変換されて生成された要素Xと要素Y^とを用いて生成された暗号文ctであって、前記要素Xに暗号化乱数ζが設定された変換情報zに対して、メッセージmが設定された暗号要素cTと、前記要素Y^に対して前記暗号化乱数ζが設定された暗号要素cとを含む暗号文ctを取得する暗号文取得処理と、
前記鍵生成乱数によって変換された前記群Gtの要素である鍵要素kを含む復号鍵skと、前記暗号要素cとから変換情報z’を生成し、前記変換情報z’と前記暗号要素cTとからメッセージm’を生成する復号処理と
をコンピュータに実行させる復号プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2017/026283 WO2019016916A1 (ja) | 2017-07-20 | 2017-07-20 | 暗号化装置、復号装置、暗号化方法、暗号化プログラム、復号方法及び復号プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2019016916A1 JPWO2019016916A1 (ja) | 2019-12-19 |
JP6625283B2 true JP6625283B2 (ja) | 2019-12-25 |
Family
ID=65015645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019530306A Active JP6625283B2 (ja) | 2017-07-20 | 2017-07-20 | 暗号化装置、復号装置、暗号化方法、暗号化プログラム、復号方法及び復号プログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US20200175893A1 (ja) |
EP (1) | EP3648395A4 (ja) |
JP (1) | JP6625283B2 (ja) |
CN (1) | CN110915162A (ja) |
WO (1) | WO2019016916A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112383399B (zh) * | 2020-11-06 | 2024-01-26 | 新大陆(福建)公共服务有限公司 | 自适应匹配身份平台的密钥处理方法、系统、设备及介质 |
CN113890735A (zh) * | 2021-11-10 | 2022-01-04 | 天宇鸿图应用技术研究院(重庆)有限公司 | 基于量子密钥分发的大质数累乘对称加密方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5424974B2 (ja) * | 2010-04-27 | 2014-02-26 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置 |
EP2846493A1 (en) * | 2013-09-05 | 2015-03-11 | Thomson Licensing | Method for ciphering and deciphering, corresponding electronic device and computer program product |
CN105162589B (zh) * | 2015-01-11 | 2018-08-14 | 陕西理工学院 | 一种基于格的可验证属性加密方法 |
CN105162573B (zh) * | 2015-07-13 | 2019-09-17 | 深圳天通信息科技有限公司 | 基于多线性映射的可撤销分权威密钥策略的属性加密方法 |
-
2017
- 2017-07-20 WO PCT/JP2017/026283 patent/WO2019016916A1/ja unknown
- 2017-07-20 JP JP2019530306A patent/JP6625283B2/ja active Active
- 2017-07-20 CN CN201780093115.1A patent/CN110915162A/zh active Pending
- 2017-07-20 US US16/617,859 patent/US20200175893A1/en not_active Abandoned
- 2017-07-20 EP EP17918542.6A patent/EP3648395A4/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
WO2019016916A1 (ja) | 2019-01-24 |
JPWO2019016916A1 (ja) | 2019-12-19 |
US20200175893A1 (en) | 2020-06-04 |
EP3648395A1 (en) | 2020-05-06 |
CN110915162A (zh) | 2020-03-24 |
EP3648395A4 (en) | 2020-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6391900B1 (ja) | 準同型推論装置、準同型推論方法、準同型推論プログラム及び秘匿情報処理システム | |
WO2012132136A1 (ja) | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム | |
JPWO2019130528A1 (ja) | 変換鍵生成装置、暗号文変換装置、秘匿情報処理システム、変換鍵生成方法、変換鍵生成プログラム、暗号文変換方法及び暗号文変換プログラム | |
EP3871365B1 (en) | Computer implemented system and method for distributing shares of digitally signed data | |
CN110169010B (zh) | 同态运算装置、加密系统和计算机能读取的存储介质 | |
JP6059347B2 (ja) | 復号装置、復号能力提供装置、それらの方法、およびプログラム | |
JP6305638B2 (ja) | 暗号システム及び鍵生成装置 | |
WO2018154623A1 (ja) | 暗号化装置及び復号装置 | |
WO2018043049A1 (ja) | 暗号システム、暗号方法及び暗号プログラム | |
JP2023063430A (ja) | 暗号システム、鍵生成装置、暗号化装置、復号装置、方法及びプログラム | |
JP6625283B2 (ja) | 暗号化装置、復号装置、暗号化方法、暗号化プログラム、復号方法及び復号プログラム | |
JP2019215391A (ja) | 復号装置、暗号化装置及び暗号システム | |
Bharadwaj et al. | GPU-Accelerated implementation of a genetically optimized image encryption algorithm | |
JP6053983B2 (ja) | 暗号システム、署名システム、暗号プログラム及び署名プログラム | |
JP7117964B2 (ja) | 復号装置、暗号システム、復号方法及び復号プログラム | |
JP2020149003A (ja) | 署名装置、検証装置、署名方法、検証方法、署名プログラム及び検証プログラム | |
WO2016088250A1 (ja) | 復号条件追加装置、暗号システム及び復号条件追加プログラム | |
JP6949276B2 (ja) | 再暗号化装置、再暗号化方法、再暗号化プログラム及び暗号システム | |
WO2017203743A1 (ja) | 暗号化装置、復号装置及び暗号システム | |
JP2018092010A (ja) | 暗号化装置と暗号化方法、暗号化プログラム及び鍵生成装置と鍵生成方法、鍵生成プログラム | |
Singh et al. | An analysis over secured image encryption approaches | |
JP6599215B2 (ja) | 秘匿計算装置およびプログラム | |
JP2021047371A (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP2009177242A (ja) | 署名生成装置、署名検証装置、署名生成検証システム、それらの方法及びプログラム | |
JP2000162966A (ja) | 対応付け方法及びSchalkwijkアルゴリズムを基に多値化した対応付け方法、並びに、暗号化方法,暗号化・復号装置及び暗号通信システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190822 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20190822 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20190924 |
|
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: 20191029 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191126 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6625283 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 |