JPWO2015125293A1 - 暗号システム、署名システム、暗号プログラム及び署名プログラム - Google Patents
暗号システム、署名システム、暗号プログラム及び署名プログラム Download PDFInfo
- Publication number
- JPWO2015125293A1 JPWO2015125293A1 JP2016503892A JP2016503892A JPWO2015125293A1 JP WO2015125293 A1 JPWO2015125293 A1 JP WO2015125293A1 JP 2016503892 A JP2016503892 A JP 2016503892A JP 2016503892 A JP2016503892 A JP 2016503892A JP WO2015125293 A1 JPWO2015125293 A1 JP WO2015125293A1
- Authority
- JP
- Japan
- Prior art keywords
- vector
- ciphertext
- key
- base
- unit
- 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
- 239000013598 vector Substances 0.000 claims abstract description 160
- 238000012545 processing Methods 0.000 claims abstract description 128
- 230000005540 biological transmission Effects 0.000 claims abstract description 40
- 238000000034 method Methods 0.000 claims description 108
- 239000011159 matrix material Substances 0.000 claims description 52
- 238000012795 verification Methods 0.000 claims description 43
- 230000001131 transforming effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 25
- 230000009466 transformation Effects 0.000 description 24
- 230000009977 dual effect Effects 0.000 description 20
- 238000004364 calculation method Methods 0.000 description 19
- 238000004891 communication Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 17
- 230000000295 complement effect Effects 0.000 description 15
- 238000013507 mapping Methods 0.000 description 7
- 125000004122 cyclic group Chemical group 0.000 description 4
- 239000013256 coordination polymer Substances 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- UREZNYTWGJKWBI-UHFFFAOYSA-M benzethonium chloride Chemical compound [Cl-].C1=CC(C(C)(C)CC(C)(C)C)=CC=C1OCCOCC[N+](C)(C)CC1=CC=CC=C1 UREZNYTWGJKWBI-UHFFFAOYSA-M 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 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/006—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
- H04L9/007—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models involving hierarchical structures
-
- 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/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- 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
-
- 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]
-
- 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/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
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/24—Key scheduling, i.e. generating round keys or sub-keys for block encryption
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
Description
この発明は、暗号文、復号鍵、署名等のサイズを小さくすることを目的とする。
基底B及び基底B*を利用し、暗号処理を行う暗号システムであり、
xiを根とする多項式の係数yjからなる第1ベクトルと、v1のべき乗v1 iからなる第2ベクトルとの一方のベクトルを用いて生成された送信側ベクトルであって、前記基底Bにおけるベクトルである送信側ベクトルを生成する送信装置と、
前記第1ベクトルと前記第2ベクトルとの他方のベクトルを用いて生成された受信側ベクトルであって、前記基底B*におけるベクトルである受信側ベクトルと、前記送信側ベクトルとについて、ペアリング演算を行う受信装置と
を備えることを特徴とする。
以下の説明における記法について説明する。
Aがランダムな変数または分布であるとき、数101は、Aの分布に従いAからyをランダムに選択することを表す。つまり、数101において、yは乱数である。
数110に示す基底Bと基底B*とに対して、数111である。
また、ベクトルを意味する→が下付き文字又は上付き文字に付されている場合、この→は下付き文字又は上付き文字に上付きで付されていることを意味する。
第1に、暗号方式を実現するための空間である双対ペアリングベクトル空間(Dual Pairing Vector Spaces,DPVS)という豊かな数学的構造を有する空間について説明する。
第2に、暗号方式を実現するための概念について説明する。ここでは、スパンプログラム、アクセス構造、秘密分散方式(秘密共有方式)について説明する。
第3に、実施の形態1に係る暗号方式の基本構成について説明する。実施の形態1では、鍵ポリシーの属性ベース暗号(Key−Policy Attribute−Based Encryption,KP−ABE)方式について説明する。
第4に、実施の形態1に係る暗号方式を実現する暗号システム10の基本構成について説明する。
第5に、実施の形態1に係る暗号方式のキーテクニック及び簡略化した暗号方式について説明する。
第6に、実施の形態1に係る暗号方式について詳細に説明する。
まず、対称双線形ペアリング群について説明する。
対称双線形ペアリング群(q,G,GT,g,e)は、素数qと、位数qの巡回加法群Gと、位数qの巡回乗法群GTと、g≠0∈Gと、多項式時間で計算可能な非退化双線形ペアリング(Nondegenerate Bilinear Pairing)e:G×G→GTとの組である。非退化双線形ペアリングは、e(sg,tg)=e(g,g)stであり、e(g,g)≠1である。
以下の説明において、Gbpgを、1λを入力として、セキュリティパラメータをλとする双線形ペアリング群のパラメータparamG:=(q,G,GT,g,e)の値を出力するアルゴリズムとする。
双対ペアリングベクトル空間(q,V,GT,A,e)は、対称双線形ペアリング群(paramG:=(q,G,GT,g,e))の直積によって構成することができる。双対ペアリングベクトル空間(q,V,GT,A,e)は、素数q、数113に示すFq上のN次元ベクトル空間V、位数qの巡回群GT、空間Vの標準基底A:=(a1,...,aN)の組であり、以下の演算(1)(2)を有する。ここで、aiは、数114に示す通りである。
空間Vにおけるペアリングは、数115によって定義される。
<第2−1.スパンプログラム>
図1は、行列M^の説明図である。
{p1,...,pn}を変数の集合とする。M^:=(M,ρ)は、ラベル付けされた行列である。ここで、行列Mは、Fq上の(L行×r列)の行列である。また、ρは、行列Mの各行に付されたラベルであり、{p1,...,pn,¬p1,...,¬pn}のいずれか1つのリテラルへ対応付けられる。なお、Mの全ての行に付されたラベルρi(i=1,...,L)がいずれか1つのリテラルへ対応付けられる。つまり、ρ:{1,...,L}→{p1,...,pn,¬p1,...,¬pn}である。
図2は、行列Mδの説明図である。なお、図2では、n=7,L=6,r=5としている。つまり、変数の集合は、{p1,...,p7}であり、行列Mは(6行×5列)の行列である。また、図2において、ラベルρは、ρ1が¬p2に、ρ2がp1に、ρ3がp4に、ρ4が¬p5に、ρ5が¬p3に、ρ6がp5にそれぞれ対応付けられているとする。
ここで、入力列δ∈{0,1}7が、δ1=1,δ2=0,δ3=1,δ4=0,δ5=0,δ6=1,δ7=1であるとする。この場合、破線で囲んだリテラル(p1,p3,p6,p7,¬p2,¬p4,¬p5)に対応付けられている行列Mの行からなる部分行列が行列Mδである。つまり、行列Mの1行目(M1),2行目(M2),4行目(M4)からなる部分行列が行列Mδである。
つまり、図2では、写像γ(j)=1(j=1,2,4)であり、写像γ(j)=0(j=3,5,6)である。したがって、(Mj)γ(j)=1は、M1,M2,M4であり、行列Mδである。
すなわち、写像γ(j)の値が“0”であるか“1”であるかによって、行列Mのj番目の行が行列Mδに含まれるか否かが決定される。
例えば、図2の例であれば、行列Mの1,2,4行目からなる行列Mδの各行を線形結合して1→が得られる場合に限り、スパンプログラムM^は入力列δを受理する。つまり、α1(M1)+α2(M2)+α4(M4)=1→となるα1,α2,α4が存在する場合には、スパンプログラムM^は入力列δを受理する。
スパンプログラムがモノトーンではなく、ノンモノトーンであることにより、スパンプログラムを利用して構成する暗号方式の利用範囲が広がる。
U(⊂{0,1}*)は、全集合(universe)であり、属性の集合である。そして、Uは、属性の値、つまり、v∈FX q(:=Fq\{0})によって表される。
アクセスストラクチャSにΓが与えられた場合、スパンプログラムM^:=(M,ρ)に対する写像γ:{1,...,L}→{0,1}は、以下のように定義される。i=1,...,Lの各整数iについて、[ρ(i)=vi]∧[vi∈Γ]、又は、[ρ(i)=¬vi]∧[vi∈Γ]である場合、γ(j)=1であり、他の場合、γ(j)=0とする。
1→∈span<(Mi)γ(i)=1>である場合に限り、アクセスストラクチャS:=(M,ρ)はΓを受理する。
アクセスストラクチャS:=(M,ρ)に対する秘密分散方式について説明する。
なお、秘密分散方式とは、秘密情報を分散させ、意味のない分散情報にすることである。例えば、秘密情報sを10個に分散させ、10個の分散情報を生成する。ここで、10個の分散情報それぞれは、秘密情報sの情報を有していない。したがって、ある1個の分散情報を手に入れても秘密情報sに関して何ら情報を得ることはできない。一方、10個の分散情報を全て手に入れれば、秘密情報sを復元できる。
また、10個の分散情報を全て手に入れなくても、一部だけ(例えば、8個)手に入れれば秘密情報sを復元できる秘密分散方式もある。このように、10個の分散情報のうち8個で秘密情報sを復元できる場合を、8−out−of−10と呼ぶ。つまり、n個の分散情報のうちt個で秘密情報sを復元できる場合を、t−out−of−nと呼ぶ。このtを閾値と呼ぶ。
また、d1,...,d10の10個の分散情報を生成した場合に、d1,...,d8までの8個の分散情報であれば秘密情報sを復元できるが、d3,...,d10までの8個の分散情報であれば秘密情報sを復元できないというような秘密分散方式もある。つまり、手に入れた分散情報の数だけでなく、分散情報の組合せに応じて秘密情報sを復元できるか否かを制御する秘密分散方式もある。
行列Mを(L行×r列)の行列とする。f→Tを数118に示す列ベクトルとする。
これは、図2の例で、α1(M1)+α2(M2)+α4(M4)=1→となるα1,α2,α4が存在する場合には、スパンプログラムM^は入力列δを受理すると説明したことからも明らかである。つまり、α1(M1)+α2(M2)+α4(M4)=1→となるα1,α2,α4が存在する場合には、スパンプログラムM^が入力列δを受理するのであれば、α1(M1)+α2(M2)+α4(M4)=1→となるα1,α2,α4が存在する。
そして、数121である。
KP−ABE方式の構成を簡単に説明する。なお、KP(鍵ポリシー)とは、暗号文にPolicyが埋め込まれること、つまりアクセスストラクチャが埋め込まれることを意味する。
(Setup)
Setupアルゴリズムは、セキュリティパラメータλと、暗号文に対する属性の数の上限nとを入力として、公開パラメータpkと、マスター鍵skとを出力する確率的アルゴリズムである。
(KeyGen)
KeyGenアルゴリズムは、公開パラメータpkと、マスター鍵skと、アクセスストラクチャS:=(M,ρ)とを入力として、復号鍵skSを出力する確率的アルゴリズムである。
(Enc)
Encアルゴリズムは、公開パラメータpkと、メッセージmと、属性集合Γ:={xj}1≦j≦n’とを入力として、暗号文ctΓを出力する確率的アルゴリズムである。
(Dec)
Decアルゴリズムは、公開パラメータpkと、復号鍵skSと、暗号文ctΓとを入力として、メッセージm、又は、識別情報⊥を出力するアルゴリズムである。
KP−ABE方式のアルゴリズムを実現する暗号システム10について説明する。
図5は、実施の形態1に係るKP−ABE方式を実現する暗号システム10の構成図である。
暗号システム10は、鍵生成装置100、暗号化装置200(送信装置の一例)、復号装置300(受信装置の一例)を備える。
そして、鍵生成装置100は、公開パラメータpkを公開する。また、鍵生成装置100は、アクセスストラクチャSを入力としてKGアルゴリズムを実行して、復号鍵skSを生成して復号装置300へ秘密裏に送信する。
<第5−1.エンコーディング>
特許文献1に記載された関数型暗号方式では、各属性カテゴリに識別子tが割り当てられ、識別子t毎に暗号文(あるいは復号鍵)の要素であるベクトルが生成された。
実施の形態1では、属性情報のエンコード方法を工夫することにより、属性カテゴリの識別子tをなくし、暗号文の要素であるベクトルを1つにする。
特許文献1に記載された関数型暗号方式では、双対基底のペアである基底Bと基底B*とが生成される。基底Bと基底B*とは、GL(N,Fq)から一様に選択された、完全にランダムな線形変換X(基底変換行列)を用いて生成される。特に、基底Bと基底B*とは、それぞれ、線形変換Xと、(X−1)Tとにより、標準基底Aを変換して生成される。なお、Nは、span<B>とspan<B*>との次元数である。
そして、双対ペアリングベクトル空間を暗号処理に適用した典型的なアプリケーションでは、基底Bの一部(B^という)が公開パラメータとして用いられ、これに対応する基底B*の一部(B^*という)が秘密鍵又はトラップドアとして用いられる。
簡略化したKP−ABE方式について説明する。
簡略化したKP−ABE方式における暗号文は、2個のベクトル要素(c0,c1)∈G5×Gnと、c3∈GTとからなる。秘密鍵は、アクセスストラクチャS:=(M,,ρ)に対するL+1個のベクトル要素(k* 0,k* 1,...,k* L∈G5×(Gn)L)からなる。ここで、行列Mの行数はLであり、各ベクトル要素k* iは、行列Mの各行に対応している。なお、(c0,c1)∈G5×Gnとは、c0がGの5個の要素であり、c1がGのn個の要素であることを意味する。同様に、(k* 0,k* 1,...,k* L∈G5×(Gn)Lとは、k* 0がGの5個の要素であり、k* 1,...,k* LがGのn個の要素であることを意味する。
そのため、暗号文のサイズを定数サイズにするには、c1∈Gnをnについての定数サイズに圧縮する必要がある。
したがって、暗号文(ベクトルy→を除いた部分)は、2つのグループの要素とすることができ、nについての定数サイズとなる。
(c0,k* 0,c3)を、e(c0,k* 0)=gT ζ−ωs0であり、c3:=gT ζm∈GTであるとする。ここで、s0(s0)は、アクセスストラクチャSに関連付けられた共有情報{si}i=1,...,Lのセンターシークレットである。
共有情報{si}i=1,...,Lを用いて、アクセスストラクチャSに対する秘密鍵の集合を数126のように設定する。
以下に説明するKP−ABE方式では、安全性を高めるため、暗号文c1と秘密鍵k* 1とに、実際の符号化部に加え、秘匿部と、秘密鍵ランダム化部と、暗号文ランダム化部とのための基底ベクトルを加える。
そのため、線形変換Xを数129のように6倍に拡張する。そして、実際の符号化部と、秘匿部と、秘密鍵ランダム化部と、暗号文ランダム化部とにそれぞれ、n、2n、2n、n次元ずつ割り当てる。
図6は、実施の形態1に係る鍵生成装置100の構成図である。図7は、実施の形態1に係る暗号化装置200の構成図である。図8は、実施の形態1に係る復号装置300の構成図である。
図9と図10とは、実施の形態1に係る鍵生成装置100の動作を示すフローチャートである。なお、図9は、実施の形態1に係るSetupアルゴリズムの処理を示すフローチャートであり、図10は、実施の形態1に係るKeyGenアルゴリズムの処理を示すフローチャートである。図11は、実施の形態1に係る暗号化装置200の動作を示すフローチャートであり、実施の形態1に係るEncアルゴリズムの処理を示す。図12は、実施の形態1に係る復号装置300の動作を示すフローチャートであり、実施の形態1に係るDecアルゴリズムの処理を示す。
図6に示すように、鍵生成装置100は、マスター鍵生成部110、マスター鍵記憶部120、情報入力部130、復号鍵生成部140、鍵送信部150を備える。マスター鍵生成部110は、空間生成部111、行列生成部112、基底生成部113、鍵生成部114を備える。復号鍵生成部140は、fベクトル生成部141、sベクトル生成部142、乱数生成部143、鍵要素生成部144を備える。
(S101:空間生成ステップ)
空間生成部111は、セキュリティパラメータ1λを入力として、処理装置によりGbpgを実行して、対称双線形ペアリング群のパラメータparamG:=(q,G,GT,g,e)を生成する。
さらに、空間生成部111は、N0:=5、N1:=6nを設定する。そして、空間生成部111は、t=0,1の各整数tについて、セキュリティパラメータ1λと、Ntと、対称双線形ペアリング群のパラメータparamGとを入力として、処理装置によりGdpvsを実行して、双対ペアリングベクトル空間のパラメータparamVt:=(q,Vt,GT,A,e)を生成する。
行列生成部112は、処理装置により、線形変換X0を数130に示すように生成する。
また、行列生成部112は、処理装置により、線形変換X1を数131に示すように生成する。
基底生成部113は、処理装置により、基底B0と変数Bi,jと変数B’i,j,Lとを数133に示すように生成する。
鍵生成部114は、処理装置により、公開パラメータpk:=(1λ,paramn,{B^t}t=0,1)とし、マスター秘密鍵sk:={B^* t}t=0,1とする。そして、鍵生成部114は、公開パラメータpkと、マスター秘密鍵skとをマスター鍵記憶部120に記憶する。
なお、paramn:=({paramVt}t=0,1,gT:=e(g,g)φ)である。
(S201:情報入力ステップ)
情報入力部130は、入力装置により、アクセスストラクチャS:=(M,ρ)を入力する。なお、アクセスストラクチャSの行列Mの設定については、実現したいシステムの条件に応じて設定されるものである。また、アクセスストラクチャSのρは、例えば、復号鍵skSの使用者の属性情報が設定されている。
sベクトル生成部142は、処理装置により、ベクトルs→T:=(s1,...,sL)Tを数140に示すように生成する。
鍵要素生成部144は、処理装置により、復号鍵skSの要素k* 0を数143に示すように生成する。
鍵送信部150は、(S201)で入力したアクセスストラクチャSと、(S205)で生成されたk* 0,k* 1,...,k* Lとを要素とする復号鍵skSを、例えば通信装置によりネットワークを介して秘密裡に復号装置300へ送信する。もちろん、復号鍵skSは、他の方法により復号装置300へ送信されてもよい。
図7に示すように、暗号化装置200は、公開パラメータ受信部210、情報入力部220、暗号化データ生成部230、データ送信部240を備える。また、暗号化データ生成部230は、乱数生成部231、暗号要素生成部232を備える。
(S301:公開パラメータ受信ステップ)
公開パラメータ受信部210は、例えば、通信装置によりネットワークを介して、鍵生成装置100が生成した公開パラメータpkを受信する。
情報入力部220は、入力装置により、復号装置300へ送信するメッセージmを入力する。また、情報入力部220は、入力装置により、属性集合Γ:={x1,...,xn’|xj∈FqX,n’≦n−1}を入力する。また、属性集合Γは、例えば、復号可能なユーザの属性情報が設定されている。
暗号要素生成部232は、処理装置により、暗号文ctΓの要素c0を数147に示すように生成する。
データ送信部240は、(S302)で入力した属性集合Γと、(S304)で生成されたc0,C1,j,C2,j,c3とを要素とする暗号文ctΓを、例えば通信装置によりネットワークを介して復号装置300へ送信する。もちろん、暗号文ctΓは、他の方法により復号装置300へ送信されてもよい。
図8に示すように、復号装置300は、復号鍵受信部310、データ受信部320、スパンプログラム計算部330、補完係数計算部340、復号部350を備える。
(S401:復号鍵受信ステップ)
復号鍵受信部310は、例えば、通信装置によりネットワークを介して、鍵生成装置100から送信された復号鍵skSを受信する。また、復号鍵受信部310は、鍵生成装置100が生成した公開パラメータpkを受信する。
データ受信部320は、例えば、通信装置によりネットワークを介して、暗号化装置200が送信した暗号文ctΓを受信する。
スパンプログラム計算部330は、処理装置により、(S401)で受信した復号鍵skSに含まれるアクセスストラクチャSが、(S402)で受信した暗号文ctΓに含まれるΓを受理するか否かを判定する。アクセスストラクチャSがΓを受理するか否かの判定方法は、「第2.暗号方式を実現するための概念」で説明した通りである。
スパンプログラム計算部330は、アクセスストラクチャSがΓを受理する場合(S403で受理)、処理を(S404)へ進める。一方、アクセスストラクチャSがΓを拒絶する場合(S403で拒絶)、暗号文ctΓを復号鍵skSで復号できないとして処理を終了する。
復号部350は、処理装置により、m’=c3/Kを計算して、メッセージm’(=m)を生成する。
そして、Decアルゴリズムは、数155に示すDec’アルゴリズムのように記述することができる。
実施の形態2では、秘密鍵のサイズを定数サイズとした暗号文ポリシーの属性ベース暗号(Ciphertext−Policy ABE,CP−ABE)方式について説明する。
実施の形態2では、実施の形態1と同じ部分については説明を省略し、実施の形態1と異なる部分について説明する。
第2に、実施の形態2に係る暗号方式を実現する暗号システム10の構成について説明する。
第3に、実施の形態2に係る暗号方式について詳細に説明する。
CP−ABE方式の構成を簡単に説明する。なお、Ciphertext−Policyとは、暗号文にPolicyが埋め込まれること、つまりアクセスストラクチャが埋め込まれることを意味する。
CP−ABE方式は、Setup、KeyGen、Enc、Decの4つのアルゴリズムを備える。
(Setup)
Setupアルゴリズムは、セキュリティパラメータλと、暗号文に対する属性の数の上限nとが入力され、公開パラメータpkと、マスター鍵skとを出力する確率的アルゴリズムである。
(KeyGen)
KeyGenアルゴリズムは、公開パラメータpkと、マスター鍵skと、属性集合Γ:={xj}1≦j≦n’とを入力として、復号鍵skΓを出力する確率的アルゴリズムである。
(Enc)
Encアルゴリズムは、公開パラメータpkと、メッセージmと、アクセスストラクチャS:=(M,ρ)とを入力として、暗号文ctSを出力する確率的アルゴリズムである。
(Dec)
Decアルゴリズムは、公開パラメータpkと、復号鍵skΓと、暗号文ctSとを入力として、メッセージm、又は、識別情報⊥を出力するアルゴリズムである。
図13は、実施の形態2に係るCP−ABE方式を実現する暗号システム10の構成図である。
暗号システム10は、鍵生成装置100、暗号化装置200(送信装置の一例)、復号装置300(受信装置の一例)を備える。
鍵生成装置100は、セキュリティパラメータλと暗号文に対する属性の数の上限nとを入力としてSetupアルゴリズムを実行して、公開パラメータpkとマスター鍵skとを生成する。そして、鍵生成装置100は、生成した公開パラメータpkを公開する。また、鍵生成装置100は、属性集合Γを入力としてKeyGenアルゴリズムを実行して、復号鍵skΓを生成して復号装置300へ秘密裡に送信する。
暗号化装置200は、公開パラメータpkと、メッセージmと、アクセスストラクチャSとを入力としてEncアルゴリズムを実行して、暗号文ctSを生成する。暗号化装置200は、生成した暗号文ctSを復号装置300へ送信する。
復号装置300は、公開パラメータpkと、復号鍵skΓと、暗号文ctSとを入力としてDecアルゴリズムを実行して、メッセージm又は識別情報⊥を出力する。
図14は、実施の形態2に係る鍵生成装置100の構成図である。図15は、実施の形態2に係る暗号化装置200の構成図である。復号装置300の構成は、図8に示す実施の形態1に係る復号装置300の構成と同じである。
図16は、実施の形態2に係るKeyGenアルゴリズムの処理を示すフローチャートである。図17は、実施の形態2に係るEncアルゴリズムの処理を示すフローチャートである。Setupアルゴリズムの処理とDecアルゴリズムの処理とは、それぞれ図9、図12に示す実施の形態1に係るSetupアルゴリズムの処理とDecアルゴリズムの処理と同じ流れである。
図14に示すように、鍵生成装置100は、マスター鍵生成部110、マスター鍵記憶部120、情報入力部130、復号鍵生成部140、鍵送信部150を備える。マスター鍵生成部110は、空間生成部111、行列生成部112、基底生成部113、鍵生成部114を備える。復号鍵生成部140は、乱数生成部143、鍵要素生成部144を備える。
(S101)から(S102)までの処理は、実施の形態1と同じである。
基底生成部113は、処理装置により、実施の形態1における基底B0と変数Bi,jと変数B’i,j,Lと同様に、基底D0と変数Di,jと変数D’i,j,Lとを数157に示すように生成する。
(S501:情報入力ステップ)
情報入力部130は、入力装置により、属性集合Γ:={x1,...,xn’|xj∈FqX,n’≦n−1}を入力する。なお、属性集合Γは、例えば、復号鍵skΓの使用者の属性情報が設定されている。
鍵要素生成部144は、処理装置により、復号鍵skΓの要素k* 0を数163に示すように生成する。
鍵送信部150は、(S501)で入力した属性の集合Γと、(S503)で生成されたk* 0,K* 1,j,K* 2,jとを要素とする復号鍵skΓを、例えば通信装置によりネットワークを介して秘密裡に復号装置300へ送信する。もちろん、復号鍵skΓは、他の方法により復号装置300へ送信されてもよい。
図15に示すように、暗号化装置200は、公開パラメータ受信部210、情報入力部220、暗号化データ生成部230、データ送信部240を備える。また、暗号化データ生成部230は、乱数生成部231、暗号要素生成部232、fベクトル生成部233、sベクトル生成部234を備える。
(S601)の処理は、図11に示す(S301)の処理と同じである。
情報入力部220は、入力装置により、アクセスストラクチャS:=(M,ρ)を入力する。なお、アクセスストラクチャSの設定については、実現したいシステムの条件に応じて設定されるものである。また、アクセスストラクチャSのρは、例えば、復号可能なユーザの属性情報が設定されている。
また、情報入力部220は、入力装置により、復号装置300へ送信するメッセージmを入力する。
sベクトル生成部234は、処理装置により、ベクトルs→T:=(s1,...,sL)Tを数167に示すように生成する。
暗号要素生成部232は、処理装置により、暗号文ctSの要素c0を数170に示すように生成する。
データ送信部240は、(S602)で入力したアクセスストラクチャSと、(S606)で生成されたc0,c1,...,cL,c3とを要素とする暗号文ctSを、例えば通信装置によりネットワークを介して復号装置300へ送信する。もちろん、暗号文ctSは、他の方法により復号装置300へ送信されてもよい。
図12に基づき、Decアルゴリズムの処理について説明する。
(S401:復号鍵受信ステップ)
復号鍵受信部310は、例えば、通信装置によりネットワークを介して、鍵生成装置100から送信された復号鍵skΓを受信する。また、復号鍵受信部310は、鍵生成装置100が生成した公開パラメータpkを受信する。
データ受信部320は、例えば、通信装置によりネットワークを介して、暗号化装置200が送信した暗号文ctSを受信する。
スパンプログラム計算部330は、処理装置により、(S402)で受信した暗号文ctSに含まれるアクセスストラクチャSが、(S401)で受信した復号鍵skΓに含まれるΓを受理するか否かを判定する。
スパンプログラム計算部330は、アクセスストラクチャSがΓを受理する場合(S403で受理)、処理を(S404)へ進める。一方、アクセスストラクチャSがΓを拒絶する場合(S403で拒絶)、暗号文ctΓを復号鍵skSで復号できないとして処理を終了する。
実施の形態3では、実施の形態1,2で説明したABE方式を応用したFE方式について説明する。
実施の形態3では、実施の形態1,2と同じ部分については説明を省略し、実施の形態1,2と異なる部分について説明する。
実施の形態1で説明したKP−ABE方式では、暗号文の要素(C1,j,C2,j)と、復号鍵の要素{k* i}i=1,...,Lとが対応していた。KP−FE方式では、カテゴリt毎に、暗号文の要素(C1,j,t,C2,j,t)と、復号鍵の要素{k* i.t}i=1,...,Lとが生成される。そして、暗号文の要素(C1,j,t,C2,j,t)と、復号鍵の要素{k* i,t}i=1,...,Lとが対応する。
また、各アルゴリズムの処理は、図9〜図12に示す実施の形態1に係る各アルゴリズムの処理と同じ流れである。
(S101:空間生成ステップ)
空間生成部111は、実施の形態1と同様に、パラメータparamG:=(q,G,GT,g,e)を生成する。
さらに、空間生成部111は、N0:=5、t=1,...,dの各整数tについて、N1,t:=6ntを設定する。ここで、dは属性カテゴリの数を表す値であり、1以上の整数である。また、ntは1以上の整数である。そして、空間生成部111は、セキュリティパラメータ1λと、N0と、対称双線形ペアリング群のパラメータparamGとを入力として、処理装置によりGdpvsを実行して、双対ペアリングベクトル空間のパラメータparamV0:=(q,V0,GT,A,e)を生成する。また、空間生成部111は、t=1,...,dの各整数tについて、セキュリティパラメータ1λと、N1,tと、対称双線形ペアリング群のパラメータparamGとを入力として、処理装置によりGdpvsを実行して、双対ペアリングベクトル空間のパラメータparamV1,t:=(q,V1,t,GT,A,e)を生成する。
行列生成部112は、処理装置により、線形変換X0と線形変換{X1,t}t=1,...,dとを生成する。
線形変換X0は、実施の形態1と同じである。線形変換{X1,t}t=1,...,dは数177のように生成される。
基底生成部113は、処理装置により、基底B0と変数Bi,j,tと変数B’i,j,L,tとを数178に示すように生成する。
鍵生成部114は、処理装置により、公開パラメータpk:=(1λ,paramn,B^0,{B^1,t}t=1,...,d)とし、マスター秘密鍵sk:=(B^* 0,{B^* 1,t}t=1,...,dとする。そして、鍵生成部114は、公開パラメータpkと、マスター秘密鍵skとをマスター鍵記憶部120に記憶する。
なお、paramn:=(paramV0,{paramV1,t}t=1,...,d,gT)である。
(S201)から(S202)までの処理は、実施の形態1と同じである。
sベクトル生成部142は、処理装置により、ベクトルs→T:=(s1,...,sL)Tを数183に示すように生成する。
鍵要素生成部144は、処理装置により、復号鍵skSの要素k* 0を実施の形態1と同様に生成する。
また、鍵要素生成部144は、処理装置により、i=1,...,Lの各整数i及び集合Ivi→に含まれるインデックスtについて、復号鍵skSの要素k* iを数186に示すように生成する。
(S301)の処理は、実施の形態1と同じである。
情報入力部220は、入力装置により、復号装置300へ送信するメッセージmを入力する。また、情報入力部220は、入力装置により、属性集合Γt:={x1,t,...,xnt,t,nt’≦nt−1,t=1,...,d}を入力する。
暗号要素生成部232は、処理装置により、暗号文ctΓの要素c0及び要素c3を実施の形態1と同様に生成する。
また、暗号要素生成部232は、処理装置により、暗号文ctΓの要素C1,j,t,C2,j,tを数189に示すように生成する。
(S401)から(S404)までの処理は、実施の形態1と同じである。
実施の形態4では、実施の形態2で説明したCP−ABE方式を応用した属性ベース署名(Attribute−Based Signeture ABS)方式について説明する。
実施の形態4では、実施の形態2と同じ部分については説明を省略し、実施の形態1と異なる部分について説明する。
第2に、実施の形態4に係る署名方式を実現する暗号システム10の構成について説明する。
第3に、実施の形態4に係る署名方式について詳細に説明する。
ABS方式の構成を簡単に説明する。ABS方式は、Setup、KeyGen、Sig、Verの4つのアルゴリズムを備える。
(Setup)
Setupアルゴリズムは、セキュリティパラメータλと、暗号文に対する属性の数の上限nとが入力され、公開パラメータpkと、マスター鍵skとを出力する確率的アルゴリズムである。
(KeyGen)
KeyGenアルゴリズムは、公開パラメータpkと、マスター鍵skと、属性集合Γ:={xj}1≦j≦n’とを入力として、署名鍵skΓを出力する確率的アルゴリズムである。
(Sig)
Sigアルゴリズムは、公開パラメータpkと、メッセージmと、アクセスストラクチャS:=(M,ρ)と、署名鍵skΓとを入力として、署名σを出力する確率的アルゴリズムである。
(Ver)
Verアルゴリズムは、公開パラメータpkと、メッセージmと、アクセスストラクチャS:=(M,ρ)と、署名σとを入力として、署名の検証に成功したことを示す値“1”、又は、署名の検証に失敗したことを示す値“0”を出力するアルゴリズムである。
図18は、実施の形態4に係るABS方式を実現する暗号システム10の構成図である。
暗号システム10は、鍵生成装置100、署名装置400(送信装置の一例)、検証装置500(受信装置の一例)を備える。
鍵生成装置100は、セキュリティパラメータλと、暗号文に対する属性の数の上限nとを入力としてSetupアルゴリズムを実行して、公開パラメータpkとマスター鍵skとを生成する。そして、鍵生成装置100は、生成した公開パラメータpkを公開する。また、鍵生成装置100は、属性集合Γを入力としてKeyGenアルゴリズムを実行して、署名鍵skΓを生成して署名装置400へ秘密裡に送信する。
署名装置400は、公開パラメータpkと、メッセージmと、アクセスストラクチャSと、署名鍵skΓとを入力としてSigアルゴリズムを実行して、署名σを生成する。署名装置400は、生成した署名σと、メッセージmと、アクセスストラクチャSと、を検証装置500へ送信する。
検証装置500は、公開パラメータpkと、メッセージmと、アクセスストラクチャSと、署名σとを入力としてVerアルゴリズムを実行して、値“1”、又は、値“0”を出力する。
図19は、実施の形態4に係る鍵生成装置100の構成図である。図20は、実施の形態4に係る署名装置400の構成図である。図21は、実施の形態4に係る検証装置500の構成図である。
図22と図23とは、実施の形態4に係る鍵生成装置100の動作を示すフローチャートである。なお、図22は、実施の形態4に係るSetupアルゴリズムの処理を示すフローチャートであり、図23は、実施の形態4に係るKeyGenアルゴリズムの処理を示すフローチャートである。図24は、実施の形態4に係る署名装置400の動作を示すフローチャートであり、実施の形態4に係るSigアルゴリズムの処理を示す。図25は、実施の形態4に係る検証装置500の動作を示すフローチャートであり、実施の形態4に係るVerアルゴリズムの処理を示す。
具体的には、アルゴリズムGbpgに関する衝突困難ハッシュ関数系Hと、多項式poly(λ)とについて以下の2つのことが言える。
1.鍵空間系は、λによって索引付けされる。各鍵空間は、KHλによって示されるビット列における確率空間である。1λを入力とした場合の出力分布がKHλと等しい確率的多項式時間アルゴリズムが存在する。
2.ハッシュ関数系は、λと、KHλからランダムに選択されたhkと、D:={0,1}poly(λ)とによって索引付けされる。ここで、各関数Hhk λ,Dは、Dの要素からFq Xへの写像である。なお、qは、アルゴリズムGbpg(1λ)の出力paramGの最初の要素である。1λとhkとd∈Dとを入力として、Hhk λ,D(d)を出力する決定的多項式時間アルゴリズムがある。
図19に示すように、鍵生成装置100は、マスター鍵生成部110、マスター鍵記憶部120、情報入力部130、復号鍵生成部140、鍵送信部150を備える。マスター鍵生成部110は、空間生成部111、行列生成部112、基底生成部113、鍵生成部114を備える。復号鍵生成部140は、乱数生成部143、鍵要素生成部144を備える。
図22に基づき、Setupアルゴリズムの処理について説明する。
(S701:空間生成ステップ)
空間生成部111は、図9の(S101)と同様に、パラメータparamG:=(q,G,GT,g,e)を生成する。
さらに、空間生成部111は、N0:=4、N1:=6n、N2:=7を設定する。そして、空間生成部111は、t=0,1,2の各整数tについて、セキュリティパラメータ1λと、Ntと、対称双線形ペアリング群のパラメータparamGとを入力として、処理装置によりGdpvsを実行して、双対ペアリングベクトル空間のパラメータparamVt:=(q,Vt,GT,A,e)を生成する。
行列生成部112は、処理装置により、t=0,2の各整数tについて、線形変換Xtを数199に示すように生成する。
基底生成部113は、処理装置により、基底B* 0と基底B* 2と変数B* i,jと変数B’* i,j,Lとを数201に示すように生成する。
鍵生成部114は、処理装置により、公開パラメータpk:=(1λ,hk,paramn,{B^t}t=0,1,2,{B^* t}t=1,2,b* 0,3)とし、マスター秘密鍵sk:=b* 0,1とする。そして、鍵生成部114は、公開パラメータpkと、マスター秘密鍵skとをマスター鍵記憶部120に記憶する。
なお、paramn:=({paramVt}t=0,1,2,gT:=e(g,g)φ)である。
(S801)の処理は、図16の(S501)の処理と同じである。但し、アクセスストラクチャSのρは、例えば、署名鍵skΓの使用者の属性情報が設定されている。
鍵要素生成部144は、処理装置により、署名鍵skΓの要素k* 0を数208に示すように生成する。
鍵送信部150は、(S801)で入力した属性の集合Γと、(S803)で生成されたk* 0,L* 1,j,L* 2,j,k* 2,1,k* 2,2とを要素とする署名鍵skΓを、例えば通信装置によりネットワークを介して秘密裡に署名装置400へ送信する。もちろん、署名鍵skΓは、他の方法により署名装置400へ送信されてもよい。
図20に示すように、署名装置400は、署名鍵受信部410、情報入力部420、補完係数計算部430、署名データ生成部440、データ送信部450を備える。また、署名データ生成部440は、乱数生成部441、署名要素生成部442を備える。
(S901:署名鍵受信ステップ)
署名鍵受信部410は、例えば、通信装置によりネットワークを介して、鍵生成装置100が生成した署名鍵skΓを受信する。また、署名鍵受信部410は、鍵生成装置100が生成した公開パラメータpkを受信する。
情報入力部420は、入力装置により、アクセスストラクチャS:=(M,ρ)を入力する。また、情報入力部420は、入力装置により、署名を付すメッセージmを入力する。
補完係数計算部430は、処理装置により、(S902)で入力したアクセスストラクチャSが、(S901)で受信した署名鍵skΓに含まれる属性集合Γを受理するか否かを判定する。
補完係数計算部430は、アクセスストラクチャSが属性集合Γを受理する場合(S903で受理)、処理を(S904)へ進める。一方、アクセスストラクチャSが属性集合Γを拒絶する場合(S903で拒絶)、処理を終了する。
署名要素生成部442は、処理装置により、署名σの要素s* 0を数216に示すように生成する。
データ送信部450は、要素s* 0,s* i,s* L+1と、メッセージmと、アクセスストラクチャS:=(M,ρ)とを含む署名σを、例えば通信装置によりネットワークを介して検証装置500へ送信する。もちろん、署名σは、他の方法により検証装置500へ送信されてもよい。
図21に示すように、検証装置500は、公開パラメータ受信部510、データ受信部520、検証データ生成部530、検証部540を備える。また、検証データ生成部530は、fベクトル生成部531、sベクトル生成部532、乱数生成部533、検証要素生成部534を備える。
(S1001:公開パラメータ受信ステップ)
公開パラメータ受信部510は、例えば、通信装置によりネットワークを介して、鍵生成装置100が生成した公開パラメータpkを受信する。
データ受信部520は、例えば、通信装置によりネットワークを介して、署名装置400が送信した署名σを受信する。
sベクトル生成部532は、処理装置によりベクトルs→T:=(s1,...,sL)Tを数225に示すように生成する。
検証要素生成部534は、処理装置により、検証鍵の要素c0を数228に示すように生成する。
検証部540は、処理装置により、ペアリング演算e(b0,1,s* 0)を計算する。
ペアリング演算e(b0,1,s* 0)を計算した結果が値1であれば、検証部540は、署名の検証に失敗したことを示す値0を出力して、処理を終了する。一方、ペアリング演算e(b0,1,s* 0)を計算した結果が値1でなければ、検証部540は、処理をS1008へ進める。
検証部540は、処理装置により、数231に示すペアリング演算を計算する。
実施の形態2で説明したCP−ABE方式で復号鍵skΓのサイズを小さくできたのと同様に、実施の形態4で説明したABS方式では、署名鍵skΓのサイズを小さくすることができる。
以上の実施の形態では、双対ベクトル空間において暗号処理を実現する方法について説明した。実施の形態5では、双対加群において暗号処理を実現する方法について説明する。
同様に、上記説明では、CPの場合には、復号鍵のサイズが小さくなるように、第1ベクトルを用いて復号鍵の要素を生成し、第2ベクトルを用いて暗号文の要素を生成した。しかし、CPの場合に、暗号文のサイズが小さくなるように、第1ベクトルを用いて暗号文の要素を生成し、第2ベクトルを用いて復号鍵の要素を生成してもよい。
言い替えると、ρ(i)=(t,v→)又はρ(i)=¬(t,v→)である場合に、関数ρ~を、ρ~(i)=tである{1,...,L}→{1,...d}の写像であるとする。この場合、ρ~が単射であると限定してもよい。なお、ρ(i)は、上述したアクセスストラクチャS:=(M,ρ(i))のρ(i)である。
暗号システム10の各装置はコンピュータであり、暗号システム10の各装置の各要素をプログラムで実現することができる。
暗号システム10の各装置のハードウェア構成としては、バスに、演算装置901、外部記憶装置902、主記憶装置903、通信装置904、入出力装置905が接続されている。
プログラムは、マスター鍵生成部110、マスター鍵記憶部120、情報入力部130、復号鍵生成部140、鍵送信部150、公開パラメータ受信部210、情報入力部220、暗号化データ生成部230、データ送信部240、復号鍵受信部310、データ受信部320、スパンプログラム計算部330、補完係数計算部340、復号部350、署名鍵受信部410、情報入力部420、補完係数計算部430、署名データ生成部440、データ送信部450、公開パラメータ受信部510、データ受信部520、検証データ生成部530、検証部540として説明している機能を実現するプログラムである。
更に、外部記憶装置902にはオペレーティングシステム(OS)も記憶されており、OSの少なくとも一部が主記憶装置903にロードされ、演算装置901はOSを実行しながら、上記プログラムを実行する。
また、実施の形態1〜5の説明において、「公開パラメータpk」、「マスター秘密鍵sk」、「復号鍵skΓ,skS」、「暗号文ctS,ctΓ」、「署名鍵skΓ」、「検証鍵」、「アクセスストラクチャS」、「属性集合Γ」、「メッセージm」、「署名σ」等として説明している情報やデータや信号値や変数値が主記憶装置903にファイルとして記憶されている。
Claims (9)
- 基底B及び基底B*を利用し、暗号処理を行う暗号システムであり、
属性情報xi(i=1,...,n’,n’は1以上n−1以下の整数,nは2以上の整数)を根とする多項式の係数yj(j=1,...,n)からなる第1ベクトルと、述語情報v1のべき乗v1 i(i=0,...,n−1)からなる第2ベクトルとの一方のベクトルを用いて生成された送信側ベクトルであって、前記基底Bにおけるベクトルである送信側ベクトルを生成する送信装置と、
前記第1ベクトルと前記第2ベクトルとの他方のベクトルを用いて生成された受信側ベクトルであって、前記基底B*におけるベクトルである受信側ベクトルと、前記送信側ベクトルとについて、ペアリング演算を行う受信装置と
を備えることを特徴とする暗号システム。 - 前記基底B及び前記基底B*は、各行各列に少なくとも1つは定数値0以外の値を有する疎行列を用いて基底Aを変形して生成された基底である
ことを特徴とする請求項1に記載の暗号システム。 - 基底B及び基底B*を利用し、暗号処理を行う暗号プログラムであり、
属性情報xi(i=1,...,n’,n’は1以上n−1以下の整数,nは2以上の整数)を根とする多項式の係数yj(j=1,...,n)からなる第1ベクトルと、述語情報v1のべき乗v1 i(i=0,...,n−1)からなる第2ベクトルとの一方のベクトルを用いて生成された送信側ベクトルであって、前記基底Bにおけるベクトルである送信側ベクトルを生成する送信側処理と、
前記第1ベクトルと前記第2ベクトルとの他方のベクトルを用いて生成された受信側ベクトルであって、前記基底B*におけるベクトルである受信側ベクトルと、前記送信側ベクトルとについて、ペアリング演算を行う受信側処理と
をコンピュータに実行させることを特徴とする暗号プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2014/054280 WO2015125293A1 (ja) | 2014-02-24 | 2014-02-24 | 暗号システム及び暗号プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6053983B2 JP6053983B2 (ja) | 2016-12-27 |
JPWO2015125293A1 true JPWO2015125293A1 (ja) | 2017-03-30 |
Family
ID=53877826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016503892A Active JP6053983B2 (ja) | 2014-02-24 | 2014-02-24 | 暗号システム、署名システム、暗号プログラム及び署名プログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US9640090B2 (ja) |
EP (1) | EP3113405B1 (ja) |
JP (1) | JP6053983B2 (ja) |
CN (1) | CN106031080B (ja) |
WO (1) | WO2015125293A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10396984B2 (en) * | 2014-05-02 | 2019-08-27 | Barclays Services Limited | Apparatus and system having multi-party cryptographic authentication |
EP3226460A1 (en) * | 2016-04-01 | 2017-10-04 | Institut Mines-Telecom | Secret key estimation methods and devices |
CN106600788A (zh) * | 2016-12-23 | 2017-04-26 | 嘉应学院 | 一种用于密码锁的实现时间数据安全交互的方法 |
JP7248120B2 (ja) * | 2019-07-10 | 2023-03-29 | 日本電信電話株式会社 | 暗号システム、鍵生成装置、暗号化装置、復号装置、及びプログラム |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10148415C2 (de) * | 2001-09-29 | 2003-07-31 | Univ Braunschweig Tech | Verfahren und Vorrichtung zum Verschlüsseln und Entschlüsseln von Daten |
US7634085B1 (en) | 2005-03-25 | 2009-12-15 | Voltage Security, Inc. | Identity-based-encryption system with partial attribute matching |
US20090080658A1 (en) | 2007-07-13 | 2009-03-26 | Brent Waters | Method and apparatus for encrypting data for fine-grained access control |
JP5349261B2 (ja) | 2009-04-23 | 2013-11-20 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム |
WO2011062136A1 (ja) | 2009-11-20 | 2011-05-26 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム |
JP5325755B2 (ja) | 2009-12-11 | 2013-10-23 | 株式会社エヌ・ティ・ティ・データ | 暗号文復号権限委譲システム、暗号文復号権限委譲方法、暗号文変換装置、復号権限所持者用装置および暗号文変換プログラム |
JP5424974B2 (ja) | 2010-04-27 | 2014-02-26 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置 |
JP5693206B2 (ja) | 2010-12-22 | 2015-04-01 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム |
JP5606344B2 (ja) | 2011-01-25 | 2014-10-15 | 三菱電機株式会社 | 署名処理システム、鍵生成装置、署名装置、検証装置、署名処理方法及び署名処理プログラム |
JP5513444B2 (ja) | 2011-05-31 | 2014-06-04 | 日本電信電話株式会社 | ベクトル構成システム、方法、装置及びプログラム並びに暗号システム |
JP5651609B2 (ja) | 2012-01-23 | 2015-01-14 | 日本電信電話株式会社 | 検索可能暗号システム、検索装置、計算装置、及びプログラム |
JP5814880B2 (ja) * | 2012-07-31 | 2015-11-17 | 三菱電機株式会社 | 暗号システム、暗号方法、暗号プログラム及び復号装置 |
US8559631B1 (en) * | 2013-02-09 | 2013-10-15 | Zeutro Llc | Systems and methods for efficient decryption of attribute-based encryption |
-
2014
- 2014-02-24 CN CN201480075256.7A patent/CN106031080B/zh active Active
- 2014-02-24 EP EP14882957.5A patent/EP3113405B1/en active Active
- 2014-02-24 US US15/118,797 patent/US9640090B2/en active Active
- 2014-02-24 JP JP2016503892A patent/JP6053983B2/ja active Active
- 2014-02-24 WO PCT/JP2014/054280 patent/WO2015125293A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
EP3113405A1 (en) | 2017-01-04 |
EP3113405A4 (en) | 2017-11-01 |
JP6053983B2 (ja) | 2016-12-27 |
EP3113405B1 (en) | 2020-10-28 |
WO2015125293A1 (ja) | 2015-08-27 |
US9640090B2 (en) | 2017-05-02 |
US20170053566A1 (en) | 2017-02-23 |
CN106031080B (zh) | 2019-07-16 |
CN106031080A (zh) | 2016-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | Cryptanalysis of a symmetric fully homomorphic encryption scheme | |
Hermassi et al. | Security analysis of an image encryption algorithm based on a DNA addition combining with chaotic maps | |
JP6053966B2 (ja) | 暗号システム及び再暗号化装置 | |
JP5680007B2 (ja) | 暗号システム、暗号方法及び暗号プログラム | |
JP5618881B2 (ja) | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム | |
JP5905128B2 (ja) | 暗号システム、再暗号化装置及び暗号方法 | |
KR101606317B1 (ko) | 암호 시스템, 암호 방법, 암호 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 및 복호 장치 | |
JP5951122B2 (ja) | 暗号システム、暗号方法及び暗号プログラム | |
KR101431412B1 (ko) | 서명 처리 시스템, 키 생성 장치, 서명 장치, 검증 장치, 서명 처리 방법 및 서명 처리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 | |
JP2010273317A (ja) | 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム | |
CN111783129A (zh) | 一种保护隐私的数据处理方法及系统 | |
WO2016112954A1 (en) | Method and system for providing encrypted data | |
WO2016088453A1 (ja) | 暗号化装置、復号装置、暗号処理システム、暗号化方法、復号方法、暗号化プログラム、及び復号プログラム | |
JP6053983B2 (ja) | 暗号システム、署名システム、暗号プログラム及び署名プログラム | |
JP6022073B2 (ja) | 暗号システム、再暗号化鍵生成装置及び再暗号化装置 | |
CN114362912A (zh) | 基于分布式密钥中心的标识密码生成方法、电子设备及介质 | |
JP6266130B2 (ja) | 暗号システム、マスター鍵更新装置及びマスター鍵更新プログラム | |
Gomathisankaran et al. | HORNS: A semi-perfectly secret homomorphic encryption system | |
JP6087849B2 (ja) | 代理署名装置、署名検証装置、鍵生成装置、代理署名システム、およびプログラム | |
EP4024755B1 (en) | Secured performance of an elliptic curve cryptographic process | |
Chandra et al. | STUDY OF RSA ALGORITHM FOR DATA ENCRYPTION AND DECRYPTION | |
Sirajudeen et al. | Matrix-Based Data Security in Cloud Computing Using Advanced Cramer–Shoup Cryptosystem | |
Babenko et al. | Influence of S-Boxes to the resistance of GOST algorithm against linear cryptanalysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20161101 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161129 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6053983 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |