JP5921410B2 - 暗号システム - Google Patents

暗号システム Download PDF

Info

Publication number
JP5921410B2
JP5921410B2 JP2012231293A JP2012231293A JP5921410B2 JP 5921410 B2 JP5921410 B2 JP 5921410B2 JP 2012231293 A JP2012231293 A JP 2012231293A JP 2012231293 A JP2012231293 A JP 2012231293A JP 5921410 B2 JP5921410 B2 JP 5921410B2
Authority
JP
Japan
Prior art keywords
index
basis vector
vector
value
ciphertext
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012231293A
Other languages
English (en)
Other versions
JP2014085358A (ja
Inventor
克幸 高島
克幸 高島
岡本 龍明
龍明 岡本
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 JP2012231293A priority Critical patent/JP5921410B2/ja
Application filed by Mitsubishi Electric Corp, Nippon Telegraph and Telephone Corp filed Critical Mitsubishi Electric Corp
Priority to ES13846805.3T priority patent/ES2645072T3/es
Priority to CN201380050410.0A priority patent/CN104718566B/zh
Priority to EP13846805.3A priority patent/EP2911137B1/en
Priority to PCT/JP2013/069364 priority patent/WO2014061324A1/ja
Priority to US14/421,282 priority patent/US9722783B2/en
Priority to KR1020157013141A priority patent/KR101676977B1/ko
Publication of JP2014085358A publication Critical patent/JP2014085358A/ja
Application granted granted Critical
Publication of JP5921410B2 publication Critical patent/JP5921410B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key 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
    • 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
    • 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/006Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
    • H04L9/007Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models involving hierarchical structures
    • 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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

この発明は、一般化された内積述語暗号方式と、一般化された内積述語暗号方式を下部構造に有する関数型暗号方式及び属性ベース署名方式に関する。
非特許文献30,31には、内積述語暗号方式についての記載がある。
非特許文献31には、関数型暗号方式についての記載がある。
非特許文献32には、属性ベース署名方式についての記載がある。
Attrapadung, N. and Libert, B., Functional Encryption for Inner Product: Achieving Constant−Size Ciphertexts with Adaptive Security or Support for Negation, PKC 2010, pp. 384−402. Springer Heidelberg (2010) Beimel, A., Secure schemes for secret sharing and key distribution. PhD Thesis, Israel Institute of Technology,Technion, Haifa, Israel, 1996. Bellare, M., Waters, B., Yilek, S.: Identity−based encryption secure against selective opening attack. In: Ishai, Y.(ed.) TCC 2011. pp. 235−252. Springer Heidelberg (2011) Bethencourt, J., Sahai, A., Waters, B.: Ciphertext−policy attribute−based encryption. In: 2007 IEEE Symposiumon Security and Privacy, pp. 321−334. IEEE Press (2007) Boneh, D., Boyen, X.: Efficient selective−ID secure identity based encryption without random oracles. In: Cachin,C., Camenisch, J. (eds.) EUROCRYPT 2004. LNCS, vol. 3027, pp. 223−238. Springer Heidelberg (2004) Boneh, D., Boyen, X.: Secure identity based encryption without random oracles. In: Franklin, M.K. (ed.) CRYPTO2004. LNCS, vol. 3152, pp. 443−459. Springer Heidelberg (2004) Boneh, D., Boyen, X., Goh, E.: Hierarchical identity based encryption with constant size ciphertext. In: Cramer,R. (ed.) EUROCRYPT 2005. LNCS, vol. 3494, pp. 440−456. Springer Heidelberg (2005) Boneh, D., Boyen, X., Shacham, H.: Short group signatures. In: Franklin, M. (ed.) CRYPTO 2004. LNCS, vol.3152, pp. 41−55. Springer, Heidelberg (2004) Boneh, D., Franklin, M.: Identity−based encryption from the Weil pairing. In: Kilian, J. (ed.) CRYPTO 2001.LNCS, vol. 2139, pp. 213−229. Springer Heidelberg (2001) Boneh, D., Hamburg, M.: Generalized identity based and broadcast encryption scheme. In: Pieprzyk, J. (ed.)ASIACRYPT 2008. LNCS, vol. 5350, pp. 455−470. Springer Heidelberg (2008) Boneh, D., Katz, J., Improved efficiency for CCA−secure cryptosystems built using identity based encryption.RSA−CT 2005, LNCS, Springer Verlag (2005) Boneh, D., Waters, B.: Conjunctive, subset, and range queries on encrypted data. In: Vadhan, S.P. (ed.) TCC2007. LNCS, vol. 4392, pp. 535−554. Springer Heidelberg (2007) Boyen, X., Waters, B.: Anonymous hierarchical identity−based encryption (without random oracles). In: Dwork,C. (ed.) CRYPTO 2006. LNCS, vol. 4117, pp. 290−307. Springer Heidelberg (2006) Canetti, R., Halevi S., Katz J.: Chosen−ciphertext security from identity−based encryption. EUROCRYPT 2004,LNCS, Springer Heidelberg (2004) Chase, M.: Multi−authority attribute based encryption. TCC, LNCS, pp. 515−534, Springer Heidelberg (2007). Chase, M. and Chow, S.: Improving privacy and security in multi−authority attribute−based encryption, ACM Conference on Computer and Communications Security, pp. 121−130, ACM (2009). Cocks, C.: An identity based encryption scheme based on quadratic residues. In: Honary, B. (ed.) IMA Int. Conf.LNCS, vol. 2260, pp. 360−363. Springer Heidelberg (2001) Gentry, C.: Practical identity−based encryption without random oracles. In: Vaudenay, S. (ed.) EUROCRYPT2006. LNCS, vol. 4004, pp. 445−464. Springer Heidelberg (2006) Gentry, C., Halevi, S.: Hierarchical identity−based encryption with polynomially many levels. In: Reingold, O.(ed.) TCC 2009. LNCS, vol. 5444, pp. 437−456. Springer Heidelberg (2009) Gentry, C., Silverberg, A.: Hierarchical ID−based cryptography. In: Zheng, Y. (ed.) ASIACRYPT 2002. LNCS,vol. 2501, pp. 548−566. Springer Heidelberg (2002) Goyal, V., Pandey, O., Sahai, A., Waters, B.: Attribute−based encryption for fine−grained access control of encrypted data. In: ACM Conference on Computer and Communication Security 2006, pp. 89−98, ACM (2006) Katz, J., Sahai, A., Waters, B.: Predicate encryption supporting disjunctions, polynomial equations, and inner products. In: Smart, N.P. (ed.) EUROCRYPT 2008. LNCS, vol. 4965, pp. 146−162. Springer Heidelberg (2008) Lewko, A., Okamoto, T., Sahai, A., Takashima, K., Waters, B.: Fully secure functional encryption: Attribute−based encryption and (hierarchical) inner product encryption, EUROCRYPT 2010. LNCS, Springer Heidelberg (2010) Full version is available at http://eprint.iacr.org/2010/110 Lewko, A.B.,Waters, B.: New techniques for dual system encryption and fully secure HIBE with short ciphertexts.In: Micciancio, D. (ed.) TCC 2010. LNCS, vol. 5978, pp. 455−479. Springer Heidelberg (2010) Lewko, A.B., Waters, B.: Decentralizing Attribute−Based Encryption, EUROCRYPT 2011. LNCS, vol. 6632, pp.568−588. Springer Heidelberg (2011) Lewko, A.B., Waters, B.: Unbounded HIBE and attribute−based encryption, EUROCRYPT 2011. LNCS, vol.6632, pp. 547−567. Springer Heidelberg (2011) H. Lin, Z. Cao, X. Liang, and J. Shao.: Secure threshold multi authority attribute based encryption without a central authority, INDOCRYPT, LNCS, vol. 5365, pp. 426−436, Springer Heidelberg (2008). S. Mueller, S. Katzenbeisser, and C. Eckert.; On multi−authority ciphertext−policy attribute−based encryption,Bull. Korean Math Soc. 46, No.4, pp. 803−819 (2009). 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.: Achieving Short Ciphertexts or Short Secret−Keys for Adaptively Secure General Inner−Product Encryption. CANS 2011, LNCS, vol. 7092, pp. 138−159 Springer Heidelberg (2011). Okamoto, T., Takashima, K.: Adaptively Attribute−Hiding (Hierarchical) Inner Product Encryption. EUROCRYPT 2012, LNCS, vol. 7237, pp.591−608, Springer Heidelberg (2012) Ostrovsky, R., Sahai, A., Waters, B.: Attribute−based encryption with non−monotonic access structures. In: ACM Conference on Computer and Communication Security 2007, pp. 195−203, ACM (2007) Pirretti, M., Traynor, P., McDaniel, P., Waters, B.: Secure attribute−based systems. In: ACM Conference on Computer and Communication Security 2006, pp. 99−112, ACM, (2006) Sahai, A., Waters, B.: Fuzzy identity−based encryption. In: Cramer, R. (ed.) EUROCRYPT 2005. LNCS, vol.3494, pp. 457−473. Springer Heidelberg (2005) Shi, E., Waters, B.: Delegating capability in predicate encryption systems. In: Aceto, L., Damg「aard, I., Goldberg,L.A., Halldoersson, M.M., Ingoelfsdoettir, A., Walukiewicz, I. (eds.) ICALP (2) 2008. LNCS, vol. 5126, pp. 560−578. Springer Heidelberg (2008) Waters, B.: Efficient identity based encryption without random oracles. Eurocrypt 2005, LNCS, vol. 3152, pp.443−459. Springer Verlag, (2005) Waters, B.: Ciphertext−policy attribute−based encryption: an expressive, efficient, and provably secure realization. PKC 2011, LNCS, vol. 6571, pp. 53−70. Springer Heidelberg (2011). ePrint, IACR, http://eprint.iacr.org/2008/290 Waters, B.: Dual system encryption: realizing fully secure IBE and HIBE under simple assumptions. In: Halevi,S. (ed.) CRYPTO 2009. LNCS, vol. 5677, pp. 619−636. Springer Heidelberg (2009)
非特許文献30,31に記載された内積述語暗号方式では、属性ベクトルx(暗号化に用いられるパラメータ)と、述語ベクトルv(秘密鍵に用いられるパラメータ)との次元が同じであるという制約があった。
この発明は、より自由度の高い内積述語暗号方式を実現することを目的とする。
この発明に係る暗号システムは、
暗号化装置と復号装置とを備える暗号システムであり、
前記暗号化装置は、
基底ベクトルb0,rの係数として値ωが設定された要素cと、集合Ix→に含まれる各インデックスtについて、基底ベクトルbの係数として属性情報xが設定され、基底ベクトルbの係数として前記値ωが設定された要素cとを有する暗号文を生成する暗号文生成部
を備え、
前記復号装置は、
集合Iv→に含まれる各インデックスtについての値sの合計が値sである値s及び値sを用いて生成された要素kと要素kとであって、前記基底ベクトルb0,rに対応する基底ベクトルb 0,rの係数として値−sが設定された要素kと、集合Iv→に含まれる各インデックスtについて、前記基底ベクトルbに対応する基底ベクトルb の係数として述語情報vが設定され、前記基底ベクトルbに対応する基底ベクトルb の係数として値sが設定された要素kとを有する復号鍵を記憶する復号鍵記憶部と、
前記暗号文生成部が生成した暗号文を、前記復号鍵記憶部が記憶した復号鍵により復号する復号部であって、前記要素c及び前記要素kと、前記集合Iv→に含まれる各インデックスtについての要素c及び要素kとに対して、対応する基底ベクトル毎のペアリング演算の積を計算して、前記暗号文を復号する復号部と
を備えることを特徴とする。
この発明に係る暗号システムは、集合Iv→に含まれるインデックスtについてのみペアリング演算を行っており、属性ベクトルxと述語ベクトルvとの次元が同じである必要はない。そのため、この発明に係る暗号システムは、自由度の高い内積述語暗号方式を実現できる。
実施の形態1に係る暗号処理システム10の構成図。 実施の形態1に係る鍵生成装置100の機能を示す機能ブロック図。 実施の形態1に係る暗号化装置200の機能を示す機能ブロック図。 実施の形態1に係る復号装置300の機能を示す機能ブロック図。 実施の形態1に係るSetupアルゴリズムの処理を示すフローチャート。 実施の形態1に係るKeyGenアルゴリズムの処理を示すフローチャート。 実施の形態1に係るEncアルゴリズムの処理を示すフローチャート。 実施の形態1に係るDecアルゴリズムの処理を示すフローチャート。 実施の形態2に係るKeyGenアルゴリズムの処理を示すフローチャート。 実施の形態2に係るEncアルゴリズムの処理を示すフローチャート。 実施の形態2に係るDecアルゴリズムの処理を示すフローチャート。 実施の形態3に係るSetupアルゴリズムの処理を示すフローチャート。 実施の形態3に係るKeyGenアルゴリズムの処理を示すフローチャート。 実施の形態3に係るEncアルゴリズムの処理を示すフローチャート。 実施の形態3に係るDecアルゴリズムの処理を示すフローチャート。 鍵生成装置100、暗号化装置200、復号装置300のハードウェア構成の一例を示す図。
以下、図に基づき、発明の実施の形態を説明する。
以下の説明において、処理装置は後述するCPU911等である。記憶装置は後述するROM913、RAM914、磁気ディスク920等である。通信装置は後述する通信ボード915等である。入力装置は後述するキーボード902、通信ボード915等である。出力装置は後述するRAM914、磁気ディスク920、通信ボード915、LCD901等である。つまり、処理装置、記憶装置、通信装置、入力装置、出力装置はハードウェアである。
以下の説明における記法について説明する。
Aがランダムな変数または分布であるとき、数101は、Aの分布に従いAからyをランダムに選択することを表す。つまり、数101において、yは乱数である。
Figure 0005921410
Aが集合であるとき、数102は、Aからyを一様に選択することを表す。つまり、数102において、yは一様乱数である。
Figure 0005921410
数103は、yがzにより定義された集合であること、又はyがzを代入された集合であることを表す。
Figure 0005921410
aが定数であるとき、数104は、機械(アルゴリズム)Aが入力xに対しaを出力することを表す。
Figure 0005921410
数105、つまりFは、位数qの有限体を示す。
Figure 0005921410
ベクトル表記は、有限体Fにおけるベクトル表示を表す。つまり、数106である。
Figure 0005921410
数107は、数108に示す2つのベクトルxとvとの数109に示す内積を表す。
Figure 0005921410
Figure 0005921410
Figure 0005921410
は、行列Xの転置行列を表す。
数110に示す基底Bと基底Bとに対して、数111である。
Figure 0005921410
Figure 0005921410
また、以下の説明において、“δi,j”が上付きで示されている場合、このδi,jは、δi,jを意味する。
また、ベクトルを意味する“→”が下付き文字又は上付き文字に付されている場合、この“→”は下付き文字又は上付き文字に上付きで付されていることを意味する。
また、以下の説明において、暗号プリミティブの処理は、情報を第三者から秘匿するための狭義の暗号処理だけでなく、署名処理をも含むものであり、鍵生成処理、暗号化処理、復号処理、署名処理、検証処理を含む。
実施の形態1.
実施の形態1では、内積述語暗号方式の基礎となる概念を説明した上で、1つの内積述語暗号方式について説明する。
第1に、属性ベクトルx及び述語ベクトルvの次元について説明する。
第2に、属性カテゴリの追加について説明する。
第3に、内積述語暗号方式を実現するための空間である「双対ペアリングベクトル空間(Dual Pairing Vector Spaces(DPVS))」という豊かな数学的構造を有する空間を説明する。
第4に、実施の形態1に係る内積述語暗号方式(Type1)について説明する。
<第1.属性ベクトルx及びvの次元>
非特許文献30,31に記載された内積述語暗号方式では、属性ベクトルx及び述語ベクトルvの次元が同じであるという制約があった。この制約は、内積x・vの関係に対しては不可避であると考えられていた。しかし、様々なアプリケーションにおいて効率を改善するためには、この制約を緩和する必要がある。
一例として、個人の遺伝子データについて考える。個人の遺伝子データは、慎重に扱うべきデータであり、データの処理や検索を行う場合には暗号化されるべきデータである。遺伝子データは膨大な情報量であるが、多くのアプリケーションでは、遺伝子データの一部のみが用いられるという特徴がある。
例えば、アリスの遺伝子データがある特性を有しているか否かを検査する場合、多数(例えば、100個)の遺伝子プロパティのうち、対象とする数個(例えば、3個)の遺伝子プロパティについて、アリスの遺伝子データが条件を満たしているか否かを判定する。残り(97個)の遺伝子プロパティについては、条件を満たしているか否か判定する必要はない。
例えば、X,...,X100は100個の遺伝子プロパティであり、x,...,x100はアリスについての100個の遺伝子プロパティの値であるとする。3次の(多変数の)検査多項式fに対してf(x,...,x100)=0か否かを評価するために、又は、対応する述語φ(x,...,x100)の真理値を評価するために、アリスの属性ベクトルxを、3次のアリスの値の単項式ベクトルx:=(1,x,...,x100,x ,x,...,x100 ,x ,x ,...,x100 )に変換する。この属性ベクトルxは、約10次元である。
検査に使用される検査式(述語)は、((X=a)∨(X16=b))∧(X57=c)であり、3つの遺伝子プロパティX,X16,X57にのみ注目したものであるとする。これは、r(X−a)(X16−b)+r(X57−c)=0(ここで、r、rは一様乱数)という多項式によって表される。なお、この多項式は、(rab−rc)−rbX−raX16+r57+r16=0に変換できる。x・v=0の場合に限り、r(X−a)(X16−b)+r(X57−c)=0とするため、この多項式は、述語ベクトルvは、((rab−rc),0,...,0,−rb,0,...,0,−ra,0,...,0,r,0,...,0,r,0,...,0)に変換される。この述語ベクトルvは、有効な次元(0以外の要素を有する次元)は5次元だけであるが、属性ベクトルxと同じ約10次元である。
このように、述語ベクトルvは、実際に有効な次元は5次元であるにも関わらず、約10次元としなければならないのは、属性ベクトルx及び述語ベクトルvの次元が同じであるという制約があるためである。この制限を取り除ければ、述語ベクトルvを有効な次元(ここでは、5次元)だけで構成することが可能になる。
ここでは、述語ベクトルvを有効な次元だけで構成することを説明したが、同様に、属性ベクトルxを有効な次元だけで構成することも可能である。
<第2.属性カテゴリの追加>
属性カテゴリとは、例えば、所属機関、所属部署、役職、年齢、性別等、各ユーザの属性の分類のことである。
以下の実施の形態で説明する内積述語暗号方式は、ユーザの属性に基づくアクセスコントロールを実現する。例えば、情報を第三者から秘匿するための狭義の暗号処理であれば、ユーザの属性に基づき、暗号文を復号できるか否かを制御する。
通常、アクセスコントロールに使用する属性カテゴリは、システム設計時に予め決定される。しかし、後にシステムの運用が変更され、アクセスコントロールに使用する属性カテゴリの追加が必要になる場合がある。
例えば、A会社内のみで使用することを想定して暗号システムを構築したとする。この場合、使用する属性カテゴリとしては、所属部署、役職、個人のID等が想定される。しかし、後に、A会社だけでなく、A会社の関連会社でも暗号システムを使用するように運用が変更されたとする。この場合、使用する属性カテゴリとして、新たに所属会社を追加する必要がある。
アクセスコントロールに使用する属性カテゴリが、公開パラメータにより規定されている場合、後に属性カテゴリを追加するには、公開パラメータを再発行し、ユーザへ配布し直さなければならない。そのため、後に属性カテゴリを追加することは容易でなく、システム設計時に想定していなかった運用形態を柔軟に採用することができない。
そのため、公開パラメータを再発行することなく、属性カテゴリを追加できることは重要である。
公開パラメータを再発行することなく、属性カテゴリの追加を可能とするために、双対ペアリングベクトル空間における双対システム暗号に、インデックス付けの技法を適用する。
双対ペアリングベクトル空間における双対システム暗号では、双対基底である基底Bと基底Bとがランダムに生成される。そして、基底Bの一部(基底B^)が公開パラメータとされる。
非特許文献31に記載された内積述語暗号方式では、基底B^,...,基底B^が公開パラメータとして生成される。そして、t=1,...,dの各整数tについての基底B^に、1つの属性カテゴリが割り当てられる。つまり、d個の属性カテゴリを扱うことができる。
ここで、基底B^,...,基底B^が公開パラメータであることから明らかなように、後に基底B^を追加する場合、すなわちdの値を増やす場合には、公開パラメータを再発行しなければならない。つまり、dの値は公開パラメータによって制限されている。
以下に説明する内積述語暗号方式では、基底B^が公開パラメータとして生成される。そして、t=1,...,dの各整数tについて、σ(1,t)とμ(t,−1)との2次元のインデックスベクトルが暗号文cと秘密鍵kとに設定され、各整数tに対して1つの属性カテゴリが割り当てられる。つまり、d個の属性カテゴリを扱うことができる。
ここで、公開パラメータには、基底B^は含まれているものの、インデックスベクトルは含まれていない。そのため、後にインデックスベクトルを追加し、dの値を増やす場合、公開パラメータを再発行する必要はない。つまり、dの値は公開パラメータによって制限されていない。
<第3.双対ペアリングベクトル空間>
以下に説明する内積述語暗号方式は、双対ペアリングベクトル空間において実現される。
まず、対称双線形ペアリング群について説明する。
対称双線形ペアリング群(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、数112に示すF上のN次元ベクトル空間V、位数qの巡回群G、空間Vの標準基底A:=(a,...,a)の組であり、以下の演算(1)(2)を有する。ここで、aは、数113に示す通りである。
Figure 0005921410
Figure 0005921410
演算(1):非退化双線形ペアリング
空間Vにおけるペアリングは、数114によって定義される。
Figure 0005921410
これは、非退化双線形である。つまり、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):ディストーション写像
数115に示す空間Vにおける線形変換φi,jは、数116を行うことができる。
Figure 0005921410
Figure 0005921410
ここで、線形変換φi,jをディストーション写像と呼ぶ。
以下の説明において、Gdpvsを、1λ(λ∈自然数)、N∈自然数、双線形ペアリング群のパラメータparam:=(q,G,G,g,e)の値を入力として、セキュリティパラメータがλであり、N次元の空間Vとする双対ペアリングベクトル空間のパラメータparam:=(q,V,G,A,e)の値を出力するアルゴリズムとする。
なお、ここでは、上述した対称双線形ペアリング群により、双対ペアリングベクトル空間を構成した場合について説明する。なお、非対称双線形ペアリング群により双対ペアリングベクトル空間を構成することも可能である。以下の説明を、非対称双線形ペアリング群により双対ペアリングベクトル空間を構成した場合に応用することは容易である。
<第4.内積述語暗号方式>
内積述語暗号方式は、Setup、KeyGen、Enc、Decの4つの確率的多項式時間アルゴリズムを備える。
(Setup)
Setupアルゴリズムでは、セキュリティパラメータ1λが入力され、マスター公開鍵pkとマスター秘密鍵skとが出力される。
(KeyGen)
KeyGenアルゴリズムでは、マスター公開鍵pkとマスター秘密鍵skと述語ベクトルvとが入力され、秘密鍵skが出力される。
(Enc)
Encアルゴリズムでは、マスター公開鍵pkと属性ベクトルxとメッセージmとが入力され、暗号文ctが出力される。
(Dec)
Decアルゴリズムでは、マスター公開鍵pkと秘密鍵skと暗号文ctとが入力され、メッセージm又は識別情報⊥が出力される。識別情報⊥とは、復号に失敗したことを示す情報である。
内積述語暗号方式のアルゴリズムを実行する暗号処理システム10について説明する。
図1は、実施の形態1に係る暗号処理システム10の構成図である。
暗号処理システム10は、鍵生成装置100、暗号化装置200(送信装置)、復号装置300(受信装置)を備える。
鍵生成装置100は、セキュリティパラメータλを入力としてSetupアルゴリズムを実行して、マスター公開鍵pkとマスター秘密鍵skとを生成する。そして、鍵生成装置100は、生成したマスター公開鍵pkを公開する。また、鍵生成装置100は、マスター公開鍵pkとマスター秘密鍵skと述語ベクトルvとを入力としてKeyGenアルゴリズムを実行して、秘密鍵skを生成して復号装置300へ秘密裡に配布する。
暗号化装置200は、マスター公開鍵pkと属性ベクトルxとメッセージmとを入力としてEncアルゴリズムを実行して、暗号文ctを生成する。暗号化装置200は、生成した暗号文ctを復号装置300へ送信する。
復号装置300は、マスター公開鍵pkと秘密鍵skと暗号文ctとを入力としてDecアルゴリズムを実行して、メッセージm又は識別情報⊥を出力する。
図2は、実施の形態1に係る鍵生成装置100の機能を示す機能ブロック図である。図3は、実施の形態1に係る暗号化装置200の機能を示す機能ブロック図である。図4は、実施の形態1に係る復号装置300の機能を示す機能ブロック図である。
図5と図6とは、実施の形態1に係る鍵生成装置100の動作を示すフローチャートである。なお、図5は実施の形態1に係るSetupアルゴリズムの処理を示すフローチャートであり、図6は実施の形態1に係るKeyGenアルゴリズムの処理を示すフローチャートである。図7は、実施の形態1に係る暗号化装置200の動作を示すフローチャートであり、実施の形態1に係るEncアルゴリズムの処理を示すフローチャートである。図8は、実施の形態1に係る復号装置300の動作を示すフローチャートであり、実施の形態1に係るDecアルゴリズムの処理を示すフローチャートである。
鍵生成装置100の機能と動作とについて説明する。
図2に示すように、鍵生成装置100は、マスター鍵生成部110、マスター鍵記憶部120、情報入力部130、復号鍵生成部140、鍵配布部150を備える。
まず、図5に基づき、Setupアルゴリズムの処理について説明する。
(S101:正規直交基底生成ステップ)
マスター鍵生成部110は、処理装置により、数117を計算して、パラメータparamと、基底B及び基底B と、基底B(基底B)及び基底B (基底B)とを生成する。
Figure 0005921410
つまり、マスター鍵生成部110は以下の処理を実行する。
(1)マスター鍵生成部110は、入力装置により、セキュリティパラメータλ(1λ)を入力する。
(2)マスター鍵生成部110は、処理装置により、(1)で入力したセキュリティパラメータλ(1λ)を入力としてアルゴリズムGbpgを実行して、双線形ペアリング群のパラメータparam:=(q,G,G,g,e)の値を生成する。
(3)マスター鍵生成部110は、処理装置により、乱数ψを生成するとともに、Nに1+u+1+w+zを、Nに4+u+w+zを設定する。なお、u,w,z,u,w,zはそれぞれ0以上の整数である。
続いて、マスター鍵生成部110は、t=0,1の各tについて以下の(4)から(8)までの処理を実行する。
(4)マスター鍵生成部110は、処理装置により、(1)で入力したセキュリティパラメータλ(1λ)と、(3)で設定したNと、(2)で生成したparam:=(q,G,G,g,e)の値とを入力としてアルゴリズムGdpvsを実行して、双対ペアリングベクトル空間のパラメータparamVt:=(q,V,G,A,e)の値を生成する。
(5)マスター鍵生成部110は、処理装置により、(3)で設定した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である。
(6)マスター鍵生成部110は、処理装置により、乱数ψと線形変換Xとに基づき、(νt,i,ji,j:=ψ・(X −1を生成する。なお、(νt,i,ji,jも(χt,i,ji,jと同様に、行列νt,i,jの添え字i,jに関する行列という意味であり、ここでは、i,j=1,...,Nである。
(7)マスター鍵生成部110は、処理装置により、(5)で生成した線形変換Xに基づき、(4)で生成した標準基底Aから基底Bを生成する。なお、x t,iとは、線形変換Xのi行目を示す。
(8)マスター鍵生成部110は、処理装置により、(6)で生成した(νt,i,ji,jに基づき、(4)で生成した標準基底Aから基底B を生成する。なお、v t,iとは、線形変換X のi行目を示す。
(9)マスター鍵生成部110は、処理装置により、gにe(g,g)ψを設定する。また、マスター鍵生成部110は、paramに(4)で生成した{paramVtt=0,1と、gとを設定する。
すなわち、S101で、マスター鍵生成部110は、数118に示すアルゴリズムGobを実行して、paramと、基底B及び基底B と、基底B(基底B)及び基底B (基底B)とを生成する。
Figure 0005921410
なお、以下の説明では、簡単のため、基底B及び基底B を基底B及び基底Bとする。
(S102:公開パラメータ生成ステップ)
マスター鍵生成部110は、処理装置により、S101で生成した基底Bの部分基底B^と、基底Bの部分基底B^とを数119に示すように生成する。
Figure 0005921410
マスター鍵生成部110は、生成した部分基底B^及び部分基底B^と、S101で入力されたセキュリティパラメータλ(1λ)と、S101で生成したparamとを合わせて、公開パラメータpkとする。
(S103:マスター鍵生成ステップ)
マスター鍵生成部110は、処理装置により、S101で生成した基底B の部分基底B^ と、基底Bの部分基底B^とを数120に示すように生成する。
Figure 0005921410
マスター鍵生成部110は、生成した部分基底B^ と部分基底B^とをマスター鍵skとする。
(S104:マスター鍵記憶ステップ)
マスター鍵記憶部120は、S102で生成した公開パラメータpkを記憶装置に記憶する。また、マスター鍵記憶部120は、S103で生成したマスター鍵skを記憶装置に記憶する。
つまり、S101からS103において、鍵生成装置100は、数121に示すSetupアルゴリズムを実行して、公開パラメータpkとマスター鍵skとを生成する。そして、S104で、鍵生成装置100は、生成した公開パラメータpkとマスター鍵skとを記憶装置に記憶する。
なお、公開パラメータは、例えば、ネットワークを介して公開され、暗号化装置200や復号装置300が取得可能な状態にされる。
Figure 0005921410
図6に基づき、KeyGenアルゴリズムの処理について説明する。
(S201:情報入力ステップ)
情報入力部130は、入力装置により、述語ベクトルv:={(t,v)|t∈Iv→}を入力する。つまり、述語ベクトルvは、集合Iv→に含まれるインデックスtについて、インデックスtと述語情報vとを要素として有するベクトルである。述語情報vとしては、例えば、復号鍵skの使用者の属性情報が設定されている。
(S202:秘密情報生成ステップ)
復号鍵生成部140は、処理装置により、秘密情報s,sを数122に示すように生成する。
Figure 0005921410
(S203:乱数生成ステップ)
復号鍵生成部140は、処理装置により、乱数を数123に示すように生成する。
Figure 0005921410
(S204:鍵要素生成ステップ)
復号鍵生成部140は、処理装置により、復号鍵skの要素k を数124に示すように生成する。
Figure 0005921410
なお、上述したように、数110に示す基底Bと基底Bとに対して、数111である。したがって、数124は、基底B の基底ベクトルb 0,1の係数として−sを設定し、基底ベクトルb 0,1+1,...,b 0,1+u0の係数として0を設定し、基底ベクトルb 0,1+u0+1の係数として1を設定し、基底ベクトルb 0,1+u0+1+1,...,b 0,1+u0+1+w0の係数としてη0,1,...,η0,w0を設定し、基底ベクトルb 0,1+u0+1+w0+1,...,b 0,1+u0+1+w0+z0の係数として0を設定することを意味する。ここで、u0,w0,z0はそれぞれu,w,zのことである。
また、復号鍵生成部140は、処理装置により、集合Iv→に含まれるインデックスtについて、復号鍵skの要素k を数125に示すように生成する。
Figure 0005921410
つまり、数125は、数124と同様に、基底Bの基底ベクトルb の係数としてμtを設定し、基底ベクトルb の係数として−μを設定し、基底ベクトルb の係数としてδvを設定し、基底ベクトルb の係数としてsを設定し、基底ベクトルb 4+1,...,b 4+uの係数として0を設定し、基底ベクトルb 4+u+1,...,b 4+u+wの係数としてηt,1,...,ηt,wを設定し、基底ベクトルb 4+u+w+1,...,b 4+u+w+zの係数として0を設定することを意味する。
(S205:鍵配布ステップ)
鍵配布部150は、S204で生成されたk ,k とを要素とする復号鍵skを、例えば通信装置によりネットワークを介して秘密裡に復号装置300へ配布する。もちろん、復号鍵skは、他の方法により復号装置300へ配布されてもよい。
つまり、S201からS204において、鍵生成装置100は、数126に示すKeyGenアルゴリズムを実行して、復号鍵skを生成する。そして、S205で、鍵生成装置100は、生成した復号鍵skを復号装置300へ配布する。
Figure 0005921410
暗号化装置200の機能と動作とについて説明する。
暗号化装置200は、公開パラメータ取得部210、情報入力部220、暗号文生成部230、データ送信部240を備える。
図7に基づき、Encアルゴリズムの処理について説明する。
(S301:公開パラメータ取得ステップ)
公開パラメータ取得部210は、例えば、通信装置によりネットワークを介して、鍵生成装置100が生成した公開パラメータpkを取得する。
(S302:情報入力ステップ)
情報入力部220は、入力装置により、復号装置300へ送信するメッセージmを入力する。また、情報入力部220は、入力装置により、属性ベクトルx:={(t,x)|t∈Ix→}を入力する。つまり、属性ベクトルxは、集合Ix→に含まれるインデックスtについて、インデックスtと属性情報xとを要素として有するベクトルである。属性ベクトルxは、例えば、復号可能なユーザの属性情報が設定されている。
(S303:乱数生成ステップ)
暗号文生成部230は、処理装置により、乱数を数127に示すように生成する。
Figure 0005921410
(S304:暗号要素生成ステップ)
暗号文生成部230は、処理装置により、暗号文ctの要素cを数128に示すように生成する。
Figure 0005921410
また、暗号文生成部230は、処理装置により、集合Ix→に含まれるインデックスtについて、暗号文ctの要素cを数129に示すように生成する。
Figure 0005921410
また、暗号要素生成部232は、処理装置により、暗号文ctの要素cを数130に示すように生成する。
Figure 0005921410
(S305:データ送信ステップ)
データ送信部240は、S304で生成されたc,c,cを要素とする暗号文ctを、例えば通信装置によりネットワークを介して復号装置300へ送信する。もちろん、暗号文ctは、他の方法により復号装置300へ送信されてもよい。
つまり、S301からS304において、暗号化装置200は、数131に示すEncアルゴリズムを実行して、暗号文ctを生成する。そして、S305で、暗号化装置200は生成した暗号文ctを復号装置300へ送信する。
Figure 0005921410
復号装置300の機能と動作とについて説明する。
復号装置300は、復号鍵取得部310、復号鍵記憶部320、暗号文取得部330、ペアリング演算部340、メッセージ計算部350を備える。ペアリング演算部340とメッセージ計算部350とを合わせて復号部と呼ぶ。
図8に基づき、Decアルゴリズムの処理について説明する。
(S401:復号鍵取得ステップ)
復号鍵取得部310は、例えば、通信装置によりネットワークを介して、鍵生成装置100から配布された復号鍵skを取得する。また、復号鍵取得部310は、鍵生成装置100が生成した公開パラメータpkを取得する。
復号鍵取得部310は、取得した復号鍵skと公開パラメータpkとを復号鍵記憶部320に記憶する。
(S402:暗号文取得ステップ)
暗号文取得部330は、例えば、通信装置によりネットワークを介して、暗号化装置200が送信した暗号文ctを受信する。
(S403:ペアリング演算ステップ)
ペアリング演算部340は、処理装置により、数132を計算して、セッション鍵K=g ζを生成する。
Figure 0005921410
なお、もし、数133であるなら、数134に示すように、数132を計算することにより鍵K=g ζが得られる。
Figure 0005921410
Figure 0005921410
つまり、集合Iv→が集合Ix→の部分集合であり、かつ、集合Iv→に含まれるインデックスtについて、vの合計が0となるなら、数132を計算することにより鍵K=g ζが得られる。
(S404:メッセージ計算ステップ)
メッセージ計算部350は、処理装置により、m’=c/Kを計算して、メッセージm’(=m)を生成する。なお、cは数130に示す通りg ζmであり、Kはg ζであるから、m’=c/Kを計算すればメッセージmが得られる。
つまり、S401からS404において、復号装置300は、数135に示すDecアルゴリズムを実行して、メッセージm’(=m)を生成する。
Figure 0005921410
以上のように、実施の形態1に係る内積述語暗号方式では、属性ベクトルx及び述語ベクトルvの次元が同じでなくても、集合Iv→が集合Ix→の部分集合であり、かつ、集合Iv→に含まれるインデックスtについて、vの合計が0となるなら、暗号文ctを復号鍵skで復号することができる。
また、実施の形態1に係る内積述語暗号方式では、復号鍵skの要素k について、基底ベクトルb ,b (基底ベクトルb index)の係数として、μtと−μとをそれぞれ設定した。また、暗号システム10は、暗号文ctの要素cについて、基底ベクトルb,b(基底ベクトルbindex)の係数として、σとσtとをそれぞれ設定した。
そのため、対応するインデックスtについての要素k と要素cとのペアリング演算を行うと、基底ベクトルb ,b と基底ベクトルb,bとの部分については、内積が0となり、キャンセルされる。つまり、対応するインデックスtについての要素k と要素cとのペアリング演算を行うと、基底ベクトルの係数として設定したインデックス部(基底ベクトルb ,b と基底ベクトルb,bとの部分)はキャンセルされ、残りの部分についてのペアリング演算の結果が得られる。
実施の形態1に係る内積述語暗号方式では、インデックス部を設けることにより、各属性カテゴリで使用する基底を共通の基底(基底B及び基底B)とすることができる。その結果、公開パラメータには、基底B及び基底Bだけを含めておけばよく、後に属性カテゴリを追加する場合に、公開パラメータを再発行する必要がない。
なお、インデックス部については、内積した結果が0となればよい。そのため、上記説明では、基底ベクトルb ,b と基底ベクトルb,bとの2次元をインデックス部としが、これに限らず、3次元以上をインデックス部としてもよい。また、インデックス部への値の割り当ても上記説明のものに限らず、他の割り当てであってもよい。
また、上記説明では、インデックス部を設けることにより、各属性カテゴリで使用する基底を共通の基底(基底B及び基底B)とした。しかし、後に属性カテゴリを追加する場合に、公開パラメータを再発行してもよい場合、各属性カテゴリで使用する基底を別の基底にすれば、インデックス部を設ける必要はない。
この場合、上述した内積述語暗号方式のGobアルゴリズム、Setupアルゴリズム、KeyGenアルゴリズム、Encアルゴリズムは、数136から数139のようになる。なお、Decアルゴリズムは数135の通りであり、変更はない。
Figure 0005921410
Figure 0005921410
Figure 0005921410
Figure 0005921410
つまり、インデックスt毎に異なる基底B及び基底B を用いる。
また、上記説明では、u,w,z,u,w,zはそれぞれ0以上の整数であるとした。例えば、u=1,w=1,z=1,u=9,w=2,z=2としてもよい。
実施の形態2.
実施の形態1では、集合Iv→が集合Ix→の部分集合であり、かつ、集合Iv→に含まれるインデックスtについて、vの合計が0となるなら、暗号文ctを復号鍵skで復号することができる内積述語暗号方式(Type1)について説明した。
実施の形態2では、集合Ix→が集合Iv→の部分集合であり、かつ、集合Ix→に含まれるインデックスtについて、vの合計が0となるなら、暗号文ctを復号鍵skで復号することができる内積述語暗号方式(Type2)について説明する。
実施の形態2では、実施の形態1と異なる部分を中心に説明する。
実施の形態2に係る暗号処理システム10の構成は、図1に示す実施の形態1に係る暗号処理システム10の構成と同じである。また、実施の形態2に係る鍵生成装置100、暗号化装置200、復号装置300の構成は、図2から図4に示す実施の形態1に係る鍵生成装置100、暗号化装置200、復号装置300の構成と同じである。
図9は、実施の形態2に係るKeyGenアルゴリズムの処理を示すフローチャートである。図10は、実施の形態2に係るEncアルゴリズムの処理を示すフローチャートである。図11は、実施の形態2に係るDecアルゴリズムの処理を示すフローチャートである。
実施の形態2に係るSetupアルゴリズムは、実施の形態1に係るSetupアルゴリズムと同じである。
図9に基づき、KeyGenアルゴリズムについて説明する。
S501の処理は、図6に示すS201の処理と同じである。
(S502:乱数生成ステップ)
復号鍵生成部140は、処理装置により、乱数を数140に示すように生成する。
Figure 0005921410
(S503:鍵要素生成ステップ)
復号鍵生成部140は、処理装置により、復号鍵skの要素k を数141に示すように生成する。
Figure 0005921410
また、復号鍵生成部140は、処理装置により、集合Iv→に含まれるインデックスtについて、復号鍵skの要素k を数142に示すように生成する。
Figure 0005921410
(S504:鍵配布ステップ)
鍵配布部150は、S503で生成されたk ,k とを要素とする復号鍵skを、例えば通信装置によりネットワークを介して秘密裡に復号装置300へ配布する。もちろん、復号鍵skは、他の方法により復号装置300へ配布されてもよい。
つまり、S501からS503において、鍵生成装置100は、数143に示すKeyGenアルゴリズムを実行して、復号鍵skを生成する。そして、S504で、鍵生成装置100は、生成した復号鍵skを復号装置300へ配布する。
Figure 0005921410
図10に基づき、Encアルゴリズムの処理について説明する。
S601からS602の処理は、図7に示すS301からS302の処理と同じである。
(S603:秘密情報生成ステップ)
暗号文生成部230は、処理装置により、秘密情報f,fを数144に示すように生成する。
Figure 0005921410
(S604:乱数生成ステップ)
暗号文生成部230は、処理装置により、乱数を数145に示すように生成する。
Figure 0005921410
(S605:暗号要素生成ステップ)
暗号文生成部230は、処理装置により、暗号文ctの要素cを数146に示すように生成する。
Figure 0005921410
また、暗号文生成部230は、処理装置により、集合Ix→に含まれるインデックスtについて、暗号文ctの要素cを数147に示すように生成する。
Figure 0005921410
また、暗号要素生成部232は、処理装置により、暗号文ctの要素cを数148に示すように生成する。
Figure 0005921410
(S606:データ送信ステップ)
データ送信部240は、S605で生成されたc,c,cを要素とする暗号文ctを、例えば通信装置によりネットワークを介して復号装置300へ送信する。もちろん、暗号文ctは、他の方法により復号装置300へ送信されてもよい。
つまり、S601からS605において、暗号化装置200は、数149に示すEncアルゴリズムを実行して、暗号文ctを生成する。そして、S606で、暗号化装置200は生成した暗号文ctを復号装置300へ送信する。
Figure 0005921410
図11に基づき、Decアルゴリズムの処理について説明する。
S701からS702の処理は、図8に示すS401からS402の処理と同じである。また、S704の処理は、図8に示すS404の処理と同じである。
(S703:ペアリング演算ステップ)
ペアリング演算部340は、処理装置により、数150を計算して、セッション鍵K=g ζを生成する。
Figure 0005921410
なお、もし、数151であるなら、数152に示すように、数150を計算することにより鍵K=g ζが得られる。
Figure 0005921410
Figure 0005921410
つまり、集合Ix→が集合Iv→の部分集合であり、かつ、集合Ix→に含まれるインデックスtについて、vの合計が0となるなら、数150を計算することにより鍵K=g ζが得られる。
つまり、S701からS704において、復号装置300は、数153に示すDecアルゴリズムを実行して、メッセージm’(=m)を生成する。
Figure 0005921410
以上のように、実施の形態2に係る内積述語暗号方式では、属性ベクトルx及び述語ベクトルvの次元が同じでなくても、集合Ix→が集合Iv→の部分集合であり、かつ、集合Ix→に含まれるインデックスtについて、vの合計が0となるなら、暗号文ctを復号鍵skで復号することができる。
また、上記説明では、インデックス部を設けることにより、各属性カテゴリで使用する基底を共通の基底(基底B及び基底B)とした。しかし、後に属性カテゴリを追加する場合に、公開パラメータを再発行してもよい場合、各属性カテゴリで使用する基底を別の基底にすれば、インデックス部を設ける必要はない。
この場合、上述した内積述語暗号方式のKeyGenアルゴリズム、Encアルゴリズムは、数154から数155のようになる。なお、Gobアルゴリズムは数136と同じであり、Setupアルゴリズムは数137と同じであり、Decアルゴリズムは数153の通りであり、変更はない。
Figure 0005921410
Figure 0005921410
つまり、インデックスt毎に異なる基底B及び基底B を用いる。
実施の形態3.
実施の形態1では、集合Iv→が集合Ix→の部分集合であり、かつ、集合Iv→に含まれるインデックスtについて、vの合計が0となるなら、暗号文ctを復号鍵skで復号することができる内積述語暗号方式(Type1)について説明した。
実施の形態2では、集合Ix→が集合Iv→の部分集合であり、かつ、集合Ix→に含まれるインデックスtについて、vの合計が0となるなら、暗号文ctを復号鍵skで復号することができる内積述語暗号方式(Type2)について説明した。
実施の形態3では、集合Iv→が集合Ix→と等しく、かつ、集合Iv→(又は集合Ix→)に含まれるインデックスtについて、vの合計が0となるなら、暗号文ctを復号鍵skで復号することができる内積述語暗号方式(Type0)について説明する。
なお、集合Iv→が集合Ix→と等しいとは、集合Iv→が集合Ix→の部分集合であり、かつ、集合Ix→が集合Iv→の部分集合であることを意味する。したがって、内積述語暗号方式(Type0)は、実施の形態1で説明した内積述語暗号方式(Type1)と、実施の形態2で説明した内積述語暗号方式(Type2)とを組み合わせた方式ということができる。
実施の形態3では、実施の形態1,2と異なる部分を中心に説明する。
実施の形態3に係る暗号処理システム10の構成は、図1に示す実施の形態1に係る暗号処理システム10の構成と同じである。また、実施の形態3に係る鍵生成装置100、暗号化装置200、復号装置300の構成は、図2から図4に示す実施の形態1に係る鍵生成装置100、暗号化装置200、復号装置300の構成と同じである。
図12は、実施の形態3に係るSetupアルゴリズムの処理を示すフローチャートである。図13は、実施の形態3に係るKeyGenアルゴリズムの処理を示すフローチャートである。図14は、実施の形態3に係るEncアルゴリズムの処理を示すフローチャートである。図15は、実施の形態3に係るDecアルゴリズムの処理を示すフローチャートである。
図12に基づき、Setupアルゴリズムについて説明する。
S801の処理は、図5に示すS101の処理と同じである。但し、N=2+u+1+w+z、N=5+u+w+zである点が異なる。
つまり、S801で、マスター鍵生成部110は、数156に示すアルゴリズムGobを実行して、paramと、基底B及び基底B と、基底B(基底B)及び基底B (基底B)とを生成する。
Figure 0005921410
(S802:公開パラメータ生成ステップ)
マスター鍵生成部110は、処理装置により、S801で生成した基底Bの部分基底B^と、基底Bの部分基底B^とを数157に示すように生成する。
Figure 0005921410
マスター鍵生成部110は、生成した部分基底B^及び部分基底B^と、S801で入力されたセキュリティパラメータλ(1λ)と、S801で生成したparamとを合わせて、公開パラメータpkとする。
(S803:マスター鍵生成ステップ)
マスター鍵生成部110は、処理装置により、S801で生成した基底B の部分基底B^ と、基底Bの部分基底B^とを数158に示すように生成する。
Figure 0005921410
マスター鍵生成部110は、生成した部分基底B^ と部分基底B^とをマスター鍵skとする。
S804の処理は、図5に示すS104の処理と同じである。
つまり、S801からS803において、鍵生成装置100は、数159に示すSetupアルゴリズムを実行して、公開パラメータpkとマスター鍵skとを生成する。そして、S804で、鍵生成装置100は、生成した公開パラメータpkとマスター鍵skとを記憶装置に記憶する。
なお、公開パラメータは、例えば、ネットワークを介して公開され、暗号化装置200や復号装置300が取得可能な状態にされる。
Figure 0005921410
図13に基づき、KeyGenアルゴリズムについて説明する。
(S901:情報入力ステップ)
情報入力部130は、入力装置により、述語ベクトルv:=(v,...,v)を入力する。述語情報vとしては、例えば、復号鍵skの使用者の属性情報が設定されている。
(S902:秘密情報生成ステップ)
復号鍵生成部140は、処理装置により、秘密情報s,sを数160に示すように生成する。
Figure 0005921410
(S903:乱数生成ステップ)
復号鍵生成部140は、処理装置により、乱数を数161に示すように生成する。
Figure 0005921410
(S904:鍵要素生成ステップ)
復号鍵生成部140は、処理装置により、復号鍵skの要素k を数162に示すように生成する。
Figure 0005921410
また、復号鍵生成部140は、処理装置により、t=1,...,nの各インデックスtについて、復号鍵skの要素k を数163に示すように生成する。
Figure 0005921410
(S905:鍵配布ステップ)
鍵配布部150は、S904で生成されたk ,k とを要素とする復号鍵skを、例えば通信装置によりネットワークを介して秘密裡に復号装置300へ配布する。もちろん、復号鍵skは、他の方法により復号装置300へ配布されてもよい。
つまり、S901からS904において、鍵生成装置100は、数164に示すKeyGenアルゴリズムを実行して、復号鍵skを生成する。そして、S905で、鍵生成装置100は、生成した復号鍵skを復号装置300へ配布する。
Figure 0005921410
図14に基づき、Encアルゴリズムの処理について説明する。
S1001の処理は、図7に示すS301の処理と同じである。
(S1002:情報入力ステップ)
情報入力部220は、入力装置により、復号装置300へ送信するメッセージmを入力する。また、情報入力部220は、入力装置により、属性ベクトルx:=(x,...,xn’)を入力する。属性ベクトルxは、例えば、復号可能なユーザの属性情報が設定されている。
(S1003:秘密情報生成ステップ)
暗号文生成部230は、処理装置により、秘密情報f,fを数165に示すように生成する。
Figure 0005921410
(S1004:乱数生成ステップ)
暗号文生成部230は、処理装置により、乱数を数166に示すように生成する。
Figure 0005921410
(S1005:暗号要素生成ステップ)
暗号文生成部230は、処理装置により、暗号文ctの要素cを数167に示すように生成する。
Figure 0005921410
また、暗号文生成部230は、処理装置により、t=1,...,n’の各インデックスtについて、暗号文ctの要素cを数168に示すように生成する。
Figure 0005921410
また、暗号要素生成部232は、処理装置により、暗号文ctの要素cを数169に示すように生成する。
Figure 0005921410
(S1006:データ送信ステップ)
データ送信部240は、S1005で生成されたc,c,cを要素とする暗号文ctを、例えば通信装置によりネットワークを介して復号装置300へ送信する。もちろん、暗号文ctは、他の方法により復号装置300へ送信されてもよい。
つまり、S1001からS1005において、暗号化装置200は、数170に示すEncアルゴリズムを実行して、暗号文ctを生成する。そして、S1006で、暗号化装置200は生成した暗号文ctを復号装置300へ送信する。
Figure 0005921410
図15に基づき、Decアルゴリズムの処理について説明する。
S1101からS1102の処理は、図8に示すS401からS402の処理と同じである。
(S1103:ペアリング演算ステップ)
ペアリング演算部340は、処理装置により、数171を計算して、セッション鍵K=g ζを生成する。
Figure 0005921410
なお、もし、数172であるなら、数173に示すように、数171を計算することにより鍵K=g ζが得られる。
Figure 0005921410
Figure 0005921410
つまり、集合Ix→が集合Iv→と等しく、かつ、集合Iv→(又は集合Ix→)に含まれるインデックスtについて、vの合計が0となるなら、数170を計算することにより鍵K=g ζが得られる。
S1104の処理は、図8に示すS404の処理と同じである。
つまり、S1101からS1104において、復号装置300は、数174に示すDecアルゴリズムを実行して、メッセージm’(=m)を生成する。
Figure 0005921410
以上のように、実施の形態3に係る内積述語暗号方式では、集合Ix→が集合Iv→と等しく、かつ、集合Iv→(集合Ix→)に含まれるインデックスtについて、vの合計が0となるなら、暗号文ctを復号鍵skで復号することができる。
また、上記説明では、インデックス部を設けることにより、各属性カテゴリで使用する基底を共通の基底(基底B及び基底B)とした。しかし、後に属性カテゴリを追加する場合に、公開パラメータを再発行してもよい場合、各属性カテゴリで使用する基底を別の基底にすれば、インデックス部を設ける必要はない。
この場合、上述した内積述語暗号方式のGobアルゴリズム、Setupアルゴリズム、KeyGenアルゴリズム、Encアルゴリズムは、数175から数178のようになる。なお、Decアルゴリズムは数174の通りであり、変更はない。
Figure 0005921410
Figure 0005921410
Figure 0005921410
Figure 0005921410
つまり、インデックスt毎に異なる基底B及び基底B を用いる。
また、上記説明では、u,w,z,u,w,zはそれぞれ0以上の整数であるとした。例えば、u=2,w=2,z=2,u=11,w=3,z=3としてもよい。
実施の形態4.
上記実施の形態で説明した内積述語暗号方式を下部構造として有する関数型暗号方式及び属性ベース署名方式について説明する。
非特許文献31には関数型暗号方式についての記載がある。
非特許文献31に記載された関数型暗号方式では、インデックスt毎に、属性ベクトルxと述語ベクトルvとの内積を計算する。そして、与えられた全てのインデックスtについて、属性ベクトルxと述語ベクトルvとの内積が0で暗号文が復号鍵により復号できる。
各インデックスtにおける属性ベクトルxと述語ベクトルvとの内積の計算に、上記実施の形態で説明した内積述語暗号方式を適用する。これにより、上記実施の形態で説明した内積述語暗号方式を下部構造として有する関数型暗号方式を構成する。
非特許文献31に記載された関数型暗号方式では、各インデックスtにおいて、属性ベクトルxと述語ベクトルvと次元は同じでなければならなかった。しかし、上記実施の形態で説明した内積述語暗号方式を下部構造として有する関数型暗号方式とすることにより、各インデックスtにおいて、属性ベクトルxと述語ベクトルvと次元が同じである必要はなくなる。
以下の説明では、一例として、非特許文献31に記載されたKey−Policy関数型暗号方式(KP−FE方式)に、実施の形態1で説明した内積述語暗号方式を適用した場合を説明する。
ここでは、KP−FE方式のうち、実施の形態1で説明した内積述語暗号方式を適用することによって変更が発生した箇所を中心に説明する。
なお、非特許文献31に記載された関数型暗号方式では、変数ρ(i)を用いて、インデックスt毎に、属性ベクトルxと述語ベクトルvとの内積が0になった場合に復号可能とするか、属性ベクトルxと述語ベクトルvとの内積が0以外になった場合に復号可能とするかを使い分けている。しかし、ここでは、説明の簡単のため、与えられた全てのインデックスtについて、属性ベクトルxと述語ベクトルvとの内積が0になった場合に復号可能とする場合を説明する。
また、実施の形態1では、インデックス部を設けることにより、各属性カテゴリで使用する基底を共通の基底(基底B及び基底B)とした。しかし、ここでは、説明の簡単のため、インデックス部を設けず、各属性カテゴリで使用する基底を別の基底とする場合を説明する。
また、非特許文献31と、実施の形態1とでインデックスtと、秘密情報sとの文字が重複している。そこで、ここでは、非特許文献31におけるインデックスtをインデックスτとし、非特許文献31における秘密情報sを秘密情報σとする。
KP−FE方式は、Setupアルゴリズム、KeyGenアルゴリズム、Encアルゴリズム、Decアルゴリズムの4つのアルゴリズムを備える。
Setupアルゴリズムについて説明する。
マスター鍵生成部110は、処理装置により、インデックスτ,t毎に基底Bτ,t及び基底B τ,tを生成する。すなわち、マスター鍵生成部110は、インデックスt毎に基底B及び基底B を生成するのではなく、インデックスτ,t毎に基底Bτ,t及び基底B τ,tを生成する。
つまり、Setupアルゴリズムは、数179に示す通りである。なお、Setupアルゴリズムで用いられるアルゴリズムGobは、数180に示す通りである。
Figure 0005921410
Figure 0005921410
KeyGenアルゴリズムについて説明する。
復号鍵生成部140は、処理装置により、秘密情報σと、秘密情報sとを数181に示すように生成する。
Figure 0005921410
そして、復号鍵生成部140は、処理装置により、復号鍵skの要素k を数182に示すように生成し、i=1,...,L(Lは1以上の整数)及び集合Ivi→に含まれるインデックスtについて、復号鍵skの要素k i,tを数183に示すように生成する。
Figure 0005921410
Figure 0005921410
つまり、KeyGenアルゴリズムは、数184に示す通りである。
Figure 0005921410
Encアルゴリズムについて説明する。
暗号文生成部230は、処理装置により、1つ以上のインデックスτ及び集合Ixi→に含まれるインデックスtについて、暗号文ctの要素cτ,tを数185に示すように生成する。
Figure 0005921410
つまり、Encアルゴリズムは、数186に示す通りである。
Figure 0005921410
Decアルゴリズムについて説明する。
ペアリング演算部340は、処理装置により、数187を計算して、セッション鍵K=g ζを生成して、メッセージm’=cd+1/Kを計算する。
Figure 0005921410
つまり、Decアルゴリズムは、数188に示す通りである。
Figure 0005921410
以上のように、上記実施の形態で説明した内積述語暗号方式を下部構造として有する関数型暗号方式を実現することができる。
上記説明では、後に属性カテゴリを追加する場合に、公開パラメータを再発行する必要がある関数型暗号方式を説明した。しかし、実施の形態1−3で説明したように、インデックス部を設けることにより、公開パラメータを再発行することなく、属性カテゴリを追加できるようにすることも可能である。
なお、上述した関数型暗号方式では、基底Bτ,t及び基底B τ,tを用いた。そこで、インデックスτ及びインデックスtのそれぞれについて、インデックス部を設ける必要がある。
この場合、上述した内積述語暗号方式のGobアルゴリズム、Setupアルゴリズム、KeyGenアルゴリズム、Encアルゴリズムは、数189から数192のようになる。なお、Decアルゴリズムは数188の通りであり、変更はない。
Figure 0005921410
Figure 0005921410
Figure 0005921410
Figure 0005921410
なお、上記説明では、一例として、非特許文献31に記載されたKP−FE方式に、実施の形態1で説明した内積述語暗号方式を適用した場合を説明した。
しかし、同様の方法により、非特許文献31に記載されたCiphertext−Policy関数型暗号方式(CP−FE方式)及びUnified−Policy関数型暗号方式(UP−FE方式)に、実施の形態1で説明した内積述語暗号方式を適用することもできる。また、非特許文献31に記載された各関数型暗号方式に、実施の形態2,3で説明した内積述語暗号方式を適用することもできる。もちろん、非特許文献31に記載された関数型暗号方式に限らず、他の関数型暗号方式に上記実施の形態で説明した内積述語暗号方式を適用することもできる。また、同様の方法により、非特許文献32や他の文献に記載された属性ベース署名方式に、上記実施の形態で説明した内積述語暗号方式を適用することもできる。
いずれの場合であっても、各インデックスtにおける属性ベクトルxと述語ベクトルvとの内積の計算に、上記実施の形態で説明した内積述語暗号方式を適用すればよい。
実施の形態5.
以上の実施の形態では、双対ベクトル空間において暗号プリミティブの処理を実現する方法について説明した。実施の形態5では、双対加群において暗号プリミティブの処理を実現する方法について説明する。
つまり、以上の実施の形態では、素数位数qの巡回群において暗号プリミティブの処理を実現した。しかし、合成数Mを用いて数193のように環Rを表した場合、環Rを係数とする加群においても、上記実施の形態で説明した暗号プリミティブの処理を適用することができる。
Figure 0005921410
以上の実施の形態で説明したアルゴリズムにおけるFをRに変更すれば、双対加群における暗号プリミティブの処理を実現することができる。
次に、実施の形態における暗号処理システム10(鍵生成装置100、暗号化装置200、復号装置300)のハードウェア構成について説明する。
図16は、鍵生成装置100、暗号化装置200、復号装置300のハードウェア構成の一例を示す図である。
図16に示すように、鍵生成装置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、メッセージ計算部350等として説明した機能を実行するソフトウェアやプログラムやその他のプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、上記の説明において公開パラメータpk、マスター秘密鍵sk、復号鍵sk、暗号文ct、述語ベクトルv、属性ベクトルx、メッセージm等の情報やデータや信号値や変数値やパラメータが、ファイルやデータベースの各項目として記憶される。ファイルやデータベースは、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPU911の動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPU911の動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、上記の説明におけるフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、その他光ディスク等の記録媒体やICチップに記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体や電波によりオンライン伝送される。
また、上記の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。また、「〜装置」として説明するものは、「〜回路」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。さらに、「〜処理」として説明するものは「〜ステップ」であっても構わない。すなわち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、ROM913等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、上記で述べた「〜部」としてコンピュータ等を機能させるものである。あるいは、上記で述べた「〜部」の手順や方法をコンピュータ等に実行させるものである。
100 鍵生成装置、110 マスター鍵生成部、120 マスター鍵記憶部、130 情報入力部、140 復号鍵生成部、150 鍵配布部、200 暗号化装置、210 公開パラメータ取得部、220 情報入力部、230 暗号文生成部、240 データ送信部、300 復号装置、310 復号鍵取得部、320 復号鍵記憶部、330 暗号文取得部、340 ペアリング演算部、350 メッセージ計算部。

Claims (12)

  1. 暗号化装置と復号装置とを備える暗号システムであり、
    前記暗号化装置は、
    基底ベクトルb0,rの係数として値ωが設定された要素cと、集合Ix→に含まれる各インデックスtについて、基底ベクトルbの係数として属性情報xが設定され、基底ベクトルbの係数として前記値ωが設定された要素cとを有する暗号文を生成する暗号文生成部
    を備え、
    前記復号装置は、
    集合Iv→に含まれる各インデックスtについての値sの合計が値sである値s及び値sを用いて生成された要素kと要素kとであって、前記基底ベクトルb0,rに対応する基底ベクトルb 0,rの係数として値−sが設定された要素kと、集合Iv→に含まれる各インデックスtについて、前記基底ベクトルbに対応する基底ベクトルb の係数として述語情報vが設定され、前記基底ベクトルbに対応する基底ベクトルb の係数として値sが設定された要素kとを有する復号鍵を記憶する復号鍵記憶部と、
    前記暗号文生成部が生成した暗号文を、前記復号鍵記憶部が記憶した復号鍵により復号する復号部であって、前記要素c及び前記要素kと、前記集合Iv→に含まれる各インデックスtについての要素c及び要素kとに対して、対応する基底ベクトル毎のペアリング演算の積を計算して、前記暗号文を復号する復号部と
    を備えることを特徴とする暗号システム。
  2. 前記暗号文生成部は、さらに、基底ベクトルbindexの係数として、インデックスtに予め割り当てられた情報Jが設定された要素cを生成し、
    前記復号鍵記憶部は、さらに、前記基底ベクトルbindexに対応する基底ベクトルb indexの係数として、インデックスtに予め割り当てられた前記情報Jとの内積が0になる情報J’が設定された要素kを生成する
    ことを特徴とする請求項1に記載の暗号システム。
  3. 前記暗号文生成部は、数1に示す要素c及び要素cを生成し、
    前記復号鍵記憶部は、数2に示す要素k及び要素kを記憶し、
    前記復号部は、数3に示す計算をする
    ことを特徴とする請求項2に記載の暗号システム。
    Figure 0005921410
    Figure 0005921410
    Figure 0005921410
  4. 送信装置と受信装置とを備え、インデックスτ毎に、集合Iτ,x→に含まれる各インデックスtについての属性情報xτ,tを要素として持つ属性ベクトルxτ と、集合Iτ,v→に含まれる各インデックスtについての属性情報vτ,tを要素として持つ述語ベクトルvτ との内積が0か否かを判定することにより、暗号プリミティブの処理を実現する暗号システムであり、
    前記送信装置は、
    インデックスτ毎に、集合Iτ,x→に含まれる各インデックスtについて、基底ベクトルbの係数として属性情報xτ,tが設定され、基底ベクトルbの係数として値ω τが設定された要素cτ,tを有する送信情報を生成する送信情報生成部
    を備え、
    前記受信装置は、
    インデックスτ毎に、集合Iτ,v→に含まれる各インデックスtについて、前記基底ベクトルbに対応する基底ベクトルb の係数として属性情報vτ,tが設定され、前記基底ベクトルbに対応する基底ベクトルb の係数として値sτ,tが設定された要素kτ,tを有する受信情報を記憶する受信情報記憶部と、
    各インデックスτについて、前記集合Iτ,v→に含まれる各インデックスtについての要素cτ,t及び要素kτ,tに対して、対応する基底ベクトル毎のペアリング演算の積を計算するペアリング演算部と
    を備えることを特徴とする暗号システム。
  5. 暗号化装置と復号装置とを備える暗号システムであり、
    前記暗号化装置は、
    集合Ix→に含まれる各インデックスtについての値fの合計が値fである値f及び値fを用いて生成された要素cと要素cとであって、基底ベクトルb0,rの係数として値−fが設定された要素cと、集合Ix→に含まれる各インデックスtについて、基底ベクトルbの係数として属性情報xが設定され、基底ベクトルbの係数として値fが設定された要素cとを有する暗号文を生成する暗号文生成部
    を備え、
    前記復号装置は、
    前記基底ベクトルb0,rに対応する基底ベクトルb 0,rの係数として値δが設定された要素kと、集合Iv→に含まれる各インデックスtについて、前記基底ベクトルbに対応する基底ベクトルb の係数として述語情報vが設定され、前記基底ベクトルbに対応する基底ベクトルb の係数として前記値δが設定された要素kとを有する復号鍵を記憶する復号鍵記憶部と、
    前記暗号文生成部が生成した暗号文を、前記復号鍵記憶部が記憶した復号鍵により復号する復号部であって、前記要素c及び前記要素kと、前記集合Ix→に含まれる各インデックスtについての要素c及び要素kとに対して、対応する基底ベクトル毎のペアリング演算の積を計算して、前記暗号文を復号する復号部と
    を備えることを特徴とする暗号システム。
  6. 前記暗号文生成部は、さらに、基底ベクトルbindexの係数として、インデックスtに予め割り当てられた情報Jが設定された要素cを生成し、
    前記復号鍵記憶部は、さらに、前記基底ベクトルbindexに対応する基底ベクトルb indexの係数として、インデックスtに予め割り当てられた前記情報Jとの内積が0になる情報J’が設定された要素kを生成する
    ことを特徴とする請求項5に記載の暗号システム。
  7. 前記暗号文生成部は、数4に示す要素c及び要素cを生成し、
    前記復号鍵記憶部は、数5に示す要素k及び要素kを記憶し、
    前記復号部は、数6に示す計算をする
    ことを特徴とする請求項6に記載の暗号システム。
    Figure 0005921410
    Figure 0005921410
    Figure 0005921410
  8. 送信装置と受信装置とを備え、インデックスτ毎に、集合Iτ,x→に含まれる各インデックスtについての属性情報xτ,tを要素として持つ属性ベクトルxτ と、集合Iτ,v→に含まれる各インデックスtについての属性情報vτ,tを要素として持つ述語ベクトルvτ との内積が0か否かを判定することにより、暗号プリミティブの処理を実現する暗号システムであり、
    前記送信装置は、
    インデックスτ毎に、集合Iτ,x→に含まれる各インデックスtについて、基底ベクトルbの係数として属性情報xτ,tが設定され、基底ベクトルbの係数として値fτ,tが設定された要素cτ,tを有する送信情報を生成する送信情報生成部
    を備え、
    前記受信装置は、
    インデックスτ毎に、集合Iτ,v→に含まれる各インデックスtについて、前記基底ベクトルbに対応する基底ベクトルb の係数として属性情報vτ,tが設定され、前記基底ベクトルbに対応する基底ベクトルb の係数として値δ τが設定された要素kτ,tを有する受信情報を記憶する受信情報記憶部と、
    各インデックスτについて、前記集合Iτ,x→に含まれる各インデックスtについての要素cτ,t及び要素kτ,tに対して、対応する基底ベクトル毎のペアリング演算の積を計算するペアリング演算部と
    を備えることを特徴とする暗号システム。
  9. 暗号化装置と復号装置とを備える暗号システムであり、
    前記暗号化装置は、
    t=1,...,n(nは1以上の整数)の各インデックスtについての値fの合計が値fである値f及び値fを用いて生成された要素cと要素cとであって、基底ベクトルb0,rの係数として値ωが設定され、基底ベクトルb0,r’の係数として値−fが設定された要素cと、集合Ix→に含まれる各インデックスtについて、基底ベクトルbの係数として属性情報xが設定され、基底ベクトルbの係数として前記値ωが設定され、基底ベクトルbq’の係数として値fが設定された要素cとを有する暗号文を生成する暗号文生成部
    を備え、
    前記復号装置は、
    前記各インデックスtについての値sの合計が値sである値s及び値sを用いて生成された要素kと要素kとであって、前記基底ベクトルb0,rに対応する基底ベクトルb 0,rの係数として値−sが設定され、基底ベクトルb0,r’に対応する基底ベクトルb 0,r’の係数として値δが設定された要素kと、集合Iv→に含まれる各インデックスtについて、前記基底ベクトルbに対応する基底ベクトルb の係数として述語情報vが設定され、前記基底ベクトルbに対応する基底ベクトルb の係数として値sが設定され、前記基底ベクトルbq’に対応する基底ベクトルb q’の係数として前記値δが設定された要素kとを有する復号鍵を記憶する復号鍵記憶部と、
    前記暗号文生成部が生成した暗号文を、前記復号鍵記憶部が記憶した復号鍵により復号する復号部であって、前記要素c及び前記要素kと、前記各インデックスtについての要素c及び要素kとに対して、対応する基底ベクトル毎のペアリング演算の積を計算して、前記暗号文を復号する復号部と
    を備えることを特徴とする暗号システム。
  10. 前記暗号文生成部は、さらに、基底ベクトルbindexの係数として、インデックスtに予め割り当てられた情報Jが設定された要素cを生成し、
    前記復号鍵記憶部は、さらに、前記基底ベクトルbindexに対応する基底ベクトルb indexの係数として、インデックスtに予め割り当てられた前記情報Jとの内積が0になる情報J’が設定された要素kを生成する
    ことを特徴とする請求項9に記載の暗号システム。
  11. 前記暗号文生成部は、数7に示す要素c及び要素cを生成し、
    前記復号鍵記憶部は、数8に示す要素k及び要素kを記憶し、
    前記復号部は、数9に示す計算をする
    ことを特徴とする請求項10に記載の暗号システム。
    Figure 0005921410
    Figure 0005921410
    Figure 0005921410
  12. 送信装置と受信装置とを備え、インデックスτ毎に、t=1,...,n(nは1以上の整数)の各インデックスtについての属性情報xτ,tを要素として持つ属性ベクトルxτ と、前記各インデックスtについての属性情報vτ,tを要素として持つ述語ベクトルvτ との内積が0か否かを判定することにより、暗号プリミティブの処理を実現する暗号システムであり、
    前記送信装置は、
    インデックスτ毎に、集合Iτ,x→に含まれる各インデックスtについて、基底ベクトルbの係数として属性情報xτ,tが設定され、基底ベクトルbの係数として値ω τが設定され、基底ベクトルbq’の係数として値fが設定された要素cτ,tを有する送信情報を生成する送信情報生成部
    を備え、
    前記受信装置は、
    インデックスτ毎に、集合Iτ,v→に含まれる各インデックスtについて、前記基底ベクトルbに対応する基底ベクトルb の係数として属性情報vτ,tが設定され、前記基底ベクトルbに対応する基底ベクトルb の係数として値sτ,tが設定され、前記基底ベクトルbq’に対応する基底ベクトルb q’の係数として値δが設定された要素kτ,tを有する受信情報を記憶する受信情報記憶部と、
    各インデックスτ及び各インデックスtについての要素cτ,t及び要素kτ,tに対して、対応する基底ベクトル毎のペアリング演算の積を計算するペアリング演算部と
    を備えることを特徴とする暗号システム。
JP2012231293A 2012-10-19 2012-10-19 暗号システム Active JP5921410B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2012231293A JP5921410B2 (ja) 2012-10-19 2012-10-19 暗号システム
CN201380050410.0A CN104718566B (zh) 2012-10-19 2013-07-17 密码***
EP13846805.3A EP2911137B1 (en) 2012-10-19 2013-07-17 Cryptographic system
PCT/JP2013/069364 WO2014061324A1 (ja) 2012-10-19 2013-07-17 暗号システム
ES13846805.3T ES2645072T3 (es) 2012-10-19 2013-07-17 Sistema criptográfico
US14/421,282 US9722783B2 (en) 2012-10-19 2013-07-17 Cryptographic system
KR1020157013141A KR101676977B1 (ko) 2012-10-19 2013-07-17 암호 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012231293A JP5921410B2 (ja) 2012-10-19 2012-10-19 暗号システム

Publications (2)

Publication Number Publication Date
JP2014085358A JP2014085358A (ja) 2014-05-12
JP5921410B2 true JP5921410B2 (ja) 2016-05-24

Family

ID=50487902

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012231293A Active JP5921410B2 (ja) 2012-10-19 2012-10-19 暗号システム

Country Status (7)

Country Link
US (1) US9722783B2 (ja)
EP (1) EP2911137B1 (ja)
JP (1) JP5921410B2 (ja)
KR (1) KR101676977B1 (ja)
CN (1) CN104718566B (ja)
ES (1) ES2645072T3 (ja)
WO (1) WO2014061324A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6719339B2 (ja) * 2016-08-30 2020-07-08 三菱電機株式会社 暗号システム、暗号方法及び暗号プログラム
JP6522263B2 (ja) * 2017-01-18 2019-05-29 三菱電機株式会社 準同型演算装置、暗号システム及び準同型演算プログラム
KR101994236B1 (ko) * 2017-04-21 2019-09-30 한국전자통신연구원 프라이버시 보존형 각도 기반 이상치 검출 방법 및 장치
JP6971917B2 (ja) * 2018-06-11 2021-11-24 三菱電機株式会社 復号装置、暗号化装置及び暗号システム
JP7087965B2 (ja) * 2018-11-29 2022-06-21 日本電信電話株式会社 暗号システム、暗号化装置、復号装置、暗号化方法、復号方法及びプログラム
KR102123435B1 (ko) * 2019-08-19 2020-06-16 세종대학교산학협력단 멀티 클라이언트 환경에서 동치 질의를 지원하는 암호화 방법 및 이를 이용한 장치
KR102123440B1 (ko) * 2019-09-02 2020-06-16 세종대학교산학협력단 멀티 클라이언트 환경에서 범위 질의를 지원하는 암호화 방법 및 이를 이용한 장치

Family Cites Families (11)

* 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 暗号化通信方法及び装置
JP3917507B2 (ja) * 2002-01-28 2007-05-23 株式会社東芝 コンテンツ提供側システム、ユーザ側システム、追跡システム、コンテンツ提供方法、暗号化コンテンツ復号方法、不正ユーザ特定方法、暗号化装置、復号装置及びプログラム
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 中兴通讯股份有限公司 一种短信加密传输方法
EP2658164B1 (en) * 2009-04-24 2015-09-16 Nippon Telegraph And Telephone Corporation Cryptographic system, cryptographic communication method, encryption apparatus, key generation apparatus, decryption apparatus, content server, program, and storage medium
EP2525340B1 (en) * 2010-01-15 2018-06-06 Mitsubishi Electric Corporation Confidential search system and encryption processing system
JP5424974B2 (ja) * 2010-04-27 2014-02-26 三菱電機株式会社 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置
US8634563B2 (en) * 2010-12-17 2014-01-21 Microsoft Corporation Attribute based encryption using lattices
JP5693206B2 (ja) * 2010-12-22 2015-04-01 三菱電機株式会社 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム

Also Published As

Publication number Publication date
KR101676977B1 (ko) 2016-11-16
JP2014085358A (ja) 2014-05-12
EP2911137B1 (en) 2017-09-27
WO2014061324A1 (ja) 2014-04-24
CN104718566A (zh) 2015-06-17
ES2645072T3 (es) 2017-12-04
CN104718566B (zh) 2017-06-16
US9722783B2 (en) 2017-08-01
EP2911137A4 (en) 2016-09-07
US20150229472A1 (en) 2015-08-13
EP2911137A1 (en) 2015-08-26
KR20150070383A (ko) 2015-06-24

Similar Documents

Publication Publication Date Title
JP5424974B2 (ja) 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置
JP5680007B2 (ja) 暗号システム、暗号方法及び暗号プログラム
JP5618881B2 (ja) 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
JP5693206B2 (ja) 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
JP5921410B2 (ja) 暗号システム
JP5769401B2 (ja) 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及びプログラム
JP5606344B2 (ja) 署名処理システム、鍵生成装置、署名装置、検証装置、署名処理方法及び署名処理プログラム
JP5334873B2 (ja) 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
JP5606351B2 (ja) 暗号処理システム、鍵生成装置、暗号化装置、復号装置、鍵委譲装置、暗号処理方法及び暗号処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141203

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160412

R150 Certificate of patent or registration of utility model

Ref document number: 5921410

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