KR101676977B1 - 암호 시스템 - Google Patents

암호 시스템 Download PDF

Info

Publication number
KR101676977B1
KR101676977B1 KR1020157013141A KR20157013141A KR101676977B1 KR 101676977 B1 KR101676977 B1 KR 101676977B1 KR 1020157013141 A KR1020157013141 A KR 1020157013141A KR 20157013141 A KR20157013141 A KR 20157013141A KR 101676977 B1 KR101676977 B1 KR 101676977B1
Authority
KR
South Korea
Prior art keywords
index
vector
value
basis
basis vector
Prior art date
Application number
KR1020157013141A
Other languages
English (en)
Other versions
KR20150070383A (ko
Inventor
가츠유키 다카시마
다츠아키 오카모토
Original Assignee
미쓰비시덴키 가부시키가이샤
니폰덴신뎅와 가부시키가이샤
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
Application filed by 미쓰비시덴키 가부시키가이샤, 니폰덴신뎅와 가부시키가이샤 filed Critical 미쓰비시덴키 가부시키가이샤
Publication of KR20150070383A publication Critical patent/KR20150070383A/ko
Application granted granted Critical
Publication of KR101676977B1 publication Critical patent/KR101676977B1/ko

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)

Abstract

속성 벡터 x와, 술어 벡터 v의 차원이 동일하다고 하는 제약이 없는, 자유도가 높은 내적 술어 암호 방식을 실현하는 것을 목적으로 한다. 요소 c0과, 집합 Ix→에 포함되는 각 인덱스 t에 대한 요소 ct를 갖는 암호문을, 요소 k0과, 집합 Iv→에 포함되는 각 인덱스 t에 대한 요소 kt를 갖는 복호 키를 이용하여, 요소 c0 및 요소 k0과, 요소 ct 및 요소 kt에 대하여 대응하는 기저 벡터마다의 페어링 연산의 곱을 계산하는 것에 의해 복호한다.

Description

