JP2014029415A - 暗号システム、暗号方法、暗号プログラム及び復号装置 - Google Patents

暗号システム、暗号方法、暗号プログラム及び復号装置 Download PDF

Info

Publication number
JP2014029415A
JP2014029415A JP2012170001A JP2012170001A JP2014029415A JP 2014029415 A JP2014029415 A JP 2014029415A JP 2012170001 A JP2012170001 A JP 2012170001A JP 2012170001 A JP2012170001 A JP 2012170001A JP 2014029415 A JP2014029415 A JP 2014029415A
Authority
JP
Japan
Prior art keywords
information
polynomial
coefficient
ciphertext
encryption
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
Application number
JP2012170001A
Other languages
English (en)
Other versions
JP5814880B2 (ja
JP2014029415A5 (ja
Inventor
Katsuyuki Takashima
克幸 高島
Tatsuaki Okamoto
龍明 岡本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Nippon Telegraph and Telephone Corp
Original Assignee
Mitsubishi Electric Corp
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority to JP2012170001A priority Critical patent/JP5814880B2/ja
Application filed by Mitsubishi Electric Corp, Nippon Telegraph and Telephone Corp filed Critical Mitsubishi Electric Corp
Priority to PCT/JP2013/069368 priority patent/WO2014021102A1/ja
Priority to KR1020147036181A priority patent/KR101606317B1/ko
Priority to CN201380040471.9A priority patent/CN104620305B/zh
Priority to ES13824763.0T priority patent/ES2645463T3/es
Priority to US14/395,655 priority patent/US9413531B2/en
Priority to EP13824763.0A priority patent/EP2881930B1/en
Publication of JP2014029415A publication Critical patent/JP2014029415A/ja
Publication of JP2014029415A5 publication Critical patent/JP2014029415A5/ja
Application granted granted Critical
Publication of JP5814880B2 publication Critical patent/JP5814880B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public 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/3073Public 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】パラメータΦが設定された暗号化鍵ekをパラメータΨが設定された復号鍵dkで復号する場合に、関係R(Φ,Ψ)が成立する場合に限り、復号鍵dkは暗号化鍵ekで暗号化された暗号文を復号することができる関数型暗号方式において、関係Rとして表現できる範囲を広くすることを目的とする。
【解決手段】暗号システム10は、多項式d(x)と複数の多項式D(x)と述語情報とを含む第1情報と、属性情報を含む第2情報とのうちの一方を暗号文とし、他方を復号鍵とする。復号装置300は、述語情報と属性情報とに基づき、複数の多項式D(x)から少なくとも一部の多項式D(x)を選択し、選択した多項式D(x)に係数Δを掛けた多項式Δ(x)に基づき構成される多項式を、多項式d(x)で割り切れるようにする係数Δを計算する。復号装置300は、計算した係数Δに基づき、前記暗号文を復号する。
【選択図】図3

Description

この発明は、2次スパンプログラムの考えを利用した関数型暗号方式に関する。
関数型暗号方式は、暗号化鍵ekと、復号鍵dkとの間の関係をより高度化し、より柔軟にした暗号方式である。
関数型暗号方式において、暗号化鍵ekと復号鍵dkとには、それぞれ、パラメータΦとパラメータΨとが設定される。そして、関係R(Φ,Ψ)が成立する場合に限り、復号鍵dkは暗号化鍵ekで暗号化された暗号文を復号することができる。
非特許文献3には、関数型暗号方式についての記載がある。
非特許文献6には、2次スパンプログラムについての記載がある。
Okamoto, T., Takashima, K.: Homomorphic encryption and signatures from vector decomposition. In: Galbraith, S.D., Paterson, K.G. (eds.) Pairing 2008. LNCS, vol. 5209, pp. 57−74, Springer Heidelberg (2008) Okamoto, T., Takashima, K.: Hierarchical predicate encryption for inner−products, In: ASIACRYPT 2009, Springer Heidelberg (2009) Okamoto, T., Takashima, K.: Fully secure functional encryption with general relations from the decisional linear assumption. In: Rabin, T. (ed.) CRYPTO 2010. LNCS, vol. 6223, pp. 191−208. Springer Heidelberg (2010). Full version is available at http://eprint.iacr.org/2010/563 Okamoto, T., Takashima, K.: Efficient attribute−based signatures for non−monotone predicates in the standard model, In: PKC 2011, Springer Heidelberg (2011) Okamoto, T., Takashima, K.:Decentralized Attribute−Based Signatures http://eprint.iacr.org/2011/701 Rosario Gennaro and Craig Gentry and Bryan Parno and Mariana Raykova: Quadratic Span Programs and Succinct NIZKs without PCPs http://eprint.iacr.org/2012/215
非特許文献3に記載された関数型暗号方式は、1次スパンプログラムを利用した方式である。この関数型暗号方式では、関係Rとして表現できる範囲に限界がある。
この発明は、2次スパンプログラムの考えを利用することにより、関係Rとして表現できる範囲を広くすることが可能な関数型暗号方式を提供することを目的とする。
この発明に係る暗号システムは、
2次スパンプログラムを含む第1情報と、属性情報を含む第2情報とのうちの一方を暗号文として生成する暗号化装置と、
前記第1情報と前記第2情報とのうちの他方を復号鍵とし、前記2次スパンプログラムが前記属性情報を受理する場合に前記2次スパンプログラムと前記属性情報とから得られる情報に基づき、前記暗号文を復号する復号装置と
を備えることを特徴とする。
この発明に係る暗号システムでは、2次スパンプログラムの考えを利用することにより、関係Rとして表現できる範囲が理想化された範囲とすることが可能である。
2次スパンプログラムの説明図。 部分集合Iの説明図。 KP−FE方式を実行する暗号システム10の構成図。 CP−FE方式を実行する暗号システム10の構成図。 実施の形態2に係る鍵生成装置100の構成図。 実施の形態2に係る暗号化装置200の構成図。 実施の形態2に係る復号装置300の構成図。 実施の形態2に係るSetupアルゴリズムの処理を示すフローチャート。 実施の形態2に係るKeyGenアルゴリズムの処理を示すフローチャート。 実施の形態2に係るEncアルゴリズムの処理を示すフローチャート。 実施の形態2に係るDecアルゴリズムの処理を示すフローチャート。 実施の形態4に係るKeyGenアルゴリズムの処理を示すフローチャート。 鍵生成装置100、暗号化装置200、復号装置300のハードウェア構成の一例を示す図。
以下、図に基づき、発明の実施の形態を説明する。
以下の説明において、処理装置は後述するCPU911等である。記憶装置は後述するROM913、RAM914、磁気ディスク920等である。通信装置は後述する通信ボード915等である。入力装置は後述するキーボード902、通信ボード915等である。つまり、処理装置、記憶装置、通信装置、入力装置はハードウェアである。
以下の説明における記法について説明する。
Aがランダムな変数または分布であるとき、数101は、Aの分布に従いAからyをランダムに選択することを表す。つまり、数101において、yは乱数である。
Figure 2014029415
Aが集合であるとき、数102は、Aからyを一様に選択することを表す。つまり、数102において、yは一様乱数である。
Figure 2014029415
数103は、yがzにより定義された集合であること、又はyがzを代入された集合であることを表す。
Figure 2014029415
aが定数であるとき、数104は、機械(アルゴリズム)Aが入力xに対しaを出力することを表す。
Figure 2014029415
数105、つまりFは、位数qの有限体を示す。
Figure 2014029415
ベクトル表記は、有限体Fにおけるベクトル表示を表す。つまり、数106である。
Figure 2014029415
数107は、数108に示す2つのベクトルxとvとの数109に示す内積を表す。
Figure 2014029415
Figure 2014029415
Figure 2014029415
は、行列Xの転置行列を表す。
(i=1,...,n)が空間Vのベクトルの要素であるとき、つまり、数110であるとき、数111は、数112によって生成される部分空間を表す。
Figure 2014029415
Figure 2014029415
Figure 2014029415
数113に示す基底Bと基底Bとに対して、数114である。
Figure 2014029415
Figure 2014029415
また、以下の説明において、“Vt”が下付き又は上付きで示されている場合、このVtはVを意味する。同様に、“δi,j”が上付きで示されている場合、このδi,jは、δi,jを意味する。同様に、“fτ”、“κτ”が上付きで示されている場合、このfτは、fτを意味し、このκτはκτを意味する。
また、ベクトルを意味する“→”が下付き文字又は上付き文字に付されている場合、この“→”は下付き文字又は上付き文字に上付きで付されていることを意味する。
また、以下の説明において、暗号処理は、鍵生成処理、暗号化処理、復号処理を含む。
実施の形態1.
この実施の形態では、2次スパンプログラムを用いた関数型暗号方式の基礎となる概念と、2次スパンプログラムを用いた関数型暗号方式の概要とを説明する。
第1に、関数型暗号方式を実現するための空間である「双対ペアリングベクトル空間(Dual Pairing Vector Spaces,DPVS)」という豊かな数学的構造を有する空間を説明する。
第2に、関数型暗号方式を実現するための概念を説明する。ここでは、「2次スパンプログラム」、「属性情報の等号と2次スパンプログラム」、「秘密分散方式」について説明する。
第3に、2次スパンプログラムを用いた関数型暗号方式の概要について説明する。
<第1.双対ペアリングベクトル空間>
まず、対称双線形ペアリング群について説明する。
対称双線形ペアリング群(q,G,G,g,e)は、素数qと、位数qの巡回加法群Gと、位数qの巡回乗法群Gと、g≠0∈Gと、多項式時間で計算可能な非退化双線形ペアリング(Nondegenerate Bilinear Pairing)e:G×G→Gとの組である。非退化双線形ペアリングは、e(sg,tg)=e(g,g)stであり、e(g,g)≠1である。
以下の説明において、Gbpgを、1λを入力として、セキュリティパラメータをλとする双線形ペアリング群のパラメータparam:=(q,G,G,g,e)の値を出力するアルゴリズムとする。
次に、双対ペアリングベクトル空間について説明する。
双対ペアリングベクトル空間(q,V,G,A,e)は、対称双線形ペアリング群(param:=(q,G,G,g,e))の直積によって構成することができる。双対ペアリングベクトル空間(q,V,G,A,e)は、素数q、数115に示すF上のN次元ベクトル空間V、位数qの巡回群G、空間Vの標準基底A:=(a,...,a)の組であり、以下の演算(1)(2)を有する。ここで、aは、数116に示す通りである。
Figure 2014029415
Figure 2014029415
演算(1):非退化双線形ペアリング
空間Vにおけるペアリングは、数117によって定義される。
Figure 2014029415
これは、非退化双線形である。つまり、e(sx,ty)=e(x,y)stであり、全てのy∈Vに対して、e(x,y)=1の場合、x=0である。また、全てのiとjとに対して、e(a,a)=e(g,g)δi,jである。ここで、i=jであれば、δi,j=1であり、i≠jであれば、δi,j=0である。また、e(g,g)≠1∈Gである。
演算(2):ディストーション写像
数118に示す空間Vにおける線形変換φi,jは、数119を行うことができる。
Figure 2014029415
Figure 2014029415
ここで、線形変換φi,jをディストーション写像と呼ぶ。
以下の説明において、Gdpvsを、1λ(λ∈自然数)、N∈自然数、双線形ペアリング群のパラメータparam:=(q,G,G,g,e)の値を入力として、セキュリティパラメータがλであり、N次元の空間Vとする双対ペアリングベクトル空間のパラメータparam:=(q,V,G,A,e)の値を出力するアルゴリズムとする。
なお、ここでは、上述した対称双線形ペアリング群により、双対ペアリングベクトル空間を構成した場合について説明する。なお、非対称双線形ペアリング群により双対ペアリングベクトル空間を構成することも可能である。以下の説明を、非対称双線形ペアリング群により双対ペアリングベクトル空間を構成した場合に応用することは容易である。
<第2.関数型暗号を実現するための概念>
<第2−1.2次スパンプログラム>
図1は、2次スパンプログラムの説明図である。
体Fにおける2次スパンプログラムは、2つの多項式の集合A={a(x)|i∈{0,...,L}}及び集合B={b(x)|i∈{0,...,L}}と、目標多項式d(x)とを含む。また、2次スパンプログラムは、集合I:={1,...,L}のラベルρを含む。全てのラベルρi(i=1,...,L)は、{p,p,...,p,¬p,...,¬p}のいずれか1つのリテラルへ対応付けられる。つまり、ρ:I→{p,p,...,p,¬p,...,¬p}である。
入力u:=(u,...,u)∈{0,1}に対して、j=1,...,nの各整数jについて、T(p):=u及びT(¬p):=¬uにより、リテラルの真理値Tが設定される。また、どんな入力uに対しても、pの真理値Tは1が設定される。つまり、T(p):=1である。
集合Iの部分集合Iは、入力uにより1が設定されたラベルの要素から構成される。つまり、I:={i∈I|T(p(i)=1)}である。又は、I:={i∈I|[ρ(i)=p∧u=1]∨[ρ(i)=¬p∧u=0]∨[ρ(i)=p]}である。
図2は、部分集合Iの説明図である。
なお、図2では、n=7,L=6としている。また、図2において、ラベルρは、ρが¬pに、ρがpに、ρがpに、ρが¬pに、ρが¬pに、ρがpにそれぞれ対応付けられているとする。
ここで、入力u:=(u,...,u)∈{0,1}が、u=1,u=0,u=1,u=0,u=0,u=1,u=1であるとする。この場合、部分集合Iは、破線で囲んだリテラル(p,p,p,p,¬p,¬p,¬p)に対応付けられているラベルρの要素iから構成される。つまり、部分集合Iは、ラベルρ,ρ,ρの要素iから構成され、部分集合I:={i=1,2,4}である。
2次スパンプログラムは、目標多項式d(x)が数120を割り切るような体F における(α,...,α)及び(β,...,β)の組であって、部分集合Iに含まれない全てのiに対してα=0=βである(α,...,α)及び(β,...,β)の組が存在する場合に限り、入力u∈{0,1}を受理する(又は、部分集合Iを受理する)。そして、2次スパンプログラムは、他の場合には、入力u∈{0,1}を拒絶する。
Figure 2014029415
つまり、2次スパンプログラムは、目標多項式d(x)が数121を割り切るようなi∈Iについてのα及びβの組が存在する場合に限り、入力u∈{0,1}を受理する。
Figure 2014029415
そして、2次スパンプログラムが入力u∈{0,1}を受理する場合、i∈Iについてのα及びβの組を、多項式時間で計算することが可能である(非特許文献6参照)。
図2に示す例であれば、2次スパンプログラムは、目標多項式d(x)が数122を割り切るようなi∈I:={i=1,2,4}についてのα及びβの組が存在する場合に限り、入力u∈{0,1}を受理する。
Figure 2014029415
<第2−2.属性の内積と2次スパンプログラム>
(t=1,...,dでありU⊂{0,1})は、部分全集合(sub−universe)であり、属性の集合である。そして、Uは、それぞれ部分全集合の識別情報(t)と、n次元ベクトルで表された属性情報(v)とを含む。つまり、Uは、(t,v)である。ここで、t∈{1,...,d}であり、v∈F である。
=(t,v)をpとする。つまり、p=(t,v)である。p:=(t,v )(j=1,...,n;t∈{1,...,d})による2次スパンプログラムQ:=(A,B,d(x),ρ)における、部分集合Iの決定方法について説明する。
アクセスストラクチャSを、p及び{p:=(t,v )}j=1,...,nを伴う2次スパンプログラムQ:=(A,B,d(x),ρ)とする。つまり、ρ:{1,...,L}→{p,(t,v ),...,(t,v ),¬(t,v ),...,¬(t,v )}である。また、Γを属性集合とする。つまり、Γ:={(t,x )|x ∈F ,1≦t≦d}である。ここで、tは、{1,...,d}の部分集合であって、全インデックスである必要はない。
属性集合ΓがアクセスストラクチャSに与えられると、{p,p,...,p,¬p,...,¬p}のリテラルの真理値Tは次のように決定される。p=(t,v )かつ(t,x )∈Γかつv ・x =0である場合に限り、T(p):=1になる。p=¬(t,v )かつ(t,x )∈Γかつv ・x ≠0である場合に限り、T(¬p):=1になる。T(p):=1になる。他の場合には、真理値Tは0になる。
そして、I(=I(ρ,Γ)):={i∈I|T(ρ(i))=1}、つまり、I(ρ,Γ):={i∈I|[ρ(i)=(t,v )∧(t,x )∈Γ∧(v ・x )=0]∨[ρ(i)=¬(t,v )∧(t,x )∈Γ∧v ・x ≠0]∨[ρ(i)=p]}とする。
<第3.関数型暗号方式の概要>
復号鍵と暗号文との一方に上述したアクセスストラクチャSを持たせ、他方に属性集合Γを持たせることにより、関数型暗号方式を構成する。
アクセスストラクチャSを復号鍵に持たせた関数型暗号方式をKey−Policy関数型暗号(KP−FE)方式と呼び、アクセスストラクチャSを暗号文に持たせた暗号方式をCiphertext−Policy関数型暗号(CP−FE)方式と呼ぶ。
KP−FE方式及びCP−FE方式の構成と、各方式を実行する暗号システム10の構成とを説明する。
<第3−1.KP−FE方式>
KP−FE方式は、Setup、KeyGen、Enc、Decの4つのアルゴリズムを備える。
(Setup)
Setupアルゴリズムは、セキュリティパラメータλが入力され、公開パラメータpkと、マスター鍵skとを出力する確率的アルゴリズムである。
(KeyGen)
KeyGenアルゴリズムは、アクセスストラクチャSと、公開パラメータpkと、マスター鍵skとを入力として、復号鍵skを出力する確率的アルゴリズムである。
(Enc)
Encアルゴリズムは、メッセージmsgと、属性の集合であるΓ:={(t,x )|x ∈F ,1≦t≦d}と、公開パラメータpkとを入力として、暗号文ctΓを出力する確率的アルゴリズムである。
(Dec)
Decアルゴリズムは、属性の集合であるΓの下で暗号化された暗号文ctΓと、アクセスストラクチャSに対する復号鍵skと、公開パラメータpkとを入力として、メッセージmsg、又は、識別情報⊥を出力するアルゴリズムである。
図3は、KP−FE方式を実行する暗号システム10の構成図である。
暗号システム10は、鍵生成装置100、暗号化装置200、復号装置300を備える。
鍵生成装置100は、セキュリティパラメータλを入力としてSetupアルゴリズムを実行して、公開パラメータpkとマスター鍵skとを生成する。そして、鍵生成装置100は、生成した公開パラメータpkを公開する。また、鍵生成装置100は、アクセスストラクチャSを入力としてKeyGenアルゴリズムを実行して、復号鍵skを生成して復号装置300へ秘密裡に配布する。
暗号化装置200は、メッセージmsgと、属性の集合Γと、公開パラメータpkとを入力としてEncアルゴリズムを実行して、暗号文ctΓを生成する。暗号化装置200は、生成した暗号文ctΓを復号装置300へ送信する。
復号装置300は、公開パラメータpkと、復号鍵skと、暗号文ctΓとを入力としてDecアルゴリズムを実行して、メッセージmsg又は識別情報⊥を出力する。
<第3−2.CP−FE方式>
CP−FE方式は、Setup、KeyGen、Enc、Decの4つのアルゴリズムを備える。
(Setup)
Setupアルゴリズムは、セキュリティパラメータλが入力され、公開パラメータpkと、マスター鍵skとを出力する確率的アルゴリズムである。
(KeyGen)
KeyGenアルゴリズムは、属性の集合であるΓ:={(t,x )|x ∈F ,1≦t≦d}と、公開パラメータpkと、マスター鍵skとを入力として、復号鍵skΓを出力する確率的アルゴリズムである。
(Enc)
Encアルゴリズムは、メッセージmsgと、アクセスストラクチャSと、公開パラメータpkとを入力として、暗号文ctを出力する確率的アルゴリズムである。
(Dec)
Decアルゴリズムは、アクセスストラクチャSの下で暗号化された暗号文ctと、属性の集合であるΓに対する復号鍵skΓと、公開パラメータpkとを入力として、メッセージmsg、又は、識別情報⊥を出力するアルゴリズムである。
図4は、CP−FE方式を実行する暗号システム10の構成図である。
暗号システム10は、鍵生成装置100、暗号化装置200、復号装置300を備える。
鍵生成装置100は、セキュリティパラメータλを入力としてSetupアルゴリズムを実行して、公開パラメータpkとマスター鍵skとを生成する。そして、鍵生成装置100は、生成した公開パラメータpkを公開する。また、鍵生成装置100は、属性の集合Γを入力としてKeyGenアルゴリズムを実行して、復号鍵skΓを生成して復号装置300へ秘密裡に配布する。
暗号化装置200は、メッセージmsgと、アクセスストラクチャSと、公開パラメータpkとを入力としてEncアルゴリズムを実行して、暗号文ctを生成する。暗号化装置200は、生成した暗号文ctを復号装置300へ送信する。
復号装置300は、公開パラメータpkと、復号鍵skΓと、暗号文ctとを入力としてDecアルゴリズムを実行して、メッセージmsg又は識別情報⊥を出力する。
KP−FE方式及びCP−FE方式のどちらにおいても、Decアルゴリズムでは、アクセスストラクチャSと属性集合Γとに基づき、上述した方法により、部分集合I(ρ,Γ)を選択し、さらに係数(α,...,α)及び係数(β,...,β)を特定する。そして、部分集合I(ρ,Γ)と係数(α,...,α)及び係数(β,...,β)とに基づき、暗号文ctΓ(又はct)を復号してメッセージmsgを計算する。
なお、Setupアルゴリズムは、通常、システムのセットアップ時に1度だけ実行される。KeyGenアルゴリズムは、ユーザの復号鍵を生成する度に実行される。Encアルゴリズムは、メッセージmsgを暗号化する度に実行される。Decアルゴリズムは、暗号文を復号する度に実行される。
実施の形態1に係る暗号システム10では、2次スパンプログラムに基づくアクセスストラクチャSを用いて関数型暗号方式を構成する。これにより、関係Rとして表現できる範囲を理想化された範囲とすることが可能となる。
実施の形態2.
実施の形態2では、2次スパンプログラムを用いた関数型暗号方式の構成例について説明する。
ここでは、KP−FE方式を例として説明する。
図5は、実施の形態2に係る鍵生成装置100の構成図である。図6は、実施の形態2に係る暗号化装置200の構成図である。図7は、実施の形態2に係る復号装置300の構成図である。
図8と図9とは、鍵生成装置100の動作を示すフローチャートである。図8はSetupアルゴリズムの処理を示すフローチャートであり、図9はKeyGenアルゴリズムの処理を示すフローチャートである。図10は、暗号化装置200の動作を示すフローチャートであり、Encアルゴリズムの処理を示すフローチャートである。図11は、復号装置300の動作を示すフローチャートであり、Decアルゴリズムの処理を示すフローチャートである。
鍵生成装置100の機能と動作とについて説明する。
鍵生成装置100は、マスター鍵生成部110、マスター鍵記憶部120、情報入力部130、復号鍵生成部140、鍵配布部150を備える。また、復号鍵生成部140は、秘密情報生成部141、鍵要素生成部142を備える。
図8に基づき、Setupアルゴリズムの処理について説明する。
(S101:正規直交基底生成ステップ)
マスター鍵生成部110は、処理装置により、数123を計算して、パラメータparamと、基底B及び基底B と、基底B及び基底B とを生成する。
Figure 2014029415
つまり、マスター鍵生成部110は以下の処理を実行する。
(1)マスター鍵生成部110は、入力装置により、セキュリティパラメータλ(1λ)を入力する。
(2)マスター鍵生成部110は、処理装置により、(1)で入力したセキュリティパラメータλを入力としてアルゴリズムGbpgを実行して、双線形ペアリング群のパラメータparam:=(q,G,G,g,e)の値を生成する。
(3)マスター鍵生成部110は、処理装置により、乱数ψを生成する。
(4)マスター鍵生成部110は、Nにn+u+w+zを設定し、t=1,...,d(dは1以上の整数)の各整数tについて、Nにn+u+w+zを設定する。ここで、nは2mfmax+1であり、nは2mfmaxmax+nである。mは、目標多項式d(x)を因数分解した場合の因数の数である。fmaxは、目標多項式d(x)を因数分解した場合の因数の次数の最大値(後述するfτの最大値)である。kmaxは、1つの識別情報tに対応付けられるラベルρの個数の最大値である。nは1以上の整数であり、u,w,z,u,w,zはそれぞれ0以上の整数である。
続いて、マスター鍵生成部110は、t=0,...,dの各整数tについて以下の(5)から(9)までの処理を実行する。
(5)マスター鍵生成部110は、処理装置により、(1)で入力したセキュリティパラメータλと、(4)で設定したNと、(2)で生成したparam:=(q,G,G,g,e)の値とを入力としてアルゴリズムGdpvsを実行して、双対ペアリングベクトル空間のパラメータparamVt:=(q,V,G,A,e)の値を生成する。
(6)マスター鍵生成部110は、処理装置により、(4)で設定したNと、Fとを入力として、線形変換X:=(χt,i,ji,jをランダムに生成する。なお、GLは、General Linearの略である。つまり、GLは、一般線形群であり、行列式が0でない正方行列の集合であり、乗法に関し群である。また、(χt,i,ji,jは、行列χt,i,jの添え字i,jに関する行列という意味であり、ここでは、i,j=1,...,Nである。
(7)マスター鍵生成部110は、処理装置により、乱数ψと線形変換Xとに基づき、X :=(νt,i,ji,j:=ψ・(X −1を生成する。なお、(νt,i,ji,jも(χt,i,ji,jと同様に、行列νt,i,jの添え字i,jに関する行列という意味であり、ここでは、i,j=1,...,Nである。
(8)マスター鍵生成部110は、処理装置により、(6)で生成した線形変換Xに基づき、(5)で生成した標準基底Aから基底Bを生成する。なお、x t,iとは、線形変換Xのi行目を示す。
(9)マスター鍵生成部110は、処理装置により、(7)で生成した線形変換X に基づき、(5)で生成した標準基底Aから基底B を生成する。なお、v t,iとは、線形変換X のi行目を示す。
(10)マスター鍵生成部110は、処理装置により、gにe(g,g)ψを設定する。また、マスター鍵生成部110は、paramに(5)で生成した{paramVtt=0,...,dと、gとを設定する。
すなわち、(S101)で、マスター鍵生成部110は、数124に示すアルゴリズムGobを実行して、paramと、基底B及び基底B と、基底B及び基底B とを生成する。
Figure 2014029415
(S102:公開パラメータ生成ステップ)
マスター鍵生成部110は、処理装置により、(S101)で生成した基底Bの部分基底B^と、基底Bの部分基底B^とを数125に示すように生成する。
Figure 2014029415
マスター鍵生成部110は、生成した部分基底B^及び部分基底B^と、(S101)で入力されたセキュリティパラメータλと、(S101)で生成したparamとを合わせて、公開パラメータpkとする。
(S103:マスター鍵生成ステップ)
マスター鍵生成部110は、処理装置により、(S101)で生成した基底B の部分基底B^ と、基底B の部分基底B^ とを数126に示すように生成する。
Figure 2014029415
マスター鍵生成部110は、生成した部分基底B^ と部分基底B^ とをマスター鍵skとする。
(S104:マスター鍵記憶ステップ)
マスター鍵記憶部120は、(S102)で生成した公開パラメータpkを記憶装置に記憶する。また、マスター鍵記憶部120は、(S103)で生成したマスター鍵skを記憶装置に記憶する。
つまり、(S101)から(S103)において、鍵生成装置100は、数127に示すSetupアルゴリズムを実行して、公開パラメータpkとマスター鍵skとを生成する。そして、(S104)で、鍵生成装置100は、生成した公開パラメータpkとマスター鍵skとを記憶装置に記憶する。
なお、公開パラメータは、例えば、ネットワークを介して公開され、暗号化装置200や復号装置300が取得可能な状態にされる。
Figure 2014029415
図9に基づき、KeyGenアルゴリズムの処理について説明する。
(S201:情報入力ステップ)
情報入力部130は、入力装置により、上述したアクセスストラクチャS:=(A,B,d(x),ρ)を入力する。なお、ρは、例えば、復号鍵skの使用者の属性情報が設定されている。また、アクセスストラクチャSに含まれる目標多項式d(x)は、数128に示すように、τ=1,...,mのm個の因数dτ(x)fτに因数分解可能である。
Figure 2014029415
(S202:秘密情報π生成ステップ)
秘密情報生成部141は、処理装置により、秘密情報πτ,κ,0及び秘密情報πτ,κ,1を数129に示すように生成する。
Figure 2014029415
(S203:秘密情報χ生成ステップ)
秘密情報生成部141は、処理装置により、秘密情報χτ,κ,0及び秘密情報χτ,κ,1を数130に示すように生成する。
Figure 2014029415
(S204:秘密情報s生成ステップ)
秘密情報生成部141は、処理装置により、秘密情報s (τ,κ,0)及び秘密情報s (τ,κ,1)と、秘密情報s (τ,κ,0)及び秘密情報s (τ,κ,1)とを数131に示すように生成する。
Figure 2014029415
(S205:鍵要素生成ステップ)
鍵要素生成部142は、処理装置により、τ=1,...,mの各整数τと、κ=0,...,fτの各整数κと、ι=0,1の各整数ιとについて、復号鍵skの要素k (τ,κ,ι)を数132に示すように生成する。
Figure 2014029415
なお、上述したように、数113に示す基底Bと基底Bとに対して、数114である。したがって、数132は、基底B の基底ベクトルb 0,1の係数としてs (τ,κ,ι)+πτ,κ,ιを設定し、基底ベクトルb 0,1+1,...,b 0,1+n0の係数としてe (τ,κ,ι)を設定し、基底ベクトルb 0,n0+1,...,b 0,n0+u0の係数として0を設定し、基底ベクトルb 0,n0+u0+1,...,b 0,n0+u0+w0の係数としてη0,1 (τ,κ,ι),...,η0,w0 (τ,κ,ι)を設定し、基底ベクトルb 0,n0+u0+w0+1,...,b 0,n0+u0+w0+z0の係数として0を設定することを意味する。ここで、n0,u0,w0,z0はそれぞれn,u,w,zのことである。
また、e (τ,κ,ι)は、1つの基底ベクトルの係数として1が設定され、他の基底ベクトルの係数として0が設定された2mfmax次元のベクトルであって、係数として1が設定される基底ベクトルが(τ,κ,ι)毎に異なるベクトルである。同様に、e (τ,κ,ι)は、1つの基底ベクトルの係数として1が設定され、他の基底ベクトルの係数として0が設定された2mfmaxmax次元のベクトルであって、係数として1が設定される基底ベクトルが(τ,κ,ι)毎に異なるベクトルである。
また、e は、基底ベクトルb t,1の係数として1が設定され、他の基底ベクトルの係数として0が設定されたn次元のベクトルである。
鍵要素生成部142は、処理装置により、τ=1,...,mの各整数τと、κ=0,...,fτの各整数κと、ι=0,1の各整数ιと、i=1,...,Lの各整数iとについて、復号鍵skの要素k (τ,κ,ι)を数133に示すように生成する。
Figure 2014029415
(S206:鍵配布ステップ)
鍵配布部150は、(S201)で入力したアクセスストラクチャSと、(S205)で生成されたk (τ,κ,ι),k (τ,κ,ι),...,k (τ,κ,ι)とを要素とする復号鍵skを、例えば通信装置によりネットワークを介して秘密裡に復号装置300へ配布する。もちろん、復号鍵skは、他の方法により復号装置300へ配布されてもよい。
つまり、(S201)から(S205)において、鍵生成装置100は、数134から数135に示すKeyGenアルゴリズムを実行して、復号鍵skを生成する。そして、(S206)で、鍵生成装置100は、生成した復号鍵skを復号装置300へ配布する。
Figure 2014029415
Figure 2014029415
暗号化装置200の機能と動作とについて説明する。
暗号化装置200は、公開パラメータ取得部210、情報入力部220、暗号化データ生成部230、データ送信部240を備える。
図10に基づき、Encアルゴリズムの処理について説明する。
(S301:公開パラメータ取得ステップ)
公開パラメータ取得部210は、例えば、通信装置によりネットワークを介して、鍵生成装置100が生成した公開パラメータpkを取得する。
(S302:情報入力ステップ)
情報入力部220は、入力装置により、復号装置300へ送信するメッセージmsgを入力する。また、情報入力部220は、入力装置により、属性の集合Γ:={(t,x :=(xt,1,...,xt,n∈F ))|1≦t≦d}を入力する。なお、tは、1以上d以下の全ての整数ではなく、1以上d以下の少なくとも一部の整数であってもよい。また、属性の集合Γは、例えば、復号可能なユーザの属性情報が設定されている。
(S303:暗号要素生成ステップ)
暗号化データ生成部230は、処理装置により、暗号文ctΓの要素cを数136に示すように生成する。
Figure 2014029415
暗号化データ生成部230は、処理装置により、属性情報Γに含まれる各整数tについて、暗号文ctΓの要素cを数137に示すように生成する。
Figure 2014029415
暗号化データ生成部230は、処理装置により、暗号文ctΓの要素cd+1を数138に示すように生成する。
Figure 2014029415
(S304:データ送信ステップ)
データ送信部240は、(S302)で入力した属性の集合Γと、(S303)で生成されたc,c,cd+1とを要素とする暗号文ctΓを、例えば通信装置によりネットワークを介して復号装置300へ送信する。もちろん、暗号文ctΓは、他の方法により復号装置300へ送信されてもよい。
つまり、(S301)から(S303)において、暗号化装置200は、数139に示すEncアルゴリズムを実行して、暗号文ctΓを生成する。そして、(S304)で、暗号化装置200は生成した暗号文ctΓを復号装置300へ送信する。
Figure 2014029415
復号装置300の機能と動作とについて説明する。
復号装置300は、情報取得部310、スパンプログラム計算部320、補完係数計算部330、復号部340を備える。また、情報取得部310は、復号鍵取得部311、暗号文取得部312を備える。また、補完係数計算部330は、多項式選択部331、係数計算部332を備える。また、復号部340は、ペアリング演算部341、メッセージ計算部342を備える。
図11に基づき、Decアルゴリズムの処理について説明する。
(S401:復号鍵取得ステップ)
復号鍵取得部311は、例えば、通信装置によりネットワークを介して、鍵生成装置100から配布された復号鍵sk:=(S,k (τ,κ,ι),k (τ,κ,ι),...,k (τ,κ,ι))を取得する。また、復号鍵取得部311は、鍵生成装置100が生成した公開パラメータpkを取得する。
(S402:暗号文取得ステップ)
暗号文取得部312は、例えば、通信装置によりネットワークを介して、暗号化装置200が送信した暗号文ctΓ:=(Γ,c,c,cd+1)を取得する。
(S403:スパンプログラム計算ステップ)
スパンプログラム計算部320は、処理装置により、(S401)で取得した復号鍵skに含まれるアクセスストラクチャSが、(S402)で取得した暗号文ctΓに含まれるΓを受理するか否かを判定する。アクセスストラクチャSがΓを受理するか否かの判定方法は、「実施の形態1における第2−1.2次スパンプログラム」で説明した通りである。
スパンプログラム計算部320は、アクセスストラクチャSがΓを受理する場合(S403で受理)、処理を(S404)へ進める。一方、アクセスストラクチャSがΓを拒絶する場合(S403で拒絶)、暗号文ctΓを復号鍵skで復号できないとして処理を終了する。
(S404:多項式選択ステップ)
補完係数計算部330の多項式選択部331は、処理装置により、I(ρ,Γ)⊆{1,...,L}を計算する。I(ρ,Γ)の計算方法は、「実施の形態1の第2−2.属性の内積と2次スパンプログラム」で説明した通りである。
(S405:係数計算ステップ)
補完係数計算部330の係数計算部332は、処理装置により、数140となる係数(α,...,α)と、係数(β,...,β)と、次数(κ,...,κ)とを計算する。係数(α,...,α)と、係数(β,...,β)と、次数(κ,...,κ)との計算方法は、どのような方法でもよく、例えば総当たり法により計算してもよい。
Figure 2014029415
ここで、I(ρ,Γ)に含まれない全てのiについては、α=0=βである。
(S406:ペアリング演算ステップ)
復号部340のペアリング演算部341は、処理装置により、数141を計算して、セッション鍵Kτ,0,Kτ,1を生成する。
Figure 2014029415
(S407:メッセージ計算ステップ)
復号部340のメッセージ計算部342は、処理装置により、数142を計算して、メッセージmsg’(=msg)を生成する。
Figure 2014029415
なお、数143に示すように、数141を計算することによりg ζが得られる。そのため、数142を計算することにより、メッセージmsg’(=msg)を得られる。
Figure 2014029415
つまり、(S401)から(S407)において、復号装置300は、数144に示すDecアルゴリズムを実行して、メッセージmsg’(=msg)を生成する。
Figure 2014029415
以上のように、実施の形態2に係る暗号システム10では、2次スパンプログラムを利用した関数型暗号方式を実現する。
2次スパンプログラムを利用することにより、関係Rとして表現できる範囲が広い。
特に、実施の形態2に係る暗号システム10では、目標多項式d(x)を因数分解した多項式dτ(x)fτ毎に、多項式dτ(x)κで多項式a(x)を割った余りを設定した要素と、多項式dτ(x)fτ−κで多項式b(x)を割った余りを設定した要素とを、鍵要素k (τ,κ,ι),k (τ,κ,ι),...,k (τ,κ,ι)とする。また、各鍵要素k (τ,κ,ι)に、秘密情報πと秘密情報χとを分散させて設定する。そして、係数α,βを用いて、鍵要素と暗号要素とのペアリング演算をすることにより、各鍵要素に設定された余りを0にし、秘密情報πを0にし、秘密情報χを1にすることにより、暗号文からセッション鍵Kτ,0,Kτ,1を抽出する。これにより、2次スパンプログラムを利用した関数型暗号方式を実現する。
なお、上記説明では、KP−FE方式について説明した。しかし、KeyGenアルゴリズム、Encアルゴリズム、Decアルゴリズムをそれぞれ数145から数148に示すようにすることにより、CP−FE方式とすることも可能である。なお、Setupアルゴリズムは、KP−FE方式とCP−FE方式とで同じである。
Figure 2014029415
Figure 2014029415
Figure 2014029415
Figure 2014029415
また、上記説明では、関数型暗号方式について説明した。しかし、Setupアルゴリズム、KeyGenアルゴリズム、Encアルゴリズム、Decアルゴリズムをそれぞれ数149から数153に示すようにすることにより、属性ベース暗号方式とすることも可能である。なお、属性ベース暗号方式の場合、Setupアルゴリズムにおいて、nは2mfmaxmax+2である。
Figure 2014029415
Figure 2014029415
Figure 2014029415
Figure 2014029415
Figure 2014029415
同様に、数145から数148に示すCP−FE方式を属性ベース暗号方式に変更することも可能である。
また、上記説明では、Nにn+u+w+zを設定し、Nにn+u+w+zを設定した。ここで、例えば、u=n,w=n,z=2として、Nにn+n+n+2=3n+2とし、u=n,w=n,z=1として、Nにn+n+n+1=3n+1としてもよい。
実施の形態3.
実施の形態3では、実施の形態2で説明した関数型暗号方式に比べ、基底の数が多くなる代わりに、各基底の次元数が少ない関数型暗号方式を説明する。
実施の形態3では、実施の形態2に係る暗号システム10と異なる部分を中心に説明する。
実施の形態3に係る鍵生成装置100、暗号化装置200、復号装置300の構成は、図5〜図7に示す実施の形態2に係る鍵生成装置100、暗号化装置200、復号装置300の構成と同じである。
実施の形態3に係るDecアルゴリズムの処理については、実施の形態2に係るDecアルゴリズムの処理と同じであるため、ここでは、実施の形態3に係るSetupアルゴリズム、KeyGenアルゴリズム、Encアルゴリズムの処理について説明する。
実施の形態3に係るSetupアルゴリズム、KeyGenアルゴリズム、Encアルゴリズムの処理の流れは、図8〜図10に示す実施の形態2に係るSetupアルゴリズム、KeyGenアルゴリズム、Encアルゴリズムの処理の流れと同じである。
図8に基づき、Setupアルゴリズムの処理について説明する。
(S101:正規直交基底生成ステップ)
(1)〜(3)の処理は、実施の形態2と同じである。
(4)マスター鍵生成部110は、Nにn+u+w+zを設定し、t=1,...,d(dは1以上の整数)の各整数tについて、Nにn+u+w+zを設定する。ここで、nは1であり、nはnである。nは1以上の整数であり、u,w,z,u,w,zはそれぞれ0以上の整数である。
続いて、マスター鍵生成部110は、τ=1,...,m、κ=0,...,fτ、ι=0,1、t=0,...,dの各整数τ、κ、ι、tについて(5)から(9)までの処理を実行する。
(5)の処理は、実施の形態2と同じである。
(6)マスター鍵生成部110は、実施の形態2と同様に、線形変換X (τ,κ,ι):=(χt,i,j (τ,κ,ι)i,jをランダムに生成する。
(7)マスター鍵生成部110は、実施の形態2と同様に、X (τ,κ,ι):=(νt,i,j (τ,κ,ι)i,j:=ψ・(X (τ,κ,ι)T−1を生成する。
(8)マスター鍵生成部110は、実施の形態2と同様に、(6)で生成した線形変換X (τ,κ,ι)に基づき、(5)で生成した標準基底Aから基底B (τ,κ,ι)を生成する。
(9)マスター鍵生成部110は、実施の形態2と同様に、(7)で生成した線形変換X (τ,κ,ι)に基づき、(5)で生成した標準基底Aから基底B (τ,κ,ι)を生成する。
(10)の処理は、実施の形態2と同じである。
(S102:公開パラメータ生成ステップ)
マスター鍵生成部110は、処理装置により、(S101)で生成した基底B (τ,κ,ι)の部分基底B^ (τ,κ,ι)と、基底B (τ,κ,ι)の部分基底B^ (τ,κ,ι)とを数154に示すように生成する。
Figure 2014029415
マスター鍵生成部110は、生成した部分基底B^ (τ,κ,ι)及び部分基底B^ (τ,κ,ι)と、(S101)で入力されたセキュリティパラメータλと、(S101)で生成したparamとを合わせて、公開パラメータpkとする。
(S103:マスター鍵生成ステップ)
マスター鍵生成部110は、処理装置により、(S101)で生成した基底B (τ,κ,ι)の部分基底B^ (τ,κ,ι)と、基底B (τ,κ,ι)の部分基底B^ (τ,κ,ι)とを数155に示すように生成する。
Figure 2014029415
マスター鍵生成部110は、生成した部分基底B^ (τ,κ,ι)と部分基底B^ (τ,κ,ι)とをマスター鍵skとする。
(S104)の処理は、実施の形態2と同じである。
つまり、(S101)から(S103)において、鍵生成装置100は、数156に示すSetupアルゴリズムを実行して、公開パラメータpkとマスター鍵skとを生成する。そして、(S104)で、鍵生成装置100は、生成した公開パラメータpkとマスター鍵skとを記憶装置に記憶する。
Figure 2014029415
図9に基づき、KeyGenアルゴリズムの処理について説明する。
(S201)から(S204)までと、(S206)との処理は、実施の形態2と同じである。
(S205:鍵要素生成ステップ)
鍵要素生成部142は、処理装置により、τ=1,...,mの各整数τと、κ=0,...,fτの各整数κと、ι=0,1の各整数ιとについて、復号鍵skの要素k (τ,κ,ι)を数157に示すように生成する。
Figure 2014029415
鍵要素生成部142は、処理装置により、τ=1,...,mの各整数τと、κ=0,...,fτの各整数κと、ι=0,1の各整数ιと、i=1,...,Lの各整数iとについて、復号鍵skの要素k (τ,κ,ι)を数158に示すように生成する。
Figure 2014029415
つまり、(S201)から(S205)において、鍵生成装置100は、数159から数160に示すKeyGenアルゴリズムを実行して、復号鍵skを生成する。そして、(S206)で、鍵生成装置100は、生成した復号鍵skを復号装置300へ配布する。
Figure 2014029415
Figure 2014029415
図10に基づき、Encアルゴリズムの処理について説明する。
(S301)から(S302)までと、(S304)との処理は、実施の形態2と同じである。
(S303:暗号要素生成ステップ)
暗号化データ生成部230は、処理装置により、暗号文ctΓの要素c (τ,κ,ι)を数161に示すように生成する。
Figure 2014029415
暗号化データ生成部230は、処理装置により、属性情報Γに含まれる各整数tについて、暗号文ctΓの要素c (τ,κ,ι)を数162に示すように生成する。
Figure 2014029415
暗号化データ生成部230は、処理装置により、暗号文ctΓの要素cd+1を数163に示すように生成する。
Figure 2014029415
つまり、(S301)から(S303)において、暗号化装置200は、数164に示すEncアルゴリズムを実行して、暗号文ctΓを生成する。そして、(S304)で、暗号化装置200は生成した暗号文ctΓを復号装置300へ送信する。
Figure 2014029415
以上のように、実施の形態3に係る暗号システム10は、実施の形態2で説明した関数型暗号方式に比べ、基底の数が多くなる代わりに、各基底の次元数が少ない関数型暗号方式を実現する。
なお、上記説明では、KP−FE方式について説明した。しかし、KeyGenアルゴリズム、Encアルゴリズムをそれぞれ数165から数167に示すようにすることにより、CP−FE方式とすることも可能である。なお、Setupアルゴリズムは、KP−FE方式とCP−FE方式とで同じである。また、Decアルゴリズムは、数148に示すDecアルゴリズムと同じである。
Figure 2014029415
Figure 2014029415
Figure 2014029415
また、上記説明では、関数型暗号方式について説明した。しかし、Setupアルゴリズム、KeyGenアルゴリズム、Encアルゴリズムをそれぞれ数168から数171に示すようにすることにより、属性ベース暗号方式とすることも可能である。なお、属性ベース暗号方式の場合、Setupアルゴリズムにおいて、nは2である。Decアルゴリズムは、数153に示すDecアルゴリズムと同じである。
Figure 2014029415
Figure 2014029415
Figure 2014029415
Figure 2014029415
同様に、数165から数167に示すCP−FE方式を属性ベース暗号方式に変更することも可能である。
また、上記説明では、Nにn+u+w+zを設定し、Nにn+u+w+zを設定した。ここで、例えば、u=n,w=n,z=2として、Nにn+n+n+2=3n+2(n=1のため、N=5)とし、u=n,w=n,z=1として、Nにn+n+n+1=3n+1としてもよい。
実施の形態4.
実施の形態2,3では、目標多項式d(x)を因数分解した多項式dτ(x)fτ毎に、多項式dτ(x)κで多項式a(x)を割った余りを設定した要素と、多項式dτ(x)fτ−κで多項式b(x)を割った余りを設定した要素とを、鍵要素とした。
実施の形態4では、目標多項式d(x)を因数分解した多項式dτ(x)fτ毎に、多項式dτ(x)κに乱数値γを代入した要素と、多項式dτ(x)fτ−κに乱数値γを代入した要素とを、鍵要素とする。
実施の形態4に係る鍵生成装置100、暗号化装置200、復号装置300の構成は、図5〜図7に示す実施の形態2に係る鍵生成装置100、暗号化装置200、復号装置300の構成と同じである。
実施の形態4に係るSetupアルゴリズム、Encアルゴリズムは、実施の形態2に係るSetupアルゴリズム、Encアルゴリズムと同じである。
実施の形態4に係るDecアルゴリズムの処理の流れは、図11に示す実施の形態2に係るDecアルゴリズムの処理の流れと同じである。
図12は、実施の形態4に係るKeyGenアルゴリズムの処理を示すフローチャートである。
図12に基づき、KeyGenアルゴリズムの処理について説明する。
(S501)から(S503)までの処理は、図9に示す(S201)から(S203)までの処理と同じであり、(S505)の処理は、図9に示す(S206)との処理と同じである。
(S504:鍵要素生成ステップ)
鍵要素生成部142は、処理装置により、τ=1,...,mの各整数τと、κ=0,...,fτの各整数κと、ι=0,1の各整数ιと、j=1,...,μ+1の各整数jとについて、復号鍵skの要素k 0,j (τ,κ,ι)と要素k 0,μ+1 (τ,κ,ι)とを数172に示すように生成する。
Figure 2014029415
鍵要素生成部142は、処理装置により、τ=1,...,mの各整数τと、κ=0,...,fτの各整数κと、ι=0,1の各整数ιと、i=1,...,Lの各整数iとについて、復号鍵skの要素k (τ,κ,ι)を数173に示すように生成する。
Figure 2014029415
ここで、e 0,j (τ,κ,ι)(j=1,...,μ+1)は、1つの基底ベクトルの係数として1が設定され、他の基底ベクトルの係数として0が設定された2mfmax次元のベクトルであって、係数として1が設定される基底ベクトルが(τ,κ,ι)毎に異なるベクトルである。
つまり、(S501)から(S504)において、鍵生成装置100は、数174から数175に示すKeyGenアルゴリズムを実行して、復号鍵skを生成する。そして、(S505)で、鍵生成装置100は、生成した復号鍵skを復号装置300へ配布する。
Figure 2014029415
Figure 2014029415
図11に基づき、Decアルゴリズムの処理について説明する。
(S401)から(S404)までの処理は、実施の形態2と同じである。
(S405:係数計算ステップ)
補完係数計算部330の係数計算部332は、処理装置により、数176となる係数(α,...,α)と、係数(β,...,β)と、次数κとを計算する。
Figure 2014029415
ここで、I(ρ,Γ)に含まれない全てのiについては、α=0=βである。また、τ=1,...,m及びι=0,1の全ての整数τ,ιについてhτ,κ,ι(x):=hτ,κ,ι,0+hτ,κ,ι,1x+・・・+hτ,κ,ι,μμである。
(S406:ペアリング演算ステップ)
復号部340のペアリング演算部341は、処理装置により、数177を計算して、セッション鍵Kτ,0,Kτ,1を生成する。
Figure 2014029415
(S407:メッセージ計算ステップ)
メッセージ計算部342は、処理装置により、数178を計算して、メッセージmsg’(=msg)を生成する。
Figure 2014029415
なお、数179に示すように、数177を計算することによりg ζが得られる。そのため、数178を計算することにより、メッセージmsg’(=msg)を得られる。
Figure 2014029415
つまり、(S401)から(S407)において、復号装置300は、数180に示すDecアルゴリズムを実行して、メッセージmsg’(=msg)を生成する。
Figure 2014029415
以上のように、実施の形態4に係る暗号システム10は、多項式dτ(x)κに乱数値γを代入した要素と、多項式dτ(x)fτ−κに乱数値γを代入した要素とを、鍵要素として関数型暗号方式を実現する。
なお、上記説明では、KP−FE方式について説明した。しかし、KeyGenアルゴリズム、Encアルゴリズム、Decアルゴリズムをそれぞれ数181から数184に示すようにすることにより、CP−FE方式とすることも可能である。なお、Setupアルゴリズムは、KP−FE方式とCP−FE方式とで同じである。
Figure 2014029415
Figure 2014029415
Figure 2014029415
Figure 2014029415
また、関数型暗号方式について説明した。しかし、KeyGenアルゴリズム、Decアルゴリズムをそれぞれ数185から数187に示すようにすることにより、属性ベース暗号方式とすることも可能である。なお、属性ベース暗号方式の場合、Setupアルゴリズムにおいて、nは2mfmaxmax+2である。また、Setupアルゴリズムは、数149に示すSetupアルゴリズムと同じであり、Encアルゴリズムは、数152に示すEncアルゴリズムと同じである。
Figure 2014029415
Figure 2014029415
Figure 2014029415
同様の変更を行うことにより、数181から数184に示すCP−FE方式を属性ベース暗号方式に変更することも可能である。
また、上記説明では、Nにn+u+w+zを設定し、Nにn+u+w+zを設定した。ここで、例えば、u=n,w=n,z=2として、Nにn+n+n+2=3n+2とし、u=n,w=n,z=2として、Nにn+n+n+2=3n+2としてもよい。
また、上記説明では、実施の形態2に係る関数型暗号方式と同様に、復号鍵や暗号文が長くなる代わりに、基底の数が少ない関数型暗号方式とした。しかし、実施の形態3,4に係る関数型暗号方式に基づき、実施の形態4に係る関数型暗号方式を、実施の形態3に係る関数型暗号方式と同様に、基底の数が多くなる代わりに、各基底の次元数が少ない関数型暗号方式に容易に変形できる。
また、以上の実施の形態では、KP−FE方式とCP−FE方式とについて説明した。しかし、非特許文献4に記載されたUnified−Policy FE(UP−FE)方式も、KP−FE方式とCP−FE方式とから容易に構成することができる。
実施の形態5.
以上の実施の形態では、双対ベクトル空間において暗号処理を実現する方法について説明した。実施の形態5では、双対加群において暗号処理を実現する方法について説明する。
つまり、以上の実施の形態では、素数位数qの巡回群において暗号プリミティブの処理を実現した。しかし、合成数Mを用いて数188のように環Rを表した場合、環Rを係数とする加群においても、上記実施の形態で説明した暗号処理を適用することができる。
Figure 2014029415
以上の実施の形態で説明したアルゴリズムにおけるFをRに変更すれば、双対加群における暗号プリミティブの処理を実現することができる。
なお、以上の実施の形態において、安全性の証明の観点から、i=1,...,Lの各整数iについてのρ(i)は、それぞれ異なる識別情報tについての肯定形の組(t,v)又は否定形の組¬(t,v)であると限定してもよい。
言い替えると、ρ(i)=(t,v)又はρ(i)=¬(t,v)である場合に、関数ρ~を、ρ~(i)=tである{1,...,L}→{1,...d}の写像であるとする。この場合、ρ~が単射であると限定してもよい。なお、ρ(i)は、上述したアクセスストラクチャS:=(M,ρ(i))のρ(i)である。
次に、実施の形態における暗号処理システム10(鍵生成装置100、暗号化装置200、復号装置300)のハードウェア構成について説明する。
図13は、鍵生成装置100、暗号化装置200、復号装置300のハードウェア構成の一例を示す図である。
図13に示すように、鍵生成装置100、暗号化装置200、復号装置300は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、LCD901(Liquid Crystal Display)、キーボード902(K/B)、通信ボード915、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920(固定ディスク装置)の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。磁気ディスク装置920は、所定の固定ディスクインタフェースを介して接続される。
ROM913、磁気ディスク装置920は、不揮発性メモリの一例である。RAM914は、揮発性メモリの一例である。ROM913とRAM914と磁気ディスク装置920とは、記憶装置(メモリ)の一例である。また、キーボード902、通信ボード915は、入力装置の一例である。また、通信ボード915は、通信装置の一例である。さらに、LCD901は、表示装置の一例である。
磁気ディスク装置920又はROM913などには、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
プログラム群923には、上記の説明において「マスター鍵生成部110」、「マスター鍵記憶部120」、「情報入力部130」、「復号鍵生成部140」、「鍵配布部150」、「公開パラメータ取得部210」、「情報入力部220」、「暗号化データ生成部230」、「データ送信部240」、「情報取得部310」、「スパンプログラム計算部320」、「補完係数計算部330」、「復号部340」等として説明した機能を実行するソフトウェアやプログラムやその他のプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、上記の説明において「公開パラメータpk」、「マスター秘密鍵sk」、「復号鍵sk,skΓ」、「暗号文ctΓ,ct」、「アクセスストラクチャS」、「属性情報」、「メッセージmsg」等の情報やデータや信号値や変数値やパラメータが、「ファイル」や「データベース」の各項目として記憶される。「ファイル」や「データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPU911の動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPU911の動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、上記の説明におけるフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、その他光ディスク等の記録媒体やICチップに記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体や電波によりオンライン伝送される。
また、上記の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。また、「〜装置」として説明するものは、「〜回路」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。さらに、「〜処理」として説明するものは「〜ステップ」であっても構わない。すなわち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、ROM913等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、上記で述べた「〜部」としてコンピュータ等を機能させるものである。あるいは、上記で述べた「〜部」の手順や方法をコンピュータ等に実行させるものである。
100 鍵生成装置、110 マスター鍵生成部、120 マスター鍵記憶部、130 情報入力部、140 復号鍵生成部、141 秘密情報生成部、142 鍵要素生成部、150 鍵配布部、200 暗号化装置、210 公開パラメータ取得部、220 情報入力部、230 暗号化データ生成部、240 データ送信部、300 復号装置、311 復号鍵取得部、312 暗号文取得部、320 スパンプログラム計算部、330 補完係数計算部、331 多項式選択部、332 係数計算部、340 復号部、341 ペアリング演算部、342 メッセージ計算部。

Claims (13)

  1. 2次スパンプログラムを含む第1情報と、属性情報を含む第2情報とのうちの一方を暗号文として生成する暗号化装置と、
    前記第1情報と前記第2情報とのうちの他方を復号鍵とし、前記2次スパンプログラムが前記属性情報を受理する場合に前記2次スパンプログラムと前記属性情報とから得られる情報に基づき、前記暗号文を復号する復号装置と
    を備えることを特徴とする暗号システム。
  2. 前記第1情報は、前記2次スパンプログラムとして、多項式d(x)と複数の多項式D(x)と述語情報とを含み、
    前記復号装置は、
    前記第1情報に含まれる述語情報と、前記第2情報に含まれる属性情報とに基づき、前記複数の多項式D(x)から少なくとも一部の多項式D(x)を選択する多項式選択部と、
    前記多項式選択部が選択した多項式D(x)に係数Δを掛けた多項式Δ(x)に基づき構成される多項式を、前記多項式d(x)で割り切れるようにする係数Δを計算する係数計算部と、
    前記係数計算部が計算した係数Δに基づき、前記暗号文を復号する復号部と
    を備えることを特徴とする請求項1に記載の暗号システム。
  3. 前記複数の多項式D(x)は、i=0,...,L(Lは1以上の整数)の各整数iについての多項式a(x)及び多項式b(x)であり、
    前記多項式選択部は、前記属性情報と前記述語情報とに基づき、i=1,...,Lのうち一部の整数iの集合Iを選択することにより、多項式a(x)及び多項式b(x)と、前記集合Iに含まれる整数iについての多項式a(x)及び多項式b(x)とを選択し、
    前記係数計算部は、(a(x)+Σi∈Iα(x))・(b(x)+Σi∈Iβ(x))を前記多項式d(x)で割り切れるようにする係数α及び係数βを前記係数Δとして計算する
    ことを特徴とする請求項2に記載の暗号システム。
  4. 前記多項式d(x)は、τ=1,...,m(mは1以上の整数)の多項式dτ(x)fτに因数分解され、
    前記係数計算部は、Πτ=1 τ(x)κτが(a(x)+Σi∈Iα(x))を割り切るようにするとともに、Πτ=1 τ(x)fτ−κτが(b(x)+Σi∈Iβ(x))を割り切るようにする係数α及び係数βと、次数κτとを計算し、
    前記復号部は、前記係数α及び前記係数βと、前記次数κτとに基づき、前記暗号文を復号する
    ことを特徴とする請求項3に記載の暗号システム。
  5. 前記属性情報は、t=1,...,d(dは1以上の整数)の少なくとも一部の整数tについての属性ベクトルx を含み、
    前記述語情報は、i=1,...,Lの各整数iについての識別子tと述語ベクトルv との組(t,v )を含み、
    前記多項式選択部は、i=1,...,Lの各整数iについての前記組(t,v )について、その組の述語ベクトルv とその組の識別情報tについての属性ベクトルx との内積が0となるか否かにより、整数iを前記集合Iに含めるか否かを判定する
    ことを特徴とする請求項3又は4に記載の暗号システム。
  6. 前記組(t,v )は、肯定形と否定形とのいずれかに対応付けられており、
    前記多項式選択部は、前記組(t,v )が肯定形に対応付けられている場合、前記内積が0となるなら、整数iを前記集合Iに含め、前記組(t,v )が否定形に対応付けられている場合、前記内積が0とならないなら、整数iを前記集合Iに含める
    ことを特徴とする請求項5に記載の暗号システム。
  7. 前記多項式d(x)は、τ=1,...,m(mは1以上の整数)の多項式dτ(x)fτに因数分解され、
    前記第1情報は、多項式dτ(x)fτ毎に、その多項式dτ(x)fτによって得られる情報が設定された要素を含み、
    前記復号部は、前記係数Δと前記要素とに基づき、前記暗号文を復号する
    ことを特徴とする請求項2から6までのいずれかに記載の暗号システム。
  8. 前記第1情報は、多項式dτ(x)fτ毎に、κ=0,...,fτの各整数κと、i=0,...,Lの各整数iとについて、多項式dτ(x)κで多項式a(x)を割った余りを設定した要素と、多項式dτ(x)fτ−κで多項式b(x)を割った余りを設定した要素とを含む
    ことを特徴とする請求項7に記載の暗号システム。
  9. 前記第1情報は、多項式dτ(x)fτ毎に、所定の値γを代入した値を設定した要素を含む
    ことを特徴とする請求項7に記載の暗号システム。
  10. 前記復号部は、前記係数Δに基づき、前記要素について所定の演算を行うことにより、前記多項式dτ(x)fτによって得られる情報を0にして、前記暗号文を復号する
    ことを特徴とする請求項7から9までのいずれかに記載の暗号システム。
  11. 暗号化装置が、2次スパンプログラムを含む第1情報と、属性情報を含む第2情報とのうちの一方を暗号文として生成する暗号化工程と、
    復号装置が、前記第1情報と前記第2情報とのうちの他方を復号鍵とし、前記2次スパンプログラムが前記属性情報を受理する場合に前記2次スパンプログラムと前記属性情報とから得られる情報に基づき、前記暗号文を復号する復号工程と
    を備えることを特徴とする暗号方法。
  12. 2次スパンプログラムを含む第1情報と、属性情報を含む第2情報とのうちの一方を暗号文として生成する暗号化処理と、
    前記第1情報と前記第2情報とのうちの他方を復号鍵とし、前記2次スパンプログラムが前記属性情報を受理する場合に前記2次スパンプログラムと前記属性情報とから得られる情報に基づき、前記暗号文を復号する復号処理と
    をコンピュータに実行させることを特徴とする暗号プログラム。
  13. 2次スパンプログラムを含む第1情報と、属性情報を含む第2情報とのうちの一方を暗号文とし、他方を復号鍵として取得する情報取得部と、
    前記情報取得部が取得した第1情報に含まれる2次スパンプログラムが第2情報に含まれる属性情報を受理する場合に前記2次スパンプログラムと前記属性情報とから得られる情報に基づき、前記暗号文を復号する復号部と
    を備えることを特徴とする復号装置。
JP2012170001A 2012-07-31 2012-07-31 暗号システム、暗号方法、暗号プログラム及び復号装置 Active JP5814880B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2012170001A JP5814880B2 (ja) 2012-07-31 2012-07-31 暗号システム、暗号方法、暗号プログラム及び復号装置
KR1020147036181A KR101606317B1 (ko) 2012-07-31 2013-07-17 암호 시스템, 암호 방법, 암호 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 및 복호 장치
CN201380040471.9A CN104620305B (zh) 2012-07-31 2013-07-17 密码系统、密码方法、密码程序以及解密装置
ES13824763.0T ES2645463T3 (es) 2012-07-31 2013-07-17 Sistema criptográfico, método criptográfico, programa criptográfico y dispositivo de desencriptación
PCT/JP2013/069368 WO2014021102A1 (ja) 2012-07-31 2013-07-17 暗号システム、暗号方法、暗号プログラム及び復号装置
US14/395,655 US9413531B2 (en) 2012-07-31 2013-07-17 Cryptographic system, cryptographic method, cryptographic program, and decryption device
EP13824763.0A EP2881930B1 (en) 2012-07-31 2013-07-17 Encryption system, encryption method, encryption program and decryption device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012170001A JP5814880B2 (ja) 2012-07-31 2012-07-31 暗号システム、暗号方法、暗号プログラム及び復号装置

Publications (3)

Publication Number Publication Date
JP2014029415A true JP2014029415A (ja) 2014-02-13
JP2014029415A5 JP2014029415A5 (ja) 2014-08-14
JP5814880B2 JP5814880B2 (ja) 2015-11-17

Family

ID=50027784

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012170001A Active JP5814880B2 (ja) 2012-07-31 2012-07-31 暗号システム、暗号方法、暗号プログラム及び復号装置

Country Status (7)

Country Link
US (1) US9413531B2 (ja)
EP (1) EP2881930B1 (ja)
JP (1) JP5814880B2 (ja)
KR (1) KR101606317B1 (ja)
CN (1) CN104620305B (ja)
ES (1) ES2645463T3 (ja)
WO (1) WO2014021102A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015125293A1 (ja) * 2014-02-24 2015-08-27 三菱電機株式会社 暗号システム及び暗号プログラム
JP5951122B2 (ja) * 2013-05-15 2016-07-13 三菱電機株式会社 暗号システム、暗号方法及び暗号プログラム
JP2020056960A (ja) * 2018-10-04 2020-04-09 三菱電機株式会社 復号装置、暗号システム、復号方法及び復号プログラム

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3021518B1 (en) * 2013-08-22 2018-04-18 Nippon Telegraph And Telephone Corporation Multi-party secure authentication system, authentication server, intermediate server, multi-party secure authentication method, and program
US10277564B2 (en) 2016-05-04 2019-04-30 Nxp Usa, Inc. Light-weight key update mechanism with blacklisting based on secret sharing algorithm in wireless sensor networks
JP6974461B2 (ja) * 2016-08-02 2021-12-01 エックス−ロゴス、エルエルシー 幾何代数を用いた高度データ中心型暗号化システムのための方法およびシステム
WO2018047698A1 (ja) * 2016-09-12 2018-03-15 日本電信電話株式会社 暗号化メッセージ検索方法、メッセージ送受信システム、サーバ、端末、プログラム
WO2018134922A1 (ja) * 2017-01-18 2018-07-26 三菱電機株式会社 準同型演算装置、暗号システム及び準同型演算プログラム
JP6452910B1 (ja) * 2018-01-17 2019-01-16 三菱電機株式会社 秘匿分析装置、秘匿分析システム、秘匿分析方法及び秘匿分析プログラム
US10937339B2 (en) 2019-01-10 2021-03-02 Bank Of America Corporation Digital cryptosystem with re-derivable hybrid keys

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0823331A (ja) * 1994-07-07 1996-01-23 Murata Mach Ltd 暗号化通信方法及び装置
US7162032B2 (en) * 1999-12-20 2007-01-09 Telenor Asa Encryption of programs represented as polynomial mappings and their computations
JP3917507B2 (ja) * 2002-01-28 2007-05-23 株式会社東芝 コンテンツ提供側システム、ユーザ側システム、追跡システム、コンテンツ提供方法、暗号化コンテンツ復号方法、不正ユーザ特定方法、暗号化装置、復号装置及びプログラム
JPWO2004001701A1 (ja) * 2002-06-20 2005-10-20 株式会社日立製作所 符号演算装置
KR101027199B1 (ko) * 2002-12-03 2011-04-06 파나소닉 주식회사 키공유 시스템, 공유키 생성장치 및 공유키 복원장치
CN1778066B (zh) * 2003-04-24 2011-10-12 松下电器产业株式会社 参数生成设备,加密系统,解密系统,加密设备,解密设备,加密方法,解密方法,及其程序
CN1981477A (zh) * 2004-07-08 2007-06-13 皇家飞利浦电子股份有限公司 用于提供数字证书功能的方法
US7634085B1 (en) 2005-03-25 2009-12-15 Voltage Security, Inc. Identity-based-encryption system with partial attribute matching
JP2008011092A (ja) * 2006-06-28 2008-01-17 Fuji Xerox Co Ltd 暗号化コンテンツ検索方式
US20090080658A1 (en) * 2007-07-13 2009-03-26 Brent Waters Method and apparatus for encrypting data for fine-grained access control
CN101188496B (zh) * 2007-12-10 2010-09-29 中兴通讯股份有限公司 一种短信加密传输方法
JP2010204466A (ja) 2009-03-04 2010-09-16 Toshiba Corp 暗号装置、復号装置、鍵生成装置及びプログラム
KR101351789B1 (ko) * 2009-04-24 2014-01-15 니뽄 덴신 덴와 가부시키가이샤 암호 시스템, 암호 통신 방법, 암호화 장치, 키 생성 장치, 복호 장치, 콘텐츠 서버 장치, 프로그램, 기억매체
US8385541B2 (en) * 2010-02-18 2013-02-26 King Fahd University Of Petroleum And Minerals Method of performing elliptic polynomial cryptography with elliptic polynomial hopping
JP5424974B2 (ja) 2010-04-27 2014-02-26 三菱電機株式会社 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置
JP5379914B2 (ja) * 2010-07-23 2013-12-25 日本電信電話株式会社 秘密分散システム、分散装置、分散管理装置、取得装置、秘密分散方法、プログラム、及び記録媒体
US8565435B2 (en) * 2010-08-16 2013-10-22 International Business Machines Corporation Efficient implementation of fully homomorphic encryption
US8925075B2 (en) * 2011-11-07 2014-12-30 Parallels IP Holdings GmbH Method for protecting data used in cloud computing with homomorphic encryption
WO2013101136A1 (en) * 2011-12-30 2013-07-04 Intel Corporation Dual composite field advanced encryption standard memory encryption engine

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5951122B2 (ja) * 2013-05-15 2016-07-13 三菱電機株式会社 暗号システム、暗号方法及び暗号プログラム
WO2015125293A1 (ja) * 2014-02-24 2015-08-27 三菱電機株式会社 暗号システム及び暗号プログラム
CN106031080A (zh) * 2014-02-24 2016-10-12 三菱电机株式会社 加密系统和加密程序
JP6053983B2 (ja) * 2014-02-24 2016-12-27 三菱電機株式会社 暗号システム、署名システム、暗号プログラム及び署名プログラム
US9640090B2 (en) 2014-02-24 2017-05-02 Mitsubishi Electric Corporation Cryptographic system and computer readable medium
CN106031080B (zh) * 2014-02-24 2019-07-16 三菱电机株式会社 加密系统
JP2020056960A (ja) * 2018-10-04 2020-04-09 三菱電機株式会社 復号装置、暗号システム、復号方法及び復号プログラム
WO2020070973A1 (ja) * 2018-10-04 2020-04-09 三菱電機株式会社 復号装置、暗号システム、復号方法及び復号プログラム

Also Published As

Publication number Publication date
KR20150015518A (ko) 2015-02-10
CN104620305B (zh) 2016-09-28
US9413531B2 (en) 2016-08-09
EP2881930A1 (en) 2015-06-10
KR101606317B1 (ko) 2016-03-24
US20150098566A1 (en) 2015-04-09
CN104620305A (zh) 2015-05-13
EP2881930B1 (en) 2017-09-27
ES2645463T3 (es) 2017-12-05
EP2881930A4 (en) 2016-04-06
WO2014021102A1 (ja) 2014-02-06
JP5814880B2 (ja) 2015-11-17

Similar Documents

Publication Publication Date Title
JP5814880B2 (ja) 暗号システム、暗号方法、暗号プログラム及び復号装置
JP6083234B2 (ja) 暗号処理装置
JP5424974B2 (ja) 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置
JP5618881B2 (ja) 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
JP5680007B2 (ja) 暗号システム、暗号方法及び暗号プログラム
JP5951122B2 (ja) 暗号システム、暗号方法及び暗号プログラム
WO2014112048A1 (ja) 暗号システム、再暗号化鍵生成装置、再暗号化装置、暗号方法及び暗号プログラム
EP2523178A1 (en) Encryption processing system, key generation device, key devolvement device, encryption device, decoding device, encryption processing method, and encryption processing program
KR101581605B1 (ko) 암호 처리 시스템, 암호 처리 방법, 암호 처리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 및 키 생성 장치
JP5921410B2 (ja) 暗号システム
JP5606351B2 (ja) 暗号処理システム、鍵生成装置、暗号化装置、復号装置、鍵委譲装置、暗号処理方法及び暗号処理プログラム
JP6053983B2 (ja) 暗号システム、署名システム、暗号プログラム及び署名プログラム
WO2020070973A1 (ja) 復号装置、暗号システム、復号方法及び復号プログラム
JP6266130B2 (ja) 暗号システム、マスター鍵更新装置及びマスター鍵更新プログラム
JP2013148822A (ja) 検索可能暗号システム、検索装置、計算装置、及びプログラム
WO2017203743A1 (ja) 暗号化装置、復号装置及び暗号システム
JP2016114901A (ja) ブラインド秘密鍵発行システム、ブラインドデータ検索システム、これらの方法、鍵生成サーバ、復号装置及びプログラム
Chandra et al. STUDY OF RSA ALGORITHM FOR DATA ENCRYPTION AND DECRYPTION

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140701

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140701

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: 20150825

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150918

R150 Certificate of patent or registration of utility model

Ref document number: 5814880

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250