JP2011232475A - 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置 - Google Patents
暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置 Download PDFInfo
- Publication number
- JP2011232475A JP2011232475A JP2010101657A JP2010101657A JP2011232475A JP 2011232475 A JP2011232475 A JP 2011232475A JP 2010101657 A JP2010101657 A JP 2010101657A JP 2010101657 A JP2010101657 A JP 2010101657A JP 2011232475 A JP2011232475 A JP 2011232475A
- Authority
- JP
- Japan
- Prior art keywords
- integer
- vector
- basis
- variable
- identification information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 188
- 238000012795 verification Methods 0.000 title claims description 24
- 239000013598 vector Substances 0.000 claims abstract description 268
- 238000000034 method Methods 0.000 claims abstract description 86
- 239000011159 matrix material Substances 0.000 claims description 101
- 238000004364 calculation method Methods 0.000 claims description 58
- 230000000295 complement effect Effects 0.000 claims description 50
- 230000006870 function Effects 0.000 abstract description 28
- 230000014509 gene expression Effects 0.000 description 36
- 238000004891 communication Methods 0.000 description 24
- 230000005540 biological transmission Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 17
- 230000009977 dual effect Effects 0.000 description 13
- 239000003643 water by type Substances 0.000 description 13
- 238000013507 mapping Methods 0.000 description 11
- 238000013461 design Methods 0.000 description 7
- 230000009466 transformation Effects 0.000 description 5
- 125000004122 cyclic group Chemical group 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003121 nonmonotonic effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
-
- 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
- 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/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0847—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving identity based encryption [IBE] schemes
-
- 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
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
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)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
【解決手段】スパンプログラムに属性ベクトルの内積を適用することにより、アクセスストラクチャを構成した。このアクセスストラクチャは、スパンプログラムの設計と、属性ベクトルの設計とに自由度があり、アクセス制御の設計に大きな自由度を有する。そして、このアクセスストラクチャに対して秘密分散の概念を用いることで、関数型暗号処理を実現した。
【選択図】図6
Description
鍵生成装置と暗号化装置と復号装置とを備え、t=0,...,d(dは1以上の整数)の各整数tについての基底Btと基底B* tとを用いて暗号処理を実行する暗号処理システムであり、
前記鍵生成装置は、
i=1,...,L(Lは1以上の整数)の各整数iについての変数ρ(i)であって、識別情報t(t=1,...,dのいずれかの整数)と、属性ベクトルv→ i:=(vi,i’)(i’=1,...,nt,ntは1以上の整数)との肯定形の組(t,v→ i)又は否定形の組¬(t,v→ i)のいずれかである変数ρ(i)と、L行r列(rは1以上の整数)の所定の行列Mとを入力する第1情報入力部と、
r個の要素を有するベクトルf→及びw→と、前記第1情報入力部が入力した行列Mとに基づき生成される列ベクトルs→T:=(s1,...,sL)T:=M・f→Tと、値s0:=w→・f→Tと、所定の値θi(i=1,...,L)とに基づき、要素k* 0と、i=1,...,Lの各整数iについての要素k* iとを生成する復号鍵生成部であって、
基底B* 0の基底ベクトルb* 0,p(pは所定の値)の係数として前記値−s0を設定し、基底ベクトルb* 0,q(qは前記pとは異なる所定の値)の係数として所定の値κを設定して要素k* 0を生成し、
i=1,...,Lの各整数iについて、変数ρ(i)が肯定形の組(t,v→ i)である場合には、その組の識別情報tが示す基底B* tの基底ベクトルb* t,1の係数としてsi+θivi,1を設定するとともに、前記識別情報tとi’=2,...,ntの各整数i’とが示す基底ベクトルb* t,i’の係数としてθivi,i’を設定して要素k* iを生成し、変数ρ(i)が否定形の組¬(t,v→ i)である場合には、その組の識別情報tとi’=1,...,ntの各整数i’とが示す基底ベクトルb* t,i’の係数としてsivi,i’を設定して要素k* iを生成する復号鍵生成部と
を備え、
前記暗号化装置は、
t=1,...,dの少なくとも1つ以上の整数tについて、識別情報tと、属性ベクトルx→ t:=(xt,i’)(i’=1,...,nt,ntは1以上の整数)とを有する属性集合Γを入力する第2情報入力部と、
前記第2情報入力部が入力した属性集合Γに基づき、要素c0と、前記属性集合Γに含まれる各識別情報tについてについての要素ctとを生成する暗号化データ生成部であって、
基底B0の基底ベクトルb0,p(pは前記p)の係数として乱数値δを設定するとともに、基底ベクトルb0,q(qは前記q)の係数として所定の値ζを設定した要素c0を生成し、
前記属性集合Γに含まれる各識別情報tについて、基底Btの基底ベクトルbt,i’(i’=1,...,nt)の係数として前記乱数値δ倍したxt,i’を設定した要素ctとを生成する暗号化データ生成部と
を備え、
前記復号装置は、
前記暗号化データ生成部が生成した要素c0及び要素ctと、前記属性集合Γとを含む暗号化データcを取得するデータ取得部と、
前記復号鍵生成部が生成した要素k* 0及び要素k* iと、前記変数ρ(i)とを含む復号鍵skSを取得する復号鍵取得部と、
前記データ取得部が取得した暗号化データcに含まれる属性集合Γと、前記復号鍵取得部が取得した復号鍵skSに含まれる変数ρ(i)とに基づき、i=1,...,Lの各整数iのうち、変数ρ(i)が肯定形の組(t,v→ i)であり、かつ、その組のv→ iと、その組の識別情報tが示すΓに含まれるx→ tとの内積が0となるiと、変数ρ(i)が否定形の組¬(t,v→ i)であり、かつ、その組のv→ iと、その組の識別情報tが示すΓに含まれるx→ tとの内積が0とならないiとの集合Iを特定するとともに、特定した集合Iに含まれるiについて、αisiを合計した場合にs0となる補完係数αiを計算する補完係数計算部と、
前記暗号化データcに含まれる要素c0,要素ctと、前記復号鍵skSに含まれる要素k* 0,要素k* iとについて、前記補完係数計算部が特定した集合Iと、前記補完係数計算部が計算した補完係数αiとに基づき、数1に示すペアリング演算を行い値K=gT ζκを計算するペアリング演算部と
を備えることを特徴とする。
以下の説明において、処理装置は後述するCPU911等である。記憶装置は後述するROM913、RAM914、磁気ディスク920等である。通信装置は後述する通信ボード915等である。入力装置は後述するキーボード902、通信ボード915等である。つまり、処理装置、記憶装置、通信装置、入力装置はハードウェアである。
Aがランダムな変数または分布であるとき、数101は、Aの分布に従いAからyをランダムに選択することを表す。つまり、数101において、yは乱数である。
bi(i=1,...,n)が空間Vのベクトルの要素であるとき、つまり、数110であるとき、数111は、数112によって生成される部分空間を表す。
また、ベクトルを意味する“→”が下付き文字又は上付き文字に付されている場合、この“→”は下付き文字又は上付き文字に上付きで付されていることを意味する。
また、基底を表すB0,Bd+1が下付きで示されている場合、このB0,Bd+1はそれぞれB0,Bd+1を表す。同様に、基底を表すB*0,B*d+1が下付きで示されている場合、このB*0,B*d+1はそれぞれB* 0,B* d+1を表す。
この実施の形態では、後の実施の形態で説明する「関数型暗号(Functional Encryption)方式」を実現する基礎となる概念と、関数型暗号の1つの構成について説明する。
第1に、関数型暗号について簡単に説明する。
第2に、関数型暗号を実現するための空間である「双対ペアリングベクトル空間(Dual Pairing Vector Spaces,DPVS)」という豊かな数学的構造を有する空間を説明する。
第3に、関数型暗号を実現するための概念を説明する。ここでは、「スパンプログラム(Span Program)」、「属性ベクトルの内積とアクセスストラクチャ」、「秘密分散方式(秘密共有方式)」について説明する。
第4に、この実施の形態に係る「関数型暗号方式」を説明する。この実施の形態では、「Key−Policy関数型暗号(Key−Policy Functional Encryption,KP−FE)方式」について説明する。そこで、まず、「Key−Policy関数型暗号方式」の基本構成について説明する。次に、この「Key−Policy関数型暗号方式」を実現する「暗号処理システム10」の基本構成について説明する。そして、この実施の形態に係る「Key−Policy関数型暗号方式」及び「暗号処理システム10」について詳細に説明する。
関数型暗号方式は、暗号化鍵(encryption−key,ek)と、復号鍵(decryption−key,dk)との間の関係をより高度化し、より柔軟にした暗号方式である。
関数型暗号方式において、暗号化鍵と復号鍵とは、それぞれ、属性xと属性vとが設定されている。そして、関係Rに対してR(x,v)が成立する場合に限り、復号鍵dkv:=(dk,v)は暗号化鍵ekx:=(ek,x)で暗号化された暗号文を復号することができる。
関数型暗号方式には、データベースのアクセスコントロール、メールサービス、コンテンツ配布等の様々なアプリケーションが存在する(非特許文献2,7,9,16,19,23−26,28参照)。
属性ベース暗号方式では、暗号化鍵と復号鍵とに設定される属性が属性の組である。例えば、暗号化鍵と復号鍵とに設定される属性が、それぞれ、X:=(x1,...,xd)と、V:=(v1,...,vd)とである。
そして、属性のコンポーネントについて、コンポーネント毎の等号関係(例えば、{xt=vt}t∈{1,...,d})がアクセスストラクチャSに入力される。そして、アクセスストラクチャSが入力を受理した場合にのみ、R(X,V)が成立する。つまり、暗号化鍵で暗号化された暗号文を復号鍵で復号することができる。
アクセスストラクチャSが復号鍵dkVに埋め込まれている場合、属性ベース暗号(ABE)方式は、Key−Policy ABE(KP−ABE)と呼ばれる。一方、アクセスストラクチャSが暗号文に埋め込まれている場合、属性ベース暗号(ABE)方式は、Ciphertext−Policy ABE(CP−ABE)と呼ばれる。
まず、対象双線形ペアリング群(Symmetric Bilinear Pairing Groups)について説明する。
対象双線形ペアリング群(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である。
以下の説明において、数115を、1λを入力として、セキュリティパラメータをλとする双線形ペアリング群のパラメータparamG:=(q,G,GT,g,e)の値を出力するアルゴリズムとする。
双対ペアリングベクトル空間(q,V,GT,A,e)は、対象双線形ペアリング群(paramG:=(q,G,GT,g,e))の直積によって構成することができる。双対ペアリングベクトル空間(q,V,GT,A,e)は、素数q、数116に示すFq上のN次元ベクトル空間V、位数qの巡回群GT、空間Vの標準基底A:=(a1,...,aN)の組であり、以下の演算(1)(2)を有する。ここで、aiは、数117に示す通りである。
空間Vにおけるペアリングは、数118によって定義される。
<第3−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^は入力列δを受理する。
詳しくは後述するが、スパンプログラムがモノトーンではなく、ノンモノトーンであることにより、スパンプログラムを利用して構成する関数型暗号方式の利用範囲が広がる。
ここでは、属性ベクトルの内積を用いて上述した写像γ(j)を計算する。つまり、属性ベクトルの内積を用いて、行列Mのどの行を行列Mδに含めるかを決定する。
つまり、アクセスストラクチャS:=(M,ρ)であり、ρ:{1,...,L}→{(t,v→),(t’,v’→)},...,¬(t,v→),¬(t’,v’→),...}である。
アクセスストラクチャSにΓが与えられた場合、スパンプログラムM^:=(M,ρ)に対する写像γ:{1,...,L}→{0,1}は、以下のように定義される。i=1,...,Lの各整数iについて、[ρ(i)=(t,v→ i)]∧[(t,x→ t)∈Γ]∧[v→ i・x→ t=0]、又は、[ρ(i)=¬(t,v→ i)]∧[(t,x→ t)∈Γ]∧[v→ i・x→ t≠0]である場合、γ(j)=1であり、他の場合、γ(j)=0とする。
つまり、属性ベクトルv→とx→との内積に基づき、写像γが計算される。そして、上述したように、写像γにより、行列Mのどの行を行列Mδに含めるかが決定される。すなわち、属性ベクトルv→とx→との内積により、行列Mのどの行を行列Mδに含めるかが決定され、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を数122に示す列ベクトルとする。
これは、図2の例で、α1(M1)+α2(M2)+α4(M4)=1→となるα1,α2,α4が存在する場合には、スパンプログラムM^は入力列δを受理すると説明したことからも明らかである。つまり、α1(M1)+α2(M2)+α4(M4)=1→となるα1,α2,α4が存在する場合には、スパンプログラムM^は入力列δを受理するのであれば、スパンプログラムM^は入力列δを受理する場合には、α1(M1)+α2(M2)+α4(M4)=1→となるα1,α2,α4が存在する。
そして、数125である。
例えば、上述した属性ベース暗号方式は、この実施の形態及び以下の実施の形態に係る関数型暗号方式におけるアクセスストラクチャにおいて、内積述語の設計をある条件に限定した場合に相当する。つまり、この実施の形態及び以下の実施の形態に係る関数型暗号方式におけるアクセスストラクチャに比べ、属性ベース暗号方式におけるアクセスストラクチャは、内積述語における属性情報x及び属性情報v(述語情報)を設計の自由度がない分、アクセス制御の設計の自由度が低い。なお、具体的には、属性ベース暗号方式は、属性情報{x→ t}t∈{1,...,d}と{v→ t}t∈{1,...,d}とを、等号関係に対する2次元ベクトル、例えばx→ t:=(1,xt)とv→ t:=(vt,−1)とに限定した場合に相当する。
また、上述した内積述語暗号方式は、この実施の形態及び以下の実施の形態に係る関数型暗号方式におけるアクセスストラクチャにおいて、スパンプログラムにおける行列Mの設計をある条件に限定した場合に相当する。つまり、この実施の形態及び以下の実施の形態に係る関数型暗号方式におけるアクセスストラクチャに比べ、内積述語暗号方式におけるアクセスストラクチャは、スパンプログラムにおける行列Mの設計の自由度がない分、アクセス制御の設計の自由度が低い。なお、具体的には、内積述語暗号方式は、秘密分散方式を1−out−of−1(あるいは、d−out−of−d)に限定した場合である。
具体的には、ノンモノトーンスパンプログラムには、否定形のリテラル(¬p)を含むため、否定形の条件を設定できる。例えば、第1会社には、A部とB部とC部とD部との4つの部署があったとする。ここで、第1会社のB部以外の部署の属するユーザにのみアクセス可能(復号可能)というアクセス制御をしたいとする。この場合に、否定形の条件の設定ができないとすると、「第1会社のA部とC部とD部とのいずれかに属すること」という条件を設定する必要がある。一方、否定形の条件の設定ができるとすると、「第1会社の社員であって、B部以外に属すること」という条件を設定することができる。つまり、否定形の条件が設定できることで、自然な条件設定が可能となる。なお、ここでは部署の数が少ないが、部署の数が多い場合等は非常に有効であることが分かる。
<第4−1.Key−Policy関数型暗号方式の基本構成>
Key−Policy関数型暗号方式の構成を簡単に説明する。なお、Key−Policyとは、復号鍵にPolicyが埋め込まれること、つまりアクセスストラクチャが埋め込まれることを意味する。
Key−Policy関数型暗号方式は、Setup、KeyGen、Enc、Decの4つのアルゴリズムを備える。
(Setup)
Setupアルゴリズムは、セキュリティパラメータλと、属性のフォーマットμ→:=(d;n1,...,nd)とが入力され、公開パラメータpkと、マスター鍵skとを出力する確率的アルゴリズムである。
(KeyGen)
KeyGenアルゴリズムは、アクセスストラクチャS:=(M,ρ)と、公開パラメータpkと、マスター鍵skとを入力として、復号鍵skSを出力する確率的アルゴリズムである。
(Enc)
Encアルゴリズムは、メッセージmと、属性の集合であるΓ:={(t,x→ t)|x→ t∈Fq nt,1≦t≦d}と、公開パラメータpkとを入力として、暗号化データcを出力する確率的アルゴリズムである。
(Dec)
Decアルゴリズムは、属性の集合であるΓの下で暗号化された暗号化データcと、アクセスストラクチャSに対する復号鍵skSと、公開パラメータpkとを入力として、メッセージm、又は、識別情報⊥を出力するアルゴリズムである。
上述したKey−Policy関数型暗号方式のアルゴリズムを実行する暗号処理システム10について説明する。
図5は、Key−Policy関数型暗号方式を実行する暗号処理システム10の構成図である。
暗号処理システム10は、鍵生成装置100、暗号化装置200、復号装置300を備える。
鍵生成装置100は、セキュリティパラメータλと、属性のフォーマットμ→:=(d;n1,...,nd)とを入力としてSetupアルゴリズムを実行して、公開パラメータpkとマスター鍵skとを生成する。そして、鍵生成装置100は、生成した公開パラメータpkを公開する。また、鍵生成装置100は、アクセスストラクチャSを入力としてKeyGenアルゴリズムを実行して、復号鍵skSを生成して復号装置300へ秘密裡に配布する。
暗号化装置200は、メッセージmと、属性の集合Γと、公開パラメータpkとを入力としてEncアルゴリズムを実行して、暗号化データcを生成する。暗号化装置200は、生成した暗号化データcを復号装置300へ送信する。
復号装置300は、公開パラメータpkと、復号鍵skSと、暗号化データcとを入力としてDecアルゴリズムを実行して、メッセージm又は識別情報⊥を出力する。
図6から図9に基づき、Key−Policy関数型暗号方式、及び、Key−Policy関数型暗号方式を実行する暗号処理システム10の機能と動作とについて説明する。
図6は、Key−Policy関数型暗号方式を実行する暗号処理システム10の機能を示す機能ブロック図である。暗号処理システム10は、上述したように、鍵生成装置100、暗号化装置200、復号装置300を備える。
図7と図8とは、鍵生成装置100の動作を示すフローチャートである。なお、図7はSetupアルゴリズムの処理を示すフローチャートであり、図8はKeyGenアルゴリズムの処理を示すフローチャートである。図9は、暗号化装置200の動作を示すフローチャートであり、Encアルゴリズムの処理を示すフローチャートである。図10は、復号装置300の動作を示すフローチャートであり、Decアルゴリズムの処理を示すフローチャートである。
なお、以下の説明では、xt,1:=1であるとする。
(S101:正規直交基底生成ステップ)
マスター鍵生成部110は、処理装置により、数127を計算して、paramμ→と、t=0,...,dの各整数tについて基底Bt及び基底B* tとを生成する。
(1)マスター鍵生成部110は、入力装置により、セキュリティパラメータλ(1λ)と、属性のフォーマットμ→:=(d;n1,...,nd)とを入力する。ここで、dは1以上の整数であり、t=1,...,dまでの各整数tについてntは1以上の整数である。
(2)マスター鍵生成部110は、処理装置により、(1)で入力したセキュリティパラメータλ(1λ)を入力としてアルゴリズムGbpgを実行して、双線形ペアリング群のパラメータparamG:=(q,G,GT,g,e)の値を生成する。
(3)マスター鍵生成部110は、処理装置により、乱数ψを生成するとともに、N0に5を、t=1,...,dの各整数tについてNtに4ntを設定する。
(4)マスター鍵生成部110は、処理装置により、(1)で入力したセキュリティパラメータλ(1λ)と、(3)で設定したNtと、(2)で生成したparamG:=(q,G,GT,g,e)の値とを入力としてアルゴリズムGdpvsを実行して、双対ペアリングベクトル空間のパラメータparamVt:=(q,VT,GT,A,e)の値を生成する。
(5)マスター鍵生成部110は、処理装置により、(3)で設定したNtと、Fqとを入力として、線形変換Xt:=(χt,i,j)i,jをランダムに生成する。なお、GLは、General Linearの略である。つまり、GLは、一般線形群であり、行列式が0でない正方行列の集合であり、乗法に関し群である。また、(χt,i,j)i,jは、行列χt,i,jの添え字i,jに関する行列という意味であり、ここでは、i,j=1,...,ntである。
(6)マスター鍵生成部110は、処理装置により、乱数ψと線形変換Xtとに基づき、(νt,i,j)i,j:=ψ・(Xt T)−1を生成する。なお、(νt,i,j)i,jも(χt,i,j)i,jと同様に、行列νt,i,jの添え字i,jに関する行列という意味であり、ここでは、i,j=1,...,ntである。
(7)マスター鍵生成部110は、処理装置により、(5)で生成した線形変換Xtに基づき、(4)で生成した標準基底Atから基底Btを生成する。
(8)マスター鍵生成部110は、処理装置により、(6)で生成した(νt,i,j)i,jに基づき、(4)で生成した標準基底Atから基底B* tを生成する。
(9)マスター鍵生成部110は、処理装置により、gTにe(g,g)ψを設定する。また、マスター鍵生成部110は、paramμ→に(4)で生成した{paramVt}t=0,...,dと、gTとを設定する。なお、t=0,...,dとi=1,...,Ntとの各整数t,iについて、gT=e(bt,i,b* t,i)である。
マスター鍵生成部110は、処理装置により、(S101)で生成した基底Btの部分基底B^0と、t=1,...,dの各整数tについて、部分基底B^tとを数129に示すように生成する。
マスター鍵生成部110は、処理装置により、(S101)で生成した基底B* tの部分基底B^* 0と、t=1,...,dの各整数tについて、部分基底B^* tとを数130に示すように生成する。
マスター鍵記憶部120は、(S102)でt=0,...,dの各整数tについて生成した部分基底B^* tを含む公開パラメータpkを記憶装置に記憶する。また、マスター鍵記憶部120は、(S103)でt=0,...,dの各整数tについて生成した部分基底B^* tを含むマスター鍵skを記憶装置に記憶する。
なお、公開パラメータは、例えば、ネットワークを介して公開され、暗号化装置200や復号装置300が取得可能な状態にされる。
(S201:情報入力ステップ)
情報入力部130は、入力装置により、上述したアクセスストラクチャS:=(M,ρ)を入力する。なお、アクセスストラクチャSの行列Mの設定については、実現したいシステムの条件に応じて設定されるものである。また、アクセスストラクチャSのρは、例えば、復号鍵skSの使用者の属性情報が設定されている。
sベクトル生成部142は、処理装置により、(S201)で入力したアクセスストラクチャSに含まれる(L行×r列)の行列Mと、(S202)で生成したベクトルf→とに基づき、ベクトルs→T:=(s1,...,sL)Tを数133に示すように生成する。
鍵要素生成部144は、処理装置により、復号鍵skSの要素k* 0を数136に示すように生成する。
また、鍵要素生成部144は、処理装置により、i=1,...,Lの各整数iについて、復号鍵skSの要素k* iを数137に示すように生成する。
一方、ρ(i)が否定形の組¬(t,v→ i)である場合には、基底B* tの基底ベクトルb* t,1,...,b* t,ntの係数としてsivi,1,...,sivi,ntを設定し、基底ベクトルb* t,nt+1,...,b* t,2ntの係数として0を設定し、基底ベクトルb* t,2nt+1,...,b* t,3ntの係数としてηi,1,...,ηi,ntを設定し、基底ベクトルb* t,3nt+1,...,b* t,4ntの係数として0を設定することを意味する。
鍵配布部150は、(S201)で入力したアクセスストラクチャSと、(S205)で生成されたk* 0,k* 1,...,k* Lとを要素とする復号鍵skSを、例えば通信装置によりネットワークを介して秘密裡に復号装置300へ配布する。もちろん、復号鍵skSは、他の方法により復号装置300へ配布されてもよい。
(S301:公開パラメータ取得ステップ)
公開パラメータ取得部210は、例えば、通信装置によりネットワークを介して、鍵生成装置100が生成した公開パラメータpkを取得する。
情報入力部220は、入力装置により、復号装置300へ送信するメッセージmを入力する。また、情報入力部220は、入力装置により、属性の集合Γ:={(t,x→ t:=(xt,1,...,xt,nt∈Fqnt))|1≦t≦d}を入力する。なお、tは、1以上d以下の全ての整数ではなく、1以上d以下の少なくとも一部の整数であってもよい。また、属性の集合Γは、例えば、復号可能なユーザの属性情報が設定されている。
暗号要素生成部232は、処理装置により、暗号化データcの要素c0を数140に示すように生成する。
データ送信部240は、(S302)で入力した属性の集合Γと、(S304)で生成されたc0,ct,cd+1とを要素とする暗号化データcを、例えば通信装置によりネットワークを介して復号装置300へ送信する。もちろん、暗号化データcは、他の方法により復号装置300へ送信されてもよい。
(S401:復号鍵取得ステップ)
復号鍵取得部310は、例えば、通信装置によりネットワークを介して、鍵生成装置100から配布された復号鍵skS:=(S,k* 0,k* 1,...,k* L)を取得する。また、復号鍵取得部310は、鍵生成装置100が生成した公開パラメータpkを取得する。
データ受信部320は、例えば、通信装置によりネットワークを介して、暗号化装置200が送信した暗号化データcを受信する。
スパンプログラム計算部330は、処理装置により、(S401)で取得した復号鍵skSに含まれるアクセスストラクチャSが、(S402)で受信した暗号化データcに含まれるΓを受理するか否かを判定する。アクセスストラクチャSがΓを受理するか否かの判定方法は、「第3.関数型暗号を実現するための概念」で説明した通りである。
スパンプログラム計算部330は、アクセスストラクチャSがΓを受理する場合(S403で受理)、処理を(S404)へ進める。一方、アクセスストラクチャSがΓを拒絶する場合(S403で拒絶)、暗号化データcを復号鍵skSで復号できないとして処理を終了する。
ペアリング演算部350は、処理装置により、数145を計算して、セッション鍵K=gT ζを生成する。
平文情報計算部360は、処理装置により、m’=cd+1/Kを計算して、メッセージm’(=m)を生成する。なお、cd+1は数142に示す通りgT ζmであり、KはgT ζであるから、m’=cd+1/Kを計算すればメッセージmが得られる。
また、暗号処理システム10が実現する暗号方式は、非常に安全性が高い。上述したように、関数型暗号方式の1つのクラス(最も限定したクラス)にIDベース暗号がある。既存の実用的なIDベース暗号と比較しても、暗号処理システム10が実現する暗号方式はある意味において安全性が高い。
しかし、nt+nt+nt+ntをnt+ut+wt+ztにしてもよい。つまり、1つ目のntをそのままntとし、2つ目のntをutとし、3つ目のntをwtとし、4つ目のntをztとしてもよい。すなわち、Ntをnt+ut+wt+ztに設定してもよい。ここで、nt,ut,wt,ztは、それぞれ異なる値であってもよく、ntは上述したように1以上の整数であり、ut,wt,ztはいずれも0以上の整数である。
この場合、数131に示すSetupアルゴリズムは、数148のように書き換えられる。つまり、基底B^tと基底B^* tの基底ベクトルの添え字が変更される。
言い替えると、ρ(i)=(t,v→)又はρ(i)=¬(t,v→)である場合に、関数ρ〜を、ρ〜(i)=tである{1,...,L}→{1,...d}の写像であるとする。この場合、ρ〜が単射であると限定してもよい。なお、ρ(i)は、上述したアクセスストラクチャS:=(M,ρ(i))のρ(i)である。
この実施の形態では、「Ciphertext−Policy関数型暗号(Ciphertext−Policy Functional Encryption,CP−FE)方式」について説明する。なお、この実施の形態で説明する「Ciphertext−Policy関数型暗号方式」も、実施の形態1で説明した概念に基づき構成される。
この実施の形態では、まず、「Ciphertext−Policy関数型暗号方式」の基本構成について説明する。次に、この「Ciphertext−Policy関数型暗号方式」を実現する「暗号処理システム10」の基本構成について説明する。そして、この実施の形態に係る「Ciphertext−Policy関数型暗号方式」及び「暗号処理システム10」について詳細に説明する。
Ciphertext−Policy関数型暗号方式の構成を簡単に説明する。なお、Ciphertext−Policyとは、暗号文にPolicyが埋め込まれること、つまりアクセスストラクチャが埋め込まれることを意味する。
Ciphertext−Policy関数型暗号方式は、Key−Policy関数型暗号方式と同様に、Setup、KeyGen、Enc、Decの4つのアルゴリズムを備える。
(Setup)
Setupアルゴリズムは、セキュリティパラメータλと、属性のフォーマットμ→:=(d;n1,...,nd)とが入力され、公開パラメータpkと、マスター鍵skとを出力する確率的アルゴリズムである。
(KeyGen)
KeyGenアルゴリズムは、属性の集合であるΓ:={(t,x→ t)|x→ t∈Fq nt,1≦t≦d}と、公開パラメータpkと、マスター鍵skとを入力として、復号鍵skΓを出力する確率的アルゴリズムである。
(Enc)
Encアルゴリズムは、メッセージmと、アクセスストラクチャS:=(M,ρ)と、公開パラメータpkとを入力として、暗号化データcを出力する確率的アルゴリズムである。
(Dec)
Decアルゴリズムは、アクセスストラクチャSの下で暗号化された暗号化データcと、属性の集合であるΓに対する復号鍵skΓと、公開パラメータpkとを入力として、メッセージm、又は、識別情報⊥を出力するアルゴリズムである。
上述したCiphertext−Policy関数型暗号方式のアルゴリズムを実行する暗号処理システム10について説明する。
図11は、暗号処理システム10の構成図である。
暗号処理システム10は、鍵生成装置100、暗号化装置200、復号装置300を備える。
鍵生成装置100は、セキュリティパラメータλと、属性のフォーマットμ→:=(d;n1,...,nd)とを入力としてSetupアルゴリズムを実行して、公開パラメータpkとマスター鍵skとを生成する。そして、鍵生成装置100は、生成した公開パラメータpkを公開する。また、鍵生成装置100は、属性の集合Γを入力としてKeyGenアルゴリズムを実行して、復号鍵skΓを生成して復号装置300へ秘密裡に配布する。
暗号化装置200は、メッセージmと、アクセスストラクチャSと、公開パラメータpkとを入力としてEncアルゴリズムを実行して、暗号化データcを生成する。暗号化装置200は、生成した暗号化データcを復号装置300へ送信する。
復号装置300は、公開パラメータpkと、復号鍵skSと、暗号化データcとを入力としてDecアルゴリズムを実行して、メッセージm又は識別情報⊥を出力する。
図12から図15に基づき、Ciphertext−Policy関数型暗号方式、及び、Ciphertext−Policy関数型暗号方式を実行する暗号処理システム10の機能と動作とについて説明する。
図12は、Ciphertext−Policy関数型暗号方式を実行する暗号処理システム10の機能を示す機能ブロック図である。暗号処理システム10は、上述したように、鍵生成装置100、暗号化装置200、復号装置300を備える。
図13は、鍵生成装置100の動作を示すフローチャートであり、KeyGenアルゴリズムの処理を示すフローチャートである。なお、Setupアルゴリズムは、Key−Policy関数型暗号方式の場合と同様であるため、ここのでは説明を省略する。図14は、暗号化装置200の動作を示すフローチャートであり、Encアルゴリズムの処理を示すフローチャートである。図15は、復号装置300の動作を示すフローチャートであり、Decアルゴリズムの処理を示すフローチャートである。
なお、以下の説明では、xt,1:=1であるとする。
(S501:情報入力ステップ)
情報入力部130は、入力装置により、属性の集合Γ:={(t,x→ t:=(xt,1,...,xt,nt∈Fq nt))|1≦t≦d}を入力する。なお、属性の集合Γは、例えば、復号鍵skΓの使用者の属性情報が設定されている。
鍵要素生成部144は、処理装置により、復号鍵skΓの要素k* 0を数153に示すように生成する。
鍵配布部150は、(S501)で入力した属性の集合Γと、(S503)で生成されたk* 0,k* tとを要素とする復号鍵skΓを、例えば通信装置によりネットワークを介して秘密裡に復号装置300へ配布する。もちろん、復号鍵skΓは、他の方法により復号装置300へ配布されてもよい。
(S601:公開パラメータ取得ステップ)
公開パラメータ取得部210は、例えば、通信装置によりネットワークを介して、鍵生成装置100が生成した公開パラメータpkを取得する。
情報入力部220は、入力装置により、アクセスストラクチャS:=(M,ρ)を入力する。なお、アクセスストラクチャSの設定については、実現したいシステムの条件に応じて設定されるものである。また、アクセスストラクチャSのρは、例えば、復号可能なユーザの属性情報が設定されている。
また、情報入力部220は、入力装置により、復号装置300へ送信するメッセージmを入力する。
sベクトル生成部234は、処理装置により、(S602)で入力したアクセスストラクチャSに含まれる(L行×r列)の行列Mと、(S603)で生成したベクトルf→とに基づき、ベクトルs→T:=(s1,...,sL)Tを数157に示すように生成する。
暗号要素生成部232は、処理装置により、暗号化データcの要素c0を数160に示すように生成する。
データ送信部240は、(S602)で入力したアクセスストラクチャSと、(S606)で生成されたc0,c1,...,cL,cd+1とを要素とする暗号化データcを、例えば通信装置によりネットワークを介して復号装置300へ送信する。もちろん、暗号化データcは、他の方法により復号装置300へ送信されてもよい。
(S701:復号鍵取得ステップ)
復号鍵取得部310は、例えば、通信装置によりネットワークを介して、鍵生成装置100から配布された復号鍵skΓを取得する。また、復号鍵取得部310は、鍵生成装置100が生成した公開パラメータpkを取得する。
データ受信部320は、例えば、通信装置によりネットワークを介して、暗号化装置200が送信した暗号化データcを受信する。
スパンプログラム計算部330は、処理装置により、(S702)で取得した暗号化データcに含まれるアクセスストラクチャSが、(S701)で受信した復号鍵skΓに含まれるΓを受理するか否かを判定する。アクセスストラクチャSがΓを受理するか否かの判定方法は、「第3.関数型暗号を実現するための概念」で説明した通りである。
スパンプログラム計算部330は、アクセスストラクチャSがΓを受理する場合(S703で受理)、処理を(S704)へ進める。一方、アクセスストラクチャSがΓを拒絶する場合(S703で拒絶)、暗号化データcを復号鍵skSで復号できないとして処理を終了する。
この場合、Setupアルゴリズムは、実施の形態1と同様に数148のように書き換えられる。
また、数155に示すKeyGenアルゴリズムは、数165のように書き換えられる。
言い替えると、関数ρ〜を、ρ(i)=(t,v→)又はρ(i)=¬(t,v→)である場合にρ〜(i)=tである{1,...,L}→{1,...d}の写像であるとする。この場合、ρ〜が単射であると限定してもよい。なお、ρ(i)は、上述したアクセスストラクチャS:=(M,ρ(i))のρ(i)である。
しかし、2つのアクセスストラクチャS1とS2とを用意し、一方のアクセスストラクチャS1を復号鍵に持たせ、他方のアクセスストラクチャS2を暗号化データcに持たせるとともに、アクセスストラクチャS2に対応する属性集合Γ2を復号鍵に持たせ、アクセスストラクチャS1に対応する属性集合Γ1を暗号化データcに持たせてもよい。そして、アクセスストラクチャS1が属性集合Γ1を受理し、かつ、アクセスストラクチャS2が属性集合Γ2を受理した場合にのみ、暗号化データcを復号鍵で復号可能としてもよい。
つまり、Key−Policy関数型暗号とCiphertext−Policy関数型暗号とを組み合わせた暗号方式としてもよい。
この実施の形態では、実施の形態2で説明した「Ciphertext−Policy関数型暗号方式」を応用した署名方式について説明する。
この実施の形態では、まず、「Ciphertext−Policy関数型暗号方式に基づく署名方式」の基本構成について説明する。次に、この「署名方式」を実現する「署名処理システム20」の基本構成について説明する。そして、この実施の形態に係る「署名方式」及び「署名処理システム20」について詳細に説明する。
Ciphertext−Policy関数型暗号方式に基づく署名方式は、Setup、KeyGen、Sig、Verの4つのアルゴリズムを備える。
(Setup)
Setupアルゴリズムは、セキュリティパラメータλと、属性のフォーマットμ→:=(d;n1,...,nd)とが入力され、公開パラメータpkと、マスター鍵skとを出力する確率的アルゴリズムである。
(KeyGen)
KeyGenアルゴリズムは、属性の集合であるΓ:={(t,x→ t)|x→ t∈Fq nt,1≦t≦d}と、公開パラメータpkと、マスター鍵skとを入力として、署名鍵skΓを出力する確率的アルゴリズムである。
(Sig)
Sigアルゴリズムは、メッセージmと、署名鍵skΓと、アクセスストラクチャS:=(M,ρ)と、公開パラメータpkとを入力として、署名データsigを出力する確率的アルゴリズムである。
(Ver)
Verアルゴリズムは、メッセージmと、アクセスストラクチャS:=(M,ρ)と、署名データsigと、公開パラメータpkとを入力として、署名の検証に成功したことを示す値“1”、又は、署名の検証に失敗したことを示す値“0”を出力するアルゴリズムである。
上述した署名処理のアルゴリズムを実行する署名処理システム20について説明する。
図16は、署名処理システム20の構成図である。
署名処理システム20は、鍵生成装置100、署名装置400、検証装置500を備える。
鍵生成装置100は、セキュリティパラメータλと、属性のフォーマットμ→:=(d;n1,...,nd)とを入力としてSetupアルゴリズムを実行して、公開パラメータpkとマスター鍵skとを生成する。そして、鍵生成装置100は、生成した公開パラメータpkを公開する。また、鍵生成装置100は、属性の集合Γを入力としてKeyGenアルゴリズムを実行して、署名鍵skΓを生成して署名装置400へ秘密裡に配布する。
署名装置400は、メッセージmと、アクセスストラクチャSと、公開パラメータpkと、署名鍵skΓとを入力としてSigアルゴリズムを実行して、署名ベクトルs→*を生成する。署名装置400は、生成した署名ベクトルs→*と、メッセージmと、アクセスストラクチャSとを検証装置500へ送信する。
検証装置500は、署名ベクトルs→*と、メッセージmと、アクセスストラクチャSと、公開パラメータpkとを入力としてVerアルゴリズムを実行して、値“1”、又は、値“0”を出力する。
図17から図21に基づき、署名方式、及び、署名処理システム20の機能と動作とについて説明する。
図17は、署名処理システム20の機能を示す機能ブロック図である。署名処理システム20は、上述したように、鍵生成装置100、署名装置400、検証装置500を備える。
図18と図19とは、鍵生成装置100の動作を示すフローチャートである。図18はSetupアルゴリズムの処理を示すフローチャートであり、図19はKeyGenアルゴリズムの処理を示すフローチャートである。図20は、署名装置400の動作を示すフローチャートであり、Sigアルゴリズムの処理を示すフローチャートである。図21は、検証装置500の動作を示すフローチャートであり、Verアルゴリズムの処理を示すフローチャートである。
なお、以下の説明では、xt,1:=1であるとする。
(S801:正規直交基底生成ステップ)
マスター鍵生成部110は、処理装置により、数167を計算して、paramμ→と、t=0,...,d+2の各整数tについて基底Bt及び基底B* tとを生成する。
マスター鍵生成部110は、t=0,...,d+2の各整数tについての部分基底B^tと、t=1,...,d+2の各整数tについての部分基底B^* 0と、基底ベクトルb* 0,3と、(S101)で入力されたセキュリティパラメータλ(1λ)と、(S101)で生成したparamμ→とを合わせて、公開パラメータpkとする。
また、マスター鍵生成部110は、基底ベクトルb* 0,1をマスター鍵skとする。
そして、マスター鍵記憶部120は、公開パラメータpkとマスター鍵skとを記憶装置に記憶する。
なお、公開パラメータは、例えば、ネットワークを介して公開され、署名装置400や検証装置500が取得可能な状態にされる。
(S901:情報入力ステップ)
情報入力部130は、入力装置により、属性の集合Γ:={(t,x→ t:=(xt,1,...,xt,nt∈Fq nt))|1≦t≦d}を入力する。なお、属性の集合Γは、例えば、署名鍵skΓの使用者の属性情報が設定されている。
乱数生成部161は、処理装置により、t=1,...,d、ι=1,...,ntの各整数tとιとについて、乱数δ、乱数φ0,φt,ι,φd+2,ι,φd+3,ιを数172に示すように生成する。
鍵要素生成部162は、処理装置により、署名鍵skΓの要素k* 0を数173に示すように生成する。
鍵配布部150は、(S901)で入力した属性の集合Γと、(S903)で生成されたk* 0,k* t,k* d+2,k* d+3とを要素とする署名鍵skΓを、例えば通信装置によりネットワークを介して秘密裡に署名装置400へ配布する。もちろん、復号鍵skΓは、他の方法により署名装置400へ配布されてもよい。
(S1001:署名鍵取得ステップ)
署名鍵取得部410は、例えば、通信装置によりネットワークを介して、鍵生成装置100から配布された署名鍵skΓ:=(Γ,k* 0,k* t,k* d+2,k* d+3)を取得する。また、署名鍵取得部410は、鍵生成装置100が生成した公開パラメータpkを取得する。
情報入力部420は、入力装置により、アクセスストラクチャS:=(M,ρ)を入力する。なお、ここで入力されるアクセスストラクチャSは、(S1001)で入力した署名鍵skΓに含まれる属性の集合Γを受理するものとする。
また、情報入力部220は、入力装置により、署名を付すメッセージmを入力する。
行列生成部440は、処理装置により、行列Mに追加するベクトルML+1とそのラベルρ(L+1)とを数178に示すように生成する。
署名要素生成部452は、処理装置により、署名ベクトルs→*の要素であるs* 0を数180に示すように生成する。
データ送信部460は、(S1002)で入力したメッセージmと、アクセスストラクチャS:=(M,ρ)と、(S1007)で生成されたs*→とを含む署名データsigを、例えば通信装置によりネットワークを介して検証装置500へ送信する。もちろん、署名データsigは、他の方法により検証装置500へ送信されてもよい。
(S1101:公開パラメータ取得ステップ)
公開パラメータ取得部510は、例えば、通信装置によりネットワークを介して、鍵生成装置100が生成した公開パラメータpkを取得する。
データ受信部320は、例えば、通信装置によりネットワークを介して、署名装置400が送信した署名データsigを受信する。
sベクトル生成部534は、処理装置により、(S1102)で受信したアクセスストラクチャSに含まれる(L行×r列)の行列Mと、(S1103)で生成したベクトルf→とに基づき、ベクトルs→T:=(s1,...,sL)Tを数185に示すように生成する。
乱数生成部531は、処理装置により、i=1,...,L+2の各整数iについて、乱数η0,ηL+2、1,ηL+2、2,θi,sL+2を数187に示すように生成する。
暗号要素生成部532は、処理装置により、暗号化データcの要素c0を数188に示すように生成する。
ペアリング演算部540は、処理装置により、数191を計算する。
ペアリング演算部540は、数191を計算した結果が値“1”であれば、値“1”を出力し、その他の値であれば値“0”を出力する。ここで、数191を計算した結果が値“1”であれば、署名が検証できたことを示し、その他の値であれば署名が検証できなかったことを示す。
なお、数192に示すように、署名データsigが正しいデータであれば、数191を計算することにより値“1”が得られる。
しかし、nt+nt+nt+ntをnt+ut+wt+ztにしてもよい。つまり、1つ目のntをそのままntとし、2つ目のntをutとし、3つ目のntをwtとし、4つ目のntをztとしてもよい。すなわち、Ntをnt+ut+wt+ztに設定してもよい。ここで、nt,ut,wt,ztは、それぞれ異なる値であってもよく、ntは上述したように1以上の整数であり、ut,wt,ztはいずれも0以上の整数である。
この場合、数171に示すSetupアルゴリズムは、数194のように書き換えられる。つまり、基底B^tと基底B^* tの基底ベクトルの添え字が変更される。
また、Nd+2は8ではなく、2以上の整数であればよい。Nd+2が2であると、基底Bd+2と基底B* d+2とが2次元になる。この場合、KeyGenアルゴリズムにおいて、k* d+2:=(δj(1,0))B*d+2、k* d+3:=(δj(0,1))B*d+2とし、Verアルゴリズムにおいて、c0:=(sL+2−θL+2m,θL+2)Bd+2とすればよい。
言い替えると、関数ρ〜を、ρ(i)=(t,v→)又はρ(i)=¬(t,v→)である場合にρ〜(i)=tである{1,...,L}→{1,...d}の写像であるとする。この場合、ρ〜が単射であるとしてもよい。なお、ρ(i)は、上述したアクセスストラクチャS:=(M,ρ(i))のρ(i)である。
また、上記説明では、追加したL+1行目のラベルρ(L+1):=¬(d+1,v→ L+1:=(1))とした。しかし、追加する行のラベルの設定は、処理が成立するようになっていればよく、これに限るものではない。
つまり、追加する行や、追加する行のラベルは、Verアルゴリズムのペアリング演算ステップ(S1107)でペアリング演算をした場合に、追加した行の情報が0になるように設定されていればよい。
なお、追加した行が2行以上である場合には、追加した行数に応じて、SigアルゴリズムやVerアルゴリズムにおける処理の繰り返し回数を変更する必要がある。
なお、このようにSetupアルゴリズムと、Sigアルゴリズムとを変更した場合であっても、数199に示すように、署名データsigが正しいデータであれば、アルゴリズムにおいて、ペアリング演算を計算することにより値“1”が得られる。
つまり、上記説明では、c0とcL+2とを乱数sL+2で結びつけ、ペアリング演算を行った場合にc0とcL+2との間でsL+2が打ち消されるようにしていた。しかし、予めsL+2を用いず、処理を簡略化してもよい。
この場合、KeyGenアルゴリズムにおいてk* 0を生成する必要はない。同様に、Sigアルゴリズムにおいて、s* 0を生成する必要はない。
実施の形態1では、安全性の証明の観点から、i=1,...,Lの各整数iについてのρ(i)は、それぞれ異なる識別情報tについての肯定形の組(t,v→)又は否定形の組¬(t,v→)であるとしてもよいと説明した。つまり、ρ〜が単射であるとしてもよいと説明した。しかし、ρ〜が単射でなくてもよい。
この場合、安全性の証明の観点から、実施の形態1で説明したKey−Policy関数型暗号のSetupアルゴリズム、KeyGenアルゴリズム、Encアルゴリズムを以下のように変更してもよい。ここでは、実施の形態1で説明したKey−Policy関数型暗号の各アルゴリズムについての変更部分のみを説明する。
以上の実施の形態では、双対ベクトル空間において暗号処理及び署名処理を実現する方法について説明した。この実施の形態では、双対加群において暗号処理及び署名処理を実現する方法について説明する。
この場合、KeyGenアルゴリズムにおいてs0:=1→・f→Tではなく、s0:=v→・f→Tとすればよい。同様に、Sigアルゴリズムにおいてαiを計算する際、Σi∈IαiMi=v→となるαiを計算すればよい。
例えば、第1階層目(最上位)においては、t=1の基底Btと基底B* tとを用い、第2階層目においては、t=1,2の基底Btと基底B* tとを用い、・・・、第k階層目においては、t−1,...,kの基底Btと基底B* tとを用いる。用いる基底Btと基底B* tとが増える分、属性情報が多く設定されることになる。したがって、より復号鍵の権限が限定されることになる。
図22は、鍵生成装置100、暗号化装置200、復号装置300、署名装置400、検証装置500のハードウェア構成の一例を示す図である。
図22に示すように、鍵生成装置100、暗号化装置200、復号装置300、署名装置400、検証装置500は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、LCD901(Liquid Crystal Display)、キーボード902(K/B)、通信ボード915、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920(固定ディスク装置)の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。磁気ディスク装置920は、所定の固定ディスクインタフェースを介して接続される。
ファイル群924には、上記の説明において「公開パラメータpk」、「マスター鍵sk」、「暗号化データc」、「復号鍵skS」、「復号鍵skΓ」、「アクセスストラクチャS」、「属性の集合Γ」、「メッセージm」、「署名データsig」等の情報やデータや信号値や変数値やパラメータが、「ファイル」や「データベース」の各項目として記憶される。「ファイル」や「データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPU911の動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPU911の動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、上記の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。また、「〜装置」として説明するものは、「〜回路」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。さらに、「〜処理」として説明するものは「〜ステップ」であっても構わない。すなわち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、ROM913等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、上記で述べた「〜部」としてコンピュータ等を機能させるものである。あるいは、上記で述べた「〜部」の手順や方法をコンピュータ等に実行させるものである。
Claims (15)
- 鍵生成装置と暗号化装置と復号装置とを備え、t=0,...,d(dは1以上の整数)の各整数tについての基底Btと基底B* tとを用いて暗号処理を実行する暗号処理システムであり、
前記鍵生成装置は、
i=1,...,L(Lは1以上の整数)の各整数iについての変数ρ(i)であって、識別情報t(t=1,...,dのいずれかの整数)と、属性ベクトルv→ i:=(vi,i’)(i’=1,...,nt,ntは1以上の整数)との肯定形の組(t,v→ i)又は否定形の組¬(t,v→ i)のいずれかである変数ρ(i)と、L行r列(rは1以上の整数)の所定の行列Mとを入力する第1情報入力部と、
r個の要素を有するベクトルf→及びw→と、前記第1情報入力部が入力した行列Mとに基づき生成される列ベクトルs→T:=(s1,...,sL)T:=M・f→Tと、値s0:=w→・f→Tと、所定の値θi(i=1,...,L)とに基づき、要素k* 0と、i=1,...,Lの各整数iについての要素k* iとを生成する復号鍵生成部であって、
基底B* 0の基底ベクトルb* 0,p(pは所定の値)の係数として前記値−s0を設定し、基底ベクトルb* 0,q(qは前記pとは異なる所定の値)の係数として所定の値κを設定して要素k* 0を生成し、
i=1,...,Lの各整数iについて、変数ρ(i)が肯定形の組(t,v→ i)である場合には、その組の識別情報tが示す基底B* tの基底ベクトルb* t,1の係数としてsi+θivi,1を設定するとともに、前記識別情報tとi’=2,...,ntの各整数i’とが示す基底ベクトルb* t,i’の係数としてθivi,i’を設定して要素k* iを生成し、変数ρ(i)が否定形の組¬(t,v→ i)である場合には、その組の識別情報tとi’=1,...,ntの各整数i’とが示す基底ベクトルb* t,i’の係数としてsivi,i’を設定して要素k* iを生成する復号鍵生成部と
を備え、
前記暗号化装置は、
t=1,...,dの少なくとも1つ以上の整数tについて、識別情報tと、属性ベクトルx→ t:=(xt,i’)(i’=1,...,nt,ntは1以上の整数)とを有する属性集合Γを入力する第2情報入力部と、
前記第2情報入力部が入力した属性集合Γに基づき、要素c0と、前記属性集合Γに含まれる各識別情報tについてについての要素ctとを生成する暗号化データ生成部であって、
基底B0の基底ベクトルb0,p(pは前記p)の係数として乱数値δを設定するとともに、基底ベクトルb0,q(qは前記q)の係数として所定の値ζを設定した要素c0を生成し、
前記属性集合Γに含まれる各識別情報tについて、基底Btの基底ベクトルbt,i’(i’=1,...,nt)の係数として前記乱数値δ倍したxt,i’を設定した要素ctとを生成する暗号化データ生成部と
を備え、
前記復号装置は、
前記暗号化データ生成部が生成した要素c0及び要素ctと、前記属性集合Γとを含む暗号化データcを取得するデータ取得部と、
前記復号鍵生成部が生成した要素k* 0及び要素k* iと、前記変数ρ(i)とを含む復号鍵skSを取得する復号鍵取得部と、
前記データ取得部が取得した暗号化データcに含まれる属性集合Γと、前記復号鍵取得部が取得した復号鍵skSに含まれる変数ρ(i)とに基づき、i=1,...,Lの各整数iのうち、変数ρ(i)が肯定形の組(t,v→ i)であり、かつ、その組のv→ iと、その組の識別情報tが示すΓに含まれるx→ tとの内積が0となるiと、変数ρ(i)が否定形の組¬(t,v→ i)であり、かつ、その組のv→ iと、その組の識別情報tが示すΓに含まれるx→ tとの内積が0とならないiとの集合Iを特定するとともに、特定した集合Iに含まれるiについて、αisiを合計した場合にs0となる補完係数αiを計算する補完係数計算部と、
前記暗号化データcに含まれる要素c0,要素ctと、前記復号鍵skSに含まれる要素k* 0,要素k* iとについて、前記補完係数計算部が特定した集合Iと、前記補完係数計算部が計算した補完係数αiとに基づき、数1に示すペアリング演算を行い値K=gT ζκを計算するペアリング演算部と
を備えることを特徴とする暗号処理システム。
- 前記暗号処理システムは、少なくとも基底ベクトルb0,i(i=1,...,5)を有する基底B0と、少なくとも基底ベクトルbt,i(i=1,...,nt,...,nt+ut,...,nt+ut+wt,...,nt+ut+wt+zt)(ut,wt,ztは1以上の整数、)を有する基底Bt(t=1,...,d)と、少なくとも基底ベクトルb* 0,i(i=1,...,5)を有する基底B* 0と、少なくとも基底ベクトルb* t,i(i=1,...,nt,...,nt+ut,...,nt+ut+wt,...,nt+ut+wt+zt)を有する基底B* t(t=1,...,d)とを用いて暗号処理を実行し、
前記鍵生成装置の前記復号鍵生成部は、乱数値η0と所定の値κとに基づき数2に示す要素k* 0を生成するとともに、変数ρ(i)が肯定形の組(t,v→ i)である場合には、乱数値θi,ηi,i’(i=1,...,L,i’=1,...,wt)とに基づき数3に示す要素k* iを生成し、変数ρ(i)が否定形の組¬(t,v→ i)である場合には、乱数値ηi,i’(i=1,...,L,i’=1,...,wt)とに基づき数4に示す要素k* iを生成し、
前記暗号化装置の前記暗号化データ生成部は、乱数値δ,φ0と所定の値ζとに基づき数5に示す要素c0を生成するとともに、前記乱数値δ,φt,i(i=1,...,zt)に基づき数6に示す要素ctとを生成する
ことを特徴とする請求項1に記載の暗号処理システム。
- t=0,...,d(dは1以上の整数)の各整数tについての基底Btと基底B* tとを用いて暗号処理を実行する暗号処理システムにおいて、復号鍵skSを生成する鍵生成装置であり、
i=1,...,L(Lは1以上の整数)の各整数iについての変数ρ(i)であって、識別情報t(t=1,...,dのいずれかの整数)と、属性ベクトルv→ i:=(vi,i’)(i’=1,...,nt,ntは1以上の整数)との肯定形の組(t,v→ i)又は否定形の組¬(t,v→ i)のいずれかである変数ρ(i)と、L行r列(rは1以上の整数)の所定の行列Mとを入力する第1情報入力部と、
r個の要素を有するベクトルf→及びw→と、前記第1情報入力部が入力した行列Mとに基づき生成される列ベクトルs→T:=(s1,...,sL)T:=M・f→Tと、値s0:=w→・f→Tと、所定の値θi(i=1,...,L)とに基づき、要素k* 0と、i=1,...,Lの各整数iについての要素k* iとを生成する復号鍵生成部であって、
基底B* 0の基底ベクトルb* 0,p(pは所定の値)の係数として前記値−s0を設定し、基底ベクトルb* 0,q(qは前記pとは異なる所定の値)の係数として所定の値κを設定して要素k* 0を生成し、
i=1,...,Lの各整数iについて、変数ρ(i)が肯定形の組(t,v→ i)である場合には、その組の識別情報tが示す基底B* tの基底ベクトルb* t,1の係数としてsi+θivi,1を設定するとともに、前記識別情報tとi’=2,...,ntの各整数i’とが示す基底ベクトルb* t,i’の係数としてθivi,i’を設定して要素k* iを生成し、変数ρ(i)が否定形の組¬(t,v→ i)である場合には、その組の識別情報tとi’=1,...,ntの各整数i’とが示す基底ベクトルb* t,i’の係数としてsivi,i’を設定して要素k* iを生成する復号鍵生成部と、
前記第1情報入力部が入力した変数ρ(i)と、前記復号鍵生成部が生成した要素k* 0及び要素k* iとを含むデータを復号鍵skSとして配布する鍵配布部と
を備えることを特徴とする鍵生成装置。 - t=0,...,d(dは1以上の整数)の各整数tについての基底Btと基底B* tとを用いて暗号処理を実行する暗号処理システムにおいて、暗号化データcを生成する暗号化装置であり、
t=1,...,dの少なくとも1つ以上の整数tについて、識別情報tと、属性ベクトルx→ t:=(xt,i’)(i’=1,...,nt,ntは1以上の整数)とを有する属性集合Γを入力する第2情報入力部と、
前記第2情報入力部が入力した属性集合Γに基づき、要素c0と、前記属性集合Γに含まれる各識別情報tについての要素ctとを生成する暗号化データ生成部であって、
基底B0の基底ベクトルb0,p(pは所定の値)の係数として乱数値δを設定するとともに、基底ベクトルb0,q(qは前記pとは異なる所定の値)の係数として所定の値ζを設定した要素c0を生成し、
前記属性集合Γに含まれる各識別情報tについて、基底Btの基底ベクトルbt,i’(i’=1,...,nt)の係数として前記乱数値δ倍したxt,i’を設定した要素ctとを生成する暗号化データ生成部と、
前記第2情報入力部が入力した属性集合Γと、前記暗号化データ生成部が生成した要素c0及び要素ctとを暗号化データcとして出力するデータ出力部と
を備えることを特徴とする暗号化装置。 - t=0,...,d(dは1以上の整数)の各整数tについての基底Btと基底B* tとを用いて暗号処理を実行する暗号処理システムにおいて、暗号化データcを復号鍵skSで復号する復号装置であり、
t=1,...,dの少なくとも1つ以上の整数tについて、識別情報tと、属性ベクトルx→ t:=(xt,i’)(i’=1,...,nt,ntは1以上の整数)とを有する属性集合Γに基づき生成された要素c0と、要素ct(前記属性集合Γに含まれる各整数)とであって、
基底B0の基底ベクトルb0,p(pは所定の値)の係数として乱数値δが設定されるとともに、基底ベクトルb0,q(qは前記pとは異なる所定の値)の係数として所定の値ζが設定された要素c0と、
前記属性集合Γに含まれる各識別情報tについて、基底Btの基底ベクトルbt,i’(i’=1,...,nt)の係数として前記乱数値δ倍したxt,i’が設定された要素ctと
を前記属性集合Γとともに、暗号化データcとして取得するデータ取得部と、
r個(rは1以上の整数)の要素を有するベクトルf→及びw→とL行r列の所定の行列Mとに基づき生成される列ベクトルs→T:=(s1,...,sL)T:=M・f→T及び値s0:=w→・f→Tと、所定の値θi(i=1,...,L)と、i=1,...,L(Lは1以上の整数)の各整数iについての変数ρ(i)であって、識別情報t(t=1,...,dのいずれかの整数)及び属性ベクトルv→ i:=(vi,i’)(i’=1,...,nt,ntは1以上の整数)の肯定形の組(t,v→ i)又は否定形の組¬(t,v→ i)のいずれかである変数ρ(i)とに基づき生成された要素k* 0と、要素k* i(i=1,...,Lの各整数)とであって、
基底B* 0の基底ベクトルb* 0,p(pは前記p)の係数として前記値−s0が設定され、基底ベクトルb* 0,q(qは前記q)の係数として所定の値κが設定された要素k* 0と、
i=1,...,Lの各整数iについて、変数ρ(i)が肯定形の組(t,v→ i)である場合には、その組の識別情報tが示す基底B* tの基底ベクトルb* t,1の係数としてsi+θivi,1が設定されるとともに、前記識別情報tとi’=2,...,ntの各整数i’とが示す基底ベクトルb* t,i’の係数としてθivi,i’が設定された要素k* iであって、変数ρ(i)が否定形の組¬(t,v→ i)である場合には、その組の識別情報tとi’=1,...,ntの各整数i’とが示す基底ベクトルb* t,i’の係数としてsivi,i’が設定された要素k* iと
を前記変数ρ(i)とともに、復号鍵skSとして取得する復号鍵取得部と、
前記データ取得部が取得した暗号化データcに含まれる属性集合Γと、前記復号鍵取得部が取得した復号鍵skSに含まれる変数ρ(i)とに基づき、i=1,...,Lの各整数iのうち、変数ρ(i)が肯定形の組(t,v→ i)であり、かつ、その組のv→ iと、その組の識別情報tが示すΓに含まれるx→ tとの内積が0となるiと、変数ρ(i)が否定形の組¬(t,v→ i)であり、かつ、その組のv→ iと、その組の識別情報tが示すΓに含まれるx→ tとの内積が0とならないiとの集合Iを特定するとともに、特定した集合Iに含まれるiについて、αisiを合計した場合にs0となる補完係数αiを計算する補完係数計算部と、
前記暗号化データcに含まれる要素c0,要素ctと、前記復号鍵skSに含まれる要素k* 0,要素k* iとについて、前記補完係数計算部が特定した集合Iと、前記補完係数計算部が計算した補完係数αiとに基づき、数7に示すペアリング演算を行い値K=gT ζκを計算するペアリング演算部と
を備えることを特徴とする復号装置。
- 鍵生成装置と暗号化装置と復号装置とを備え、t=0,...,d(dは1以上の整数)の各整数tについての基底Btと基底B* tとを用いて暗号処理を実行する暗号処理システムであり、
前記鍵生成装置は、
t=1,...,dの少なくとも1つ以上の整数tについて、識別情報tと、属性ベクトルx→ t:=(xt,i’)(i’=1,...,nt,ntは1以上の整数)とを有する属性集合Γを入力する第1情報入力部と、
前記第1情報入力部が入力した属性集合Γに基づき、要素k* 0と、前記属性集合Γに含まれる各識別情報tについての要素k* tとを生成する復号鍵生成部であって、
基底B* 0の基底ベクトルb* 0,p(pは所定の値)の係数として乱数値δを設定するとともに、基底ベクトルb* 0,q(qは前記pとは異なる所定の値)の係数として所定の値κを設定した要素k* 0を生成し、
前記属性集合Γに含まれる各識別情報tについて、基底B* tの基底ベクトルb* t,i’(i’=1,...,nt)の係数として前記乱数値δ倍したxt,i’を設定した要素k* tとを生成する復号鍵生成部と
を備え、
前記暗号化装置は、
i=1,...,L(Lは1以上の整数)の各整数iについての変数ρ(i)であって、識別情報t(t=1,...,dのいずれかの整数)と、属性ベクトルv→ i:=(vi,i’)(i’=1,...,nt,ntは1以上の整数)との肯定形の組(t,v→ i)又は否定形の組¬(t,v→ i)のいずれかである変数ρ(i)と、L行r列(rは1以上の整数)の所定の行列Mとを入力する第2情報入力部と、
r個の要素を有するベクトルf→及びw→と、前記第2情報入力部が入力した行列Mとに基づき生成される列ベクトルs→T:=(s1,...,sL)T:=M・f→Tと、値s0:=w→・f→Tと、所定の値θi(i=1,...,L)とに基づき、要素c0と、i=1,...,Lの各整数iについての要素ciとを生成する暗号化データ生成部であって、
基底B0の基底ベクトルb0,p(pは前記p)の係数として前記値−s0を設定し、基底ベクトルb0,q(qは前記q)の係数として所定の値ζを設定して要素c0を生成し、
i=1,...,Lの各整数iについて、変数ρ(i)が肯定形の組(t,v→ i)である場合には、その組の識別情報tが示す基底Btの基底ベクトルbt,1の係数としてsi+θivi,1を設定するとともに、前記識別情報tとi’=2,...,ntの各整数i’とが示す基底ベクトルbt,i’の係数としてθivi,i’を設定して要素ciを生成し、変数ρ(i)が否定形の組¬(t,v→ i)である場合には、その組の識別情報tとi’=1,...,ntの各整数i’とが示す基底ベクトルbt,i’の係数としてsivi,i’を設定して要素ciを生成する暗号化データ生成部と
を備え、
前記復号装置は、
前記暗号化データ生成部が生成した要素c0及び要素ctと、前記変数ρ(i)とを含む暗号化データcを取得するデータ取得部と、
前記復号鍵生成部が生成した要素k* 0及び要素k* iと、前記属性集合Γとを含む復号鍵skΓを取得する復号鍵取得部と、
前記データ取得部が取得した暗号化データcに含まれるi=1,...,Lの各整数iについての変数ρ(i)と、前記復号鍵取得部が取得した復号鍵skΓに含まれる属性集合Γとに基づき、i=1,...,Lの各整数iのうち、変数ρ(i)が肯定形の組(t,v→ i)であり、かつ、その組のv→ iと、その組の識別情報tが示すΓに含まれるx→ tとの内積が0となるiと、変数ρ(i)が否定形の組¬(t,v→ i)であり、かつ、その組のv→ iと、その組の識別情報tが示すΓに含まれるx→ tとの内積が0とならないiとの集合Iを特定するとともに、特定した集合Iに含まれるiについて、αisiを合計した場合にs0となる補完係数αiを計算する補完係数計算部と、
前記暗号化データcに含まれる要素c0,要素ctと、前記復号鍵skΓに含まれる要素k* 0,要素k* iとについて、前記補完係数計算部が特定した集合Iと、前記補完係数計算部が計算した補完係数αiとに基づき、数8に示すペアリング演算を行い値K=gT ζκを計算するペアリング演算部と
を備えることを特徴とする暗号処理システム。
- 前記暗号処理システムは、少なくとも基底ベクトルb0,i(i=1,...,5)を有する基底B0と、少なくとも基底ベクトルbt,i(i=1,...,nt,...,nt+u,...,nt+ut+wt,...,nt+ut+wt+zt)(ut,wt,ztは1以上の整数、)を有する基底Bt(t=1,...,d)と、少なくとも基底ベクトルb* 0,i(i=1,...,5)を有する基底B* 0と、少なくとも基底ベクトルb* t,i(i=1,...,nt,...,nt+ut,...,nt+u+wt,...,nt+ut+wt+zt)を有する基底B* t(t=1,...,d)とを用いて暗号処理を実行し、
前記鍵生成装置の前記復号鍵生成部は、乱数値δ,φ0と所定の値κとに基づき数9に示す要素k* 0を生成するとともに、前記乱数値δ,φt,i(i=1,...,wt)に基づき数10に示す要素k* tとを生成し、
前記暗号化装置の前記暗号化データ生成部は、乱数値η0と所定の値ζとに基づき数11に示す要素c0を生成するとともに、変数ρ(i)が肯定形の組(t,v→ i)である場合には、乱数値θi,ηi,i’(i=1,...,L,i’=1,...,zt)とに基づき数12に示す要素ciを生成し、変数ρ(i)が否定形の組¬(t,v→ i)である場合には、乱数値ηi,i’(i=1,...,L,i’=1,...,zt)とに基づき数13に示す要素ciを生成する
ことを特徴とする請求項6に記載の暗号処理システム。
- t=0,...,d(dは1以上の整数)の各整数tについての基底Btと基底B* tとを用いて暗号処理を実行する暗号処理システムにおいて、復号鍵skΓを生成する鍵生成装置であり、
t=1,...,dの少なくとも1つ以上の整数tについて、識別情報tと、属性ベクトルx→ t:=(xt,i’)(i’=1,...,nt,ntは1以上の整数)とを有する属性集合Γを入力する第1情報入力部と、
前記第1情報入力部が入力した属性集合Γに基づき、要素k* 0と、前記属性集合Γに含まれる各識別情報tについての要素k* tとを生成する復号鍵生成部であって、
基底B* 0の基底ベクトルb* 0,p(pは所定の値)の係数として乱数値δを設定するとともに、基底ベクトルb* 0,q(qは前記pとは異なる所定の値)の係数として所定の値κを設定した要素k* 0を生成し、
前記属性集合Γに含まれる各識別情報tについて、基底B* tの基底ベクトルb* t,i’(i’=1,...,nt)の係数として前記乱数値δ倍したxt,i’を設定した要素k* tとを生成する復号鍵生成部と、
前記第1情報入力部が入力した変数ρ(i)と、前記復号鍵生成部が生成した要素k* 0及び要素k* iとを含むデータを復号鍵skΓとして配布する鍵配布部と
を備えることを特徴とする鍵生成装置。 - t=0,...,d(dは1以上の整数)の各整数tについての基底Btと基底B* tとを用いて暗号処理を実行する暗号処理システムにおいて、暗号化データcを生成する暗号化装置であり、
i=1,...,L(Lは1以上の整数)の各整数iについての変数ρ(i)であって、識別情報t(t=1,...,dのいずれかの整数)と、属性ベクトルv→ i:=(vi,i’)(i’=1,...,nt,ntは1以上の整数)との肯定形の組(t,v→ i)又は否定形の組¬(t,v→ i)のいずれかである変数ρ(i)と、L行r列(rは1以上の整数)の所定の行列Mとを入力する第2情報入力部と、
r個の要素を有するベクトルf→及びw→と、前記第2情報入力部が入力した行列Mとに基づき生成される列ベクトルs→T:=(s1,...,sL)T:=M・f→Tと、値s0:=w→・f→Tと、所定の値θi(i=1,...,L)とに基づき、要素c0と、i=1,...,Lの各整数iについての要素ciとを生成する暗号化データ生成部であって、
基底B0の基底ベクトルb0,p(pは前記p)の係数として前記値−s0を設定し、基底ベクトルb0,q(qは前記q)の係数として所定の値ζを設定して要素c0を生成し、
i=1,...,Lの各整数iについて、変数ρ(i)が肯定形の組(t,v→ i)である場合には、その組の識別情報tが示す基底Btの基底ベクトルbt,1の係数としてsi+θivi,1を設定するとともに、前記識別情報tとi’=2,...,ntの各整数i’とが示す基底ベクトルbt,i’の係数としてθivi,i’を設定して要素ciを生成し、変数ρ(i)が否定形の組¬(t,v→ i)である場合には、その組の識別情報tとi’=1,...,ntの各整数i’とが示す基底ベクトルbt,i’の係数としてsivi,i’を設定して要素ciを生成する暗号化データ生成部と、
前記第2情報入力部が入力した属性集合Γと、前記暗号化データ生成部が生成した要素c0及び要素ctとを暗号化データcとして出力するデータ出力部と
を備えることを特徴とする暗号化装置。 - t=0,...,d(dは1以上の整数)の各整数tについての基底Btと基底B* tとを用いて暗号処理を実行する暗号処理システムにおいて、暗号化データcを復号鍵skΓで復号する復号装置であり、
r個(rは1以上の整数)の要素を有するベクトルf→及びw→とL行r列の所定の行列Mとに基づき生成される列ベクトルs→T:=(s1,...,sL)T:=M・f→T及び値s0:=w→・f→Tと、所定の値θi(i=1,...,L)と、i=1,...,L(Lは1以上の整数)の各整数iについての変数ρ(i)であって、識別情報t(t=1,...,dのいずれかの整数)と、属性ベクトルv→ i:=(vi,i’)(i’=1,...,nt,ntは1以上の整数)との肯定形の組(t,v→ i)又は否定形の組¬(t,v→ i)のいずれかである変数ρ(i)とに基づき生成された要素c0と、要素ci(i=1,...,Lの各整数)とであって、
基底B0の基底ベクトルb0,p(pは所定の値)の係数として前記値−s0が設定され、基底ベクトルb0,q(qは前記pとは異なる所定の値)の係数として所定の値ζが設定された要素c0と、
i=1,...,Lの各整数iについて、変数ρ(i)が肯定形の組(t,v→ i)である場合には、その組の識別情報tが示す基底Btの基底ベクトルbt,1の係数としてsi+θivi,1が設定されるとともに、前記識別情報tとi’=2,...,ntの各整数i’とが示す基底ベクトルbt,i’の係数としてθivi,i’が設定された要素ciであって、変数ρ(i)が否定形の組¬(t,v→ i)である場合には、その組の識別情報tとi’=1,...,ntの各整数i’とが示す基底ベクトルbt,i’の係数としてsivi,i’が設定された要素ciと
を前記変数ρ(i)とともに、暗号化データcとして取得するデータ取得部と、
t=1,...,dの少なくとも1つ以上の整数tについて、識別情報tと、属性ベクトルx→ t:=(xt,i’)(i’=1,...,nt,ntは1以上の整数)とを有する属性集合Γに基づき生成された要素k* 0と、要素k* t(tは前記属性集合Γに含まれる各整数)とであって、
基底B* 0の基底ベクトルb* 0,p(pは前記p)の係数として乱数値δが設定されるとともに、基底ベクトルb* 0,q(qは前記q)の係数として所定の値κが設定された要素k* 0と、
前記属性集合Γに含まれる各識別情報tについて、基底B* tの基底ベクトルb* t,i’(i’=1,...,nt)の係数として前記乱数値δ倍したxt,i’が設定された要素k* tと
を前記属性集合Γとともに、復号鍵skΓとして取得する復号鍵取得部と、
前記データ取得部が取得した暗号化データcに含まれる変数ρ(i)と、前記復号鍵取得部が取得した復号鍵skSに含まれる属性集合Γとに基づき、i=1,...,Lの各整数iのうち、変数ρ(i)が肯定形の組(t,v→ i)であり、かつ、その組のv→ iと、その組の識別情報tが示すΓに含まれるx→ tとの内積が0となるiと、変数ρ(i)が否定形の組¬(t,v→ i)であり、かつ、その組のv→ iと、その組の識別情報tが示すΓに含まれるx→ tとの内積が0とならないiとの集合Iを特定するとともに、特定した集合Iに含まれるiについて、αisiを合計した場合にs0となる補完係数αiを計算する補完係数計算部と、
前記暗号化データcに含まれる要素c0,要素ctと、前記復号鍵skSに含まれる要素k* 0,要素k* iとについて、前記補完係数計算部が特定した集合Iと、前記補完係数計算部が計算した補完係数αiとに基づき、数14に示すペアリング演算を行い値K=gT ζκを計算するペアリング演算部と
を備えることを特徴とする復号装置。
- 鍵生成装置と署名装置と検証装置とを備え、t=1,...,d,d+2(dは1以上の整数)の各整数tについての基底Btと基底B* tとを用いて署名処理を実行する署名処理システムであり、
前記鍵生成装置は、
t=1,...,dの少なくとも1つ以上の整数tについて、識別情報tと、属性ベクトルx→ t:=(xt,i’)(i’=1,...,nt,ntは1以上の整数)とを有する属性集合Γを入力する第1情報入力部と、
前記第1情報入力部が入力した属性集合Γに基づき、前記属性集合Γに含まれる各識別情報tについての要素k* tと、要素k* d+2と、要素k* d+3とを生成する署名鍵生成部であって、
前記属性集合Γに含まれる各識別情報tについて、基底B* tの基底ベクトルb* t,i’(i’=1,...,nt)の係数として前記乱数値δ倍したxt,i’を設定した要素k* tを生成し、
基底B* d+2の基底ベクトルb* d+2,p’(p’は所定の値)の係数として前記乱数値δを設定した要素k* d+2を生成し、
基底B* d+2の基底ベクトルb* d+2,q’(q’は前記p’とは異なる所定の値)の係数として前記乱数値δを設定した要素k* d+3を生成する署名鍵生成部と
を備え、
前記署名装置は、
i=1,...,L(Lは1以上の整数)の各整数iについての変数ρ(i)であって、識別情報t(t=1,...,dのいずれかの整数)と、属性ベクトルv→ i:=(vi,i’)(i’=1,...,nt,ntは1以上の整数)との肯定形の組(t,v→ i)又は否定形の組¬(t,v→ i)のいずれかである変数ρ(i)と、L行r列(rは1以上の整数)の所定の行列Mと、メッセージmとを入力する第2情報入力部と、
前記署名鍵生成部が生成した要素k* tと、要素k* d+2と、要素k* d+3と、前記属性集合Γとを署名鍵skΓとして取得する署名鍵取得部と、
i=1,...,Lの各整数iについての変数ρ(i)と、前記署名鍵取得部が取得した署名鍵skΓに含まれる属性集合Γとに基づき、i=1,...,Lの各整数iのうち、変数ρ(i)が肯定形の組(t,v→ i)であり、かつ、その組のv→ iと、その組の識別情報tが示すΓに含まれるx→ tとの内積が0となるiと、変数ρ(i)が否定形の組¬(t,v→ i)であり、かつ、その組のv→ iと、その組の識別情報tが示すΓに含まれるx→ tとの内積が0とならないiとの集合Iを特定するとともに、特定した集合Iに含まれるiについて、前記第2情報入力部が入力した行列Mのi行目の要素であるMiに基づき、αiMiを合計したした場合に所定のベクトルw→となる補完係数αiを計算する補完係数計算部と、
前記変数ρ(i)と、前記属性集合Γと、前記補完係数計算部が特定した集合Iと、前記補完係数計算部が計算した補完係数αiとに基づき、i=1,...,Lの各整数iについてのs* iと、s* Xとを生成する署名生成部であって、
βiを、行列Mの各行番号を表す各整数iについて、βiMiを合計した場合に全ての要素が0となる値とし、
行列Mの各行番号を表す各整数iについて、
i∈Iであって、変数ρ(i)が肯定形の組(t,v→ i)である場合には、値γi:=αiとし、ベクトルy→ i:=(yi,ι)(ι:=1,...,nt)をy→ iとv→ iとの内積が0で、yi,1=1であるベクトルとし、
i∈Iであって、変数ρ(i)が否定形の組¬(t,v→ i)である場合には、値γi:=αi/(v→ i・x→ t)とし、ベクトルy→ i:=(yi,ι)(ι:=1,...,nt)をy→ iとv→ iとの内積が1であるベクトルとし、
i∈Iでなく、変数ρ(i)が肯定形の組(t,v→ i)である場合には、値γi:=0とし、ベクトルy→ i:=(yi,ι)(ι:=1,...,nt)をy→ iとv→ iとの内積が0で、yi,1=1であるベクトルとし、
i∈Iでなく、変数ρ(i)が否定形の組¬(t,v→ i)である場合には、値γi:=0とし、ベクトルy→ i:=(yi,ι)(ι:=1,...,nt)をy→ iとv→ iとの内積が1であるベクトルとして、
数15に示すように行列Mの各行番号を表す各整数iについてのs* iと、s* Xとを生成する署名生成部と
を備え、
前記検証装置は、
前記署名生成部が生成したs* i,s* Xと、メッセージmと、変数ρ(i)と、行列Mとを含む署名データsigを取得するデータ取得部と、
r個の要素を有するベクトルf→と、前記ベクトルw→と、前記データ取得部が取得した行列Mとに基づき生成される列ベクトルs→T:=(s1,...,sL)T:=M・f→Tと、値s0:=w→・f→Tと、所定の値θi(iは行列Mの各行番号とX)とに基づき、行列Mの各行番号を表す各整数iについての要素ciと、要素cXとを生成する暗号化データ生成部であって、
前記行列Mの各行番号を表す各整数iについて、変数ρ(i)が肯定形の組(t,v→ i)である場合には、その組の識別情報tが示す基底Btの基底ベクトルbt,1の係数としてsi+θivi,1を設定するとともに、前記識別情報tとi’=2,...,ntの各整数i’とが示す基底ベクトルbt,i’の係数としてθivi,i’を設定して要素ciを生成し、変数ρ(i)が否定形の組¬(t,v→ i)である場合には、その組の識別情報tとi’=1,...,ntの各整数i’とが示す基底ベクトルbt,i’の係数としてsivi,i’を設定して要素ciを生成し、
基底Bd+2の基底ベクトルbd+2,p’(p’は前記p’)にs0−θXmを設定するとともに、基底ベクトルbd+2,q’(q’は前記q’)にθXを設定して要素cXを生成する暗号化データ生成部と、
行列Mの各行番号とXとを示す各整数iについて、数16に示すペアリング演算を行い、前記署名データsigの正当性を検証するペアリング演算部と
を備えることを特徴とする署名処理システム。
- 前記署名処理システムは、少なくとも基底ベクトルb0,i(i=1,...,4)を有する基底B0と、少なくとも基底ベクトルbt,i(i=1,...,nt,...,nt+ut,...,nt+ut+wt,...,nt+ut+wt+zt)(ut,wt,ztは1以上の整数、)を有する基底Bt(t=1,...,d)と、少なくとも基底ベクトルbd+1,i(i=1,...,4)を有する基底Bd+1と、少なくとも基底ベクトルbd+2,i(i=1,...,8)を有する基底Bd+2と、少なくとも基底ベクトルb* 0,i(i=1,...,4)を有する基底B* 0と、少なくとも基底ベクトルb* t,i(i=1,...,nt,...,nt+ut,...,nt+ut+wt,...,nt+ut+wt+zt)を有する基底B* t(t=1,...,d)と、少なくとも基底ベクトルb* d+1,i(i=1,...,4)を有する基底B* d+1と、少なくとも基底ベクトルb* d+2,i(i=1,...,8)を有する基底B* d+2とを用いて署名処理を実行し、
前記鍵生成装置の前記署名鍵生成部は、
前記属性集合Γに含まれる各識別情報tと、ι=1,...,wtの各整数ιとについて、要素k* 0と、要素k* tと、要素k* d+2と、要素k* d+3とを、乱数値δj,φ0,φt,ι,φd+2,1,φd+2,2,φd+3,1,φd+3,2に基づき、数17に示すように生成し、
前記署名装置は、さらに、
前記行列MのL+1行目に所定の行ベクトルML+1を追加する行列生成部
を備え
前記署名装置の前記署名生成部は、
要素k* 0と、要素k* tと、要素k* d+2と、要素k* d+3と、乱数値ξとに基づき、数18に示すように、i=1,...,L+1の各整数iについてのs* iと、s* Xとしてs* 0及びs* L+2とを生成し、
前記検証装置の前記暗号化データ生成部は、
i=1,...,L+1の各整数iと、i‘=1,...,ztの各整数i’とについて、乱数値θi,ηi,i’,ηL+2,1,ηL+2,2に基づき、数19に示すように、要素ciと、要素cXとして要素c0及び要素cL+2とを生成し、
前記ペアリング演算部は、i=1,...,L+2の各整数iについて、前記ペアリング演算を行う
ことを特徴とする請求項11に記載の署名処理システム。
- t=1,...,d,d+2(dは1以上の整数)の各整数tについての基底Btと基底B* tとを用いて署名処理を実行する署名処理システムにおいて、署名鍵skΓを生成する鍵生成装置であり、
t=1,...,dの少なくとも1つ以上の整数tについて、識別情報tと、属性ベクトルx→ t:=(xt,i’)(i’=1,...,nt,ntは1以上の整数)とを有する属性集合Γを入力する第1情報入力部と、
前記第1情報入力部が入力した属性集合Γに基づき、前記属性集合Γに含まれる各識別情報tについての要素k* tと、要素k* d+2と、要素k* d+3とを生成する署名鍵生成部であって、
前記属性集合Γに含まれる各識別情報tについて、基底B* tの基底ベクトルb* t,i’(i’=1,...,nt)の係数として前記乱数値δ倍したxt,i’を設定した要素k* tを生成し、
基底B* d+2の基底ベクトルb* d+2,p’(p’は所定の値)の係数として前記乱数値δを設定した要素k* d+2を生成し、
基底B* d+2の基底ベクトルb* d+2,q’(q’は前記p’とは異なる所定の値)の係数として前記乱数値δを設定した要素k* d+3を生成する署名鍵生成部と、
前記第1情報入力部が入力した属性集合Γと、前記署名鍵生成部が生成した要素k* tと、要素k* d+2と、要素k* d+3とを含むデータを署名鍵skΓとして配布する鍵配布部と
を備えることを特徴とする鍵生成装置。 - t=1,...,d,d+2(dは1以上の整数)の各整数tについての基底Btと基底B* tとを用いて署名処理を実行する署名処理システムにおいて、署名データsigを生成する署名装置であり、
i=1,...,L(Lは1以上の整数)の各整数iについての変数ρ(i)であって、識別情報t(t=1,...,dのいずれかの整数)と、属性ベクトルv→ i:=(vi,i’)(i’=1,...,nt,ntは1以上の整数)との肯定形の組(t,v→ i)又は否定形の組¬(t,v→ i)のいずれかである変数ρ(i)と、L行r列(rは1以上の整数)の所定の行列Mと、メッセージmとを入力する第2情報入力部と、
t=1,...,dの少なくとも1つ以上の整数tについて、識別情報tと、属性ベクトルx→ t:=(xt,i’)(i’=1,...,nt,ntは1以上の整数)とを有する属性集合Γに基づき生成された要素k* t(tは前記属性集合Γに含まれる各識別情報)と、要素k* d+2と、要素k* d+3とであって、
前記属性集合Γに含まれる各識別情報tについて、基底B* tの基底ベクトルb* t,i’(i’=1,...,nt)の係数として前記乱数値δ倍したxt,i’が設定された要素k* tと、
基底B* d+2の基底ベクトルb* d+2,p’(p’は所定の値)の係数として前記乱数値δが設定された要素k* d+2と、
基底B* d+2の基底ベクトルb* d+2,q’(q’は前記p’とは異なる所定の値)の係数として前記乱数値δが設定された要素k* d+3と
を前記属性集合Γとともに、署名鍵skΓとして取得する署名鍵取得部と、
i=1,...,Lの各整数iについての変数ρ(i)と、前記署名鍵取得部が取得した署名鍵skΓに含まれる属性集合Γとに基づき、i=1,...,Lの各整数iのうち、変数ρ(i)が肯定形の組(t,v→ i)であり、かつ、その組のv→ iと、その組の識別情報tが示すΓに含まれるx→ tとの内積が0となるiと、変数ρ(i)が否定形の組¬(t,v→ i)であり、かつ、その組のv→ iと、その組の識別情報tが示すΓに含まれるx→ tとの内積が0とならないiとの集合Iを特定するとともに、特定した集合Iに含まれるiについて、前記第2情報入力部が入力した行列Mのi行目の要素であるMiに基づき、αiMiを合計した場合に所定のベクトルw→となる補完係数αiを計算する補完係数計算部と、
前記変数ρ(i)と、前記属性集合Γと、前記補完係数計算部が特定した集合Iと、前記補完係数計算部が計算した補完係数αiとに基づき、行列Mの各行番号を表す各整数iについてのs* iと、s* Xとを生成する署名生成部であって、
βiを、行列Mの各行番号を表す各整数iについて、βiMiを合計した場合に全ての要素が0となる値とし、
行列Mの各行番号を表す各整数iについて、
i∈Iであって、変数ρ(i)が肯定形の組(t,v→ i)である場合には、値γi:=αiとし、ベクトルy→ i:=(yi,ι)(ι:=1,...,nt)をy→ iとv→ iとの内積が0で、yi,1=1であるベクトルとし、
i∈Iであって、変数ρ(i)が否定形の組¬(t,v→ i)である場合には、値γi:=αi/(v→ i・x→ t)とし、ベクトルy→ i:=(yi,ι)(ι:=1,...,nt)をy→ iとv→ iとの内積が1であるベクトルとし、
i∈Iでなく、変数ρ(i)が肯定形の組(t,v→ i)である場合には、値γi:=0とし、ベクトルy→ i:=(yi,ι)(ι:=1,...,nt)をy→ iとv→ iとの内積が0で、yi,1=1であるベクトルとし、
i∈Iでなく、変数ρ(i)が否定形の組¬(t,v→ i)である場合には、値γi:=0とし、ベクトルy→ i:=(yi,ι)(ι:=1,...,nt)をy→ iとv→ iとの内積が1であるベクトルとして、
数20に示すように行列Mの各行番号を表すの各整数iについてのs* iと、s* Xとを生成する署名生成部と
前記第2情報入力部が入力した変数ρ(i)と行列Mとメッセージmと、前記署名生成部が生成したs* 0とs* iとs* Xとを含むデータを署名データsigとして出力するデータ出力部と
を備えることを特徴とする署名装置。
- t=1,...,d,d+2(dは1以上の整数)の各整数tについての基底Btと基底B* tとを用いて署名処理を実行する署名処理システムにおいて、署名データsigを検証する検証装置であり、
t=1,...,dの少なくとも1つ以上の整数tについて、識別情報tと、属性ベクトルx→ t:=(xt,i’)(i’=1,...,nt,ntは1以上の整数)とを有する属性集合Γに基づき生成された要素k* t(tは前記属性集合Γに含まれる各識別情報)と、要素k* d+2と、要素k* d+3とであって、
前記属性集合Γに含まれる各識別情報tについて、基底B* tの基底ベクトルb* t,i’(i’=1,...,nt)の係数として前記乱数値δ倍したxt,i’が設定された要素k* tと、
基底B* d+2の基底ベクトルb* d+2,p’(p’は所定の値)の係数として前記乱数値δが設定された要素k* d+2と、
基底B* d+2の基底ベクトルb* d+2,q’(q’は前記p’とは異なる所定の値)の係数として前記乱数値δが設定された要素k* d+3と、
i=1,...,L(Lは1以上の整数)の各整数iについての変数ρ(i)であって、識別情報t(t=1,...,dのいずれかの整数)と、属性ベクトルv→ i:=(vi,i’)(i’=1,...,nt,ntは1以上の整数)との肯定形の組(t,v→ i)又は否定形の組¬(t,v→ i)のいずれかである変数ρ(i)と、前記属性集合Γとに基づき計算された集合Iと補完係数αiとであって、
i=1,...,Lの各整数iのうち、変数ρ(i)が肯定形の組(t,v→ i)であり、かつ、その組のv→ iと、その組の識別情報tが示すΓに含まれるx→ tとの内積が0となるiと、変数ρ(i)が否定形の組¬(t,v→ i)であり、かつ、その組のv→ iと、その組の識別情報tが示すΓに含まれるx→ tとの内積が0とならないiとの集合Iと、
集合Iに含まれるiについて、前記第2情報入力部が入力した行列Mのi行目の要素であるMiに基づき、αiMiを合計した場合に所定のベクトルw→となる補完係数αiと、
前記変数ρ(i)と、前記属性集合Γと、前記集合Iと、前記補完係数αiとに基づき生成されたs* i(i=1,...,Lの各整数)と、s* Xとであって、
βiを、行列Mの各行番号を表す各整数iについて、βiMiを合計した場合に全ての要素が0となる値とし、
行列Mの各行番号を表す各整数iについて、
i∈Iであって、変数ρ(i)が肯定形の組(t,v→ i)である場合には、値γi:=αiとし、ベクトルy→ i:=(yi,ι)(ι:=1,...,nt)をy→ iとv→ iとの内積が0で、yi,1=1であるベクトルとし、
i∈Iであって、変数ρ(i)が否定形の組¬(t,v→ i)である場合には、値γi:=αi/(v→ i・x→ t)とし、ベクトルy→ i:=(yi,ι)(ι:=1,...,nt)をy→ iとv→ iとの内積が1であるベクトルとし、
i∈Iでなく、変数ρ(i)が肯定形の組(t,v→ i)である場合には、値γi:=0とし、ベクトルy→ i:=(yi,ι)(ι:=1,...,nt)をy→ iとv→ iとの内積が0で、yi,1=1であるベクトルとし、
i∈Iでなく、変数ρ(i)が否定形の組¬(t,v→ i)である場合には、値γi:=0とし、ベクトルy→ i:=(yi,ι)(ι:=1,...,nt)をy→ iとv→ iとの内積が1であるベクトルとして、
数21に示すように生成されたs* iと、s* Xと
のうち、s* iと、s* Xとメッセージmと、変数ρ(i)と、行列Mとを含む署名データsigを取得するデータ取得部と、
r個(rは1以上の整数)の要素を有するベクトルf→と、前記ベクトルw→と、前記第2情報入力部が入力した行列Mとに基づき生成される列ベクトルs→T:=(s1,...,sL)T:=M・f→Tと、値s0:=w→・f→Tと、所定の値θi(iは行列Mの各行番号とX)とに基づき、i=1,...,Lの各整数iについての要素ciと、要素cXとを生成する暗号化データ生成部であって、
行列Mの各行番号を表す各整数iについて、変数ρ(i)が肯定形の組(t,v→ i)である場合には、その組の識別情報tが示す基底Btの基底ベクトルbt,1の係数としてsi+θivi,1を設定するとともに、前記識別情報tとi’=2,...,ntの各整数i’とが示す基底ベクトルbt,i’の係数としてθivi,i’を設定して要素ciを生成し、変数ρ(i)が否定形の組¬(t,v→ i)である場合には、その組の識別情報tとi’=1,...,ntの各整数i’とが示す基底ベクトルbt,i’の係数としてsivi,i’を設定して要素ciを生成し、
基底Bd+2の基底ベクトルbd+2,p’(p’は前記p’)にs0−θXmを設定するとともに、基底ベクトルbd+2,q’(q’は前記q’)にθXを設定して要素cXを生成する暗号化データ生成部と、
行列Mの各行番号とXとを示す各整数iについて、数22に示すペアリング演算を行い、前記署名データsigの正当性を検証するペアリング演算部と
を備えることを特徴とする検証装置。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010101657A JP5424974B2 (ja) | 2010-04-27 | 2010-04-27 | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置 |
ES11774680.0T ES2693146T3 (es) | 2010-04-27 | 2011-02-15 | Sistema de procesamiento criptográfico, dispositivo de generación de claves, dispositivo de cifrado, dispositivo de descifrado, sistema de procesamiento de firmas, dispositivo de firma y dispositivo de verificación |
EP11774680.0A EP2565862B1 (en) | 2010-04-27 | 2011-02-15 | Encryption processing system, key generation device, encryption device, decryption device, signature processing system, signature device and verification device |
CN201180020997.1A CN102859571B (zh) | 2010-04-27 | 2011-02-15 | 密码处理系统、密钥生成装置、加密装置、解密装置、签名处理系统、签名装置以及验证装置 |
KR1020127025089A KR101386294B1 (ko) | 2010-04-27 | 2011-02-15 | 암호 처리 시스템, 키 생성 장치, 암호화 장치, 복호 장치, 서명 처리 시스템, 서명 장치 및 검증 장치 |
US13/640,885 US8913742B2 (en) | 2010-04-27 | 2011-02-15 | Cryptographic processing system, key generation device, encryption device, decryption device, signature processing system, signature device, and verification device |
PCT/JP2011/053174 WO2011135895A1 (ja) | 2010-04-27 | 2011-02-15 | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010101657A JP5424974B2 (ja) | 2010-04-27 | 2010-04-27 | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011232475A true JP2011232475A (ja) | 2011-11-17 |
JP5424974B2 JP5424974B2 (ja) | 2014-02-26 |
Family
ID=44861216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010101657A Active JP5424974B2 (ja) | 2010-04-27 | 2010-04-27 | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8913742B2 (ja) |
EP (1) | EP2565862B1 (ja) |
JP (1) | JP5424974B2 (ja) |
KR (1) | KR101386294B1 (ja) |
CN (1) | CN102859571B (ja) |
ES (1) | ES2693146T3 (ja) |
WO (1) | WO2011135895A1 (ja) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012039244A (ja) * | 2010-08-04 | 2012-02-23 | Nippon Hoso Kyokai <Nhk> | コンテンツサーバ、コンテンツ受信装置、属性鍵発行サーバ、ユーザ鍵発行サーバ、アクセス制御システム、コンテンツ配信プログラムおよびコンテンツ受信プログラム |
WO2013073488A1 (ja) * | 2011-11-18 | 2013-05-23 | 三菱電機株式会社 | 暗号処理システム、暗号処理方法、暗号処理プログラム及び鍵生成装置 |
JP2013110628A (ja) * | 2011-11-22 | 2013-06-06 | Nippon Telegr & Teleph Corp <Ntt> | 鍵交換システム、鍵交換装置、鍵生成装置、鍵交換方法、鍵交換プログラム |
JP2013150026A (ja) * | 2012-01-17 | 2013-08-01 | Mitsubishi Electric Corp | データ処理システム及び秘匿化装置及び秘密鍵生成装置及び秘匿化方法及び秘密鍵生成方法及びプログラム |
WO2014021102A1 (ja) * | 2012-07-31 | 2014-02-06 | 三菱電機株式会社 | 暗号システム、暗号方法、暗号プログラム及び復号装置 |
WO2014061324A1 (ja) * | 2012-10-19 | 2014-04-24 | 三菱電機株式会社 | 暗号システム |
WO2015083210A1 (ja) * | 2013-12-02 | 2015-06-11 | 三菱電機株式会社 | データ処理システム及び暗号装置及び復号装置及びプログラム |
US9237137B2 (en) | 2013-01-12 | 2016-01-12 | Mitsubishi Electric Corporation | Key generation device, key generation program, secret search system, and key distribution method |
US9640090B2 (en) | 2014-02-24 | 2017-05-02 | Mitsubishi Electric Corporation | Cryptographic system and computer readable medium |
WO2019016916A1 (ja) * | 2017-07-20 | 2019-01-24 | 三菱電機株式会社 | 暗号化装置、復号装置、暗号化方法、暗号化プログラム、復号方法及び復号プログラム |
WO2019053778A1 (ja) | 2017-09-12 | 2019-03-21 | 三菱電機株式会社 | 登録端末、検索端末、検索サーバ、検索システム、登録プログラム及び検索プログラム |
CN110268676A (zh) * | 2017-02-09 | 2019-09-20 | 华为国际有限公司 | 基于身份的自认证签名方案的私有密钥计算系统和方法 |
US10516534B2 (en) | 2015-04-07 | 2019-12-24 | Mitsubishi Electric Corporation | Cryptographic system and key generation apparatus |
JP2020056960A (ja) * | 2018-10-04 | 2020-04-09 | 三菱電機株式会社 | 復号装置、暗号システム、復号方法及び復号プログラム |
JPWO2021001990A1 (ja) * | 2019-07-04 | 2021-10-14 | 三菱電機株式会社 | データ処理装置、復号装置、データ処理方法、復号方法、データ処理プログラム及び復号プログラム |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5693206B2 (ja) * | 2010-12-22 | 2015-04-01 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム |
JP5618881B2 (ja) * | 2011-03-25 | 2014-11-05 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム |
JP5680007B2 (ja) | 2012-03-06 | 2015-03-04 | 三菱電機株式会社 | 暗号システム、暗号方法及び暗号プログラム |
KR101493212B1 (ko) * | 2012-10-31 | 2015-02-23 | 삼성에스디에스 주식회사 | 아이디 기반 암호화, 복호화 방법 및 이를 수행하기 위한 장치 |
JP6022073B2 (ja) * | 2013-10-09 | 2016-11-09 | 三菱電機株式会社 | 暗号システム、再暗号化鍵生成装置及び再暗号化装置 |
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 |
US20170148357A1 (en) * | 2014-07-02 | 2017-05-25 | Mitsubishi Electric Corporation | Matrix generation apparatus, matrix generation method, and non-transitory computer-readable recording medium storing matrix generation program |
CN107005406B (zh) | 2014-12-05 | 2020-07-17 | 三菱电机株式会社 | 函数型加密系统、主密钥更新装置和存储介质 |
JP6081036B2 (ja) * | 2014-12-05 | 2017-02-15 | 三菱電機株式会社 | 復号条件追加装置及び暗号システム |
JP6272546B2 (ja) * | 2015-02-20 | 2018-01-31 | 三菱電機株式会社 | データ保管装置及びデータ処理方法及びデータ処理プログラム |
WO2016132547A1 (ja) | 2015-02-20 | 2016-08-25 | 三菱電機株式会社 | データ保管装置及びデータ更新システム及びデータ処理方法及びデータ処理プログラム |
US9209974B1 (en) * | 2015-05-03 | 2015-12-08 | Zeutro, Llc | Functional encryption key management |
JP5957126B1 (ja) * | 2015-06-24 | 2016-07-27 | 日本電信電話株式会社 | 秘密計算装置、秘密計算方法、およびプログラム |
CN109074463A (zh) | 2016-04-27 | 2018-12-21 | 三菱电机株式会社 | 属性协作装置、转送系统、属性协作方法以及属性协作程序 |
US10728227B2 (en) * | 2016-08-02 | 2020-07-28 | X-Logos, LLC | Methods and systems for enhanced data-centric encryption systems using geometric algebra |
WO2018136801A1 (en) | 2017-01-20 | 2018-07-26 | Enveil, Inc. | End-to-end secure operations using a query matrix |
WO2018136811A1 (en) | 2017-01-20 | 2018-07-26 | Enveil, Inc. | Secure web browsing via homomorphic encryption |
US11196541B2 (en) | 2017-01-20 | 2021-12-07 | Enveil, Inc. | Secure machine learning analytics using homomorphic encryption |
US11507683B2 (en) | 2017-01-20 | 2022-11-22 | Enveil, Inc. | Query processing with adaptive risk decisioning |
US10880275B2 (en) | 2017-01-20 | 2020-12-29 | Enveil, Inc. | Secure analytics using homomorphic and injective format-preserving encryption |
US11777729B2 (en) | 2017-01-20 | 2023-10-03 | Enveil, Inc. | Secure analytics using term generation and homomorphic encryption |
JP6456451B1 (ja) | 2017-09-25 | 2019-01-23 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | 通信装置、通信方法、及びプログラム |
US10193690B1 (en) * | 2017-09-29 | 2019-01-29 | U.S. Bancorp, National Association | Systems and methods to secure data using computer system attributes |
JP7024666B2 (ja) * | 2018-08-28 | 2022-02-24 | 日本電信電話株式会社 | Idベースハッシュ証明系構成装置、idベース暗号装置及びプログラム |
US10902133B2 (en) | 2018-10-25 | 2021-01-26 | Enveil, Inc. | Computational operations in enclave computing environments |
US10817262B2 (en) | 2018-11-08 | 2020-10-27 | Enveil, Inc. | Reduced and pipelined hardware architecture for Montgomery Modular Multiplication |
US11469903B2 (en) * | 2019-02-28 | 2022-10-11 | Microsoft Technology Licensing, Llc | Autonomous signing management operations for a key distribution service |
WO2021112877A1 (en) * | 2019-12-06 | 2021-06-10 | Hewlett-Packard Development Company, L.P. | Key distribution |
US11601258B2 (en) | 2020-10-08 | 2023-03-07 | Enveil, Inc. | Selector derived encryption systems and methods |
CN112733111B (zh) * | 2020-12-31 | 2023-05-23 | 暨南大学 | 一种基于片段分割的阈值谓词加密生物特征认证方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7113594B2 (en) * | 2001-08-13 | 2006-09-26 | The Board Of Trustees Of The Leland Stanford University | Systems and methods for identity-based encryption and related cryptographic techniques |
JP2006107274A (ja) * | 2004-10-07 | 2006-04-20 | Matsushita Electric Ind Co Ltd | ハッシュ関数演算システム、暗号化システムおよび不正解析・改竄防止システム |
JP2007235659A (ja) | 2006-03-02 | 2007-09-13 | Mebius Corp | 鍵管理方法、暗号処理方法、電子署名方法、アクセス管理方法 |
EP1995710A1 (en) * | 2006-03-14 | 2008-11-26 | NEC Corporation | Information processing system, information processing method, and information processing program |
JP4882598B2 (ja) * | 2006-07-28 | 2012-02-22 | ソニー株式会社 | 暗号処理装置、暗号処理アルゴリズム構築方法、および暗号処理方法、並びにコンピュータ・プログラム |
JP4859933B2 (ja) * | 2007-01-19 | 2012-01-25 | 三菱電機株式会社 | 暗号文生成装置及び暗号通信システム及び群パラメータ生成装置 |
JP5349261B2 (ja) | 2009-04-23 | 2013-11-20 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム |
CN102396012B (zh) | 2009-04-24 | 2014-05-07 | 日本电信电话株式会社 | 秘密分散系统、分散装置、分散管理装置、取得装置、其处理方法、秘密分散方法 |
WO2010123122A1 (ja) | 2009-04-24 | 2010-10-28 | 日本電信電話株式会社 | 暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体 |
-
2010
- 2010-04-27 JP JP2010101657A patent/JP5424974B2/ja active Active
-
2011
- 2011-02-15 US US13/640,885 patent/US8913742B2/en active Active
- 2011-02-15 KR KR1020127025089A patent/KR101386294B1/ko active IP Right Grant
- 2011-02-15 CN CN201180020997.1A patent/CN102859571B/zh active Active
- 2011-02-15 ES ES11774680.0T patent/ES2693146T3/es active Active
- 2011-02-15 WO PCT/JP2011/053174 patent/WO2011135895A1/ja active Application Filing
- 2011-02-15 EP EP11774680.0A patent/EP2565862B1/en active Active
Non-Patent Citations (3)
Title |
---|
JPN6013053208; Allison Lewko, Tatsuaki Okamoto, Amit Sahai, Katsuyuki Takashima, Brent Waters: '"Fully Secure Functional Encryption: Attribute-Based Encryption and (Hierarchical) Inner Product En' Cryptology ePrint Archive: Report 2010/110 Version: 20100329:171109, 20100329, p.1-5࿱ * |
JPN6013053209; Brent Waters: '"Dual System Encryption: Realizing Fully Secure IBE and HIBE under Simple Assumptions"' Cryptology ePrint Archive: Report 2009/385 Version: 20090810:215827, 20090810, p.1-37, [online] * |
JPN7013003934; Tatsuaki Okamoto and Katsuyuki Takashima: '"Fully Secure Functional Encryption with General Relations from the Decisional Linear Assumption"' Cryptology ePrint Archive: Report 2010/563 Version: 20101105:113344, 20101105, p.1-49, [online] * |
Cited By (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012039244A (ja) * | 2010-08-04 | 2012-02-23 | Nippon Hoso Kyokai <Nhk> | コンテンツサーバ、コンテンツ受信装置、属性鍵発行サーバ、ユーザ鍵発行サーバ、アクセス制御システム、コンテンツ配信プログラムおよびコンテンツ受信プログラム |
KR20140093281A (ko) * | 2011-11-18 | 2014-07-25 | 미쓰비시덴키 가부시키가이샤 | 암호 처리 시스템, 암호 처리 방법, 암호 처리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 및 키 생성 장치 |
WO2013073488A1 (ja) * | 2011-11-18 | 2013-05-23 | 三菱電機株式会社 | 暗号処理システム、暗号処理方法、暗号処理プログラム及び鍵生成装置 |
JP2013109048A (ja) * | 2011-11-18 | 2013-06-06 | Mitsubishi Electric Corp | 暗号処理システム、暗号処理方法、暗号処理プログラム及び鍵生成装置 |
KR101581605B1 (ko) | 2011-11-18 | 2015-12-30 | 미쓰비시덴키 가부시키가이샤 | 암호 처리 시스템, 암호 처리 방법, 암호 처리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 및 키 생성 장치 |
US9203622B2 (en) | 2011-11-18 | 2015-12-01 | Mitsubishi Electric Corporation | Cryptographic processing system, cryptographic processing method, cryptograhpic processing program, and key generation device |
JP2013110628A (ja) * | 2011-11-22 | 2013-06-06 | Nippon Telegr & Teleph Corp <Ntt> | 鍵交換システム、鍵交換装置、鍵生成装置、鍵交換方法、鍵交換プログラム |
JP2013150026A (ja) * | 2012-01-17 | 2013-08-01 | Mitsubishi Electric Corp | データ処理システム及び秘匿化装置及び秘密鍵生成装置及び秘匿化方法及び秘密鍵生成方法及びプログラム |
CN104620305B (zh) * | 2012-07-31 | 2016-09-28 | 三菱电机株式会社 | 密码系统、密码方法、密码程序以及解密装置 |
CN104620305A (zh) * | 2012-07-31 | 2015-05-13 | 三菱电机株式会社 | 密码系统、密码方法、密码程序以及解密装置 |
KR101606317B1 (ko) | 2012-07-31 | 2016-03-24 | 미쓰비시덴키 가부시키가이샤 | 암호 시스템, 암호 방법, 암호 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 및 복호 장치 |
US9413531B2 (en) | 2012-07-31 | 2016-08-09 | Mitsubishi Electric Corporation | Cryptographic system, cryptographic method, cryptographic program, and decryption device |
WO2014021102A1 (ja) * | 2012-07-31 | 2014-02-06 | 三菱電機株式会社 | 暗号システム、暗号方法、暗号プログラム及び復号装置 |
US9722783B2 (en) | 2012-10-19 | 2017-08-01 | Mitsubishi Electric Corporation | Cryptographic system |
CN104718566A (zh) * | 2012-10-19 | 2015-06-17 | 三菱电机株式会社 | 密码系统 |
KR20150070383A (ko) * | 2012-10-19 | 2015-06-24 | 미쓰비시덴키 가부시키가이샤 | 암호 시스템 |
JP2014085358A (ja) * | 2012-10-19 | 2014-05-12 | Mitsubishi Electric Corp | 暗号システム |
WO2014061324A1 (ja) * | 2012-10-19 | 2014-04-24 | 三菱電機株式会社 | 暗号システム |
KR101676977B1 (ko) | 2012-10-19 | 2016-11-16 | 미쓰비시덴키 가부시키가이샤 | 암호 시스템 |
US9237137B2 (en) | 2013-01-12 | 2016-01-12 | Mitsubishi Electric Corporation | Key generation device, key generation program, secret search system, and key distribution method |
JPWO2015083210A1 (ja) * | 2013-12-02 | 2017-03-16 | 三菱電機株式会社 | データ処理システム及び暗号装置及び復号装置及びプログラム |
WO2015083210A1 (ja) * | 2013-12-02 | 2015-06-11 | 三菱電機株式会社 | データ処理システム及び暗号装置及び復号装置及びプログラム |
JP6026017B2 (ja) * | 2013-12-02 | 2016-11-16 | 三菱電機株式会社 | データ処理システム及び暗号装置及び復号装置及びプログラム |
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 |
US11563565B2 (en) | 2017-02-09 | 2023-01-24 | Huawei International Pte. Ltd. | System and method for computing private keys for self certified identity based signature schemes |
CN110268676B (zh) * | 2017-02-09 | 2022-12-27 | 华为国际有限公司 | 基于身份的自认证签名方案的私有密钥计算系统和方法 |
CN110268676A (zh) * | 2017-02-09 | 2019-09-20 | 华为国际有限公司 | 基于身份的自认证签名方案的私有密钥计算系统和方法 |
JPWO2019016916A1 (ja) * | 2017-07-20 | 2019-12-19 | 三菱電機株式会社 | 暗号化装置、復号装置、暗号化方法、暗号化プログラム、復号方法及び復号プログラム |
WO2019016916A1 (ja) * | 2017-07-20 | 2019-01-24 | 三菱電機株式会社 | 暗号化装置、復号装置、暗号化方法、暗号化プログラム、復号方法及び復号プログラム |
US11170123B2 (en) | 2017-09-12 | 2021-11-09 | Mitsubishi Electric Corporation | Registration terminal, key server, search system, and computer readable medium |
WO2019053778A1 (ja) | 2017-09-12 | 2019-03-21 | 三菱電機株式会社 | 登録端末、検索端末、検索サーバ、検索システム、登録プログラム及び検索プログラム |
JP2020056960A (ja) * | 2018-10-04 | 2020-04-09 | 三菱電機株式会社 | 復号装置、暗号システム、復号方法及び復号プログラム |
WO2020070973A1 (ja) * | 2018-10-04 | 2020-04-09 | 三菱電機株式会社 | 復号装置、暗号システム、復号方法及び復号プログラム |
JP7117964B2 (ja) | 2018-10-04 | 2022-08-15 | 三菱電機株式会社 | 復号装置、暗号システム、復号方法及び復号プログラム |
JPWO2021001990A1 (ja) * | 2019-07-04 | 2021-10-14 | 三菱電機株式会社 | データ処理装置、復号装置、データ処理方法、復号方法、データ処理プログラム及び復号プログラム |
Also Published As
Publication number | Publication date |
---|---|
US20130028415A1 (en) | 2013-01-31 |
EP2565862A4 (en) | 2017-07-19 |
JP5424974B2 (ja) | 2014-02-26 |
CN102859571B (zh) | 2015-06-10 |
US8913742B2 (en) | 2014-12-16 |
CN102859571A (zh) | 2013-01-02 |
KR20120139753A (ko) | 2012-12-27 |
EP2565862B1 (en) | 2018-08-01 |
EP2565862A1 (en) | 2013-03-06 |
KR101386294B1 (ko) | 2014-04-17 |
WO2011135895A1 (ja) | 2011-11-03 |
ES2693146T3 (es) | 2018-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5424974B2 (ja) | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置 | |
JP5693206B2 (ja) | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム | |
JP5618881B2 (ja) | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム | |
JP5680007B2 (ja) | 暗号システム、暗号方法及び暗号プログラム | |
JP5769401B2 (ja) | 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及びプログラム | |
JP5606344B2 (ja) | 署名処理システム、鍵生成装置、署名装置、検証装置、署名処理方法及び署名処理プログラム | |
JP5334873B2 (ja) | 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム | |
JP5921410B2 (ja) | 暗号システム | |
JP5606351B2 (ja) | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、鍵委譲装置、暗号処理方法及び暗号処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121119 |
|
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: 20131029 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131126 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5424974 Country of ref document: JP 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 |