암호 시스템{ENCRYPTION SYSTEM}
본 발명은, 일반화된 내적 술어 암호 방식과, 일반화된 내적 술어 암호 방식을 하부 구조에 갖는 함수형 암호 방식 및 속성 베이스 서명 방식에 관한 것이다.
비특허 문헌 30, 31에는, 내적 술어 암호 방식에 대한 기재가 있다.
비특허 문헌 31에는, 함수형 암호 방식에 대한 기재가 있다.
비특허 문헌 32에는, 속성 베이스 서명 방식에 대한 기재가 있다.
(선행 기술 문헌)
(비특허 문헌)
(비특허 문헌 1) 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)
(비특허 문헌 2) Beimel, A., Secure schemes for secret sharing and key distribution. PhD Thesis, Israel Institute of Technology, Technion, Haifa, Israel, 1996.
(비특허 문헌 3) 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)
(비특허 문헌 4) Bethencourt, J., Sahai, A., Waters, B. : Ciphertext-policy attribute-based encryption. In : 2007 IEEE Symposium on Security and Privacy, pp. 321-334. IEEE Press (2007)
(비특허 문헌 5) 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)
(비특허 문헌 6) Boneh, D., Boyen, X. : Secure identity based encryption without random oracles. In : Franklin, M. K. (ed.) CRYPTO 2004. LNCS, vol. 3152, pp. 443-459. Springer Heidelberg (2004)
(비특허 문헌 7) 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)
(비특허 문헌 8) Boneh, D., Boyen, X., Shacham, H. : Short group signatures. In : Franklin, M. (ed.) CRYPTO 2004. LNCS, vol. 3152, pp. 41-55. Springer, Heidelberg (2004)
(비특허 문헌 9) 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)
(비특허 문헌 10) 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)
(비특허 문헌 11) Boneh, D., Katz, J., Improved efficiency for CCA-secure cryptosystems built using identity based encryption. RSA-CT 2005, LNCS, Springer Verlag (2005)
(비특허 문헌 12) Boneh, D., Waters, B. : Conjunctive, subset, and range queries on encrypted data. In : Vadhan, S. P. (ed.) TCC 2007. LNCS, vol. 4392, pp. 535-554. Springer Heidelberg (2007)
(비특허 문헌 13) 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)
(비특허 문헌 14) Canetti, R., Halevi S., Katz J. : Chosen-ciphertext security from identity-based encryption. EUROCRYPT 2004, LNCS, Springer Heidelberg (2004)
(비특허 문헌 15) Chase, M. : Multi-authority attribute based encryption. TCC, LNCS, pp. 515-534, Springer Heidelberg (2007).
(비특허 문헌 16) 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).
(비특허 문헌 17) 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)
(비특허 문헌 18) Gentry, C. : Practical identity-based encryption without random oracles. In : Vaudenay, S. (ed.) EUROCRYPT 2006. LNCS, vol. 4004, pp. 445-464. Springer Heidelberg (2006)
(비특허 문헌 19) 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)
(비특허 문헌 20) Gentry, C., Silverberg, A. : Hierarchical ID-based cryptography. In : Zheng, Y. (ed.) ASIACRYPT 2002. LNCS, vol. 2501, pp. 548-566. Springer Heidelberg (2002)
(비특허 문헌 21) 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)
(비특허 문헌 22) 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)
(비특허 문헌 23) 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
(비특허 문헌 24) 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)
(비특허 문헌 25) Lewko, A. B., Waters, B. : Decentralizing Attribute-Based Encryption, EUROCRYPT 2011. LNCS, vol. 6632, pp. 568-588. Springer Heidelberg (2011)
(비특허 문헌 26) Lewko, A. B., Waters, B. : Unbounded HIBE and attribute-based encryption, EUROCRYPT 2011. LNCS, vol. 6632, pp. 547-567. Springer Heidelberg (2011)
(비특허 문헌 27) 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).
(비특허 문헌 28) 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).
(비특허 문헌 29) 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)
(비특허 문헌 30) Okamoto, T., Takashima, K. : Hierarchical predicate encryption for inner-products, In : ASIACRYPT 2009, Springer Heidelberg (2009)
(비특허 문헌 31) 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
(비특허 문헌 32) Okamoto, T., Takashima, K. : Efficient attribute-based signatures for non-monotone predicates in the standard model, In : PKC 2011, Springer Heidelberg (2011)
(비특허 문헌 33) 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).
(비특허 문헌 34) Okamoto, T., Takashima, K. : Adaptively Attribute-Hiding (Hierarchical) Inner Product Encryption. EUROCRYPT 2012, LNCS, vol. 7237, pp. 591-608, Springer Heidelberg (2012)
(비특허 문헌 35) 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)
(비특허 문헌 36) 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)
(비특허 문헌 37) Sahai, A., Waters, B. : Fuzzy identity-based encryption. In : Cramer, R. (ed.) EUROCRYPT 2005. LNCS, vol. 3494, pp. 457-473. Springer Heidelberg (2005)
(비특허 문헌 38) 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)
(비특허 문헌 39) Waters, B. : Efficient identity based encryption without random oracles. Eurocrypt 2005, LNCS, vol. 3152, pp. 443-459. Springer Verlag, (2005)
(비특허 문헌 40) 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
(비특허 문헌 41) 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의 계수로서 값 ω~가 설정된 요소 c0과, 집합 Ix→에 포함되는 각 인덱스 t에 대하여, 기저 벡터 bp의 계수로서 속성 정보 xt가 설정되고, 기저 벡터 bq의 계수로서 상기 값 ω~가 설정된 요소 ct를 갖는 암호문을 생성하는 암호문 생성부를 구비하고, 상기 복호 장치는, 집합 Iv→에 포함되는 각 인덱스 t에 대한 값 st의 합계가 값 s0인 값 st 및 값 s0을 이용하여 생성된 요소 k0과 요소 kt로서, 상기 기저 벡터 b0 , r에 대응하는 기저 벡터 b* 0, r의 계수로서 값 -s0이 설정된 요소 k0과, 집합 Iv→에 포함되는 각 인덱스 t에 대하여, 상기 기저 벡터 bp에 대응하는 기저 벡터 b* p의 계수로서 술어 정보 vt가 설정되고, 상기 기저 벡터 bq에 대응하는 기저 벡터 b* q의 계수로서 값 st가 설정된 요소 kt를 갖는 복호 키를 기억하는 복호 키 기억부와, 상기 암호문 생성부가 생성한 암호문을, 상기 복호 키 기억부가 기억한 복호 키에 의해 복호하는 복호부로서, 상기 요소 c0 및 상기 요소 k0과, 상기 집합 Iv→에 포함되는 각 인덱스 t에 대한 요소 ct 및 요소 kt에 대하여, 대응하는 기저 벡터마다의 페어링 연산의 곱을 계산하여, 상기 암호문을 복호하는 복호부를 구비하는 것을 특징으로 한다.
본 발명과 관련되는 암호 시스템은, 집합 Iv→에 포함되는 인덱스 t에 대해서만 페어링 연산을 행하고 있고, 속성 벡터 x와 술어 벡터 v의 차원이 동일할 필요는 없다. 그 때문에, 본 발명과 관련되는 암호 시스템은, 자유도가 높은 내적 술어 암호 방식을 실현할 수 있다.
도 1은 실시의 형태 1과 관련되는 암호 처리 시스템(10)의 구성도.
도 2는 실시의 형태 1과 관련되는 키 생성 장치(100)의 기능을 나타내는 기능 블록도.
도 3은 실시의 형태 1과 관련되는 암호화 장치(200)의 기능을 나타내는 기능 블록도.
도 4는 실시의 형태 1과 관련되는 복호 장치(300)의 기능을 나타내는 기능 블록도.
도 5는 실시의 형태 1과 관련되는 Setup 알고리즘의 처리를 나타내는 플로차트.
도 6은 실시의 형태 1과 관련되는 KeyGen 알고리즘의 처리를 나타내는 플로차트.
도 7은 실시의 형태 1과 관련되는 Enc 알고리즘의 처리를 나타내는 플로차트.
도 8은 실시의 형태 1과 관련되는 Dec 알고리즘의 처리를 나타내는 플로차트.
도 9는 실시의 형태 2와 관련되는 KeyGen 알고리즘의 처리를 나타내는 플로차트.
도 10은 실시의 형태 2와 관련되는 Enc 알고리즘의 처리를 나타내는 플로차트.
도 11은 실시의 형태 2와 관련되는 Dec 알고리즘의 처리를 나타내는 플로차트.
도 12는 실시의 형태 3과 관련되는 Setup 알고리즘의 처리를 나타내는 플로차트.
도 13은 실시의 형태 3과 관련되는 KeyGen 알고리즘의 처리를 나타내는 플로차트.
도 14는 실시의 형태 3과 관련되는 Enc 알고리즘의 처리를 나타내는 플로차트.
도 15는 실시의 형태 3과 관련되는 Dec 알고리즘의 처리를 나타내는 플로차트.
도 16은 키 생성 장치(100), 암호화 장치(200), 복호 장치(300)의 하드웨어 구성의 일례를 나타내는 도면.
이하, 도면에 근거하여, 발명의 실시의 형태를 설명한다.
이하의 설명에 있어서, 처리 장치는 후술하는 CPU(911) 등이다. 기억 장치는 후술하는 ROM(913), RAM(914), 자기 디스크(920) 등이다. 통신 장치는 후술하는 통신 보드(915) 등이다. 입력 장치는 후술하는 키보드(902), 통신 보드(915) 등이다. 출력 장치는 후술하는 RAM(914), 자기 디스크(920), 통신 보드(915), LCD(901) 등이다. 다시 말해, 처리 장치, 기억 장치, 통신 장치, 입력 장치, 출력 장치는 하드웨어이다.
이하의 설명에 있어서의 기법에 대하여 설명한다.
A가 랜덤인 변수 또는 분포일 때, 수학식 101은, A의 분포에 따라 A로부터 y를 랜덤으로 선택하는 것을 나타낸다. 다시 말해, 수학식 101에 있어서, y는 난수이다.
[수학식 101]
Figure 112015047898107-pct00001
A가 집합일 때, 수학식 102는, A로부터 y를 균등하게 선택하는 것을 나타낸다. 다시 말해, 수학식 102에 있어서, y는 균등 난수이다.
[수학식 102]
Figure 112015047898107-pct00002
수학식 103은, y가 z에 의해 정의된 집합인 것, 또는 y가 z가 대입된 집합인 것을 나타낸다.
[수학식 103]
Figure 112015047898107-pct00003
a가 상수일 때, 수학식 104는, 기계(알고리즘) A가 입력 x에 대하여 a를 출력하는 것을 나타낸다.
[수학식 104]
Figure 112015047898107-pct00004
수학식 105, 다시 말해 Fq는, 위수(order) q의 유한체를 나타낸다.
[수학식 105]
Figure 112015047898107-pct00005
벡터 표기는, 유한체 Fq에 있어서의 벡터 표시를 나타낸다. 다시 말해, 수학식 106이다.
[수학식 106]
Figure 112015047898107-pct00006
수학식 107은, 수학식 108에 나타내는 2개의 벡터 x와 v의 수학식 109에 나타내는 내적을 나타낸다.
[수학식 107]
Figure 112015047898107-pct00007
[수학식 108]
Figure 112015047898107-pct00008
[수학식 109]
Figure 112015047898107-pct00009
XT는, 행렬 X의 전치행렬을 나타낸다.
수학식 110에 나타내는 기저 B와 기저 B*에 대하여, 수학식 111이다.
[수학식 110]
Figure 112015047898107-pct00010
[수학식 111]
Figure 112015047898107-pct00011
또한, 이하의 설명에 있어서, "δi, j"가 어깨 글자(superscript)로 나타나 있는 경우, 이 δi, j는, δi, j를 의미한다.
또한, 벡터를 의미하는 "→"가 다리 글자(subscript) 또는 어깨 글자로 붙어 있는 경우, 이 "→"는 다리 글자 또는 어깨 글자에 어깨 글자로 붙어 있는 것을 의미한다.
또한, 이하의 설명에 있어서, 암호 프리미티브의 처리는, 정보를 제삼자로부터 은닉하기 위한 협의의 암호 처리뿐만 아니라, 서명 처리도 포함하는 것이고, 키 생성 처리, 암호화 처리, 복호 처리, 서명 처리, 검증 처리를 포함한다.
실시의 형태 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개)의 유전자 프로퍼티에 대해서는, 조건을 만족하고 있는지 여부를 판정할 필요는 없다.
예컨대, X1, …, X100은 100개의 유전자 프로퍼티이고, x1, …, x100은 앨리스에 대한 100개의 유전자 프로퍼티의 값인 것으로 한다. 3차의(다변수의) 검사 다항식 f에 대하여 f(x1, …, x100)=0인지 여부를 평가하기 위해, 또는, 대응하는 술어 φf(x1, …, x100)의 진리값을 평가하기 위해, 앨리스의 속성 벡터 x를, 3차의 앨리스의 값의 단항식 벡터 x:=(1, x1, …, x100, x1 2, x1x2, …, x100 2, x1 3, x1 2x2, …, x100 3)로 변환한다. 이 속성 벡터 x는, 약 106차원이다.
검사에 사용되는 검사식(술어)은, ((X5=a)∨(X16=b))∧(X57=c)이고, 3개의 유전자 프로퍼티 X5, X16, X57에만 주목한 것으로 한다. 이것은, r1(X5-a)(X16-b)+r2(X57-c)=0(여기서, r1, r2는 균등 난수)이라고 하는 다항식에 의해 나타내어진다. 또, 이 다항식은, (r1ab-r2c)-r1bX5-r1aX16+r2X57+r1X5X16=0으로 변환할 수 있다. xㆍv=0인 경우에 한해, r1(X5-a)(X16-b)+r2(X57-c)=0으로 하기 위해, 술어 벡터 v는, ((r1ab-r2c), 0, …, 0, -r1b, 0, …, 0, -r1a, 0, …, 0, r2, 0, …, 0, r1, 0, …, 0)으로 변환된다. 이 술어 벡터 v는, 유효한 차원(0 이외의 요소를 갖는 차원)은 5차원뿐이지만, 속성 벡터 x와 동일한 약 106차원이다.
이와 같이, 술어 벡터 v는, 실제로 유효한 차원은 5차원임에도 불구하고, 약 106차원으로 하지 않으면 안 되는 것은, 속성 벡터 x 및 술어 벡터 v의 차원이 동일하고 하는 제약이 있기 때문이다. 이 제한을 없앨 수 있으면, 술어 벡터 v를 유효한 차원(여기서는, 5차원)에서만 구성하는 것이 가능하게 된다.
여기서는, 술어 벡터 v를 유효한 차원에서만 구성하는 것을 설명했지만, 마찬가지로, 속성 벡터 x를 유효한 차원에서만 구성하는 것도 가능하다.
<제 2. 속성 카테고리의 추가>
속성 카테고리란, 예컨대, 소속 기관, 소속 부서, 직무, 연령, 성별 등, 각 유저의 속성의 분류이다.
이하의 실시의 형태에서 설명하는 내적 술어 암호 방식은, 유저의 속성에 근거하는 액세스 컨트롤을 실현한다. 예컨대, 정보를 제삼자로부터 은닉하기 위한 협의의 암호 처리이면, 유저의 속성에 근거하여, 암호문을 복호할 수 있는지 여부를 제어한다.
통상, 액세스 컨트롤에 사용하는 속성 카테고리는, 시스템 설계시에 미리 결정된다. 그러나, 이후에 시스템의 운용이 변경되어, 액세스 컨트롤에 사용하는 속성 카테고리의 추가가 필요하게 되는 경우가 있다.
예컨대, A 회사 내에서만 사용하는 것을 상정하여 암호 시스템을 구축한 것으로 한다. 이 경우, 사용하는 속성 카테고리로서는, 소속 부서, 직무, 개인의 ID 등이 상정된다. 그러나, 이후에, A 회사뿐만 아니라, A 회사의 관련 회사에서도 암호 시스템을 사용하도록 운용이 변경된 것으로 한다. 이 경우, 사용하는 속성 카테고리로서, 새롭게 소속 회사를 추가할 필요가 있다.
액세스 컨트롤에 사용하는 속성 카테고리가, 공개 파라미터에 의해 규정되어 있는 경우, 이후에 속성 카테고리를 추가하려면, 공개 파라미터를 재발행하고, 유저에게 다시 배포하지 않으면 안 된다. 그 때문에, 이후에 속성 카테고리를 추가하는 것은 용이하지 않고, 시스템 설계시에 상정하고 있지 않았던 운용 형태를 유연하게 채용할 수 없다.
그 때문에, 공개 파라미터를 재발행하는 일 없이, 속성 카테고리를 추가할 수 있는 것은 중요하다.
공개 파라미터를 재발행하는 일 없이, 속성 카테고리의 추가를 가능하게 하기 위해, 쌍대 페어링 벡터 공간에 있어서의 쌍대 시스템 암호에, 인덱스 부가의 기법을 적용한다.
쌍대 페어링 벡터 공간에 있어서의 쌍대 시스템 암호에서는, 쌍대 기저인 기저 B와 기저 B*가 랜덤으로 생성된다. 그리고, 기저 B의 일부(기저 B^)가 공개 파라미터가 된다.
비특허 문헌 31에 기재된 내적 술어 암호 방식에서는, 기저 B^ 1, …, 기저 B^ d가 공개 파라미터로서 생성된다. 그리고, t=1, …, d의 각 정수 t에 대한 기저 B^ t에, 1개의 속성 카테고리가 할당된다. 다시 말해, d개의 속성 카테고리를 취급할 수 있다.
여기서, 기저 B^ 1, …, 기저 B^ d가 공개 파라미터인 것으로부터 분명한 바와 같이, 이후에 기저 B^를 추가하는 경우, 즉 d의 값을 늘리는 경우에는, 공개 파라미터를 재발행하지 않으면 안 된다. 다시 말해, d의 값은 공개 파라미터에 의해 제한되고 있다.
이하에 설명하는 내적 술어 암호 방식에서는, 기저 B^가 공개 파라미터로서 생성된다. 그리고, t=1, …, d의 각 정수 t에 대하여, σt(1, t)와 μi(t, -1)의 2차원의 인덱스 벡터가 암호문 c와 비밀 키 k*로 설정되고, 각 정수 t에 대하여 1개의 속성 카테고리가 할당된다. 다시 말해, d개의 속성 카테고리를 취급할 수 있다.
여기서, 공개 파라미터에는, 기저 B^는 포함되어 있지만, 인덱스 벡터는 포함되어 있지 않다. 그 때문에, 이후에 인덱스 벡터를 추가하여, d의 값을 늘리는 경우, 공개 파라미터를 재발행할 필요는 없다. 다시 말해, d의 값은 공개 파라미터에 의해 제한되어 있지 않다.
<제 3. 쌍대 페어링 벡터 공간>
이하에 설명하는 내적 술어 암호 방식은, 쌍대 페어링 벡터 공간에 있어서 실현된다.
우선, 대칭 쌍선형 페어링군에 대하여 설명한다.
대칭 쌍선형 페어링군 (q, G, GT, g, e)는, 소수 q와, 위수 q의 순회 가법군(cyclic additive group) G와, 위수 q의 순회 승법군(cyclic multiplicative group) GT와, g≠0∈G와, 다항식 시간으로 계산 가능한 비퇴화 쌍선형 페어링(Nondegenerate Bilinear Pairing) e:G×G→GT의 조이다. 비퇴화 쌍선형 페어링은, e(sg, tg)=e(g, g)st이고, e(g, g)≠1이다.
이하의 설명에 있어서, Gbpg를, 1λ를 입력으로 하여, 시큐리티 파라미터를 λ로 하는 쌍선형 페어링군의 파라미터 paramG:=(q, G, GT, g, e)의 값을 출력하는 알고리즘으로 한다.
다음으로, 쌍대 페어링 벡터 공간에 대하여 설명한다.
쌍대 페어링 벡터 공간 (q, V, GT, A, e)는, 대칭 쌍선형 페어링군 (paramG:=(q, G, GT, g, e))의 직적(direct product)에 의해 구성할 수 있다. 쌍대 페어링 벡터 공간 (q, V, GT, A, e)는, 소수 q, 수학식 112에 나타내는 Fq상의 N차원 벡터 공간 V, 위수 q의 순회군 GT, 공간 V의 표준 기저 A:=(a1, …, aN)의 조이고, 이하의 연산 (1), (2)를 갖는다. 여기서, ai는, 수학식 113에 나타내는 바와 같다.
[수학식 112]
Figure 112015047898107-pct00012
[수학식 113]
Figure 112015047898107-pct00013
연산 (1) : 비퇴화 쌍선형 페어링
공간 V에 있어서의 페어링은, 수학식 114에 의해 정의된다.
[수학식 114]
Figure 112015047898107-pct00014
이것은, 비퇴화 쌍선형이다. 다시 말해, e(sx, ty)=e(x, y)st이고, 모든 y∈V에 대하여, e(x, y)=1인 경우, x=0이다. 또한, 모든 i와 j에 대하여, e(ai, aj)=e(g, g)δi, j이다. 여기서, i=j이면, δi, j=1이고, i≠j이면, δi, j=0이다. 또한, e(g, g)≠1∈GT이다.
연산(2) : 디스토션 사상
수학식 115에 나타내는 공간 V에 있어서의 선형 변환 φi, j는, 수학식 116을 행할 수 있다.
[수학식 115]
Figure 112015047898107-pct00015
[수학식 116]
Figure 112015047898107-pct00016
여기서, 선형 변환 φi, j를 디스토션 사상이라고 부른다.
이하의 설명에 있어서, Gdpvs를, 1λ(λ∈자연수), N∈자연수, 쌍선형 페어링군의 파라미터 paramG:=(q, G, GT, g, e)의 값을 입력으로 하여, 시큐리티 파라미터가 λ이고, N차원의 공간 V로 하는 쌍대 페어링 벡터 공간의 파라미터 paramV:=(q, V, GT, A, e)의 값을 출력하는 알고리즘으로 한다.
또, 여기서는, 상술한 대칭 쌍선형 페어링군에 의해, 쌍대 페어링 벡터 공간을 구성한 경우에 대하여 설명한다. 또, 비대칭 쌍선형 페어링군에 의해 쌍대 페어링 벡터 공간을 구성하는 것도 가능하다. 이하의 설명을, 비대칭 쌍선형 페어링군에 의해 쌍대 페어링 벡터 공간을 구성한 경우에 응용하는 것은 용이하다.
<제 4. 내적(inner product) 술어 암호 방식>
내적 술어 암호 방식은, Setup, KeyGen, Enc, Dec의 4개의 확률적 다항식 시간 알고리즘을 구비한다.
(Setup)
Setup 알고리즘에서는, 시큐리티 파라미터 1λ가 입력되고, 마스터 공개 키 pk와 마스터 비밀 키 sk가 출력된다.
(KeyGen)
KeyGen 알고리즘에서는, 마스터 공개 키 pk와 마스터 비밀 키 sk와 술어 벡터 v가 입력되고, 비밀 키 skv가 출력된다.
(Enc)
Enc 알고리즘에서는, 마스터 공개 키 pk와 속성 벡터 x와 메시지 m이 입력되고, 암호문 ctx가 출력된다.
(Dec)
Dec 알고리즘에서는, 마스터 공개 키 pk와 비밀 키 skv와 암호문 ctx가 입력되고, 메시지 m 또는 식별 정보 ⊥가 출력된다. 식별 정보 ⊥란, 복호에 실패한 것을 나타내는 정보이다.
내적 술어 암호 방식의 알고리즘을 실행하는 암호 처리 시스템(10)에 대하여 설명한다.
도 1은 실시의 형태 1과 관련되는 암호 처리 시스템(10)의 구성도이다.
암호 처리 시스템(10)은, 키 생성 장치(100), 암호화 장치(200)(송신 장치), 복호 장치(300)(수신 장치)를 구비한다.
키 생성 장치(100)는, 시큐리티 파라미터 λ를 입력으로 하여 Setup 알고리즘을 실행하여, 마스터 공개 키 pk와 마스터 비밀 키 sk를 생성한다. 그리고, 키 생성 장치(100)는, 생성한 마스터 공개 키 pk를 공개한다. 또한, 키 생성 장치(100)는, 마스터 공개 키 pk와 마스터 비밀 키 sk와 술어 벡터 v를 입력으로 하여 KeyGen 알고리즘을 실행하여, 비밀 키 skv를 생성하여 복호 장치(300)에 비밀리에 배포한다.
암호화 장치(200)는, 마스터 공개 키 pk와 속성 벡터 x와 메시지 m을 입력으로 하여 Enc 알고리즘을 실행하여, 암호문 ctx를 생성한다. 암호화 장치(200)는, 생성한 암호문 ctx를 복호 장치(300)에 송신한다.
복호 장치(300)는, 마스터 공개 키 pk와 비밀 키 skv와 암호문 ctx를 입력으로 하여 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과, 기저 B0 및 기저 B* 0과, 기저 B1(기저 B) 및 기저 B* 1(기저 B*)을 생성한다.
[수학식 117]
Figure 112015047898107-pct00017
다시 말해, 마스터 키 생성부(110)는 이하의 처리를 실행한다.
(1) 마스터 키 생성부(110)는, 입력 장치에 의해, 시큐리티 파라미터 λ(1λ)를 입력한다.
(2) 마스터 키 생성부(110)는, 처리 장치에 의해, (1)에서 입력한 시큐리티 파라미터 λ(1λ)를 입력으로 하여 알고리즘 Gbpg를 실행하여, 쌍선형 페어링군의 파라미터 paramG:=(q, G, GT, g, e)의 값을 생성한다.
(3) 마스터 키 생성부(110)는, 처리 장치에 의해, 난수 ψ를 생성함과 아울러, N0에 1+u0+1+w0+z0을, N1에 4+u+w+z를 설정한다. 또, u0, w0, z0, u, w, z는 각각 0 이상의 정수이다.
계속하여, 마스터 키 생성부(110)는, t=0, 1의 각 t에 대하여 이하의 (4) 내지 (8)의 처리를 실행한다.
(4) 마스터 키 생성부(110)는, 처리 장치에 의해, (1)에서 입력한 시큐리티 파라미터 λ(1λ)와, (3)에서 설정한 Nt와, (2)에서 생성한 paramG:=(q, G, GT, g, e)의 값을 입력으로 하여 알고리즘 Gdpvs를 실행하여, 쌍대 페어링 벡터 공간의 파라미터 paramVt:=(q, Vt, GT, At, e)의 값을 생성한다.
(5) 마스터 키 생성부(110)는, 처리 장치에 의해, (3)에서 설정한 Nt와, Fq를 입력으로 하여, 선형 변환 Xt:=(χt, i, j)i, j를 랜덤으로 생성한다. 또, GL은, General Linear의 약자이다. 다시 말해, GL은, 일반 선형군이고, 행렬식이 0이 아닌 정방 행렬의 집합이고, 승법에 관한 군이다. 또한, (χt, i, j)i, j는, 행렬 χt, i, j의 첨자 i, j에 관한 행렬이라고 하는 의미이고, 여기서는, i, j=1, …, Nt이다.
(6) 마스터 키 생성부(110)는, 처리 장치에 의해, 난수 ψ와 선형 변환 Xt에 근거하여, (νt, i, j)i, j:=ψㆍ(Xt T)-1을 생성한다. 또, (νt, i, j)i, j도 (χt, i, j)i, j와 마찬가지로, 행렬 νt, i, j의 첨자 i, j에 관한 행렬이라고 하는 의미이고, 여기서는, i, j=1, …, Nt이다.
(7) 마스터 키 생성부(110)는, 처리 장치에 의해, (5)에서 생성한 선형 변환 Xt에 근거하여, (4)에서 생성한 표준 기저 At로부터 기저 Bt를 생성한다. 또, x t, i란, 선형 변환 Xt의 i행째를 나타낸다.
(8) 마스터 키 생성부(110)는, 처리 장치에 의해, (6)에서 생성한 (νt, i, j)i, j에 근거하여, (4)에서 생성한 표준 기저 At로부터 기저 B* t를 생성한다. 또, v t, i란, 선형 변환 X* t의 i행째를 나타낸다.
(9) 마스터 키 생성부(110)는, 처리 장치에 의해, gT에 e(g, g)ψ를 설정한다. 또한, 마스터 키 생성부(110)는, param에 (4)에서 생성한 {paramVt}t=0, 1과, gT를 설정한다.
즉, S101에서, 마스터 키 생성부(110)는, 수학식 118에 나타내는 알고리즘 Gob를 실행하여, param과, 기저 B0 및 기저 B* 0과, 기저 B1(기저 B) 및 기저 B* 1(기저 B*)을 생성한다.
[수학식 118]
Figure 112015047898107-pct00018
또, 이하의 설명에서는, 간단하게 하기 위해, 기저 B1 및 기저 B* 1을 기저 B 및 기저 B*로 한다.
(S102 : 공개 파라미터 생성 단계)
마스터 키 생성부(110)는, 처리 장치에 의해, S101에서 생성한 기저 B0의 부분 기저 B^ 0과 기저 B의 부분 기저 B^를 수학식 119에 나타내는 바와 같이 생성한다.
[수학식 119]
Figure 112015047898107-pct00019
마스터 키 생성부(110)는, 생성한 부분 기저 B^ 0 및 부분 기저 B^와, S101에서 입력된 시큐리티 파라미터 λ(1λ)와, S101에서 생성한 param을 합쳐서, 공개 파라미터 pk로 한다.
(S103 : 마스터 키 생성 단계)
마스터 키 생성부(110)는, 처리 장치에 의해, S101에서 생성한 기저 B* 0의 부분 기저 B^* 0과, 기저 B*의 부분 기저 B^*를 수학식 120에 나타내는 바와 같이 생성한다.
[수학식 120]
Figure 112015047898107-pct00020
마스터 키 생성부(110)는, 생성한 부분 기저 B^* 0과 부분 기저 B^*를 마스터 키 sk로 한다.
(S104 : 마스터 키 기억 단계)
마스터 키 기억부(120)는, S102에서 생성한 공개 파라미터 pk를 기억 장치에 기억한다. 또한, 마스터 키 기억부(120)는, S103에서 생성한 마스터 키 sk를 기억 장치에 기억한다.
다시 말해, S101 내지 S103에 있어서, 키 생성 장치(100)는, 수학식 121에 나타내는 Setup 알고리즘을 실행하여, 공개 파라미터 pk와 마스터 키 sk를 생성한다. 그리고, S104에서, 키 생성 장치(100)는, 생성한 공개 파라미터 pk와 마스터 키 sk를 기억 장치에 기억한다.
또, 공개 파라미터는, 예컨대, 네트워크를 통해서 공개되고, 암호화 장치(200)나 복호 장치(300)가 취득 가능한 상태가 된다.
[수학식 121]
Figure 112015047898107-pct00021
도 6에 근거하여, KeyGen 알고리즘의 처리에 대하여 설명한다.
(S201 : 정보 입력 단계)
정보 입력부(130)는, 입력 장치에 의해, 술어 벡터 v:={(t,vt)|t∈Iv→}를 입력한다. 다시 말해, 술어 벡터 v는, 집합 Iv→에 포함되는 인덱스 t에 대하여, 인덱스 t와 술어 정보 vt를 요소로서 갖는 벡터이다. 술어 정보 vt로서는, 예컨대, 복호 키 skv의 사용자의 속성 정보가 설정되어 있다.
(S202 : 비밀 정보 생성 단계)
복호 키 생성부(140)는, 처리 장치에 의해, 비밀 정보 st, s0을 수학식 122에 나타내는 바와 같이 생성한다.
[수학식 122]
Figure 112015047898107-pct00022
(S203 : 난수 생성 단계)
복호 키 생성부(140)는, 처리 장치에 의해, 난수를 수학식 123에 나타내는 바와 같이 생성한다.
[수학식 123]
Figure 112015047898107-pct00023
(S204 : 키 요소 생성 단계)
복호 키 생성부(140)는, 처리 장치에 의해, 복호 키 skv의 요소 k* 0을 수학식 124에 나타내는 바와 같이 생성한다.
[수학식 124]
Figure 112015047898107-pct00024
또, 상술한 바와 같이, 수학식 110에 나타내는 기저 B와 기저 B*에 대하여, 수학식 111이다. 따라서, 수학식 124는, 기저 B* 0의 기저 벡터 b* 0, 1의 계수로서 -s0을 설정하고, 기저 벡터 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은 각각 u0, w0, z0이다.
또한, 복호 키 생성부(140)는, 처리 장치에 의해, 집합 Iv→에 포함되는 인덱스 t에 대하여, 복호 키 skv의 요소 k* t를 수학식 125에 나타내는 바와 같이 생성한다.
[수학식 125]
Figure 112015047898107-pct00025
다시 말해, 수학식 125는, 수학식 124와 마찬가지로, 기저 B*의 기저 벡터 b* 1의 계수로서 μtt를 설정하고, 기저 벡터 b* 2의 계수로서 -μt를 설정하고, 기저 벡터 b* 3의 계수로서 δvt를 설정하고, 기저 벡터 b* 4의 계수로서 st를 설정하고, 기저 벡터 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* 0, k* t를 요소로 하는 복호 키 skv를, 예컨대 통신 장치에 의해 네트워크를 통해서 비밀리에 복호 장치(300)에 배포한다. 물론, 복호 키 skv는, 다른 방법에 의해 복호 장치(300)에 배포되더라도 좋다.
다시 말해, S201 내지 S204에 있어서, 키 생성 장치(100)는, 수학식 126에 나타내는 KeyGen 알고리즘을 실행하여, 복호 키 skv를 생성한다. 그리고, S205에서, 키 생성 장치(100)는, 생성한 복호 키 skv를 복호 장치(300)에 배포한다.
[수학식 126]
Figure 112015047898107-pct00026
암호화 장치(200)의 기능과 동작에 대하여 설명한다.
암호화 장치(200)는, 공개 파라미터 취득부(210), 정보 입력부(220), 암호문 생성부(230), 데이터 송신부(240)를 구비한다.
도 7에 근거하여, Enc 알고리즘의 처리에 대하여 설명한다.
(S301 : 공개 파라미터 취득 단계)
공개 파라미터 취득부(210)는, 예컨대, 통신 장치에 의해 네트워크를 통해서, 키 생성 장치(100)가 생성한 공개 파라미터 pk를 취득한다.
(S302 : 정보 입력 단계)
정보 입력부(220)는, 입력 장치에 의해, 복호 장치(300)에 송신하는 메시지 m을 입력한다. 또한, 정보 입력부(220)는, 입력 장치에 의해, 속성 벡터 x:={(t, xt)|t∈Ix→}를 입력한다. 다시 말해, 속성 벡터 x는, 집합 Ix→에 포함되는 인덱스 t에 대하여, 인덱스 t와 속성 정보 xt를 요소로서 갖는 벡터이다. 속성 벡터 x는, 예컨대, 복호 가능한 유저의 속성 정보가 설정되어 있다.
(S303 : 난수 생성 단계)
암호문 생성부(230)는, 처리 장치에 의해, 난수를 수학식 127에 나타내는 바와 같이 생성한다.
[수학식 127]
Figure 112015047898107-pct00027
(S304 : 암호 요소 생성 단계)
암호문 생성부(230)는, 처리 장치에 의해, 암호문 ctx의 요소 c0을 수학식 128에 나타내는 바와 같이 생성한다.
[수학식 128]
Figure 112015047898107-pct00028
또한, 암호문 생성부(230)는, 처리 장치에 의해, 집합 Ix→에 포함되는 인덱스 t에 대하여, 암호문 ctx의 요소 ct를 수학식 129에 나타내는 바와 같이 생성한다.
[수학식 129]
Figure 112015047898107-pct00029
또한, 암호문 생성부(230)는, 처리 장치에 의해, 암호문 ctx의 요소 cT를 수학식 130에 나타내는 바와 같이 생성한다.
[수학식 130]
Figure 112015047898107-pct00030
(S305 : 데이터 송신 단계)
데이터 송신부(240)는, S304에서 생성된 c0, ct, cT를 요소로 하는 암호문 ctx를, 예컨대 통신 장치에 의해 네트워크를 통해서 복호 장치(300)에 송신한다. 물론, 암호문 ctx는, 다른 방법에 의해 복호 장치(300)에 송신되더라도 좋다.
다시 말해, S301 내지 S304에 있어서, 암호화 장치(200)는, 수학식 131에 나타내는 Enc 알고리즘을 실행하여, 암호문 ctx를 생성한다. 그리고, S305에서, 암호화 장치(200)는 생성한 암호문 ctx를 복호 장치(300)에 송신한다.
[수학식 131]
Figure 112015047898107-pct00031
복호 장치(300)의 기능과 동작에 대하여 설명한다.
복호 장치(300)는, 복호 키 취득부(310), 복호 키 기억부(320), 암호문 취득부(330), 페어링 연산부(340), 메시지 계산부(350)를 구비한다. 페어링 연산부(340)와 메시지 계산부(350)를 합쳐서 복호부라고 부른다.
도 8에 근거하여, Dec 알고리즘의 처리에 대하여 설명한다.
(S401 : 복호 키 취득 단계)
복호 키 취득부(310)는, 예컨대, 통신 장치에 의해 네트워크를 통해서, 키 생성 장치(100)로부터 배포된 복호 키 skv를 취득한다. 또한, 복호 키 취득부(310)는, 키 생성 장치(100)가 생성한 공개 파라미터 pk를 취득한다.
복호 키 취득부(310)는, 취득한 복호 키 skv와 공개 파라미터 pk를 복호 키 기억부(320)에 기억한다.
(S402 : 암호문 취득 단계)
암호문 취득부(330)는, 예컨대, 통신 장치에 의해 네트워크를 통해서, 암호화 장치(200)가 송신한 암호문 ctx를 수신한다.
(S403 : 페어링 연산 단계)
페어링 연산부(340)는, 처리 장치에 의해, 수학식 132를 계산하여, 세션 키 K=gT ζ를 생성한다.
[수학식 132]
Figure 112015047898107-pct00032
또, 만약, 수학식 133이라면, 수학식 134에 나타내는 바와 같이, 수학식 132를 계산하는 것에 의해 키 K=gT ζ가 얻어진다.
[수학식 133]
Figure 112015047898107-pct00033
[수학식 134]
Figure 112015047898107-pct00034
다시 말해, 집합 Iv→가 집합 Ix→의 부분 집합이고, 또한, 집합 Iv→에 포함되는 인덱스 t에 대하여, vtxt의 합계가 0이 된다면, 수학식 132를 계산하는 것에 의해 키 K=gT ζ가 얻어진다.
(S404 : 메시지 계산 단계)
메시지 계산부(350)는, 처리 장치에 의해, m'=cT/K를 계산하여, 메시지 m'(=m)를 생성한다. 또, cT는 수학식 130에 나타내는 대로 gT ζm이고, K는 gT ζ이기 때문에, m'=cT/K를 계산하면 메시지 m이 얻어진다.
다시 말해, S401 내지 S404에 있어서, 복호 장치(300)는, 수학식 135에 나타내는 Dec 알고리즘을 실행하여, 메시지 m'(=m)를 생성한다.
[수학식 135]
Figure 112015047898107-pct00035
이상과 같이, 실시의 형태 1과 관련되는 내적 술어 암호 방식에서는, 속성 벡터 x 및 술어 벡터 v의 차원이 동일하지 않더라도, 집합 Iv→가 집합 Ix→의 부분 집합이고, 또한, 집합 Iv→에 포함되는 인덱스 t에 대하여, vtxt의 합계가 0이 된다면, 암호문 ctx를 복호 키 skv로 복호할 수 있다.
또한, 실시의 형태 1과 관련되는 내적 술어 암호 방식에서는, 복호 키 skv의 요소 k* t에 대하여, 기저 벡터 b* 1, b* 2(기저 벡터 b* index)의 계수로서, μtt와 -μt를 각각 설정했다. 또한, 암호 시스템(10)은, 암호문 ctx의 요소 ct에 대하여, 기저 벡터 b1, b2(기저 벡터 bindex)의 계수로서, σt와 σtt를 각각 설정했다.
그 때문에, 대응하는 인덱스 t에 대한 요소 k* t와 요소 ct의 페어링 연산을 행하면, 기저 벡터 b* 1, b* 2와 기저 벡터 b1, b2의 부분에 대해서는, 내적이 0이 되고, 캔슬된다. 다시 말해, 대응하는 인덱스 t에 대한 요소 k* t와 요소 ct의 페어링 연산을 행하면, 기저 벡터의 계수로서 설정한 인덱스부(기저 벡터 b* 1, b* 2와 기저 벡터 b1, b2의 부분)는 캔슬되고, 나머지의 부분에 대한 페어링 연산의 결과가 얻어진다.
실시의 형태 1과 관련되는 내적 술어 암호 방식에서는, 인덱스부를 마련하는 것에 의해, 각 속성 카테고리에서 사용하는 기저를 공통의 기저(기저 B 및 기저 B*)로 할 수 있다. 그 결과, 공개 파라미터에는, 기저 B 및 기저 B*만을 포함시켜 두면 되고, 이후에 속성 카테고리를 추가하는 경우에, 공개 파라미터를 재발행할 필요가 없다.
또, 인덱스부에 대해서는, 내적한 결과가 0이 되면 된다. 그 때문에, 상기 설명에서는, 기저 벡터 b* 1, b* 2와 기저 벡터 b1, b2의 2차원을 인덱스부로 했지만, 이것에 한하지 않고, 3차원 이상을 인덱스부로 하더라도 좋다. 또한, 인덱스부로의 값의 할당도 상기 설명의 것에 한하지 않고, 다른 할당이더라도 좋다.
또한, 상기 설명에서는, 인덱스부를 마련하는 것에 의해, 각 속성 카테고리에서 사용하는 기저를 공통의 기저(기저 B 및 기저 B*)로 했다. 그러나, 이후에 속성 카테고리를 추가하는 경우에, 공개 파라미터를 재발행하더라도 좋은 경우, 각 속성 카테고리에서 사용하는 기저를 다른 기저로 하면, 인덱스부를 마련할 필요는 없다.
이 경우, 상술한 내적 술어 암호 방식의 Gob 알고리즘, Setup 알고리즘, KeyGen 알고리즘, Enc 알고리즘은, 수학식 136 내지 수학식 139와 같이 된다. 또, Dec 알고리즘은 수학식 135와 같고, 변경은 없다.
[수학식 136]
Figure 112015047898107-pct00036
[수학식 137]
Figure 112015047898107-pct00037
[수학식 138]
Figure 112015047898107-pct00038
[수학식 139]
Figure 112015047898107-pct00039
다시 말해, 인덱스 t마다 상이한 기저 Bt 및 기저 B* t를 이용한다.
또한, 상기 설명에서는, u0, w0, z0, u, w, z는 각각 0 이상의 정수인 것으로 했다. 예컨대, u0=1, w0=1, z0=1, u=9, w=2, z=2로 하더라도 좋다.
실시의 형태 2.
실시의 형태 1에서는, 집합 Iv→가 집합 Ix→의 부분 집합이고, 또한, 집합 Iv→에 포함되는 인덱스 t에 대하여, vtxt의 합계가 0이 된다면, 암호문 ctx를 복호 키 skv로 복호할 수 있는 내적 술어 암호 방식(Type1)에 대하여 설명했다.
실시의 형태 2에서는, 집합 Ix→가 집합 Iv→의 부분 집합이고, 또한, 집합 Ix→에 포함되는 인덱스 t에 대하여, vtxt의 합계가 0이 된다면, 암호문 ctx를 복호 키 skv로 복호할 수 있는 내적 술어 암호 방식(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에 나타내는 바와 같이 생성한다.
[수학식 140]
Figure 112015047898107-pct00040
(S503 : 키 요소 생성 단계)
복호 키 생성부(140)는, 처리 장치에 의해, 복호 키 skv의 요소 k* 0을 수학식 141에 나타내는 바와 같이 생성한다.
[수학식 141]
Figure 112015047898107-pct00041
또한, 복호 키 생성부(140)는, 처리 장치에 의해, 집합 Iv→에 포함되는 인덱스 t에 대하여, 복호 키 skv의 요소 k* t를 수학식 142에 나타내는 바와 같이 생성한다.
[수학식 142]
Figure 112015047898107-pct00042
(S504 : 키 배포 단계)
키 배포부(150)는, S503에서 생성된 k* 0, k* t를 요소로 하는 복호 키 skv를, 예컨대 통신 장치에 의해 네트워크를 통해서 비밀리에 복호 장치(300)에 배포한다. 물론, 복호 키 skv는, 다른 방법에 의해 복호 장치(300)에 배포되더라도 좋다.
다시 말해, S501 내지 S503에 있어서, 키 생성 장치(100)는, 수학식 143에 나타내는 KeyGen 알고리즘을 실행하여, 복호 키 skv를 생성한다. 그리고, S504에서, 키 생성 장치(100)는, 생성한 복호 키 skv를 복호 장치(300)에 배포한다.
[수학식 143]
Figure 112015047898107-pct00043
도 10에 근거하여, Enc 알고리즘의 처리에 대하여 설명한다.
S601 내지 S602의 처리는, 도 7에 나타내는 S301 내지 S302의 처리와 동일하다.
(S603 : 비밀 정보 생성 단계)
암호문 생성부(230)는, 처리 장치에 의해, 비밀 정보 ft, f0을 수학식 144에 나타내는 바와 같이 생성한다.
[수학식 144]
Figure 112015047898107-pct00044
(S604 : 난수 생성 단계)
암호문 생성부(230)는, 처리 장치에 의해, 난수를 수학식 145에 나타내는 바와 같이 생성한다.
[수학식 145]
Figure 112015047898107-pct00045
(S605 : 암호 요소 생성 단계)
암호문 생성부(230)는, 처리 장치에 의해, 암호문 ctx의 요소 c0을 수학식 146에 나타내는 바와 같이 생성한다.
[수학식 146]
Figure 112015047898107-pct00046
또한, 암호문 생성부(230)는, 처리 장치에 의해, 집합 Ix→에 포함되는 인덱스 t에 대하여, 암호문 ctx의 요소 ct를 수학식 147에 나타내는 바와 같이 생성한다.
[수학식 147]
Figure 112015047898107-pct00047
또한, 암호문 생성부(230)는, 처리 장치에 의해, 암호문 ctx의 요소 cT를 수학식 148에 나타내는 바와 같이 생성한다.
[수학식 148]
Figure 112015047898107-pct00048
(S606 : 데이터 송신 단계)
데이터 송신부(240)는, S605에서 생성된 c0, ct, cT를 요소로 하는 암호문 ctx를, 예컨대 통신 장치에 의해 네트워크를 통해서 복호 장치(300)에 송신한다. 물론, 암호문 ctx는, 다른 방법에 의해 복호 장치(300)에 송신되더라도 좋다.
다시 말해, S601 내지 S605에 있어서, 암호화 장치(200)는, 수학식 149에 나타내는 Enc 알고리즘을 실행하여, 암호문 ctx를 생성한다. 그리고, S606에서, 암호화 장치(200)는 생성한 암호문 ctx를 복호 장치(300)에 송신한다.
[수학식 149]
Figure 112015047898107-pct00049
도 11에 근거하여, Dec 알고리즘의 처리에 대하여 설명한다.
S701 내지 S702의 처리는, 도 8에 나타내는 S401 내지 S402의 처리와 동일하다. 또한, S704의 처리는, 도 8에 나타내는 S404의 처리와 동일하다.
(S703 : 페어링 연산 단계)
페어링 연산부(340)는, 처리 장치에 의해, 수학식 150을 계산하여, 세션 키 K=gT ζ를 생성한다.
[수학식 150]
Figure 112015047898107-pct00050
또, 만약, 수학식 151이라면, 수학식 152에 나타내는 바와 같이, 수학식 150을 계산하는 것에 의해 키 K=gT ζ가 얻어진다.
[수학식 151]
Figure 112015047898107-pct00051
[수학식 152]
Figure 112015047898107-pct00052
다시 말해, 집합 Ix→가 집합 Iv→의 부분 집합이고, 또한, 집합 Ix→에 포함되는 인덱스 t에 대하여, vtxt의 합계가 0이 된다면, 수학식 150을 계산하는 것에 의해 키 K=gT ζ가 얻어진다.
다시 말해, S701 내지 S704에 있어서, 복호 장치(300)는, 수학식 153에 나타내는 Dec 알고리즘을 실행하여, 메시지 m'(=m)를 생성한다.
[수학식 153]
Figure 112015047898107-pct00053
이상과 같이, 실시의 형태 2와 관련되는 내적 술어 암호 방식에서는, 속성 벡터 x 및 술어 벡터 v의 차원이 동일하지 않더라도, 집합 Ix→가 집합 Iv→의 부분 집합이고, 또한, 집합 Ix→에 포함되는 인덱스 t에 대하여, vtxt의 합계가 0이 된다면, 암호문 ctx를 복호 키 skv로 복호할 수 있다.
또한, 상기 설명에서는, 인덱스부를 마련하는 것에 의해, 각 속성 카테고리에서 사용하는 기저를 공통의 기저(기저 B 및 기저 B*)로 했다. 그러나, 이후에 속성 카테고리를 추가하는 경우에, 공개 파라미터를 재발행하더라도 좋은 경우, 각 속성 카테고리에서 사용하는 기저를 다른 기저로 하면, 인덱스부를 마련할 필요는 없다.
이 경우, 상술한 내적 술어 암호 방식의 KeyGen 알고리즘, Enc 알고리즘은, 수학식 154 내지 수학식 155와 같이 된다. 또, Gob 알고리즘은 수학식 136과 동일하고, Setup 알고리즘은 수학식 137과 동일하고, Dec 알고리즘은 수학식 153과 같고, 변경은 없다.
[수학식 154]
Figure 112015047898107-pct00054
[수학식 155]
Figure 112015047898107-pct00055
다시 말해, 인덱스 t마다 상이한 기저 Bt 및 기저 B* t를 이용한다.
실시의 형태 3.
실시의 형태 1에서는, 집합 Iv→가 집합 Ix→의 부분 집합이고, 또한, 집합 Iv→에 포함되는 인덱스 t에 대하여, vtxt의 합계가 0이 된다면, 암호문 ctx를 복호 키 skv로 복호할 수 있는 내적 술어 암호 방식(Type1)에 대하여 설명했다.
실시의 형태 2에서는, 집합 Ix→가 집합 Iv→의 부분 집합이고, 또한, 집합 Ix→에 포함되는 인덱스 t에 대하여, vtxt의 합계가 0이 된다면, 암호문 ctx를 복호 키 skv로 복호할 수 있는 내적 술어 암호 방식(Type2)에 대하여 설명했다.
실시의 형태 3에서는, 집합 Iv→가 집합 Ix→와 동일하고, 또한, 집합 Iv→(또는 집합 Ix→)에 포함되는 인덱스 t에 대하여, vtxt의 합계가 0이 된다면, 암호문 ctx를 복호 키 skv로 복호할 수 있는 내적 술어 암호 방식(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의 처리와 동일하다. 단, N0=2+u0+1+w0+z0, N1=5+u+w+z인 점이 상이하다.
다시 말해, S801에서, 마스터 키 생성부(110)는, 수학식 156에 나타내는 알고리즘 Gob를 실행하여, param과, 기저 B0 및 기저 B* 0과 기저 B1(기저 B) 및 기저 B* 1(기저 B*)을 생성한다.
[수학식 156]
Figure 112015047898107-pct00056
(S802 : 공개 파라미터 생성 단계)
마스터 키 생성부(110)는, 처리 장치에 의해, S801에서 생성한 기저 B0의 부분 기저 B^ 0과, 기저 B의 부분 기저 B^를 수학식 157에 나타내는 바와 같이 생성한다.
[수학식 157]
Figure 112015047898107-pct00057
마스터 키 생성부(110)는, 생성한 부분 기저 B^ 0 및 부분 기저 B^와, S801에서 입력된 시큐리티 파라미터 λ(1λ)와, S801에서 생성한 param을 합쳐서, 공개 파라미터 pk로 한다.
(S803 : 마스터 키 생성 단계)
마스터 키 생성부(110)는, 처리 장치에 의해, S801에서 생성한 기저 B* 0의 부분 기저 B^* 0과, 기저 B*의 부분 기저 B^*를 수학식 158에 나타내는 바와 같이 생성한다.
[수학식 158]
Figure 112015047898107-pct00058
마스터 키 생성부(110)는, 생성한 부분 기저 B^* 0과 부분 기저 B^*를 마스터 키 sk로 한다.
S804의 처리는, 도 5에 나타내는 S104의 처리와 동일하다.
다시 말해, S801 내지 S803에 있어서, 키 생성 장치(100)는, 수학식 159에 나타내는 Setup 알고리즘을 실행하여, 공개 파라미터 pk와 마스터 키 sk를 생성한다. 그리고, S804에서, 키 생성 장치(100)는, 생성한 공개 파라미터 pk와 마스터 키 sk를 기억 장치에 기억한다.
또, 공개 파라미터는, 예컨대, 네트워크를 통해서 공개되고, 암호화 장치(200)나 복호 장치(300)가 취득 가능한 상태가 된다.
[수학식 159]
Figure 112015047898107-pct00059
도 13에 근거하여, KeyGen 알고리즘에 대하여 설명한다.
(S901 : 정보 입력 단계)
정보 입력부(130)는, 입력 장치에 의해, 술어 벡터 v:=(v1, …, vn)을 입력한다. 술어 정보 vt로서는, 예컨대, 복호 키 skv의 사용자의 속성 정보가 설정되어 있다.
(S902 : 비밀 정보 생성 단계)
복호 키 생성부(140)는, 처리 장치에 의해, 비밀 정보 st, s0을 수학식 160에 나타내는 바와 같이 생성한다.
[수학식 160]
Figure 112015047898107-pct00060
(S903 : 난수 생성 단계)
복호 키 생성부(140)는, 처리 장치에 의해, 난수를 수학식 161에 나타내는 바와 같이 생성한다.
[수학식 161]
Figure 112015047898107-pct00061
(S904 : 키 요소 생성 단계)
복호 키 생성부(140)는, 처리 장치에 의해, 복호 키 skv의 요소 k* 0을 수학식 162에 나타내는 바와 같이 생성한다.
[수학식 162]
Figure 112015047898107-pct00062
또한, 복호 키 생성부(140)는, 처리 장치에 의해, t=1, …, n의 각 인덱스 t에 대하여, 복호 키 skv의 요소 k* t를 수학식 163에 나타내는 바와 같이 생성한다.
[수학식 163]
Figure 112015047898107-pct00063
(S905 : 키 배포 단계)
키 배포부(150)는, S904에서 생성된 k* 0, k* t를 요소로 하는 복호 키 skv를, 예컨대 통신 장치에 의해 네트워크를 통해서 비밀리에 복호 장치(300)에 배포한다. 물론, 복호 키 skv는, 다른 방법에 의해 복호 장치(300)에 배포되더라도 좋다.
다시 말해, S901 내지 S904에 있어서, 키 생성 장치(100)는, 수학식 164에 나타내는 KeyGen 알고리즘을 실행하여, 복호 키 skv를 생성한다. 그리고, S905에서, 키 생성 장치(100)는, 생성한 복호 키 skv를 복호 장치(300)에 배포한다.
[수학식 164]
Figure 112015047898107-pct00064
도 14에 근거하여, Enc 알고리즘의 처리에 대하여 설명한다.
S1001의 처리는, 도 7에 나타내는 S301의 처리와 동일하다.
(S1002 : 정보 입력 단계)
정보 입력부(220)는, 입력 장치에 의해, 복호 장치(300)에 송신하는 메시지 m을 입력한다. 또한, 정보 입력부(220)는, 입력 장치에 의해, 속성 벡터 x:=(x1, …, xn')를 입력한다. 속성 벡터 x는, 예컨대, 복호 가능한 유저의 속성 정보가 설정되어 있다.
(S1003 : 비밀 정보 생성 단계)
암호문 생성부(230)는, 처리 장치에 의해, 비밀 정보 ft, f0을 수학식 165에 나타내는 바와 같이 생성한다.
[수학식 165]
Figure 112015047898107-pct00065
(S1004 : 난수 생성 단계)
암호문 생성부(230)는, 처리 장치에 의해, 난수를 수학식 166에 나타내는 바와 같이 생성한다.
[수학식 166]
Figure 112015047898107-pct00066
(S1005 : 암호 요소 생성 단계)
암호문 생성부(230)는, 처리 장치에 의해, 암호문 ctx의 요소 c0을 수학식 167에 나타내는 바와 같이 생성한다.
[수학식 167]
Figure 112015047898107-pct00067
또한, 암호문 생성부(230)는, 처리 장치에 의해, t=1, …, n'의 각 인덱스 t에 대하여, 암호문 ctx의 요소 ct를 수학식 168에 나타내는 바와 같이 생성한다.
[수학식 168]
Figure 112015047898107-pct00068
또한, 암호문 생성부(230)는, 처리 장치에 의해, 암호문 ctx의 요소 cT를 수학식 169에 나타내는 바와 같이 생성한다.
[수학식 169]
Figure 112015047898107-pct00069
(S1006 : 데이터 송신 단계)
데이터 송신부(240)는, S1005에서 생성된 c0, ct, cT를 요소로 하는 암호문 ctx를, 예컨대 통신 장치에 의해 네트워크를 통해서 복호 장치(300)에 송신한다. 물론, 암호문 ctx는, 다른 방법에 의해 복호 장치(300)에 송신되더라도 좋다.
다시 말해, S1001 내지 S1005에 있어서, 암호화 장치(200)는, 수학식 170에 나타내는 Enc 알고리즘을 실행하여, 암호문 ctx를 생성한다. 그리고, S1006에서, 암호화 장치(200)는 생성한 암호문 ctx를 복호 장치(300)에 송신한다.
[수학식 170]
Figure 112015047898107-pct00070
도 15에 근거하여, Dec 알고리즘의 처리에 대하여 설명한다.
S1101 내지 S1102의 처리는, 도 8에 나타내는 S401 내지 S402의 처리와 동일하다.
(S1103 : 페어링 연산 단계)
페어링 연산부(340)는, 처리 장치에 의해, 수학식 171을 계산하여, 세션 키 K=gT ζ를 생성한다.
[수학식 171]
Figure 112015047898107-pct00071
또, 만약, 수학식 172라면, 수학식 173에 나타내는 바와 같이, 수학식 171을 계산하는 것에 의해 키 K=gT ζ가 얻어진다.
[수학식 172]
Figure 112015047898107-pct00072
[수학식 173]
Figure 112015047898107-pct00073
다시 말해, 집합 Ix→가 집합 Iv→와 동일하고, 또한, 집합 Iv→(또는 집합 Ix→)에 포함되는 인덱스 t에 대하여, vtxt의 합계가 0이 된다면, 수학식 171을 계산하는 것에 의해 키 K=gT ζ가 얻어진다.
S1104의 처리는, 도 8에 나타내는 S404의 처리와 동일하다.
다시 말해, S1101 내지 S1104에 있어서, 복호 장치(300)는, 수학식 174에 나타내는 Dec 알고리즘을 실행하여, 메시지 m'(=m)를 생성한다.
[수학식 174]
Figure 112015047898107-pct00074
이상과 같이, 실시의 형태 3과 관련되는 내적 술어 암호 방식에서는, 집합 Ix→가 집합 Iv→와 동일하고, 또한, 집합 Iv→(집합 Ix→)에 포함되는 인덱스 t에 대하여, vtxt의 합계가 0이 된다면, 암호문 ctx를 복호 키 skv로 복호할 수 있다.
또한, 상기 설명에서는, 인덱스부를 마련하는 것에 의해, 각 속성 카테고리에서 사용하는 기저를 공통의 기저(기저 B 및 기저 B*)로 했다. 그러나, 이후에 속성 카테고리를 추가하는 경우에, 공개 파라미터를 재발행하더라도 좋은 경우, 각 속성 카테고리에서 사용하는 기저를 다른 기저로 하면, 인덱스부를 마련할 필요는 없다.
이 경우, 상술한 내적 술어 암호 방식의 Gob 알고리즘, Setup 알고리즘, KeyGen 알고리즘, Enc 알고리즘은, 수학식 175 내지 수학식 178과 같이 된다. 또, Dec 알고리즘은 수학식 174와 같고, 변경은 없다.
[수학식 175]
Figure 112015047898107-pct00075
[수학식 176]
Figure 112015047898107-pct00076
[수학식 177]
Figure 112015047898107-pct00077
[수학식 178]
Figure 112015047898107-pct00078
다시 말해, 인덱스 t마다 상이한 기저 Bt 및 기저 B* t를 이용한다.
또한, 상기 설명에서는, u0, w0, z0, u, w, z는 각각 0 이상의 정수인 것으로 했다. 예컨대, u0=2, w0=2, z0=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마다 기저 Bt 및 기저 B* t를 생성하는 것이 아니라, 인덱스 τ, t마다 기저 Bτ, t 및 기저 B* τ, t를 생성한다.
다시 말해, Setup 알고리즘은, 수학식 179에 나타내는 바와 같다. 또, Setup 알고리즘에서 이용되는 알고리즘 Gob는, 수학식 180에 나타내는 바와 같다.
[수학식 179]
Figure 112015047898107-pct00079
[수학식 180]
Figure 112015047898107-pct00080
KeyGen 알고리즘에 대하여 설명한다.
복호 키 생성부(140)는, 처리 장치에 의해, 비밀 정보 σ와, 비밀 정보 s를 수학식 181에 나타내는 바와 같이 생성한다.
[수학식 181]
Figure 112015047898107-pct00081
그리고, 복호 키 생성부(140)는, 처리 장치에 의해, 복호 키 skS의 요소 k* 0을 수학식 182에 나타내는 바와 같이 생성하고, i=1, …, L(L은 1 이상의 정수) 및 집합 Ivi 에 포함되는 인덱스 t에 대하여, 복호 키 skS의 요소 k* i, t를 수학식 183에 나타내는 바와 같이 생성한다.
[수학식 182]
Figure 112015047898107-pct00082
[수학식 183]
Figure 112015047898107-pct00083
다시 말해, KeyGen 알고리즘은, 수학식 184에 나타내는 바와 같다.
[수학식 184]
Figure 112015047898107-pct00084
Enc 알고리즘에 대하여 설명한다.
암호문 생성부(230)는, 처리 장치에 의해, 1개 이상의 인덱스 τ 및 집합 Ixi→에 포함되는 인덱스 t에 대하여, 암호문 ctx의 요소 cτ, t를 수학식 185에 나타내는 바와 같이 생성한다.
[수학식 185]
Figure 112015047898107-pct00085
다시 말해, Enc 알고리즘은, 수학식 186에 나타내는 바와 같다.
[수학식 186]
Figure 112015047898107-pct00086
Dec 알고리즘에 대하여 설명한다.
페어링 연산부(340)는, 처리 장치에 의해, 수학식 187을 계산하여, 세션 키 K=gT ζ를 생성하여, 메시지 m'=cd+1/K를 계산한다.
[수학식 187]
Figure 112015047898107-pct00087
다시 말해, Dec 알고리즘은, 수학식 188에 나타내는 바와 같다.
[수학식 188]
Figure 112015047898107-pct00088
이상과 같이, 상기 실시의 형태에서 설명한 내적 술어 암호 방식을 하부 구조로서 갖는 함수형 암호 방식을 실현할 수 있다.
상기 설명에서는, 이후에 속성 카테고리를 추가하는 경우에, 공개 파라미터를 재발행할 필요가 있는 함수형 암호 방식을 설명했다. 그러나, 실시의 형태 1-3에서 설명한 바와 같이, 인덱스부를 마련하는 것에 의해, 공개 파라미터를 재발행하는 일 없이, 속성 카테고리를 추가할 수 있도록 하는 것도 가능하다.
또, 상술한 함수형 암호 방식에서는, 기저 Bτ, t 및 기저 B* τ, t를 이용했다. 그래서, 인덱스 τ 및 인덱스 t의 각각에 대하여, 인덱스부를 마련할 필요가 있다.
이 경우, 상술한 내적 술어 암호 방식의 Gob 알고리즘, Setup 알고리즘, KeyGen 알고리즘, Enc 알고리즘은, 수학식 189 내지 수학식 192와 같이 된다. 또, Dec 알고리즘은 수학식 188과 같고, 변경은 없다.
[수학식 189]
Figure 112015047898107-pct00089
[수학식 190]
Figure 112015047898107-pct00090
[수학식 191]
Figure 112015047898107-pct00091
[수학식 192]
Figure 112015047898107-pct00092
또, 상기 설명에서는, 일례로서, 비특허 문헌 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을 계수로 하는 가군에 있어서도, 상기 실시의 형태에서 설명한 암호 프리미티브의 처리를 적용할 수 있다.
[수학식 193]
Figure 112015047898107-pct00093
이상의 실시의 형태에서 설명한 알고리즘에 있어서의 Fq를 R로 변경하면, 쌍대 가군에 있어서의 암호 프리미티브의 처리를 실현할 수 있다.
다음으로, 실시의 형태에 있어서의 암호 처리 시스템(10)(키 생성 장치(100), 암호화 장치(200), 복호 장치(300))의 하드웨어 구성에 대하여 설명한다.
도 16은 키 생성 장치(100), 암호화 장치(200), 복호 장치(300)의 하드웨어 구성의 일례를 나타내는 도면이다.
도 16에 나타내는 바와 같이, 키 생성 장치(100), 암호화 장치(200), 복호 장치(300)는, 프로그램을 실행하는 CPU(911)(Central Processing Unit, 중앙 처리 장치, 처리 장치, 연산 장치, 마이크로프로세서, 마이크로컴퓨터, 프로세서라고도 한다)를 구비하고 있다. CPU(911)는, 버스(912)를 통해서 ROM(913), RAM(914), LCD(901)(Liquid Crystal Display), 키보드(902)(K/B), 통신 보드(915), 자기 디스크 장치(920)와 접속되고, 이들 하드웨어 디바이스를 제어한다. 자기 디스크 장치(920)(고정 디스크 장치) 대신에, 광 디스크 장치, 메모리 카드 읽기 쓰기 장치 등의 기억 장치이더라도 좋다. 자기 디스크 장치(920)는, 소정의 고정 디스크 인터페이스를 통해서 접속된다.
ROM(913), 자기 디스크 장치(920)는, 비휘발성 메모리의 일례이다. RAM(914)은, 휘발성 메모리의 일례이다. ROM(913)과 RAM(914)과 자기 디스크 장치(920)는, 기억 장치(메모리)의 일례이다. 또한, 키보드(902), 통신 보드(915)는, 입력 장치의 일례이다. 또한, 통신 보드(915)는, 통신 장치의 일례이다. 또한, LCD(901)는, 표시 장치의 일례이다.
자기 디스크 장치(920) 또는 ROM(913) 등에는, 오퍼레이팅 시스템(921)(OS), 윈도우 시스템(922), 프로그램군(923), 파일군(924)이 기억되어 있다. 프로그램군(923)의 프로그램은, CPU(911), 오퍼레이팅 시스템(921), 윈도우 시스템(922)에 의해 실행된다.
프로그램군(923)에는, 상기의 설명에 있어서 마스터 키 생성부(110), 마스터 키 기억부(120), 정보 입력부(130), 복호 키 생성부(140), 키 배포부(150), 공개 파라미터 취득부(210), 정보 입력부(220), 암호문 생성부(230), 데이터 송신부(240), 복호 키 취득부(310), 복호 키 기억부(320), 암호문 취득부(330), 페어링 연산부(340), 메시지 계산부(350) 등으로서 설명한 기능을 실행하는 소프트웨어나 프로그램이나 그 외의 프로그램이 기억되어 있다. 프로그램은, CPU(911)에 의해 읽혀져 실행된다.
파일군(924)에는, 상기의 설명에 있어서 공개 파라미터 pk, 마스터 비밀 키 sk, 복호 키 skv, 암호문 ctx, 술어 벡터 v, 속성 벡터 x, 메시지 m 등의 정보나 데이터나 신호값이나 변수값이나 파라미터가, 파일이나 데이터베이스의 각 항목으로서 기억된다. 파일이나 데이터베이스는, 디스크나 메모리 등의 기록 매체에 기억된다. 디스크나 메모리 등의 기억 매체에 기억된 정보나 데이터나 신호값이나 변수값이나 파라미터는, 읽기 쓰기 회로를 통해서 CPU(911)에 의해 메인 메모리나 캐시 메모리에 읽혀져, 추출ㆍ검색ㆍ참조ㆍ비교ㆍ연산ㆍ계산ㆍ처리ㆍ출력ㆍ인쇄ㆍ표시 등의 CPU(911)의 동작에 이용된다. 추출ㆍ검색ㆍ참조ㆍ비교ㆍ연산ㆍ계산ㆍ처리ㆍ출력ㆍ인쇄ㆍ표시의 CPU(911)의 동작 동안, 정보나 데이터나 신호값이나 변수값이나 파라미터는, 메인 메모리나 캐시 메모리나 버퍼 메모리에 일시적으로 기억된다.
또한, 상기의 설명에 있어서의 플로차트의 화살표의 부분은 주로 데이터나 신호의 입출력을 나타내고, 데이터나 신호값은, RAM(914)의 메모리, 그 외 광 디스크 등의 기록 매체나 IC 칩에 기록된다. 또한, 데이터나 신호는, 버스(912)나 신호선이나 케이블 그 외의 전송 매체나 전파에 의해 온라인 전송된다.
또한, 상기의 설명에 있어서 「~부」로서 설명하는 것은, 「~회로」, 「~장치」, 「~기기」, 「~수단」, 「~기능」이더라도 좋고, 또한, 「~단계」, 「~순서」, 「~처리」이더라도 좋다. 또한, 「~장치」로서 설명하는 것은, 「~회로」, 「~기기」, 「~수단」, 「~기능」이더라도 좋고, 또한, 「~단계」, 「~순서」, 「~처리」이더라도 좋다. 또한, 「~처리」로서 설명하는 것은 「~단계」이더라도 상관없다. 즉, 「~부」로서 설명하는 것은, ROM(913)에 기억된 펌웨어로 실현되어 있더라도 상관없다. 혹은, 소프트웨어만, 혹은, 소자ㆍ디바이스ㆍ기판ㆍ배선 등의 하드웨어만, 혹은, 소프트웨어와 하드웨어의 조합, 또한, 펌웨어와의 조합으로 실시되더라도 상관없다. 펌웨어와 소프트웨어는, 프로그램으로서, ROM(913) 등의 기록 매체에 기억된다. 프로그램은 CPU(911)에 의해 읽혀져, CPU(911)에 의해 실행된다. 즉, 프로그램은, 상기에서 말한 「~부」로서 컴퓨터 등을 기능시키는 것이다. 혹은, 상기에서 말한 「~부」의 순서나 방법을 컴퓨터 등에 실행시키는 것이다.
100 : 키 생성 장치
110 : 마스터 키 생성부
120 : 마스터 키 기억부
130 : 정보 입력부
140 : 복호 키 생성부
150 : 키 배포부
200 : 암호화 장치
210 : 공개 파라미터 취득부
220 : 정보 입력부
230 : 암호문 생성부
240 : 데이터 송신부
300 : 복호 장치
310 : 복호 키 취득부
320 : 복호 키 기억부
330 : 암호문 취득부
340 : 페어링 연산부
350 : 메시지 계산부

Claims (12)

  1. 암호화 장치와 복호 장치를 구비하는 암호 시스템으로서,
    상기 암호화 장치는,
    기저 벡터 b0 , r의 계수로서 값 ω~가 설정된 요소 c0과, 집합 Ix→에 포함되는 각 인덱스 t에 대하여, 기저 벡터 bp의 계수로서 속성 정보 xt가 설정되고, 기저 벡터 bq의 계수로서 상기 값 ω~가 설정된 요소 ct를 갖는 암호문을 생성하는 암호문 생성부
    를 구비하고,
    상기 복호 장치는,
    집합 Iv→에 포함되는 각 인덱스 t에 대한 값 st의 합계가 값 s0인 값 st 및 값 s0을 이용하여 생성된 요소 k0과 요소 kt로서, 상기 기저 벡터 b0 , r에 대응하는 기저 벡터 b* 0, r의 계수로서 값 -s0이 설정된 요소 k0과, 집합 Iv→에 포함되는 각 인덱스 t에 대하여, 상기 기저 벡터 bp에 대응하는 기저 벡터 b* p의 계수로서 술어 정보 vt가 설정되고, 상기 기저 벡터 bq에 대응하는 기저 벡터 b* q의 계수로서 값 st가 설정된 요소 kt를 갖는 복호 키를 기억하는 복호 키 기억부와,
    상기 암호문 생성부가 생성한 암호문을, 상기 복호 키 기억부가 기억한 복호 키에 의해 복호하는 복호부로서, 상기 요소 c0 및 상기 요소 k0과, 상기 집합 Iv→에 포함되는 각 인덱스 t에 대한 요소 ct 및 요소 kt에 대하여, 대응하는 기저 벡터마다의 페어링 연산의 곱을 계산하여, 상기 암호문을 복호하는 복호부
    를 구비하는 것을 특징으로 하는 암호 시스템.
  2. 제 1 항에 있어서,
    상기 암호문 생성부는, 또한, 기저 벡터 bindex의 계수로서, 인덱스 t에 미리 할당된 정보 J가 설정된 요소 ct를 생성하고,
    상기 복호 키 기억부는, 또한, 상기 기저 벡터 bindex에 대응하는 기저 벡터 b* index의 계수로서, 인덱스 t에 미리 할당된 상기 정보 J와의 내적이 0이 되는 정보 J'가 설정된 요소 kt를 생성하는
    것을 특징으로 하는 암호 시스템.
  3. 제 2 항에 있어서,
    상기 암호문 생성부는, 수학식 1에 나타내는 요소 c0 및 요소 ct를 생성하고,
    상기 복호 키 기억부는, 수학식 2에 나타내는 요소 k0 및 요소 kt를 기억하고,
    상기 복호부는, 수학식 3에 나타내는 계산을 하는
    것을 특징으로 하는 암호 시스템.
    [수학식 1]
    Figure 112015047898107-pct00094

    [수학식 2]
    Figure 112015047898107-pct00095

    [수학식 3]
    Figure 112015047898107-pct00096

  4. 송신 장치와 수신 장치를 구비하고, 인덱스 τ마다, 집합 Iτ, x→에 포함되는 각 인덱스 t에 대한 속성 정보 xτ, t를 요소로서 갖는 속성 벡터 xτ 와, 집합 Iτ, v→에 포함되는 각 인덱스 t에 대한 속성 정보 vτ, t를 요소로서 갖는 술어 벡터 vτ 의 내적이 0인지 여부를 판정하는 것에 의해, 암호 프리미티브의 처리를 실현하는 암호 시스템으로서,
    상기 송신 장치는,
    인덱스 τ마다, 집합 Iτ, x→에 포함되는 각 인덱스 t에 대하여, 기저 벡터 bp의 계수로서 속성 정보 xτ, t가 설정되고, 기저 벡터 bq의 계수로서 값 ω~ τ가 설정된 요소 cτ, t를 갖는 송신 정보를 생성하는 송신 정보 생성부
    를 구비하고,
    상기 수신 장치는,
    인덱스 τ마다, 집합 Iτ, v→에 포함되는 각 인덱스 t에 대하여, 상기 기저 벡터 bp에 대응하는 기저 벡터 b* p의 계수로서 속성 정보 vτ, t가 설정되고, 상기 기저 벡터 bq에 대응하는 기저 벡터 b* q의 계수로서 값 sτ, t가 설정된 요소 kτ, t를 갖는 수신 정보를 기억하는 수신 정보 기억부와,
    각 인덱스 τ에 대하여, 상기 집합 Iτ, v→에 포함되는 각 인덱스 t에 대한 요소 cτ, t 및 요소 kτ, t에 대하여, 대응하는 기저 벡터마다의 페어링 연산의 곱을 계산하는 페어링 연산부
    를 구비하는 것을 특징으로 하는 암호 시스템.
  5. 암호화 장치와 복호 장치를 구비하는 암호 시스템으로서,
    상기 암호화 장치는,
    집합 Ix→에 포함되는 각 인덱스 t에 대한 값 ft의 합계가 값 f0인 값 ft 및 값 f0을 이용하여 생성된 요소 c0과 요소 ct로서, 기저 벡터 b0 , r의 계수로서 값 -f0이 설정된 요소 c0과, 집합 Ix→에 포함되는 각 인덱스 t에 대하여, 기저 벡터 bp의 계수로서 속성 정보 xt가 설정되고, 기저 벡터 bq의 계수로서 값 ft가 설정된 요소 ct를 갖는 암호문을 생성하는 암호문 생성부
    를 구비하고,
    상기 복호 장치는,
    상기 기저 벡터 b0 , r에 대응하는 기저 벡터 b* 0, r의 계수로서 값 δ~가 설정된 요소 k0과, 집합 Iv→에 포함되는 각 인덱스 t에 대하여, 상기 기저 벡터 bp에 대응하는 기저 벡터 b* p의 계수로서 술어 정보 vt가 설정되고, 상기 기저 벡터 bq에 대응하는 기저 벡터 b* q의 계수로서 상기 값 δ~가 설정된 요소 kt를 갖는 복호 키를 기억하는 복호 키 기억부와,
    상기 암호문 생성부가 생성한 암호문을, 상기 복호 키 기억부가 기억한 복호 키에 의해 복호하는 복호부로서, 상기 요소 c0 및 상기 요소 k0과, 상기 집합 Ix→에 포함되는 각 인덱스 t에 대한 요소 ct 및 요소 kt에 대하여, 대응하는 기저 벡터마다의 페어링 연산의 곱을 계산하여, 상기 암호문을 복호하는 복호부
    를 구비하는 것을 특징으로 하는 암호 시스템.
  6. 제 5 항에 있어서,
    상기 암호문 생성부는, 또한, 기저 벡터 bindex의 계수로서, 인덱스 t에 미리 할당된 정보 J가 설정된 요소 ct를 생성하고,
    상기 복호 키 기억부는, 또한, 상기 기저 벡터 bindex에 대응하는 기저 벡터 b* index의 계수로서, 인덱스 t에 미리 할당된 상기 정보 J와의 내적이 0이 되는 정보 J'가 설정된 요소 kt를 생성하는
    것을 특징으로 하는 암호 시스템.
  7. 제 6 항에 있어서,
    상기 암호문 생성부는, 수학식 4에 나타내는 요소 c0 및 요소 ct를 생성하고,
    상기 복호 키 기억부는, 수학식 5에 나타내는 요소 k0 및 요소 kt를 기억하고,
    상기 복호부는, 수학식 6에 나타내는 계산을 하는
    것을 특징으로 하는 암호 시스템.
    [수학식 4]
    Figure 112015047898107-pct00097

    [수학식 5]
    Figure 112015047898107-pct00098

    [수학식 6]
    Figure 112015047898107-pct00099

  8. 송신 장치와 수신 장치를 구비하고, 인덱스 τ마다, 집합 Iτ, x→에 포함되는 각 인덱스 t에 대한 속성 정보 xτ, t를 요소로서 갖는 속성 벡터 xτ 와, 집합 Iτ, v→에 포함되는 각 인덱스 t에 대한 속성 정보 vτ, t를 요소로서 갖는 술어 벡터 vτ 의 내적이 0인지 여부를 판정하는 것에 의해, 암호 프리미티브의 처리를 실현하는 암호 시스템으로서,
    상기 송신 장치는,
    인덱스 τ마다, 집합 Iτ, x→에 포함되는 각 인덱스 t에 대하여, 기저 벡터 bp의 계수로서 속성 정보 xτ, t가 설정되고, 기저 벡터 bq의 계수로서 값 fτ, t가 설정된 요소 cτ, t를 갖는 송신 정보를 생성하는 송신 정보 생성부
    를 구비하고,
    상기 수신 장치는,
    인덱스 τ마다, 집합 Iτ, v→에 포함되는 각 인덱스 t에 대하여, 상기 기저 벡터 bp에 대응하는 기저 벡터 b* p의 계수로서 속성 정보 vτ, t가 설정되고, 상기 기저 벡터 bq에 대응하는 기저 벡터 b* q의 계수로서 값 δ~ τ가 설정된 요소 kτ, t를 갖는 수신 정보를 기억하는 수신 정보 기억부와,
    각 인덱스 τ에 대하여, 상기 집합 Iτ, x→에 포함되는 각 인덱스 t에 대한 요소 cτ, t 및 요소 kτ, t에 대하여, 대응하는 기저 벡터마다의 페어링 연산의 곱을 계산하는 페어링 연산부
    를 구비하는 것을 특징으로 하는 암호 시스템.
  9. 암호화 장치와 복호 장치를 구비하는 암호 시스템으로서,
    상기 암호화 장치는,
    t=1, …, n(n은 1 이상의 정수)의 각 인덱스 t에 대한 값 ft의 합계가 값 f0인 값 ft 및 값 f0을 이용하여 생성된 요소 c0과 요소 ct로서, 기저 벡터 b0 , r의 계수로서 값 ω~가 설정되고, 기저 벡터 b0 , r'의 계수로서 값 -f0이 설정된 요소 c0과, 집합 Ix→에 포함되는 각 인덱스 t에 대하여, 기저 벡터 bp의 계수로서 속성 정보 xt가 설정되고, 기저 벡터 bq의 계수로서 상기 값 ω~가 설정되고, 기저 벡터 bq'의 계수로서 값 ft가 설정된 요소 ct를 갖는 암호문을 생성하는 암호문 생성부
    를 구비하고,
    상기 복호 장치는,
    상기 각 인덱스 t에 대한 값 st의 합계가 값 s0인 값 st 및 값 s0을 이용하여 생성된 요소 k0과 요소 kt로서, 상기 기저 벡터 b0 , r에 대응하는 기저 벡터 b* 0, r의 계수로서 값 -s0이 설정되고, 기저 벡터 b0 , r'에 대응하는 기저 벡터 b* 0, r'의 계수로서 값 δ~가 설정된 요소 k0과, 집합 Iv→에 포함되는 각 인덱스 t에 대하여, 상기 기저 벡터 bp에 대응하는 기저 벡터 b* p의 계수로서 술어 정보 vt가 설정되고, 상기 기저 벡터 bq에 대응하는 기저 벡터 b* q의 계수로서 값 st가 설정되고, 상기 기저 벡터 bq'에 대응하는 기저 벡터 b* q'의 계수로서 상기 값 δ~가 설정된 요소 kt를 갖는 복호 키를 기억하는 복호 키 기억부와,
    상기 암호문 생성부가 생성한 암호문을, 상기 복호 키 기억부가 기억한 복호 키에 의해 복호하는 복호부로서, 상기 요소 c0 및 상기 요소 k0과, 상기 각 인덱스 t에 대한 요소 ct 및 요소 kt에 대하여, 대응하는 기저 벡터마다의 페어링 연산의 곱을 계산하여, 상기 암호문을 복호하는 복호부
    를 구비하는 것을 특징으로 하는 암호 시스템.
  10. 제 9 항에 있어서,
    상기 암호문 생성부는, 또한, 기저 벡터 bindex의 계수로서, 인덱스 t에 미리 할당된 정보 J가 설정된 요소 ct를 생성하고,
    상기 복호 키 기억부는, 또한, 상기 기저 벡터 bindex에 대응하는 기저 벡터 b* index의 계수로서, 인덱스 t에 미리 할당된 상기 정보 J와의 내적이 0이 되는 정보 J'가 설정된 요소 kt를 생성하는
    것을 특징으로 하는 암호 시스템.
  11. 제 10 항에 있어서,
    상기 암호문 생성부는, 수학식 7에 나타내는 요소 c0 및 요소 ct를 생성하고,
    상기 복호 키 기억부는, 수학식 8에 나타내는 요소 k0 및 요소 kt를 기억하고,
    상기 복호부는, 수학식 9에 나타내는 계산을 하는
    것을 특징으로 하는 암호 시스템.
    [수학식 7]
    Figure 112015047898107-pct00100

    [수학식 8]
    Figure 112015047898107-pct00101

    [수학식 9]

  12. 송신 장치와 수신 장치를 구비하고, 인덱스 τ마다, t=1, …, n(n은 1 이상의 정수)의 각 인덱스 t에 대한 속성 정보 xτ, t를 요소로서 갖는 속성 벡터 xτ 와, 상기 각 인덱스 t에 대한 속성 정보 vτ, t를 요소로서 갖는 술어 벡터 vτ 의 내적이 0인지 여부를 판정하는 것에 의해, 암호 프리미티브의 처리를 실현하는 암호 시스템으로서,
    상기 송신 장치는,
    인덱스 τ마다, 집합 Iτ, x→에 포함되는 각 인덱스 t에 대하여, 기저 벡터 bp의 계수로서 속성 정보 xτ, t가 설정되고, 기저 벡터 bq의 계수로서 값 ω~ τ가 설정되고, 기저 벡터 bq'의 계수로서 값 ft가 설정된 요소 cτ, t를 갖는 송신 정보를 생성하는 송신 정보 생성부
    를 구비하고,
    상기 수신 장치는,
    인덱스 τ마다, 집합 Iτ, v→에 포함되는 각 인덱스 t에 대하여, 상기 기저 벡터 bp에 대응하는 기저 벡터 b* p의 계수로서 속성 정보 vτ, t가 설정되고, 상기 기저 벡터 bq에 대응하는 기저 벡터 b* q의 계수로서 값 sτ, t가 설정되고, 상기 기저 벡터 bq'에 대응하는 기저 벡터 b* q'의 계수로서 값 δ~가 설정된 요소 kτ, t를 갖는 수신 정보를 기억하는 수신 정보 기억부와,
    각 인덱스 τ 및 각 인덱스 t에 대한 요소 cτ, t 및 요소 kτ, t에 대하여, 대응하는 기저 벡터마다의 페어링 연산의 곱을 계산하는 페어링 연산부
    를 구비하는 것을 특징으로 하는 암호 시스템.
KR1020157013141A 2012-10-19 2013-07-17 암호 시스템 KR101676977B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012231293A JP5921410B2 (ja) 2012-10-19 2012-10-19 暗号システム
JPJP-P-2012-231293 2012-10-19
PCT/JP2013/069364 WO2014061324A1 (ja) 2012-10-19 2013-07-17 暗号システム

Publications (2)

Publication Number Publication Date
KR20150070383A KR20150070383A (ko) 2015-06-24
KR101676977B1 true KR101676977B1 (ko) 2016-11-16

Family

ID=50487902

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157013141A KR101676977B1 (ko) 2012-10-19 2013-07-17 암호 시스템

Country Status (7)

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

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 세종대학교산학협력단 멀티 클라이언트 환경에서 범위 질의를 지원하는 암호화 방법 및 이를 이용한 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011232475A (ja) 2010-04-27 2011-11-17 Mitsubishi Electric Corp 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置
JP2012133214A (ja) 2010-12-22 2012-07-12 Mitsubishi Electric Corp 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム

Family Cites Families (9)

* 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
US8634563B2 (en) * 2010-12-17 2014-01-21 Microsoft Corporation Attribute based encryption using lattices

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011232475A (ja) 2010-04-27 2011-11-17 Mitsubishi Electric Corp 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置
JP2012133214A (ja) 2010-12-22 2012-07-12 Mitsubishi Electric Corp 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム

Also Published As

Publication number Publication date
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
JP5921410B2 (ja) 2016-05-24
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) 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置
KR101443553B1 (ko) 암호 처리 시스템, 키 생성 장치, 암호화 장치, 복호 장치, 암호 처리 방법 및 암호 처리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
KR101588992B1 (ko) 암호 시스템, 암호 방법 및 암호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
KR101676977B1 (ko) 암호 시스템
KR101393899B1 (ko) 암호 처리 시스템, 키 생성 장치, 암호화 장치, 복호 장치, 암호 처리 방법 및 암호 처리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
KR101336349B1 (ko) 암호 처리 시스템, 키 생성 장치, 키 위양 장치, 암호화 장치, 복호 장치, 암호 처리 방법 및 암호 처리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
KR101310439B1 (ko) 암호 처리 시스템, 키 생성 장치, 키 위양 장치, 암호화 장치, 복호 장치, 암호 처리 방법 및 암호 처리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
KR101431412B1 (ko) 서명 처리 시스템, 키 생성 장치, 서명 장치, 검증 장치, 서명 처리 방법 및 서명 처리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
KR101432462B1 (ko) 암호 처리 시스템, 키 생성 장치, 암호화 장치, 복호 장치, 키 위양 장치, 암호 처리 방법 및 암호 처리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20191029

Year of fee payment: 4