KR101418254B1 - 암호 시스템, 암호 통신 방법, 암호화 장치, 키 생성 장치, 복호 장치, 콘텐츠 서버 장치, 프로그램, 기억매체 - Google Patents

암호 시스템, 암호 통신 방법, 암호화 장치, 키 생성 장치, 복호 장치, 콘텐츠 서버 장치, 프로그램, 기억매체 Download PDF

Info

Publication number
KR101418254B1
KR101418254B1 KR1020137001061A KR20137001061A KR101418254B1 KR 101418254 B1 KR101418254 B1 KR 101418254B1 KR 1020137001061 A KR1020137001061 A KR 1020137001061A KR 20137001061 A KR20137001061 A KR 20137001061A KR 101418254 B1 KR101418254 B1 KR 101418254B1
Authority
KR
South Korea
Prior art keywords
information
attribute
key
conversion rule
decryption
Prior art date
Application number
KR1020137001061A
Other languages
English (en)
Other versions
KR20130024951A (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 KR20130024951A publication Critical patent/KR20130024951A/ko
Application granted granted Critical
Publication of KR101418254B1 publication Critical patent/KR101418254B1/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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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
    • 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]
    • H04L9/0833Key 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] involving conference or group key
    • H04L9/0836Key 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] involving conference or group key using tree structure or hierarchical structure
    • 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
    • H04L9/0847Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving identity based encryption [IBE] schemes
    • 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/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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/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

Landscapes

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

Abstract

유연하게 운용가능하며 함수 암호에 의거하는 암호 통신 기술을 제공한다. 속성 지정 정보를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 속성용 변환규칙 정보와 논리식 지정 정보를 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 논리식용 변환규칙 정보와의 페어인 변환규칙 정보 페어가 미리 정해져 있다. 이 변환규칙 정보 페어에 포함되는 일방의 변환규칙 정보를 사용하여 입력 정보로부터 제 1 속성 정보 또는 제 1 논리 정보가 얻어진다. 이 정보가 암호화 처리에 사용된다. 복호 처리에서는, 타방의 변환규칙 정보를 사용하여 이용자 정보로부터 얻어진 제 2 속성 정보 또는 제 2 논리 정보를 사용하여 만들어진 복호키를 사용하여, 암호 정보의 복호 처리가 행해진다.

Description

암호 시스템, 암호 통신 방법, 암호화 장치, 키 생성 장치, 복호 장치, 콘텐츠 서버 장치, 프로그램, 기억매체{CRYPTOSYSTEM, CRYPTOGRAPHIC COMMUNICATION METHOD, ENCRYPTION DEVICE, KEY-GENERATING DEVICE, DECRYPTION DEVICE, CONTENT SERVER DEVICE, PROGRAM, AND RECORDING MEDIUM}
본 발명은 암호 통신 기술에 관한 것으로, 보다 상세하게는 함수 암호에 의거하는 암호 통신 기술에 관한 것이다.
지금까지 암호기술로서, 예를 들면, 공통키 암호, 공개키 암호 등이 알려져 있다.
공통키 암호는, 메시지의 송신자가 공통키로 메시지를 암호화하여 암호화 메시지를 구하고, 수신자가 송신자와 동일한 공통키를 사용하여 암호화 메시지를 복호하여 메시지를 얻는 방식이다. 이 때문에, 송신자와 수신자 사이에서 안전하게 공통키를 소유하는 절차가 필요하게 된다.
공개키 암호는, (1) 수신자가 단 하나의 공개키와 그것에 대응하는 단 하나의 비밀키를 준비하고, (2) 송신자는 수신자의 공개키로 메시지를 암호화하여 암호화 메시지를 구하고, (3) 수신자가 그 비밀키로 암호화 메시지를 복호하여 메시지를 얻는 방식이다. 이 때문에, 송신자가 메시지를 암호화하기 전에 수신자의 공개키를 입수할 필요가 있다. 즉, 수신자가 공개키를 생성하지 않으면 암호화할 수 없다.
또한, 최근, 술어 암호가 제안되어 있다. 술어 암호는, 송신자에 의한 암호화의 과정에서 암호 메시지에 어떤 정보(X)가 포함되고, 당해 정보(X)와 특정 관계를 충족시키는 정보(Y)를 갖는 수신자가 암호 메시지의 복호나, 메시지를 알지 못하고 메시지에 관한 정보를 취득할 수 있는 방식이다. 송신자는, 암호시에, 반드시 수신자가 갖는 정보(Y)를 알고 있을 필요는 없다. 또한 송신자는, 반드시, 암호화하기 전에 수신자를 특정하고 있을 필요도 없다. 송신자는, 자유롭게, 능동적으로, 주도권을 가지고, 정보(X)를 정할 수 있다. 강학적으로, 정보(X)는 속성(I)(변수)으로서, 정보(Y)는 술어(f)(명제 함수, 불 함수(Boolean Function))로서 표시된다. 복호시에, 정보(X)와 정보(Y)가 충족시켜야 할 특정 관계는, 예를 들면, f(I)=True이다.
NTT 정보유통 플랫폼 연구소 정보 세큐러티 프로젝트, "NTT의 암호 요소 기술", 인터넷 <URL: http://info.isl.ntt.co.jp/crypt/camellia/technology.html > [2010년 7월 15일 검색] J. Katz, A. Sahai and B. Waters, "Predicate Encryption Supporting Disjunction, Polynomial Equations, and Inner Products", EUROCRYPT 2008, 146-162.
(발명의 개요)
(발명이 해결하고자 하는 과제)
본 발명은 유연하게 운용 가능한, 함수 암호에 의거하는 암호 통신 기술을 제공하는 것을 목적으로 한다.
(과제를 해결하기 위한 수단)
제 1 관점에 의한 본 발명의 개요는 다음과 같다.
함수 암호를 사용하는 암호 시스템은, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함한다.
그리고, 각 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있다.
또, 속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있다.
또한 속성용 변환규칙 정보와 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있다.
암호화 장치는, 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 속성용 변환규칙 정보와 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득 처리와, 제 1 속성 정보 또는 제 1 논리 정보와, 키 생성 장치의 공개키를 사용하여, 함수 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화 처리를 행한다.
키 생성 장치는, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득 처리와, 제 2 속성 정보 또는 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 처리를 행한다.
복호 장치는, 복호키를 사용하여, 함수 암호 알고리즘에 따라, 암호 정보에 대한 복호 처리를 행한다.
또는, 제 1 관점에 의한 본 발명의 개요는 다음과 같다.
함수 암호를 사용하는 암호 시스템은, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함한다.
그리고, 각 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있다.
또한 속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있다.
또한 속성용 변환규칙 정보와 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있다.
암호화 장치는, 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 속성용 변환규칙 정보와 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득 처리와, 제 1 속성 정보 또는 제 1 논리 정보와, 키 생성 장치의 공개키를 사용하여, 함수 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화 처리를 행한다.
복호 장치는, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득 처리와, 키 생성 장치로부터 보내진 복호키를 사용하여, 함수 암호 알고리즘에 따라, 암호 정보에 대한 복호 처리를 행한다.
키 생성 장치는, 제 2 속성 정보 또는 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 처리를 행한다.
또는, 제 1 관점에 의한 본 발명의 개요는 다음과 같다.
함수 암호를 사용하는 암호 시스템은, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함한다.
그리고, 각 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있다.
또, 속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있다.
또한 속성용 변환규칙 정보와 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있다.
암호화 장치는, 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 속성용 변환규칙 정보와 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득 처리와, 제 1 속성 정보 또는 제 1 논리 정보와, 키 생성 장치의 공개키와, 평문을 사용하여, 함수 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화 처리를 행한다.
키 생성 장치는, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득 처리와, 제 2 속성 정보 또는 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 처리를 행한다.
복호 장치는, 복호키를 사용하여, 함수 암호 알고리즘에 따라, 암호 정보에 대한 복호 처리를 행한다.
또는, 제 1 관점에 의한 본 발명의 개요는 다음과 같다.
함수 암호를 사용하는 암호 시스템은, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함한다.
그리고, 각 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있다.
또한 속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있다.
또한 속성용 변환규칙 정보와 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있다.
암호화 장치는, 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 속성용 변환규칙 정보와 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득 처리와, 제 1 속성 정보 또는 제 1 논리 정보와, 키 생성 장치의 공개키와, 평문을 사용하여, 함수 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화 처리를 행한다.
복호 장치는, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득 처리와, 키 생성 장치로부터 보내진 복호키를 사용하여, 함수 암호 알고리즘에 따라, 암호 정보에 대한 복호 처리를 행한다.
키 생성 장치는, 제 2 속성 정보 또는 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 처리를 행한다.
제 2 관점에 의한 본 발명의 개요는 다음과 같다.
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 복수의 복호 장치를 포함하고, 함수 암호를 사용하는 암호 시스템에 있어서, 각 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고, 속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고, 속성용 변환규칙 정보와 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있다.
그리고, 암호화 장치는, 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 속성용 변환규칙 정보와 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득 처리와, 제 1 속성 정보 또는 제 1 논리 정보와, 키 생성 장치의 공개키를 사용하여, 함수 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화 처리를 행한다.
또한 키 생성 장치는, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득 처리와, 제 2 속성 정보 또는 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 처리를 행한다.
또한 복호 장치는, 복호키를 사용하여, 함수 암호 알고리즘에 따라, 암호 정보에 대한 복호 처리를 행한다. 그리고, 이 복호 장치는 암호 정보를 다른 복호 장치에 전송하는 전송 처리도 행한다. 전송하는 암호 정보는 암호화 장치로부터 보내진 것이어도 되고, 다른 복호 장치로부터 전송된 것이어도 된다. 암호 시스템에 포함되는 복호 장치 중 적어도 일부의 복호 장치가 전송 처리를 행하는 기능을 갖지만, 모든 복호 장치가 이 전송기능을 갖는 것은 요구되지 않는다. 전송된 암호 정보를 수신한 복호 장치는, 필요에 따라 키 생성 장치에 복호키를 생성하게 하고, 상기 복호 처리를 행한다.
또는, 제 2 관점에 의한 본 발명의 개요는 다음과 같다.
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 복수의 복호 장치를 포함하고, 함수 암호를 사용하는 암호 시스템에 있어서, 각 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고, 속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고, 속성용 변환규칙 정보와 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있다.
그리고, 암호화 장치는, 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 속성용 변환규칙 정보와 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득 처리와, 제 1 속성 정보 또는 제 1 논리 정보와, 키 생성 장치의 공개키를 사용하여, 함수 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화 처리를 행한다.
또한 복호 장치는, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득 처리와, 키 생성 장치로부터 보내진 복호키를 사용하여, 함수 암호 알고리즘에 따라, 암호 정보에 대한 복호 처리를 행한다.
또한 키 생성 장치는, 제 2 속성 정보 또는 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 처리를 행한다.
상기의 복호 장치는 암호 정보를 다른 복호 장치에 전송하는 전송 처리도 행한다. 전송하는 암호 정보는 암호화 장치로부터 보내진 것이어도 되고, 다른 복호 장치로부터 전송된 것이어도 된다. 암호 시스템에 포함되는 복호 장치 중 적어도 일부의 복호 장치가 전송 처리를 행하는 기능을 갖지만, 모든 복호 장치가 이 전송기능을 갖는 것은 요구되지 않는다. 전송된 암호 정보를 수신한 복호 장치는, 필요에 따라 키 생성 장치에 복호키를 생성하게 하고, 상기 복호 처리를 행한다.
또는, 제 2 관점에 의한 본 발명의 개요는 다음과 같다.
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 복수의 복호 장치를 포함하고, 함수 암호를 사용하는 암호 시스템에 있어서, 각 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고, 속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고, 속성용 변환규칙 정보와 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있다.
그리고, 암호화 장치는, 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 속성용 변환규칙 정보와 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득 처리와, 제 1 속성 정보 또는 제 1 논리 정보와, 키 생성 장치의 공개키와, 평문을 사용하여, 함수 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화 처리를 행한다.
또한 키 생성 장치는, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득 처리와, 제 2 속성 정보 또는 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 처리를 행한다.
또한 복호 장치는, 복호키를 사용하여, 함수 암호 알고리즘에 따라, 암호 정보에 대한 복호 처리를 행한다. 그리고, 이 복호 장치는 암호 정보를 다른 복호 장치에 전송하는 전송 처리도 행한다. 전송하는 암호 정보는 암호화 장치로부터 보내진 것이어도 되고, 다른 복호 장치로부터 전송된 것이어도 된다. 암호 시스템에 포함되는 복호 장치 중 적어도 일부의 복호 장치가 전송 처리를 행하는 기능을 갖지만, 모든 복호 장치가 이 전송 기능을 갖는 것은 요구되지 않는다. 전송된 암호 정보를 수신한 복호 장치는, 필요에 따라 키 생성 장치에 복호키를 생성하게 하고, 상기 복호 처리를 행한다.
또는, 제 2 관점에 의한 본 발명의 개요는 다음과 같다.
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 복수의 복호 장치를 포함하고, 함수 암호를 사용하는 암호 시스템에 있어서, 각 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고, 속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고, 속성용 변환규칙 정보와 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있다.
그리고, 암호화 장치는, 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 속성용 변환규칙 정보와 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득 처리와, 제 1 속성 정보 또는 제 1 논리 정보와, 키 생성 장치의 공개키와, 평문을 사용하여, 함수 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화 처리를 행한다.
또한 복호 장치는, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득 처리와, 키 생성 장치로부터 보내진 복호키를 사용하여, 함수 암호 알고리즘에 따라, 암호 정보에 대한 복호 처리를 행한다.
또한 키 생성 장치는, 제 2 속성 정보 또는 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 처리를 행한다.
상기의 복호 장치는, 암호 정보를 다른 복호 장치에 전송하는 전송 처리도 행한다. 전송하는 암호 정보는 암호화 장치로부터 보내진 것이어도 되고, 다른 복호 장치로부터 전송된 것이어도 된다. 암호 시스템에 포함되는 복호 장치 중 적어도 일부의 복호 장치가 전송 처리를 행하는 기능을 갖지만, 모든 복호 장치가 이 전송기능을 갖는 것은 요구되지 않는다. 전송된 암호 정보를 수신한 복호 장치는, 필요에 따라 키 생성 장치에 복호키를 생성하게 하고, 상기 복호 처리를 행한다.
제 3 관점에 의한 본 발명의 개요는 다음과 같다.
함수 암호를 사용하는 암호 시스템은, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함한다.
그리고, 각 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있다.
또한 속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있다.
또한 속성용 변환규칙 정보와 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있다.
암호화 장치는, 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 속성용 변환규칙 정보와 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득 처리와, 제 1 속성 정보 또는 제 1 논리 정보와, 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 함수 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보와, 당해 공통키로 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화 처리를 행한다.
콘텐츠 서버 장치는, 각 암호화 장치로부터 보내진 암호 정보 및 암호화 콘텐츠를 기억하는 처리와, 복호 장치로부터의 요구에 따라 암호화 콘텐츠와 이것에 대응하는 암호 정보를 당해 복호 장치에 송신하는 송신 처리를 행한다.
키 생성 장치는, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득 처리와, 제 2 속성 정보 또는 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 처리를 행한다.
복호 장치는, 콘텐츠 서버 장치에 대한 암호화 콘텐츠의 취득 요구 처리와, 복호키를 사용하여, 함수 암호 알고리즘에 따라, 콘텐츠 서버 장치로부터 취득한 암호 정보에 대한 복호 처리와, 이 복호 처리에서 얻어진 공통키를 사용하여, 콘텐츠 서버 장치로부터 취득한 암호화 콘텐츠를 복호하는 콘텐츠 취득 처리와, 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하는 처리를 행한다.
또는, 제 3 관점에 의한 본 발명의 개요는 다음과 같다.
함수 암호를 사용하는 암호 시스템은, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함한다.
그리고, 각 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있다.
또한 속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있다.
또한 속성용 변환규칙 정보와 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있다.
암호화 장치는, 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 속성용 변환규칙 정보와 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득 처리와, 제 1 속성 정보 또는 제 1 논리 정보와, 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 함수 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보와, 당해 공통키로 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화 처리를 행한다.
콘텐츠 서버 장치는, 각 암호화 장치로부터 보내진 암호 정보 및 암호화 콘텐츠를 기억하는 처리와, 복호 장치로부터의 요구에 따라 암호화 콘텐츠와 이것에 대응하는 암호 정보를 당해 복호 장치에 송신하는 송신 처리를 행한다.
복호 장치는, 콘텐츠 서버 장치에 대한 암호화 콘텐츠의 취득 요구 처리와, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득 처리와, 복호키를 사용하여, 함수 암호 알고리즘에 따라, 콘텐츠 서버 장치로부터 취득한 암호 정보에 대한 복호 처리와, 이 복호 처리에서 얻어진 공통키를 사용하여, 콘텐츠 서버 장치로부터 취득한 암호화 콘텐츠를 복호하는 콘텐츠 취득 처리와, 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하는 처리를 행한다.
키 생성 장치는, 제 2 속성 정보 또는 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 처리를 행한다.
또는, 제 3 관점에 의한 본 발명의 개요는 다음과 같다.
함수 암호를 사용하는 암호 시스템은, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함한다.
그리고, 각 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있다.
또한 속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있다.
또한 속성용 변환규칙 정보와 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있다.
암호화 장치는, 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 속성용 변환규칙 정보와 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득 처리와, 제 1 속성 정보 또는 제 1 논리 정보와, 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 함수 암호 알고리즘에 따라, 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화 처리를 행한다.
콘텐츠 서버 장치는, 각 암호화 장치로부터 보내진 암호화 콘텐츠를 기억하는 처리와, 복호 장치로부터의 요구에 따라 암호화 콘텐츠를 당해 복호 장치에 송신하는 송신 처리를 행한다.
키 생성 장치는, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득 처리와, 제 2 속성 정보 또는 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 암호화 콘텐츠의 복호에 사용하는 복호키를 생성하는 키 생성 처리를 행한다.
복호 장치는, 콘텐츠 서버 장치에 대한 암호화 콘텐츠의 취득 요구 처리와, 복호키를 사용하여, 함수 암호 알고리즘에 따라, 콘텐츠 서버 장치로부터 취득한 암호화 콘텐츠를 복호하는 복호 처리와, 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하는 처리를 행한다.
또는, 제 3 관점에 의한 본 발명의 개요는 다음과 같다.
함수 암호를 사용하는 암호 시스템은, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함한다.
그리고, 각 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있다.
또한 속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있다.
또한 속성용 변환규칙 정보와 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있다.
암호화 장치는, 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 속성용 변환규칙 정보와 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득 처리와, 제 1 속성 정보 또는 제 1 논리 정보와, 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 함수 암호 알고리즘에 따라, 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화 처리를 행한다.
콘텐츠 서버 장치는, 각 암호화 장치로부터 보내진 암호화 콘텐츠를 기억하는 처리와, 복호 장치로부터의 요구에 따라 암호화 콘텐츠를 당해 복호 장치에 송신하는 송신 처리를 행한다.
복호 장치는, 콘텐츠 서버 장치에 대한 암호화 콘텐츠의 취득 요구 처리와, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득 처리와, 복호키를 사용하여, 함수 암호 알고리즘에 따라, 콘텐츠 서버 장치로부터 취득한 암호화 콘텐츠를 복호하는 복호 처리와, 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하는 처리를 행한다.
키 생성 장치는, 제 2 속성 정보 또는 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 암호화 콘텐츠의 복호에 사용하는 복호키를 생성하는 키 생성 처리를 행한다.
본 발명에 따르면, 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 속성용 변환규칙 정보와 논리식용 변환규칙 정보 중, 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보 또는 술어 정보를 얻으므로, 함수 암호에 의거하는 암호 통신을 유연하게 운용할 수 있다.
도 1은 제 1 관점에 의한 각 실시형태에 따른 암호 시스템의 구성도.
도 2는 제 1 관점에 의한 각 실시형태에 따른 암호 통신 방법의 처리 수순을 나타내는 도면(그 1).
도 3은 제 1 관점에 의한 각 실시형태에 따른 암호 통신 방법의 처리 수순을 나타내는 도면(그 2).
도 4는 제 1 관점에 의한 각 실시형태에 따른 암호 통신 방법의 처리 수순을 나타내는 도면(그 3).
도 5는 제 1 관점에 의한 제 1 실시형태에 따른 암호화 장치의 기능 블럭도.
도 6은 제 1 관점에 의한 제 1 실시형태에 따른 암호화 처리의 처리 수순의 상세를 나타내는 도면.
도 7은 제 1 관점에 의한 제 1 실시형태에 따른 복호 장치의 기능 블럭도.
도 8은 제 1 관점에 의한 제 1 실시형태에 따른 복호 처리의 처리 수순의 상세를 나타내는 도면.
도 9는 제 1 관점에 의한 제 1 실시형태에 따른 키 생성 장치의 기능 블럭도.
도 10은 제 1 관점에 의한 제 1 실시형태에 따른 키 생성 처리의 처리 수순의 상세를 나타내는 도면.
도 11은 입력 정보 또는 이용자 정보로부터 폴리시에 대응하는 스키마를 사용하여, 속성 정보 또는 술어 정보를 얻는 것을 도해한 도면.
도 12는 속성 지정 정보로부터 속성용 스키마를 사용하여, 속성 정보를 얻는 것을 도해한 도면.
도 13은 술어 지정 정보로부터 술어용 스키마를 사용하여, 술어 정보를 얻는 것을 도해한 도면.
도 14는 폴리시의 예를 나타내는 도면.
도 15는 복호키 테이블의 예를 나타내는 도면.
도 16은 인증 테이블의 예를 나타내는 도면.
도 17은 이용자 정보 테이블의 예를 나타내는 도면.
도 18은 제 1 관점에 의한 제 2 실시형태에 따른 복호 장치의 기능 블럭도.
도 19는 제 1 관점에 의한 제 2 실시형태에 따른 복호 처리의 처리 수순의 상세를 나타내는 도면.
도 20은 제 1 관점에 의한 제 2 실시형태에 따른 키 생성 장치의 기능 블럭도.
도 21은 제 1 관점에 의한 제 2 실시형태에 따른 키 생성 처리의 처리 수순의 상세를 나타내는 도면.
도 22는 제 1 관점에 의한 제 3 실시형태에 따른 암호화 장치의 기능 블럭도.
도 23은 제 1 관점에 의한 제 3 실시형태에 따른 암호화 처리의 처리 수순의 상세를 나타내는 도면.
도 24는 제 1 관점에 의한 제 3 실시형태에 따른 복호 장치의 기능 블럭도.
도 25는 제 1 관점에 의한 제 3 실시형태에 따른 복호 처리의 처리 수순의 상세를 나타내는 도면.
도 26은 제 1 관점에 의한 제 4 실시형태에 따른 복호 장치의 기능 블럭도.
도 27은 제 1 관점에 의한 제 4 실시형태에 따른 복호 처리의 처리 수순의 상세를 나타내는 도면.
도 28은 제 2 관점에 의한 각 실시형태에 따른 암호 시스템의 구성도.
도 29는 제 2 관점에 의한 각 실시형태에 따른 암호 통신 방법의 처리 수순을 나타내는 도면(그 1).
도 30은 제 2 관점에 의한 각 실시형태에 따른 암호 통신 방법의 처리 수순을 나타내는 도면(그 2).
도 31은 제 2 관점에 의한 각 실시형태에 따른 암호 통신 방법의 처리 수순을 나타내는 도면(그 3).
도 32는 제 2 관점에 의한 각 실시형태에 따른 암호 통신 방법의 처리 수순을 나타내는 도면(그 4).
도 33은 제 2 관점에 의한 제 1 실시형태에 따른 암호화 장치의 기능 블럭도.
도 34는 제 2 관점에 의한 제 1 실시형태에 따른 암호화 처리의 처리 수순의 상세를 나타내는 도면.
도 35는 제 2 관점에 의한 제 1 실시형태에 따른 제 1 복호 장치의 기능 블럭도.
도 36은 제 2 관점에 의한 제 1 실시형태에 따른 제 1 복호 처리의 처리 수순의 상세를 나타내는 도면.
도 37은 제 2 관점에 의한 제 1 실시형태에 따른 제 2 복호 장치의 기능 블럭도.
도 38은 제 2 관점에 의한 제 1 실시형태에 따른 제 2 복호 처리의 처리 수순의 상세를 나타내는 도면.
도 39는 제 2 관점에 의한 제 1 실시형태에 따른 키 생성 장치의 기능 블럭도.
도 40은 제 2 관점에 의한 제 1 실시형태에 따른 키 생성 처리의 처리 수순(제 1 복호 장치에 대응)의 상세를 나타내는 도면.
도 41은 제 2 관점에 의한 제 1 실시형태에 따른 키 생성 처리의 처리 수순(제 2 복호 장치에 대응)의 상세를 나타내는 도면.
도 42는 제 2 관점에 의한 제 2 실시형태에 따른 제 1 복호 장치의 기능 블럭도.
도 43은 제 2 관점에 의한 제 2 실시형태에 따른 제 1 복호 처리의 처리 수순의 상세를 나타내는 도면.
도 44는 제 2 관점에 의한 제 2 실시형태에 따른 제 2 복호 장치의 기능 블럭도.
도 45는 제 2 관점에 의한 제 2 실시형태에 따른 제 2 복호 처리의 처리 수순의 상세를 나타내는 도면.
도 46은 제 2 관점에 의한 제 2 실시형태에 따른 키 생성 장치의 기능 블럭도.
도 47은 제 2 관점에 의한 제 2 실시형태에 따른 키 생성 처리의 처리 수순(제 1 복호 장치에 대응)의 상세를 나타내는 도면.
도 48은 제 2 관점에 의한 제 2 실시형태에 따른 키 생성 처리의 처리 수순(제 2 복호 장치에 대응)의 상세를 나타내는 도면.
도 49는 제 2 관점에 의한 제 3 실시형태에 따른 암호화 장치의 기능 블럭도.
도 50은 제 2 관점에 의한 제 3 실시형태에 따른 암호화 처리의 처리 수순의 상세를 나타내는 도면.
도 51은 제 2 관점에 의한 제 3 실시형태에 따른 제 1 복호 장치의 기능 블럭도.
도 52는 제 2 관점에 의한 제 3 실시형태에 따른 제 1 복호 처리의 처리 수순의 상세를 나타내는 도면.
도 53은 제 2 관점에 의한 제 3 실시형태에 따른 제 2 복호 장치의 기능 블럭도.
도 54는 제 2 관점에 의한 제 3 실시형태에 따른 제 2 복호 처리의 처리 수순의 상세를 나타내는 도면.
도 55는 제 2 관점에 의한 제 4 실시형태에 따른 제 1 복호 장치의 기능 블럭도.
도 56은 제 2 관점에 의한 제 4 실시형태에 따른 제 1 복호 처리의 처리 수순의 상세를 나타내는 도면.
도 57은 제 2 관점에 의한 제 4 실시형태에 따른 제 2 복호 장치의 기능 블럭도.
도 58은 제 2 관점에 의한 제 4 실시형태에 따른 제 2 복호 처리의 처리 수순의 상세를 나타내는 도면.
도 59는 전자 메일 시스템이나 인스턴트 메시징 시스템으로서 실시되는 경우에 있어서의, 송수신 되는 데이터의 구성의 예를 나타내는 도면.
도 60은 제 3 관점에 의한 각 실시형태에 따른 암호 시스템의 구성도.
도 61은 제 3 관점에 의한 각 실시형태에 따른 암호 통신 방법의 처리 수순을 나타내는 도면(그 1).
도 62는 제 3 관점에 의한 각 실시형태에 따른 암호 통신 방법의 처리 수순을 나타내는 도면(그 2).
도 63은 제 3 관점에 의한 각 실시형태에 따른 암호 통신 방법의 처리 수순을 나타내는 도면(그 3).
도 64는 제 3 관점에 의한 각 실시형태에 따른 암호 통신 방법의 처리 수순을 나타내는 도면(그 4).
도 65는 제 3 관점에 의한 제 1 실시형태에 따른 암호화 장치의 기능 블럭도.
도 66은 제 3 관점에 의한 제 1 실시형태에 따른 암호화 처리의 처리 수순의 상세를 나타내는 도면.
도 67은 제 3 관점에 의한 제 1 실시형태에 따른 콘텐츠 서버 장치의 기능 블럭도.
도 68은 제 3 관점에 의한 제 1 실시형태에 따른 복호 장치의 기능 블럭도.
도 69는 제 3 관점에 의한 제 1 실시형태에 따른 복호 처리의 처리 수순의 상세를 나타내는 도면.
도 70은 제 3 관점에 의한 제 1 실시형태에 따른 키 생성 장치의 기능 블럭도.
도 71은 제 3 관점에 의한 제 1 실시형태에 따른 키 생성 처리의 처리 수순의 상세를 나타내는 도면.
도 72는 제 3 관점에 의한 제 2 실시형태에 따른 복호 장치의 기능 블럭도.
도 73은 제 3 관점에 의한 제 2 실시형태에 따른 복호 처리의 처리 수순의 상세를 나타내는 도면.
도 74는 제 3 관점에 의한 제 2 실시형태에 따른 키 생성 장치의 기능 블럭도.
도 75는 제 3 관점에 의한 제 2 실시형태에 따른 키 생성 처리의 처리 수순의 상세를 나타내는 도면.
도 76은 제 3 관점에 의한 제 3 실시형태에 따른 암호화 장치의 기능 블럭도.
도 77은 제 3 관점에 의한 제 3 실시형태에 따른 암호화 처리의 처리 수순의 상세를 나타내는 도면.
도 78은 제 3 관점에 의한 제 3 실시형태에 따른 복호 장치의 기능 블럭도.
도 79는 제 3 관점에 의한 제 3 실시형태에 따른 복호 처리의 처리 수순의 상세를 나타내는 도면.
도 80은 제 3 관점에 의한 제 4 실시형태에 따른 복호 장치의 기능 블럭도.
도 81은 제 3 관점에 의한 제 4 실시형태에 따른 복호 처리의 처리 수순의 상세를 나타내는 도면.
도 82는 콘텐츠 배신 시스템으로서 실시되는 경우에 있어서의, 송수신 되는 데이터의 구성의 예를 나타내는 도면.
도 83은 명제 변수 PRO(1), PRO(2)와 명제 변수 PRO(3)의 부정 ¬PRO(3)와 논리기호 ∧, ∨를 포함하는 표준형 논리식 PRO(1)∧PRO(2)∨¬PRO(3)를 표현하는 트리구조 데이터를 예시하는 도면.
도 84는 명제 변수 PRO(1), PRO(2), PRO(3), PRO(6), PRO(7)과 명제 변수 PRO(4), PRO(5)의 부정 ¬PRO(4), ¬PRO(5)와 논리기호 ∧, ∨를 포함하는 표준형 논리식 PRO(1)∧PRO(2)∨PRO(2)∧PRO(3)∨PRO(1)∧PRO(3)∨¬PRO(4)∨(¬PRO(5)∧PRO(6))∧PRO(7)을 표현하는 트리구조 데이터를 예시하는 도면.
(발명을 실시하기 위한 형태)
<함수 암호의 개요>
최근, 함수 암호라고 불리는 ID 베이스 암호의 확장 암호가 화제가 되고 있다. 함수 암호는 하기의 4개의 알고리즘(Setup, KeyGen, Enc, Dec)으로 구성된다. 프로토콜의 개략은 이하와 같다.
《프로토콜 FE》
==================================================================
·Setup(1λ)→(pk,sk): 셋업 알고리즘
세큐러티 패러미터(1λ)를 입력으로 하고, 공개 패러미터(pk)와 마스터 키(sk)를 출력하는 확률적 다항식 시간 알고리즘
·KeyGen(sk,i)→ski: 키 생성 알고리즘
마스터 키(sk)와 키 식별자(i)를 입력으로 하고, 당해 키 식별자(i)에 대응하는 비밀키(ski)를 출력하는 확률적 다항식 시간 알고리즘
·Enc(pk,j,x)→cj: 암호화 알고리즘
공개 패러미터(pk)와 수신자 식별자(j)와 암호화 대상의 정보(평문)(x)를 입력으로 하고, 암호문(cj)을 출력하는 확률적 다항식 시간 알고리즘
·Dec(pk,ski,cj)→y: 복호 알고리즘
공개 패러미터(pk)와 비밀키(ski)와 암호문(cj)을 입력으로 하고 평문(y)을 출력하는 확률적 다항식 시간 알고리즘
==================================================================
함수 암호에서는, ID 베이스 암호의 정당성이 확장되어 있고, 암호문의 수신자는 키 식별자(i)를 갖는 비밀키와 수신자 식별자(j)를 갖는 암호문으로부터 평문(x)에 관한 어떠한 함수(fi ,j(x))를 평가할 수 있게 되어 있다. 즉, 어떤 함수(fi ,j(x))가 존재하고 ∀i,∀j,∀x∈{0,1}poly (λ)에 대하여 식 (A)로 표시되는 확률(Pr)이 λ에 관하여 압도적(1과의 차를 무시할 수 있음)일 때, 그 함수 암호(Setup, KeyGen, Enc, Dec)는 정당하다고 한다. 또한, poly(λ)는 λ로 결정되는 다항식 길이를 나타내고 있다.
[수1]
Figure 112013003968060-pct00001
특히, 어떤 관계 R(·,·)이 존재하고, 식 (B)로 표시되는 타입의 함수(fi ,j(x))를 갖는 함수 암호는 여러 암호를 포함하고 있다(⊥은 정상적으로 복호할 수 없었던 것을 나타내는 기호임).
[수2]
Figure 112013003968060-pct00002
예를 들면, ID 베이스 암호는 식 (C)로 표시되는 함수(fi ,j(x))를 갖는 함수 암호로 정의할 수 있다.
[수3]
Figure 112013003968060-pct00003
보다 고도의 관계 R(·,·)을 갖는 여러 함수 암호가 연구되고 있다. 이 타입의 함수 암호 중 가장 범용성이 높은 것은 속성 베이스 암호(attribute-based encryption, ABE) 혹은 술어 암호(predicate encryption, PE) 등으로 불리며, 자주 연구되고 있다. 2010년에 오카모토 류묘 등은 다항식 사이즈의 술어 및 술어 변수의 집합에 대응하고, 표준적인 암호학적 가정하에서 적응적 식별자 공격에 대하여 CCA 안전을 증명할 수 있는 비교적 실용적인 이 타입의 함수 암호를 제안했다(참고문헌 R1 참조).
(참고문헌 R1) Tatsuaki Okamoto and Katsuyuki Takashima, "Fully Secure Functional Encryption with General Relations from the Decisional Linear Assumption," In: Advances in Cryptology -- CRYPTO 2010, Lecture Notes in Computer Science, Volume 6223, 191-208, Springer-Verlag, 2010, Full paper: http://eprint.iacr.org/2010/563/
키 식별자(i)를 술어, 수신자 식별자(j)를 술어 변수의 인스턴스로 하여 식 (D)로 표시되는 관계 R(·,·)을 갖는 함수 암호는 키 폴리시 함수 암호라고 불린다. 이 때, 암호문이 평문(x)뿐만 아니라 술어 변수의 인스턴스(j)도 은닉하는 것을 속성 은닉이라고 한다.
[수4]
Figure 112013003968060-pct00004
키 식별자(i)를 술어 변수, 수신자 식별자(j)를 술어의 인스턴스로 하여 식 (E)로 표시되는 관계 R(·,·)을 갖는 함수 암호는 암호문 폴리시 함수 암호라고 한다. 이 때, 암호문이 평문(x)뿐만 아니라 술어(j)도 은닉하는 것을 술어 은닉이라고 한다.
[수5]
Figure 112013003968060-pct00005
속성 은닉을 갖는 키 폴리시 함수 암호 혹은 술어 은닉을 갖는 암호문 폴리시 함수 암호를 술어 암호라고 불린다(참고문헌 R2 참조).
(참고문헌 R2) Tatsuaki Okamoto and Katsuyuki Takashima,"Hierarchical Predicate Encryption for Inner-Products," ASIACRYPT 2009: pp.214-231, 2009.
<임계값 게이트>
함수 암호에 있어서의 임계값 게이트의 구성은 N개의 분산 정보 중 임의의 t개가 주어지면 비밀을 복원할 수 있지만, 임의의 t-1개 이하의 분산 정보가 주어져도 비밀을 복원할 수 없는 임계값 비밀 분산 방식, 즉 t-out-of-N 비밀 분산 방식을 사용하여 실현된다. t-out-of-N 비밀 분산에 관해서는 참고문헌 R3 등을 참조하기 바란다. t-out-of-N 비밀 분산 방식을 사용한 임계값 게이트는 t-out-of-N 임계값 게이트라고 불린다. t-out-of-N 임계값 게이트는 입력의 N개의 조건식 중 t개 이상의 조건이 성립하면 참을 출력하고, 그 이외는 거짓을 출력하는 게이트 구조를 갖는다. t-out-of-N 임계값 게이트의 (출력의) 부정은 (전체 입력의) 부정의 (N-t+1)-out-of-N 임계값 게이트와 등가이다.
(참고문헌 R3) A. Shamir, "How to Share a Secret", Communications of the ACM, November 1979, Volume 22, Number 11, pp. 612-613.
<비밀키 검증 가능 함수 암호>
함수 암호 중, 비밀키(ski)가 키 식별자(i)에 대하여 정확하게 만들어져 있는 것을 납득할 수 있는 것은, 비밀키 검증 가능 함수 암호라고 불린다. 키 생성 수속이 정확하게 행해진 것을 증명하는 비대화 영지식 증명(참고문헌 R4 참조)을 비밀키 에 부가함으로써, 비밀키 검증 가능 함수 암호를 구성할 수 있다. 비밀키 검증 가능 함수 암호를 사용하면 비밀키(ski)가 키 식별자(i)에 대하여 정확하게 만들어져 있는 것을 납득할 수 있다.
(참고문헌 R4) Jens Groth and Amit Sahai, "Efficient Non-interactive Proof Systems for Bilinear Groups, "Advances in Cryptology-EUROCRYPT 2008, LNCS 4965, pp.415-432, March 2010.
<암호문 공개 검증 가능 함수 암호>
함수 암호 중, 암호문에 대하여 KeyGen 알고리즘으로부터 얻어지는 어떠한 키를 가지지 않더라도, 암호문이 정확하게 만들어져 있는 것을 납득할 수 있는 것은 암호문 공개 검증 가능 함수 암호라고 불린다. 암호화 수속이 정확하게 행해진 것을 증명하는 비대화 영지식 증명(상기 참고문헌 R4 참조)을 암호문에 부가함으로써, 암호문 공개 검증 가능 함수 암호를 구성할 수 있다.
암호문 공개 검증 가능 함수 암호를 사용하면 암호문에 대하여 복호 가능 등의 키를 사용해도 동일한 결과가 얻어지는 것을 납득할 수 있다.
<전자서명>
전자서명은 다음 3개의 알고리즘(KeyGenΣ, SignΣ, VerifyΣ)이다. 프로토콜의 개략은 이하와 같다.
《프로토콜 ES》
==================================================================
·KeyGenΣ(1λ)→(skΣ,pkΣ): 키 생성 알고리즘
세큐러티 패러미터(1λ)를 입력으로 하고, 전자서명 검증용 공개키(pkΣ)와 전자서명용 비밀키(skΣ)를 출력하는 확률적 다항식 시간 알고리즘
·SignΣ(skΣ,m)→σ: 서명 알고리즘
전자서명용 비밀키(skΣ)와 서명 대상 정보(m)를 입력으로 하고, 서명(σ)을 출력하는 확률적 다항식 시간 알고리즘
·VerifyΣ(pkΣ,m,σ)→0/1: 서명 검증 알고리즘
전자서명 검증용 공개키(pkΣ)와 서명 대상 정보(m)와 서명(σ)을 입력으로 하고, 검증결과(거절(0) 또는 수리(1))를 출력하는 확률적 다항식 시간 알고리즘
==================================================================
또한, 적당한 암호학적 가정하에, 적응적 선택 문서 공격에 대하여 존재적 위조 불가가 증명 가능한 전자서명 방식이 제안되어 있다(예를 들면, RSA-PSS(참고문헌 R5 참조)).
(참고문헌 R5) 후지오카 준, 암호 알고리즘 평가보고서 RSA-PSS, 일본전신전화 가부시키가이샤, 2001년
다음에 함수 암호에 대하여 개략적으로 설명한다. 설명에 앞서 기호 등을 정의한다.
[정의]
행렬: 「행렬」이란 연산이 정의된 집합의 원소를 직사각형으로 배열한 것을 나타낸다. 환의 원소를 요소로 하는 것뿐만 아니라, 군의 원소를 요소로 하는 것도 「행렬」이라고 표현한다.
(·)T: (·)T는 ·의 전치행렬을 나타낸다.
(·)-1: (·)-1은 ·의 역행렬을 나타낸다.
∧: ∧는 논리곱(AND)을 나타내는 논리 기호이다.
∨: ∨은 논리합(OR)을 나타내는 논리 기호이다.
¬: ¬ 은 부정(NOT)을 나타내는 논리 기호이다.
명제 변수: 명제 변수는 명제의 「참」, 「거짓」 ("false", "true")을 요소로 하는 집합 {참, 거짓} 상의 변수이다. 명제 변수 및 명제 변수의 부정을 총칭하여 리터럴(literal)이라고 부른다.
논리식: 논리식이란 수리 논리학에 있어서의 명제를 나타내는 형식적 문법을 갖는 식을 의미한다. 구체적으로는 「참」 및 「거짓」은 논리식이고, 명제 변수는 논리식이고, 논리식의 부정은 논리식이고, 논리식과 논리식의 논리곱은 논리식이며, 논리식과 논리식의 논리합은 논리식이다.
Z: Z는 정수 집합을 나타낸다.
sec: sec는 세큐러티 패러미터(sec∈Z, sec>0)를 나타낸다.
0*: 0*는 *개의 0으로 이루어지는 열을 나타낸다.
1*: 1*는 *개의 1로 이루어지는 열을 나타낸다.
Fq: Fq는 위수(q)의 유한체를 나타낸다. 위수(q)는 1 이상의 정수이며, 예를 들면, 소수나 소수의 멱승값을 위수(q)로 한다. 즉, 유한체(Fq)의 예는 근본체나 그것을 기초체로 한 확대체이다. 또한, 유한체(Fq)가 근본체인 경우의 연산은, 예를 들면, 위수(q)를 법으로 하는 잉여 연산에 의해 용이하게 구성할 수 있다. 또한 유한체(Fq)가 확대체인 경우의 연산은, 예를 들면, 기약 다항식을 법으로 하는 잉여 연산에 의해 용이하게 구성할 수 있다. 유한체(Fq)의 구체적인 구성방법은, 예를 들면, 참고문헌 1 「ISO/IEC 18033-2: Information technology-Security techniques-Encryption algorithms-Part 2: Asymmetric ciphers」에 개시되어 있다.
0F: 0F는 유한체(Fq)의 가법단위 원소를 나타낸다.
1F: 1F는 유한체(Fq)의 승법단위 원소를 나타낸다.
δ(i,j): δ(i,j)는 크로네커의 델타함수를 나타낸다. i=j의 경우에 δ(i,j)=1F를 충족시키고, i≠j의 경우에 δ(i,j)=0F를 충족시킨다.
E: E는 유한체(Fq) 상에서 정의된 타원 곡선을 나타낸다. 아핀(affine) 좌표판의 Weierstrass 방정식
y2+a1·x·y+a3·y=x3+a2·x2+a4·x+a6
(단, a1, a2, a3, a4, a6∈Fq)을 충족시키는 x, y∈Fq로 이루어지는 점(x, y)의 집합에 무한 원점이라고 불리는 특별한 점 O를 부가한 것으로 정의된다. 타원 곡선(E) 상의 임의의 2점에 대하여 타원 가산이라고 불리는 2항 연산+및 타원 곡선(E) 위의 임의의 1점에 대하여 타원 역원이라고 불리는 단항 연산-를 각각 정의할 수 있다. 또한 타원 곡선(E) 상의 유리점으로 이루어지는 유한집합이 타원 가산에 관하여 군을 이루는 것, 타원 가산을 사용하여 타원 스칼라 배산이라고 불리는 연산을 정의할 수 있는 것, 및 컴퓨터 상에서의 타원 가산 등의 타원 연산의 구체적인 연산방법은 잘 알려져져 있다(예를 들면, 참고문헌 1, 참고문헌 2 「RFC 5091: Identity-Based Cryptography Standard(IBCS)#1: Supersingular Curve Implementations of the BF and BB1 Cryptosystems」, 참고문헌 3 「이안·F·블라케, 가디엘·세로씨, 나이젤·P·스마트=저, 「타원곡선 암호」, 출판=피어슨·에듀케이션, ISBN4-89471-431-0」 등 참조).
또한 타원 곡선(E) 상의 유리점으로 이루어지는 유한집합은 위수(p)(p≥1)의 부분군을 갖는다. 예를 들면, 타원 곡선(E) 상의 유리점으로 이루어지는 유한집합의 요소수를 #E로 하고, p를 #E를 우리수 없이 나누는 큰 소수로 한 경우, 타원 곡선(E)의 p 등분점으로 이루어지는 유한집합(E[p])은 타원 곡선(E) 상의 유리점으로 이루어지는 유한집합의 부분군을 구성한다. 또한, 타원 곡선(E)의 p 등분점은, 타원 곡선(E) 상의 점 A 중, 타원 곡선(E) 상에서의 타원 스칼라 배산값 p·A가 p·A=O를 충족시키는 점을 의미한다.
G1, G2, GT: G1, G2, GT는 위수(q)의 순회군을 나타낸다. 순회군(G1, G2)의 구체예는, 타원 곡선(E)의 p 등분점으로 이루어지는 유한집합(E[p])이나 그 부분군이다. G1=G2이어도 좋고 G1≠G2이어도 좋다. 또한 순회군(GT)의 구체예는 유한체(Fq)를 기초체로 하는 확대체를 구성하는 유한집합이다. 그 일례는 유한체(Fq)의 대수 폐포에 있어서의 1의 p승근으로 이루어지는 유한집합이다. 순회군(G1, G2, GT)의 위수와 유한체(Fq)의 위수를 동일하게 함으로써 안전성이 향상된다.
또한, 본 형태에서는, 순회군(G1, G2) 상에서 정의된 연산을 가법적으로 표현하고, 순회군(GT) 상에서 정의된 연산을 승법적으로 표현한다. 즉, χ∈Fq 및 Ω∈G1에 대한 χ·Ω∈G1은 Ω∈G1에 대하여 순회군(G1)에서 정의된 연산을 χ회 시행하는 것을 의미하고, Ω1, Ω2∈G1에 대한 Ω12∈G1은 Ω1∈G1과 Ω2∈G1을 피연산자로 하여 순회군(G1)에서 정의된 연산을 행하는 것을 의미한다. 마찬가지로, χ∈Fq 및 Ω∈G2에 대한 χ·Ω∈G2는 Ω∈G2에 대하여 순회군(G2)에서 정의된 연산을 χ회 시행하는 것을 의미하고, Ω1, Ω2∈G2에 대한 Ω12∈G2는 Ω1∈G2와 Ω2∈G2를 피연산자로 하여 순회군(G2)에서 정의된 연산을 행하는 것을 의미한다. 한편, χ∈Fq 및 Ω∈GT에 대한 Ωχ∈GT는 Ω∈GT에 대하여 순회군(GT)에서 정의된 연산을 χ회 시행하는 것을 의미하고, Ω1, Ω2∈GT에 대한 Ω1·Ω2∈GT는 Ω1∈GT와 Ω2∈GT를 피연산자로 하여 순회군(GT)에서 정의된 연산을 행하는 것을 의미한다.
Ψ: Ψ는 1 이상의 정수를 나타낸다.
ψ: ψ는 0 이상 Ψ 이하의 정수 ψ=0,...,Ψ를 나타낸다.
λ: λ는 1 이상 Ψ 이하의 정수 λ=1,...,Ψ를 나타낸다.
n(ψ): n(ψ)는 1 이상의 정수를 나타낸다.
ζ(ψ): ζ(ψ)는 0 이상의 정수를 나타낸다.
G1 n (ψ)+ζ(ψ): G1 n (ψ)+ζ(ψ)는 n(ψ)+ζ(ψ)개의 순회군(G1)의 직적을 나타낸다.
G2 n (ψ)+ζ(ψ): G2 n (ψ)+ζ(ψ)는 n(ψ)+ζ(ψ)개의 순회군(G2)의 직적을 나타낸다.
g1, g2, gT: g1, g2, gT는 순회군(G, G1, G2, GT)의 생성원을 나타낸다.
V(ψ): V(ψ)는 n(ψ)+ζ(ψ)개의 순회군(G1)의 직적으로 이루어지는 n(ψ)+ζ(ψ) 차원의 벡터공간을 나타낸다.
V*(ψ): V*(ψ)는 n(ψ)+ζ(ψ)개의 순회군(G2)의 직적으로 이루어지는 n(ψ)+ζ(ψ) 차원의 벡터공간을 나타낸다.
eψ: eψ는 직적 G1 n (ψ)+ζ(ψ)과 직적 G2 n (ψ)+ζ(ψ)의 직적 G1 n (ψ)+ζ(ψ)×G2 n (ψ)+ζ(ψ)을 순회군(GT)에 복사하는 비퇴화한 쌍선형 사상(bilinear map)을 나타낸다. 쌍선형 사상(eψ)은 순회군(G1)의 n(ψ)+ζ(ψ)개의 원소 γβ(β=1,...,n(ψ)+ζ(ψ))와 순회군(G2)의 n(ψ)+ζ(ψ)개의 원소 γβ *(β=1,...,n(ψ)+ζ(ψ))를 입력으로 하고, 순회군(GT)의 1개의 원소를 출력한다.
eψ: G1 n (ψ)+ζ(ψ)×G2 n (ψ)+ζ(ψ)→GT …(1)
쌍선형 사상(eψ)은 이하의 성질을 충족시킨다.
[쌍선 형성] 모든 Γ1∈G1 n (ψ)+ζ(ψ), Γ2∈G2 n (ψ)+ζ(ψ) 및 ν, κ∈Fq에 대하여 이하의 관계를 충족시킨다.
eψ(ν·Γ1, κ·Γ2)=eψ1, Γ2)v·κ …(2)
[비퇴화성] 모든 Γ1∈G1 n (ψ)+ζ(ψ), Γ2∈G2 n (ψ)+ζ(ψ)를 순회군(GT)의 단위원에 복사하는 사상은 아니다.
[계산가능성] 모든
Γ1∈G1 n (ψ)+ζ(ψ), Γ2∈G2 n (ψ)+ζ(ψ) …(3)
에 대하여 eψ1, Γ2)를 효율적으로 계산하는 알고리즘이 존재한다.
본 형태에서는, 순회군(G1)과 순회군(G2)의 직적 G1×G2를 순회군(GT)에 복사하는 비퇴화한 쌍선형 사상
Pair: G1×G2→GT …(4)
를 사용하여 쌍선형 사상(eψ)을 구성한다. 본 형태의 쌍선형 사상(eψ)은 순회군(G1)의 n(ψ)+ζ(ψ)개의 원소 γβ(β=1,...,n(ψ)+ζ(ψ))로 이루어지는 n(ψ)+ζ(ψ) 차원 벡터(γ1,...,γn(ψ)+ζ(ψ))와, 순회군(G2)의 n(ψ)+ζ(ψ)개의 원소 γβ *(β=1,...,n(ψ)+ζ(ψ))로 이루어지는 n(ψ)+ζ(ψ) 차원 벡터(γ1 *,...,γn(ψ)+ζ(ψ) *)의 입력에 대하여, 순회군(GT)의 1개의 원소를 출력한다.
eψ: Πβ=1 n(ψ)+ζ(ψ)Pair(γββ *) …(5)
또한, 쌍선형 사상 Pair는, 순회군(G1)의 1개의 원소와 순회군(G2)의 1개의 원소의 조합을 입력으로 하고, 순회군(GT)의 1개의 원소를 출력한다. 쌍선형 사상 Pair는 이하의 성질을 충족시킨다.
[쌍선 형성] 모든 Ω1∈G1, Ω2∈G2 및 ν, κ∈Fq에 대해서 이하의 관계를 충족시킨다.
Pair(ν·Ω1, κ·Ω2)=Pair(Ω1, Ω2)v·κ …(6)
[비퇴화성] 모든
Ω1∈G1, Ω2∈G2 …(7)
를 순회군(GT)의 단위원에 복사하는 사상은 아니다.
[계산 가능성] 모든 Ω1∈G1, Ω2∈G2에 대하여 Pair(Ω1, Ω2)를 효율적으로 계산하는 알고리즘이 존재한다.
쌍선형 사상 Pair의 구체예는 Weil 페어링이나 Tate 페어링 등의 페어링 연산을 행하기 위한 함수이다(예를 들면, 참고문헌 4「Alfred. J. Menezes, ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS, KLUWER ACADEMIC PUBLISHERS, ISBN0-7923-9368-6, pp.61-81」등 참조). 또한 타원 곡선(E)의 종류에 따라, Tate 페어링 등의 페어링 연산을 행하기 위한 함수와 소정의 함수(phi)를 조합한 변경 페어링 함수(e(Ω1, phi(Ω2))(Ω1∈G1, Ω2∈G2))를 쌍선형 사상 Pair로서 사용해도 된다(예를 들면, 참고문헌 2 등 참조). 또한 페어링 연산을 컴퓨터상에서 행하기 위한 알고리즘으로서는 주지의 Miller의 알고리즘(참고문헌 5 「V. S. Miller, "Short Programs for functions on Curves, "1986, 인터넷 <http://crypto.stanford.edu/miller/miller.pdf>」등이 존재한다. 또한 페어링 연산을 효율적으로 행하기 위한 타원곡선이나 순회군의 구성방법은 잘 알려져 있다(예를 들면, 참고문헌 2, 참고문헌 6 「A. Miyaji, M. Nakabayashi, S. Takano, "New explicit conditions of elliptic curve Traces for FR-Reduction," IEICE Trans. Fundamentals, vol. E84-A, no05, pp.1234-1243, May 2001」, 참고문헌 7「P.S.L.M. Barreto, B. Lynn, M. Scott, "Constructing elliptic curves with prescribed embedding degrees," Proc. SCN '2002, LNCS 2576, pp.257-267, Springer-Verlag. 2003」, 참고문헌 8「R. Dupont, A. Enge, F. Morain, "Building curves with arbitrary small MOV degree over finite prime fields," http://eprint.iacr.org/2002/094/」등 참조).
ai(ψ)(i=1,...,n(ψ)+ζ(ψ)): ai(ψ)는 순회군(G1)의 n(ψ)+ζ(ψ)개의 원소를 요소로 하는 n(ψ)+ζ(ψ) 차원의 기저벡터를 나타낸다. 기저벡터(ai(ψ))의 일례는, κ1·g1∈G1을 i차원째의 요소로 하고, 나머지 n(ψ)+ζ(ψ)-1개의 요소를 순회군(G1)의 단위원(가법적으로 「0」이라고 표현)으로 하는 n(ψ)+ζ(ψ) 차원의 기저벡터이다. 이 경우, n(ψ)+ζ(ψ) 차원의 기저벡터(ai(ψ))(i=1,...,n(ψ)+ζ(ψ))의 각 요소를 각각 열거하여 표현하면, 이하와 같이 된다.
a1(ψ)=(κ1·g1,0,0,...,0)
a2(ψ)=(0, κ1·g1,0,...,0) …(8)
...
an (ψ)+ζ(ψ)(ψ)=(0,0,0,..., κ1·g1)
여기에서, κ1은 가법단위 원소(0F) 이외의 유한체(Fq)의 원소로 이루어지는 정수이며, κ1∈Fq의 구체예는 κ1=1F이다. 기저벡터(ai(ψ))는 직교기저이며, 순회군(G1)의 n(ψ)+ζ(ψ)개의 원소를 요소로 하는 모든 n(ψ)+ζ(ψ) 차원 벡터는 n(ψ)+ζ(ψ) 차원의 기저벡터(ai(ψ))(i=1,...,n(ψ)+ζ(ψ))의 선형합에 의해 표시된다. 즉, n(ψ)+ζ(ψ) 차원의 기저벡터(ai(ψ))는 전술의 벡터공간(V(ψ))을 이룬다.
ai *(ψ)(i=1,...,n(ψ)+ζ(ψ)): 순회군(G2)의 n(ψ)+ζ(ψ)개의 원소를 요소로 하는 n(ψ)+ζ(ψ) 차원의 기저벡터를 나타낸다. 기저벡터(ai *(ψ))의 일례는 κ2·g2∈G2를 i차원째의 요소로 하고, 나머지 n(ψ)+ζ(ψ)-1개의 요소를 순회군(G2)의 단위원(가법적으로 「0」으로 표현)으로 하는 n(ψ)+ζ(ψ) 차원의 기저벡터이다. 이 경우, 기저벡터(ai *(ψ))(i=1,...,n(ψ)+ζ(ψ))의 각 요소를 각각 열거하여 표현하면, 이하와 같이 된다.
a1 *(ψ)=(κ2·g2,0,0,...,0)
a2 *(ψ)=(0, κ2·g2,0,...,0) …(9)
...
an (ψ)+ζ(ψ) *(ψ)=(0,0,0,..., κ2·g2)
여기에서, κ2는 가법단위 원소(0F) 이외의 유한체(Fq)의 원소로 이루어지는 정수이며, κ2∈Fq의 구체예는 κ2=1F이다. 기저벡터(ai *(ψ))는 직교기저이며, 순회군(G2)의 n(ψ)+ζ(ψ)개의 원소를 요소로 하는 모든 n(ψ)+ζ(ψ) 차원 벡터는 n(ψ)+ζ(ψ) 차원의 기저벡터(ai *(ψ))(i=1,...,n(ψ)+ζ(ψ))의 선형합에 의해 표시된다. 즉, n(ψ)+ζ(ψ) 차원의 기저벡터(ai *(ψ))는 전술의 벡터공간(V*(ψ))을 이룬다.
또한, 기저벡터(ai(ψ))와 기저벡터(ai *(ψ))는 0F를 제외한 유한체(Fq)의 원소 τ=κ1·κ2에 대하여
eψ(ai(ψ), aj *(ψ))=gT τ·δ(i,j) …(10)
를 충족시킨다. 즉, i=j의 경우에는, 식 (5), (6)의 관계로부터,
eψ(ai(ψ), aj *(ψ))=Pair(κ1·g12·g2)·Pair(0,0)·...·Pair(0,0)
=Pair(g1, g2) κ1·κ2·Pair(g1, g2)0·0·...·Pair(g1, g2)0·0
=Pair(g1, g2)κ1·κ2=gT τ
를 충족시킨다. 또한, 위첨자 κ1, κ2는 각각 κ1, κ2를 나타낸다. 한편, i≠j인 경우에는, eψ(ai(ψ), aj *(ψ))=Πi=1 n(ψ)+ζ(ψ) Pair(ai(ψ), aj *(ψ))의 우변은 Pair(κ1·g12·g2)를 포함하지 않고, Pair(κ1·g1,0)와 Pair(0,κ2·g2)와 Pair(0,0)와의 적이 된다. 또한, 식 (6)의 관계로부터 Pair(g1,0)=Pair(0, g2)=Pair(g1, g2)0을 충족시킨다. 그 때문에 i≠j의 경우에는,
eψ(ai(ψ), aj *(ψ))=eψ(g1, g2)0=gT 0
를 충족시킨다.
특히, τ=κ1·κ2=1F일 경우(예를 들면, κ12=1F의 경우),
e(ai(ψ), aj *(ψ))=gT δ(i,j) …(11)
을 충족시킨다. 여기에서, gT 0=1은 순회군(GT)의 단위원이며, gT 1=gT는 순회군(GT)의 생성원이다. 이 경우, 기저벡터(ai(ψ))과 기저벡터(ai *(ψ))는 쌍대 정규 직교기저이며, 벡터공간(V(ψ))과 벡터공간(V*(ψ))은 쌍선형 사상을 구성 가능한 쌍대 벡터공간[쌍대 페어링 벡터공간(DPVS: Dual Paring Vector space)]이다.
A(ψ): 기저벡터(ai(ψ))(i=1,...,n(ψ)+ζ(ψ))를 요소로 하는 n(ψ)+ζ(ψ)행 n(ψ)+ζ(ψ)열의 행렬을 나타낸다. 예를 들면, 기저벡터(ai(ψ))(i=1,...,n(ψ)+ζ(ψ))가 식 (8)에 의해 표현되는 경우, 행렬 A(ψ)는,
[수6]
Figure 112013003968060-pct00006
이 된다.
A*(ψ): 기저벡터(ai*(ψ))(i=1,...,n(ψ)+ζ(ψ))를 요소라고 하는 n(ψ)+ζ(ψ)행 n(ψ)+ζ(ψ)열의 행렬을 나타낸다. 예를 들면, 기저벡터(ai *(ψ))(i=1,...,n(ψ)+ζ(ψ))가 식 (9)에 의해 표현되는 경우, 행렬 A*(ψ)는,
[수7]
Figure 112013003968060-pct00007
이 된다.
X(ψ): X(ψ)는 유한체(Fq)의 원소를 요소로 하는 n(ψ)+ζ(ψ)행 n(ψ)+ζ(ψ)열의 행렬을 나타낸다. 행렬(X(ψ))은 기저벡터(ai(ψ))의 좌표변화에 사용된다. 행렬(X(ψ))의 i행j열(i=1,...,n(ψ)+ζ(ψ),j=1,...,n(ψ)+ζ(ψ))의 요소를 χi,j(ψ)∈Fq라고 하면, 행렬(X(ψ))은,
[수8]
Figure 112013003968060-pct00008
이 된다. 또한, 행렬(X(ψ))의 각 요소 χi, j(ψ)를 변환계수라고 부른다.
X*(ψ): X*(ψ)와 행렬(X(ψ))는 X*(ψ)=τ'·(X(ψ)-1)T의 관계를 충족시킨다. 단, τ'∈Fq는 유한체(Fq)에 속하는 임의의 정수이며, 예를 들면, τ'=1F이다. X*(ψ)는 기저벡터(ai *(ψ))의 좌표변화에 사용된다. 행렬(X*(ψ))의 i행j열의 요소를 χi,j*(ψ)∈Fq라고 하면, 행렬(X*(ψ))은,
[수9]
Figure 112013003968060-pct00009
이 된다. 또한, 행렬(X*(ψ))의 각 요소 χi,j *(ψ)를 변환계수라고 부른다.
이 경우, n(ψ)+ζ(ψ)행 n(ψ)+ζ(ψ)열의 단위행렬을 I(ψ)라고 하면 X(ψ)·(X*(ψ))T=τ'·I(ψ)을 충족시킨다. 즉, 단위행렬
[수10]
Figure 112013003968060-pct00010
에 대하여,
[수11]
Figure 112013003968060-pct00011
을 충족시킨다. 여기에서, n(ψ)+ζ(ψ) 차원 벡터
χi (ψ)=(χi,1(ψ),..., χi,n(ψ)+ζ(ψ)(ψ)) …(18)
χj →*(ψ)=(χj,1*(ψ),..., χj,n(ψ)+ζ(ψ) *(ψ)) …(19)
를 정의한다. 그러면, 식 (17)의 관계로부터, n(ψ)+ζ(ψ) 차원 벡터 χi (ψ)와 χj →*(ψ)의 내적은,
χi (ψ)·χj →*(ψ)=τ'·δ(i,j) …(20)
이 된다.
bi(ψ): bi(ψ)는 순회군(G1)의 n(ψ)+ζ(ψ)개의 원소를 요소로 하는 n(ψ)+ζ(ψ) 차원의 기저벡터를 나타낸다. bi(ψ)는 행렬(X(ψ))을 사용하여 기저벡터(ai(ψ))(i=1,...,n(ψ)+ζ(ψ))를 좌표변화함으로써 얻어진다. 구체적으로는, 기저벡터(bi(ψ))는,
bi(ψ)=Σj=1 n(ψ)+ζ(ψ)χi,j(ψ)·aj(ψ) …(21)
의 연산에 의해 얻어진다. 예를 들면, 기저벡터(aj(ψ))(j=1,...,n(ψ)+ζ(ψ))가 식 (8)에 의해 표현되는 경우, 기저벡터(bi(ψ))의 각 요소를 각각 열거하여 표현하면, 이하와 같이 된다.
bi(ψ)=(χi,1(ψ)·κ1·g1i,2(ψ)·κ1·g1,
..., χi,n(ψ)+ζ(ψ)(ψ)·κ1·g1) …(22)
순회군(G1)의 n(ψ)+ζ(ψ)개의 원소를 요소로 하는 모든 n(ψ)+ζ(ψ) 차원 벡터는 n(ψ)+ζ(ψ) 차원의 기저벡터(bi(ψ))(i=1,...,n(ψ)+ζ(ψ))의 선형합에 의해 표시된다. 즉, n(ψ)+ζ(ψ) 차원의 기저벡터(bi(ψ))는 전술의 벡터공간(V(ψ))을 이룬다.
bi *(ψ): bi *(ψ)는 순회군(G2)의 n(ψ)+ζ(ψ)개의 원소를 요소로 하는 n(ψ)+ζ(ψ) 차원의 기저벡터를 나타낸다. bi *(ψ)는 행렬(X*(ψ))을 사용하여 기저벡터(ai *(ψ))(i=1,...,n(ψ)+ζ(ψ))를 좌표변환 함으로써 얻어진다. 구체적으로는 기저벡터(bi *(ψ))는,
bi *(ψ)=Σj=1 n(ψ)+ζ(ψ)χi,j *(ψ)·aj *(ψ) …(23)
의 연산에 의해 얻어진다. 예를 들면, 기저벡터(aj *(ψ))(j=1,...,n(ψ)+ζ(ψ))가 식 (9)에 의해 표현되는 경우, 기저벡터(bi *(ψ))의 각 요소를 각각 열거하여 표현하면, 이하와 같이 된다.
bi *(ψ)=(χi,1 *(ψ)·κ2·g2i,2 *(ψ)·κ2·g2,
..., χi,n(ψ)+ζ(ψ)*(ψ)·κ2·g2) …(24)
가 된다. 순회군(G2)의 n(ψ)+ζ(ψ)개의 원소를 요소로 하는 모든 n(ψ)+ζ(ψ) 차원 벡터는, n(ψ)+ζ(ψ) 차원의 기저벡터(bi *(ψ))(i=1,...,n(ψ)+ζ(ψ))의 선형합에 의해 표시된다. 즉, n(ψ)+ζ(ψ) 차원의 기저벡터(bi *(ψ))는 전술의 벡터공간(V*(ψ))를 이룬다.
또한, 기저벡터(bi(ψ))와 기저벡터(bi *(ψ))는 0F를 제외한 유한체(Fq)의 원소 τ=κ1·κ2에 대하여
eψ(bi(ψ), bj *(ψ))=gT τ·τ'·δ(i,j) …(25)
를 충족시킨다. 즉, 식 (5), (20), (22), (24)의 관계로부터,
[수12]
Figure 112013003968060-pct00012
를 충족시킨다. 특히 τ=κ1·κ2=1F(예를 들면, κ12=1F) 및 τ'=1F인 경우,
eψ(bi(ψ), bj *(ψ))=gT δ(i,j) …(26)
을 충족시킨다. 이 경우, 기저벡터(bi(ψ))와 기저벡터(bi *(ψ))는 쌍대 페어링 벡터공간(벡터공간(V(ψ))과 벡터공간(V*(ψ)))의 쌍대 정규 직교기저이다.
또한, 식 (25)의 관계를 충족시키는 것이라면, 식 (8) (9)에서 예시한 것 이외의 기저벡터(ai(ψ) 및 ai *(ψ))나, 식 (21) (23)에서 예시한 것 이외의 기저벡터(bi(ψ) 및 bi *(ψ))를 사용해도 된다.
B(ψ): B(ψ)는 기저벡터(bi(ψ))(i=1,...,n(ψ)+ζ(ψ))를 요소로 하는 n(ψ)+ζ(ψ)행 n(ψ)+ζ(ψ)열의 행렬이다. B(ψ)=X(ψ)·A(ψ)를 충족시킨다. 예를 들면, 기저벡터(bi(ψ))가 식 (22)에 의해 표현되는 경우, 행렬 B(ψ)는,
[수13]
Figure 112013003968060-pct00013
이 된다.
B*(ψ): B*(ψ)는 기저벡터(bi *(ψ))(i=1,...,n(ψ)+ζ(ψ))를 요소로 하는 n(ψ)+ζ(ψ)행 n(ψ)+ζ(ψ)열의 행렬을 나타낸다. B*(ψ)=X*(ψ)·A*(ψ)를 충족시킨다. 예를 들면, 기저벡터(bi *(ψ))(i=1,...,n(ψ)+ζ(ψ))가 식 (24)에 의해 표현되는 경우, 행렬 B*(ψ)는,
[수14]
Figure 112013003968060-pct00014
이 된다.
v(λ): v(λ)는 유한체(Fq)의 원소를 요소로 하는 n(λ) 차원 벡터를 나타낸다.
v(λ)= (v1(λ),...,vn (λ)(λ))∈Fq n (λ) …(29)
vμ(λ): vμ(λ)는 n(λ) 차원 벡터(v(λ))의 μ(μ=1,...,n(λ))번째의 요소를 나타낸다.
w(λ): w(λ)는 유한체(Fq)의 원소를 요소로 하는 n(λ) 차원 벡터를 나타낸다.
w(λ)= (w1(λ),...,wn (λ)(λ))∈Fq n (λ) …(30)
wμ(λ): wμ(λ)는 n(λ) 차원 벡터(w(λ))의 μ(μ=1,...,n(λ))번째의 요소를 나타낸다.
Enc: Enc는 공통키 암호 방식의 암호화 처리를 나타내는 공통키 암호 함수를 나타낸다.
EncK(M): EncK(M)은 공통키(K)를 사용하여, 공통키 암호 함수(Enc)에 따라 평문(M)을 암호화하여 얻어진 암호문을 나타낸다.
Dec: Dec는 공통키 암호 방식의 복호 처리를 나타내는 공통키 복호 함수를 나타낸다.
DecK(C): DecK(C)는 공통키(K)를 사용하여, 공통키 복호 함수(Dec)에 따라 암호문(C)을 복호하여 얻어진 복호 결과를 나타낸다.
[함수 암호 방식]
다음에 함수 암호 방식의 기본적인 구성에 대하여 설명한다.
함수 암호 방식은 제 1 정보와 제 2 정보와의 조합에 의해 정해지는 논리식의 진리값이 「참」이 되는 경우에 암호문이 복호되는 방식이다. 「제 1 정보」와 「제 2 정보」의 일방이 암호문에 메워 넣어지고, 타방이 키 정보에 메워 넣어진다. 예를 들면, 「"Predicate Encryption Supporting Disjunctions, Polynomial Equations, and Inner Products," with Amit Sahai and Brent Waters One of 4 papers from Eurocrypt 2008 invited to the Journal of Cryptology」(참고문헌 9)에 개시된 술어 암호 방식은 함수 암호 방식의 일종이다.
이외에도 여러 공지의 함수 암호 방식이 존재하는데, 이하에서는 미공개의 새로운 함수 암호 방식을 설명한다. 이하에 설명하는 새로운 함수 암호 방식에서는 비밀 정보에 따른 값이 소정의 논리식에 따른 태양에서 계층적으로 비밀 분산된다. 소정의 논리식은 제 1 정보와 제 2 정보와의 조합에 의해 진리값이 정해지는 명제 변수를 포함하고, 필요에 따라 논리기호 ∧,∨,¬ 중 어느 하나 또는 모두를 더 포함한다. 그리고, 각 명제 변수의 진리값이 특정됨으로써 정해지는 당해 소정의 논리식의 진리값이 「참」이 되는 경우에 비밀정보에 따른 값이 복원되고, 그것에 기초하여 암호문이 복호된다.
<논리식과 계층적인 비밀 분산과의 관계>
상기한 소정의 논리식과 계층적인 비밀 분산과의 관계를 설명한다.
비밀 분산이란 임계값(Kt)(Kt≥1)개 이상의 셰어 정보가 얻어진 경우에만 비밀 정보가 복원되도록, 비밀 정보를 N(N≥2)개의 셰어 정보로 분산하는 것이다. Kt=N 을 충족시키는 비밀 분산의 방식 (SSS: Secret Sharing Scheme)을 N-out-of-N 분산 방식(또는 「N-out-of-N 임계값 분산 방식」)이라고 하고, Kt<N을 충족시키는 비밀 분산의 방식을 Kt-out-of-N 분산 방식(또는 「Kt-out-of-N 임계값 분산 방식」)이라고 한다(예를 들면, 참고문헌 10 「쿠로사와 카오루, 오가카 와카하, "현대 암호의 기초 수리(전자정보통신 렉처 시리즈)", 코로나사, 2004년 3월, p.116-119」, 참고문헌 11 「A. Shamir, "How to Share a Secret", Communications of the ACM, November 1979, Volume 22, Number 11, pp.612-613.」등 참조).
N-out-of-N 분산 방식은 모든 셰어 정보(share(1),...,share(N))가 주어지면 비밀 정보(SE)를 복원할 수 있지만, 임의의 N-1개의 셰어 정보(share(φ1),...,share(φN-1))가 주어져도 비밀 정보(SE)의 정보는 전혀 얻어지지 않는 방식이다. 이하에, 그 1 예를 나타낸다.
·SH1,...,SHN -1을 랜덤하게 선택한다.
·SHN=SE-(SH1+...+SHN -1)의 계산을 행한다.
·SH1,...,SHN을 각 셰어 정보(share(1),...,share(N))라고 한다.
·모든 셰어 정보(share(1),...,share(N))가 주어지면,
SE=share(1)+...+share(N) …(31)
의 복원처리에 의해 비밀 정보(SE)의 복원이 가능하다.
Kt-out-of-N 분산 방식은 임의의 상위한 Kt개의 셰어 정보(share(φ1),...,share(φKt))가 주어지면 비밀 정보(SE)를 복원할 수 있지만, 임의의 Kt-1개의 셰어 정보(share(φ1),...,share(φKt -1))가 주어져도 비밀 정보(SE)의 정보는 전혀 얻어지지 않는 방식이다. 또한, 첨자의 Kt는 Kt를 나타낸다. 이하에 Kt-out-of-N 분산 방식의 1 예를 나타낸다.
·f(0)=SE를 충족시키는 Kt-1차의 다항식 f(x)=ξ01·x+ξ2·x2+...+ξKt -1·xKt-1을 랜덤하게 선택한다. 즉, ξ0=SE로 하고, ξ1,..., ξKt -1을 랜덤하게 선택한다. 셰어 정보를 share(ρ)=(ρ, f(ρ))(ρ=1,...,N)로 한다. 또한, (ρ, f(ρ))는 ρ 및 f(ρ)의 값을 각각 추출 가능한 정보이며, 예를 들면, ρ와 f(ρ)의 비트 결합값이다.
·임의의 상위한 Kt개의 셰어 정보(share(φ1),...,share(φKt))((φ1,...,φKt)⊂(1,...,N))가 얻어진 경우, 예를 들면, 라그랜지(Lagrange)의 보간 공식을 사용하여, 이하와 같은 복원 처리에 의해 비밀 정보(SE)의 복원이 가능하다.
SE=f(0)=LA1·f(φ1)+...+LAKt·f(φKt) …(32)
[수15]
Figure 112013003968060-pct00015
는 선두로부터 ρ번째의 피연산자 [분모의 요소(φρρ), 분자의 요소(x-φρ)]가 존재하지 않는 것을 의미한다. 즉, 식 (33)의 분모는,
ρ1)·...·(φρρ-1)·(φρρ+1)·...·(φρKt)
이고, 식 (33)의 분자는,
(x-φ1)·...·(x-φρ-1)·(x-φρ+1)·...·(x-φKt)
이다.
상기한 각 비밀 분산은 체 상에서도 실행 가능하다. 또한 이것들을 확장하여 비밀 정보(SE)에 따른 값을 셰어 정보(share)에 비밀 분산할 수도 있다. 비밀 정보(SE)에 따른 값은 비밀 정보(SE) 그자체나 비밀 정보(SE)의 함수값이며, 셰어 정보(share)에 따른 값은 셰어 정보(share) 그 자체나 셰어 정보의 함수값이다. 예를 들면, 유한체(Fq)의 원인 비밀 정보(SE)∈Fq에 따른 순회군(GT)의 원소(gT SE∈GT)를 비밀 정보(SE)의 각 셰어 정보(share(1), share(2))에 따른 순회군(GT)의 원소(gT share (1), gT share (2)∈GT)에 비밀 분산할 수도 있다. 또한 상기한 비밀 정보(SE)는 셰어 정보(share)의 선형결합이 된다(식 (31) (32)). 이와 같이 비밀 정보(SE)가 셰어 정보(share)의 선형결합이 되는 비밀 분산 방식을 선형 비밀 분산 방식이라고 부른다.
상기한 소정의 논리식은 비밀정보를 계층적으로 비밀 분산하여 얻어지는 트리 구조 데이터에 의해 표현할 수 있다. 즉, 드모르간의 법칙에 의해, 상기한 소정의 논리식은 리터럴로 이루어지는 논리식, 또는, 논리기호(∧,∨)의 적어도 일부와 리터럴로 이루어지는 논리식(이것들을 「표준형 논리식」이라고 부르기로 함)에 의해 표현할 수 있고, 이 표준형 논리식은 비밀 정보를 계층적으로 비밀 분산하여 얻어지는 트리 구조 데이터에 의해 표현할 수 있다.
표준형 논리식을 표현하는 트리 구조 데이터는 복수의 노드를 포함하고, 적어도 일부의 노드는 1개 이상의 자(子) 노드의 친(親) 노드로 되고, 친 노드의 1개는 루트 노드로 되고, 자 노드의 적어도 일부는 엽(葉) 노드로 된다. 루트 노드의 친 노드나, 엽 노드의 자 노드는 존재하지 않는다. 루트 노드에는 비밀 정보에 따른 값이 대응하고, 각 친 노드의 자 노드에는 당해 친 노드에 대응하는 값을 비밀 분산한 셰어 정보에 따른 값이 대응한다. 각 노드에서의 비밀 분산 형태(비밀 분산 방식이나 임계값)는 표준형 논리식에 따라 정해진다. 또한 각 엽 노드에는 표준형 논리식을 구성하는 각 리터럴이 대응하고, 당해 각 리터럴의 진리값은 제 1 정보와 제 2 정보와의 조합에 의해 정해진다.
여기에서, 진리값이 참으로 된 리터럴에 대응하는 엽 노드에 대응하는 셰어 정보에 따른 값은 얻어지지만, 진리값이 거짓으로 된 리터럴에 대응하는 엽 노드에 대응하는 셰어 정보에 따른 값은 얻어지지 않는 것으로 한다. 또한 상기한 비밀 분산의 성질에 의해, 친 노드에 대응하는 셰어 정보에 따른 값(그 친 노드가 루트 노드이면 비밀 정보에 따른 값)은 그 자 노드에 대응하는 셰어 정보에 따른 값이 당해 친 노드에 대응하는 임계값 이상의 개수만 얻어진 경우에만 복원된다. 그 때문에 어느 엽 노드가 대응하는 리터럴의 진리값이 참으로 된 것인가와 트리 구조 데이터의 구성(각 노드에서의 비밀 분산의 형태를 포함함)에 따라, 최종적으로 루트 노드에 대응하는 비밀 정보에 따른 값을 복원할 수 있는지 아닌지가 정해진다. 그리고, 각 엽 노드에 대응하는 각 리터럴의 진리값이 표준형 논리식의 진리값을 참으로 하는 경우에만 최종적으로 루트 노드에 대응하는 비밀 정보에 따른 값을 복원할 수 있도록 트리 구조 데이터가 구성되어 있는 경우, 이러한 트리 구조 데이터는 표준형 논리식을 표현한다. 이러한 표준형 논리식을 표현하는 트리 구조 데이터는 용이하게 설정할 수 있다. 이하에 구체예를 나타낸다.
도 83은 명제 변수 PRO(1), PRO(2)와 명제 변수 PRO(3)의 부정 ¬PRO(3)와 논리기호 ∧,∨를 포함하는 표준형 논리식 PRO(1)∧PRO(2)∨¬PRO(3)을 표현하는 트리 구조 데이터를 예시하는 도면이다. 도 83에 예시하는 트리 구조 데이터는 복수의 노드(N1,...,N5)를 포함한다. 노드 N1은 노드 N2, N5의 친 노드로 되고, 노드 N2는 노드 N3, N4의 친 노드로 되고, 친 노드의 1개 노드 N1이 루트 노드로 되고, 자 노드의 일부인 노드 N3, N4, N5가 엽 노드로 된다. 노드 N1에는 비밀 정보(SE)에 따른 값이 대응하고, 노드 N1의 자 노드 N2, N5에는, 비밀 정보(SE)에 따른 값이 1-out-of-2 분산 방식으로 비밀 분산된 각 셰어 정보 SE, SE에 따른 값이 각각 대응한다. 노드 N2의 자 노드 N3, N4에는, 셰어 정보(SE)에 따른 값이 2-out-of-2 분산 방식으로 비밀 분산된 각 셰어 정보 SE-SH1, SH1에 따른 값이 각각 대응한다. 즉, 엽 노드 N3에는 셰어 정보 share(1)=SE-SH1에 따른 값이 대응하고, 엽 노드 N4에는 셰어 정보 share(2)=SH1에 따른 값이 대응하고, 엽 노드 N5에는 셰어 정보 share(3)=SE에 따른 값이 대응한다. 또한 엽 노드 N3, N4, N5에는 표준형 논리식 PRO(1)∧PRO(2)∨¬PRO(3)을 구성하는 각 리터럴 PRO(1), PRO(2), ¬PRO(3)이 각각 대응하고, 당해 각 리터럴 PRO(1), PRO(2), ¬PRO(3)의 진리값은 제 1 정보와 제 2 정보와의 조합에 의해 정해진다. 여기에서, 진리값이 참이 된 리터럴에 대응하는 엽 노드에 대응하는 셰어 정보에 따른 값은 얻어지지만, 진리값이 거짓으로 된 리터럴에 대응하는 엽 노드에 대응하는 셰어 정보에 따른 값은 얻어지지 않는다. 이 경우, 제 1 정보와 제 2 정보와의 조합이 표준형 논리식 PRO(1)∧PRO(2)∨¬PRO(3)의 진리값을 참으로 하는 경우에만 비밀 정보(SE)에 따른 값이 복원된다.
도 84는 명제 변수 PRO(1), PRO(2), PRO(3), PRO(6), PRO(7)과 명제 변수 PRO(4), PRO(5)의 부정 ¬PRO(4), ¬PRO(5)와 논리기호 ∧,∨를 포함하는 표준형 논리식 PRO(1)∧PRO(2)∨PRO(2)∧PRO(3)∨PRO(1)∧PRO(3)∨¬PRO(4)∨(¬PRO(5)∧PRO(6))∧PRO(7)을 표현하는 트리 구조 데이터를 예시하는 도면이다.
도 84에 예시하는 트리 구조 데이터는 복수의 노드(N1,...,N11)를 포함한다. 노드 N1은 노드 N2, N6, N7의 친 노드로 되고, 노드 N2는 노드 N3, N4, N5의 친 노드로 되고, 노드 N7은 노드 N8, N11의 친 노드로 되고, 노드 N8은 노드 N9, N10의 친 노드로 되고, 친 노드의 1개인 노드 N1이 루트 노드로 되고, 노드 N3, N4, N5, N6, N9, N10, N11이 엽 노드로 된다. 노드 N1에는 비밀 정보(SE)에 따른 값이 대응하고, 노드 N1의 자 노드 N2, N6, N7에는, 비밀 정보(SE)에 따른 값이 1-out-of-3 분산 방식에서 비밀 분산된 각 셰어 정보(SE, SE, SE)에 따른 값이 각각 대응한다. 노드 N2의 자 노드 N3, N4, N5에는, 셰어 정보(SE)에 따른 값이 2-out-of-3 분산 방식에서 비밀 분산된 각 셰어 정보((1,f(1)), (2,f(2)), (3,f(3))에 따른 값이 각각 대응한다. 노드 N7의 자 노드 N8, N11에는, 셰어 정보(SE)에 따른 값이 2-out-of-2 분산 방식에서 비밀 분산된 각 셰어 정보(SH4, SE-SH4)에 따른 값이 각각 대응한다. 노드 N8의 자 노드 N9, N10에는, 셰어 정보(SH4)에 따른 값이 1-out-of-2 분산 방식에서 비밀 분산된 각 셰어 정보(SH4, SH4)에 따른 값이 각각 대응한다. 즉, 엽 노드 N3에는 셰어 정보(share(1))=(1,f(1))에 따른 값이 대응하고, 엽 노드 N4에는 셰어 정보(share(2))=(2,f(2))에 따른 값이 대응하고, 엽 노드 N5에는 셰어 정보(share)(3)=(3,f(3))에 따른 값이 대응하고, 엽 노드 N6에는 셰어 정보(share)(4)=SE에 따른 값이 대응하고, 엽 노드 N9에는 셰어 정보(share(5))=SH4에 따른 값이 대응하고, 엽 노드 N10에는 셰어 정보(share(6))=SH4에 따른 값이 대응하고, 엽 노드 N11에는 셰어 정보(share(7))=SE-SH4에 따른 값이 대응한다. 또한 엽 노드인 노드 N3, N4, N5, N6, N9, N10, N11에는 표준형 논리식 PRO(1)∧PRO(2)∨PRO(2)∧PRO(3)∨PRO(1)∧PRO(3)∨¬PRO(4)∨(¬PRO(5)∧PRO(6))∧PRO(7)을 구성하는 각 리터럴 PRO(1), PRO(2), PRO(2), PRO(3), PRO(1), PRO(3), ¬PRO(4), ¬PRO(5), PRO(6), PRO(7)이 각각 대응하고, 각 리터럴 PRO(1), PRO(2), PRO(2), PRO(3), PRO(1), PRO(3), ¬PRO(4), ¬PRO(5), PRO(6), PRO(7)의 진리값은 제 1 정보와 제 2 정보와의 조합에 의해 정해진다. 여기에서, 진리값이 참으로 된 리터럴에 대응하는 엽 노드에 대응하는 셰어 정보에 따른 값은 얻어지지만, 진리값이 거짓으로 된 리터럴에 대응하는 엽 노드에 대응하는 셰어 정보에 따른 값은 얻어지지 않는다. 이 경우, 제 1 정보와 제 2 정보와의 조합이 표준형 논리식 PRO(1), ∧PRO(2), ∨PRO(2), ∧PRO(3), ∨PRO(1), ∧PRO(3), ∨¬PRO(4), ∨(¬PRO(5),∧PRO(6),)∧PRO(7)의 진리값을 참으로 하는 경우에만 비밀 정보(SE)에 따른 값이 복원된다.
<액세스 구조>
전술한 바와 같이 비밀 정보를 계층적으로 비밀 분산하여 얻어지는 트리 구조 데이터에 의해 소정의 논리식을 표현한 경우, 제 1 정보와 제 2 정보와의 조합에 대하여 얻어지는 엽 노드에서의 셰어 정보에 따른 값으로부터 비밀 정보에 따른 값을 복원할 수 있는지 아닌지에 의해, 제 1 정보와 제 2 정보와의 조합에 의해 정해지는 논리식의 진리값이 「참」이 될지 「거짓」이 될지를 판정할 수 있다. 이하, 제 1 정보와 제 2 정보의 조합에 의해 정해지는 논리식의 진리값이 「참」이 되는 경우에 제 1 정보와 제 2 정보의 조합을 받아들이고, 「거짓」이 되는 경우에 제 1 정보와 제 2 정보의 조합을 거절하는 구조를 액세스 구조라고 부른다.
전술한 바와 같이 소정의 논리식을 표현한 트리 구조 데이터의 엽 노드의 총수를 Ψ로 하고, 각 엽 노드에 대응하는 식별자를 λ=1,...,Ψ로 한다. 각 엽 노드에 대응하는 n(λ) 차원 벡터 v(λ)의 집합{v(λ)}λ=1,...,Ψ를 제 1 정보로 하고, n(λ) 차원 벡터 w(λ)의 집합{w(λ)}λ=1,...,Ψ를 제 2 정보로 한다. 또한 상기한 트리 구조 데이터를 라벨 붙은 행렬(LMT(MT, LAB))로서 실장한다.
라벨 붙은 행렬(LMT(MT, LAB))은 Ψ행 COL열(COL≥1)의 행렬
[수16]
Figure 112013003968060-pct00016
과, 행렬(MT)의 각 행 λ=1,...,Ψ에 대응된 라벨(LAB(λ))을 포함한다.
행렬(MT)의 각 요소 mtλ, col(col=1,...,COL)은 다음 2개의 요건을 충족시킨다. 제 1로, 전술한 바와 같이 소정의 논리식을 표현한 트리 구조 데이터의 루트 노드에 비밀 정보(SE)∈Fq에 따른 값이 대응하는 경우, 미리 정해진 유한체(Fq)의 원소를 요소로 하는 COL 차원 벡터
GV=(gv1,...,gvCOL)∈Fq COL … (35)
와, 비밀 정보(SE)에 따른 유한체(Fq)의 원소를 요소로 하는 COL 차원 벡터
CV=(cv1,...,cvCOL)∈Fq COL … (36)
에 대하여
SE=GV·(CV)T … (37)
이 성립한다. COL 차원 벡터 GV의 구체예는,
GV=(1F,...,1F)∈Fq COL … (38)
이지만, GV=(1F,0F,...,0F)∈Fq COL 등의 그 밖의 COL 차원 벡터이어도 된다. 제 2로, 식별자(λ)에 대응하는 엽 노드에 셰어 정보(share(λ))∈Fq에 따른 값이 대응하는 경우,
(share(1),...,share(Ψ))T=MT·(CV)T …(39)
이 성립한다. 상기와 같이 소정의 논리식을 표현한 트리 구조 데이터가 정해지면, 이들 2개의 요건을 충족시키는 행렬(MT)을 선택하는 것은 용이하다. 또한 비밀 정보(SE)나 셰어 정보(share(λ))가 변수이었다고 해도, 이들 2개의 요건을 충족시키는 행렬(MT)을 선택하는 것은 용이하다. 즉, 행렬(MT)을 정한 후에 비밀 정보(SE)나 셰어 정보(share(λ))의 값이 정해져도 된다.
또한 행렬(MT)의 각 행(λ=1,...,Ψ)에 대응된 라벨(LAB(λ))은 식별자(λ)에 대응하는 엽 노드에 대응하는 리터럴(PRO(λ) 또는 ¬PRO(λ))에 대응한다. 여기에서, 명제 변수(PRO(λ))의 진리값이 「참」인 것과 제 1 정보(VSET1)={λ,v(λ)|λ=1,...,Ψ}가 포함하는 v(λ)과 제 2 정보(VSET2)={λ,w(λ)|λ=1,...,Ψ}가 포함하는 w(λ)과의 내적 v(λ)·w(λ)이 0이 되는 것이 등가라고 취급하고, 명제 변수(PRO(λ))의 진리값이 「거짓」인 것과 내적 v(λ)·w(λ)이 0이 안 되는 것이 등가라고 취급한다. 그리고, PRO(λ)에 대응하는 라벨(LAB(λ))이 v(λ)을 나타내고, ¬PRO(λ)에 대응하는 라벨(LAB(λ))이 ¬v(λ)을 나타내는 것으로 한다. 또한, ¬v(λ)는 v(λ)의 부정을 나타내는 논리식이며, ¬v(λ)로부터 v(λ)의 특정이 가능하다. 또한 LAB(λ)이 v(λ)를 나타내는 것을 「LAB(λ)=v(λ)」로 표기하고, LAB(λ) 이 ¬v(λ)을 나타내는 것을 「LAB(λ)=¬v(λ)」로 표기한다. 또한 LAB(λ)(λ=1,...,Ψ)의 집합{LAB(λ)}λ=1,...,Ψ을 LAB로 표기한다.
또한, Ψ차원 벡터
TFV→=(tfv(1),...,tfv(Ψ)) …(40)
을 정의한다. 요소 tfv(λ)는 내적 v(λ)·w(λ)이 0일 때에 tfv(λ)=1이 되고, 0 이외일 때에 tfv(λ)=0이 된다.
tfv(λ)=1 (PRO(λ)가 참) if v(λ)·w(λ)=0 …(41)
tfv(λ)=0 (PRO(λ)이 거짓) if v(λ)→·w(λ)≠0 …(42)
또한, 논리식
{(LAB(λ)=v(λ))∧(tfv(λ)=1)}∨{(LAB(λ)=¬ v(λ))∧(tfv(λ)=0)}
…(43)
의 진리값이 「참」이 될 때 LIT(λ)=1로 표기하고 「거짓」이 될 때 LIT(λ)=0으로 표기한다. 즉, 식별자(λ)에 대응하는 엽 노드에 대응하는 리터럴의 진리값이 「참」이 될 때 LIT(λ)=1로 표기하고 「거짓」이 될 때 LIT(λ)=0으로 표기한다. 그러면, 행렬(MT)이 포함하는 행 벡터 중 LIT(λ)=1이 되는 행 벡터 mtλ =(mtλ,1,...,mtλ, COL)만으로 이루어지는 부분 행렬(MTTFV)은 이하와 같이 표기할 수 있다.
MTTFV=(MT)LIT (λ)=1 …(44)
상기한 비밀 분산 방식이 선형 비밀 분산 방식인 경우, 식별자(λ)에 대응하는 셰어 정보(share(λ))에 따른 값으로부터 비밀 정보(SE)에 따른 값을 복원할 수 있는 것과, 식별자(λ)에 대응하는 행 벡터(mtλ )로 이루어지는 벡터공간에 COL 차원 벡터(GV)가 속하는 것과는 등가이다. 즉, 식별자(λ)에 대응하는 행 벡터(mtλ )로 이루어지는 벡터공간에 COL 차원 벡터(GV→)가 속하는지 아닌지를 판정함으로써 식별자(λ)에 대응하는 셰어 정보(share(λ))에 따른 값으로부터 비밀 정보(SE)에 따른 값을 복원할 수 있는지 아닌지를 판정할 수 있다. 또한, 행 벡터(mtλ )로 이루어지는 벡터공간은 행 벡터(mtλ )의 선형결합으로 표시할 수 있는 벡터공간을 의미한다.
여기에서, 상기의 부분행렬(MTTFV)의 각 행 벡터(mtλ )로 이루어지는 벡터공간(span<MTTFV>)에 COL 차원 벡터(GV)이 속하는 경우에 제 1 정보와 제 2 정보의 조합이 받아들여지고, 그렇지 않은 경우에 제 1 정보와 제 2 정보와의 조합이 거절되는 것으로 한다. 이것에 의해 상기의 액세스 구조가 구체화된다. 또한, 상기한 바와 같이 라벨 부착 행렬(LMT(MT,LAB))이 제 1 정보에 대응하는 경우, 액세스 구조가 제 1 정보와 제 2 정보와의 조합을 받아들이는 것을 「액세스 구조가 제 2 정보를 받아들인다」고 하고, 액세스 구조가 제 1 정보와 제 2 정보와의 조합을 받아들이지 않는 것을 「액세스 구조가 제 2 정보를 거절한다」고 한다.
받아들임 if GV∈span<MTTFV>
거절 if ¬(GV∈span<MTTFV>)
또한 GV∈span<MTTFV>의 경우,
SE=Σμ∈ SETconst(μ)·share(μ) …(45)
{const(μ)∈Fq|μ∈SET}, SET⊆{1,..., λ|LIT(λ)=1}
을 충족시키는 계수(const(μ))가 존재하고, 이러한 계수(const(μ))는 행렬(MT)의 사이즈의 다항식 시간으로 구할 수 있다.
<액세스 구조를 사용한 함수 암호 방식의 기본 구성>
이하에서는, 액세스 구조를 사용한 함수 암호 방식에 의해 키 캡슐화 메커니즘(KEM)(Key Encapsulation Mechanisms)을 구성하는 경우의 기본 구성을 예시한다. 이 구성은 Setup(1sec, (Ψ; n(1),...,n(Ψ))), GenKey(PK,MSK,LMT(MT,LAB)), Enc(PK,M,{λ,v(λ)|λ=1,...,Ψ})(v1(λ)=1F), Dec(PK,SKS,C)를 포함한다. 또한 제 2 정보(VSET2)={λ,w(λ)→|λ=1,...,Ψ}의 1번째의 요소(w1(λ))가 1F로 된다.
[Setup(1sec, (Ψ;n(1),...,n(Ψ))): 셋업]
-입력: 1sec, (Ψ;n(1),...,n(Ψ))
-출력: 마스터 키 정보(MSK), 공개 패러미터(PK)
Setup에서는 각 ψ=0,...,Ψ에 대하여 이하의 처리가 실행된다.
(Setup-1)1sec를 입력으로 하여 세큐러티 패러미터(sec)에서의 위수(q), 타원 곡선(E), 순회군(G1, G2, GT), 쌍선형 사상(eψ)(ψ=0,...,Ψ)이 생성된다(param=(q, E, G1, G2, GT, eψ)).
(Setup-2)τ'∈Fq가 선택되고, X*(ψ)=τ'·(X(ψ)-1)T를 충족시키는 행렬 X(ψ), X*(ψ)이 선택된다.
(Setup-3) 기저벡터(ai(ψ))(i=1,...,n(ψ)+ζ(ψ))가 식 (21)에 따라 좌표변환되어, n(ψ)+ζ(ψ) 차원의 기저벡터(bi(ψ))(i=1,...,n(ψ)+ζ(ψ))가 생성된다. 기저벡터(bi(ψ))(i=1,...,n(ψ)+ζ(ψ))를 요소로 하는 n(ψ)+ζ(ψ)행 n(ψ)+ζ(ψ)열의 행렬 B(ψ)이 생성된다.
(Setup-4) 기저벡터(ai *(ψ))(i=1,...,n(ψ)+ζ(ψ))가 식 (23)에 따라 좌표변환되어, n(ψ)+ζ(ψ) 차원의 기저벡터(bi *(ψ))(i=1,...,n(ψ)+ζ(ψ))가 생성된다. 기저벡터(bi *(ψ))(i=1,...,n(ψ)+ζ(ψ))를 요소로 하는 n(ψ)+ζ(ψ)행 n(ψ)+ζ(ψ)열의 행렬 B*(ψ)가 생성된다.
(Setup-5) B*(ψ)^의 집합{B*(ψ)^}ψ=0,...,Ψ을 마스터 키 정보(MSK)={B*(ψ)^}ψ=0,...,Ψ로 한다. 또한 B(ψ)^의 집합{B(ψ)^}ψ=0,...,Ψ과 1sec와 param을 공개 패러미터(PK)로 한다. 단, B*(ψ)^은 행렬 B*(ψ)또는 그 부분행렬이며, B(ψ)^은 행렬 B(ψ)또는 그 부분행렬이다. 또한 집합{B*(ψ)^}ψ=0,...,Ψ은 적어도 b1 *(0),b1 *(λ)…,bn (λ) *(λ)(λ=1,...,Ψ)를 포함한다. 또한 집합{B(ψ)^}ψ=0,...,Ψ은, 적어도, b1(0),b1(λ),…,bn (λ)(λ)(λ=1,...,Ψ)을 포함한다. 이하에 1 예를 나타낸다.
·n(0)+ζ(0)≥5, ζ(λ)=3·n(λ)
·B(0)^=(b1(0) b3(0) b5(0))T
·B(λ)^=(b1(λ)…bn (λ)(λ)b3·n(λ)+1(λ)… b4 ·n(λ)(λ))T(λ=1,...,Ψ)
·B*(0)^=(b1*(0) b3*(0) b4*(0))T
·B*(λ)^=(b1 *(λ)… bn (λ) *(λ) b2 ·n(λ)+1 *(λ)… b3 ·n(λ) *(λ))T(λ=1,...,Ψ)
[GenKey(PK,MSK,LMT(MT,LAB)): 키 정보 생성]
-입력: 공개 패러미터(PK), 마스터 키 정보(MSK), 제 1 정보(VSET1)={λ,v(λ)|λ=1,...,Ψ}에 대응하는 라벨 부착 행렬(LMT(MT,LAB))
-출력: 키 정보(SKS)
(GenKey-1) 식 (35)-(39)를 충족시키는 비밀 정보(SE)에 대하여 이하의 처리가 실행된다.
D*(0)=-SE·b1 *(0)+Σι=2 Icoefι(0)·bι*(0) …(46)
단, I는 2 이상 n(0)+ζ(0) 이하의 정수이다. coefι(0)∈Fq는 정수 또는 난수이다. 「난수」란 진성 난수나 의사 난수를 의미한다. 이하에 D*(0)의 1 예를 나타낸다. 또한, 식 (47)의 coef4(0)는 난수이다.
D*(0)=-SE·b1 *(0)+b3 *(0)+coef4(0)·b4 *(0) …(47)
(GenKey-2) 식 (35)-(39)를 충족시키는 share(λ)(λ=1,...,Ψ)에 대하여 이하의 처리가 실행된다.
LAB(λ)=v(λ)가 되는 λ에 대하여
D*(λ)=(share(λ)+coef(λ)·v1(λ))·b1 *(λ)
ι=2 n(λ)coef(λ)·vι(λ)·bι *(λ)
ι=n(λ)+1 n(λ)+ζ(λ)coefι (λ)·bι *(λ) …(48)
이 생성되고,
LAB(λ)=¬ v(λ) 이 되는 λ에 대하여
D*(λ)=share(λ)·Σι=1 n(λ)vι(λ)·bι *(λ)
ι=n(λ)+1 n(λ)+ζ(λ)coefι(λ)·bι *(λ) …(49)
가 생성된다. 단 coef(λ), coefι(λ)∈Fq는 정수 또는 난수이다. 이하에 1 예를 나타낸다.
LAB(λ)=v(λ)이 되는 λ에 대하여
D*(λ)=(share(λ)+coef(λ)·v1(λ))·b1 *(λ)
ι=2 n(λ)coef(λ)·vι(λ)·bι *(λ)
ι=2·n(λ)+1 3·n(λ)coefι(λ)·bι *(λ) …(50)
이 생성되고,
LAB(λ)=¬ v(λ)이 되는 λ에 대하여
D*(λ)=share(λ)·Σι=1 n(λ)vι(λ)·bι *(λ)
ι=2·n(λ)+1 3·n(λ)coefι(λ)·bι *(λ) …(51)
이 생성된다. 또한, 식 (50), (51)의 coef(λ) 및 coefι(λ)는 난수이다.
(GenKey-3) 키 정보
SKS=(LMT(MT,LAB),D*(0),D*(1),...,D(Ψ)) …(52)
가 생성된다.
[Enc(PK,M,VSET2): 암호화]
-입력: 공개 패러미터(PK), 평문(M), 제 2 정보(VSET2)={λ,w(λ)|λ=1,...,Ψ}(w1(λ)=1F)
-출력: 암호문(C)
(Enc-1) 이하의 처리에 의해 공통키(K)의 암호문(C(ψ))(ψ=0,...,Ψ)이 생성된다.
C(0)=υ·b1(0)+Σι=2 Iυι(0)·bι(0) …(53)
C(λ)=υ·Σι=1 n(λ)wι(λ)·bι(λ)+Σι=n(λ)+1 n(λ)+ζ(λ)υι(λ)·bι(λ)
…(54)
단, υ,υι(ψ)∈Fq(ψ=0,...,Ψ)는 정수 또는 난수이며,
(coef2(0),...,coefI(0))·(υ2(0),...,υI(0))=υ' …(55)
coefι(λ)·υι(λ)=0F(ι=n(λ)+1,...,n(λ)+ζ(λ)) …(56)
을 충족시킨다. υ' 의 예는 υ2(0),...,υI(0)의 어느 1개이다. 예를 들면, υ,υ3(0),υ5(0),υ3·n(λ)+1(λ),...,υ4·n(λ)(λ)가 난수이고, ζ(λ)=3·n(λ), I=5이며,
2(0),..., υI(0))=(0F, υ3(0), 0F, υ5(0))
υ'=υ3(0)
n(λ)+1(λ),..., υ3·n(λ)(λ))=(0F,...,0F)
이다.
(Enc-2) 공통키
K=gT τ·τ'·υ'∈GT …(57)
이 생성된다. 예를 들면, τ=τ'=1F의 경우,
K=gT υ'∈GT … (58)
이다.
(Enc-3) 공통키(K)를 사용하여 평문(M)의 암호문
C(Ψ+1)=EncK(M) …(59)
가 생성된다. 또한, 공통키 암호 방식 (Enc)은, 예를 들면, 공통키(K)를 사용하여 암호화 가능하게 구성된 카멜리아(Camellia)(등록상표)나 AES나 공통키와 평문과의 배타적 논리합 등이면 되지만, 그 밖의 간단한 예로서 이하와 같이 EncK(M)을 생성해도 된다. 단, 식 (60)의 예에서는 M∈GT로 한다.
C(Ψ+1)=gT υ'·M …(60)
(Enc-4) 암호문
C=(VSET2,C(0),{C(λ)}(λ,w(λ)→)∈ VSET2,C(Ψ +1)) …(61)
이 생성된다. 단, 아래 첨자인 「w(λ)→」는 「w(λ)」를 나타낸다.
[Dec(PK,SKS,C): 복호]
-입력: 공개 패러미터(PK), 키 정보(SKS), 암호문(C)
-출력: 평문(M')
(Dec-1) λ=1,..., Ψ에 대하여, 키 정보(SKS)가 포함하는 라벨 부착 행렬(LMT(MT,LAB))의 각 라벨(LAB(λ))인 n(λ) 차원 벡터v(λ)와 암호문(C)의 VSET2가 포함하는 n(λ) 차원 벡터 w(λ)와의 내적 v(λ)·w(λ)이 0이 될지 아닐지가 판정되고, 이것에 의해 GV∈span<MTTFV>인지 아닌지가 판정된다. GV∈span<MTTFV> 가 아니면 암호문(C)이 거절되고, GV→∈span<MTTFV>이면 암호문(C)이 받아들여진다.
(Dec-2) 암호문(C)이 받아들여지면, SET⊆{1,...,λ|LIT(λ)=1}과 식 (45)를 충족시키는 계수 const(μ)(μ∈SET)가 계산된다.
(Dec-3) 공통키
[수17]
Figure 112013003968060-pct00017
가 생성된다.
여기에서, 식 (6), (25), (55)로부터,
[수18]
Figure 112013003968060-pct00018
을 충족시킨다. 또한 식 (6) (25) (41) (48) (54) (56) 및 w1(λ)=1F로부터
[수19]
Figure 112013003968060-pct00019
를 충족시킨다. 또한 식 (6), (25), (42), (49), (54), (56)으로부터
[수20]
Figure 112013003968060-pct00020
을 충족시킨다. 따라서, 식 (45), (63)-(65)로부터
[수21]
Figure 112013003968060-pct00021
을 충족시킨다. 예를 들면, τ=τ'=1F의 경우,
K=gT υ'∈GT … (67)
을 충족시킨다.
(Dec-4) 공통키(K)를 사용하여 평문
M'=DecK(C(Ψ +1))=DecK(C(Ψ +1)) …(68)
이 생성된다. 예를 들면, 식 (60)에 예시한 공통키 암호 방식의 경우,
M'=C(Ψ+1)/K … (69)
에 의해 평문(M')이 생성된다.
또한, gT를 GT의 생성원으로 하는 대신에 gT τ나 gT τ'이나 gT τ·τ'을 GT의 생성원으로 취급해도 된다. 또한 키 정보(SKS)의 λ와 암호문의 λ를 대응 관계를 특정하는 사상을 사용하여 C(λ)와 D*(λ)와의 조합을 특정하고, [Dec(PK,SKS,C): 복호]의 처리가 실행되어도 된다. 또한 제 2 정보(VSET2)={λ,w(λ)|λ=1,...,Ψ}의 1번째의 요소(w1(λ))가 1F로 될 뿐만 아니라, 제 1 정보(VSET1)={λ,v(λ)→|λ=1,...,Ψ}의 n(λ)번째의 요소(vn (λ)(λ))가 1F로 되어도 된다. 또한 요소(w1(λ))가 1F가 아닌 경우에는 w(λ) 대신에 w(λ)/w1(λ)를 사용해도 되고, 요소(vn(λ)(λ))가 1F가 아닌 경우에는 v(λ) 대신에 v(λ)/vn (λ)(λ)를 사용해도 된다. 또한 제 1 정보(VSET1)={λ,v(λ)|λ=1,...,Ψ} 대신에 제 2 정보(VSET2)={λ,w(λ)|λ=1,...,Ψ}가 사용되고, 제 2 정보(VSET2)={λ,w(λ)|λ=1,...,Ψ} 대신에 제 1 정보(VSET1)={λ,v(λ)|λ=1,...,Ψ}가 사용되어도 된다. 이 경우에는 제 1 정보(VSET1)={λ,v(λ)|λ=1,...,Ψ}의 1번째의 요소(v1(λ))가 1F로 된다.
다음에 함수 암호의 하나의 형태인 술어 암호의 일례로서 내적을 사용한 술어 암호에 대하여 설명한다. 또한, 수식의 번호는 본절에서 새롭게 고쳐 붙였다. 또한 설명의 사정상, 상기의 설명에서 사용한 문언이나 기호와 동일한 문언이나 기호이더라도 의미가 다른 경우가 있으므로 주의하기 바란다. 술어 암호는 1-out-of-1 분산 방식을 사용한 함수 암호에 상당한다.
[정의]
행렬: 「행렬」이란 연산이 정의된 집합의 원소를 직사각형으로 배열한 것을 의미한다. 환의 원소를 요소로 할 뿐만 아니라, 군의 원소를 요소로 하는 것도 「행렬」이라 표현한다.
(·)T: (·)T는 ·의 전치행렬을 나타낸다.
(·)-1: (·)-1은 ·의 역행열을 나타낸다.
∧: ∧는 논리곱을 나타낸다.
∨: ∨는 논리합을 나타낸다.
Z: Z는 정수 집합을 나타낸다.
k: k는 세큐러티 패러미터(k∈Z, k>0)를 나타낸다.
{0,1}*: {0,1}*는 임의 비트 길이의 바이너리 계열을 나타낸다. 그 일례는 정수 0 및 1로 이루어지는 계열이다. 그러나, {0,1}*는 정수 0 및 1로 이루어지는 계열에 한정되지 않는다. {0,1}*는 위수 2의 유한체 또는 그 확대체와 동의이다.
{0,1}ζ: {0,1}ζ는 비트길이(ζ)(ζ∈Z,ζ>0)의 바이너리 계열을 나타낸다. 그 일례는 정수 0 및 1로 이루어지는 계열이다. 그러나, {0,1}ζ는 정수 0 및 1로 이루어지는 계열에 한정되지 않는다. {0,1}ζ는 위수 2의 유한체(ζ=1의 경우) 또는 그것을 ζ차 확대한 확대체(ζ>1의 경우)와 동의이다.
(+): (+)는 바이너리 계열 간의 배타적 논리합 연산자를 나타낸다. 예를 들면, 10110011(+)11100001=01010010을 충족시킨다.
Fq: Fq는 위수(q)의 유한체를 나타낸다. 위수(q)는 1 이상의 정수이며, 예를 들면, 소수나 소수의 멱승값을 위수(q)로 한다. 즉, 유한체(Fq)의 예는 근본체나 그것을 기초체로 한 확대체이다. 또한, 유한체(Fq)가 근본체인 경우의 연산은, 예를 들면, 위수(q)를 법으로 하는 잉여 연산에 의해 용이하게 구성할 수 있다. 또한 유한체(Fq)가 확대체인 경우의 연산은, 예를 들면, 기약 다항식을 법으로 하는 잉여 연산에 의해 용이하게 구성할 수 있다. 유한체(Fq)의 구체적인 구성방법은, 예를 들면, 참고문헌 1 「ISO/IEC 18033-2: Information technology-Security techniques-Encryption algorithms-Part 2: Asymmetric ciphers」에 개시되어 있다.
0F: 0F는 유한체(Fq)의 가법단위 원소를 나타낸다.
1F: 1F는 유한체(Fq)의 승법단위 원소를 나타낸다.
δ(i,j): δ(i,j)는 크로네커의 델타함수를 나타낸다. i=j의 경우에 δ(i,j)=1F를 충족시키고, i≠j의 경우에 δ(i,j)=0F를 충족시킨다.
E: E는 유한체(Fq) 상에서 정의된 타원곡선을 나타낸다. E는 아핀(affine) 좌표판의 Weierstrass 방정식
y2+a1·x·y+a3·y=x3+a2·x2+a4·x+a6 …(1)
(단, a1, a2, a3, a4, a6∈Fq)을 충족시키는 x,y∈Fq로 이루어지는 점(x,y)의 집합에 무한 원점이라고 불리는 특별한 점 O를 부가한 것으로 정의된다. 타원 곡선(E) 위의 임의의 2점에 대하여 타원 가산이라고 불리는 2항연산+ 및 타원 곡선(E) 위의 임의의 1점에 대하여 타원역원이라고 불리는 단항 연산-을 각각 정의할 수 있다. 또한 타원 곡선(E) 위의 유리점으로 이루어지는 유한집합이 타원 가산에 관하여 군을 이루는 것, 타원 가산을 사용하여 타원 스칼라 배산이라고 불리는 연산을 정의할 수 있는 것, 및 컴퓨터상에서의 타원 가산 등의 타원 연산의 구체적인 연산방법은 잘 알려져 있다(예를 들면, 참고문헌 1, 참고문헌 2 「RFC 5091: Identity-Based Cryptography Standard (IBCS)#1: Supersingular Curve Implementations of the BF and BB1 Cryptosystems」, 참고문헌 3 「이안·F·블라케, 가디엘·세로씨, 나이젤·P·스마트=저, 「타원곡선 암호」, 출판=피어슨·에쥬케이션, ISBN4-89471-431-0」등 참조).
또한 타원 곡선(E)상의 유리점으로 이루어지는 유한집합은 위수(p)(p≥1)의 부분군을 갖는다. 예를 들면, 타원 곡선(E) 위의 유리점으로 이루어지는 유한집합의 요소수를 #E라고 하고, p를 #E를 정제하는 큰 소수로 한 경우, 타원 곡선(E)의 p 등분점으로 이루어지는 유한집합(E[p])은 타원 곡선(E) 위의 유리점으로 이루어지는 유한집합의 부분군을 구성한다. 또한, 타원 곡선(E)의 p 등분점과는 타원 곡선(E) 위의 점 A 중, 타원 곡선(E) 상에서의 타원 스칼라 배산값 p·A가 p·A=O를 충족시키는 점을 의미한다.
G1, G2, GT: G1, G2, GT는 위수(q)의 순회군을 나타낸다. 순회군(G1, G2)의 구체예는 타원 곡선(E)의 p 등분점으로 이루어지는 유한집합(E[p])이나 그 부분군이다. G1=G2이어도 되고 G1≠G2이어도 된다. 또한 순회군(GT)의 구체예는 유한체(Fq)를 기초체로 하는 확대체를 구성하는 유한집합이다. 그 일례는 유한체(Fq)의 대수폐포에 있어서의 1의 p승근으로 이루어지는 유한집합이다.
또한, 본 형태에서는, 순회군(G1, G2)상에서 정의된 연산을 가법적으로 표현하고, 순회군(GT)상에서 정의된 연산을 승법적으로 표현한다. 즉, χ∈Fq 및 Ω∈G1에 대한 χ·Ω∈G1은 Ω∈G1에 대하여 순회군(G1)에서 정의된 연산을 χ회 시행하는 것을 의미하고, Ω1, Ω2∈G1에 대한 Ω12∈G1은 Ω1∈G1과 Ω2∈G1을 피연산자로 하여 순회군(G1)에서 정의된 연산을 행하는 것을 의미한다. 마찬가지로, χ∈Fq 및 Ω∈G2에 대한 χ·Ω∈G2는 Ω∈G2에 대하여 순회군(G2)에서 정의된 연산을 χ회 시행하는 것을 의미하고, Ω1, Ω2∈G2에 대한 Ω12∈G2는 Ω1∈G2와 Ω2∈G2를 피연산자로 하여 순회군(G2)에서 정의된 연산을 행하는 것을 의미한다. 한편, χ∈Fq 및 Ω∈GT에 대한 Ωχ∈GT는, Ω∈GT에 대하여 순회군(GT)에서 정의된 연산을 χ회 시행하는 것을 의미하고, Ω1, Ω2∈GT에 대한 Ω1·Ω2∈GT는 Ω1∈GT와 Ω2∈GT를 피연산자로 하여 순회군(GT)에서 정의된 연산을 행하는 것을 의미한다.
G1 n +1: G1 n +1은 n+1(n≥1)개의 순회군(G1)의 직적을 나타낸다.
G2 n +1: G2 n +1은 n+1개의 순회군(G2)의 직적을 나타낸다.
g1, g2, gT: g1, g2, gT는 순회군(G1, G2, GT)의 생성원을 나타낸다.
V: V는 n+1개의 순회군(G1)의 직적으로 이루어지는 n+1 차원의 벡터공간을 나타낸다.
V*: V*는 n+1개의 순회군(G2)의 직적으로 이루어지는 n+1 차원의 벡터공간을 나타낸다.
e: e는 직적 G1 n +1과 직적 G2 n +1과의 직적 G1 n +1×G2 n +1을 순회군(GT)에 복사하는 비퇴화 쌍선형 사상(bilinear map)을 계산하기 위한 함수(「쌍선형 함수」라고 부름)를 나타낸다. 쌍선형 함수(e)는 순회군(G1)의 n+1개의 원소 γL(L=1,...,n+1)(n≥1)과 순회군(G2)의 n+1개의 원소γL *(L=1,...,n+1)을 입력으로 하고, 순회군(GT)의 1개의 원소를 출력한다.
e: G1 n +1×G2 n +1→GT …(2)
쌍선형 함수(e)는 이하의 성질을 충족시킨다.
[쌍선형성] 모든 Γ1∈G1 n +1, Γ2∈G2 n +1 및 ν, κ∈Fq에 대하여 이하의 관계를 충족시킨다.
e(ν·Γ1,κ·Γ2)=e(Γ12)v·κ …(3)
[비퇴화성] 모든
Γ1∈G1 n +1, Γ2∈G2 n +1 …(4)
를 순회군(GT)의 단위원에 복사하는 함수는 아니다.
[계산가능성] 모든 Γ1∈G1 n +1, Γ2∈G2 n +1에 대하여 e(Γ12)를 효율적으로 계산하는 알고리즘이 존재한다.
본 형태에서는, 순회군(G1)과 순회군(G2)과의 직적 G1×G2를 순회군(GT)에 복사하는 비퇴화 쌍선형 사상을 계산하기 위한 함수
Pair: G1×G2→GT …(5)
를 사용하여 쌍선형 함수(e)를 구성한다. 본 형태의 쌍선형 함수(e)는 순회군(G1)의 n+1개의 원소 γL(L=1,...,n+1)로 이루어지는 n+1 차원 벡터(γ1,...,γn+1)와, 순회군(G2)의 n+1개의 원소 γL *(L=1,...,n+1)로 이루어지는 n+1 차원 벡터(γ1 *,...,γn+1 *)의 입력에 대하여, 순회군(GT)의 1개의 원소
e=ΠL=1 n+1 Pair(γL, γL *) …(6)
를 출력하는 함수이다.
또한, 쌍선형 함수(Pair)는, 순회군(G1)의 1개의 원소와 순회군(G2)의 1개의 원소와의 세트를 입력으로 하여 순회군(GT)의 1개의 원소를 출력하는 함수이며, 이하의 성질을 충족시킨다.
[쌍선형성] 모든 Ω1∈G1, Ω2∈G2 및 ν, κ∈Fq에 대하여 이하의 관계를 충족시킨다.
Pair(ν·Ω1, κ·Ω2)=Pair(Ω1, Ω2)v·κ …(7)
[비퇴화성] 모든
Ω1∈G1, Ω2∈G2 …(8)
을 순회군(GT)의 단위원에 복사하는 함수는 아니다.
[계산가능성] 모든 Ω1∈G1, Ω2∈G2에 대하여 Pair(Ω12)를 효율적으로 계산하는 알고리즘이 존재한다.
또한, 쌍선형 함수(Pair)의 구체예는 Weil 페어링이나 Tate 페어링 등의 페어링 연산을 행하기 위한 함수이다(예를 들면, 참고문헌 4 「Alfred. J. Menezes, ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS, KLUWER ACADEMIC PUBLISHERS, ISBN0-7923-9368-6, pp.61-81」등 참조). 또한 타원 곡선(E)의 종류에 따라, Tate 페어링 등의 페어링 연산을 행하기 위한 함수와 소정의 함수(phi)를 조합한 변경 페어링 함수 e(Ω1,phi(Ω2))(Ω1∈G1, Ω2∈G2)를 쌍선형 함수(Pair)로서 사용해도 된다(예를 들면, 참고문헌 2 등 참조). 또한 페어링 연산을 컴퓨터상에서 행하기 위한 알고리즘으로서는 주지의 Miller의 알고리즘(참고문헌 5 「V. S. Miller, "Short Programs for functions on Curves, "1986, 인터넷 <http://crypto.stanford.edu/miller/miller.pdf>」 등이 존재한다. 또한 페어링 연산을 효율적으로 행하기 위한 타원곡선이나 순회군의 구성방법은 잘 알려져 있다(예를 들면, 참고문헌 2, 참고문헌 6 「A. Miyaji, M. Nakabayashi, S. Takano, "New explicit conditions of elliptic curve Traces for FR-Reduction," IEICE Trans. Fundamentals, vol. E84-A, no.05, pp.1234-1243, May 2001」, 참고문헌 7 「P.S.L.M. Barreto, B. Lynn, M. Scott, "Constructing elliptic curves with prescribed embedding degrees," Proc. SCN '2002, LNCS 2576, pp.257-267, Springer-Verlag. 2003」, 참고문헌 8 「R. Dupont, A. Enge, F. Morain, "Building curves with arbitrary small MOV degree over finite prime fields," http://eprint.iacr.org/2002/094/」 등 참조).
ai(i=1,...,n+1): 순회군(G1)의 n+1개의 원소를 요소로 하는 n+1 차원의 기저벡터를 나타낸다. 기저벡터(ai)의 일례는, κ1·g1∈G1을 i차원째의 요소로 하고, 나머지의 n개의 요소를 순회군(G1)의 단위원(가법적으로 「0」이라고 표현)으로 하는 n+1 차원의 기저벡터이다. 이 경우, n+1 차원의 기저벡터(ai)(i=1,...,n+1)의 각 요소를 각각 열거하여 표현하면, 이하와 같이 된다.
a1=(κ1·g1,0,0,...,0)
a2=(0, κ1·g1,0,...,0) …(9)
...
an +1=(0,0,0,..., κ1·g1)
여기에서, κ1은 가법단위원(0F) 이외의 유한체(Fq)의 원소로 이루어지는 정수이며, κ1∈Fq의 구체예는 κ1=1F이다. 기저벡터(ai)는 직교기저이며, 순회군(G1)의 n+1개의 원소를 요소로 하는 모든 n+1 차원 벡터는 n+1 차원의 기저벡터(ai)(i=1,...,n+1)의 선형합에 의해 표시된다. 즉, n+1 차원의 기저벡터(ai)는 전술의 벡터공간(V)을 이룬다.
ai *(i=1,...,n+1): ai *는 순회군(G2)의 n+1개의 원소를 요소로 하는 n+1 차원의 기저벡터를 나타낸다. 기저벡터(ai *)의 일례는, κ2·g2∈G2를 i차원째의 요소로 하고, 나머지 n개의 요소를 순회군(G2)의 단위원(가법적으로 「0」이라고 표현)으로 하는 n+1 차원의 기저벡터이다. 이 경우, 기저벡터(ai *)(i=1,...,n+1)의 각 요소를 각각 열거하여 표현하면, 이하와 같이 된다.
a1 *=(κ2·g2,0,0,...,0)
a2 *=(0,κ2·g2,0,...,0) …(10)
...
an +1 *=(0,0,0,...,κ2·g2)
여기에서, κ2는 가법단위원(0F) 이외의 유한체(Fq)의 원소로 이루어지는 정수이며, κ2∈Fq의 구체예는 κ2=1F이다. 기저벡터(ai *)는 직교기저이며, 순회군(G2)의 n+1개의 원소를 요소로 하는 모든 n+1 차원 벡터는 n+1 차원의 기저벡터(ai *)(i=1,...,n+1)의 선형합에 의해 표시된다. 즉, n+1 차원의 기저벡터(ai *)는 전술의 벡터공간(V*)을 이룬다.
또한, 기저벡터(ai)와 기저벡터(ai *)는 0F를 제외한 유한체(Fq)의 원소 τ=κ1·κ2에 대하여
e(ai, aj *)=gT τ·δ(i,j) …(11)
을 충족시킨다. 즉, i=j의 경우에는, 식 (6), (7)의 관계로부터,
e(ai, aj *) = Pair(κ1·g1, κ2·g2)·Pair(0,0)·...·Pair(0,0)
= Pair(g1, g2)κ1·κ2·Pair(g1, g2)0·0·...·Pair(g1, g2)0·0
= Pair(g1, g2)κ1·κ2=gT τ
를 충족시킨다. 한편, i≠j의 경우에는, e(ai, aj *)는 Pair(κ1·g12·g2)를 포함하지 않고, Pair(κ1·g1,0)와 Pair(0,κ2·g2)와 Pair(0,0)의 적이 된다. 또한, 식 (7)의 관계로부터 Pair(g1,0)=Pair(0, g2)=Pair(g1, g2)0을 충족시킨다. 그 때문에 i≠j의 경우에는,
e(ai, aj *)=e(g1, g2)0=gT 0
를 충족시킨다.
특히, τ=κ1·κ2=1F인 경우(예를 들면,κ12=1F의 경우),
e(ai, aj *)=gT δ(i,j) …(12)
를 충족시킨다. 여기에서, gT 0=1은 순회군(GT)의 단위원이며, gT 1=gT는 순회군(GT)의 생성원이다. 이 경우, 기저벡터(ai)와 기저벡터(ai *)는 쌍대 정규 직교기저이며, 벡터공간(V)과 벡터공간(V*)은 쌍선형 사상을 구성 가능한 쌍대 벡터공간[쌍대 페어링 벡터공간(DPVS: Dual Paring Vector space)]이다.
A: A는 기저벡터(ai)(i=1,...,n+1)를 요소로 하는 n+1행n+1열의 행렬을 나타낸다. 예를 들면, 기저벡터(ai)(i=1,...,n+1)가 식 (9)에 의해 표현되는 경우, 행렬 A는,
[수22]
Figure 112013003968060-pct00022
이 된다.
A*: A*는 기저벡터(ai *)(i=1,...,n+1)를 요소로 하는 n+1행n+1열의 행렬을 나타낸다. 예를 들면, 기저벡터(ai *)(i=1,...,n+1)가 식 (10)에 의해 표현되는 경우, 행렬 A*는,
[수23]
Figure 112013003968060-pct00023
이 된다.
X: X는 유한체(Fq)의 원소를 요소로 하는 n+1행n+1열의 행렬을 나타낸다. 행렬 X는 기저벡터(ai)의 좌표변화에 사용된다. 행렬 X의 i행j열(i=1,...,n+1,j=1,...,n+1)의 요소를 χi,j∈Fq로 하면, 행렬 X는,
[수24]
Figure 112013003968060-pct00024
이 된다. 또한, 행렬 X의 각 요소 χi,j를 변환계수라고 부른다.
X*: X*는 행렬 X의 역행열의 전치행렬 X*=(X-1)T를 나타낸다. 행렬 X*는 기저벡터(ai *)의 좌표변화에 사용된다. 행렬 X*의 i행j열의 요소를 χi,j *∈Fq로 하면, 행렬 X*는,
[수25]
Figure 112013003968060-pct00025
이 된다. 또한, 행렬 X*의 각 요소 χi,j *를 변환계수라고 부른다.
이 경우, n+1행n+1열의 단위행렬을 I로 하면 X·(X*)T=I를 충족시킨다. 즉, 단위행렬
[수26]
Figure 112013003968060-pct00026
에 대하여,
[수27]
Figure 112013003968060-pct00027
을 충족시킨다. 여기에서, n+1 차원 벡터
χi =(χi,1,..., χi,n+1) …(19)
χj → *=(χj,1 *,..., χj,n+1 *) …(20)
를 정의한다. 그러면, 식 (18)의 관계로부터, n+1 차원 벡터 χi 과 χj →*과의 내적은,
χi ·χj →*=δ(i,j) …(21)
이 된다.
bi: bi는 순회군(G1)의 n+1개의 원소를 요소로 하는 n+1 차원의 기저벡터를 나타낸다.
기저벡터(bi)는 행렬 X를 사용하여 기저벡터(ai)(i=1,...,n+1)를 좌표변환 함으로써 얻어진다. 구체적으로는, 기저벡터(bi)는,
bij=1 n+1χi,j·aj …(22)
의 연산에 의해 얻어진다. 예를 들면, 기저벡터(aj)(j=1,...,n+1)가 식 (9)에 의해 표현되는 경우, 기저벡터(bi)의 각 요소를 각각 열거하여 표현하면, 이하와 같이 된다.
bi=(χi,1·κ1·g1i,2·κ1·g1,...,χi,n+1·κ1·g1) …(23)
순회군(G1)의 n+1개의 원소를 요소로 하는 모든 n+1 차원 벡터는, n+1 차원의 기저벡터(bi)(i=1,...,n+1)의 선형합에 의해 표시된다. 즉, n+1 차원의 기저벡터(bi)는 전술의 벡터공간(V)을 이룬다.
bi *: bi *는 순회군(G2)의 n+1개의 원소를 요소로 하는 n+1 차원의 기저벡터를 나타낸다. 행렬(X*)을 사용하여 기저벡터(ai *)(i=1,...,n+1)를 좌표변환함으로써 얻어진다. 구체적으로는, 기저벡터(bi *)는,
bi *j=1 n+1χi,j *·aj * …(24)
의 연산에 의해 얻어진다. 예를 들면, 기저벡터(aj *)(j=1,...,n+1)가 식 (10)에 의해 표현되는 경우, 기저벡터(bi *)의 각 요소를 각각 열거하여 표현하면, 이하와 같이 된다.
bi *=(χi,1 *·κ2·g2i,2 *·κ2·g2,...,χi,n+1 *·κ2·g2) …(25)
가 된다. 순회군(G2)의 n+1개의 원소를 요소로 하는 모든 n+1 차원 벡터는 n+1 차원의 기저벡터(bi *)(i=1,...,n+1)의 선형합에 의해 표시된다. 즉, n+1 차원의 기저벡터(bi *)는 전술의 벡터공간(V*)을 이룬다.
또한, 기저벡터(bi)와 기저벡터(bi *)는 0F를 제외한 유한체(Fq)의 원소 τ=κ1·κ2에 대하여
e(bi, bj *)=gT τ·δ(i,j) …(26)
을 충족시킨다.
즉, 식 (6), (21), (23), (25)의 관계로부터,
[수28]
Figure 112013003968060-pct00028
을 충족시킨다. 특히, τ=κ1·κ2=1F일 경우(예를 들면, κ12=1F의 경우),
e(bi, bj *)=gT δ(i,j) …(27)
을 충족시킨다. 이 경우, 기저벡터(bi)와 기저벡터(bi *)는 쌍대 페어링 벡터공간(벡터공간(V)과 벡터공간(V*))의 쌍대 정규 직교 기저이다.
또한, 식 (26)의 관계를 충족시키는 것이라면, 식 (9), (10)에서 예시한 것 이외의 기저벡터(ai 및 ai *)나, 식 (22), (24)에서 예시한 것 이외의 기저벡터(bi 및 bi *)를 사용해도 된다.
B: B는 기저벡터(bi)(i=1,...,n+1)를 요소로 하는 n+1행n+1열의 행렬을 나타낸다. B=X·A를 충족시킨다. 예를 들면, 기저벡터(bi)가 식 (23)에 의해 표현되는 경우, 행렬 B는,
[수29]
Figure 112013003968060-pct00029
이 된다.
B*: B*는 기저벡터(bi *)(i=1,...,n+1)를 요소로 하는 n+1행n+1열의 행렬을 나타낸다. B*=X*·A*를 충족시킨다. 예를 들면, 기저벡터(bi *)(i=1,...,n+1)가 식 (25)에 의해 표현되는 경우, 행렬 B*는,
[수30]
Figure 112013003968060-pct00030
이 된다.
w: w는 유한체(Fq)의 원소를 요소로 하는 n차원 벡터를 나타낸다.
w= (w1,...,wn)∈Fq n … (30)
wμ: wμ는 n차원 벡터의 μ(μ=1,...,n)번째의 요소를 나타낸다.
v: v는 유한체(Fq)의 원소를 요소로 하는 n차원 벡터를 나타낸다.
v= (v1,...,vn)∈Fq n … (31)
vμ: vμ는 n차원 벡터의 μ(μ=1,...,n)번째의 요소를 나타낸다.
충돌 곤란한 함수: 「충돌 곤란한 함수」란 충분히 큰 세큐러티 패러미터(k)에 대하여 이하의 조건을 충족시키는 함수(h), 또는, 그것으로 간주할 수 있는 함수를 나타낸다.
Pr[A(h)=(x,y)|h(x)=h(y)∧x≠y]<ε(k) …(32)
단, Pr[·]은 사상[·]의 확률이며, A(h)는 함수(h)에 대하여 h(x)=h(y)를 충족시키는 값 x,y(x≠y)를 산출하는 확률적 다항식 시간 알고리즘이며, ε(k)는 세큐러티 패러미터(k)에 대한 다항식이다. 충돌 곤란한 함수의 예는 참고문헌 1에 개시된 「cryptographic hash function」 등의 해쉬 함수이다.
단사 함수: 「단사 함수」란 값 영역에 속하는 원소가 모두 그 정의역의 단 하나의 원소의 상으로서 표시되는 함수, 또는, 그것으로 간주할 수 있는 함수를 나타낸다. 단사 함수의 예는 참고문헌 1에 개시된 「KDF(Key Derivation Function)」 등의 해쉬 함수이다.
의사적인 랜덤 함수: 「의사적인 랜덤 함수」란 임의의 확률적 다항식 시간 알고리즘이 집합(Φζ)과 그 부분집합(φζ)을 구별할 수 없는 경우에 있어서의, 당해 부분집합(φζ)에 속하는 함수, 또는, 그것으로 간주할 수 있는 함수를 나타낸다. 단, 집합(Φζ)은 집합({0,1}ζ)의 원소를 집합({0,1}ζ)의 원소에 복사하는 모든 함수의 집합이다. 의사적인 랜덤 함수의 예는, 상술한 바와 같은 해쉬 함수이다.
H1: H1은 2개의 바이너리 계열(ω12)∈{0,1}k×{0,1}*를 입력으로 하고, 유한체(Fq)의 2개의 원소(ψ12)∈Fq×Fq를 출력하는 충돌 곤란한 함수를 나타낸다.
H1: {0,1}k×{0,1}*→Fq×Fq …(33)
이러한 함수(H1)의 예는, ω1과 ω2의 비트 연결값 ω1||ω2를 입력으로 하고, 참고문헌 1에 개시된 「cryptographic hash function」 등의 해쉬 함수와, 「바이너리 계열로부터 정수로의 변환함수(Octet string/integer conversion)」과, 「바이너리 계열로부터 유한체의 원소로의 변환함수(Octet string and integer/finite field conversion)」과의 연산을 행하여, 유한체(Fq)의 2개의 원소(ψ12)∈Fq×Fq를 출력하는 함수이다. 또한, 함수(H1)는 의사적인 랜덤 함수인 것이 바람직하다.
H2: H2는 순회군(GT)의 원소와 바이너리 계열(ξ,ω2)∈GT×{0,1}*를 입력으로 하고, 유한체(Fq)의 1개의 원소 ψ∈Fq를 출력하는 충돌 곤란한 함수를 나타낸다.
H2: GT×{0,1}*→Fq …(34)
이러한 함수(H2)의 예는, 순회군(GT)의 원소 ξ∈GT와 바이너리 계열 ω2∈{0,1}*를 입력으로 하고, 순회군(GT)의 원소 ξ∈GT를 참고문헌 1에 개시된 「유한체의 원소로부터 바이너리 계열로의 변환함수(Octet string and integer/finite field conversion)」에 입력하여 바이너리 계열을 구하고, 그 바이너리 계열과 바이너리 계열 ω2∈{0,1}*와의 비트 연결값에 대하여 참고문헌 1에 개시된 「cryptographic hash function」 등의 해쉬 함수 연산을 행하고, 또한 「바이너리 계열로부터 유한체의 원소로의 변환함수(Octet string and integer/finite field conversion)」의 연산을 행하고, 유한체(Fq)의 1개의 원소 ψ∈Fq를 출력하는 함수이다. 또한, 안전성의 관점에서, 함수(H2)는 의사적인 랜덤 함수인 것이 보다 바람직하다.
R: R은 1개의 순회군(GT)의 원소 ξ∈GT를 입력으로 하고, 1개의 바이너리 계열 ω∈{0,1}k를 출력하는 단사 함수를 나타낸다.
R: GT→{0,1}k …(35)
이러한 단사 함수(R)의 예는 순회군(GT)의 원소 ξ∈GT를 입력으로 하고, 참고문헌 1에 개시된 「유한체의 원소로부터 바이너리 계열로의 변환함수(Octet string and integer/finite field conversion)」와, 참고문헌 1에 개시된 「KDF(Key Derivation Function)」 등의 해쉬 함수와의 연산을 행하고, 1개의 바이너리 계열 ω∈{0,1}k를 출력하는 함수이다. 또한, 안전성의 관점에서, 함수(R)는 충돌 곤란한 함수인 것이 바람직하고, 의사적인 랜덤 함수인 것이 보다 바람직하다.
Enc: Enc는 공통키 암호 방식의 암호화 처리를 나타내는 공통키 암호 함수를 나타낸다. 공통키 암호 방식의 구체예는 카멜리아(Camellia(등록상표))나 AES 등이다.
Enck(M): Enck(M)는 공통키(K)를 사용하고, 공통키 암호 함수(Enc)에 따라 평문(M)을 암호화하여 얻어진 암호문을 나타낸다.
Dec: Dec는 공통키 암호 방식의 복호처리를 나타내는 공통키 복호함수를 나타낸다.
Deck(C): Deck(C)는 공통키(K)를 사용하고, 공통키 복호 함수(Dec)에 따라 암호문(C)을 복호하여 얻어진 복호결과를 나타낸다.
[내적 술어 암호]
다음에 내적 술어 암호의 기본적인 구성에 대하여 설명한다.
<술어 암호>
술어 암호(「함수 암호」라고 부르는 경우도 있음)는 「속성 정보」라고 불리는 정보와 「술어 정보」라고 불리는 정보와의 조합이 소정의 논리식을 「참」으로 하는 경우에 암호문을 복호할 수 있는 방식이다. 「속성 정보」와 「술어 정보」의 일방이 암호문에 메워 넣어지고, 타방이 키 정보에 메워 넣어진다. 종래의 술어 암호의 구성은, 예를 들면, 참고문헌 9 「"Predicate Encryption Supporting Disjunctions, Polynomial Equations, and Inner Products," with Amit Sahai and Brent Waters One of 4 papers from Eurocrypt 2008 invited to the Journal of Cryptology」등에 개시되어 있다.
<내적 술어 암호>
내적 술어 암호는 속성 정보나 술어 정보로서 벡터를 사용하고, 그것들의 내적이 0이 되는 경우에 암호문이 복호되는 술어 암호이다. 내적 술어 암호에서는, 내적이 0이 되는 것과 논리식이 「참」이 되는 것이 등가이다.
[논리식과 다항식과의 관계]
내적 술어 암호에서는, 논리합이나 논리곱으로 이루어지는 논리식을 다항식으로 표현한다.
우선, 「x가 η1이다」이라고 하는 명제 1과 「x가 η2이다」이라고 하는 명제 2의 논리합 (x=η1)∨(x=η2)를
(x-η1)·(x-η2) …(36)
이라고 하는 다항식으로 표현한다. 그러면, 각 진리값과 식 (36)의 함수값과의 관계는 이하와 같이 된다.
Figure 112013003968060-pct00031
표 1로부터 알 수 있는 바와 같이, 논리합 (x=η1)∨(x=η2)이 참인 경우, 식 (36)의 함수값은 0이 되고, 논리합 (x=η1)∨(x=η2)이 거짓인 경우, 식 (36)의 함수값은 0 이외의 값이 된다. 즉, 논리합 (x=η1)∨(x=η2)이 참인 것과, 식 (36)의 함수값이 0이 되는 것과는 등가이다. 따라서, 논리합은 식 (36)으로 표현할 수 있다.
또한 「x가 η1이다」이라고 하는 명제 1과 「x가 η2이다」라고 하는 명제 2의 논리곱 (x=η1)∧(x=η2)을
ι1·(x-η1)+ι2·(x-η2) …+(37)
이라고 하는 다항식으로 표현한다. 단, ι1 및 ι2는 난수이다. 그러면, 진리값과 식 (37)의 함수값은 이하의 관계가 된다.
Figure 112013003968060-pct00032
표 2로부터 알 수 있는 바와 같이, 논리곱 (x=η1)∧(x=η2)이 참인 경우, 식 (37)의 함수값은 0이 되고, 논리곱 (x=η1)∧(x=η2)이 거짓인 경우, 식 (37)의 함수값은 0 이외의 값이 된다. 즉, 논리곱 (x=η1)∧(x=η2)이 참인 것과, 식 (37)의 함수값이 0이 되는 것과는 등가이다. 따라서, 논리곱은 식 (37)로 표현할 수 있다.
이상과 같이, 식 (36)과 식 (37)을 사용함으로써 논리합이나 논리곱으로 이루어지는 논리식을 다항식 f(x)로 표현할 수 있다. 예를 들면, 논리식 {(x=η1)∨(x=η2)∨(x=η3)}∧(x=η4)∧(x=η5)은 다항식
f(x)=ι1·{(x-η1)·(x-η2)·(x-η3)}+ι2·(x-η4)+ι3·(x-η5) …(38)
으로 표현할 수 있다.
또한, 식 (36)에서는, 1개의 부정원(x)을 사용하여 논리합을 표현했지만, 복수의 부정원을 사용하여 논리합을 표현하는 것도 가능하다. 예를 들면, 2개의 부정원(x0 및 x1)을 사용하여, 「x0이 η0이다」라고 하는 명제 1과 「x1이 η1이다」라고 하는 명제 2의 논리합 (x00)∨(x11)을
(x00)·(x11)
이라고 하는 다항식으로 표현하는 것도 가능하고, 3개 이상의 부정원을 사용하여, 논리합을 다항식으로 표현하는 것도 가능하다.
또한 식 (37)에서는, 1개의 부정원(x)을 사용하여 논리곱을 표현했지만, 복수의 부정원을 사용하여 논리곱을 표현하는 것도 가능하다. 예를 들면, 또한 「x0이 η0이다」라고 하는 명제 1과 「x1이 η1이다」라고 하는 명제 2와의 논리곱 (x00)∧(x11)을
ι0·(x00)+ι1·(x11)
이라고 하는 다항식으로 표현하는 것도 가능하며, 3개 이상의 부정원을 사용하여, 논리곱을 다항식으로 표현하는 것도 가능하다.
논리합 및/또는 논리곱을 포함하는 논리식을 H(H≥1) 종류의 부정원(x0,...,xH -1)을 사용하여 표현한 다항식을 f(x0,...,xH -1)으로 표현한다. 또한 각 부정원(x0,...,xH-1)에 대응하는 명제를 「xh가 ηh이다」라고 한다. 단, ηh(h=0,...H-1)는 명제마다 정해지는 정수이다. 이 경우, 당해 논리식을 나타내는 다항식 f(x0,...,xH -1)은 부정원(xh)과 정수(ηh)와의 차를 취하는 다항식에 의해 당해 부정원(xh)이 당해 정수(ηh)라고 하는 명제를 표현하고, 명제를 각각 표현하는 다항식의 적에 의해 당해 명제의 논리합을 표현하고, 명제 또는 명제의 논리합을 각각 표현하는 다항식의 선형합에 의해 당해 명제 또는 명제의 논리합의 논리곱을 표현하고, 그것에 의해서 논리식을 표현한 다항식이 된다. 예를 들면, 5개의 부정원 x0,...,x4를 사용하고, 논리식 {(x00)∨(x11)∨(x22)}∧(x33)∧(x44)를 다항식으로 표현하면,
f(x0,...,x4)=ι0·{(x00)·(x11)·(x22)}+ι1·(x33)+ι2·(x44)가 된다.
[다항식과 내적의 관계]
논리식을 나타내는 다항식 f(x0,...,xH -1)은 2개의 n차원 벡터의 내적으로 표현할 수 있다. 즉, 다항식 f(x0,...,xH -1)는 당해 다항식 f(x0,...,xH -1)의 각 항의 부정원 성분을 각 요소로 하는 벡터
v=(v1,...,vn)
와, 당해 다항식 f(x0,...,xH -1)의 각 항의 계수 성분을 각 요소로 하는 벡터
w=(w1,...,wn)
과의 내적
f(x0,...,xH -1)=w· v
과 동일하다. 즉, 논리식을 나타내는 다항식 f(x0,...,xH -1)이 0인지의 여부와, 다항식 f(x0,...,xH -1)의 각 항의 부정원 성분을 각 요소로 하는 벡터 v와, 다항식 f(x0,...,xH -1)의 각 항의 계수 성분을 각 요소로 하는 벡터 w와의 내적이 0인지의 여부는 등가이다.
f(x0,...,xH -1)=0 ←→ w· v=0
예를 들면, 1개의 부정원(x)으로 표현된 다항식 f(x)=θ0·x01·x+...+θn-1·xn-1은 2개의 n차원 벡터
w=(w1,...,wn)=(θ0,..., θn-1) …(39)
v=(v1,...,vn)=(x0,...,xn -1) …(40)
의 내적
f(x)= w· v …(41)
로 표현할 수 있다. 즉, 논리식을 나타내는 다항식 f(x)가 0인지의 여부와, 식 (41)의 내적이 0인지의 여부는 등가이다.
f(x)=0 ←→ w· v=0 …(42)
또한 다항식 f(x0,...,xH -1)의 각 항의 부정원 성분을 각 요소로 하는 벡터를
w=(w1,...,wn)
으로 하고, 다항식 f(x0,...,xH -1)의 각 항의 계수 성분을 각 요소로 하는 벡터
v=(v1,...,vn)
으로 해도, 논리식을 나타내는 다항식 f(x0,...,xH -1)이 0인지의 여부와, 벡터w와 벡터 v와의 내적이 0인지의 여부는 등가이다.
예를 들면, 식 (39), (40) 대신에
w=(w1,...,wn)=(x0,...,xn) …(43)
v=(v1,...,vn)=(θ0,..., θn-1) …(44)
로 해도, 논리식을 나타내는 다항식 f(x)가 0인지의 여부와, 식 (41)의 내적이 0인지의 여부와는 등가이다.
내적 술어 암호에서는, 벡터 v=(v1,...,vn) 및 w=(w1,...,wn)의 어느 일방을 속성 정보로 하고, 타방을 술어 정보로 하고, 속성 정보와 술어 정보의 일방이 암호문에 메워 넣어지고, 타방이 키 정보에 메워 넣어진다. 예를 들면, n차원 벡터(θ0,...,θn-1)가 술어 정보로 되고, n차원 벡터(x0,...,xn -1)가 속성 정보로 되고, 속성 정보와 술어 정보의 일방이 암호문에 메워 넣어지고, 타방이 키 정보에 메워 넣어진다. 또한, 이하에서는, 키 정보에 메워 넣어지는 n차원 벡터를 w=(w1,...,wn)로 하고, 암호문에 메워 넣어지는 n차원 벡터를 v=(v1,...,vn)으로 한다. 예를 들면,
술어 정보: w=(w1,...,wn)=(θ0,...,θn-1)
속성 정보: v=(v1,...,vn)=(x0,...,xn -1)
이거나,
술어 정보: v=(v1,...,vn)=(θ0,...,θn-1)
속성 정보: w=(w1,...,wn)=(x0,...,xn -1)
이다.
[내적 술어 암호의 기본 구성]
이하에서는, 내적 술어 암호를 사용하여 키 캡슐화 메커니즘(KEM)(Key Encapsulation Mechanisms)을 구성하는 경우의 기본 구성을 예시한다. 이 구성은 Setup(1k), GenKey(MSK,w), Enc(PA,v), Dec(SKw,C2)을 포함한다.
《Setup(1k): 셋업》
-입력: 세큐러티 패러미터(k)
-출력: 마스터 키 정보(MSK), 공개 패러미터(PK)
Setup(1k)의 1예에서는, 우선, 세큐러티 패러미터(k)를 n으로 하고, n+1 차원의 기저벡터(ai)(i=1,...,n+1)를 요소로 하는 n+1행n+1열의 행렬 A와, 기저벡터(ai *)(i=1,...,n+1)를 요소로 하는 n+1행n+1열의 행렬 A*과, 좌표변화를 위한 n+1행n+1열의 행렬 X, X*가 선택된다. 다음에 식 (22)에 따라 좌표변환된 n+1 차원의 기저벡터(bi)(i=1,...,n+1)가 산출되고, 식 (24)에 따라 좌표변환된 n+1 차원의 기저벡터(bi *)(i=1,...,n+1)가 산출된다. 그리고, 기저벡터(bi *)(i=1,...,n+1)를 요소로 하는 n+1행n+1열의 행렬 B*가 마스터 키 정보(MSK)로서 출력되고, 벡터공간(V, V*), 기저벡터(bi)(i=1,...,n+1)를 요소로 하는 n+1행n+1열의 행렬 B, 세큐러티 패러미터(k), 유한체(Fq), 타원 곡선(E), 순회군(G1, G2, GT), 생성원(g1, g2, gT), 쌍선형 함수(e) 등이 공개 패러미터(PK)로서 출력된다.
《GenKey(MSK,w): 키 정보 생성》
-입력: 마스터 키 정보(MSK), 벡터 w
-출력: 벡터 w에 대응하는 키 정보 D*
GenKey(MSK, w)의 1예에서는, 우선, 유한체(Fq)로부터 원소 α∈Fq가 선택된다. 그리고, 마스터 키 정보(MSK)인 행렬 B*를 사용하고, 벡터 w에 대응하는 키 정보
D*=α·(Σμ=1 nwμ·bμ *)+bn +1*∈G2 n +1 …(45)
가 생성되고, 출력된다. 또한, 순회군(G2) 상에서의 이산 대수 문제의 해를 구하기 곤란한 경우, 키 정보(D*)로부터 wμ·bμ *나 bn +1*의 성분을 분리 추출하는 것은 곤란하다.
《Enc(PA,v): 암호화》
-입력: 공개 패러미터(PK), 벡터 v
-출력: 암호문(C2), 공통키(K)
Enc(PA,v) 의 1예에서는, 우선, 공통키(K)와 유한체(Fq)의 원소인 난수 υ1이 생성된다. 그리고, 행렬 B 등의 공개 패러미터(PK)와, 공통키(K)를 포함하는 값에 대응하는 유한체(Fq)의 원소 υ2와, 벡터 v와, 난수 υ1을 사용하고, 암호문
C21·(Σμ=1 nvμ·bμ)+υ2·bn +1∈G1 n +1 …(46)
이 생성된다. 그리고, 암호문(C2)과 공통키(K)가 출력된다. 공통키(K)의 일례는 K=gT τ·υ2∈GT이다. 여기에서, 첨자 υ2는 υ2를 의미한다. 또한 상기한 바와 같이 τ의 일례는 τ=1F이다. 또한, 순회군(G1) 상에서의 이산 대수 문제의 해를 구하기 곤란한 경우, 암호문(C2)으로부터 vμ·bμ나 υ2·bn +1의 성분을 분리 추출하는 것은 곤란하다.
《Dec(SKw,C2): 복호·키 공유》
-입력: 벡터 w에 대응하는 키 정보 D1 *, 암호문(C2)
-출력: 공통키(K)
Dec(SKw,C2)의 1예에서는, 우선, 암호문(C2)과 키 정보(D1 *)가 식 (2)의 쌍선형 함수(e)에 입력된다. 그러면, 식 (3), (26)의 성질로부터,
[수31]
Figure 112013003968060-pct00033
을 충족시킨다. 여기에서, 내적 w·v=0이면, 식 (47)은,
[수32]
Figure 112013003968060-pct00034
로 변형할 수 있다. 이 결과로부터 공통키(K)가 생성되어 출력된다. 공통키(K)의 일례는 K=gT τ·υ2∈GT이다.
여기에서는 n+1 차원의 기저벡터를 사용하여 알고리즘을 구성하는 예를 나타냈지만, 차원은 n+1에 한정되지 않고, Ξ을 2 이상의 소정의 정수로 하여 n+Ξ 차원의 기저벡터(bi *)(i=1,...,n+Ξ)를 사용해서 알고리즘을 구성해도 된다. 이 때, 예를 들면, 식 (45) 대신에 식 (49)를, 식 (46) 대신에 식 (50)을 사용할 수 있다. 여기에서 υι은 정수나 변수(난수 등) 등이다.
D*=α·(Σμ=1 nwμ·bμ *)+Σι=n+1 n+Ξυι·bι *∈G2 n …(49)
C21·(Σμ=1 nvμ·bμ)+Σι=2 Ξ+1υι·bι+n-1∈G1 n …(50)
또한, 식 (45)는,
D*=α·(Σμ=1 nwμ·bμ *)+υn+1·bn +1 *∈G2 n +1
이어도 된다. 또한, 입력 정보를 바꾸어 넣고, 즉, 식 (45)에서 w를 v로 치환하고 식 (46)에서 v를 w로 치환해도 된다.
다음에 제 1 관점으로부터, 유연하게 운용 가능한, 함수 암호(함수 암호의 일례로서 술어 암호를 채용함)에 의거하는 암호통신 기술에 관한 실시형태를 설명한다. 또한, 수식의 번호는 본절에서 다시 고쳐서 붙였다.
[제 1 관점에 의한 제 1 실시형태]
도 1부터 도 17을 참조하여, 제 1 관점에 의한 본 발명의 제 1 실시형태를 설명한다.
암호 시스템(1)은, 도 1에 나타내는 바와 같이, 복수의 클라이언트 장치(10, 30)와, 하나 또는 복수의 키 생성 장치(20)와, 하나 또는 복수의 유저 정보 관리 장치(40)(이하, 관리 장치라고 함), 변환규칙 정보 페어 관리 장치(50)(이하, 등록 장치라고 함), 하나 또는 복수의 보전 장치(80), 하나 또는 복수의 인증 장치(90)를 포함하고 있다. 이들 각 장치는, 예를 들면, 인터넷인 통신망(5)을 통하여 서로 통신 가능하게 되어 있다.
클라이언트 장치는, 처리 목적에 따라서, 암호화 장치로서, 또는 복호 장치로서 기능한다. 그래서, 클라이언트 장치를 기능의 관점에서, 암호화 장치(10) 또는 복호 장치(30)로 호칭한다. 또한, 암호 시스템(1)은, 암호화 장치로서만 기능하는 클라이언트 장치 및/또는 복호 장치로서만 기능하는 클라이언트 장치를 포함해도 된다.
암호 시스템(1)에서는 술어 암호를 사용한 암호화와 복호가 행해진다. 제 1 관점에 의한 본 발명에서는, 사용하는 술어 암호 알고리즘에 한정은 없고, 예를 들면, 상기 비특허문헌 2에 개시되는 술어 암호 알고리즘을 사용하는 것이 허용된다. 제 1 관점에 의한 제 1 실시형태에서는, KEM(Key Encapsulation Mechanisms) 타입의 술어 암호 알고리즘을 사용한 예를 나타낸다.
암호 시스템(1)에 있어서의 암호 통신 방법을 도 2, 3, 4, 6, 8, 10을 참조하면서 서술한다. 각 장치의 기능 구성에 대해서는, 도 5, 7, 9를 참조하기 바란다.
《준비 프로세스》
키 생성 장치(20)의 패러미터 생성부(도시 생략)가 술어 암호 알고리즘에서 사용되는 비밀키와 엔트리를 생성한다(스텝 S1). 엔트리에는, 술어 암호 알고리즘에서 사용되는 공개 패러미터(도면에서는 공개 P로 약기됨), 키 생성 장치(20)의 어드레스, 키 생성 장치(20)가 사용 가능한 폴리시 리스트, 키 생성 장치(20)가 사용 가능한 스키마 리스트가 포함된다.
공개 패러미터는, 예를 들면, 위수(位數)(q)의 순회군(G1, G2, GT)의 생성원소(g1, g2, gT), 비퇴화성을 갖는 쌍선형 사상 e:G1×G2→GT(단, e(g1, g2)=gT), 위수(q), (n+1) 차원의 벡터공간(V)의 직교 기저(B)를 포함한다. 비밀키는, 쌍대 벡터공간(V*)의 직교 기저(B*)를 포함한다. 대수 구조를 유한체(Fq)로 하는 경우, q는 소수 또는 소수의 멱승값이다. 쌍선형 사상(e)은, 예를 들면, Tate 페어링이나 Weil 페어링이다.
직교 기저(B) 및 직교 기저(B*)에 대하여 설명을 가한다. (n+1) 차원의 벡터공간(V)의 임의의 원소가 식 (1)과 같이 순회군(G1)의 (n+1) 차원 직적(G1 n+1)의 원소로서 표시되는 것으로 한다. (n+1) 차원의 벡터공간(V)의 임의의 원소는 (n+1) 차원의 벡터공간(V)의 표준 기저(A)를 사용하여 식 (2)와 같이 나타낼 수도 있다. 단, ai는 (n+1) 차원 직적(G1 n+1)의 원소, zi는 (n+1) 차원 직적(Fq n+1)의 원소로 한다. 또한 1은 가법단위 원소로 한다.
[수33]
Figure 112013003968060-pct00035
직교기저(B)는, 식 (3)과 같이, 표준 기저(A)에 (n+1)차 정방행렬(X)을 작용시킨 것으로서 얻어진다. 기호 T는 전치를 나타낸다. 또한, 행렬(X)은 비밀키와 마찬가지로 비밀로 된다.
[수34]
Figure 112013003968060-pct00036
마찬가지로, 벡터공간(V)과 쌍대인 쌍대 벡터공간(V*)의 임의의 원소가 식 (4)와 같이 순회군(G2)의 (n+1) 차원 직적(G2 n+1)의 원소로서 표시되는 것으로 한다. 쌍대 벡터공간(V*)의 임의의 원소는 쌍대 벡터공간(V*)의 표준 기저(A*)를 사용하여 식 (5)와 같이 나타낼 수도 있다. 단, ai *는 (n+1) 차원 직적(G2 n+1)의 원소, yi *는 (n+1) 차원 직적(Fq n +1)의 원소로 한다. 또한 1은 가법단위 원소로 한다.
[수35]
Figure 112013003968060-pct00037
직교기저(B*)는, 식 (6)과 같이, 표준 기저(A*)에 (n+1)차 정방행렬 T(X-1)을 작용시킨 것으로서 얻어진다. 기호 E는 단위행렬을 나타낸다.
[수36]
Figure 112013003968060-pct00038
다음에, 스키마 리스트에 대하여 설명을 가한다. 속성을 지정하는 정보(속성 지정 정보; 즉, 예를 들면, 이름, 생년월일 등 속성을 구체적으로 단 하나로 특정하는 정보이며, 속성값이라고도 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(속성용 변환규칙 정보; 속성용 스키마라고도 함)와,
술어(논리식)를 지정하는 정보(술어(논리식) 지정 정보; 즉, 예를 들면, 연령, 권한 등의 속성에 관한 조건을 논리식 등으로 구체적으로 설정하는 정보이며, 명제함수라고도 함)를 당해 술어 암호 알고리즘에 사용되는 논리 정보에 사용되는 술어 정보(논리 정보)로 변환하기 위한 변환 규칙을 규정하고 있는 정보(술어(논리식)용 변환 규칙 정보; 술어(논리식)용 스키마라고도 함)와의 페어인 변환규칙 정보 페어를 스키마 페어라고 부른다(도 11-도 13 참조). 하나 또는 복수의 스키마 페어의 집합체(데이터 리스트)가 스키마 리스트이다. 각각의 키 생성 장치(20)는 스키마 리스트를 자유롭게 정해도 된다. 스키마 리스트에 포함되는 각 스키마의 각 데이터 항목은, 예를 들면, XML(eXtensible Markup Language)이나 ASN. 1(Abstract Notation Number One)으로 기술된다.
도 12에 나타내는 속성용 스키마의 예에 대하여 설명을 가한다. 유저의 속성 지정 정보(속성값)는 속성명 및 데이터형에 대응되어 있다. 도 12에 나타내는 예에서는, 예를 들면, 속성명 'email1'에 데이터형 '문자열'이 설정되어 있고, 속성명 'email1' 및 데이터형 '문자열'에 속성값 'XXX@XXX.ntt.co.jp'가 대응되어 있다.
속성용 스키마는 요소 번호에 속성명과 형변환 함수를 대응시킨 변환규칙을 규정하고 있다. 도 12에 나타내는 예에서는, 예를 들면, 요소 번호 '1'에 속성명 '혈액형'과 형변환 함수가 대응되어 있다. 요소 번호 '1'에 대응하는 형변환 함수는, 속성값의 혈액형이 O형이면 0으로, 속성값의 혈액형이 A형이면 1로, 속성값의 혈액형이 B형이면 2로, 속성값의 혈액형이 AB형이면 3으로 변환하는 것을 규정하고 있다. 또한 요소 번호 '2' 및 '3'에 속성명 '생년월일'과 형변환 함수가 대응되어 있다. 요소 번호 '2' 및 '3'에 대응하는 형변환 함수는, 요소 번호 2에 대하여 속성값의 생년월일의 년을 입력으로 하는 Hash 함수의 값으로, 요소 번호 3에 대하여 속성값의 생년월일의 월일을 입력으로 하는 Hash 함수의 값으로 변환하는 것을 규정하고 있다.
도 12에 나타내는 유저의 속성 지정 정보(속성값)의 예에 도 12에 나타내는 속성용 스키마의 예를 적용한 결과가, 도 12에 나타내는 속성 정보(벡터 정보)의 예 로서 표시되어 있다. 속성용 스키마의 요소 번호를 벡터의 요소 번호로 간주하고 형변환 함수의 출력값을 나열함으로써, 이 속성 정보를 벡터로 생각할 수 있다. 또한, 일반적으로, 함수 암호에 의하면, 암호화시에 복수의 속성 정보를 지정할 수 있다. 예를 들면, 속성용 스키마를 복수의 속성 지정 정보에 적용함으로써, 복수의 속성 정보를 얻을 수 있다. 또는, 복수의 속성용 스키마를 하나의 속성 지정 정보에 적용함으로써, 복수의 속성 정보를 얻어도 된다.
또한, 형변환 함수의 출력값은, 이 설명에서는 정수값이나 Hash 함수의 출력값으로서 예시되었지만, 실제로는 술어 암호 알고리즘에 의거하여, 예를 들면, 유한체(Fq)의 원소이다.
도 13에 나타내는 술어용 스키마의 예에 대하여 설명을 가한다. 술어 지정 정보로서 속성에 관한 조건을 나타내는 논리식이 주어진다. 도 13에 나타내는 예에서는, 예를 들면, 속성명 '이름'의 속성값을 '타나카 타로'로 하고, 속성명 '연령'의 속성값을 '20세 이상'으로 하는 술어 지정 정보 '이름=타나카 타로이고 연령=20세 이상'이 주어져 있다.
술어용 스키마는 요소 번호에 속성명과 형변환 함수를 대응시킨 변환규칙을 규정하고 있다. 도 13에 나타내는 예에서는, 예를 들면, 요소 번호 '1'에 속성명 '혈액형'과 형변환 함수가 대응되어 있다. 요소 번호 '1'에 대응하는 형변환 함수는, 속성값의 혈액형이 O형이면 0으로, 속성값의 혈액형이 A형이면 1로, 속성값의 혈액형이 B형이면 2로, 속성값의 혈액형이 AB형이면 3으로 변환하는 것을 규정하고 있다. 또한 요소 번호 '2' 및 '3'에 속성명 '생년월일'과 형변환 함수가 대응되어 있다. 요소 번호 '2' 및 '3'에 대응하는 형변환 함수는, 요소 번호 2에 대하여 속성값의 생년월일의 년을 입력으로 하는 Hash 함수의 값으로, 요소 번호 3에 대하여 속성값의 생년월일의 월일을 입력으로 하는 Hash 함수의 값으로 변환하는 것을 규정하고 있다.
도 13에 나타내는 술어 지정 정보의 예에 도 13에 나타내는 술어용 스키마의 예를 적용한 결과가 도 13에 나타내는 술어 정보(벡터 정보)의 예로서 나타나 있다. 구체적으로는, 이 예에서는, 술어용 스키마를 논리식 지정 정보에 적용함으로써 요소 번호에 따른 변수를 갖는 다변수 다항식(f)이 얻어지고, 이 다변수 다항식(f)을 벡터 정보로 변환함으로써, 술어 정보(벡터 정보)가 얻어진다. 도 13에 나타내는 술어 지정 정보의 예에 따라 설명한다. 술어 지정 정보 '이름=타나카 타로이고 연령=20세 이상'에 술어용 스키마를 적용함으로써, 요소 번호 '0'에 대응한 형변환 함수의 출력값 'Hash(타나카 타로)' 및 요소 번호 '23'에 대응한 형변환 함수의 출력값 '1'이 얻어진다. 그리고, 요소 번호 '0'에 대응한 형변환 함수의 출력값 'Hash(타나카 타로)'를 영점으로 하는 요소 번호 '0'에 대응한 변수 X0의 1차식과, 요소 번호 '23'에 대응한 형변환 함수의 출력값 '1'을 영점으로 하는 요소 번호 '23'에 대응한 변수 X23의 1차식과의 선형결합에 의해, 다변수 다항식(f)=r1(X0-H(타나카 타로))+r2(X23-1)이 얻어진다. 여기에서 r1과 r2는 난수이다. 또한, 이 다변수 다항식(f)을 전개하여 각 항의 계수를 나열함으로써, 다변수 다항식(f)이 벡터 정보로 변환되어, 도 13에 나타내는 술어 정보(벡터 정보)의 예가 얻어진다. 또한, 일반적으로, 함수 암호에 의하면, 암호화시에 복수의 술어 정보를 지정할 수 있다. 예를 들면, 술어용 스키마를 복수의 술어 지정 정보에 적용함으로써, 복수의 술어 정보를 얻을 수 있다. 또는, 복수의 술어용 스키마를 하나의 술어 지정 정보에 적용함으로써, 복수의 술어 정보를 얻어도 된다.
또한, 형변환 함수의 출력값은 이 설명에서는 정수값이나 Hash 함수의 출력값으로서 예시되었지만, 실제로는 술어 암호 알고리즘에 의거하여, 예를 들면, 유한체(Fq)의 원소이다.
또한 스키마 페어를 구성하는 양 스키마 사이에서는, 속성명과 형변환 함수와의 조합, 입력이 되는 속성값의 데이터형 등이 통일되어 있는 것이 요구된다.
다음에, 폴리시 리스트에 대하여 도 14를 참조하여 설명을 가한다. 속성용 스키마와 술어용 스키마 중 어느 하나를 특정하기 위한 정보를 폴리시 정보(이하, 폴리시라고 함)라고 부른다. 이 폴리시를 기술한 데이터 리스트가 폴리시 리스트이다. 키 생성 장치(20)가 속성용 스키마와 술어용 스키마의 양쪽을 사용하는 경우에는, 폴리시로서 2종류의 타입이 준비된다. 그것은 Cipher_Text_Policy와 Key_Policy이다. 키 생성 장치(20)가 속성용 스키마만을 사용하는 경우에는, 폴리시로서 1종류의 타입이 준비된다. 그것은 Key_Policy이다. 키 생성 장치(20)가 술어용 스키마만을 사용하는 경우에는, 폴리시로서 1종류의 타입이 준비된다. 그것은 Cipher_Text_Policy이다. 폴리시는, 예를 들면, XML(eXtensible Markup Language)이나 ASN. 1(Abstract Notation Number One)에서 기술된다. 키 생성 장치(20)는 폴리시의 특정 대상이 속성용 스키마, 또는, 술어용 스키마, 또는, 속성용 스키마 및 술어용 스키마인 것을 자유롭게 정해도 된다. 일반적으로 함수 암호에 의하면, 상기와 같이, 복수의 상이한 속성용 스키마를 하나의 속성 지정 정보에 적용함으로써, 복수의 속성 정보를 얻을 수 있으므로, 이러한 경우는 폴리시로서 복수의 속성용 스키마를 지정해 둔다. 복수의 상이한 술어용 스키마를 하나의 술어 지정 정보에 적용함으로써, 복수의 술어 정보를 얻을 수 있으므로, 이러한 경우는 폴리시로서 복수의 술어용 스키마를 지정해 둔다.
스텝 S1의 처리에 이어, 키 생성 장치(20)의 송신부는 엔트리를 인증 장치(90)에 송신하고, 인증 장치(90)의 수신부가 엔트리를 수신한다(스텝 S2). 인증 장치(90)의 서명 부여부(도시 생략)가 엔트리에 대하여, 예를 들면, 종래적인 수법으로 전자서명을 부여하고(스텝 S3), 인증 장치(90)의 송신부가 서명 첨부 엔트리를 키 생성 장치(20)에 송신하고, 키 생성 장치(20)의 수신부가 서명 첨부 엔트리를 수신한다(스텝 S4). 그리고, 키 생성 장치(20)의 송신부가 서명 첨부 엔트리를 보전 장치(80)에 송신하고, 보전 장치(80)의 수신부가 서명 첨부 엔트리를 수신한다(스텝 S5).
보전 장치(80)의 송신부는 키 생성 장치(20)를 특정하는 정보(예를 들면, 어드레스)를 포함하는 검색 쿼리를 등록 장치(50)에 송신하고, 등록 장치(50)의 수신부가 검색 쿼리를 수신한다(스텝 S6). 등록 장치(50)의 검색부(도시 생략)는 키 생성 장치(20)에 관한 등록 내용(엔트리)을 검색하고(스텝 S7), 등록 장치(50)의 송신부가 등록의 유무나 등록 내용을 포함하는 검색결과를 보전 장치(80)에 송신하고, 보전 장치(80)의 수신부가 검색결과를 수신한다(스텝 S8).
보전 장치(80)의 검사부(도시 생략)는 스텝 S5의 처리에서 수신한 서명 첨부 엔트리와, 스텝 S8의 처리에서 수신한 검색결과를 비교하고, 중복의 유무를 검사한다(스텝 S9). 중복이 없는 것을 확인할 수 있었을 경우, 보전 장치(80)의 송신부는 서명 첨부 엔트리를 등록 장치(50)에 송신하고, 등록 장치(50)의 수신부가 서명 첨부 엔트리를 수신한다(스텝 S10). 등록 장치(50)의 등록부(도시 생략)는 서명 첨부 엔트리를 키 생성 장치(20)와 대응 기입하고 등록 장치(50)의 기억부에 기억한다(스텝 S11). 등록 장치(50)의 송신부는 등록 결과를 보전 장치(80)에 송신하고, 보전 장치의 수신부가 등록 결과를 수신한다(스텝 S12). 보전 장치(80)의 송신부는 등록 결과를 키 생성 장치(20)에 송신하고, 키 생성 장치(20)는 등록 결과를 수신한다(스텝 S13).
복수의 키 생성 장치(20)가 존재하는 경우, 각 키 생성 장치(20)가 독자적으로, 스텝 S1로부터 스텝 S13의 각 처리를 행한다. 예를 들면, 공개 패러미터와 비밀키는 키 생성 장치마다 정해진다. 단, 이것은, 각 키 생성 장치가 공통의 공개 패러미터와 비밀키를 갖는 것을 방해하는 것은 아니다. 또한 각 키 생성 장치가 동일한 등록 장치(50)에 엔트리를 등록해도 되고, 각 키 생성 장치가 상이한 등록 장치(50)에 엔트리를 등록해도 된다.
미리, 비밀키, 엔트리, 등록 장치(50)로의 엔트리 등록 등이 설정되어 있는 경우에는, 스텝 S1로부터 스텝 S13의 각 처리를 생략하는 것이 허용된다.
또, 인증 장치(90)와 보전 장치(80)는 같은 하드웨어 엔터티이어도 된다. 또한, 엔트리 등록에 인증을 요구하지 않는 경우나, 등록 장치(50)에 등록되는 엔트리의 일의성이 확보되어 있는 경우 등에서는, 암호 시스템(1)이 보전 장치(80) 및/또는 인증 장치(90)를 구비하지 않는 시스템 구성도 허용된다.
이것으로 《준비 프로세스》는 종료된다.
《암호화 프로세스》
암호화 장치(10)의 송신부(14)는 도시하지 않은 제어부의 제어를 받고, 검색 쿼리를 등록 장치(50)에 송신하고, 등록 장치(50)의 수신부가 검색 쿼리를 수신한다(스텝 S14). 등록 장치(50)의 검색부는, 등록 장치(50)의 기억부에 등록되어 있는 엔트리의 일부 또는 전부를 검색하고 임의의 하나의 엔트리를 고르고(스텝 S15), 등록 장치(50)의 송신부는 검색결과의 엔트리를 암호화 장치(10)에 송신하고, 암호화 장치(10)의 수신부는 엔트리를 수신한다(스텝 S16). 이 엔트리에는 키 생성 장치의 어드레스, 이 키 생성 장치의 공개 패러미터, 이 키 생성 장치가 사용가능한 폴리시 리스트, 이 키 생성 장치가 사용가능한 스키마 리스트가 포함되어 있다. 수신한 엔트리는 암호화 장치(10)의 메모리(11)에 기억된다.
또한, 각 키 생성 장치(20)의 공개 패러미터, 스키마 리스트, 폴리시 리스트, 어드레스를 미리 암호화 장치(10)가 소유하고 있는 경우에는, 스텝 S14-S16의 처리는 생략된다. 즉, 암호 시스템(1)이 등록 장치(50)를 포함하지 않는 형태도 허용되는 것에 주의하지 않으면 안 된다.
암호화 장치(10)의 제 1 술어 논리 정보 취득부(12)가 메모리(11)로부터 입력 정보와 폴리시와 스키마를 읽어들이고, 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 구한다(스텝 S17a). 이 처리의 상세에 대하여 설명을 가한다(도 12, 도 13 참조).
우선, 스키마 리스트에 복수의 스키마 페어가 기술되어 있는 경우, 용도 등에 따라 하나의 스키마 페어가 선택된다. 암호화 장치(10)의 이용자에 의해 스키마 페어가 선택되고 그 지시 정보가 입력되는 경우나, 소정의 규칙에 따라, 제 1 술어 논리 정보 취득부(12)가 스키마 페어를 선택해도 된다.
그리고, 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 폴리시와 함께 어느 일방의 스키마를 선택한다. 암호화 장치(10)의 이용자에 의해 폴리시와 어느 일방의 스키마가 선택되어 그 지시 정보가 입력되는 경우나, 소정의 규칙에 따라, 제 1 술어 논리 정보 취득부(12)가 폴리시와 어느 일방의 스키마를 선택하는 경우의 어느 것이어도 된다. 또한, 키 생성 장치(20)의 폴리시가 1종류의 타입만 준비되어 있는 경우에는, 그 폴리시에 따라 스키마 페어 중 일방의 스키마가 선택된다. 만약에 선택된 스키마가 입력 정보의 종류에 대응되어 있지 않은 경우에는, 스키마 리스트로부터 스키마 페어를 재선택하거나, 등록 장치(50)로부터 엔트리의 제공을 다시 받으면 된다.
입력 정보는 암호화 장치(10)의 이용자에 의해 입력된 정보 또는, 예를 들면, IC 카드(39)와 같은 기억매체로부터 암호화 장치(10)의 취득부(도시 생략)가 취득한 정보이어도 된다.
그리고, 제 1 술어 논리 정보 취득부(12)가 폴리시에 따라 스키마 페어 중에서 선택된 스키마를 사용하여 입력 정보로부터 제 1 속성 정보 또는 제 1 술어 정보를 얻는다. 폴리시가 Key_Policy이며 선택된 스키마가 속성용 스키마일 경우에는 제 1 속성 정보가 얻어진다. 폴리시가 Cipher_Text_Policy이며 선택된 스키마가 술어용 스키마일 경우에는 제 1 술어 정보가 얻어진다. 제 1 속성 정보와 제 1 술어 정보는, 제 1 관점에 의한 제 1 실시형태에서는, 유한체(Fq)의 원소를 성분으로 하는 하나 또는 복수의 벡터 정보가 된다(도 11-13 참조). 이때, 스키마를 사용하여 입력 정보로부터 필요한 속성값의 추출이나 정렬화가 행해진다.
다음에, 암호화 장치(10)의 암호화부(13)가 제 1 속성 정보(v)=(v1, …, vn) 또는 제 1 술어 정보(w)=(w1, …, wn)와, 메모리(11)로부터의 공개 패러미터에 포함되는 직교기저(B)(실질적인 공개키)와 평문(M)을 사용하여, 공통키(K)와 암호 정보(C1)와 암호문(C2)을 구한다(스텝 S17b, S17c). 이들 처리의 상세에 대하여 설명을 가한다. 단, 제 1 관점에 의한 제 1 실시형태가 공통키(K)의 배송에 특화한 실시형태일 경우에는 암호문(C2)의 생성은 불필요하다.
우선, 제 1 암호화부(13a)가, 술어 암호 알고리즘에 따라, 유한체(Fq)의 원소인 난수(r, ρ)를 생성하고, 식 (7)과 같이 공통키(K)를 설정하고, 식 (8)에 따라 암호 정보(C1)를 구한다(스텝 S17b). H는, 예를 들면, 해쉬 함수이다. 이 예에서는 제 1 속성 정보(v)를 사용하고 있지만, 제 1 술어 정보를 사용하는 경우에는 식 (8)에서 v를 w로 치환하면 된다. 또한 이 예에서는, 암호 정보(C1)는 공통키(K)의 생성에 사용하는 정보(ρ)에 대응하는 정보이지만, 암호 정보(C1)를 공통키(K)에 대응하는 정보로 해도 된다.
[수37]
Figure 112013003968060-pct00039
다음에, 제 2 암호화부(13b)가, 공통키(K)와 평문(M)을 사용하여, 식 (9)에 따라 암호문(C2)을 구한다(스텝 S17c). 공통키를 사용한 암호화 방법(EncK)은 주지의 방법이어도 되고, 예를 들면, 상기 비특허문헌 1에 개시되는 방법이다. 전술한 바와 같이, 제 1 관점에 의한 제 1 실시형태가 공통키(K)의 배송에 특화한 실시형태일 경우에는, 스텝 S17c의 처리는 생략된다. 즉, 암호화 장치(10)는 제 2 암호화부(13b)의 기능을 갖는다고 해도, 스텝 S17c의 처리를 행하지 않는다.
[수38]
Figure 112013003968060-pct00040
다음에, 암호화 장치(10)의 송신부(14)는, 제어부에 의한 제어를 받고, 암호 정보(C1)와, (필요에 따라) 암호문(C2)과, 메모리(11)로부터의 스키마 페어, 폴리시, 공개 패러미터, 키 생성 장치의 어드레스를 정리한 암호 메시지를 생성한다(스텝 S17d). 그리고 암호화 장치(10)의 송신부(14)는 암호 메시지를 복호 장치(30)에 송신하고, 복호 장치(30)의 수신부가 암호 메시지를 수신한다(스텝 S18).
이것으로 《암호화 프로세스》는 종료된다.
《복호 프로세스》
복호 장치(30)의 송신부(34)는, 도시하지 않은 제어부의 제어를 받아, 암호 메시지에 포함되는 키 생성 장치의 어드레스를 포함하는 검색 쿼리를 등록 장치(50)에 송신하고, 등록 장치(50)의 수신부가 검색 쿼리를 수신한다(스텝 S19). 등록 장치(50)의 검색부는 어드레스로 지정된 키 생성 장치의 엔트리를 검색하여 그것을 선택하고(스텝 S20), 등록 장치(50)의 송신부는 검색결과의 엔트리를 복호 장치(30)에 송신하고, 복호 장치(30)의 수신부는 엔트리를 수신한다(스텝 S21). 이 엔트리에는, 키 생성 장치의 어드레스, 이 키 생성 장치의 공개 패러미터, 이 키 생성 장치가 사용가능한 폴리시 리스트, 이 키 생성 장치가 사용가능한 스키마 리스트가 포함되어 있다. 수신한 엔트리는 복호 장치(30)의 메모리(31)에 기억된다.
또한, 각 키 생성 장치(20)의 공개 패러미터, 스키마 리스트, 폴리시 리스트, 어드레스를 미리 복호 장치(30)가 소유하고 있는 경우에는, 스텝 S19-S21의 처리는 생략된다. 이 경우, 복호 장치(30)는 암호 메시지에 포함되는 어드레스에 대응하는 키 생성 장치의 엔트리를 자신의 메모리(31)로부터 검색하여 이것을 취득한다.
복호 장치(30)의 검증부(도시 생략)는 제어부의 제어를 받고, 암호 메시지에 포함되는 스키마 페어와 폴리시가 등록 장치(50)로부터 취득한 엔트리에 포함되는 폴리시 리스트와 스키마 리스트에 포함되는지 아닌지를 검증한다(스텝 S22a). 이 검증에 실패한 경우, 복호 처리의 실패로서 처리를 종료한다(스텝 S22g).
이 검증에 성공한 경우, 복호 장치(30)의 취득부(32)가, 예를 들면, IC 카드(39)와 같은 기억매체로부터, 당해 복호 장치(30)의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보를 읽어낸다(스텝 S22f). 속성 지정 정보 또는 술어 지정 정보의 어느 것을 읽어낼지는, 암호 메시지에 포함되는 폴리시에 의해 결정된다. 즉, 읽어내지는 정보는 이 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마를 특정하는 폴리시의 내용에 대응하는 지정 정보이다. 만약 폴리시가 Cipher_Text_Policy인 경우, 취득부(32)는 기억매체로부터 속성 지정 정보를 읽어낸다. 만약 폴리시가 Key_Policy인 경우, 취득부(32)는 기억매체로부터 술어 지정 정보를 읽어낸다. 이하, 읽어내진 지정 정보를 이용자 정보라고 부른다. 또한 복호 장치(30)의 취득부(32)가, 후술하는 키 생성 장치(20)에 있어서의 처리 《이용자 정보 취득 프로세스》와 마찬가지로, 관리 장치(40)로부터, 당해 복호 장치(30)의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보를 읽어내는 것도 허용된다. 또한, 제 1 관점에 의한 제 1 실시형태에서는, 스텝 S22f의 처리는 임의로 행해진다. 예를 들면, 미리 복호 장치(30)가 이용자에 대응하는 속성 지정 정보와 술어 지정 정보를 소유하고 있는 경우, 폴리시에 따라 속성 지정 정보 또는 술어 지정 정보 중 어느 하나가 이용자 정보가 된다.
다음에, 복호 장치(30)의 검증부가 암호 메시지에 포함되는 암호 정보를 복호 하기 위하여 사용하는 복호키를 가지고 있는지 아닌지를 검증한다(스텝 S22b).
복호 장치(30)는 메모리(31)에 복호키 테이블을 기억하고 있다. 복호키 테이블에서는, 예를 들면, 도 15에 나타내는 바와 같이, 키 생성 장치의 식별자에 대하여, 공개 패러미터와, 스키마 페어와, 복호키의 대상과, 술어 지정 정보와, 복호키가 대응되어 있다. 그래서, 검증부는 암호 메시지에 포함되는 어드레스에 의해 판별하는 키 생성 장치의 식별자, 공개 패러미터와, 스키마 페어와, 복호키의 대상(단, 복호키의 대상은 암호 메시지에 포함되는 폴리시에서 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마를 특정하는 폴리시의 내용에 대응함)에 대응하는 복호키의 유무를 검증한다. 만약 복호키가 존재하면, 스텝 S29의 처리를 행한다. 만약 복호키가 존재하지 않으면, 스텝 S23의 처리를 행한다.
여기에서 《복호 프로세스》의 설명을 중단하고, 《키 생성 프로세스》의 설명을 한다.
상기한 바와 같이 복호키가 존재하지 않는 경우, 복호 장치(30)의 송신부(34)는 제어부에 의한 제어를 받고, 메모리(31)로부터의 공개 패러미터, 폴리시, 스키마 페어, (만약 있으면) 이용자 정보, 인증 정보를 정리한 키 요구 메시지를 생성한다. 인증 정보는, 예를 들면 이용자의 ID와 패스워드를 포함한다. 그리고, 복호 장치(30)의 송신부(34)는 메모리(31)로부터의 어드레스를 갖는 키 생성 장치에 키 요구 메시지를 송신하고, 이 키 생성 장치(20)의 수신부가 키 요구 메시지를 수신한다(스텝 S23). 수신한 키 요구 메시지는 키 생성 장치(20)의 메모리(21)에 기억된다.
키 생성 장치(20)의 검증부(도시 생략)는 제어부의 제어를 받고, 키 요구 메시지에 포함되는 스키마 페어와 폴리시가, 당해 키 생성 장치(20)가 소유하는 엔트리(예를 들면, 스텝 S1에서 생성된 엔트리임)에 포함되는 폴리시 리스트와 스키마 리스트에 포함되는지의 여부 및 키 요구 메시지에 포함되는 공개 패러미터가 당해 키 생성 장치(20)의 공개 패러미터인지의 여부를 검증한다(스텝 S24a). 이 검증에 실패한 경우, 키 생성 처리의 실패로 하고 처리를 종료한다(스텝 S24g). 또한, 스텝 S24a의 처리에서는, 키 요구 메시지에 인증 정보가 포함되면, 키 요구 메시지에 포함되는 인증 정보의 검증도 행해진다. 키 생성 장치(20)는 메모리(21)에 인증 테이블을 기억하고 있다. 인증 테이블에서는, 예를 들면, 도 16에 나타내는 바와 같이, 이용자의 ID에 대하여 패스워드가 대응되어 있다. 그래서, 검증부는 키 요구 메시지에 포함되는 이용자의 ID와 패스워드와 인증 테이블에 포함되는 이용자의 ID와 패스워드와의 정합성을 검증한다. 이 검증에 실패한 경우도, 스텝 S24g의 처리가 행해진다.
이 검증에 성공한 경우, 키 생성 장치(20)의 검증부가 키 요구 메시지에 이용자 정보가 포함되어 있는지 아닌지를 검증한다(스텝 S24b). 키 요구 메시지에 이용자 정보가 포함되어 있으면 스텝 S24c의 처리를 행하고, 키 요구 메시지에 이용자 정보가 포함되어 있지 않으면 스텝 S25의 처리를 행한다. 또한, 반드시 키 요구 메시지에 이용자 정보가 포함되는 방법을 채용하는 경우에는, 스텝 S24b의 처리 및 후술하는 《이용자 정보 취득 프로세스》는 불필요하다.
여기에서 《키 생성 프로세스》의 설명을 중단하고, 《이용자 정보 취득 프로세스》의 설명을 한다.
키 생성 장치(20)의 송신부는 키 요구 메시지에 포함되는 폴리시와(만약 있으면) 인증 정보를 포함하는 리퀘스트를 관리 장치(40)에 송신하고, 관리 장치(40)가 리퀘스트를 수신한다(스텝 S25). 수신한 리퀘스트는 관리 장치(40)의 메모리에 기억된다.
관리 장치(40)는 메모리에 인증 테이블을 기억하고 있다. 이 인증 테이블에서는, 상기의 인증 테이블과 마찬가지로, 이용자의 ID에 대하여 패스워드가 대응되어 있다(도 16 참조). 그래서, 관리 장치(40)의 검증부(도시 생략)는 리퀘스트에 포함되는 이용자의 ID와 패스워드와 인증 테이블에 포함되는 이용자의 ID와 패스워드와의 정합성을 검증한다.
이 검증에 성공하면, 관리 장치(40)의 검색부(도시 생략)가 리퀘스트에 포함되는 폴리시에 따라, 메모리에 기억되어 있는 이용자 정보 테이블로부터 속성 지정 정보 또는 술어 지정 정보를 검색한다(스텝 S26). 이용자 정보 테이블은, 예를 들면, 이용자의 ID와 이것에 대응된 속성명 및 속성 지정 정보로 구성되는 제 1 테이블과, 이용자의 ID와 이것에 대응된 술어 지정 정보로 구성되는 제 2 테이블을 포함하고 있다(도 17 참조). 속성 지정 정보 또는 술어 지정 정보의 어느 것을 읽어낼지는 리퀘스트에 포함되는 폴리시에 의해 결정된다. 즉, 읽어내지는 정보는 이 폴리시에서 특정되는 한편의 스키마와 페어로 되어 있는 일방의 스키마를 특정하는 폴리시의 내용에 대응하는 지정 정보이다. 만약 폴리시가 Cipher_Text_Policy일 경우, 검색부는 제 1 테이블로부터 리퀘스트에 포함되는 이용자의 ID에 대응하는 속성 지정 정보를 취득한다. 만약 폴리시가 Key_Policy일 경우, 검색부는 제 2 테이블로부터 리퀘스트에 포함되는 이용자의 ID에 대응하는 술어 지정 정보를 취득한다. 읽어내진 지정 정보를 이용자 정보라고 부른다.
관리 장치(40)의 송신부는 제어부에 의한 제어를 받아, 검색결과의 이용자 정보를 키 생성 장치(20)에 송신하고, 키 생성 장치(20)의 수신부가 이용자 정보를 수신한다(스텝 S27). 수신한 이용자 정보는 키 생성 장치(20)의 메모리(21)에 기억된다.
이상에서 《이용자 정보 취득 프로세스》를 종료하고, 다시 《키 생성 프로세스》의 설명으로 되돌아온다.
이용자 정보를 이미 소유하고 있는 경우, 또는, 이용자 정보 취득 프로세스에 의해 이용자 정보를 수신한 경우(스텝 S27), 키 생성 장치(20)의 제 2 술어 논리 정보 취득부(23)는 메모리(21)로부터 폴리시와, 스키마 페어와, 공개 패러미터와, 이용자 정보를 읽어들이고, 이용자 정보로부터, 속성 정보(제 2 속성 정보라고 함) 또는 술어 정보(제 2 술어 정보라고 함)를 얻는다(스텝 S24c). 이 처리에 있어서 이용자 정보에 적용되는 스키마는 폴리시에서 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마이다. 폴리시가 Cipher_Text_Policy일 경우, Cipher_Text_Policy에서 특정되는 일방의 스키마(술어용 스키마)와 페어로 되어 있는 타방의 스키마(속성용 스키마)를 사용하여, 이용자 정보(속성 지정 정보)로부터 제 2 속성 정보를 얻는다. 폴리시가 Key_Policy일 경우, Key_Policy에서 특정되는 일방의 스키마(속성용 스키마)와 페어로 되어 있는 타방의 스키마(술어용 스키마)를 사용하여, 이용자 정보(술어 지정 정보)로부터 제 2 술어 정보를 얻는다. 이와 같이, 이 처리에서 사용되는 스키마는 스텝 S17a에서 사용된 스키마와 페어로 되어 있는 스키마인 것에 주의하지 않으면 안 된다. 제 2 속성 정보와 제 2 술어 정보는, 제 1 관점에 의한 제 1 실시예에서는, 유한체(Fq)의 원소를 성분으로 하는 하나 또는 복수의 벡터 정보로 한다(도 11-13 참조). 이때, 스키마를 사용하여 입력 정보로부터 필요한 속성값의 추출이나 정렬화가 행해진다.
다음에, 키 생성 장치(20)의 키 생성부(25)가, 술어 암호 알고리즘에 따라, 공개 패러미터의 q에 기초하여 유한체(Fq)의 원소인 난수 α를 생성하고, 메모리(21)로부터의 제 2 속성 정보(v(p))=(v(p)1, …, v(p)n) 또는 제 2 술어 정보(w(p))=(w(p)1, …, w(p)n)와, 당해 키 생성 장치의 비밀키(B*)를 사용하여, 식 (10)에 따라 복호키(R)를 구한다(스텝 S24d). 암호화 처리에서 사용된 입력 정보가 속성 지정 정보인 경우에 대응하여, 이 예에서는 제 2 술어 정보(w(p))를 사용하고 있지만, 입력 정보가 술어 지정 정보인 경우에는, 제 2 속성 정보(v(p))가 대응하므로, 식 (10)에서 w(p)를 v(p)로 치환해도 된다.
[수39]
Figure 112013003968060-pct00041
다음에, 키 생성 장치(20)의 송신부(24)는 제어부에 의한 제어를 받아, 복호키(R)를 복호 장치(30)에 송신하고, 복호 장치(30)의 수신부가 복호키(R)를 수신한다(스텝 S28). 수신한 복호키(R)는 복호 장치(30)의 메모리(31)에 기억된다.
이상으로 《키 생성 프로세스》를 종료하고, 다시 《복호 프로세스》의 설명으로 되돌아온다.
복호키를 이미 소유하고 있는 경우, 또는, 키 생성 프로세스에 의해 복호키를 수신한 경우(스텝 S28), 복호 장치(30)의 복호부(33)가 메모리(31)로부터 공개 패러미터와 복호키(R)와 암호 정보(C1)와 (필요에 따라) 암호문(C2)을 읽어들이고, 공통키(K)와 (필요에 따라) 평문(M)을 구한다(스텝 S29).
이 스텝 S29의 처리의 상세에 대하여 설명을 가한다. 제 1 복호부(33a)는 메모리(31)로부터 공개 패러미터와 암호 정보(C1)와 복호키(R)를 읽어들이고, 술어 암호 알고리즘에 따라, e(C1, R)을 구한다. 이 연산결과는 식 (11)에 나타내는 바와 같이, 입력 정보가 속성 지정 정보인 경우, 쌍선 형성에 기초하여 암호 정보(C1)와 복호키(R)로부터 취출된 제 1 속성 정보(v)와 제 2 술어 정보(w(p))의 표준 내적의 결과에 의존한다. 입력 정보가 술어 지정 정보인 경우, 식 (11)에서 v를 v(p)로, w(p)를 w로 치환하면 되고, 연산결과는 쌍선 형성에 기초하여 암호 정보(C1)와 복호키(R)로부터 취출된 제 1 술어 정보(w)와 제 2 속성 정보(v(p))의 표준 내적의 결과에 의존한다. 단, e(bi, bi *)는 식 (12)와 같이 정의된다. δij는 크로네커의 델타 기호이다.
[수40]
Figure 112013003968060-pct00042
따라서, 제 1 속성 정보(v)와 제 2 술어 정보(w(p))의 표준 내적이 0(또는 제 1 술어 정보(w)와 제 2 속성 정보(v(p))의 표준 내적이 0)인 경우, 식 (11)의 연산결과(gT ρ)가 얻어진다. 이 연산결과(gT ρ)가 얻어진 경우, 복호 장치(30)의 제 1 복호부(33a)는 식 (7)에 따라 "옳은" 공통키(K)를 얻는다(스텝 S22c). 만약 제 1 속성 정보(v)와 제 2 술어 정보(w(p))의 표준 내적이 0(또는 제 1 술어 정보(w)와 제 2 속성 정보(v(p))의 표준 내적이 0)이 아닌 경우, 제 1 복호부(33a)는 식 (7)에 따라 "옳지 않은" 값을 얻는다. 이 예에서는, 해쉬 함수(H)는 시스템에 공통으로 하거나 공개 패러미터에 포함되는 것으로 한다. 이 예에서는, 암호 정보(C1)가 공통키(K)의 생성에게 사용하는 정보(ρ)에 대응하는 정보이지만, 암호 정보(C1)를 공통키(K)에 대응하는 정보로 하는 경우에는, 식 (11)의 연산결과가 공통키(K)(또는 옳지 않은 값)로 된다. 즉, 복호 장치(30)의 정당한 이용자는 제 1 속성 정보(v)와의 표준 내적이 0이 되는 제 2 술어 정보(w(p))를 주는 술어 지시 정보, 또는, 제 1 술어 정보(w)와의 표준 내적이 0이 되는 제 2 속성 정보(v(p))를 주는 속성 지시 정보를 갖는다.
다음에, 제 2 복호부(33b)가, 공통키(K)와 암호문(C2)을 사용하여, 식 (13)에 따라 평문(M)을 구한다(스텝 S22d). 공통키를 사용한 복호 방법(DecK)은 암호화 방법(EncK)에 대응한다. 전술한 바와 같이, 제 1 관점에 의한 제 1 실시형태가 공통키(K)의 배송에 특화한 실시형태일 경우에는, 스텝 S22d의 처리는 생략된다. 즉, 복호 장치(30)는, 제 2 복호부(33b)의 기능을 가진다고 해도, 스텝 S22d의 처리를 행하지 않는다.
[수41]
Figure 112013003968060-pct00043
만약, 식 (11)에 따른 연산결과가 옳지 않은 값일 경우에는, 식 (13)에 의해서는 옳은 평문(M)을 얻을 수 없다.
또한, 복호 장치(30)는 복호키(R)를 복호키 테이블에 기억해도 된다. 또한 공통키(K)를 복호키 테이블에 부가하여 기억해도 된다.
이것으로 《복호 프로세스》는 종료한다.
[제 1 관점에 의한 제 2 실시형태]
제 1 관점에 의한 제 2 실시형태에서는, 제 1 관점에 의한 제 1 실시형태와 달리, 복호 장치(30)가 제 2 속성 정보 또는 제 2 술어 정보를 생성한다. 이 차이에 따라, 제 1 관점에 의한 제 2 실시형태는 몇 개의 사항에서 제 1 관점에 의한 제 1 실시형태와 다르다. 그래서, 제 1 관점에 의한 제 1 실시형태와 중복되는 부분에 대해서는 중복 설명을 생략하고(동일한 구성요소에 동일한 참조번호를 할당함), 도 18-도 21을 참조하면서 제 1 관점에 의한 제 1 실시형태와 상이한 부분을 설명한다.
스텝 S1로부터 스텝 S22b까지의 처리는 제 1 관점에 의한 제 1 실시형태와 동일하다.
스텝 S22b의 처리에서 복호키를 소유하고 있지 않은 경우, 복호 장치(30)의 제 2 술어 논리 정보 취득부(35)가 메모리(31)로부터 폴리시와, 스키마 페어와, 공개 패러미터와, 이용자 정보를 읽어들이고, 이용자 정보로부터, 속성 정보(제 2 속성 정보라고 함) 또는 술어 정보(제 2 술어 정보라고 함)를 얻는다(스텝 S23g). 이 처리에 있어서 이용자 정보에 적용되는 스키마는 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마이다. 폴리시가 Cipher_Text_Policy인 경우, Cipher_Text_Policy로 특정되는 일방의 스키마(술어용 스키마)와 페어로 되어 있는 타방의 스키마(속성용 스키마)를 사용하여, 이용자 정보(속성 지정 정보)로부터 제 2 속성 정보를 얻는다. 폴리시가 Key_Policy인 경우, Key_Policy로 특정되는 일방의 스키마(속성용 스키마)와 페어로 되어 있는 타방의 스키마(술어용 스키마)를 사용하여, 이용자 정보(술어 지정 정보)로부터 제 2 술어 정보를 얻는다. 이와 같이, 이 처리에서 사용되는 스키마는 스텝 S17a에서 사용된 스키마와 페어로 되어 있는 스키마인 것에 주의하지 않으면 안 된다. 제 2 속성 정보와 제 2 술어 정보는, 제 1 관점에 의한 제 2 실시형태에서는, 유한체(Fq)의 원소를 성분으로 하는 하나 또는 복수의 벡터 정보로 된다(도 11-13 참조).
스텝 S23g의 처리 후, 스텝 S23의 처리가 행해진다. 단, 이 처리에서는, 복호 장치(30)의 송신부(34)가 제어부에 의한 제어를 받아, 메모리(31)로부터의 공개 패러미터, 폴리시, 스키마 페어, 인증 정보, 제 2 속성 정보 또는 제 2 술어 정보를 정리한 키 요구 메시지를 생성한다. 그리고, 복호 장치(30)의 송신부(34)는 메모리(31)로부터의 어드레스를 갖는 키 생성 장치에 키 요구 메시지를 송신하고, 이 키 생성 장치(20)의 수신부가 키 요구 메시지를 수신한다.
그리고, 스텝 S24a의 처리에서 검증에 성공한 경우, 스텝 S24d의 처리가 행해진다. 키 생성 장치(20)는 복호 장치(30)로부터 제 2 속성 정보 또는 제 2 술어 정보를 수신하고 있기 때문에, 제 1 관점에 의한 제 1 실시형태와 달리, 이 정보를 생성하기 위한 기능과 처리가 불필요하다.
그리고, 스텝 S24d의 처리 후의 스텝 S28과 스텝 S29의 각 처리는 제 1 관점에 의한 제 1 실시형태와 같다.
[제 1 관점에 의한 제 3 실시형태]
제 1 관점에 의한 제 3 실시형태에서는, 제 1 관점에 의한 제 1 실시형태와 달리, 암호화 장치(10)의 암호화부(13)가 제 1 속성 정보(v)=(v1, …, vn) 또는 제 1 술어 정보(w)=(w1, …, wn)와, 메모리(11)로부터의 공개 패러미터에 포함되는 공개키와 평문(M)을 사용하여, 암호 정보(C1)를 구한다. 즉, 제 1 관점에 의한 제 3 실시형태에서는, 예를 들면, 상기 비특허문헌 2에 개시하는 술어 암호 알고리즘이 사용된다. 이 차이에 따라, 제 1 관점에 의한 제 3 실시형태는 몇개의 사항에서 제 1 관점에 의한 제 1 실시형태와 상이하다. 그래서, 제 1 관점에 의한 제 1 실시형태와 중복되는 부분에 대해서는 중복설명을 생략하고(동일한 구성요소에 같은 참조번호를 할당함), 도 22-도 25를 참조하면서 제 1 관점에 의한 제 1 실시형태와 상이한 부분을 설명한다.
스텝 S1부터 스텝 S17a까지의 처리는 제 1 관점에 의한 제 1 실시형태와 같다. 단, 공개 패러미터 등의 정보는 제 1 관점에 의한 제 3 실시형태의 술어 암호 알고리즘에 필요한 정보로 된다. 구체적인 정보에 대해서는, 예를 들면, 상기 비특허문헌 2 등을 참고하기 바란다.
스텝 S17a의 처리에 이어지는 스텝 S17b1의 처리에서는, 암호화 장치(10)의 암호화부(13)가, 술어 암호 알고리즘에 따라, 제 1 속성 정보(v)=(v1, …, vn) 또는 제 1 술어 정보(w)=(w1, …, wn)와, 메모리(11)로부터의 공개 패러미터에 포함되는 공개키와 평문(M)을 사용하여, 암호 정보(C1)를 구한다(스텝 S17b1).
다음에, 스텝 S17b1의 처리 후, 스텝 S17d의 처리가 행해진다. 단, 이 처리에서는, 암호화 장치(10)의 송신부(14)가 제어부에 의한 제어를 받아, 암호 정보(C1)와, 메모리(11)로부터의 스키마 페어, 폴리시, 공개 패러미터, 키 생성 장치의 어드레스를 정리한 암호 메시지를 생성한다(스텝 S17d).
스텝 S17d의 처리에 이어지는 스텝 S18부터 스텝 S28까지의 처리는 제 1 관점에 의한 제 1 실시형태와 같다.
스텝 S28의 처리에 이어지는 스텝 S22c1의 처리에서는, 복호 장치(30)의 복호부(33)가, 술어 암호 알고리즘에 따라, 메모리(31)로부터 공개 패러미터와 복호키(R)와 암호 정보(C1)를 읽어들이고, 평문(M)을 구한다(스텝 S22c1).
[제 1 관점에 의한 제 4 실시형태]
제 1 관점에 의한 제 4 실시형태는 제 1 관점에 의한 제 2 실시형태와 제 1 관점에 의한 제 3 실시형태의 조합 형태에 상당한다. 즉, 제 1 관점에 의한 제 4 실시형태는, 제 1 관점에 의한 제 1 실시형태와 달리, (1) 복호 장치(30)가 제 2 속성 정보 또는 제 2 술어 정보를 생성하고, (2) 암호화 장치(10)의 암호화부(13)가 제 1 속성 정보(v)=(v1, …, vn) 또는 제 1 술어 정보(w)=(w1, …, wn)와, 메모리(11)로부터의 공개 패러미터에 포함되는 공개키와 평문(M)을 사용하여, 암호 정보(C1)를 구한다. 이 차이에 따라, 제 1 관점에 의한 제 4 실시형태는 몇개의 사항에서 제 1 관점에 의한 제 1 실시형태와 다르다. 그래서, 제 1 관점에 의한 제 1 실시형태와 중복되는 부분에 대해서는 중복설명을 생략하고(동일한 구성요소에 같은 참조번호를 할당함), 도 26과 도 27도 참조하여 제 1 관점에 의한 제 1 실시형태와 상이한 부분을 설명한다.
스텝 S1로부터 스텝 S17a까지의 처리는, 제 1 관점에 의한 제 1 실시형태와 같다. 단, 공개 패러미터 등의 정보는 제 1 관점에 의한 제 4 실시형태의 술어 암호 알고리즘에 필요한 정보로 된다. 구체적인 정보에 대해서는, 예를 들면, 상기 비특허문헌 2 등을 참고하기 바란다.
스텝 S17a의 처리에 이어지는 스텝 S17b1의 처리에서는, 암호화 장치(10)의 암호화부(13)가, 술어 암호 알고리즘에 따라, 제 1 속성 정보(v)=(v1, …, vn) 또는 제 1 술어 정보(w)=(w1, …, wn)와, 메모리(11)로부터의 공개 패러미터에 포함되는 공개키와 평문(M)을 사용하여, 암호 정보(C1)를 구한다(스텝 S17b1).
다음에, 스텝 S17b1의 처리 후, 스텝 S17d의 처리가 행해진다. 단, 이 처리에서는, 암호화 장치(10)의 송신부(14)가 제어부에 의한 제어를 받아, 암호 정보(C1)와, 메모리(11)로부터의 스키마 페어, 폴리시, 공개 패러미터, 키 생성 장치의 어드레스를 정리한 암호 메시지를 생성한다(스텝 S17d).
스텝 S17d의 처리에 이어지는 스텝 S18로부터 스텝 S22b의 처리까지는, 제 1 관점에 의한 제 1 실시형태와 같다.
스텝 S22b의 처리에서 복호키를 소유하고 있지 않은 경우, 복호 장치(30)의 제 2 술어 논리 정보 취득부(35)가 메모리(31)로부터 폴리시와, 스키마 페어와, 공개 패러미터와, 이용자 정보를 읽어들이고, 이용자 정보로부터, 속성 정보(제 2 속성 정보라고 함) 또는 술어 정보(제 2 술어 정보라고 함)를 얻는다(스텝 S23g). 이 처리에 있어서 이용자 정보에 적용되는 스키마는 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마이다. 폴리시가 Cipher_Text_Policy인 경우, Cipher_Text_Policy로 특정되는 일방의 스키마(술어용 스키마)와 페어로 되어 있는 타방의 스키마(속성용 스키마)를 사용하여, 이용자 정보(속성 지정 정보)로부터 제 2 속성 정보를 얻는다. 폴리시가 Key_Policy인 경우, Key_Policy로 특정되는 일방의 스키마(속성용 스키마)와 페어로 되어 있는 타방의 스키마(술어용 스키마)를 사용하여, 이용자 정보(술어 지정 정보)로부터 제 2 술어 정보를 얻는다. 이와 같이, 이 처리에서 사용되는 스키마는 스텝 S17a에서 사용된 스키마와 페어로 되어 있는 스키마인 것에 주의하지 않으면 안 된다. 제 2 속성 정보와 제 2 술어 정보는, 제 1 관점에 의한 제 4 실시형태에서는, 유한체(Fq)의 원소를 성분으로 하는 하나 또는 복수의 벡터 정보로 된다(도 11-13 참조).
스텝 S23g의 처리 후, 스텝 S23의 처리가 행해진다. 단, 이 처리에서는, 복호 장치(30)의 송신부(34)가 제어부에 의한 제어를 받아, 메모리(31)로부터의 공개 패러미터, 폴리시, 스키마 페어, 인증 정보, 제 2 속성 정보 또는 제 2 술어 정보를 정리한 키 요구 메시지를 생성한다. 그리고, 복호 장치(30)의 송신부(34)는 메모리(31)로부터의 어드레스를 갖는 키 생성 장치에 키 요구 메시지를 송신하고, 이 키 생성 장치(20)의 수신부가 키 요구 메시지를 수신한다.
그리고, 스텝 S24a의 처리에서 검증에 성공한 경우, 스텝 S24d의 처리가 행해진다. 키 생성 장치(20)는, 복호 장치(30)로부터 제 2 속성 정보 또는 제 2 술어 정보를 수신하고 있기 때문에, 이 정보를 생성하기 위한 기능과 처리가 불필요하다.
그리고, 스텝 S24d의 처리 후의 스텝 S28의 처리는 제 1 관점에 의한 제 1 실시형태와 동일하다.
스텝 S28의 처리에 이어지는 스텝 S22c1의 처리에서는, 복호 장치(30)의 복호부(33)가 술어 암호 알고리즘에 따라, 메모리(31)로부터 공개 패러미터와 복호키(R)와 암호 정보(C1)를 읽어 들이고, 평문(M)을 구한다(스텝 S22c1).
다음에 상기의 제 1 관점에 의한 암호 통신 기술에 유의하면서, 제 2 관점으로부터, 유연하게 운용 가능하며 술어 암호로 암호화된 암호 정보를 유통시키는 것이 가능한, 술어 암호에 의거하는 암호 통신 기술에 관한 실시형태를 설명한다. 이 기술에 의하면, 복호 장치가 전송 기능을 가지고 있기 때문에, 술어 암호로 암호화된 암호 정보를 유통시킬 수 있다.
제 2 관점에 의한 암호 통신 기술의 설명은 상기의 제 1 관점에 의한 암호 통신 기술의 설명과 실질적으로 중복되는 부분을 많이 포함하지만, 제 1 관점에 의한 암호 통신 기술의 설명을 참조하지 않아도 되도록, 가능한 한 중복 설명과 중복 도면을 생략하지 않고 제 2 관점에 의한 암호 통신 기술을 설명한다. 이 때문에, 수식의 번호, 기능부를 나타내는 참조번호, 스텝을 나타내는 참조번호 등도 양자에서 중복되지만, 문맥으로부터 혼란의 우려는 없을 것이다.
[제 2 관점에 의한 제 1 실시형태]
도 28로부터 도 41을 참조하여 제 2 관점에 의한 본 발명의 제 1 실시형태를 설명한다.
제 2 관점에 의한 암호 시스템(1)은, 도 28에 나타내는 바와 같이, 복수의 클라이언트 장치(10, 30-1, 30-2)와, 하나 또는 복수의 키 생성 장치(20)와, 하나 또는 복수의 유저 정보 관리 장치(40)(이하, 관리 장치라고 함), 변환 규칙 정보 페어 관리 장치(50)(이하, 등록 장치라고 함), 하나 또는 복수의 보전 장치(80), 하나 또는 복수의 인증 장치(90)를 포함하고 있다. 이들 각 장치는, 예를 들면, 인터넷인 통신망(5)을 통하여 서로 통신 가능하게 되어 있다.
클라이언트 장치는, 처리 목적에 따라, 암호화 장치로서, 혹은 복호 장치로서 기능한다. 그래서, 클라이언트 장치를 기능의 관점에서, 암호화 장치(10) 또는 복호 장치로 호칭한다. 복호 장치는 후술하는 암호 메시지의 주고받음에 대하여 암호화 장치(10)와의 관계에서 당사자인 제 1 복호 장치(30-1)와, 당사자가 아닌 제 2 복호 장치(30-2)로 분류된다. 또한, 제 2 관점에 의한 암호 시스템(1)은 암호화 장치로서만 기능하는 클라이언트 장치 및/또는 복호 장치로서만 기능하는 클라이언트 장치를 포함해도 된다.
제 2 관점에 의한 암호 시스템(1)에서는 술어 암호를 사용한 암호화와 복호가 행해진다. 제 2 관점에 의한 본 발명에서는, 사용하는 술어 암호 알고리즘에 한정은 없고, 예를 들면, 상기 비특허문헌 2에 개시되는 술어 암호 알고리즘을 사용하는 것이 허용된다. 제 2 관점에 의한 제 1 실시형태에서는, KEM(Key Encapsulation Mechanisms) 타입의 술어 암호 알고리즘을 사용한 예를 제시한다.
제 2 관점에 의한 암호 시스템(1)에 있어서의 암호 통신 방법을 도 29, 30, 31, 32, 34, 36, 38, 40, 41을 참조하면서 서술한다. 각 장치의 기능 구성에 대해서는 도 33, 35, 37, 39를 참조하기 바란다.
《준비 프로세스》
제 1 관점에 의한 발명의 제 1 실시형태에 있어서의 《준비 프로세스》의 설명의 모두를 여기에 원용하고, 중복설명을 생략한다. 또한, 이 《준비 프로세스》의 설명에 대응하는 도면으로서 도 29를, 스키마 페어에 대해서는 도 11-13을, 폴리시 리스트에 대해서는 도 14를 참조하기 바란다. 이것으로서 《준비 프로세스》는 종료된다.
《암호화 프로세스》
암호화 장치(10)의 송신부(14)는 도시하지 않은 제어부의 제어를 받아, 검색 쿼리를 등록 장치(50)에 송신하고, 등록 장치(50)의 수신부가 검색 쿼리를 수신한다(스텝 S14). 등록 장치(50)의 검색부는 등록 장치(50)의 기억부에 등록되어 있는 엔트리의 일부 또는 전부를 검색하여 하나의 엔트리를 고르고(스텝 S15), 등록 장치(50)의 송신부는 검색결과의 엔트리를 암호화 장치(10)에 송신하고, 암호화 장치(10)의 수신부는 엔트리를 수신한다(스텝 S16). 이 엔트리에는, 키 생성 장치의 어드레스, 이 키 생성 장치의 공개 패러미터, 이 키 생성 장치가 사용 가능한 폴리시 리스트, 이 키 생성 장치가 사용 가능한 스키마 리스트가 포함되어 있다. 수신한 엔트리는 암호화 장치(10)의 메모리(11)에 기억된다.
또한, 각 키 생성 장치(20)의 공개 패러미터, 스키마 리스트, 폴리시 리스트, 어드레스를 미리 암호화 장치(10)가 소유하고 있는 경우에는, 스텝 S14-S16의 처리는 생략된다. 즉, 암호 시스템(1)이 등록 장치(50)를 포함하지 않는 형태도 허용되는 것에 주의하지 않으면 안 된다.
암호화 장치(10)의 제 1 술어 논리 정보 취득부(12)가 메모리(11)로부터 입력 정보와 폴리시와 스키마를 읽어들이고, 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 구한다(스텝 S17a). 이 처리의 상세 에 대하여 설명을 가한다(도 12, 도 13 참조).
우선, 스키마 리스트에 복수의 스키마 페어가 기술되어 있는 경우, 용도 등에 따라 하나의 스키마 페어가 선택된다. 암호화 장치(10)의 이용자에 의해 스키마 페어가 선택되고 그 지시 정보가 입력되는 경우나, 소정의 규칙에 따라, 제 1 술어 논리 정보 취득부(12)가 스키마 페어를 선택해도 된다.
그리고, 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 폴리시와 함께 어느 일방의 스키마를 선택한다. 암호화 장치(10)의 이용자에 의해 폴리시와 어느 일방의 스키마가 선택되고 그 지시 정보가 입력되는 경우나, 소정의 규칙에 따라, 제 1 술어 논리 정보 취득부(12)가 폴리시와 어느 일방의 스키마를 선택하는 경우의 어느 것이어도 된다. 또한, 키 생성 장치(20)의 폴리시가 1종류의 타입만 준비되어 있는 경우에는, 그 폴리시에 따라 스키마 페어 중 일방의 스키마가 선택된다. 만약, 선택된 스키마가 입력 정보의 종류에 대응하고 있지 않은 경우에는, 스키마 리스트로부터 스키마 페어를 재선택하거나, 등록 장치(50)로부터 엔트리의 제공을 다시 받으면 된다.
입력 정보는, 암호화 장치(10)의 이용자에 의해 입력된 정보 또는, 예를 들면, IC 카드(39)와 같은 기억매체로부터 암호화 장치(10)의 취득부(도시 생략)가 취득한 정보이어도 된다.
그리고, 제 1 술어 논리 정보 취득부(12)가 폴리시에 따라 스키마 페어 중에서 선택된 스키마를 사용하여 입력 정보로부터 제 1 속성 정보 또는 제 1 술어 정보를 얻는다. 폴리시가 Key_Policy이며 선택된 스키마가 속성용 스키마일 경우에는 제 1 속성 정보가 얻어진다. 폴리시가 Cipher_Text_Policy이며 선택된 스키마가 술어용 스키마일 경우에는 제 1 술어 정보가 얻어진다. 제 1 속성 정보와 제 1 술어 정보는, 제 2 관점에 의한 제 1 실시형태에서는, 유한체(Fq)의 원소를 성분으로 하는 하나 또는 복수의 벡터 정보로 된다(도 11-13 참조). 이때, 스키마를 사용하여 입력 정보로부터 필요한 속성값의 추출이나 정렬화가 행해진다.
다음에, 암호화 장치(10)의 암호화부(13)가 제 1 속성 정보(v)=(v1, …, vn) 또는 제 1 술어 정보(w)=(w1, …, wn)와, 메모리(11)로부터의 공개 패러미터에 포함되는 직교 기저(B)(실질적인 공개키)와 평문(M)을 사용하여, 공통키(K)와 암호 정보(C1)와 암호문(C2)을 구한다(스텝 S17b, S17c). 이들 처리의 상세에 대하여 설명을 가한다. 단, 제 2 관점에 의한 제 1 실시형태가 공통키(K)의 배송에 특화한 실시형태인 경우에는 암호문(C2)의 생성은 불필요하다.
우선, 제 1 암호화부(13a)가, 술어 암호 알고리즘에 따라, 유한체(Fq)의 원소인 난수(r, ρ)를 생성하고, 상기 식 (7)과 같이 공통키(K)를 설정하고, 상기 식 (8)에 따라 암호 정보(C1)를 구한다(스텝 S17b). H는, 예를 들면, 해쉬 함수이다. 이 예에서는 제 1 속성 정보(v)를 사용하고 있지만, 제 1 술어 정보를 사용하는 경우에는 상기 식 (8)에서 v를 w로 치환하면 된다. 또한 이 예에서는, 암호 정보(C1)는 공통키(K)의 생성에 사용하는 정보(ρ)에 대응하는 정보이지만, 암호 정보(C1)를 공통키(K)에 대응하는 정보로 해도 된다.
다음에, 제 2 암호화부(13b)가, 공통키(K)와 평문(M)을 사용하여, 상기 식 (9)에 따라 암호문(C2)을 구한다(스텝 S17c). 공통키를 사용한 암호화 방법(EncK)은 주지의 방법이어도 되고, 예를 들면, 상기 비특허문헌 1에 개시되는 방법이다. 전술한 바와 같이, 제 2 관점에 의한 제 1 실시형태가 공통키(K)의 배송에 특화한 실시형태인 경우에는, 스텝 S17c의 처리는 생략된다. 즉, 암호화 장치(10)는 제 2 암호화부(13b)의 기능을 가진다고 해도, 스텝 S17c의 처리를 행하지 않는다.
다음에, 암호화 장치(10)의 송신부(14)는 제어부에 의한 제어를 받고, 암호 정보(C1)와, (필요에 따라) 암호문(C2)과, 메모리(11)로부터의 스키마 페어, 폴리시, 공개 패러미터, 키 생성 장치의 어드레스를 정리한 암호 메시지를 생성한다(스텝 S17d). 그리고 암호화 장치(10)의 송신부(14)는 암호 메시지를 제 1 복호 장치(30-1)에 송신하고, 제 1 복호 장치(30-1)의 수신부가 암호 메시지를 수신한다(스텝 S18). 또한, 암호화 장치(10)가 복수의 제 1 복호 장치(30-1)에 대하여 암호 메시지를 송신하는 것이 허용된다.
이것으로 《암호화 프로세스》는 종료된다.
《제 1 복호 프로세스》
제 1 복호 장치(30-1)의 송신부(34)는, 도시하지 않은 제어부의 제어를 받아, 암호 메시지에 포함되는 키 생성 장치의 어드레스를 포함하는 검색 쿼리를 등록 장치(50)에 송신하고, 등록 장치(50)의 수신부가 검색 쿼리를 수신한다(스텝 S19). 등록 장치(50)의 검색부는 어드레스로 지정된 키 생성 장치의 엔트리를 검색하고 그것을 선택하고(스텝 S20), 등록 장치(50)의 송신부는 검색결과의 엔트리를 제 1 복호 장치(30-1)에 송신하고, 제 1 복호 장치(30-1)의 수신부는 엔트리를 수신한다(스텝 S21). 이 엔트리에는, 키 생성 장치의 어드레스, 이 키 생성 장치의 공개 패러미터, 이 키 생성 장치가 사용가능한 폴리시 리스트, 이 키 생성 장치가 사용가능한 스키마 리스트가 포함되어 있다. 수신한 엔트리는 제 1 복호 장치(30-1)의 메모리(31)에 기억된다.
또한, 각 키 생성 장치(20)의 공개 패러미터, 스키마 리스트, 폴리시 리스트, 어드레스를 미리 제 1 복호 장치(30-1)가 소유하고 있는 경우에는, 스텝 S19-S21의 처리는 생략된다. 이 경우, 제 1 복호 장치(30-1)는 암호 메시지에 포함되는 어드레스에 대응하는 키 생성 장치의 엔트리를 자신의 메모리(31)로부터 검색하여 이것을 취득한다.
제 1 복호 장치(30-1)의 검증부(도시 생략)는, 제어부의 제어를 받고, 암호 메시지에 포함되는 스키마 페어와 폴리시가 등록 장치(50)로부터 취득한 엔트리에 포함되는 폴리시 리스트와 스키마 리스트에 포함되는지 아닌지를 검증한다(스텝 S22a). 이 검증에 실패한 경우, 복호 처리의 실패로서 처리를 종료한다(스텝 S22g).
이 검증에 성공한 경우, 제 1 복호 장치(30-1)의 취득부(32)가, 예를 들면, IC 카드(39)와 같은 기억매체로부터, 당해 제 1 복호 장치(30-1)의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보를 읽어낸다(스텝 S22f). 속성 지정 정보 또는 술어 지정 정보의 어느 것을 읽어낼지는, 암호 메시지에 포함되는 폴리시에 의해 결정된다. 즉, 읽어내지는 정보는 이 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마를 특정하는 폴리시의 내용에 대응하는 지정 정보이다. 만약 폴리시가 Cipher_Text_Policy인 경우, 취득부(32)는 기억매체로부터 속성 지정 정보를 읽어낸다. 만약 폴리시가 Key_Policy인 경우, 취득부(32)는 기억매체로부터 술어 지정 정보를 읽어낸다. 이하, 읽어내진 지정 정보를 이용자 정보라고 부른다. 또한 제 1 복호 장치(30-1)의 취득부(32)가, 후술하는 키 생성 장치(20)에 있어서의 처리 《이용자 정보 취득 프로세스》와 마찬가지로, 관리 장치(40)로부터, 당해 제 1 복호 장치(30-1)의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보를 읽어내는 것도 허용된다. 또한, 제 2 관점에 의한 제 1 실시형태에서는 스텝 S22f의 처리는 임의로 행해진다. 예를 들면, 미리 제 1 복호 장치(30-1)가 이용자에 대응하는 속성 지정 정보와 술어 지정 정보를 소유하고 있는 경우, 폴리시에 따라 속성 지정 정보 또는 술어 지정 정보 중 어느 하나가 이용자 정보가 된다.
다음에, 제 1 복호 장치(30-1)의 검증부가 암호 메시지에 포함되는 암호 정보를 복호하기 위하여 사용하는 복호키를 가지고 있는지 아닌지를 검증한다(스텝 S22b).
제 1 복호 장치(30-1)는 메모리(31)에 복호키 테이블을 기억하고 있다. 복호키 테이블에서는, 예를 들면, 도 15에 나타내는 바와 같이, 키 생성 장치의 식별자에 대하여, 공개 패러미터와, 스키마 페어와, 복호키의 대상과, 술어 지정 정보와, 복호키가 대응되어 있다. 그래서, 검증부는, 암호 메시지에 포함되는 어드레스에 의해 판별하는 키 생성 장치의 식별자, 공개 패러미터와, 스키마 페어와, 복호키의 대상(단, 이것은, 암호 메시지에 포함되는 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마를 특정하는 폴리시의 내용에 대응함)에 대응하는 복호키의 유무를 검증한다. 만약 복호키가 존재하면, 스텝 S29의 처리를 행한다. 만약 복호키가 존재하지 않으면, 스텝 S23의 처리를 행한다.
여기에서 《복호 프로세스》의 설명을 중단하고, 《키 생성 프로세스》의 설명을 한다.
전술한 바와 같이 복호키가 존재하지 않는 경우, 제 1 복호 장치(30-1)의 송신부(34)는, 제어부에 의한 제어를 받아, 메모리(31)로부터의 공개 패러미터, 폴리시, 스키마 페어, (만약 있으면) 이용자 정보, 인증 정보를 정리한 키 요구 메시지를 생성한다. 인증 정보는, 예를 들면, 이용자의 ID와 패스워드를 포함한다. 그리고, 제 1 복호 장치(30-1)의 송신부(34)는 메모리(31)로부터의 어드레스를 갖는 키 생성 장치에 키 요구 메시지를 송신하고, 이 키 생성 장치(20)의 수신부가 키 요구 메시지를 수신한다(스텝 S23). 수신한 키 요구 메시지는 키 생성 장치(20)의 메모리(21)에 기억된다.
키 생성 장치(20)의 검증부(도시 생략)는 제어부의 제어를 받고, 키 요구 메시지에 포함되는 스키마 페어와 폴리시가 당해 키 생성 장치(20)가 소유하는 엔트리(예를 들면 스텝 S1에서 생성된 엔트리임)에 포함되는 폴리시 리스트와 스키마 리스트에 포함되는지 아닌지, 및, 키 요구 메시지에 포함되는 공개 패러미터가 당해 키 생성 장치(20)의 공개 패러미터인지 아닌지를 검증한다(스텝 S24a). 이 검증에 실패한 경우, 키 생성 처리의 실패로서 처리를 종료한다(스텝 S24g). 또한, 스텝 S24a의 처리에서는, 키 요구 메시지에 인증 정보가 포함되면, 키 요구 메시지에 포함되는 인증 정보의 검증도 행해진다. 키 생성 장치(20)는 메모리(21)에 인증 테이블을 기억하고 있다. 인증 테이블에서는, 예를 들면, 도 16에 나타내는 바와 같이, 이용자의 ID에 대하여 패스워드가 대응되어 있다. 그래서, 검증부는 키 요구 메시지에 포함되는 이용자의 ID와 패스워드와 인증 테이블에 포함되는 이용자의 ID와 패스워드와의 정합성을 검증한다. 이 검증에 실패한 경우도 스텝 S24g의 처리가 행해진다.
이 검증에 성공한 경우, 키 생성 장치(20)의 검증부가 키 요구 메시지에 이용자 정보가 포함되어 있는지 아닌지를 검증한다(스텝 S24b). 키 요구 메시지에 이용자 정보가 포함되어 있으면 스텝 S24c의 처리를 행하고, 키 요구 메시지에 이용자 정보가 포함되어 있지 않으면 스텝 S25의 처리를 행한다. 또한, 반드시 키 요구 메시지에 이용자 정보가 포함되는 방법을 채용하는 경우에는, 스텝 S24b의 처리 및 후술하는 《이용자 정보 취득 프로세스》는 불필요하다.
여기에서 《키 생성 프로세스》의 설명을 중단하고, 《이용자 정보 취득 프로세스》의 설명을 한다.
키 생성 장치(20)의 송신부는 키 요구 메시지에 포함되는 폴리시와 (만약 있으면) 인증 정보를 포함하는 리퀘스트를 관리 장치(40)에 송신하고, 관리 장치(40)가 리퀘스트를 수신한다(스텝 S25). 수신한 리퀘스트는 관리 장치(40)의 메모리에 기억된다.
관리 장치(40)는 메모리에 인증 테이블을 기억하고 있다. 이 인증 테이블에서는, 상기의 인증 테이블과 마찬가지로, 이용자의 ID에 대하여 패스워드가 대응되어 있다(도 16 참조). 그래서, 관리 장치(40)의 검증부(도시 생략)는 리퀘스트에 포함되는 이용자의 ID와 패스워드와 인증 테이블에 포함되는 이용자의 ID와 패스워드와의 정합성을 검증한다.
이 검증에 성공하면, 관리 장치(40)의 검색부(도시 생략)가 리퀘스트에 포함되는 폴리시에 따라, 메모리에 기억되어 있는 이용자 정보 테이블로부터 속성 지정 정보 또는 술어 지정 정보를 검색한다(스텝 S26). 이용자 정보 테이블은, 예를 들면, 이용자의 ID와 이것에 대응시켜진 속성명 및 속성 지정 정보로 구성되는 제 1 테이블과, 이용자의 ID와 이것에 대응시켜진 술어 지정 정보로 구성되는 제 2 테이블을 포함하고 있다(도 17 참조). 속성 지정 정보 또는 술어 지정 정보의 어느 것을 읽어낼지는 리퀘스트에 포함되는 폴리시에 의해 결정된다. 즉, 읽어내지는 정보는 이 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마를 특정하는 폴리시의 내용에 대응하는 지정 정보이다. 만약 폴리시가 Cipher_Text_Policy인 경우, 검색부는 제 1 테이블로부터 리퀘스트에 포함되는 이용자의 ID에 대응하는 속성 지정 정보를 취득한다. 만약 폴리시가 Key_Policy인 경우, 검색부는 제 2 테이블로부터 리퀘스트에 포함되는 이용자의 ID에 대응하는 술어 지정 정보를 취득한다. 읽어내진 지정 정보를 이용자 정보라고 부른다.
관리 장치(40)의 송신부는, 제어부에 의한 제어를 받아, 검색결과의 이용자 정보를 키 생성 장치(20)에 송신하고, 키 생성 장치(20)의 수신부가 이용자 정보를 수신한다(스텝 S27). 수신한 이용자 정보는 키 생성 장치(20)의 메모리(21)에 기억된다.
이상으로 《이용자 정보 취득 프로세스》를 종료하고, 다시 《키 생성 프로세스》의 설명으로 되돌아온다.
이용자 정보를 이미 소유하고 있는 경우, 또는, 이용자 정보 취득 프로세스에 의해 이용자 정보를 수신한 경우(스텝 S27), 키 생성 장치(20)의 제 2 술어 논리 정보 취득부(23)는 메모리(21)로부터 폴리시와, 스키마 페어와, 공개 패러미터와, 이용자 정보를 읽어들이고, 이용자 정보로부터, 속성 정보(제 2 속성 정보라고 함) 또는 술어 정보(제 2 술어 정보라고 함)를 얻는다(스텝 S24c). 이 처리에서 이용자 정보에 적용되는 스키마는 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마이다. 폴리시가 Cipher_Text_Policy인 경우, Cipher_Text_Policy로 특정되는 일방의 스키마(술어용 스키마)와 페어로 되어 있는 타방의 스키마(속성용 스키마)를 사용하여, 이용자 정보(속성 지정 정보)로부터 제 2 속성 정보를 얻는다. 폴리시가 Key_Policy인 경우, Key_Policy로 특정되는 일방의 스키마(속성용 스키마)와 페어로 되어 있는 타방의 스키마(술어용 스키마)를 사용하여, 이용자 정보(술어 지정 정보)로부터 제 2 술어 정보를 얻는다. 이와 같이, 이 처리에서 사용되는 스키마는 스텝 S17a에서 사용된 스키마와 페어로 되어 있는 스키마인 것에 주의하지 않으면 안 된다. 제 2 속성 정보와 제 2 술어 정보는, 제 2 관점에 의한 제 1 실시형태에서는, 유한체(Fq)의 원소를 성분으로 하는 하나 또는 복수의 벡터 정보로 된다(도 11-13 참조). 이때, 스키마를 사용하여 입력 정보로부터 필요한 속성값의 추출이나 정렬화가 행해진다.
다음에, 키 생성 장치(20)의 키 생성부(25)가, 술어 암호 알고리즘에 따라, 공개 패러미터의 q에 기초하여 유한체(Fq)의 원소인 난수(α)를 생성하고, 메모리(21)로부터의 제 2 속성 정보(v(p))=(v(p)1, …, v(p)n) 또는 제 2 술어 정보(w(p))=(w(p)1, …, w(p)n)와, 당해 키 생성 장치의 비밀키(B*)를 사용하여, 상기 식 (10)에 따라 복호키(R)를 구한다(스텝 S24d). 암호화 처리에서 사용된 입력 정보가 속성 지정 정보인 경우에 대응하여, 이 예에서는 제 2 술어 정보(w(p))를 사용하고 있지만, 입력 정보가 술어 지정 정보인 경우에는, 제 2 속성 정보(v(p))가 대응하므로, 상기 식 (10)에서 w(p)를 v(p)로 치환하면 된다.
다음에, 키 생성 장치(20)의 송신부(24)는 제어부에 의한 제어를 받아, 복호키(R)를 제 1 복호 장치(30-1)에 송신하고, 제 1 복호 장치(30-1)의 수신부가 복호키(R)를 수신한다(스텝 S28). 수신한 복호키(R)는 제 1 복호 장치(30-1)의 메모리(31)에 기억된다.
이상으로 《키 생성 프로세스》를 종료하고, 다시 《복호 프로세스》의 설명으로 되돌아온다.
복호키를 이미 소유하고 있는 경우, 또는, 키 생성 프로세스에 의해 복호키를 수신한 경우(스텝 S28), 제 1 복호 장치(30-1)의 복호부(33)가 메모리(31)로부터 공개 패러미터와 복호키(R)와 암호 정보(C1)와 (필요에 따라) 암호문(C2)을 읽어들이고, 공통키(K)와 (필요에 따라) 평문(M)을 구한다(스텝 S29).
이 스텝 S29의 처리의 상세에 대하여 설명을 가한다. 제 1 복호부(33a)는 메모리(31)로부터 공개 패러미터와 암호 정보(C1)와 복호키(R)를 읽어들이고, 술어 암호 알고리즘에 따라, e(C1, R)를 구한다. 이 연산결과는 상기 식 (11)에 나타내는 바와 같이, 입력 정보가 속성 지정 정보인 경우, 쌍선 형성에 기초하여 암호 정보(C1)와 복호키(R)로부터 취출된 제 1 속성 정보(v)와 제 2 술어 정보(w(p))의 표준 내적의 결과에 의존한다. 입력 정보가 술어 지정 정보인 경우, 상기 식 (11)에 있어서 v를 v(p)로, w(p)를 w로 치환하면 되고, 연산결과는 쌍선 형성에 기초하여 암호 정보(C1)와 복호키(R)로부터 취출된 제 1 술어 정보(w)와 제 2 속성 정보(v(p))의 표준 내적의 결과에 의존한다. 단, e(bi, bi *)는 상기 식 (12)와 같이 정의된다. δij는 크로네커의 델타 기호이다.
따라서, 제 1 속성 정보(v)와 제 2 술어 정보(w(p))의 표준 내적이 0(또는 제 1 술어 정보(w)와 제 2 속성 정보(v(p))의 표준 내적이 0)인 경우, 상기 식 (11)의 연산결과(gT ρ)가 얻어진다. 이 연산결과(gT ρ)가 얻어진 경우, 제 1 복호 장치(30-1)의 제 1 복호부(33a)는 상기 식 (7)에 따라 "옳은" 공통키(K)를 얻는다(스텝 S22c). 만약 제 1 속성 정보(v)와 제 2 술어 정보(w(p))의 표준 내적이 0(또는 제 1 술어 정보(w)와 제 2 속성 정보(v(p))의 표준 내적이 0)이 아닌 경우, 제 1 복호부(33a)는 상기 식 (7)에 따라 "옳지 않은" 값을 얻는다. 이 예에서는, 해쉬 함수(H)는 시스템에 공통으로 하거나 공개 패러미터에 포함되는 것으로 한다. 이 예에서는, 암호 정보(C1)가 공통키(K)의 생성에 사용하는 정보(ρ)에 대응하는 정보이지만, 암호 정보(C1)를 공통키(K)에 대응하는 정보로 하는 경우에는, 상기 식 (11)의 연산결과가 공통키(K)(또는 옳지 않은 값)로 된다. 즉, 제 1 복호 장치(30-1)의 정당한 이용자는 제 1 속성 정보(v)와의 표준 내적이 0이 되는 제 2 술어 정보(w(p))를 주는 술어 지시 정보, 또는, 제 1 술어 정보(w)와의 표준 내적이 0이 되는 제 2 속성 정보(v(p))를 주는 속성 지시 정보를 갖는다.
다음에, 제 2 복호부(33b)가, 공통키(K)와 암호문(C2)을 사용하여, 상기 식 (13)에 따라 평문(M)을 구한다(스텝 S22d). 공통키를 사용한 복호 방법(DecK)은 암호화 방법(EncK)에 대응한다. 전술한 바와 같이, 제 2 관점에 의한 제 1 실시형태가 공통키(K)의 배송에 특화한 실시형태인 경우에는, 스텝 S22d의 처리는 생략된다. 즉, 제 1 복호 장치(30-1)는, 제 2 복호부(33b)의 기능을 가진다고 해도, 스텝 S22d의 처리를 행하지 않는다.
만약, 상기 식 (11)에 따른 연산결과가 옳지 않은 값인 경우에는, 상기 식 (13)에 의해서는 옳은 평문(M)을 얻을 수 없다.
또한, 제 1 복호 장치(30-1)는 복호키(R)를 복호키 테이블에 기억해도 된다. 또한 공통키(K)를 복호키 테이블에 부가하여 기억해도 된다.
이것으로 《제 1 복호 프로세스》는 종료된다.
《전송 프로세스》
제 1 복호 장치(30-1)의 전송부(37)는 암호화 장치(10)로부터 수신한 암호 메시지를 제 2 복호 장치(30-2)에 전송하고, 제 2 복호 장치(30-2)의 수신부가 암호 메시지를 수신한다(스텝30). 전송처의 복호 장치는, 제 2 복호 장치(암호 메시지의 주고받음에 대하여 암호화 장치와 당사자의 관계에 없는 복호 장치)에 한하지 않고, 다른 제 1 복호 장치(암호 메시지의 주고받음에 대하여 암호화 장치와 당사자의 관계에 있는 복호 장치)이어도 된다. 또, 스텝 S30의 처리는, 설명의 편의상, 스텝 S29의 처리에 이어지는 처리로서 설명하지만, 제 1 복호 장치(30-1)가 암호화 장치(10)로부터 암호 메시지를 수신한 이후이면 언제라도 좋다.
이것으로 《전송 프로세스》는 종료된다.
제 2 복호 장치(30-2)에 의한 제 2 복호 프로세스(키 생성 프로세스와 필요에 따라 이용자 정보 취득 프로세스를 포함함)에 대하여 설명한다. 이 일련의 처리는 제 1 복호 프로세스와 실질적으로 같다. 또한 제 2 복호 장치(30-2)의 기능 구성은, 전송부(37)를 반드시 갖지 않아도 되는 점을 제외하고, 제 1 복호 장치(30-1)와 동일하기 때문에, 공통되는 기능 구성 요소에 대해서는 동일한 참조번호를 할당하고 있다.
《제 2 복호 프로세스》
제 2 복호 장치(30-2)의 송신부(34)는, 도시하지 않은 제어부의 제어를 받아, 암호 메시지에 포함되는 키 생성 장치의 어드레스를 포함하는 검색 쿼리를 등록 장치(50)에 송신하고, 등록 장치(50)의 수신부가 검색 쿼리를 수신한다(스텝 S31). 등록 장치(50)의 검색부는, 어드레스로 지정된 키 생성 장치의 엔트리를 검색하여 그것을 선택하고(스텝 S32), 등록 장치(50)의 송신부는 검색결과의 엔트리를 제 2 복호 장치(30-2)에 송신하고, 제 2 복호 장치(30-2)의 수신부는 엔트리를 수신한다(스텝 S33). 이 엔트리에는, 키 생성 장치의 어드레스, 이 키 생성 장치의 공개 패러미터, 이 키 생성 장치가 사용가능한 폴리시 리스트, 이 키 생성 장치가 사용가능한 스키마 리스트가 포함되어 있다. 수신한 엔트리는 제 2 복호 장치(30-2)의 메모리(31)에 기억된다.
또한, 각 키 생성 장치(20)의 공개 패러미터, 스키마 리스트, 폴리시 리스트, 어드레스를 미리 제 2 복호 장치(30-2)가 소유하고 있는 경우에는, 스텝 S31-S33의 처리는 생략된다. 이 경우, 제 2 복호 장치(30-2)는 암호 메시지에 포함되는 어드레스에 대응하는 키 생성 장치의 엔트리를 자신의 메모리(31)로부터 검색하여 이것을 취득한다.
제 2 복호 장치(30-2)의 검증부(도시 생략)는, 제어부의 제어를 받고, 암호 메시지에 포함되는 스키마 페어와 폴리시가 등록 장치(50)로부터 취득한 엔트리에 포함되는 폴리시 리스트와 스키마 리스트에 포함되는지 아닌지를 검증한다(스텝 S34a). 이 검증에 실패한 경우, 복호 처리의 실패로서 처리를 종료한다(스텝 S34g).
이 검증에 성공한 경우, 제 2 복호 장치(30-2)의 취득부(32)가, 예를 들면, IC 카드(39)와 같은 기억매체로부터, 당해 제 2 복호 장치(30-2)의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보를 읽어낸다(스텝 S34f). 속성 지정 정보 또는 술어 지정 정보의 어느 것을 읽어낼지는, 암호 메시지에 포함되는 폴리시에 의해 결정된다. 즉, 읽어내지는 정보는 이 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마를 특정하는 폴리시의 내용에 대응하는 지정 정보이다. 만약 폴리시가 Cipher_Text_Policy인 경우, 취득부(32)는 기억매체로부터 속성 지정 정보를 읽어낸다. 만약 폴리시가 Key_Policy인 경우, 취득부(32)는 기억매체로부터 술어 지정 정보를 읽어낸다. 이하, 읽어내진 지정 정보를 이용자 정보라고 부른다. 또한 제 2 복호 장치(30-2)의 취득부(32)가, 후술하는 키 생성 장치(20)에 있어서의 처리 《이용자 정보 취득 프로세스》와 마찬가지로, 관리 장치(40)로부터, 당해 제 2 복호 장치(30-2)의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보를 읽어내는 것도 허용된다. 또한, 제 2 관점에 의한 제 1 실시형태에서는, 스텝 S34f의 처리는 임의로 행해진다. 예를 들면, 미리 제 2 복호 장치(30-2)가 이용자에 대응하는 속성 지정 정보와 술어 지정 정보를 소유하고 있는 경우, 폴리시에 따라 속성 지정 정보 또는 술어 지정 정보 중 어느 하나가 이용자 정보가 된다.
다음에, 제 2 복호 장치(30-2)의 검증부가 암호 메시지에 포함되는 암호 정보를 복호 하기 위하여 사용하는 복호키를 가지고 있는지 아닌지를 검증한다(스텝 S34b).
제 2 복호 장치(30-2)는 메모리(31)에 복호키 테이블을 기억하고 있다. 복호키 테이블에서는, 예를 들면, 도 15에 나타내는 바와 같이, 키 생성 장치의 식별자에 대하여, 공개 패러미터와, 스키마 페어와, 복호키의 대상과, 술어 지정 정보와, 복호키가 대응되어 있다. 그래서, 검증부는, 암호 메시지에 포함되는 어드레스에 의해 판별하는 키 생성 장치의 식별자, 공개 패러미터와, 스키마 페어와, 복호키의 대상(단, 이것은 암호 메시지에 포함되는 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마를 특정하는 폴리시의 내용에 대응함)에 대응하는 복호키의 유무를 검증한다. 만약 복호키가 존재하면, 스텝 S41의 처리를 행한다. 만약 복호키가 존재하지 않으면, 스텝 S35의 처리를 행한다.
여기에서 《복호 프로세스》의 설명을 중단하고, 《키 생성 프로세스》의 설명을 한다.
전술한 바와 같이 복호키가 존재하지 않는 경우, 제 2 복호 장치(30-2)의 송신부(34)는, 제어부에 의한 제어를 받고, 메모리(31)로부터의 공개 패러미터, 폴리시, 스키마 페어, (만약 있으면) 이용자 정보, 인증 정보를 정리한 키 요구 메시지를 생성한다. 인증 정보는, 예를 들면 이용자의 ID와 패스워드를 포함한다. 그리고, 제 2 복호 장치(30-2)의 송신부(34)는 메모리(31)로부터의 어드레스를 갖는 키 생성 장치에 키 요구 메시지를 송신하고, 이 키 생성 장치(20)의 수신부가 키 요구 메시지를 수신한다(스텝 S35). 수신한 키 요구 메시지는 키 생성 장치(20)의 메모리(21)에 기억된다. 이 키 생성 장치(20)는 제 1 복호 장치(30-1)의 상대방의 키 생성 장치(20)와 동일할 필요는 없다.
키 생성 장치(20)의 검증부(도시 생략)는, 제어부의 제어를 받고, 키 요구 메시지에 포함되는 스키마 페어와 폴리시가 당해 키 생성 장치(20)가 소유하는 엔트리(예를 들면, 스텝 S1에서 생성된 엔트리임)에 포함되는 폴리시 리스트와 스키마 리스트에 포함되는지 아닌지, 및, 키 요구 메시지에 포함되는 공개 패러미터가 당해 키 생성 장치(20)의 공개 패러미터인지 아닌지를 검증한다(스텝 S36a). 이 검증에 실패한 경우, 키 생성 처리의 실패로서 처리를 종료한다(스텝 S36g). 또한, 스텝 S36a의 처리에서는, 키 요구 메시지에 인증 정보가 포함되면, 키 요구 메시지에 포함되는 인증 정보의 검증도 행해진다. 키 생성 장치(20)는 메모리(21)에 인증 테이블을 기억하고 있다. 인증 테이블에서는, 예를 들면, 도 16에 나타내는 바와 같이, 이용자의 ID에 대하여 패스워드가 대응시켜져 있다. 그래서, 검증부는 키 요구 메시지에 포함되는 이용자의 ID와 패스워드와 인증 테이블에 포함되는 이용자의 ID와 패스워드와의 정합성을 검증한다. 이 검증에 실패한 경우도, 스텝 S36g의 처리가 행해진다.
이 검증에 성공한 경우, 키 생성 장치(20)의 검증부가 키 요구 메시지에 이용자 정보가 포함되어 있는지 아닌지를 검증한다(스텝 S36b). 키 요구 메시지에 이용자 정보가 포함되어 있으면 스텝 S36c의 처리를 행하고, 키 요구 메시지에 이용자 정보가 포함되어 있지 않으면 스텝 S37의 처리를 행한다. 또한, 반드시 키 요구 메시지에 이용자 정보가 포함되는 방법을 채용하는 경우에는, 스텝 S36b의 처리 및 후술하는 《이용자 정보 취득 프로세스》는 불필요하다.
여기에서 《키 생성 프로세스》의 설명을 중단하고, 《이용자 정보 취득 프로세스》의 설명을 한다.
키 생성 장치(20)의 송신부는 키 요구 메시지에 포함되는 폴리시와 (만약 있으면) 인증 정보를 포함하는 리퀘스트를 관리 장치(40)에 송신하고, 관리 장치(40)가 리퀘스트를 수신한다(스텝 S37). 수신한 리퀘스트는 관리 장치(40)의 메모리에 기억된다.
관리 장치(40)는 메모리에 인증 테이블을 기억하고 있다. 이 인증 테이블에서는, 상기의 인증 테이블과 마찬가지로, 이용자의 ID에 대하여 패스워드가 대응시켜져 있다(도 16 참조). 그래서, 관리 장치(40)의 검증부(도시 생략)는 리퀘스트에 포함되는 이용자의 ID와 패스워드와 인증 테이블에 포함되는 이용자의 ID와 패스워드와의 정합성을 검증한다.
이 검증에 성공하면, 관리 장치(40)의 검색부(도시 생략)가 리퀘스트에 포함되는 폴리시에 따라, 메모리에 기억되어 있는 이용자 정보 테이블로부터 속성 지정 정보 또는 술어 지정 정보를 검색한다(스텝 S38). 이용자 정보 테이블은, 예를 들면, 이용자의 ID와 이것에 대응시켜진 속성명 및 속성 지정 정보로 구성되는 제 1 테이블과, 이용자의 ID와 이것에 대응시켜진 술어 지정 정보로 구성되는 제 2 테이블을 포함하고 있다(도 17 참조). 속성 지정 정보 또는 술어 지정 정보의 어느 것을 읽어낼지는 리퀘스트에 포함되는 폴리시에 의해 결정된다. 즉, 읽어내지는 정보는 이 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마를 특정하는 폴리시의 내용에 대응하는 지정 정보이다. 만약 폴리시가 Cipher_Text_Policy인 경우, 검색부는 제 1 테이블로부터 리퀘스트에 포함되는 이용자의 ID에 대응하는 속성 지정 정보를 취득한다. 만약 폴리시가 Key_Policy인 경우, 검색부는 제 2 테이블로부터 리퀘스트에 포함되는 이용자의 ID에 대응하는 술어 지정 정보를 취득한다. 읽어내진 지정 정보를 이용자 정보라고 부른다.
관리 장치(40)의 송신부는 제어부에 의한 제어를 받아, 검색결과의 이용자 정보를 키 생성 장치(20)에 송신하고, 키 생성 장치(20)의 수신부가 이용자 정보를 수신한다(스텝 S39). 수신한 이용자 정보는 키 생성 장치(20)의 메모리(21)에 기억된다.
이상으로 《이용자 정보 취득 프로세스》를 종료하고, 다시 《키 생성 프로세스》의 설명으로 되돌아온다.
이용자 정보를 이미 소유하고 있는 경우, 또는, 이용자 정보 취득 프로세스에 의해 이용자 정보를 수신한 경우(스텝 S39), 키 생성 장치(20)의 제 2 술어 논리 정보 취득부(23)는 메모리(21)로부터 폴리시와, 스키마 페어와, 공개 패러미터와, 이용자 정보를 읽어들이고, 이용자 정보로부터, 속성 정보(제 2 속성 정보라고 함) 또는 술어 정보(제 2 술어 정보라고 함)를 얻는다(스텝 S36c). 일반적으로, 제 1 복호 장치(30-1)의 이용자와 제 2 복호 장치(30-2)의 이용자는 다르기 때문에, 이 처리에서 얻어지는 제 2 속성 정보 또는 제 2 술어 정보는 스텝 S24c의 처리에서 얻어지는 제 2 속성 정보 또는 제 2 술어 정보와 동일하게 되는 보증은 없다. 이 처리에 있어서 이용자 정보에 적용되는 스키마는 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마이다. 폴리시가 Cipher_Text_Policy인 경우, Cipher_Text_Policy로 특정되는 일방의 스키마(술어용 스키마)와 페어로 되어 있는 타방의 스키마(속성용 스키마)를 사용하여, 이용자 정보(속성 지정 정보)로부터 제 2 속성 정보를 얻는다. 폴리시가 Key_Policy인 경우, Key_Policy로 특정되는 일방의 스키마(속성용 스키마)와 페어로 되어 있는 타방의 스키마(술어용 스키마)를 사용하여, 이용자 정보(술어 지정 정보)로부터 제 2 술어 정보를 얻는다. 이와 같이, 이 처리에서 사용되는 스키마는 스텝 S17a에서 사용된 스키마와 페어로 되어 있는 스키마인 것에 주의하지 않으면 안 된다. 제 2 속성 정보와 제 2 술어 정보는, 제 2 관점에 의한 제 1 실시형태에서는, 유한체(Fq)의 원소를 성분으로 하는 하나 또는 복수의 벡터 정보로 된다(도 11-13 참조). 이때, 스키마를 사용하여 입력 정보로부터 필요한 속성값의 추출이나 정렬화가 행해진다.
다음에, 키 생성 장치(20)의 키 생성부(25)가, 술어 암호 알고리즘에 따라, 공개 패러미터의 q에 기초하여 유한체(Fq)의 원소인 난수(ε)를 생성하고, 메모리(21)로부터의 제 2 속성 정보(v'(p))=(v'(p)1, …, v'(p)n) 또는 제 2 술어 정보(w'(p))=(w'(p)1, …, w'(p)n)와, 당해 키 생성 장치의 비밀키(B*)를 사용하여, 식 (14)에 따라 복호키(R')를 구한다(스텝 S36d). 암호화 처리에서 사용된 입력 정보가 속성 지정 정보인 경우에 대응하여, 이 예에서는 제 2 술어 정보(w'(p))를 사용하고 있지만, 입력 정보가 술어 지정 정보인 경우에는, 제 2 속성 정보(v'(p))가 대응하므로, 식 (14)에 있어서 w'(p)를 v'(p)로 치환하면 된다.
[수42]
Figure 112013003968060-pct00044
다음에, 키 생성 장치(20)의 송신부(24)는 제어부에 의한 제어를 받아, 복호키(R')를 제 2 복호 장치(30-2)에 송신하고, 제 2 복호 장치(30-2)의 수신부가 복호키(R)를 수신한다(스텝 S40). 수신한 복호키(R)는 제 2 복호 장치(30-2)의 메모리(31)에 기억된다.
이상으로 《키 생성 프로세스》를 종료하고, 다시 《복호 프로세스》의 설명으로 되돌아온다.
복호키를 이미 소유하고 있는 경우, 또는, 키 생성 프로세스에 의해 복호키를 수신한 경우(스텝 S40), 제 2 복호 장치(30-2)의 복호부(33)가 메모리(31)로부터 공개 패러미터와 복호키(R')와 암호 정보(C1)와 (필요에 따라) 암호문(C2)을 읽어들이고, 공통키(K)와 (필요에 따라) 평문(M)을 구한다(스텝 S41).
이 스텝 S41의 처리의 상세에 대하여 설명을 가한다. 제 1 복호부(33a)는 메모리(31)로부터 공개 패러미터와 암호 정보(C1)와 복호키(R')를 읽어들이고, 술어 암호 알고리즘에 따라, e(C1, R')를 구한다. 이 연산결과는 식 (15)에 나타내는 바와 같이, 입력 정보가 속성 지정 정보인 경우, 쌍선 형성에 기초하여 암호 정보(C1)와 복호키(R')로부터 취출된 제 1 속성 정보(v)와 제 2 술어 정보(w'(p))의 표준 내적의 결과에 의존한다. 입력 정보가 술어 지정 정보인 경우, 식 (15)에 있어서 v를 v'(p)로, w'(p)를 w로 치환하면 되고, 연산결과는 쌍선 형성에 기초하여 암호 정보(C1)와 복호키(R')로부터 취출된 제 1 술어 정보(w)와 제 2 속성 정보(v'(p))의 표준 내적의 결과에 의존한다. 단, e(bi, bi *)는 상기 식 (12)와 같이 정의된다.
[수43]
Figure 112013003968060-pct00045
따라서, 제 1 속성 정보(v)와 제 2 술어 정보(w'(p))의 표준 내적이 0(또는 제 1 술어 정보(w)와 제 2 속성 정보(v'(p))의 표준 내적이 0)인 경우, 식 (15)의 연산결과(gT ρ)가 얻어진다. 이 연산결과(gT ρ)가 얻어진 경우, 제 2 복호 장치(30-2)의 제 1 복호부(33a)는 상기 식 (7)에 따라 "옳은" 공통키(K)를 얻는다(스텝 S34c). 만약 제 1 속성 정보(v)와 제 2 술어 정보(w'(p))의 표준 내적이 0(또는 제 1 술어 정보(w)와 제 2 속성 정보(v'(p))의 표준 내적이 0)이 아닌 경우, 제 1 복호부(33a)는 상기 식 (7)에 따라 "옳지 않은" 값을 얻는다. 이 예에서는, 해쉬 함수(H)는 시스템에 공통이라고 할지 공개 패러미터에 포함되는 것으로 한다. 이 예에서는, 암호 정보(C1)가 공통키(K)의 생성에 사용하는 정보(ρ)에 대응하는 정보이지만, 암호 정보(C1)를 공통키(K)에 대응하는 정보로 하는 경우에는, 식 (15)의 연산결과가 공통키(K)(또는 옳지 않은 값)로 된다. 즉, 제 2 복호 장치(30-2)의 정당한 이용자는, 제 1 속성 정보(v)와의 표준 내적이 0이 되는 제 2 술어 정보(w'(p))를 주는 술어 지시 정보, 또는, 제 1 술어 정보(w)와의 표준 내적이 0이 되는 제 2 속성 정보(v'(p))를 주는 속성 지시 정보를 갖는다.
다음에, 제 2 복호부(33b)가, 공통키(K)와 암호문(C2)을 사용하여, 상기 식 (13)에 따라 평문(M)을 구한다(스텝 S34d). 공통키를 사용한 복호 방법(DecK)은 암호화 방법(EncK)에 대응한다. 전술한 바와 같이, 제 2 관점에 의한 제 1 실시형태가 공통키(K)의 배송에 특화한 실시형태인 경우에는, 스텝 S34d의 처리는 생략된다. 즉, 제 2 복호 장치(30-2)는, 제 2 복호부(33b)의 기능을 가진다고 해도, 스텝 S34d의 처리를 행하지 않는다.
만약, 식 (15)에 따른 연산결과가 옳지 않은 값일 경우에는, 상기 식 (13)에 의해서는 옳은 평문(M)을 얻을 수 없다.
또한, 제 2 복호 장치(30-2)는 복호키(R)를 복호키 테이블에 기억해도 된다. 또한 공통키(K)를 복호키 테이블에 부가하여 기억해도 된다.
이것으로 《제 2 복호 프로세스》는 종료한다.
제 2 복호 장치(30-2)가 전송부(37)를 갖는 경우에는, 제 2 복호 장치(30-2)는 제 1 복호 장치(30-1)로부터 수신한 암호 메시지를 다른 제 2 복호 장치(암호 메시지의 주고받음에 대하여 암호화 장치와 당사자의 관계에 없는 복호 장치)에 전송해도 되고, 제 1 복호 장치(암호 메시지의 주고받음에 대하여 암호화 장치와 당사자의 관계에 있는 복호 장치)에 전송해도 된다. 이 전송 처리는 제 2 복호 장치(30-2)가 제 1 복호 장치(30-1)로부터 암호 메시지를 수신한 이후이면 언제라도 좋다.
[제 2 관점에 의한 제 2 실시형태]
제 2 관점에 의한 제 2 실시형태에서는, 제 2 관점에 의한 제 1 실시형태와 달리, 제 1 복호 장치(30-1)와 제 2 복호 장치(30-2)가 제 2 속성 정보 또는 제 2 술어 정보를 생성한다. 이 차이에 따라, 제 2 관점에 의한 제 2 실시형태는 몇개의 사항에서 제 2 관점에 의한 제 1 실시형태와 다르다. 그래서, 제 2 관점에 의한 제 1 실시형태와 중복되는 부분에 대해서는 중복설명을 생략하고(동일한 구성요소에 같은 참조번호를 할당함), 도 42-도 48을 참조하면서 제 1 실시형태와 상이한 부분을 설명한다.
스텝 S1로부터 스텝 S22b까지의 처리는 제 2 관점에 의한 제 1 실시형태와 같다.
스텝 S22b의 처리에서 복호키를 소유하고 있지 않은 경우, 제 1 복호 장치(30-1)의 제 2 술어 논리 정보 취득부(35)가 메모리(31)로부터 폴리시와, 스키마 페어와, 공개 패러미터와, 이용자 정보를 읽어들이고, 이용자 정보로부터, 속성 정보(제 2 속성 정보라고 함) 또는 술어 정보(제 2 술어 정보라고 함)를 얻는다(스텝 S23g). 이 처리에 있어서 이용자 정보에 적용되는 스키마는 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마이다. 폴리시가 Cipher_Text_Policy인 경우, Cipher_Text_Policy로 특정되는 일방의 스키마(술어용 스키마)와 페어로 되어 있는 타방의 스키마(속성용 스키마)를 사용하여, 이용자 정보(속성 지정 정보)로부터 제 2 속성 정보를 얻는다. 폴리시가 Key_Policy인 경우, Key_Policy로 특정되는 일방의 스키마(속성용 스키마)와 페어로 되어 있는 타방의 스키마(술어용 스키마)를 사용하여, 이용자 정보(술어 지정 정보)로부터 제 2 술어 정보를 얻는다. 이와 같이, 이 처리에서 사용되는 스키마는, 스텝 S17a에서 사용된 스키마와 페어로 되어 있는 스키마인 것에 주의하지 않으면 안 된다. 제 2 속성 정보와 제 2 술어 정보는, 제 2 관점에 의한 제 2 실시형태에서는, 유한체(Fq)의 원소를 성분으로 하는 하나 또는 복수의 벡터 정보로 된다(도 11-13 참조).
스텝 S23g의 처리 후, 스텝 S23의 처리가 행해진다. 단, 이 처리에서는, 제 1 복호 장치(30-1)의 송신부(34)가 제어부에 의한 제어를 받아, 메모리(31)로부터의 공개 패러미터, 폴리시, 스키마 페어, 인증 정보, 제 2 속성 정보 또는 제 2 술어 정보를 정리한 키 요구 메시지를 생성한다. 그리고, 제 1 복호 장치(30-1)의 송신부(34)는 메모리(31)로부터의 어드레스를 갖는 키 생성 장치에 키 요구 메시지를 송신하고, 이 키 생성 장치(20)의 수신부가 키 요구 메시지를 수신한다.
그리고, 스텝 S24a의 처리에서 검증에 성공한 경우, 스텝 S24d의 처리가 행해진다. 키 생성 장치(20)는 제 1 복호 장치(30-1)로부터 제 2 속성 정보 또는 제 2 술어 정보를 수신하고 있기 때문에, 제 2 관점에 의한 제 1 실시형태와 달리, 이 정보를 생성하기 위한 기능과 처리가 불필요하다.
그리고, 스텝 S24d의 처리 후의 스텝 S28부터 스텝 S34a까지의 각 처리는 제 2 관점에 의한 제 1 실시형태와 같다.
스텝 S34b의 처리에서 복호키를 소유하고 있지 않은 경우, 제 2 복호 장치(30-2)의 제 2 술어 논리 정보 취득부(35)가 메모리(31)로부터 폴리시와, 스키마 페어와, 공개 패러미터와, 이용자 정보를 읽어들이고, 이용자 정보로부터, 속성 정보(제 2 속성 정보라고 함) 또는 술어 정보(제 2 술어 정보라고 함)를 얻는다(스텝 S35g). 이 처리에 있어서 이용자 정보에 적용되는 스키마는 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마이다. 폴리시가 Cipher_Text_Policy인 경우, Cipher_Text_Policy로 특정되는 일방의 스키마(술어용 스키마)와 페어로 되어 있는 타방의 스키마(속성용 스키마)를 사용하여, 이용자 정보(속성 지정 정보)로부터 제 2 속성 정보를 얻는다. 폴리시가 Key_Policy인 경우, Key_Policy로 특정되는 일방의 스키마(속성용 스키마)와 페어로 되어 있는 타방의 스키마(술어용 스키마)를 사용하여, 이용자 정보(술어 지정 정보)로부터 제 2 술어 정보를 얻는다. 이와 같이, 이 처리에서 사용되는 스키마는 스텝 S17a에서 사용된 스키마와 페어로 되어 있는 스키마인 것에 주의하지 않으면 안 된다. 제 2 속성 정보와 제 2 술어 정보는, 제 2 관점에 의한 제 2 실시형태에서는, 유한체(Fq)의 원소를 성분으로 하는 하나 또는 복수의 벡터 정보로 된다(도 11-13 참조).
스텝 S35g의 처리 후, 스텝 S35의 처리가 행해진다. 단, 이 처리에서는, 제 2 복호 장치(30-2)의 송신부(34)가 제어부에 의한 제어를 받아, 메모리(31)로부터의 공개 패러미터, 폴리시, 스키마 페어, 인증 정보, 제 2 속성 정보 또는 제 2 술어 정보를 정리한 키 요구 메시지를 생성한다. 그리고, 제 2 복호 장치(30-2)의 송신부(34)는 메모리(31)로부터의 어드레스를 갖는 키 생성 장치에 키 요구 메시지를 송신하고, 이 키 생성 장치(20)의 수신부가 키 요구 메시지를 수신한다.
그리고, 스텝 S36a의 처리에서 검증에 성공한 경우, 스텝 S36d의 처리가 행해진다. 키 생성 장치(20)는 제 2 복호 장치(30-2)로부터 제 2 속성 정보 또는 제 2 술어 정보를 수신하고 있기 때문에, 제 2 관점에 의한 제 1 실시형태와 달리, 이 정보를 생성하기 위한 기능과 처리가 불필요하다.
그리고, 스텝 S36d의 처리 후의 스텝 S40과 스텝 S41의 각 처리는 제 2 관점에 의한 제 1 실시형태와 같다.
[제 2 관점에 의한 제 3 실시형태]
제 2 관점에 의한 제 3 실시형태에서는, 제 2 관점에 의한 제 1 실시형태와 달리, 암호화 장치(10)의 암호화부(13)가 제 1 속성 정보(v)=(v1, …, vn) 또는 제 1 술어 정보(w)=(w1, …, wn)와, 메모리(11)로부터의 공개 패러미터에 포함되는 공개키와 평문(M)을 사용하여, 암호 정보(C1)를 구한다. 즉, 제 2 관점에 의한 제 3 실시형태에서는, 예를 들면, 상기 비특허문헌 2에 개시하는 술어 암호 알고리즘이 사용된다. 이 차이에 따라, 제 2 관점에 의한 제 3 실시형태는, 몇개의 사항에서 제 2 관점에 의한 제 1 실시형태와 다르다. 그래서, 제 2 관점에 의한 제 1 실시형태와 중복되는 부분에 대해서는 중복설명을 생략하고(동일한 구성요소에 같은 참조번호를 할당함), 도 49-도 54를 참조하면서 제 2 관점에 의한 제 1 실시형태와 상이한 부분을 설명한다.
스텝 S1로부터 스텝 S17a까지의 처리는 제 2 관점에 의한 제 1 실시형태와 같다. 단, 공개 패러미터 등의 정보는 제 2 관점에 의한 제 3 실시형태의 술어 암호 알고리즘에 필요한 정보로 된다. 구체적인 정보에 대해서는, 예를 들면, 상기 비특허문헌 2 등을 참고하기 바란다.
스텝 S17a의 처리에 이어지는 스텝 S17b1의 처리에서는, 암호화 장치(10)의 암호화부(13)가, 술어 암호 알고리즘에 따라, 제 1 속성 정보(v)=(v1, …, vn) 또는 제 1 술어 정보(w)=(w1, …, wn)와, 메모리(11)로부터의 공개 패러미터에 포함되는 공개키와 평문(M)을 사용하여, 암호 정보(C1)를 구한다(스텝 S17b1).
다음에, 스텝 S17b1의 처리 후, 스텝 S17d의 처리가 행해진다. 단, 이 처리에서는, 암호화 장치(10)의 송신부(14)가 제어부에 의한 제어를 받아, 암호 정보(C1)와, 메모리(11)로부터의 스키마 페어, 폴리시, 공개 패러미터, 키 생성 장치의 어드레스를 정리한 암호 메시지를 생성한다(스텝 S17d).
스텝 S17d의 처리에 이어지는 스텝 S18부터 스텝 S28까지의 처리는 제 2 관점에 의한 제 1 실시형태와 같다.
스텝 S28의 처리에 이어지는 스텝 S22c1의 처리에서는, 제 1 복호 장치(30-1)의 복호부(33)가, 술어 암호 알고리즘에 따라, 메모리(31)로부터 공개 패러미터와 복호키(R)와 암호 정보(C1)를 읽어들이고, 평문(M)을 구한다(스텝 S22c1).
스텝 S22c1의 처리에 이어지는 스텝 S30부터 스텝 S40까지의 처리는 제 2 관점에 의한 제 1 실시형태와 같다.
스텝 S40의 처리에 이어지는 스텝 S34c1의 처리에서는, 제 2 복호 장치(30-2)의 복호부(33)가, 술어 암호 알고리즘에 따라, 메모리(31)로부터 공개 패러미터와 복호키(R)와 암호 정보(C1)를 읽어들이고, 평문(M)을 구한다(스텝 S34c1).
[제 2 관점에 의한 제 4 실시형태]
제 2 관점에 의한 제 4 실시형태는 제 2 관점에 의한 제 2 실시형태와 제 2 관점에 의한 제 3 실시형태의 조합 형태에 상당한다. 즉, 제 2 관점에 의한 제 4 실시형태는, 제 2 관점에 의한 제 1 실시형태와 달리, (1) 제 1 복호 장치(30-1)와 제 2 복호 장치(30-2)가 제 2 속성 정보 또는 제 2 술어 정보를 생성하고, (2) 암호화 장치(10)의 암호화부(13)가 제 1 속성 정보(v)=(v1, …, vn) 또는 제 1 술어 정보(w)=(w1, …, wn)와, 메모리(11)로부터의 공개 패러미터에 포함되는 공개키와 평문(M)을 사용하여, 암호 정보(C1)를 구한다. 이 차이에 따라, 제 2 관점에 의한 제 4 실시형태는, 몇개의 사항에서 제 2 관점에 의한 제 1 실시형태와 다르다. 그래서, 제 2 관점에 의한 제 1 실시형태와 중복되는 부분에 대해서는 중복설명을 생략하고(동일한 구성요소에 같은 참조번호를 할당함), 도 55부터 도 58도 참조하여 제 1 실시형태와 상이한 부분을 설명한다.
스텝 S1로부터 스텝 S17a까지의 처리는 제 2 관점에 의한 제 1 실시형태와 같다. 단, 공개 패러미터 등의 정보는 제 2 관점에 의한 제 4 실시형태의 술어 암호 알고리즘에 필요한 정보로 된다. 구체적인 정보에 대해서는, 예를 들면, 상기 비특허문헌 3 등을 참고하기 바란다.
스텝 S17a의 처리에 이어지는 스텝 S17b1의 처리에서는, 암호화 장치(10)의 암호화부(13)가, 술어 암호 알고리즘에 따라, 제 1 속성 정보(v)=(v1, …, vn) 또는 제 1 술어 정보(w)=(w1, …, wn)와, 메모리(11)로부터의 공개 패러미터에 포함되는 공개키와 평문(M)을 사용하여, 암호 정보(C1)를 구한다(스텝 S17b1).
다음에, 스텝 S17b1의 처리 후, 스텝 S17d의 처리가 행해진다. 단, 이 처리에서는, 암호화 장치(10)의 송신부(14)가 제어부에 의한 제어를 받아, 암호 정보(C1)와, 메모리(11)로부터의 스키마 페어, 폴리시, 공개 패러미터, 키 생성 장치의 어드레스를 정리한 암호 메시지를 생성한다(스텝 S17d).
스텝 S17d의 처리에 이어지는 스텝 S18부터 스텝 S22b의 처리까지는, 제 2 관점에 의한 제 1 실시형태와 같다.
스텝 S22b의 처리에서 복호키를 소유하고 있지 않은 경우, 제 1 복호 장치(30-1)의 제 2 술어 논리 정보 취득부(35)가 메모리(31)로부터 폴리시와, 스키마 페어와, 공개 패러미터와, 이용자 정보를 읽어들이고, 이용자 정보로부터, 속성 정보(제 2 속성 정보라고 함) 또는 술어 정보(제 2 술어 정보라고 함)를 얻는다(스텝 S23g). 이 처리에 있어서 이용자 정보에 적용되는 스키마는 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마이다. 폴리시가 Cipher_Text_Policy인 경우, Cipher_Text_Policy로 특정되는 일방의 스키마(술어용 스키마)와 페어로 되어 있는 타방의 스키마(속성용 스키마)를 사용하여, 이용자 정보(속성 지정 정보)로부터 제 2 속성 정보를 얻는다. 폴리시가 Key_Policy인 경우, Key_Policy로 특정되는 일방의 스키마(속성용 스키마)와 페어로 되어 있는 타방의 스키마(술어용 스키마)를 사용하여, 이용자 정보(술어 지정 정보)로부터 제 2 술어 정보를 얻는다. 이와 같이, 이 처리에서 사용되는 스키마는 스텝 S17a에서 사용된 스키마와 페어로 되어 있는 스키마인 것에 주의하지 않으면 안 된다. 제 2 속성 정보와 제 2 술어 정보는, 제 2 관점에 의한 제 4 실시형태에서는, 유한체(Fq)의 원소를 성분으로 하는 하나 또는 복수의 벡터 정보로 된다(도 11-13 참조).
스텝 S23g의 처리 후, 스텝 S23의 처리가 행해진다. 단, 이 처리에서는, 제 1 복호 장치(30-1)의 송신부(34)가 제어부에 의한 제어를 받아, 메모리(31)로부터의 공개 패러미터, 폴리시, 스키마 페어, 인증 정보, 제 2 속성 정보 또는 제 2 술어 정보를 정리한 키 요구 메시지를 생성한다. 그리고, 제 1 복호 장치(30-1)의 송신부(34)는 메모리(31)로부터의 어드레스를 갖는 키 생성 장치에 키 요구 메시지를 송신하고, 이 키 생성 장치(20)의 수신부가 키 요구 메시지를 수신한다.
그리고, 스텝 S24a의 처리에서 검증에 성공한 경우, 스텝 S24d의 처리가 행해진다. 키 생성 장치(20)는, 제 1 복호 장치(30-1)로부터 제 2 속성 정보 또는 제 2 술어 정보를 수신하고 있기 때문에, 이 정보를 생성하기 위한 기능과 처리가 불필요하다.
그리고, 스텝 S24d의 처리 후의 스텝 S28의 처리는 제 2 관점에 의한 제 1 실시형태와 같다.
스텝 S28의 처리에 이어지는 스텝 S22c1의 처리에서는, 제 1 복호 장치(30-1)의 복호부(33)가, 술어 암호 알고리즘에 따라, 메모리(31)로부터 공개 패러미터와 복호키(R)와 암호 정보(C1)를 읽어들이고, 평문(M)을 구한다(스텝 S22c1).
그리고, 스텝 S22c1의 처리 후의 스텝 S30부터 스텝 S34a까지의 각 처리는 제 2 관점에 의한 제 1 실시형태와 같다.
스텝 S34b의 처리에서 복호키를 소유하고 있지 않은 경우, 제 2 복호 장치(30-2)의 제 2 술어 논리 정보 취득부(35)가 메모리(31)로부터 폴리시와, 스키마 페어와, 공개 패러미터와, 이용자 정보를 읽어들이고, 이용자 정보로부터, 속성 정보(제 2 속성 정보라고 함) 또는 술어 정보(제 2 술어 정보라고 함)를 얻는다(스텝 S35g). 이 처리에 있어서 이용자 정보에 적용되는 스키마는 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마이다. 폴리시가 Cipher_Text_Policy인 경우, Cipher_Text_Policy로 특정되는 일방의 스키마(술어용 스키마)와 페어로 되어 있는 타방의 스키마(속성용 스키마)를 사용하여, 이용자 정보(속성 지정 정보)로부터 제 2 속성 정보를 얻는다. 폴리시가 Key_Policy인 경우, Key_Policy로 특정되는 일방의 스키마(속성용 스키마)와 페어로 되어 있는 타방의 스키마(술어용 스키마)를 사용하여, 이용자 정보(술어 지정 정보)로부터 제 2 술어 정보를 얻는다. 이와 같이, 이 처리에서 사용되는 스키마는 스텝 S17a에서 사용된 스키마와 페어로 되어 있는 스키마인 것에 주의하지 않으면 안 된다. 제 2 속성 정보와 제 2 술어 정보는, 제 2 관점에 의한 제 4 실시형태에서는, 유한체(Fq)의 원소를 성분으로 하는 하나 또는 복수의 벡터 정보로 된다(도 11-13 참조).
스텝 S35g의 처리의 후, 스텝 S35의 처리가 행해진다. 단, 이 처리에서는, 제 2 복호 장치(30-2)의 송신부(34)가 제어부에 의한 제어를 받아, 메모리(31)로부터의 공개 패러미터, 폴리시, 스키마 페어, 인증 정보, 제 2 속성 정보 또는 제 2 술어 정보를 정리한 키 요구 메시지를 생성한다. 그리고, 제 2 복호 장치(30-2)의 송신부(34)는 메모리(31)로부터의 어드레스를 갖는 키 생성 장치에 키 요구 메시지를 송신하고, 이 키 생성 장치(20)의 수신부가 키 요구 메시지를 수신한다.
그리고, 스텝 S36a의 처리에서 검증에 성공한 경우, 스텝 S36d의 처리가 행해진다. 키 생성 장치(20)는 제 2 복호 장치(30-2)로부터 제 2 속성 정보 또는 제 2 술어 정보를 수신하고 있기 때문에, 제 1 실시형태와 달리, 이 정보를 생성하기 위한 기능과 처리가 불필요하다.
그리고, 스텝 S36d의 처리 후의 스텝 S40의 처리는 제 2 관점에 의한 제 1 실시형태와 같다.
스텝 S40의 처리에 이어지는 스텝 S34c1의 처리에서는, 제 2 복호 장치(30-2)의 복호부(33)가, 술어 암호 알고리즘에 따라, 메모리(31)로부터 공개 패러미터와 복호키(R)와 암호 정보(C1)를 읽어들이고, 평문(M)을 구한다(스텝 S34c1).
제 2 관점에 의한 상기의 각 실시형태는, 예를 들면, 전자 메일 시스템이나 인스턴트 메시징 시스템으로서 실시된다. 도 59에 송수신되는 데이터의 구성을 예시한다. 메시지 전체의 기본적인 포맷은, 예를 들면, S/MIME(Secure Multipurpose Internet Mail Extensions)에 따르지만, 암호 메시지 개시 위치 마커로부터 암호 메시지 종료 위치 마커까지의 데이터는 XML(eXtensible Markup Language) 등으로 적절한 데이터 구성이 주어진다.
암호 메시지 개시 위치 마커로부터 암호 메시지 종료 위치 마커까지가 술어 암호에 관한 일련의 데이터를 나타낸다.
알고리즘 식별자 블록에는, 공통키의 암호화에 사용한 술어 암호 알고리즘과 메시지 페이로드의 암호화에 사용한 공통키 암호 알고리즘을 특정하기 위한 정보가 지정된다. 이와 같이, 알고리즘을 나타내는 식별자나 알고리즘의 버전 등을 지정할 수 있다(PE/VersionX+Camellia [Camellia는 등록상표] 등).
디지털 서명 블록에는 디지털 서명이 기술된다. 서명 알고리즘은 기존의 방식을 사용할 수 있다. 이 항목은 운용형태에 따라 생략 가능하다.
공개 패러미터 정보 블록에는, 사용한 공개 정보 패러미터를 특정하는 정보가 지정된다. 공개 정보 패러미터를 특정하는 식별자, 혹은 공개 정보 패러미터의 데이터 그 자체를 지정할 수도 있다.
폴리시 필드에는 사용한 폴리시를 특정하는 식별자가 지정된다.
스키마 필드에는, 사용한 스키마를 특정하는 식별자가 지정되거나, 혹은 스키마의 데이터가 기술된다.
암호 정보 필드에는 메시지 페이로드(평문)의 암호화에 사용한 공통키를 술어 암호로 암호화한 데이터(암호 정보)가 지정된다.
암호문 필드에는 메시지 페이로드(평문)를 암호화하여 작성한 데이터(암호문)가 기술된다.
속성 필드/술어 필드에는 폴리시 필드에 대응하여 암호화에 사용한 속성/술어를 나타내는 나타내는 문자열 표현을 지정할 수 있다. 이들 항목은 운용 형태에 따라는 생략 가능하다.
첨부 필드에는, 예를 들면, RSA 암호화한 첨부 파일 등을 첨부할 수 있다. 이 항목은 운용형태에 따라 생략 가능하다.
또한, 예를 들면, 인스턴트 메시징에 수반되는 시큐어 통신의 경우에는, 공통키를 암호화한 암호 정보를 재송할 필요는 없다. 인스턴트 메시징에서는 통상, 최초의 인스턴트 메시지에서 적절한 공통키를 취득할 수 있으면, 후속의 인스턴트 메시지의 복호에 사용하기 위하여 공통키를 수신자가 보존해 두어도 된다. 이와 같이 후속의 인스턴트 메시지를 송신자로부터 수신자에게 송신할 때는, 암호문은 보내지만, 공개 패러미터 정보, 폴리시, 스키마, 암호 정보를 보내지 않도록 해도 된다. 마찬가지로, 사용되는 암호 알고리즘을 변경하지 않는 운용의 경우에는, 후속의 인스턴트 메시지 내의 암호 알고리즘 식별자를 생략해도 된다.
술어 암호는, 암호화 시에, 수신자에 의존하는 정보에 구속되지 않는 방식이기 때문에, 송신자(장치)는 미지의 수신자(장치)에 대해서도 암호 메시지를 송신할 수 있다. 환언하면, 송신자는 복수의 수신자(장치)가 존재하는 경우이어도 암호화 처리를 1회밖에 행하지 않는다(공개키 암호 방식에서는, N회의 암호화 처리가 필요하다). 이 때문에, 송신자(장치)는 낮은 처리 비용으로 암호 메시지를 동보 송신할 수 있다.
또한 수신자(장치)가 제3자(장치)에 암호 메시지를 전송할 때, 암호화 장치로부터 수신한 암호 메시지를 그대로 제3자(장치)에게 전송할 수 있다. 공개키 암호 방식에서는, 수신자(장치)가 일단 암호 메시지를 복호하고, 제3자(장치)의 공개키를 사용하여 암호화하고, 이 암호화된 암호 메시지를 송신하는 처리가 필요하여, 처리 비용의 부담이 크다. 그러나, 상기의 각 실시형태에서는, 암호화 장치로부터 수신한 암호 메시지를 그대로 제3자(장치)에게 전송하기 때문에, 낮은 처리 비용으로 암호 메시지를 전송할 수 있다.
다음에 상기의 제 1 관점에 의한 암호 통신 기술에 유의하면서, 제 3 관점으로부터, 유연하게 운용 가능하며 술어 암호로 암호화된 콘텐츠(암호화 콘텐츠)를 배신하는 것이 가능한, 술어 암호에 의거하는 암호 통신 기술에 관한 실시형태를 설명한다. 이 기술에 의하면, 술어 암호로 암호화된 콘텐츠(암호화 콘텐츠)가 콘텐츠 서버 장치에 축적되고, 복호 장치로부터의 요구에 따라 암호화 콘텐츠를 송신함으로써, 암호화 콘텐츠를 배신할 수 있다.
제 3 관점에 의한 암호 통신 기술의 설명은 상기의 제 1 관점에 의한 암호 통신 기술의 설명과 실질적으로 중복되는 부분을 많이 포함하지만, 제 1 관점에 의한 암호 통신 기술의 설명을 참조하지 않아도 되도록, 가능한 한 중복 설명과 중복 도면을 생략하지 않고 제 3 관점에 의한 암호 통신 기술을 설명한다. 이 때문에, 수식의 번호, 기능부를 나타내는 참조번호, 스텝을 나타내는 참조번호 등도 양자에서 중복되지만, 문맥으로부터 혼란의 우려는 없을 것이다.
[제 3 관점에 의한 제 1 실시형태]
도 60으로부터 도 71을 참조하여 제 3 관점에 의한 본 발명의 제 1 실시형태를 설명한다.
제 3 관점에 의한 암호 시스템(1)은, 도 60에 나타내는 바와 같이, 복수의 클라이언트 장치(10, 30)와, 하나 또는 복수의 키 생성 장치(20)와, 하나 또는 복수의 콘텐츠 서버 장치(60)와, 하나 또는 복수의 유저 정보 관리 장치(40)(이하, 관리 장치라고 함), 변환 규칙 정보 페어 관리 장치(50)(이하, 등록 장치라고 함), 하나 또는 복수의 보전 장치(80), 하나 또는 복수의 인증 장치(90)를 포함하고 있다. 이들 각 장치는, 예를 들면, 인터넷인 통신망(5)을 통하여 서로 통신 가능하게 되어 있다.
클라이언트 장치는, 처리 목적에 따라, 콘텐츠를 암호화하여 암호화 콘텐츠를 생성하는 암호화 장치로서, 혹은 암호화 콘텐츠를 복호하는 복호 장치로서 기능한다. 그래서, 클라이언트 장치를 기능의 관점에서, 암호화 장치(10) 또는 복호 장치(30)로 호칭한다. 또한, 제 3 관점에 의한 암호 시스템(1)은 암호화 장치로서만 기능하는 클라이언트 장치 및/또는 복호 장치로서만 기능하는 클라이언트 장치를 포함해도 된다.
제 3 관점에 의한 암호 시스템(1)에서는 술어 암호를 사용한 암호화와 복호가 행해진다. 제 3 관점에 의한 본 발명에서는, 사용하는 술어 암호 알고리즘에 한정은 없고, 예를 들면, 상기 비특허문헌 2에 개시되는 술어 암호 알고리즘을 사용하는 것이 허용된다. 제 3 관점에 의한 제 1 실시형태에서는, KEM(Key Encapsulation Mechanisms) 타입의 술어 암호 알고리즘을 사용한 예를 제시한다.
암호 시스템(1)에 있어서의 암호 통신 방법을, 도 61, 62, 63, 64, 66, 69, 71을 참조하면서 서술한다. 각 장치의 기능 구성에 대해서는, 도 65, 67, 68, 70을 참조하기 바란다.
《준비 프로세스》
제 1 관점에 의한 발명의 제 1 실시형태에 있어서의 《준비 프로세스》의 설명 모두를 여기에 원용하고, 중복 설명을 생략한다. 또한, 이 《준비 프로세스》의 설명에 대응하는 도면으로서 도 61을, 스키마 페어에 대해서는 도 11-13을, 폴리시 리스트에 대해서는 도 14를 참조하기 바란다. 이것으로 《준비 프로세스》는 종료된다.
《암호화 프로세스》
암호화 장치(10)의 송신부(14)는 도시하지 않은 제어부의 제어를 받아, 검색 쿼리를 등록 장치(50)에 송신하고, 등록 장치(50)의 수신부가 검색 쿼리를 수신한다(스텝 S14). 등록 장치(50)의 검색부는 등록 장치(50)의 기억부에 등록되어 있는 엔트리의 일부 또는 전부를 검색하여 하나의 엔트리를 고르고(스텝 S15), 등록 장치(50)의 송신부는 검색결과의 엔트리를 암호화 장치(10)에 송신하고, 암호화 장치(10)의 수신부는 엔트리를 수신한다(스텝 S16). 이 엔트리에는, 키 생성 장치의 어드레스, 이 키 생성 장치의 공개 패러미터, 이 키 생성 장치가 사용 가능한 폴리시 리스트, 이 키 생성 장치가 사용 가능한 스키마 리스트가 포함되어 있다. 수신한 엔트리는 암호화 장치(10)의 메모리(11)에 기억된다.
또한, 각 키 생성 장치(20)의 공개 패러미터, 스키마 리스트, 폴리시 리스트, 어드레스를 미리 암호화 장치(10)가 소유하고 있을 경우에는, 스텝 S14-S16의 처리는 생략된다. 즉, 암호 시스템(1)이 등록 장치(50)를 포함하지 않는 형태도 허용되는 것에 주의하지 않으면 안 된다.
암호화 장치(10)의 제 1 술어 논리 정보 취득부(12)가 메모리(11)로부터 입력 정보와 폴리시와 스키마를 읽어들이고, 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 구한다(스텝 S17a). 이 처리의 상세 에 대하여 설명을 가한다(도 12, 도 13 참조).
우선, 스키마 리스트에 복수의 스키마 페어가 기술되어 있는 경우, 용도 등에 따라 하나의 스키마 페어가 선택된다. 암호화 장치(10)의 이용자에 의해 스키마 페어가 선택되고 그 지시 정보가 입력되는 경우나, 소정의 규칙에 따라, 제 1 술어 논리 정보 취득부(12)가 스키마 페어를 선택해도 된다.
그리고, 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 폴리시와 함께 어느 일방의 스키마를 선택한다. 암호화 장치(10)의 이용자에 의해 폴리시와 어느 일방의 스키마가 선택되어 그 지시 정보가 입력되는 경우나, 소정의 규칙에 따라, 제 1 술어 논리 정보 취득부(12)가 폴리시와 어느 일방의 스키마를 선택하는 경우의 어느 것이어도 된다. 또한, 키 생성 장치(20)의 폴리시가 1종류의 타입만 준비되어 있는 경우에는, 그 폴리시에 따라 스키마 페어 중 일방의 스키마가 선택된다. 만약 선택된 스키마가 입력 정보의 종류에 대응하고 있지 않은 경우에는, 스키마 리스트로부터 스키마 페어를 재선택하거나, 등록 장치(50)로부터 엔트리의 제공을 다시 받으면 된다.
입력 정보는 암호화 장치(10)의 이용자에 의해 입력된 정보 또는, 예를 들면, IC 카드(39)와 같은 기억매체로부터 암호화 장치(10)의 취득부(도시 생략)가 취득한 정보이어도 된다.
그리고, 제 1 술어 논리 정보 취득부(12)가 폴리시에 따라 스키마 페어 중에서 선택된 스키마를 사용하여 입력 정보로부터 제 1 속성 정보 또는 제 1 술어 정보를 얻는다. 폴리시가 Key_Policy이며 선택된 스키마가 속성용 스키마일 경우에는 제 1 속성 정보가 얻어진다. 폴리시가 Cipher_Text_Policy이며 선택된 스키마가 술어용 스키마일 경우에는 제 1 술어 정보가 얻어진다. 제 1 속성 정보와 제 1 술어 정보는, 제 3 관점에 의한 제 1 실시형태에서는, 유한체(Fq)의 원소를 성분으로 하는 하나 또는 복수의 벡터 정보로 된다(도 11-13 참조). 이때, 스키마를 사용하여 입력 정보로부터 필요한 속성값의 추출이나 정렬화가 행해진다.
다음에, 암호화 장치(10)의 암호화부(13)가 제 1 속성 정보((v)=(v1, …, vn) 또는 제 1 술어 정보(w)=(w1, …, wn)와, 메모리(11)로부터의 공개 패러미터에 포함되는 직교 기저(B)(실질적인 공개키)와 콘텐츠(M)를 사용하여, 공통키(K)와 암호 정보(C1)와 암호화 콘텐츠(C2)를 구한다(스텝 S17b, S17c). 이들 처리의 상세에 대하여 설명을 가한다.
우선, 제 1 암호화부(13a)가, 술어 암호 알고리즘에 따라, 유한체(Fq)의 원소인 난수(r, ρ)를 생성하여, 상기 식 (7)과 같이 공통키(K)를 설정하고, 상기 식 (8)에 따라 암호 정보(C1)를 구한다(스텝 S17b). H는, 예를 들면, 해쉬 함수이다. 이 예에서는 제 1 속성 정보(v)를 사용하고 있지만, 제 1 술어 정보를 사용하는 경우에는 상기 식 (8)에 있어서 v를 w로 치환하면 된다. 또한 이 예에서는, 암호 정보(C1)는 공통키(K)의 생성에 사용하는 정보(ρ)에 대응하는 정보이지만, 암호 정보(C1)를 공통키(K)에 대응하는 정보로 해도 된다.
다음에, 제 2 암호화부(13b)가, 공통키(K)와 콘텐츠(M)를 사용하여, 상기 식 (9)에 따라 암호화 콘텐츠(C2)를 구한다(스텝 S17c). 공통키를 사용한 암호화 방법(EncK)은 주지의 방법이어도 되고, 예를 들면, 상기 비특허문헌 1에 개시되는 방법이다.
다음에, 암호화 장치(10)의 송신부(14)는 제어부에 의한 제어를 받아, 암호 정보(C1)와, 암호화 콘텐츠(C2)와, 메모리(11)로부터의 스키마 페어, 폴리시, 공개 패러미터, 키 생성 장치의 어드레스를 정리한 암호 메시지를 생성한다(스텝 S17d). 그리고 암호화 장치(10)의 송신부(14)는 암호 메시지를 콘텐츠 서버 장치(60)에 송신하고, 콘텐츠 서버 장치(60)의 수신부가 암호 메시지를 수신한다(스텝 S18). 암호화 콘텐츠의 업 로드는, 예를 들면, FTP(File Transfer Protocol)이나 Web DAV(Distributed Authoring and Versioning protocol for the WWW) 등의 주지의 방식을 이용하여 행해진다.
이것으로 《암호화 프로세스》는 종료된다.
《콘텐츠 배신 프로세스》
콘텐츠 서버 장치(60)는, 도시하지 않은 제어부의 제어하에, 그 메모리(61)에 각 암호화 장치(10)로부터 보내진 암호 메시지를 기억한다. 이것에 의해, 암호 메시지에 포함되는 암호 정보와 암호화 콘텐츠가 콘텐츠 서버 장치(60)에 등록된다. 콘텐츠 서버 장치(60)에 어떤 암호화 콘텐츠가 등록되어 있는지는, 예를 들면, Web 페이지 상에서 공개된다.
상기 Web 페이지는, 예를 들면, 인터넷 프로토콜에 따라, 복호 장치(30)의 브라우저부(38)에 의해, 복호 장치(30)의 디스플레이(도시 생략)에 표시된다. 복호 장치(30)의 이용자는 원하는 암호화 콘텐츠를 선택하는 입력 조작을 행한다. 복호 장치(30)의 브라우저부(38)는, 이용자가 입력한 정보에 기초하여, 선택된 암호화 콘텐츠를 콘텐츠 서버 장치(60)로부터 취득하기 위한 취득 요구를 복호 장치(30)의 복호부(33)(이하, 중계부라고 함)에 전해준다(스텝 S19). 그리고, 복호 장치(30)의 중계부(33)는 이 취득 요구를 콘텐츠 서버 장치(60)에 송신하고, 콘텐츠 서버 장치(60)의 수신부는 이 취득 요구를 수신한다(스텝 S20). 이와 같이, 브라우저부(38)와 콘텐츠 서버 장치(60)와의, 예를 들면, HTTP(Hiper Text Transfer Protocol)에 따른 주고받기는 중계부(33)를 경유하여 행해진다(예를 들면, WWW 브라우저의 프록시 설정을 사용하는 것이 허용됨). 콘텐츠 서버 장치(60)의 검색부(62)는, 취득 요구에서 지정된 암호화 콘텐츠를 포함하는 암호 메시지를 검색하고 그것을 선택하고(스텝 S21), 검색부(62)로부터의 지시에 기초하여, 콘텐츠 서버 장치(60)의 송신부(64)는 암호 메시지를 복호 장치(30)에 송신하고, 복호 장치(30)의 수신부는 암호 메시지를 수신한다(스텝 S22).
이것으로 《콘텐츠 배신 프로세스》는 종료된다.
《복호 프로세스》
복호 장치(30)의 송신부(34)는, 도시하지 않은 제어부의 제어를 받고, 암호 메시지에 포함되는 키 생성 장치의 어드레스를 포함하는 검색 쿼리를 등록 장치(50)에 송신하고, 등록 장치(50)의 수신부가 검색 쿼리를 수신한다(스텝 S23). 등록 장치(50)의 검색부는 어드레스로 지정된 키 생성 장치의 엔트리를 검색하여 그것을 선택하고(스텝 S24), 등록 장치(50)의 송신부는 검색결과의 엔트리를 복호 장치(30)에 송신하고, 복호 장치(30)의 수신부는 엔트리를 수신한다(스텝 S25). 이 엔트리에는, 키 생성 장치의 어드레스, 이 키 생성 장치의 공개 패러미터, 이 키 생성 장치가 사용가능한 폴리시 리스트, 이 키 생성 장치가 사용가능한 스키마 리스트가 포함되어 있다. 수신한 엔트리는 복호 장치(30)의 메모리(31)에 기억된다.
또한, 각 키 생성 장치(20)의 공개 패러미터, 스키마 리스트, 폴리시 리스트, 어드레스를 미리 복호 장치(30)가 소유하고 있는 경우에는, 스텝 S19-S21의 처리는 생략된다. 이 경우, 복호 장치(30)는 암호 메시지에 포함되는 어드레스에 대응하는 키 생성 장치의 엔트리를 자신의 메모리(31)로부터 검색하여 이것을 취득한다.
복호 장치(30)의 검증부(도시 생략)는 제어부의 제어를 받아, 암호 메시지에 포함되는 스키마 페어와 폴리시가 등록 장치(50)로부터 취득한 엔트리에 포함되는 폴리시 리스트와 스키마 리스트에 포함되는지 아닌지를 검증한다(스텝 S26a). 이 검증에 실패한 경우, 복호 처리의 실패로서 처리를 종료한다(스텝 S26g).
이 검증에 성공한 경우, 복호 장치(30)의 취득부(32)가, 예를 들면, IC 카드(39)와 같은 기억매체로부터, 당해 복호 장치(30)의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보를 읽어낸다(스텝 S26f). 속성 지정 정보 또는 술어 지정 정보의 어느 것을 읽어낼지는 암호 메시지에 포함되는 폴리시에 의해 결정된다. 즉, 읽어내지는 정보는 이 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마를 특정하는 폴리시의 내용에 대응하는 지정 정보이다. 만약 폴리시가 Cipher_Text_Policy인 경우, 취득부(32)는 기억매체로부터 속성 지정 정보를 읽어낸다. 만약 폴리시가 Key_Policy인 경우, 취득부(32)는 기억매체로부터 술어 지정 정보를 읽어낸다. 이하, 읽어내진 지정 정보를 이용자 정보라고 부른다. 또한 복호 장치(30)의 취득부(32)가 후술하는 키 생성 장치(20)에 있어서의 처리 《이용자 정보 취득 프로세스》와 마찬가지로, 관리 장치(40)로부터, 당해 복호 장치(30)의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보를 읽어내는 것도 허용된다. 또한, 제 3 관점에 의한 제 1 실시형태에서는, 스텝 S26f의 처리는 임의로 행해진다. 예를 들면, 미리 복호 장치(30)가 이용자에 대응하는 속성 지정 정보와 술어 지정 정보를 소유하고 있는 경우, 폴리시에 따라 속성 지정 정보 또는 술어 지정 정보 중 어느 하나가 이용자 정보가 된다.
다음에, 복호 장치(30)의 검증부가 암호 메시지에 포함되는 암호 정보를 복호 하기 위하여 사용하는 복호키를 가지고 있는지 아닌지를 검증한다(스텝 S26b).
복호 장치(30)는 메모리(31)에 복호키 테이블을 기억하고 있다. 복호키 테이블에서는, 예를 들면, 도 15에 나타내는 바와 같이, 키 생성 장치의 식별자에 대하여, 공개 패러미터와, 스키마 페어와, 복호키의 대상과, 술어 지정 정보와, 복호키가 대응시켜져 있다. 그래서, 검증부는 암호 메시지에 포함되는 어드레스에 의해 판별하는 키 생성 장치의 식별자, 공개 패러미터와, 스키마 페어와, 복호키의 대상(단, 이것은 암호 메시지에 포함되는 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마를 특정하는 폴리시의 내용에 대응함)에 대응하는 복호키의 유무를 검증한다. 만약 복호키가 존재하면, 스텝 S33의 처리를 행한다. 만약 복호키가 존재하지 않으면, 스텝 S27의 처리를 행한다.
여기에서 《복호 프로세스》의 설명을 중단하고, 《키 생성 프로세스》의 설명을 한다.
전술한 바와 같이 복호키가 존재하지 않는 경우, 복호 장치(30)의 송신부(34)는, 제어부에 의한 제어를 받고, 메모리(31)로부터의 공개 패러미터, 폴리시, 스키마 페어, (만약 있으면)이용자 정보, 인증 정보를 정리한 키 요구 메시지를 생성한다. 인증 정보는, 예를 들면, 이용자의 ID와 패스워드를 포함한다. 그리고, 복호 장치(30)의 송신부(34)는, 메모리(31)로부터의 어드레스를 갖는 키 생성 장치에 키 요구 메시지를 송신하고, 이 키 생성 장치(20)의 수신부가 키 요구 메시지를 수신한다(스텝 S27). 수신한 키 요구 메시지는 키 생성 장치(20)의 메모리(21)에 기억된다.
키 생성 장치(20)의 검증부(도시 생략)는 제어부의 제어를 받고, 키 요구 메시지에 포함되는 스키마 페어와 폴리시가 당해 키 생성 장치(20)가 소유하는 엔트리(예를 들면, 스텝 S1에서 생성된 엔트리임)에 포함되는 폴리시 리스트와 스키마 리스트에 포함되는지 아닌지, 및, 키 요구 메시지에 포함되는 공개 패러미터가 당해 키 생성 장치(20)의 공개 패러미터인지 아닌지를 검증한다(스텝 S28a). 이 검증에 실패한 경우, 키 생성 처리의 실패로서 처리를 종료한다(스텝 S28g). 또한, 스텝 S28a의 처리에서는, 키 요구 메시지에 인증 정보가 포함되면, 키 요구 메시지에 포함되는 인증 정보의 검증도 행해진다. 키 생성 장치(20)는 메모리(21)에 인증 테이블을 기억하고 있다. 인증 테이블에서는, 예를 들면, 도 16에 나타내는 바와 같이, 이용자의 ID에 대하여 패스워드가 대응시켜져 있다. 그래서, 검증부는 키 요구 메시지에 포함되는 이용자의 ID와 패스워드와 인증 테이블에 포함되는 이용자의 ID와 패스워드와의 정합성을 검증한다. 이 검증에 실패한 경우도 스텝 S28g의 처리가 행해진다.
이 검증에 성공한 경우, 키 생성 장치(20)의 검증부가 키 요구 메시지에 이용자 정보가 포함되어 있는지 아닌지를 검증한다(스텝 S28b). 키 요구 메시지에 이용자 정보가 포함되어 있으면 스텝 S28c의 처리를 행하고, 키 요구 메시지에 이용자 정보가 포함되어 있지 않으면 스텝 S29의 처리를 행한다. 또한, 반드시 키 요구 메시지에 이용자 정보가 포함되는 방법을 채용하는 경우에는, 스텝 S28b의 처리 및 후술하는 《이용자 정보 취득 프로세스》는 불필요하다.
여기에서 《키 생성 프로세스》의 설명을 중단하고, 《이용자 정보 취득 프로세스》의 설명을 한다.
키 생성 장치(20)의 송신부는 키 요구 메시지에 포함되는 폴리시와 (만약 있으면) 인증 정보를 포함하는 리퀘스트를 관리 장치(40)에 송신하고, 관리 장치(40)가 리퀘스트를 수신한다(스텝 S29). 수신한 리퀘스트는 관리 장치(40)의 메모리에 기억된다.
관리 장치(40)는 메모리에 인증 테이블을 기억하고 있다. 이 인증 테이블에서는, 상기의 인증 테이블과 마찬가지로, 이용자의 ID에 대하여 패스워드가 대응시켜져 있다(도 16 참조). 그래서, 관리 장치(40)의 검증부(도시 생략)는 리퀘스트에 포함되는 이용자의 ID와 패스워드와 인증 테이블에 포함되는 이용자의 ID와 패스워드와의 정합성을 검증한다.
이 검증에 성공하면, 관리 장치(40)의 검색부(도시 생략)가 리퀘스트에 포함되는 폴리시에 따라, 메모리에 기억되어 있는 이용자 정보 테이블로부터 속성 지정 정보 또는 술어 지정 정보를 검색한다(스텝 S30). 이용자 정보 테이블은, 예를 들면, 이용자의 ID와 이것에 대응시켜진 속성명 및 속성 지정 정보로 구성되는 제 1 테이블과, 이용자의 ID와 이것에 대응시켜진 술어 지정 정보로 구성되는 제 2 테이블을 포함하고 있다(도 17 참조). 속성 지정 정보 또는 술어 지정 정보의 어느 것을 읽어낼지는 리퀘스트에 포함되는 폴리시에 의해 결정된다. 즉, 읽어내지는 정보는, 이 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마를 특정하는 폴리시의 내용에 대응하는 지정 정보이다. 만약 폴리시가 Cipher_Text_Policy인 경우, 검색부는 제 1 테이블로부터 리퀘스트에 포함되는 이용자의 ID에 대응하는 속성 지정 정보를 취득한다. 만약 폴리시가 Key_Policy인 경우, 검색부는 제 2 테이블로부터 리퀘스트에 포함되는 이용자의 ID에 대응하는 술어 지정 정보를 취득한다. 읽어내진 지정 정보를 이용자 정보라고 부른다.
관리 장치(40)의 송신부는 제어부에 의한 제어를 받아 검색결과의 이용자 정보를 키 생성 장치(20)에 송신하고, 키 생성 장치(20)의 수신부가 이용자 정보를 수신한다(스텝 S31). 수신한 이용자 정보는 키 생성 장치(20)의 메모리(21)에 기억된다.
이상으로 《이용자 정보 취득 프로세스》를 종료하고, 다시 《키 생성 프로세스》의 설명으로 되돌아온다.
이용자 정보를 이미 소유하고 있는 경우, 또는, 이용자 정보 취득 프로세스에 의해 이용자 정보를 수신한 경우(스텝 S31), 키 생성 장치(20)의 제 2 술어 논리 정보 취득부(23)는 메모리(21)로부터 폴리시와, 스키마 페어와, 공개 패러미터와, 이용자 정보를 읽어들이고, 이용자 정보로부터, 속성 정보(제 2 속성 정보라고 함) 또는 술어 정보(제 2 술어 정보라고 함)를 얻는다(스텝 S28c). 이 처리에 있어서 이용자 정보에 적용되는 스키마는 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마이다. 폴리시가 Cipher_Text_Policy인 경우, Cipher_Text_Policy로 특정되는 일방의 스키마(술어용 스키마)와 페어로 되어 있는 타방의 스키마(속성용 스키마)를 사용하여, 이용자 정보(속성 지정 정보)로부터 제 2 속성 정보를 얻는다. 폴리시가 Key_Policy인 경우, Key_Policy로 특정되는 일방의 스키마(속성용 스키마)와 페어로 되어 있는 타방의 스키마(술어용 스키마)를 사용하여, 이용자 정보(술어 지정 정보)로부터 제 2 술어 정보를 얻는다. 이와 같이, 이 처리에서 사용되는 스키마는 스텝 S17a에서 사용된 스키마와 페어로 되어 있는 스키마인 것에 주의하지 않으면 안 된다. 제 2 속성 정보와 제 2 술어 정보는, 제 3 관점에 의한 제 1 실시형태에서는, 유한체(Fq)의 원소를 성분으로 하는 하나 또는 복수의 벡터 정보로 된다(도 11-13 참조). 이때, 스키마를 사용하여 입력 정보로부터 필요한 속성값의 추출이나 정렬화가 행해진다.
다음에, 키 생성 장치(20)의 키 생성부(25)가, 술어 암호 알고리즘에 따라, 공개 패러미터의 q에 기초하여 유한체(Fq)의 원소인 난수(α)를 생성하고, 메모리(21)로부터의 제 2 속성 정보(v(p))=(v(p)1, …, v(p)n) 또는 제 2 술어 정보(w(p))=(w(p)1, …, w(p)n)와, 당해 키 생성 장치의 비밀키(B*)를 사용하여, 상기 식 (10)에 따라 복호키(R)를 구한다(스텝 S28d). 암호화 처리에서 사용된 입력 정보가 속성 지정 정보인 경우에 대응하여, 이 예에서는 제 2 술어 정보(w(p))를 사용하고 있지만, 입력 정보가 술어 지정 정보인 경우에는, 제 2 속성 정보(v(p))가 대응하므로, 상기 식 (10)에 있어서 w(p)를 v(p)로 치환하면 된다.
다음에, 키 생성 장치(20)의 송신부(24)는 제어부에 의한 제어를 받아 복호키(R)를 복호 장치(30)에 송신하고, 복호 장치(30)의 수신부가 복호키(R)를 수신한다(스텝 S32). 수신한 복호키(R)는 복호 장치(30)의 메모리(31)에 기억된다.
이상으로 《키 생성 프로세스》를 종료하고, 다시 《복호 프로세스》의 설명으로 되돌아온다.
복호키를 이미 소유하고 있는 경우, 또는, 키 생성 프로세스에 의해 복호키를 수신한 경우(스텝 S32), 복호 장치(30)의 중계부(33)가 메모리(31)로부터 공개 패러미터와 복호키(R)와 암호 정보(C1)와 (필요에 따라) 암호화 콘텐츠(C2)를 읽어들이고, 공통키(K)와 콘텐츠(M)를 구한다(스텝 S33).
이 스텝 S33의 처리의 상세에 대하여 설명을 가한다. 중계부(33)는 복호 처리를 담당하는 제 1 복호부(33a)와 제 2 복호부(33b)를 포함한다.
제 1 복호부(33a)는 메모리(31)로부터 공개 패러미터와 암호 정보(C1)와 복호키(R)를 읽어들이고, 술어 암호 알고리즘에 따라, e(C1, R)를 구한다. 이 연산결과는 상기 식 (11)에 나타내는 바와 같이, 입력 정보가 속성 지정 정보인 경우, 쌍선 형성에 기초하여 암호 정보(C1)와 복호키(R)로부터 취출된 제 1 속성 정보(v)와 제 2 술어 정보(w(p))의 표준 내적의 결과에 의존한다. 입력 정보가 술어 지정 정보인 경우, 상기 식 (11)에 있어서 v를 v(p)로, w(p)를 w로 치환하면 되고, 연산결과는 쌍선 형성에 기초하여 암호 정보(C1)와 복호키(R)로부터 취출된 제 1 술어 정보(w)와 제 2 속성 정보(v(p))의 표준 내적의 결과에 의존한다. 단, e(bi, bi *)는 상기 식 (12)와 같이 정의된다. δij는 크로네커의 델타 기호이다.
따라서, 제 1 속성 정보(v)와 제 2 술어 정보(w(p))의 표준 내적이 0(또는 제 1 술어 정보(w)와 제 2 속성 정보(v(p))의 표준 내적이 0)인 경우, 상기 식 (11)의 연산결과(gT ρ)가 얻어진다. 이 연산결과(gT ρ)가 얻어진 경우, 복호 장치(30)의 제 1 복호부(33a)는 상기 식 (7)에 따라 "옳은" 공통키(K)를 얻는다(스텝 S26c). 만약 제 1 속성 정보(v)와 제 2 술어 정보(w(p))의 표준 내적이 0(또는 제 1 술어 정보(w)와 제 2 속성 정보(v(p))의 표준 내적이 0)이 아닌 경우, 제 1 복호부(33a)는 상기 식 (7)에 따라 "옳지 않은" 값을 얻는다. 이 예에서는, 해쉬 함수(H)는 시스템에 공통으로 하거나 공개 패러미터에 포함되는 것으로 한다. 이 예에서는, 암호 정보(C1)가 공통키(K)의 생성에 사용하는 정보(ρ)에 대응하는 정보이지만, 암호 정보(C1)를 공통키(K)에 대응하는 정보로 하는 경우에는, 상기 식 (11)의 연산결과가 공통키(K)(또는 옳지 않은 값)로 된다. 즉, 복호 장치(30)의 정당한 이용자는 제 1 속성 정보(v)와의 표준 내적이 0이 되는 제 2 술어 정보(w(p))를 주는 술어 지시 정보, 또는, 제 1 술어 정보(w)와의 표준 내적이 0이 되는 제 2 속성 정보(v(p))를 주는 속성 지시 정보를 갖는다.
다음에, 제 2 복호부(33b)가, 공통키(K)와 암호화 콘텐츠(C2)를 사용하여, 상기 식 (13)에 따라 콘텐츠(M)를 구한다(스텝 S26d). 공통키를 사용한 복호 방법(DecK)은 암호화 방법(EncK)에 대응한다.
만약, 상기 식 (11)에 따른 연산결과가 옳지 않은 값일 경우에는, 상기 식 (13)에 의해서는 옳은 콘텐츠(M)를 얻을 수 없다.
또한, 복호 장치(30)는 복호키(R)를 복호키 테이블에 기억해도 된다. 또한 공통키(K)를 복호키 테이블에 부가하여 기억해도 된다.
암호화 콘텐츠를 복호하여 얻어진 콘텐츠(M)는, 중계부(33)로부터 브라우저부(38)에 전해지고(스텝 S34), 브라우저부(38)에 의해, 복호 장치(30)의 디스플레이에 표시된다(스텝 S35).
이것으로 《복호 프로세스》는 종료된다.
[제 3 관점에 의한 제 2 실시형태]
제 3 관점에 의한 제 2 실시형태에서는, 제 3 관점에 의한 제 1 실시형태와 달리, 복호 장치(30)가 제 2 속성 정보 또는 제 2 술어 정보를 생성한다. 이 차이에 따라, 제 3 관점에 의한 제 2 실시형태는, 몇개의 사항에서 제 3 관점에 의한 제 1 실시형태와 상이하다. 그래서, 제 3 관점에 의한 제 1 실시형태와 중복되는 부분에 대해서는 중복 설명을 생략하고(동일한 구성요소에 동일한 참조번호를 할당함), 도 72-도 75를 참조하면서 제 3 관점에 의한 제 1 실시형태와 상이한 부분을 설명한다.
스텝 S1부터 스텝 S26b까지의 처리는 제 3 관점에 의한 제 1 실시형태와 같다.
스텝 S26b의 처리에서 복호키를 소유하고 있지 않은 경우, 복호 장치(30)의 제 2 술어 논리 정보 취득부(35)가 메모리(31)로부터 폴리시와, 스키마 페어와, 공개 패러미터와, 이용자 정보를 읽어들이고, 이용자 정보로부터, 속성 정보(제 2 속성 정보라고 함) 또는 술어 정보(제 2 술어 정보라고 함)를 얻는다(스텝 S27g). 이 처리에 있어서 이용자 정보에 적용되는 스키마는 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마이다. 폴리시가 Cipher_Text_Policy인 경우, Cipher_Text_Policy로 특정되는 일방의 스키마(술어용 스키마)와 페어로 되어 있는 타방의 스키마(속성용 스키마)를 사용하여, 이용자 정보(속성 지정 정보)로부터 제 2 속성 정보를 얻는다. 폴리시가 Key_Policy인 경우, Key_Policy로 특정되는 일방의 스키마(속성용 스키마)와 페어로 되어 있는 타방의 스키마(술어용 스키마)를 사용하여, 이용자 정보(술어 지정 정보)로부터 제 2 술어 정보를 얻는다. 이와 같이, 이 처리에서 사용되는 스키마는 스텝 S17a에서 사용된 스키마와 페어로 되어 있는 스키마인 것에 주의하지 않으면 안 된다. 제 2 속성 정보와 제 2 술어 정보는 제 3 관점에 의한 제 2 실시형태에서는, 유한체(Fq)의 원소를 성분으로 하는 하나 또는 복수의 벡터 정보로 된다(도 11-13 참조).
스텝 S27g의 처리 후, 스텝 S27의 처리가 행해진다. 단, 이 처리에서는, 복호 장치(30)의 송신부(34)가, 제어부에 의한 제어를 받고, 메모리(31)로부터의 공개 패러미터, 폴리시, 스키마 페어, 인증 정보, 제 2 속성 정보 또는 제 2 술어 정보를 정리한 키 요구 메시지를 생성한다. 그리고, 복호 장치(30)의 송신부(34)는 메모리(31)로부터의 어드레스를 갖는 키 생성 장치에 키 요구 메시지를 송신하고, 이 키 생성 장치(20)의 수신부가 키 요구 메시지를 수신한다.
그리고, 스텝 S28a의 처리에서 검증에 성공한 경우, 스텝 S28d의 처리가 행해진다. 키 생성 장치(20)는 복호 장치(30)로부터 제 2 속성 정보 또는 제 2 술어 정보를 수신하고 있기 때문에, 제 3 관점에 의한 제 1 실시형태와 달리, 이 정보를 생성하기 위한 기능과 처리가 불필요하다.
그리고, 스텝 S28d의 처리 후의 스텝 S32부터 스텝 S35까지의 각 처리는 제 3 관점에 의한 제 1 실시형태와 같다.
[제 3 관점에 의한 제 3 실시형태]
제 3 관점에 의한 제 3 실시형태에서는, 제 3 관점에 의한 제 1 실시형태와 달리, 암호화 장치(10)의 암호화부(13)가 제 1 속성 정보(v)=(v1, …, vn) 또는 제 1 술어 정보(w)=(w1, …, wn)와, 메모리(11)로부터의 공개 패러미터에 포함되는 공개키와 콘텐츠(M)를 사용하여, 암호화 콘텐츠(C1)를 구한다. 즉, 제 3 관점에 의한 제 3 실시형태에서는, 예를 들면, 상기 비특허문헌 2에 나타내는 술어 암호 알고리즘이 사용된다. 이 차이에 따라, 제 3 관점에 의한 제 3 실시형태는, 몇개의 사항에서 제 3 관점에 의한 제 1 실시형태와 다르다. 그래서, 제 3 관점에 의한 제 1 실시형태와 중복되는 부분에 대해서는 중복설명을 생략하고(동일한 구성요소에 동일한 참조번호를 할당함), 도 76-도 79를 참조하면서 제 3 관점에 의한 제 1 실시형태와 상이한 부분을 설명한다.
스텝 S1로부터 스텝 S17a까지의 처리는, 제 3 관점에 의한 제 1 실시형태와 같다. 단, 공개 패러미터 등의 정보는 제 3 관점에 의한 제 3 실시형태의 술어 암호 알고리즘에 필요한 정보로 된다. 구체적인 정보에 대해서는, 예를 들면, 상기 비특허문헌 3 등을 참고하기 바란다.
스텝 S17a의 처리에 이어지는 스텝 S17b1의 처리에서는, 암호화 장치(10)의 암호화부(13)가, 술어 암호 알고리즘에 따라, 제 1 속성 정보(v)=(v1, …, vn) 또는 제 1 술어 정보(w)=(w1, …, wn)와, 메모리(11)로부터의 공개 패러미터에 포함되는 공개키와 콘텐츠(M)를 사용하여, 암호화 콘텐츠(C1)를 구한다(스텝 S17b1).
다음에, 스텝 S17b1의 처리 후, 스텝 S17d의 처리가 행해진다. 단, 이 처리에서는, 암호화 장치(10)의 송신부(14)가 제어부에 의한 제어를 받아 암호화 콘텐츠(C1)와, 메모리(11)로부터의 스키마 페어, 폴리시, 공개 패러미터, 키 생성 장치의 어드레스를 정리한 암호 메시지를 생성한다(스텝 S17d).
스텝 S17d의 처리에 이어지는 스텝 S18부터 스텝 S32까지의 처리는 제 3 관점에 의한 제 1 실시형태와 같다.
스텝 S32의 처리에 이어지는 스텝 S26c1의 처리에서는, 복호 장치(30)의 중계부(33)에 포함되는 복호부(33c)가, 술어 암호 알고리즘에 따라, 메모리(31)로부터 공개 패러미터와 복호키(R)와 암호화 콘텐츠(C1)를 읽어들이고, 콘텐츠(M)를 구한다(스텝 S26c1).
스텝 S26c1의 처리에 이어지는 스텝 S34와 스텝 S35의 각 처리는 제 3 관점에 의한 제 1 실시형태와 동일하다.
[제 3 관점에 의한 제 4 실시형태]
제 3 관점에 의한 제 4 실시형태는, 제 3 관점에 의한 제 2 실시형태와 제 3 관점에 의한 제 3 실시형태의 조합 형태에 상당한다. 즉, 제 3 관점에 의한 제 4 실시형태는, 제 3 관점에 의한 제 1 실시형태와 달리, (1) 복호 장치(30)가 제 2 속성 정보 또는 제 2 술어 정보를 생성하고, (2) 암호화 장치(10)의 암호화부(13)가 제 1 속성 정보(v)=(v1, …, vn) 또는 제 1 술어 정보(w)=(w1, …, wn)와, 메모리(11)로부터의 공개 패러미터에 포함되는 공개키와 콘텐츠(M)를 사용하여, 암호화 콘텐츠(C1)를 구한다. 이 차이에 따라, 제 3 관점에 의한 제 4 실시형태는 몇개의 사항에서 제 3 관점에 의한 제 1 실시형태와 다르다. 그래서, 제 3 관점에 의한 제 1 실시형태와 중복되는 부분에 대해서는 중복 설명을 생략하고(동일한 구성요소에 동일한 참조번호를 할당함), 도 80과 도 81도 참조하여 제 3 관점에 의한 제 1 실시형태와 상이한 부분을 설명한다.
스텝 S1로부터 스텝 S17a까지의 처리는, 제 3 관점에 의한 제 1 실시형태와 같다. 단, 공개 패러미터 등의 정보는 제 3 관점에 의한 제 4 실시형태의 술어 암호 알고리즘에 필요한 정보로 된다. 구체적인 정보에 대해서는, 예를 들면, 상기 비특허문헌 3 등을 참고하기 바란다.
스텝 S17a의 처리에 이어지는 스텝 S17b1의 처리에서는, 암호화 장치(10)의 암호화부(13)가, 술어 암호 알고리즘에 따라, 제 1 속성 정보(v)=(v1, …, vn) 또는 제 1 술어 정보(w)=(w1, …, wn)와, 메모리(11)로부터의 공개 패러미터에 포함되는 공개키와 콘텐츠(M)를 사용하여, 암호화 콘텐츠(C1)를 구한다(스텝 S17b1).
다음에, 스텝 S17b1의 처리 후, 스텝 S17d의 처리가 행해진다. 단, 이 처리에서는, 암호화 장치(10)의 송신부(14)가 제어부에 의한 제어를 받아 암호화 콘텐츠(C1)와, 메모리(11)로부터의 스키마 페어, 폴리시, 공개 패러미터, 키 생성 장치의 어드레스를 정리한 암호 메시지를 생성한다(스텝 S17d).
스텝 S17d의 처리에 이어지는 스텝 S18부터 스텝 S26b의 처리까지는, 제 3 관점에 의한 제 1 실시형태와 같다.
스텝 S26b의 처리에서 복호키를 소유하고 있지 않은 경우, 복호 장치(30)의 제 2 술어 논리 정보 취득부(35)가 메모리(31)로부터 폴리시와, 스키마 페어와, 공개 패러미터와, 이용자 정보를 읽어들이고, 이용자 정보로부터, 속성 정보(제 2 속성 정보라고 함) 또는 술어 정보(제 2 술어 정보라고 함)를 얻는다(스텝 S27g). 이 처리에 있어서 이용자 정보에 적용되는 스키마는 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마이다. 폴리시가 Cipher_Text_Policy인 경우, Cipher_Text_Policy로 특정되는 일방의 스키마(술어용 스키마)와 페어로 되어 있는 타방의 스키마(속성용 스키마)를 사용하여, 이용자 정보(속성 지정 정보)로부터 제 2 속성 정보를 얻는다. 폴리시가 Key_Policy인 경우, Key_Policy로 특정되는 일방의 스키마(속성용 스키마)와 페어로 되어 있는 타방의 스키마(술어용 스키마)를 사용하여, 이용자 정보(술어 지정 정보)로부터 제 2 술어 정보를 얻는다. 이와 같이, 이 처리에서 사용되는 스키마는 스텝 S17a에서 사용된 스키마와 페어로 되어 있는 스키마인 것에 주의하지 않으면 안 된다. 제 2 속성 정보와 제 2 술어 정보는, 제 3 관점에 의한 제 4 실시형태에서는, 유한체(Fq)의 원소를 성분으로 하는 하나 또는 복수의 벡터 정보로 된다(도 11-13 참조).
스텝 S27g의 처리 후, 스텝 S27의 처리가 행해진다. 단, 이 처리에서는, 복호 장치(30)의 송신부(34)가 제어부에 의한 제어를 받아 메모리(31)로부터의 공개 패러미터, 폴리시, 스키마 페어, 인증 정보, 제 2 속성 정보 또는 제 2 술어 정보를 정리한 키 요구 메시지를 생성한다. 그리고, 복호 장치(30)의 송신부(34)는 메모리(31)로부터의 어드레스를 갖는 키 생성 장치에 키 요구 메시지를 송신하고, 이 키 생성 장치(20)의 수신부가 키 요구 메시지를 수신한다.
그리고, 스텝 S28a의 처리에서 검증에 성공한 경우, 스텝 S28d의 처리가 행해진다. 키 생성 장치(20)는, 복호 장치(30)로부터 제 2 속성 정보 또는 제 2 술어 정보를 수신하고 있기 때문에, 이 정보를 생성하기 위한 기능과 처리가 불필요하다.
그리고, 스텝 S28d의 처리 후의 스텝 S32의 처리는 제 3 관점에 의한 제 1 실시형태와 같다.
스텝 S32의 처리에 이어지는 스텝 S26c1의 처리에서는, 복호 장치(30)의 복호부(33)가, 술어 암호 알고리즘에 따라, 메모리(31)로부터 공개 패러미터와 복호키(R)와 암호화 콘텐츠(C1)를 읽어들이고, 콘텐츠(M)를 구한다(스텝 S26c1).
스텝 S26c1의 처리에 이어지는 스텝 S34과 스텝 S35의 각 처리는 제 3 관점에 의한 제 1 실시형태와 같다.
제 3 관점에 의한 상기의 각 실시형태로부터 명확한 바와 같이, 중계부가 암호화 콘텐츠의 복호를 행한다. 이 때문에, 복호 처리를, 예를 들면, WWW 서버나 WWW 브라우저의 통상의 프로토콜로부터 분리할 수 있어, 기존의 WWW 시스템을 유용하는 것이 용이하게 된다. 또한 이용자가 암호화 콘텐츠의 복호 처리를 행하기 위한 조작을 하지 않더라도, 중계부가 복호 처리를 행하므로, 이용자의 편리성이 높다.
제 3 관점에 의한 상기의 각 실시형태에서는, 콘텐츠 서버 장치(60)와 복호 장치(30) 사이의 통신로에 캐시 서버 장치 등이 설치되는 운용도 허용된다(이 경우, 암호화 콘텐츠가 캐시됨).
또한 클라이언트 단말 장치를 통신망(5)에 항상 접속시키지 않는 운용에서의 편리성을 고려하여, 중계부가 복호 전의 암호화 콘텐츠를 캐시해도 된다.
또한 WWW 브라우저로의 복호된 콘텐츠의 캐시를 회피하기 위하여, 캐시를 무효시키는 HTTP 캐시 콘트롤 헤더를 WWW 브라우저로의 리스폰스에 부여시켜도 된다.
복수의 이용자가 동일한 클라이언트 단말 장치를 사용하는 것과 같은 케이스를 고려하여, 중계부가 인증 기능을 갖는 시스템 구성을 채용해도 된다. 이 경우에는, WWW 브라우저에 대하여 HTTP의 Basic 인증이나 Digest 인증을 이용하고, 또, 인증을 위한 인증 정보(유저 ID/패스워드)의 테이블 등 및 인증 정보의 추가·변경·삭제에 관한 관리기능을 중계부에 추가해도 된다.
제 3 관점에 의한 상기의 각 실시형태는, 콘텐츠 배신 시스템으로서 적합하게 실시된다. 술어 암호는, 암호화 시에 수신자에 의존하는 정보에 구속되지 않는 방식이므로, 불특정인이 열람할 가능성이 있는 콘텐츠의 액세스 제어로서 적합하다.
도 82에 송수신 되는 데이터의 구성을 예시한다. 메시지 전체의 기본적인 포맷은, 예를 들면, S/MIME(Secure Multipurpose Internet Mail Extensions)에 따르지만, 암호 메시지 개시 위치 마커로부터 암호 메시지 종료 위치 마커까지의 데이터는 XML(eXtensible Markup Language) 등으로 적절한 데이터 구성이 주어진다.
암호화 콘텐츠에 관한 데이터를 암호 블록으로 한다. 이하, 암호 블록의 구성요소를 나타낸다.
알고리즘 식별자 블록에는, 공통키의 암호화에 사용한 술어 암호 알고리즘과 콘텐츠의 암호화에 사용한 공통키 암호 알고리즘을 특정하기 위한 정보가 지정된다. 이와 같이, 알고리즘을 나타내는 식별자나 알고리즘의 버전 등을 지정할 수 있는 (PE/VersionX+Camellia[Camellia는 등록상표] 등).
디지털 서명 블록에는 디지털 서명이 기술된다. 서명 알고리즘은 기존의 방식을 사용할 수 있다. 이 항목은 운용형태에 따라 생략 가능하다.
공개 패러미터 정보 블록에는 사용한 공개 정보 패러미터를 특정하는 정보가 지정된다. 공개 정보 패러미터를 특정하는 식별자, 또는 공개 정보 패러미터의 데이터 그 자체를 지정할 수도 있다.
폴리시 필드에는 사용한 폴리시를 특정하는 식별자가 지정된다.
스키마 필드에는 사용한 스키마를 특정하는 식별자가 지정되거나, 또는 스키마의 데이터가 기술된다.
암호 정보 필드에는 콘텐츠의 암호화에 사용한 공통키를 술어 암호로 암호화한 데이터(암호 정보)가 지정된다.
콘텐츠 파일명, 콘텐츠 타입, 콘텐츠 파일 사이즈에는, 각각, 콘텐츠의 파일명, 콘텐츠의 데이터 타입(예: text/html 등), 콘텐츠의 파일 사이즈가 기술된다.
속성 필드/술어 필드에는 폴리시 필드에 대응하여 암호화에 사용한 속성/술어를 나타내는 문자열 표현을 지정할 수 있다. 이들 항목은 운용형태에 따라는 생략 가능하다.
암호 데이터에는 콘텐츠를 암호화하여 생성한 암호화 콘텐츠가 기술된다.
콘텐츠의 기본적인 데이터 구성은 HTML(Hyper Text Markup Language)로 기술되고, 암호 블록은 HTML 내부의 코멘트 문장으로 지정된다.
암호 블록은 XML(eXtensible Markup Language) 등으로 적절한 데이터 구성이 주어진다.
브라우저 등에서 직접 열람하려고 한 경우에는, 코멘트 문장은 표시되지 않고, 나머지의 HTML의 문장이 표시되므로, 나머지의 HTML 부분에는 암호화 콘텐츠인 것을 나타내는 메시지나, 복호에 실패한 경우의 에러 메시지 등을 기술해도 된다.
상기의 설명에서는, 대수구조(S)를 유한체로 했지만, 유한환(정수잉여환)이어도 된다. 술어 암호 알고리즘이, 예를 들면, 내적을 사용하는 술어 암호 알고리즘일 경우, 제 1, 제 2 속성 정보 및 제 1, 제 2 술어 정보는 S의 원소를 성분으로 하는 벡터로 된다.
또한 대수구조(S)의 체계에 따라, 공개키(B)는 S상의 가군(V)의 원소의 집합이며, 비밀키(B*)는 가군(V)의 쌍대가군(V*)의 원소의 집합이며, 복호키(R)는 쌍대가군(V*)의 원소로 된다. 또한, 대수구조(S)가 유한체일 경우, 유한체상의 가군(V)은 소위 유한체상의 벡터공간이다. 이 때, 암호화부는 공개키(B)의 원소에 대하여 제 1 속성 정보의 성분을 계수로 하는 스칼라배를 행하는 연산 또는 공개키(B)의 원소에 대하여 제 1 술어 정보의 성분을 계수로 하는 스칼라배를 행하는 연산을 포함하는 연산을 행함으로써 암호 정보를 구한다. 그리고, 키 생성부는 비밀키(B*)의 원소에 대하여 제 2 술어 정보의 성분을 계수로 하는 스칼라배를 행하는 연산 또는 비밀키(B*)의 원소에 대하여 제 2 속성 정보의 성분을 계수로 하는 스칼라배를 행하는 연산을 포함하는 연산을 행함으로써 복호키(R)를 구한다.
암호 시스템에 포함되는 하드웨어 엔터티(클라이언트 장치, 키 생성 장치, 등록 장치, 관리 장치, 보전 장치, 인증 장치, 콘텐츠 서버 장치)는 키보드 등이 접속 가능한 입력부, 액정 디스플레이 등이 접속 가능한 출력부, 하드웨어 엔터티의 외부로 통신 가능한 통신장치(예를 들면, 통신 케이블)가 접속 가능한 통신부, CPU(Central Processing Unit)[캐시 메모리나 레지스터 등을 구비하고 있어도 된다.], 메모리인 RAM이나 ROM, 하드 디스크인 외부 기억장 및 이것들의 입력부, 출력부, 통신부, CPU, RAM, ROM, 외부 기억장치 간의 데이터의 교환이 가능하도록 접속하는 버스를 가지고 있다. 또 필요에 따라, 하드웨어 엔터티에 CD-ROM 등의 기억매체를 읽고쓰기할 수 있는 장치(드라이브) 등을 설치해도 된다. 이러한 하드웨어 자원을 구비한 물리적 실체로서는 범용 컴퓨터 등이 있다.
하드웨어 엔터티의 외부 기억장치에는, 상기의 기능을 실현하기 위하여 필요한 프로그램 및 이 프로그램의 처리에 있어서 필요한 데이터 등이 기억되어 있다(외부 기억장치에 한하지 않고, 예를 들면, 프로그램을 읽어내기 전용 기억 장치인 ROM에 기억시켜 두는 등 해도 된다.). 또한 이들 프로그램의 처리에 의해 얻어지는 데이터 등은 RAM이나 외부 기억장치 등에 적당하게 기억된다. 상기의 설명에서는, 연산결과나 그 저장 영역의 어드레스 등을 기억하는 RAM이나 레지스터 등의 기억 장치를 단지 「메모리」라고 했다.
하드웨어 엔터티에서는, 외부 기억장치[또는 ROM 등]에 기억된 각 프로그램과 이 각 프로그램의 처리에 필요한 데이터가 필요에 따라 메모리에 읽어 들여지고, 적당히 CPU에서 해석 실행·처리된다. 그 결과, CPU가 소정의 기능(예를 들면, 암호화부, 복호부, 키 생성부, 제 1 술어 논리 정보 취득부, 제 2 술어 논리 정보 취득부, 제어부 등)을 실현한다.
각 실시형태에서 설명한 하드웨어 엔터티의 세부에 있어서는, 정수론에 있어서의 수치계산 처리가 필요하게 되는 경우가 있지만, 정수론에 있어서의 수치계산 처리 자체는, 주지 기술과 동일하게 하여 달성되므로, 그 연산처리 방법 등의 상세한 설명은 생략했다(이 점의 기술수준을 나타내는 정수론에 있어서의 수치계산 처리가 가능한 소프트웨어로서는, 예를 들면, PARI/GP, KANT/KASH 등을 들 수 있다. PARI/GP에 대해서는, 예를 들면, 인터넷 <URL: http://pari.math.u-bordeaux.fr/>[2009년 4월 14일 검색]을 참조. KANT/KASH에 대해서는, 예를 들면, 인터넷 <URL: http://www.math.tu-berlin.de/algebra/>[20091년 4월 14일 검색]을 참조.). 또한 이 점에 관한 문헌으로서 참고문헌 A를 들 수 있다.
(참고문헌 A) H. Cohen, "A Course in Computational Algebraic Number Theory", GTM 138, Springer-Verlag, 1993.
본 발명은 상기의 실시형태에 한정되는 것은 아니고, 본 발명의 취지를 일탈하지 않는 범위에서 적당히 변경이 가능하다. 또, 상기 실시형태에서 설명한 처리는, 기재의 순을 따라서 시계열로 실행될 뿐만 아니라, 처리를 실행하는 장치의 처리능력 또는 필요에 따라 병렬적으로 또는 개별적으로 실행된다고 해도 된다.
또한 상기 실시형태에서 설명한 하드웨어 엔터티에 있어서의 처리 기능을 컴퓨터에 의해 실현하는 경우, 하드웨어 엔터티가 가져야 할 기능의 처리 내용은 프로그램에 의해 기술된다. 그리고, 이 프로그램을 컴퓨터로 실행함으로써, 상기 하드웨어 엔터티에 있어서의 처리 기능이 컴퓨터상에서 실현된다.
이 처리 내용을 기술한 프로그램은 컴퓨터로 읽어내기 가능한 기억매체에 기억해 둘 수 있다. 컴퓨터로 읽어내기 가능한 기억매체로서는, 예를 들면, 자기 기억 장치, 광디스크, 광자기 기억매체, 반도체 메모리 등 어떤 것이어도 된다. 구체적으로는, 예를 들면, 자기 기억 장치로서 하드 디스크 장치, 플렉시블 디스크, 자기 테이프 등을, 광디스크로서 DVD(Digital Versatile Disc), DVD-RAM(Random Access Memory), CD-ROM(Compact Disc Read Only Memory), CD-R(Recordable)/RW(ReWritable) 등을, 광자기 기억매체로서 MO(Magneto-Optical disc) 등을, 반도체 메모리로서 EEP-ROM(Electronically Erasable and Programmable-Read Only Memory) 등을 사용할 수 있다.
또한 이 프로그램의 유통은, 예를 들면, 그 프로그램을 기억한 DVD, CD-ROM 등의 가반형 기억매체를 판매, 양도, 대여 등 함으로써 행한다. 또한, 이 프로그램을 서버 컴퓨터의 기억 장치에 저장해 두고, 네트워크를 통하여, 서버 컴퓨터로부터 다른 컴퓨터로 그 프로그램을 전송함으로써, 이 프로그램을 유통시키는 구성으로 해도 된다.
이러한 프로그램을 실행하는 컴퓨터는, 예를 들면, 우선, 가반형 기억매체에 기억된 프로그램 또는 서버 컴퓨터로부터 전송된 프로그램을, 일단, 자기의 기억 장치에 저장한다. 그리고, 처리의 실행시, 이 컴퓨터는 자기의 기억매체에 저장된 프로그램을 읽어내고, 읽어낸 프로그램에 따른 처리를 실행한다. 또한 이 프로그램의 다른 실행 형태로서, 컴퓨터가 가반형 기억매체로부터 직접 프로그램을 읽어내고, 그 프로그램에 따른 처리를 실행하는 것으로 해도 되고, 또한, 이 컴퓨터에 서버 컴퓨터로부터 프로그램이 전송될 때마다, 차례차례, 받은 프로그램에 따른 처리를 실행하는 것으로 해도 된다. 또, 서버 컴퓨터로부터 이 컴퓨터로의 프로그램의 전송은 행하지 않고, 그 실행 지시와 결과 취득만에 의해 처리 기능을 실현하는, 소위 ASP(Application Service Provider)형의 서비스에 의해, 상기의 처리를 실행하는 구성으로 해도 된다. 또한, 본 형태에 있어서의 프로그램에는, 전자계산기에 의한 처리용에 제공하는 정보로서 프로그램에 준하는 것(컴퓨터에 대한 직접적인 지령은 아니지만 컴퓨터의 처리를 규정하는 성질을 갖는 데이터 등)을 포함하는 것으로 한다.
또한 이 형태에서는, 컴퓨터상에서 소정의 프로그램을 실행시킴으로써, 하드웨어 엔터티를 구성하는 것으로 했지만, 이것들의 처리내용의 적어도 일부를 하드웨어적으로 실현하는 것으로 해도 된다.
또한, 도면에 기재한 성명 등의 정보는 가공의 것이며, 실제의 인물과는 전혀 관계없다.
<총괄>
제 1 관점에서 본 발명을 총괄하면 이하와 같다.
[아이템 1]
함수 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치는,
상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득부와,
상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키를 사용하여, 함수 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화부를 포함하고,
상기 키 생성 장치는,
상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득부와,
상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하고,
상기 복호 장치는,
상기 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호부를 포함하는,
암호 시스템.
[아이템 2]
함수 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치는,
상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득부와,
상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키를 사용하여, 함수 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화부를 포함하고,
상기 복호 장치는,
상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득부와,
상기 키 생성 장치로부터 보내진 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호부를 포함하고,
상기 키 생성 장치는,
상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하는,
암호 시스템.
[아이템 3]
함수 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치는,
상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득부와,
상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키와, 평문을 사용하여, 함수 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화부를 포함하고,
상기 키 생성 장치는,
상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득부와,
상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하고,
상기 복호 장치는,
상기 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호부를 포함하는,
암호 시스템.
[아이템 4]
함수 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치는,
상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득부와,
상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키와, 평문을 사용하여, 함수 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화부를 포함하고,
상기 복호 장치는,
상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득부와,
상기 키 생성 장치로부터 보내진 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호부를 포함하고,
상기 키 생성 장치는,
상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하는,
암호 시스템.
[아이템 5]
아이템 1 또는 아이템 2에 기재된 암호 시스템에 있어서,
상기 암호화 장치의 상기 암호화부는, 상기 공통키로 평문을 암호화한 암호문도 구하고,
상기 복호 장치의 상기 복호부는, 상기 복호 처리에서 얻어진 상기 공통키를 사용하는 상기 암호문의 제 2 복호 처리, 또는, 상기 복호 처리에서 얻어진 상기 공통키의 생성에 사용하는 상기 정보로부터 생성된 공통키를 사용하는 상기 암호문의 제 2 복호 처리도 행하는,
암호 시스템.
[아이템 6]
아이템 1 내지 아이템 5 중 어느 하나에 기재된 암호 시스템에 있어서,
상기 이용자에 대응하는 상기 속성 지정 정보 및/또는 상기 논리식 지정 정보는 기억매체에 기억되어 있고,
상기 복호 장치는, 당해 복호 장치의 이용자에 대응하는 상기 속성 지정 정보 또는 상기 논리식 지정 정보를 상기 기억매체로부터 취득하는 유저 정보 취득부를 포함하는,
암호 시스템.
[아이템 7]
아이템 1 또는 아이템 3에 기재된 암호 시스템에 있어서,
상기 키 생성 장치가 사용하는, 상기 복호 장치의 이용자에 대응하는 상기 속성 지정 정보 또는 상기 논리식 지정 정보는 상기 복호 장치로부터 취득한 정보인,
암호 시스템.
[아이템 8]
아이템 1 내지 아이템 6 중 어느 하나에 기재된 암호 시스템에 있어서,
상기 암호 시스템은 하나 또는 복수의 유저 정보 관리 장치를 더 포함하고,
각 상기 유저 정보 관리 장치는 상기 이용자에 대응하는 상기 속성 지정 정보 및/또는 상기 논리식 지정 정보를 기억하는 기억부를 포함하고,
상기 키 생성 장치는, 상기 복호 장치의 이용자에 대응하는 상기 속성 지정 정보 또는 상기 논리식 지정 정보를 상기 유저 정보 관리 장치로부터 취득하는 유저 정보 취득부를 포함하는,
암호 시스템.
[아이템 9]
아이템 1 내지 아이템 8 중 어느 하나에 기재된 암호 시스템에 있어서,
각 상기 키 생성 장치에 대하여 하나 또는 복수의 상기 변환규칙 정보 페어가 미리 정해져 있고,
상기 암호 시스템은 하나 또는 복수의 변환규칙 정보 페어 관리 장치를 더 포함하고,
각 상기 변환규칙 정보 페어 관리 장치는 각 상기 키 생성 장치에 대응하는 각 상기 변환규칙 정보 페어를 기억하는 기억부를 포함하고,
상기 암호화 장치는 상기 변환규칙 정보 페어 관리 장치로부터 상기 변환규칙 정보 페어를 취득하는 변환규칙 정보 페어 취득부를 포함하고,
상기 복호 장치는 상기 변환규칙 정보 페어 관리 장치로부터 상기 변환규칙 정보 페어를 취득하는 변환규칙 정보 페어 취득부를 포함하는,
암호 시스템.
[아이템 10]
아이템 1 내지 아이템 8 중 어느 하나에 기재된 암호 시스템에 있어서,
각 상기 키 생성 장치에 대하여 하나 또는 복수의 상기 변환규칙 정보 페어가 미리 정해져 있고,
각 상기 키 생성 장치는 당해 키 생성 장치에 대응하는 각 상기 변환규칙 정보 페어를 기억하는 기억부를 더 포함하고,
각 상기 암호화 장치는 적어도 하나 이상의 상기 키 생성 장치에 대응하는 각 상기 변환규칙 정보 페어를 기억하는 기억부를 더 포함하고,
각 상기 복호 장치는 적어도 하나 이상의 상기 키 생성 장치에 대응하는 각 상기 변환규칙 정보 페어를 기억하는 기억부를 더 포함하는,
암호 시스템.
[아이템 11]
아이템 1 내지 아이템 10 중 어느 하나에 기재된 암호 시스템에 있어서,
상기 폴리시 정보의 특정 대상이 상기 속성용 변환규칙 정보만, 또는, 상기 논리식용 변환규칙 정보만, 또는, 상기 속성용 변환규칙 정보 및 상기 논리식용 변환규칙 정보인 것이 상기 키 생성 장치마다 미리 정해져 있는,
암호 시스템.
[아이템 12]
아이템 1 내지 아이템 11 중 어느 하나에 기재된 암호 시스템에 있어서,
대수구조(K)를 유한환 또는 유한체로 하고,
상기 제 1, 제 2 속성 정보 및 상기 제 1, 제 2 논리 정보는 상기 K의 원소를 성분으로 하는 벡터이며,
상기 복호부의 상기 복호 처리에서는, 상기 암호 정보와 상기 복호키를 입력으로 하고, 상기 제 1 논리 정보와 상기 제 2 속성 정보와의 표준 내적 또는 상기 제 1 속성 정보와 상기 제 2 논리 정보와의 표준 내적의 결과에 의존하는 연산이 행해지는,
암호 시스템.
[아이템 13]
아이템 12에 기재된 암호 시스템에 있어서,
상기 공개키는 K상의 가군(V)의 원소의 집합이고,
상기 비밀키는 상기 가군(V)의 쌍대가군(V*)의 원소의 집합이고,
상기 복호키는 상기 쌍대가군(V*)의 원소이며,
상기 암호화부는 상기 공개키의 원소에 대하여 상기 제 1 속성 정보의 성분을 계수로 하는 스칼라배를 행하는 연산 또는 상기 공개키의 원소에 대하여 상기 제 1 논리 정보의 성분을 계수로 하는 스칼라배를 행하는 연산을 포함하는 연산을 행함으로써 상기 암호 정보를 구하고,
상기 키 생성부는 상기 비밀키의 원소에 대하여 상기 제 2 논리 정보의 성분을 계수로 하는 스칼라배를 행하는 연산 또는 상기 비밀키의 원소에 대하여 상기 제 2 속성 정보의 성분을 계수로 하는 스칼라배를 행하는 연산을 포함하는 연산을 행함으로써 상기 복호키를 구하고,
상기 복호부의 상기 복호 처리에 사용되는 상기 연산은, 쌍선 형성을 갖고, 상기 연산의 결과가, 쌍선 형성에 기초하여 상기 암호 정보와 상기 복호키로부터 취출된 상기 제 1 논리 정보와 상기 제 2 속성 정보 또는 상기 제 1 속성 정보와 상기 제 2 논리 정보의 표준 내적의 결과에 의존하도록 구성되어 있는,
암호 시스템.
[아이템 14]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고, 함수 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치의 제 1 명제 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득 스텝과,
상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키를 사용하여, 함수 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화 스텝과,
상기 키 생성 장치의 제 2 명제 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득 스텝과,
상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 스텝과,
상기 복호 장치의 복호부가, 상기 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝
을 갖는 암호 통신 방법.
[아이템 15]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고, 함수 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치의 제 1 명제 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득 스텝과,
상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키를 사용하여, 함수 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화 스텝과,
상기 복호 장치의 제 2 명제 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득 스텝과,
상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 스텝과,
상기 복호 장치의 복호부가, 상기 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝
을 갖는 암호 통신 방법.
[아이템 16]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고, 함수 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치의 제 1 명제 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득 스텝과,
상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키와, 평문을 사용하여, 함수 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화 스텝과,
상기 키 생성 장치의 제 2 명제 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득 스텝과,
상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 스텝과,
상기 복호 장치의 복호부가, 상기 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝
을 갖는 암호 통신 방법.
[아이템 17]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고, 함수 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치의 제 1 명제 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득 스텝과,
상기 암호화 장치의 암호화부가 상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키와, 평문을 사용하여, 함수 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화 스텝과,
상기 복호 장치의 제 2 명제 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득 스텝과,
상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 스텝과,
상기 복호 장치의 복호부가, 상기 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝
을 갖는 암호 통신 방법.
[아이템 18]
아이템 14 또는 아이템 15에 기재된 암호 통신 방법에 있어서,
상기 암호화 스텝은, 상기 암호화부가 상기 공통키로 평문을 암호화한 암호문도 구하는 암호문 생성 스텝을 포함하고,
상기 복호 스텝은, 상기 복호부가, 상기 복호 처리에서 얻어진 상기 공통키를 사용하는 상기 암호문의 제 2 복호 처리, 또는, 상기 복호 처리에서 얻어진 상기 공통키의 생성에 사용하는 상기 정보로부터 생성된 공통키를 사용하는 상기 암호문의 제 2 복호 처리를 행하는 제 2 복호 스텝을 포함하는,
암호 통신 방법.
[아이템 19]
아이템 14 내지 아이템 18 중 어느 하나에 기재된 암호 통신 방법에 있어서,
상기 복호 장치의 취득부가, 상기 이용자에 대응하는 상기 속성 지정 정보 및/또는 상기 논리식 지정 정보를 기억하는 기억매체로부터, 당해 복호 장치의 이용자에 대응하는 상기 속성 지정 정보 또는 상기 논리식 지정 정보를 취득하는 취득 스텝
을 갖는 암호 통신 방법.
[아이템 20]
아이템 14 또는 아이템 16에 기재된 암호 통신 방법에 있어서,
상기 복호 장치의 송신부가 당해 복호 장치의 이용자에 대응하는 상기 속성 지정 정보 또는 상기 논리식 지정 정보를 상기 키 생성 장치에 송신하는 유저 정보 송신 스텝과,
상기 키 생성 장치의 수신부가 상기 복호 장치로부터 상기 이용자에 대응하는 상기 속성 지정 정보 또는 상기 논리식 지정 정보를 수신하는 유저 정보 수신 스텝
을 갖는 암호 통신 방법.
[아이템 21]
아이템 14 내지 아이템 18 중 어느 하나에 기재된 암호 통신 방법에 있어서,
상기 암호 시스템은, 상기 이용자에 대응하는 상기 속성 지정 정보 및/또는 상기 논리식 지정 정보를 기억하는 기억부를 구비하는, 하나 또는 복수의 유저 정보 관리 장치를 포함하고 있고,
상기 키 생성 장치의 유저 정보 취득부가 상기 복호 장치의 이용자에 대응하는 상기 속성 지정 정보 또는 상기 논리식 지정 정보를 상기 유저 정보 관리 장치로부터 취득하는 유저 정보 취득 스텝
을 갖는 암호 통신 방법.
[아이템 22]
아이템 14 내지 아이템 21의 어느 하나에 기재된 암호 통신 방법에 있어서,
각 상기 키 생성 장치에 대하여 하나 또는 복수의 상기 변환규칙 정보 페어가 미리 정해져 있고,
상기 암호 시스템은, 각 상기 키 생성 장치에 대응하는 각 상기 변환규칙 정보 페어를 기억하는 기억부를 구비하는, 하나 또는 복수의 변환규칙 정보 페어 관리 장치를 포함하고 있고,
상기 암호화 장치의 변환규칙 정보 페어 취득부가 상기 변환규칙 정보 페어 관리 장치로부터 상기 변환규칙 정보 페어를 취득하는 변환규칙 정보 페어 취득 스텝과,
상기 복호 장치의 변환규칙 정보 페어 취득부가 상기 변환규칙 정보 페어 관리 장치로부터 상기 변환규칙 정보 페어를 취득하는 변환규칙 정보 페어 취득 스텝
을 갖는 암호 통신 방법.
[아이템 23]
아이템 14 내지 아이템 22 중 어느 하나에 기재된 암호 통신 방법에 있어서,
상기 폴리시 정보의 특정 대상이 상기 속성용 변환규칙 정보만, 또는, 상기 논리식용 변환규칙 정보만, 또는, 상기 속성용 변환규칙 정보 및 상기 논리식용 변환규칙 정보인 것이 상기 키 생성 장치마다 미리 정해져 있는,
암호 통신 방법.
[아이템 24]
아이템 14 내지 아이템 23 중 어느 하나에 기재된 암호 통신 방법에 있어서,
대수구조(K)를 유한환 또는 유한체로 하여,
상기 제 1, 제 2 속성 정보 및 상기 제 1, 제 2 논리 정보는 상기 K의 원소를 성분으로 하는 벡터이며,
상기 복호 스텝에서는, 상기 복호부가 상기 암호 정보와 상기 복호키를 입력으로 하고, 상기 제 1 논리 정보와 상기 제 2 속성 정보와의 표준 내적 또는 상기 제 1 속성 정보와 상기 제 2 논리 정보와의 표준 내적의 결과에 의존하는 연산을 행하는,
암호 통신 방법.
[아이템 25]
아이템 24에 기재된 암호 통신 방법에 있어서,
상기 공개키는 K상의 가군(V)의 원소의 집합이고,
상기 비밀키는 상기 가군(V)의 쌍대가군(V*)의 원소의 집합이고,
상기 복호키는 상기 쌍대가군(V*)의 원소이며,
상기 암호화 스텝에서는, 상기 암호화부가, 상기 공개키의 원소에 대하여 상기 제 1 속성 정보의 성분을 계수로 하는 스칼라배를 행하는 연산 또는 상기 공개키의 원소에 대하여 상기 제 1 논리 정보의 성분을 계수로 하는 스칼라배를 행하는 연산을 포함하는 연산을 행함으로써 상기 암호 정보를 구하고,
상기 키 생성 스텝에서는, 상기 키 생성부가 상기 비밀키의 원소에 대하여 상기 제 2 논리 정보의 성분을 계수로 하는 스칼라배를 행하는 연산 또는 상기 비밀키의 원소에 대하여 상기 제 2 속성 정보의 성분을 계수로 하는 스칼라배를 행하는 연산을 포함하는 연산을 행함으로써 상기 복호키를 구하고,
상기 복호부의 상기 복호 처리에 사용되는 상기 연산은, 쌍선 형성을 갖고, 상기 연산의 결과가, 쌍선 형성에 기초하여 상기 암호 정보와 상기 복호키로부터 취출된 상기 제 1 논리 정보와 상기 제 2 속성 정보 또는 상기 제 1 속성 정보와 상기 제 2 논리 정보의 표준 내적의 결과에 의존하도록 구성되어 있는,
암호 통신 방법.
[아이템 26]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 함수 암호를 사용하는 암호 시스템에 있어서의 암호화 장치로서,
상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득부와,
상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키를 사용하여, 함수 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화부
를 포함하는 암호화 장치.
[아이템 27]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 함수 암호를 사용하는 암호 시스템에 있어서의 암호화 장치로서,
상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득부와,
상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키와, 평문을 사용하여, 함수 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화부
를 포함하는 암호화 장치.
[아이템 28]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 함수 암호를 사용하는 암호 시스템에 있어서의 키 생성 장치로서,
상기 폴리시 정보로 특정되는 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득부와,
상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부
를 포함하는 키 생성 장치.
[아이템 29]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 함수 암호를 사용하는 암호 시스템에 있어서의 키 생성 장치로서,
상기 폴리시 정보로 특정되는 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터 생성된 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부
를 포함하는 키 생성 장치.
[아이템 30]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 함수 암호를 사용하는 암호 시스템에 있어서의 복호 장치로서,
상기 키 생성 장치가 생성한 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호화 장치가 생성한 암호 정보에 대한 복호 처리를 행하는 복호부
를 포함하는 복호 장치.
[아이템 31]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 함수 암호를 사용하는 암호 시스템에 있어서의 복호 장치로서,
상기 폴리시 정보로 특정되는 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득부와,
상기 키 생성 장치가 생성한 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호화 장치가 생성한 암호 정보에 대한 복호 처리를 행하는 복호부
를 포함하는 복호 장치.
[아이템 32]
아이템 26 또는 아이템 27에 기재된 암호화 장치로서 컴퓨터를 기능시키기 위한 프로그램.
[아이템 33]
아이템 28 또는 아이템 29에 기재된 키 생성 장치로서 컴퓨터를 기능시키기 위한 프로그램.
[아이템 34]
아이템 30 또는 아이템 31에 기재된 복호 장치로서 컴퓨터를 기능시키기 위한 프로그램.
[아이템 35]
아이템 32에 기재된 프로그램, 아이템 33에 기재된 프로그램, 아이템 34에 기재된 프로그램 중 적어도 어느 하나를 저장한 컴퓨터 독취 가능한 기억매체.
제 2 관점에서 본 발명을 총괄하면, 이하와 같다. 또한, 아이템 번호를 리셋하고, 1부터 차례로 아이템 번호를 할당한다.
[아이템 1]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 복수의 복호 장치를 포함하고, 함수 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치의 제 1 명제 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득 스텝과,
상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키를 사용하여, 함수 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화 스텝과,
상기 암호화 장치의 송신부가 상기 암호 정보를 제 1 복호 장치에 송신하는 암호 정보 송신 스텝과,
상기 제 1 복호 장치의 수신부가 상기 암호화 장치로부터 상기 암호 정보를 수신하는 암호 정보 수신 스텝과,
상기 키 생성 장치의 제 2 명제 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 제 1 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득 스텝과,
상기 키 생성 장치의 키 생성부가 상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 제 1 복호키를 생성하는 키 생성 스텝과,
상기 키 생성 장치의 송신부가 상기 제 1 복호키를 상기 제 1 복호 장치에 송신하는 복호키 송신 스텝과,
상기 제 1 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 제 1 복호키를 수신하는 복호키 수신 스텝과,
상기 제 1 복호 장치의 복호부가, 상기 제 1 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝과,
상기 제 1 복호 장치의 전송부가 상기 암호 정보를 당해 제 1 복호 장치 이외의 제 2 복호 장치에 전송하는 전송 스텝과,
상기 제 2 복호 장치의 수신부가 상기 암호 정보를 상기 제 1 복호 장치로부터 수신하는 수신 스텝과,
상기 키 생성 장치의 제 2 명제 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 제 2 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 3 속성 정보라고 함) 또는 논리 정보(이하, 제 3 논리 정보라고 함)를 얻는 제 3 명제 논리 정보 취득 스텝과,
상기 키 생성 장치의 키 생성부가, 상기 제 3 속성 정보 또는 상기 제 3 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 제 2 복호키를 생성하는 키 생성 스텝과,
상기 키 생성 장치의 송신부가 상기 제 2 복호키를 상기 제 2 복호 장치에 송신하는 복호키 송신 스텝과,
상기 제 2 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 제 2 복호키를 수신하는 복호키 수신 스텝과,
상기 제 2 복호 장치의 복호부가, 상기 제 2 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝
을 갖는 암호 통신 방법.
[아이템 2]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 복수의 복호 장치를 포함하고, 함수 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치의 제 1 명제 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득 스텝과,
상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키를 사용하여, 함수 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화 스텝과,
상기 암호화 장치의 송신부가 상기 암호 정보를 제 1 복호 장치에 송신하는 암호 정보 송신 스텝과,
상기 제 1 복호 장치의 수신부가 상기 암호화 장치로부터 상기 암호 정보를 수신하는 암호 정보 수신 스텝과,
상기 제 1 복호 장치의 제 2 명제 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 제 1 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득 스텝과,
상기 제 1 복호 장치의 송신부가 상기 제 2 속성 정보 또는 상기 제 2 논리 정보를 상기 키 생성 장치에 송신하는 논리 정보 송신 스텝과,
상기 키 생성 장치의 수신부가 상기 제 1 복호 장치로부터 상기 제 2 속성 정보 또는 상기 제 2 논리 정보를 수신하는 논리 정보 수신 스텝과,
상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 제 1 복호키를 생성하는 키 생성 스텝과,
상기 키 생성 장치의 송신부가 상기 제 1 복호키를 상기 제 1 복호 장치에 송신하는 복호키 송신 스텝과,
상기 제 1 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 제 1 복호키를 수신하는 복호키 수신 스텝과,
상기 제 1 복호 장치의 복호부가, 상기 제 1 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝과,
상기 제 1 복호 장치의 전송부가 상기 암호 정보를 당해 제 1 복호 장치 이외의 제 2 복호 장치에 전송하는 전송 스텝과,
상기 제 2 복호 장치의 수신부가 상기 암호 정보를 상기 제 1 복호 장치로부터 수신하는 수신 스텝과,
상기 제 2 복호 장치의 제 2 명제 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 제 2 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 3 속성 정보라고 함) 또는 논리 정보(이하, 제 3 논리 정보라고 함)를 얻는 제 3 명제 논리 정보 취득 스텝과,
상기 제 2 복호 장치의 송신부가 상기 제 3 속성 정보 또는 상기 제 3 논리 정보를 상기 키 생성 장치에 송신하는 논리 정보 송신 스텝과,
상기 키 생성 장치의 수신부가 상기 제 2 복호 장치로부터 상기 제 3 속성 정보 또는 상기 제 3 논리 정보를 수신하는 논리 정보 수신 스텝과,
상기 키 생성 장치의 키 생성부가, 상기 제 3 속성 정보 또는 상기 제 3 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 제 2 복호키를 생성하는 키 생성 스텝과,
상기 키 생성 장치의 송신부가 상기 제 2 복호키를 상기 제 2 복호 장치에 송신하는 복호키 송신 스텝과,
상기 제 2 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 제 2 복호키를 수신하는 복호키 수신 스텝과,
상기 제 2 복호 장치의 복호부가, 상기 제 2 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝,
을 갖는 암호 통신 방법.
[아이템 3]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 복수의 복호 장치를 포함하고, 함수 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치의 제 1 명제 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보 중 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득 스텝과,
상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키와, 평문을 사용하여, 함수 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화 스텝과,
상기 암호화 장치의 송신부가 상기 암호 정보를 제 1 복호 장치에 송신하는 암호 정보 송신 스텝과,
상기 제 1 복호 장치의 수신부가 상기 암호화 장치로부터 상기 암호 정보를 수신하는 암호 정보 수신 스텝과,
상기 키 생성 장치의 제 2 명제 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 제 1 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득 스텝과,
상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 제 1 복호키를 생성하는 키 생성 스텝과,
상기 키 생성 장치의 송신부가 상기 제 1 복호키를 상기 제 1 복호 장치에 송신하는 복호키 송신 스텝과,
상기 제 1 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 제 1 복호키를 수신하는 복호키 수신 스텝과,
상기 제 1 복호 장치의 복호부가, 상기 제 1 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝과,
상기 제 1 복호 장치의 전송부가 상기 암호 정보를 당해 제 1 복호 장치 이외의 제 2 복호 장치에 전송하는 전송 스텝과,
상기 제 2 복호 장치의 수신부가 상기 암호 정보를 상기 제 1 복호 장치로부터 수신하는 수신 스텝과,
상기 키 생성 장치의 제 2 명제 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 제 2 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 3 속성 정보라고 함) 또는 논리 정보(이하, 제 3 논리 정보라고 함)를 얻는 제 3 명제 논리 정보 취득 스텝과,
상기 키 생성 장치의 키 생성부가, 상기 제 3 속성 정보 또는 상기 제 3 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 제 2 복호키를 생성하는 키 생성 스텝과,
상기 키 생성 장치의 송신부가 상기 제 2 복호키를 상기 제 2 복호 장치에 송신하는 복호키 송신 스텝과,
상기 제 2 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 제 2 복호키를 수신하는 복호키 수신 스텝과,
상기 제 2 복호 장치의 복호부가, 상기 제 2 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝
을 갖는 암호 통신 방법.
[아이템 4]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 복수의 복호 장치를 포함하고, 함수 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치의 제 1 명제 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득 스텝과,
상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키와, 평문을 사용하여, 함수 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화 스텝과,
상기 암호화 장치의 송신부가 상기 암호 정보를 제 1 복호 장치에 송신하는 암호 정보 송신 스텝과,
상기 제 1 복호 장치의 수신부가 상기 암호화 장치로부터 상기 암호 정보를 수신하는 암호 정보 수신 스텝과,
상기 제 1 복호 장치의 제 2 명제 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 제 1 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득 스텝과,
상기 제 1 복호 장치의 송신부가 상기 제 2 속성 정보 또는 상기 제 2 논리 정보를 상기 키 생성 장치에 송신하는 논리 정보 송신 스텝과,
상기 키 생성 장치의 수신부가 상기 제 1 복호 장치로부터 상기 제 2 속성 정보 또는 상기 제 2 논리 정보를 수신하는 논리 정보 수신 스텝과,
상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 제 1 복호키를 생성하는 키 생성 스텝과,
상기 키 생성 장치의 송신부가 상기 제 1 복호키를 상기 제 1 복호 장치에 송신하는 복호키 송신 스텝과,
상기 제 1 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 제 1 복호키를 수신하는 복호키 수신 스텝과,
상기 제 1 복호 장치의 복호부가, 상기 제 1 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝과,
상기 제 1 복호 장치의 전송부가 상기 암호 정보를 당해 제 1 복호 장치 이외의 제 2 복호 장치에 전송하는 전송 스텝과,
상기 제 2 복호 장치의 수신부가 상기 암호 정보를 상기 제 1 복호 장치로부터 수신하는 수신 스텝과,
상기 제 2 복호 장치의 제 2 명제 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 제 2 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 3 속성 정보라고 함) 또는 논리 정보(이하, 제 3 논리 정보라고 함)를 얻는 제 3 명제 논리 정보 취득 스텝과,
상기 제 2 복호 장치의 송신부가 상기 제 3 속성 정보 또는 상기 제 3 논리 정보를 상기 키 생성 장치에 송신하는 논리 정보 송신 스텝과,
상기 키 생성 장치의 수신부가 상기 제 2 복호 장치로부터 상기 제 3 속성 정보 또는 상기 제 3 논리 정보를 수신하는 논리 정보 수신 스텝과,
상기 키 생성 장치의 키 생성부가, 상기 제 3 속성 정보 또는 상기 제 3 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 제 2 복호키를 생성하는 키 생성 스텝과,
상기 키 생성 장치의 송신부가 상기 제 2 복호키를 상기 제 2 복호 장치에 송신하는 복호키 송신 스텝과,
상기 제 2 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 제 2 복호키를 수신하는 복호키 수신 스텝과,
상기 제 2 복호 장치의 복호부가, 상기 제 2 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝,
을 갖는 암호 통신 방법.
[아이템 5]
아이템 1 또는 아이템 2에 기재된 암호 통신 방법에 있어서,
상기 암호화 스텝은 상기 암호화부가 상기 공통키로 평문을 암호화한 암호문도 구하는 암호문 생성 스텝을 포함하고,
상기 복호 스텝은, 상기 복호부가 상기 복호 처리에서 얻어진 상기 공통키를 사용하는 상기 암호문의 제 2 복호 처리, 또는, 상기 복호 처리에서 얻어진 상기 공통키의 생성에 사용하는 상기 정보로부터 생성된 공통키를 사용하는 상기 암호문의 제 2 복호 처리를 행하는 제 2 복호 스텝을 포함하는,
암호 통신 방법.
[아이템 6]
아이템 1 내지 아이템 5 중 어느 하나에 기재된 암호 통신 방법에 있어서,
상기 복호 장치의 취득부가, 상기 이용자에 대응하는 상기 속성 지정 정보 및/또는 상기 논리식 지정 정보를 기억하는 기억매체로부터, 당해 복호 장치의 이용자에 대응하는 상기 속성 지정 정보 또는 상기 논리식 지정 정보를 취득하는 취득 스텝
을 갖는 암호 통신 방법.
[아이템 7]
아이템 1 또는 아이템 3에 기재된 암호 통신 방법에 있어서,
상기 복호 장치의 송신부가 당해 복호 장치의 이용자에 대응하는 상기 속성 지정 정보 또는 상기 논리식 지정 정보를 상기 키 생성 장치에 송신하는 유저 정보 송신 스텝과,
상기 키 생성 장치의 수신부가 상기 복호 장치로부터 상기 이용자에 대응하는 상기 속성 지정 정보 또는 상기 논리식 지정 정보를 수신하는 유저 정보 수신 스텝
을 갖는 암호 통신 방법.
[아이템 8]
아이템 1 내지 아이템 6 중 어느 하나에 기재된 암호 통신 방법에 있어서,
상기 암호 시스템은, 상기 이용자에 대응하는 상기 속성 지정 정보 및/또는 상기 논리식 지정 정보를 기억하는 기억부를 구비하는, 하나 또는 복수의 유저 정보 관리 장치를 포함하고 있고,
상기 키 생성 장치의 유저 정보 취득부가 상기 복호 장치의 이용자에 대응하는 상기 속성 지정 정보 또는 상기 논리식 지정 정보를 상기 유저 정보 관리 장치로부터 취득하는 유저 정보 취득 스텝
을 갖는 암호 통신 방법.
[아이템 9]
아이템 1 내지 아이템 8 중 어느 하나에 기재된 암호 통신 방법에 있어서,
각 상기 키 생성 장치에 대하여 하나 또는 복수의 상기 변환규칙 정보 페어가 미리 정해져 있고,
상기 암호 시스템은, 각 상기 키 생성 장치에 대응하는 각 상기 변환규칙 정보 페어를 기억하는 기억부를 구비하는, 하나 또는 복수의 변환규칙 정보 페어 관리 장치를 포함하고 있고,
상기 암호화 장치의 변환규칙 정보 페어 취득부가 상기 변환규칙 정보 페어 관리 장치로부터 상기 변환규칙 정보 페어를 취득하는 변환규칙 정보 페어 취득 스텝과,
상기 복호 장치의 변환규칙 정보 페어 취득부가 상기 변환규칙 정보 페어 관리 장치로부터 상기 변환규칙 정보 페어를 취득하는 변환규칙 정보 페어 취득 스텝
을 갖는 암호 통신 방법.
[아이템 10]
아이템 1 내지 아이템 9 중 어느 하나에 기재된 암호 통신 방법에 있어서,
상기 폴리시 정보의 특정 대상이 상기 속성용 변환규칙 정보만, 또는, 상기 논리식용 변환규칙 정보만, 또는, 상기 속성용 변환규칙 정보 및 상기 논리식용 변환규칙 정보인 것이 상기 키 생성 장치마다 미리 정해져 있는,
암호 통신 방법.
[아이템 11]
아이템 1 내지 아이템 10 중 어느 하나에 기재된 암호 통신 방법에 있어서,
대수구조(K)를 유한환 또는 유한체로 하여,
상기 제 1, 제 2 속성 정보 및 상기 제 1, 제 2 논리 정보는 상기 K의 원소를 성분으로 하는 벡터이며,
상기 복호 스텝에서는, 상기 복호부가 상기 암호 정보와 상기 복호키를 입력으로 하고, 상기 제 1 논리 정보와 상기 제 2 속성 정보와의 표준 내적 또는 상기 제 1 속성 정보와 상기 제 2 논리 정보와의 표준 내적의 결과에 의존하는 연산을 행하는,
암호 통신 방법.
[아이템 12]
아이템 11에 기재된 암호 통신 방법에 있어서,
상기 공개키는 K상의 가군(V)의 원소의 집합이고,
상기 비밀키는 상기 가군(V)의 쌍대가군(V*)의 원소의 집합이고,
상기 복호키는 상기 쌍대가군(V*)의 원소이며,
상기 암호화 스텝에서는, 상기 암호화부가 상기 공개키의 원소에 대하여 상기 제 1 속성 정보의 성분을 계수로 하는 스칼라배를 행하는 연산 또는 상기 공개키의 원소에 대하여 상기 제 1 논리 정보의 성분을 계수로 하는 스칼라배를 행하는 연산을 포함하는 연산을 행함으로써 상기 암호 정보를 구하고,
상기 키 생성 스텝에서는, 상기 키 생성부가 상기 비밀키의 원소에 대하여 상기 제 2 논리 정보의 성분을 계수로 하는 스칼라배를 행하는 연산 또는 상기 비밀키의 원소에 대하여 상기 제 2 속성 정보의 성분을 계수로 하는 스칼라배를 행하는 연산을 포함하는 연산을 행함으로써 상기 복호키를 구하고,
상기 복호부의 상기 복호 처리에 사용되는 상기 연산은 쌍선 형성을 갖고, 상기 연산의 결과가 쌍선 형성에 기초하여 상기 암호 정보와 상기 복호키로부터 취출된 상기 제 1 논리 정보와 상기 제 2 속성 정보 또는 상기 제 1 속성 정보와 상기 제 2 논리 정보의 표준 내적의 결과에 의존하도록 구성되어 있는,
암호 통신 방법.
[아이템 13]
함수 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 복수의 복호 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치는,
상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득부와,
상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키를 사용하여, 함수 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화부를 포함하고,
상기 키 생성 장치는,
상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득부와,
상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하고,
상기 복호 장치는,
상기 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호부와,
상기 암호 정보를 당해 복호 장치 이외의 하나 이상의 복호 장치에 전송하는 전송부를 포함하는,
암호 시스템.
[아이템 14]
함수 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 복수의 복호 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치는,
상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득부와,
상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키를 사용하여, 함수 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화부를 포함하고,
상기 복호 장치는,
상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득부와,
상기 키 생성 장치로부터 보내진 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호부와,
상기 암호 정보를 당해 복호 장치 이외의 하나 이상의 복호 장치에 전송하는 전송부를 포함하고,
상기 키 생성 장치는,
상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하는,
암호 시스템.
[아이템 15]
함수 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 복수의 복호 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치는,
상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득부와,
상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키와, 평문을 사용하여, 함수 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화부를 포함하고,
상기 키 생성 장치는,
상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득부와,
상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하고,
상기 복호 장치는,
상기 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호부와,
상기 암호 정보를 당해 복호 장치 이외의 하나 이상의 복호 장치에 전송하는 전송부를 포함하는,
암호 시스템.
[아이템 16]
함수 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 복수의 복호 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치는,
상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득부와,
상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키와, 평문을 사용하여, 함수 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화부를 포함하고,
상기 복호 장치는,
상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득부와,
상기 키 생성 장치로부터 보내진 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호부와,
상기 암호 정보를 당해 복호 장치 이외의 하나 이상의 복호 장치에 전송하는 전송부를 포함하고,
상기 키 생성 장치는,
상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하는,
암호 시스템.
[아이템 17]
아이템 13 또는 아이템 14에 기재된 암호 시스템에 있어서,
상기 암호화 장치의 상기 암호화부는 상기 공통키로 평문을 암호화한 암호문도 구하고,
상기 복호 장치의 상기 복호부는, 상기 복호 처리에서 얻어진 상기 공통키를 사용하는 상기 암호문의 제 2 복호 처리, 또는, 상기 복호 처리에서 얻어진 상기 공통키의 생성에 사용하는 상기 정보로부터 생성된 공통키를 사용하는 상기 암호문의 제 2 복호 처리도 행하는,
암호 시스템.
[아이템 18]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 복수의 복호 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 함수 암호를 사용하는 암호 시스템에 있어서의 복호 장치로서,
상기 키 생성 장치가 생성한 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호화 장치가 생성한 암호 정보에 대한 복호 처리를 행하는 복호부와,
상기 암호 정보를 당해 복호 장치 이외의 하나 이상의 복호 장치에 전송하는 전송부
를 포함하는 복호 장치.
[아이템 19]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 복수의 복호 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 함수 암호를 사용하는 암호 시스템에 있어서의 복호 장치로서,
상기 폴리시 정보로 특정되는 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득부와,
상기 키 생성 장치가 생성한 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호화 장치가 생성한 암호 정보에 대한 복호 처리를 행하는 복호부와,
상기 암호 정보를 당해 복호 장치 이외의 하나 이상의 복호 장치에 전송하는 전송부
를 포함하는 복호 장치.
[아이템 20]
아이템 18 또는 아이템 19에 기재된 복호 장치로서 컴퓨터를 기능시키기 위한 프로그램.
[아이템 21]
아이템 20에 기재된 프로그램을 저장한 컴퓨터 독취 가능한 기억매체.
제 3 관점에서 본 발명을 총괄하면, 이하와 같다. 또한, 아이템 번호를 리셋하여, 1부터 차례로 아이템 번호를 할당한다.
[아이템 1]
함수 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치는,
상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득부와,
상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 함수 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보와, 당해 공통키로 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화부를 포함하고,
상기 콘텐츠 서버 장치는,
각 상기 암호화 장치로부터 보내진 상기 암호 정보 및 상기 암호화 콘텐츠를 기억하는 기억부와,
상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠와 이것에 대응하는 상기 암호 정보를 당해 복호 장치에 송신하는 송신부를 포함하고,
상기 키 생성 장치는,
상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득부와,
상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하고,
상기 복호 장치는,
브라우저부와 중계부를 포함하고,
상기 브라우저부는 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하고, 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하고,
상기 중계부는 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하고, 상기 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호 정보에 대한 복호 처리와, 당해 복호 처리에서 얻어진 상기 공통키를 사용하여, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠를 복호하는 콘텐츠 취득 처리를 행하는,
암호 시스템.
[아이템 2]
함수 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치는,
상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득부와,
상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 함수 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보와, 당해 공통키로 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화부를 포함하고,
상기 콘텐츠 서버 장치는,
각 상기 암호화 장치로부터 보내진 상기 암호 정보 및 상기 암호화 콘텐츠를 기억하는 기억부와,
상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠와 이것에 대응하는 상기 암호 정보를 당해 복호 장치에 송신하는 송신부를 포함하고,
상기 복호 장치는,
상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득부와, 브라우저부와, 중계부를 포함하고,
상기 브라우저부는 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하고, 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하고,
상기 중계부는 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하고, 상기 키 생성 장치로부터 보내진 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호 정보에 대한 복호 처리와, 당해 복호 처리에서 얻어진 상기 공통키를 사용하여, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠를 복호하는 콘텐츠 취득 처리를 행하고,
상기 키 생성 장치는,
상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하는,
암호 시스템.
[아이템 3]
함수 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치는,
상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득부와,
상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 함수 암호 알고리즘에 따라, 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화부를 포함하고,
상기 콘텐츠 서버 장치는,
각 상기 암호화 장치로부터 보내진 상기 암호화 콘텐츠를 기억하는 기억부와,
상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠를 당해 복호 장치에 송신하는 송신부를 포함하고,
상기 키 생성 장치는,
상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득부와,
상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호화 콘텐츠의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하고,
상기 복호 장치는,
브라우저부와 중계부를 포함하고,
상기 브라우저부는 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하고, 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하고,
상기 중계부는 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하고, 상기 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠에 대한 복호 처리를 행하는,
암호 시스템.
[아이템 4]
함수 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치는,
상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득부와,
상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 함수 암호 알고리즘에 따라, 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화부를 포함하고,
상기 콘텐츠 서버 장치는,
각 상기 암호화 장치로부터 보내진 상기 암호화 콘텐츠를 기억하는 기억부와,
상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠를 당해 복호 장치에 송신하는 송신부를 포함하고,
상기 복호 장치는,
상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득부와, 브라우저부와, 중계부를 포함하고,
상기 브라우저부는 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하고, 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하고,
상기 중계부는 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하고, 상기 키 생성 장치로부터 보내진 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠에 대한 복호 처리를 행하고,
상기 키 생성 장치는,
상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호화 콘텐츠의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하는,
암호 시스템.
[아이템 5]
아이템 1 내지 아이템 4 중 어느 하나에 기재된 암호 시스템에 있어서,
상기 이용자에 대응하는 상기 속성 지정 정보 및/또는 상기 논리식 지정 정보는 기억매체에 기억되어 있고,
상기 복호 장치는 당해 복호 장치의 이용자에 대응하는 상기 속성 지정 정보 또는 상기 논리식 지정 정보를 상기 기억매체로부터 취득하는 유저 정보 취득부를 포함하는,
암호 시스템.
[아이템 6]
아이템 1 또는 아이템 3에 기재된 암호 시스템에 있어서,
상기 키 생성 장치가 사용하는, 상기 복호 장치의 이용자에 대응하는 상기 속성 지정 정보 또는 상기 논리식 지정 정보는 상기 복호 장치로부터 취득한 정보인,
암호 시스템.
[아이템 7]
아이템 1 내지 아이템 6 중 어느 하나에 기재된 암호 시스템에 있어서,
상기 암호 시스템은 하나 또는 복수의 유저 정보 관리 장치를 더 포함하고,
각 상기 유저 정보 관리 장치는 상기 이용자에 대응하는 상기 속성 지정 정보 및/또는 상기 논리식 지정 정보를 기억하는 기억부를 포함하고,
상기 키 생성 장치는 상기 복호 장치의 이용자에 대응하는 상기 속성 지정 정보 또는 상기 논리식 지정 정보를 상기 유저 정보 관리 장치로부터 취득하는 유저 정보 취득부를 포함하는,
암호 시스템.
[아이템 8]
아이템 1 내지 아이템 7 중 어느 하나에 기재된 암호 시스템에 있어서,
각 상기 키 생성 장치에 대하여 하나 또는 복수의 상기 변환규칙 정보 페어가 미리 정해져 있고,
상기 암호 시스템은 하나 또는 복수의 변환규칙 정보 페어 관리 장치를 더 포함하고,
각 상기 변환규칙 정보 페어 관리 장치는 각 상기 키 생성 장치에 대응하는 각 상기 변환규칙 정보 페어를 기억하는 기억부를 포함하고,
상기 암호화 장치는 상기 변환규칙 정보 페어 관리 장치로부터 상기 변환규칙 정보 페어를 취득하는 변환규칙 정보 페어 취득부를 포함하고,
상기 복호 장치는 상기 변환규칙 정보 페어 관리 장치로부터 상기 변환규칙 정보 페어를 취득하는 변환규칙 정보 페어 취득부를 포함하는,
암호 시스템.
[아이템 9]
아이템 1 내지 아이템 7 중 어느 하나에 기재된 암호 시스템에 있어서,
각 상기 키 생성 장치에 대하여 하나 또는 복수의 상기 변환규칙 정보 페어가 미리 정해져 있고,
각 상기 키 생성 장치는 당해 키 생성 장치에 대응하는 각 상기 변환규칙 정보 페어를 기억하는 기억부를 더 포함하고,
각 상기 암호화 장치는 적어도 하나 이상의 상기 키 생성 장치에 대응하는 각 상기 변환규칙 정보 페어를 기억하는 기억부를 더 포함하고,
각 상기 복호 장치는 적어도 하나 이상의 상기 키 생성 장치에 대응하는 각 상기 변환규칙 정보 페어를 기억하는 기억부를 더 포함하는,
암호 시스템.
[아이템 10]
아이템 1 내지 아이템 9 중 어느 하나에 기재된 암호 시스템에 있어서,
상기 폴리시 정보의 특정 대상이 상기 속성용 변환규칙 정보만, 또는, 상기 논리식용 변환규칙 정보만, 또는, 상기 속성용 변환규칙 정보 및 상기 논리식용 변환규칙 정보인 것이 상기 키 생성 장치마다 미리 정해져 있는,
암호 시스템.
[아이템 11]
아이템 1 내지 아이템 10 중 어느 하나에 기재된 암호 시스템에 있어서,
대수구조(K)를 유한환 또는 유한체로 하여,
상기 제 1, 제 2 속성 정보 및 상기 제 1, 제 2 논리 정보는 상기 K의 원소를 성분으로 하는 벡터이고,
상기 복호부의 상기 복호 처리에서는, 상기 제 1 논리 정보와 상기 제 2 속성 정보와의 표준 내적 또는 상기 제 1 속성 정보와 상기 제 2 논리 정보와의 표준 내적의 결과에 의존하는 연산이 행해지는,
암호 시스템.
[아이템 12]
아이템 11에 기재된 암호 시스템에 있어서,
상기 공개키는 K 상의 가군(V)의 원소의 집합이고,
상기 비밀키는 상기 가군(V)의 쌍대가군(V*)의 원소의 집합이고,
상기 복호키는 상기 쌍대가군(V*)의 원소이며,
상기 암호화부는 상기 공개키의 원소에 대하여 상기 제 1 속성 정보의 성분을 계수로 하는 스칼라배를 행하는 연산 또는 상기 공개키의 원소에 대하여 상기 제 1 논리 정보의 성분을 계수로 하는 스칼라배를 행하는 연산을 포함하는 연산을 행함으로써 상기 암호 정보를 구하고,
상기 키 생성부는, 상기 비밀키의 원소에 대하여 상기 제 2 논리 정보의 성분을 계수로 하는 스칼라배를 행하는 연산 또는 상기 비밀키의 원소에 대하여 상기 제 2 속성 정보의 성분을 계수로 하는 스칼라배를 행하는 연산을 포함하는 연산을 행함으로써 상기 복호키를 구하고,
상기 복호부의 상기 복호 처리에 사용되는 상기 연산은 쌍선 형성을 갖고, 상기 연산의 결과가 쌍선 형성에 기초하여 상기 암호 정보 또는 상기 암호화 콘텐츠와 상기 복호키로부터 취출된 상기 제 1 논리 정보와 상기 제 2 속성 정보 또는 상기 제 1 속성 정보와 상기 제 2 논리 정보의 표준 내적의 결과에 의존하도록 구성되어 있는,
암호 시스템.
[아이템 13]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고, 함수 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치의 제 1 명제 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득 스텝과,
상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 함수 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보와, 당해 공통키로 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화 스텝과,
상기 암호화 장치의 송신부가 상기 암호화 콘텐츠와 이것에 대응하는 상기 암호 정보를 상기 콘텐츠 서버 장치에 송신하는 송신 스텝과,
상기 콘텐츠 서버 장치의 기억부가 각 상기 암호화 장치로부터 보내진 상기 암호 정보와 상기 암호화 콘텐츠를 기억하는 기억 스텝과,
상기 복호 장치의 브라우저부가 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하는 취득 요구 처리 스텝과,
상기 복호 장치의 중계부가 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하는 송신 스텝과,
상기 콘텐츠 서버 장치의 송신부가 상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠와 이것에 대응하는 상기 암호 정보를 당해 복호 장치에 송신하는 송신 스텝과,
상기 복호 장치의 수신부가 상기 콘텐츠 서버 장치로부터 상기 암호화 콘텐츠와 상기 암호 정보를 수신하는 수신 스텝과,
상기 키 생성 장치의 제 2 명제 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득 스텝과,
상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 스텝과,
상기 키 생성 장치의 송신부가 상기 복호키를 상기 복호 장치에 송신하는 복호키 송신 스텝과,
상기 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 복호키를 수신하는 복호키 수신 스텝과,
상기 복호 장치의 중계부가, 상기 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호 정보에 대한 복호 처리와, 당해 복호 처리에서 얻어진 상기 공통키를 사용하여, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠를 복호하는 콘텐츠 취득 처리를 행하는 복호 스텝과,
상기 복호 장치의 브라우저부가 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하는 표시 스텝
을 갖는 암호 통신 방법.
[아이템 14]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고, 함수 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치의 제 1 명제 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득 스텝과,
상기 암호화 장치의 암호화부가 상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 함수 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보와, 당해 공통키로 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화 스텝과,
상기 암호화 장치의 송신부가 상기 암호화 콘텐츠와 이것에 대응하는 상기 암호 정보를 상기 콘텐츠 서버 장치에 송신하는 송신 스텝과,
상기 콘텐츠 서버 장치의 기억부가 각 상기 암호화 장치로부터 보내진 상기 암호 정보 및 상기 암호화 콘텐츠를 기억하는 기억 스텝과,
상기 복호 장치의 브라우저부가 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하는 취득 요구 처리 스텝과,
상기 복호 장치의 중계부가 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하는 송신 스텝과,
상기 콘텐츠 서버 장치의 송신부가 상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠와 이것에 대응하는 상기 암호 정보를 당해 복호 장치에 송신하는 송신 스텝과,
상기 복호 장치의 수신부가 상기 콘텐츠 서버 장치로부터 상기 암호화 콘텐츠와 상기 암호 정보를 수신하는 수신 스텝과,
상기 복호 장치의 제 2 명제 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득 스텝과,
상기 복호 장치의 송신부가 상기 제 2 속성 정보 또는 상기 제 2 논리 정보를 상기 키 생성 장치에 송신하는 논리 정보 송신 스텝과,
상기 키 생성 장치의 수신부가 상기 복호 장치로부터 상기 제 2 속성 정보 또는 상기 제 2 논리 정보를 수신하는 논리 정보 수신 스텝과,
상기 키 생성 장치의 키 생성부가 상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 스텝과,
상기 키 생성 장치의 송신부가 상기 복호키를 상기 복호 장치에 송신하는 복호키 송신 스텝과,
상기 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 복호키를 수신하는 복호키 수신 스텝과,
상기 복호 장치의 중계부가, 상기 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호 정보에 대한 복호 처리와, 당해 복호 처리에서 얻어진 상기 공통키를 사용하여, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠를 복호하는 콘텐츠 취득 처리를 행하는 복호 스텝과,
상기 복호 장치의 브라우저부가 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하는 표시 스텝
을 갖는 암호 통신 방법.
[아이템 15]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고, 함수 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치의 제 1 명제 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득 스텝과,
상기 암호화 장치의 암호화부가 상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 함수 암호 알고리즘에 따라, 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화 스텝과,
상기 암호화 장치의 송신부가 상기 암호화 콘텐츠를 상기 콘텐츠 서버 장치에 송신하는 송신 스텝과,
상기 콘텐츠 서버 장치의 기억부가 각 상기 암호화 장치로부터 보내진 상기 암호화 콘텐츠를 기억하는 기억 스텝과,
상기 복호 장치의 브라우저부가 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하는 취득 요구 처리 스텝과,
상기 복호 장치의 중계부가 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하는 송신 스텝과,
상기 콘텐츠 서버 장치의 송신부가 상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠를 당해 복호 장치에 송신하는 송신 스텝과,
상기 복호 장치의 수신부가 상기 콘텐츠 서버 장치로부터 상기 암호화 콘텐츠를 수신하는 수신 스텝과,
상기 키 생성 장치의 제 2 명제 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득 스텝과,
상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호화 콘텐츠의 복호에 사용하는 복호키를 생성하는 키 생성 스텝과,
상기 키 생성 장치의 송신부가 상기 복호키를 상기 복호 장치에 송신하는 복호키 송신 스텝과,
상기 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 복호키를 수신하는 복호키 수신 스텝과,
상기 복호 장치의 중계부가, 상기 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠에 대한 복호 처리를 행하는 복호 스텝과,
상기 복호 장치의 브라우저부가 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하는 표시 스텝
을 갖는 암호 통신 방법.
[아이템 16]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고, 함수 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치의 제 1 명제 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득 스텝과,
상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 함수 암호 알고리즘에 따라, 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화 스텝과,
상기 암호화 장치의 송신부가 상기 암호화 콘텐츠를 상기 콘텐츠 서버 장치에 송신하는 송신 스텝과,
상기 콘텐츠 서버 장치의 기억부가 각 상기 암호화 장치로부터 보내진 상기 암호화 콘텐츠를 기억하는 기억 스텝과,
상기 복호 장치의 브라우저부가 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하는 취득 요구 처리 스텝과,
상기 복호 장치의 중계부가 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하는 송신 스텝과,
상기 콘텐츠 서버 장치의 송신부가 상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠를 당해 복호 장치에 송신하는 송신 스텝과,
상기 복호 장치의 수신부가 상기 콘텐츠 서버 장치로부터 상기 암호화 콘텐츠를 수신하는 수신 스텝과,
상기 복호 장치의 제 2 명제 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득 스텝과,
상기 복호 장치의 송신부가 상기 제 2 속성 정보 또는 상기 제 2 논리 정보를 상기 키 생성 장치에 송신하는 논리 정보 송신 스텝과,
상기 키 생성 장치의 수신부가 상기 복호 장치로부터 상기 제 2 속성 정보 또는 상기 제 2 논리 정보를 수신하는 논리 정보 수신 스텝과,
상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호화 콘텐츠의 복호에 사용하는 복호키를 생성하는 키 생성 스텝과,
상기 키 생성 장치의 송신부가 상기 복호키를 상기 복호 장치에 송신하는 복호키 송신 스텝과,
상기 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 복호키를 수신하는 복호키 수신 스텝과,
상기 복호 장치의 중계부가, 상기 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠에 대한 복호 처리를 행하는 복호 스텝과,
상기 복호 장치의 브라우저부가 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하는 표시 스텝
을 갖는 암호 통신 방법.
[아이템 17]
적어도, 함수 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보와, 당해 공통키로 콘텐츠를 암호화한 암호화 콘텐츠를 구하는, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 상기 암호화 콘텐츠와 상기 암호 정보를 기억하고 있는 하나 또는 복수의 콘텐츠 서버 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 함수 암호를 사용하는 암호 시스템에 있어서의 복호 장치로서,
브라우저부와 중계부를 포함하고,
상기 브라우저부는 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하고, 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하고,
상기 중계부는 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하고, 상기 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호 정보에 대한 복호 처리와, 당해 복호 처리에서 얻어진 상기 공통키를 사용하여, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠를 복호하는 콘텐츠 취득 처리를 행하는,
복호 장치.
[아이템 18]
적어도, 함수 암호 알고리즘에 따라, 콘텐츠를 암호화한 암호화 콘텐츠를 구하는, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 상기 암호화 콘텐츠를 기억하고 있는 하나 또는 복수의 콘텐츠 서버 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 함수 암호를 사용하는 암호 시스템에 있어서의 복호 장치로서,
브라우저부와 중계부를 포함하고,
상기 브라우저부는 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하고, 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하고,
상기 중계부는 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하고, 상기 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠에 대한 복호 처리를 행하는,
복호 장치.
[아이템 19]
적어도, 함수 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보와, 당해 공통키로 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 함수 암호를 사용하는 암호 시스템에 있어서의 콘텐츠 서버 장치로서,
각 상기 암호화 장치로부터 보내진 상기 암호 정보 및 상기 암호화 콘텐츠를 기억하는 기억부와,
상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠와 이것에 대응하는 상기 암호 정보를 당해 복호 장치에 송신하는 송신부
를 포함하는 콘텐츠 서버 장치.
[아이템 20]
적어도, 함수 암호 알고리즘에 따라, 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 함수 암호를 사용하는 암호 시스템에 있어서의 콘텐츠 서버 장치로서,
각 상기 암호화 장치로부터 보내진 상기 암호화 콘텐츠를 기억하는 기억부와,
상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠를 당해 복호 장치에 송신하는 송신부
를 포함하는 콘텐츠 서버 장치.
[아이템 21]
아이템 17 또는 아이템 18에 기재된 복호 장치로서 컴퓨터를 기능시키기 위한 프로그램.
[아이템 22]
아이템 19 또는 아이템 20에 기재된 콘텐츠 서버 장치로서 컴퓨터를 기능시키기 위한 프로그램.
[아이템 23]
아이템 21에 기재된 프로그램 및/또는 아이템 22에 기재된 프로그램을 저장한 컴퓨터 독취 가능한 기억매체.

Claims (39)

  1. 함수 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치는,
    상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득부와,
    상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키를 사용하여, 함수 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화부를 포함하고,
    상기 키 생성 장치는,
    상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득부와,
    상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하고,
    상기 복호 장치는,
    상기 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호부를 포함하는 것을 특징으로 하는 암호 시스템.
  2. 함수 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치는,
    상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득부와,
    상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키를 사용하여, 함수 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화부를 포함하고,
    상기 복호 장치는,
    상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득부와,
    상기 키 생성 장치로부터 보내진 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호부를 포함하고,
    상기 키 생성 장치는,
    상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하는 것을 특징으로 하는 암호 시스템.
  3. 함수 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치는,
    상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득부와,
    상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키와, 평문을 사용하여, 함수 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화부를 포함하고,
    상기 키 생성 장치는,
    상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득부와,
    상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하고,
    상기 복호 장치는,
    상기 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호부를 포함하는 것을 특징으로 하는 암호 시스템.
  4. 함수 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치는,
    상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득부와,
    상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키와, 평문을 사용하여, 함수 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화부를 포함하고,
    상기 복호 장치는,
    상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득부와,
    상기 키 생성 장치로부터 보내진 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호부를 포함하고,
    상기 키 생성 장치는,
    상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하는 것을 특징으로 하는 암호 시스템.
  5. 제 1 항에 있어서,
    상기 암호화 장치의 상기 암호화부는 상기 공통키로 평문을 암호화한 암호문도 구하고,
    상기 복호 장치의 상기 복호부는 상기 복호 처리에서 얻어진 상기 공통키를 사용하는 상기 암호문의 제 2 복호 처리, 또는, 상기 복호 처리에서 얻어진 상기 공통키의 생성에 사용하는 상기 정보로부터 생성된 공통키를 사용하는 상기 암호문의 제 2 복호 처리도 행하는 것을 특징으로 하는 암호 시스템.
  6. 제 2 항에 있어서,
    상기 암호화 장치의 상기 암호화부는 상기 공통키로 평문을 암호화한 암호문도 구하고,
    상기 복호 장치의 상기 복호부는 상기 복호 처리에서 얻어진 상기 공통키를 사용하는 상기 암호문의 제 2 복호 처리, 또는, 상기 복호 처리에서 얻어진 상기 공통키의 생성에 사용하는 상기 정보로부터 생성된 공통키를 사용하는 상기 암호문의 제 2 복호 처리도 행하는 것을 특징으로 하는 암호 시스템.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 암호 시스템은 복수의 상기 복호 장치를 포함하고,
    복수의 상기 복호 장치 중 적어도 하나의 상기 복호 장치는 당해 복호 장치 이외의 하나 이상의 복호 장치에 상기 암호 정보를 전송하는 전송부를 더 포함하는 것을 특징으로 하는 암호 시스템.
  8. 함수 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치는,
    상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득부와,
    상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 함수 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보와, 당해 공통키로 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화부를 포함하고,
    상기 콘텐츠 서버 장치는,
    각 상기 암호화 장치로부터 보내진 상기 암호 정보 및 상기 암호화 콘텐츠를 기억하는 기억부와,
    상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠와 이것에 대응하는 상기 암호 정보를 당해 복호 장치에 송신하는 송신부를 포함하고,
    상기 키 생성 장치는,
    상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득부와,
    상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하고,
    상기 복호 장치는,
    브라우저부와 중계부를 포함하고,
    상기 브라우저부는 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하고, 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하고,
    상기 중계부는 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하고, 상기 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호 정보에 대한 복호 처리와, 당해 복호 처리에서 얻어진 상기 공통키를 사용하여, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠를 복호하는 콘텐츠 취득 처리를 행하는 것을 특징으로 하는 암호 시스템.
  9. 함수 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치는,
    상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득부와,
    상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 함수 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보와, 당해 공통키로 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화부를 포함하고,
    상기 콘텐츠 서버 장치는,
    각 상기 암호화 장치로부터 보내진 상기 암호 정보 및 상기 암호화 콘텐츠를 기억하는 기억부와,
    상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠와 이것에 대응하는 상기 암호 정보를 당해 복호 장치에 송신하는 송신부를 포함하고,
    상기 복호 장치는,
    상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득부와, 브라우저부와, 중계부를 포함하고,
    상기 브라우저부는 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하고, 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하고,
    상기 중계부는 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하고, 상기 키 생성 장치로부터 보내진 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호 정보에 대한 복호 처리와, 당해 복호 처리에서 얻어진 상기 공통키를 사용하여, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠를 복호하는 콘텐츠 취득 처리를 행하고,
    상기 키 생성 장치는,
    상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하는 것을 특징으로 하는 암호 시스템.
  10. 함수 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치는,
    상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득부와,
    상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 함수 암호 알고리즘에 따라, 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화부를 포함하고,
    상기 콘텐츠 서버 장치는,
    각 상기 암호화 장치로부터 보내진 상기 암호화 콘텐츠를 기억하는 기억부와,
    상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠를 당해 복호 장치에 송신하는 송신부를 포함하고,
    상기 키 생성 장치는,
    상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득부와,
    상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호화 콘텐츠의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하고,
    상기 복호 장치는,
    브라우저부와 중계부를 포함하고,
    상기 브라우저부는 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하고, 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하고,
    상기 중계부는 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하고, 상기 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠에 대한 복호 처리를 행하는 것을 특징으로 하는 암호 시스템.
  11. 함수 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치는,
    상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득부와,
    상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 함수 암호 알고리즘에 따라, 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화부를 포함하고,
    상기 콘텐츠 서버 장치는,
    각 상기 암호화 장치로부터 보내진 상기 암호화 콘텐츠를 기억하는 기억부와,
    상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠를 당해 복호 장치에 송신하는 송신부를 포함하고,
    상기 복호 장치는,
    상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득부와, 브라우저부와, 중계부를 포함하고,
    상기 브라우저부는 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하고, 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하고,
    상기 중계부는 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하고, 상기 키 생성 장치로부터 보내진 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠에 대한 복호 처리를 행하고,
    상기 키 생성 장치는,
    상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호화 콘텐츠의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하는 것을 특징으로 하는 암호 시스템.
  12. 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고, 함수 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치의 제 1 명제 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득 스텝과,
    상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키를 사용하여, 함수 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화 스텝과,
    상기 키 생성 장치의 제 2 명제 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득 스텝과,
    상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 스텝과,
    상기 복호 장치의 복호부가, 상기 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝을 갖는 것을 특징으로 하는 암호 통신 방법.
  13. 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고, 함수 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치의 제 1 명제 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득 스텝과,
    상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키를 사용하여, 함수 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화 스텝과,
    상기 복호 장치의 제 2 명제 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득 스텝과,
    상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 스텝과,
    상기 복호 장치의 복호부가, 상기 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝을 갖는 것을 특징으로 하는 암호 통신 방법.
  14. 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고, 함수 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치의 제 1 명제 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득 스텝과,
    상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키와, 평문을 사용하여, 함수 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화 스텝과,
    상기 키 생성 장치의 제 2 명제 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득 스텝과,
    상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 스텝과,
    상기 복호 장치의 복호부가, 상기 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝을 갖는 것을 특징으로 하는 암호 통신 방법.
  15. 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고, 함수 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치의 제 1 명제 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득 스텝과,
    상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키와, 평문을 사용하여, 함수 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화 스텝과,
    상기 복호 장치의 제 2 명제 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득 스텝과,
    상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 스텝과,
    상기 복호 장치의 복호부가, 상기 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝을 갖는 것을 특징으로 하는 암호 통신 방법.
  16. 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 복수의 복호 장치를 포함하고, 함수 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치의 제 1 명제 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득 스텝과,
    상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키를 사용하여, 함수 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화 스텝과,
    상기 암호화 장치의 송신부가 상기 암호 정보를 제 1 복호 장치에 송신하는 암호 정보 송신 스텝과,
    상기 제 1 복호 장치의 수신부가 상기 암호화 장치로부터 상기 암호 정보를 수신하는 암호 정보 수신 스텝과,
    상기 키 생성 장치의 제 2 명제 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 제 1 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득 스텝과,
    상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 제 1 복호키를 생성하는 키 생성 스텝과,
    상기 키 생성 장치의 송신부가 상기 제 1 복호키를 상기 제 1 복호 장치에 송신하는 복호키 송신 스텝과,
    상기 제 1 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 제 1 복호키를 수신하는 복호키 수신 스텝과,
    상기 제 1 복호 장치의 복호부가, 상기 제 1 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝과,
    상기 제 1 복호 장치의 전송부가 상기 암호 정보를 당해 제 1 복호 장치 이외의 제 2 복호 장치에 전송하는 전송 스텝과,
    상기 제 2 복호 장치의 수신부가 상기 암호 정보를 상기 제 1 복호 장치로부터 수신하는 수신 스텝과,
    상기 키 생성 장치의 제 2 명제 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 제 2 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 3 속성 정보라고 함) 또는 논리 정보(이하, 제 3 논리 정보라고 함)를 얻는 제 3 명제 논리 정보 취득 스텝과,
    상기 키 생성 장치의 키 생성부가, 상기 제 3 속성 정보 또는 상기 제 3 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 제 2 복호키를 생성하는 키 생성 스텝과,
    상기 키 생성 장치의 송신부가 상기 제 2 복호키를 상기 제 2 복호 장치에 송신하는 복호키 송신 스텝과,
    상기 제 2 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 제 2 복호키를 수신하는 복호키 수신 스텝과,
    상기 제 2 복호 장치의 복호부가, 상기 제 2 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝을 갖는 것을 특징으로 하는 암호 통신 방법.
  17. 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 복수의 복호 장치를 포함하고, 함수 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치의 제 1 명제 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득 스텝과,
    상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키를 사용하여, 함수 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화 스텝과,
    상기 암호화 장치의 송신부가 상기 암호 정보를 제 1 복호 장치에 송신하는 암호 정보 송신 스텝과,
    상기 제 1 복호 장치의 수신부가 상기 암호화 장치로부터 상기 암호 정보를 수신하는 암호 정보 수신 스텝과,
    상기 제 1 복호 장치의 제 2 명제 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 제 1 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득 스텝과,
    상기 제 1 복호 장치의 송신부가 상기 제 2 속성 정보 또는 상기 제 2 논리 정보를 상기 키 생성 장치에 송신하는 논리 정보 송신 스텝과,
    상기 키 생성 장치의 수신부가 상기 제 1 복호 장치로부터 상기 제 2 속성 정보 또는 상기 제 2 논리 정보를 수신하는 논리 정보 수신 스텝과,
    상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 제 1 복호키를 생성하는 키 생성 스텝과,
    상기 키 생성 장치의 송신부가 상기 제 1 복호키를 상기 제 1 복호 장치에 송신하는 복호키 송신 스텝과,
    상기 제 1 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 제 1 복호키를 수신하는 복호키 수신 스텝과,
    상기 제 1 복호 장치의 복호부가, 상기 제 1 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝과,
    상기 제 1 복호 장치의 전송부가 상기 암호 정보를 당해 제 1 복호 장치 이외의 제 2 복호 장치에 전송하는 전송 스텝과,
    상기 제 2 복호 장치의 수신부가 상기 암호 정보를 상기 제 1 복호 장치로부터 수신하는 수신 스텝과,
    상기 제 2 복호 장치의 제 2 명제 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 제 2 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 3 속성 정보라고 함) 또는 논리 정보(이하, 제 3 논리 정보라고 함)를 얻는 제 3 명제 논리 정보 취득 스텝과,
    상기 제 2 복호 장치의 송신부가 상기 제 3 속성 정보 또는 상기 제 3 논리 정보를 상기 키 생성 장치에 송신하는 논리 정보 송신 스텝과,
    상기 키 생성 장치의 수신부가 상기 제 2 복호 장치로부터 상기 제 3 속성 정보 또는 상기 제 3 논리 정보를 수신하는 논리 정보 수신 스텝과,
    상기 키 생성 장치의 키 생성부가, 상기 제 3 속성 정보 또는 상기 제 3 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 제 2 복호키를 생성하는 키 생성 스텝과,
    상기 키 생성 장치의 송신부가 상기 제 2 복호키를 상기 제 2 복호 장치에 송신하는 복호키 송신 스텝과,
    상기 제 2 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 제 2 복호키를 수신하는 복호키 수신 스텝과,
    상기 제 2 복호 장치의 복호부가, 상기 제 2 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝을 갖는 것을 특징으로 하는 암호 통신 방법.
  18. 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 복수의 복호 장치를 포함하고, 함수 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치의 제 1 명제 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득 스텝과,
    상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키와, 평문을 사용하여, 함수 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화 스텝과,
    상기 암호화 장치의 송신부가 상기 암호 정보를 제 1 복호 장치에 송신하는 암호 정보 송신 스텝과,
    상기 제 1 복호 장치의 수신부가 상기 암호화 장치로부터 상기 암호 정보를 수신하는 암호 정보 수신 스텝과,
    상기 키 생성 장치의 제 2 명제 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 제 1 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득 스텝과,
    상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 제 1 복호키를 생성하는 키 생성 스텝과,
    상기 키 생성 장치의 송신부가 상기 제 1 복호키를 상기 제 1 복호 장치에 송신하는 복호키 송신 스텝과,
    상기 제 1 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 제 1 복호키를 수신하는 복호키 수신 스텝과,
    상기 제 1 복호 장치의 복호부가, 상기 제 1 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝과,
    상기 제 1 복호 장치의 전송부가 상기 암호 정보를 당해 제 1 복호 장치 이외의 제 2 복호 장치에 전송하는 전송 스텝과,
    상기 제 2 복호 장치의 수신부가 상기 암호 정보를 상기 제 1 복호 장치로부터 수신하는 수신 스텝과,
    상기 키 생성 장치의 제 2 명제 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 제 2 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 3 속성 정보라고 함) 또는 논리 정보(이하, 제 3 논리 정보라고 함)를 얻는 제 3 명제 논리 정보 취득 스텝과,
    상기 키 생성 장치의 키 생성부가, 상기 제 3 속성 정보 또는 상기 제 3 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 제 2 복호키를 생성하는 키 생성 스텝과,
    상기 키 생성 장치의 송신부가 상기 제 2 복호키를 상기 제 2 복호 장치에 송신하는 복호키 송신 스텝과,
    상기 제 2 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 제 2 복호키를 수신하는 복호키 수신 스텝과,
    상기 제 2 복호 장치의 복호부가, 상기 제 2 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝을 갖는 것을 특징으로 하는 암호 통신 방법.
  19. 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 복수의 복호 장치를 포함하고, 함수 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치의 제 1 명제 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득 스텝과,
    상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키와, 평문을 사용하여, 함수 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화 스텝과,
    상기 암호화 장치의 송신부가 상기 암호 정보를 제 1 복호 장치에 송신하는 암호 정보 송신 스텝과,
    상기 제 1 복호 장치의 수신부가 상기 암호화 장치로부터 상기 암호 정보를 수신하는 암호 정보 수신 스텝과,
    상기 제 1 복호 장치의 제 2 명제 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 제 1 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득 스텝과,
    상기 제 1 복호 장치의 송신부가 상기 제 2 속성 정보 또는 상기 제 2 논리 정보를 상기 키 생성 장치에 송신하는 논리 정보 송신 스텝과,
    상기 키 생성 장치의 수신부가 상기 제 1 복호 장치로부터 상기 제 2 속성 정보 또는 상기 제 2 논리 정보를 수신하는 논리 정보 수신 스텝과,
    상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 제 1 복호키를 생성하는 키 생성 스텝과,
    상기 키 생성 장치의 송신부가 상기 제 1 복호키를 상기 제 1 복호 장치에 송신하는 복호키 송신 스텝과,
    상기 제 1 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 제 1 복호키를 수신하는 복호키 수신 스텝과,
    상기 제 1 복호 장치의 복호부가, 상기 제 1 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝과,
    상기 제 1 복호 장치의 전송부가 상기 암호 정보를 당해 제 1 복호 장치 이외의 제 2 복호 장치에 전송하는 전송 스텝과,
    상기 제 2 복호 장치의 수신부가 상기 암호 정보를 상기 제 1 복호 장치로부터 수신하는 수신 스텝과,
    상기 제 2 복호 장치의 제 2 명제 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 제 2 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 3 속성 정보라고 함) 또는 논리 정보(이하, 제 3 논리 정보라고 함)를 얻는 제 3 명제 논리 정보 취득 스텝과,
    상기 제 2 복호 장치의 송신부가 상기 제 3 속성 정보 또는 상기 제 3 논리 정보를 상기 키 생성 장치에 송신하는 논리 정보 송신 스텝과,
    상기 키 생성 장치의 수신부가 상기 제 2 복호 장치로부터 상기 제 3 속성 정보 또는 상기 제 3 논리 정보를 수신하는 논리 정보 수신 스텝과,
    상기 키 생성 장치의 키 생성부가, 상기 제 3 속성 정보 또는 상기 제 3 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 제 2 복호키를 생성하는 키 생성 스텝과,
    상기 키 생성 장치의 송신부가 상기 제 2 복호키를 상기 제 2 복호 장치에 송신하는 복호키 송신 스텝과,
    상기 제 2 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 제 2 복호키를 수신하는 복호키 수신 스텝과,
    상기 제 2 복호 장치의 복호부가, 상기 제 2 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝
    을 갖는 암호 통신 방법.
  20. 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고, 함수 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치의 제 1 명제 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득 스텝과,
    상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 함수 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보와, 당해 공통키로 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화 스텝과,
    상기 암호화 장치의 송신부가 상기 암호화 콘텐츠와 이것에 대응하는 상기 암호 정보를 상기 콘텐츠 서버 장치에 송신하는 송신 스텝과,
    상기 콘텐츠 서버 장치의 기억부가 각 상기 암호화 장치로부터 보내진 상기 암호 정보와 상기 암호화 콘텐츠를 기억하는 기억 스텝과,
    상기 복호 장치의 브라우저부가 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하는 취득 요구 처리 스텝과,
    상기 복호 장치의 중계부가 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하는 송신 스텝과,
    상기 콘텐츠 서버 장치의 송신부가 상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠와 이것에 대응하는 상기 암호 정보를 당해 복호 장치에 송신하는 송신 스텝과,
    상기 복호 장치의 수신부가 상기 콘텐츠 서버 장치로부터 상기 암호화 콘텐츠와 상기 암호 정보를 수신하는 수신 스텝과,
    상기 키 생성 장치의 제 2 명제 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득 스텝과,
    상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 스텝과,
    상기 키 생성 장치의 송신부가 상기 복호키를 상기 복호 장치에 송신하는 복호키 송신 스텝과,
    상기 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 복호키를 수신하는 복호키 수신 스텝과,
    상기 복호 장치의 중계부가, 상기 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호 정보에 대한 복호 처리와, 당해 복호 처리에서 얻어진 상기 공통키를 사용하여, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠를 복호하는 콘텐츠 취득 처리를 행하는 복호 스텝과,
    상기 복호 장치의 브라우저부가 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하는 표시 스텝을 갖는 것을 특징으로 하는 암호 통신 방법.
  21. 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고, 함수 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치의 제 1 명제 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득 스텝과,
    상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 함수 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보와, 당해 공통키로 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화 스텝과,
    상기 암호화 장치의 송신부가 상기 암호화 콘텐츠와 이것에 대응하는 상기 암호 정보를 상기 콘텐츠 서버 장치에 송신하는 송신 스텝과,
    상기 콘텐츠 서버 장치의 기억부가 각 상기 암호화 장치로부터 보내진 상기 암호 정보 및 상기 암호화 콘텐츠를 기억하는 기억 스텝과,
    상기 복호 장치의 브라우저부가 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하는 취득 요구 처리 스텝과,
    상기 복호 장치의 중계부가 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하는 송신 스텝과,
    상기 콘텐츠 서버 장치의 송신부가, 상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠와 이것에 대응하는 상기 암호 정보를 당해 복호 장치에 송신하는 송신 스텝과,
    상기 복호 장치의 수신부가 상기 콘텐츠 서버 장치로부터 상기 암호화 콘텐츠와 상기 암호 정보를 수신하는 수신 스텝과,
    상기 복호 장치의 제 2 명제 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득 스텝과,
    상기 복호 장치의 송신부가 상기 제 2 속성 정보 또는 상기 제 2 논리 정보를 상기 키 생성 장치에 송신하는 논리 정보 송신 스텝과,
    상기 키 생성 장치의 수신부가 상기 복호 장치로부터 상기 제 2 속성 정보 또는 상기 제 2 논리 정보를 수신하는 논리 정보 수신 스텝과,
    상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 스텝과,
    상기 키 생성 장치의 송신부가 상기 복호키를 상기 복호 장치에 송신하는 복호키 송신 스텝과,
    상기 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 복호키를 수신하는 복호키 수신 스텝과,
    상기 복호 장치의 중계부가, 상기 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호 정보에 대한 복호 처리와, 당해 복호 처리에서 얻어진 상기 공통키를 사용하여, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠를 복호하는 콘텐츠 취득 처리를 행하는 복호 스텝과,
    상기 복호 장치의 브라우저부가 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하는 표시 스텝을 갖는 것을 특징으로 하는 암호 통신 방법.
  22. 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고, 함수 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치의 제 1 명제 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득 스텝과,
    상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 함수 암호 알고리즘에 따라, 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화 스텝과,
    상기 암호화 장치의 송신부가 상기 암호화 콘텐츠를 상기 콘텐츠 서버 장치에 송신하는 송신 스텝과,
    상기 콘텐츠 서버 장치의 기억부가 각 상기 암호화 장치로부터 보내진 상기 암호화 콘텐츠를 기억하는 기억 스텝과,
    상기 복호 장치의 브라우저부가 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하는 취득 요구 처리 스텝과,
    상기 복호 장치의 중계부가 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하는 송신 스텝과,
    상기 콘텐츠 서버 장치의 송신부가 상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠를 당해 복호 장치에 송신하는 송신 스텝과,
    상기 복호 장치의 수신부가 상기 콘텐츠 서버 장치로부터 상기 암호화 콘텐츠를 수신하는 수신 스텝과,
    상기 키 생성 장치의 제 2 명제 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득 스텝과,
    상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호화 콘텐츠의 복호에 사용하는 복호키를 생성하는 키 생성 스텝과,
    상기 키 생성 장치의 송신부가 상기 복호키를 상기 복호 장치에 송신하는 복호키 송신 스텝과,
    상기 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 복호키를 수신하는 복호키 수신 스텝과,
    상기 복호 장치의 중계부가, 상기 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠에 대한 복호 처리를 행하는 복호 스텝과,
    상기 복호 장치의 브라우저부가 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하는 표시 스텝을 갖는 것을 특징으로 하는 암호 통신 방법.
  23. 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고, 함수 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치의 제 1 명제 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득 스텝과,
    상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 함수 암호 알고리즘에 따라, 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화 스텝과,
    상기 암호화 장치의 송신부가 상기 암호화 콘텐츠를 상기 콘텐츠 서버 장치에 송신하는 송신 스텝과,
    상기 콘텐츠 서버 장치의 기억부가 각 상기 암호화 장치로부터 보내진 상기 암호화 콘텐츠를 기억하는 기억 스텝과,
    상기 복호 장치의 브라우저부가 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하는 취득 요구 처리 스텝과,
    상기 복호 장치의 중계부가 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하는 송신 스텝과,
    상기 콘텐츠 서버 장치의 송신부가 상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠를 당해 복호 장치에 송신하는 송신 스텝과,
    상기 복호 장치의 수신부가 상기 콘텐츠 서버 장치로부터 상기 암호화 콘텐츠를 수신하는 수신 스텝과,
    상기 복호 장치의 제 2 명제 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득 스텝과,
    상기 복호 장치의 송신부가 상기 제 2 속성 정보 또는 상기 제 2 논리 정보를 상기 키 생성 장치에 송신하는 논리 정보 송신 스텝과,
    상기 키 생성 장치의 수신부가 상기 복호 장치로부터 상기 제 2 속성 정보 또는 상기 제 2 논리 정보를 수신하는 논리 정보 수신 스텝과,
    상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호화 콘텐츠의 복호에 사용하는 복호키를 생성하는 키 생성 스텝과,
    상기 키 생성 장치의 송신부가 상기 복호키를 상기 복호 장치에 송신하는 복호키 송신 스텝과,
    상기 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 복호키를 수신하는 복호키 수신 스텝과,
    상기 복호 장치의 중계부가, 상기 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠에 대한 복호 처리를 행하는 복호 스텝과,
    상기 복호 장치의 브라우저부가 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하는 표시 스텝을 갖는 것을 특징으로 하는 암호 통신 방법.
  24. 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 함수 암호를 사용하는 암호 시스템에 있어서의 암호화 장치로서,
    상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득부와,
    상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키를 사용하여, 함수 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화부를 포함하는 것을 특징으로 하는 암호화 장치.
  25. 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 함수 암호를 사용하는 암호 시스템에 있어서의 암호화 장치로서,
    상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 논리식 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 논리 정보(이하, 제 1 논리 정보라고 함)를 얻는 제 1 명제 논리 정보 취득부와,
    상기 제 1 속성 정보 또는 상기 제 1 논리 정보와, 상기 키 생성 장치의 공개키와, 평문을 사용하여, 함수 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화부를 포함하는 것을 특징으로 하는 암호화 장치.
  26. 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 함수 암호를 사용하는 암호 시스템에 있어서의 키 생성 장치로서,
    상기 폴리시 정보로 특정되는 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득부와,
    상기 제 2 속성 정보 또는 상기 제 2 논리 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하는 것을 특징으로 하는 키 생성 장치.
  27. 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 함수 암호를 사용하는 암호 시스템에 있어서의 키 생성 장치로서,
    상기 폴리시 정보로 특정되는 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터 생성된 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)와, 당해 키 생성 장치의 비밀키를 사용하여, 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하는 것을 특징으로 하는 키 생성 장치.
  28. 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 함수 암호를 사용하는 암호 시스템에 있어서의 복호 장치로서,
    상기 키 생성 장치가 생성한 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호화 장치가 생성한 암호 정보에 대한 복호 처리를 행하는 복호부를 포함하는 것을 특징으로 하는 복호 장치.
  29. 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 함수 암호를 사용하는 암호 시스템에 있어서의 복호 장치로서,
    상기 폴리시 정보로 특정되는 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 논리식 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 논리 정보(이하, 제 2 논리 정보라고 함)를 얻는 제 2 명제 논리 정보 취득부와,
    상기 키 생성 장치가 생성한 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 암호화 장치가 생성한 암호 정보에 대한 복호 처리를 행하는 복호부를 포함하는 것을 특징으로 하는 복호 장치.
  30. 제 28 항 또는 제 29 항에 있어서,
    상기 암호 시스템이 복수의 복호 장치를 포함하는 경우에,
    당해 복호 장치 이외의 하나 이상의 복호 장치에 상기 암호 정보를 전송하는 전송부를 더 포함하는 것을 특징으로 하는 복호 장치.
  31. 적어도, 함수 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보와, 당해 공통키로 콘텐츠를 암호화한 암호화 콘텐츠를 구하는, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 상기 암호화 콘텐츠와 상기 암호 정보를 기억하고 있는 하나 또는 복수의 콘텐츠 서버 장치를 포함하고,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 함수 암호를 사용하는 암호 시스템에 있어서의 복호 장치로서,
    브라우저부와 중계부를 포함하고,
    상기 브라우저부는 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하고, 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하고,
    상기 중계부는 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하고, 상기 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호 정보에 대한 복호 처리와, 당해 복호 처리에서 얻어진 상기 공통키를 사용하여, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠를 복호하는 콘텐츠 취득 처리를 행하는 것을 특징으로 하는 복호 장치.
  32. 적어도, 함수 암호 알고리즘에 따라, 콘텐츠를 암호화한 암호화 콘텐츠를 구하는, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 상기 암호화 콘텐츠를 기억하고 있는 하나 또는 복수의 콘텐츠 서버 장치를 포함하고,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 함수 암호를 사용하는 암호 시스템에 있어서의 복호 장치로서,
    브라우저부와 중계부를 포함하고,
    상기 브라우저부는 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하고, 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하고,
    상기 중계부는 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하고, 상기 복호키를 사용하여, 함수 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠에 대한 복호 처리를 행하는 것을 특징으로 하는 복호 장치.
  33. 적어도, 함수 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보와, 당해 공통키로 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 함수 암호를 사용하는 암호 시스템에 있어서의 콘텐츠 서버 장치로서,
    각 상기 암호화 장치로부터 보내진 상기 암호 정보 및 상기 암호화 콘텐츠를 기억하는 기억부와,
    상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠와 이것에 대응하는 상기 암호 정보를 당해 복호 장치에 송신하는 송신부를 포함하는 것을 특징으로 하는 콘텐츠 서버 장치.
  34. 적어도, 함수 암호 알고리즘에 따라, 콘텐츠를 암호화한 암호화 콘텐츠를 요하는 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 함수 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 논리식을 지정하는 정보(이하, 논리식 지정 정보라고 함)를 당해 함수 암호 알고리즘에 사용되는 논리 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 논리식용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 논리식용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 함수 암호를 사용하는 암호 시스템에 있어서의 콘텐츠 서버 장치로서,
    각 상기 암호화 장치로부터 보내진 상기 암호화 콘텐츠를 기억하는 기억부와,
    상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠를 당해 복호 장치에 송신하는 송신부를 포함하는 것을 특징으로 하는 콘텐츠 서버 장치.
  35. 제 24 항 또는 제 25 항에 기재된 암호화 장치로서 컴퓨터를 기능시키기 위한 프로그램이 기록된 컴퓨터 판독가능 기억매체.
  36. 제 26 항 또는 제 27 항에 기재된 키 생성 장치로서 컴퓨터를 기능시키기 위한 프로그램이 기록된 컴퓨터 판독가능 기억매체.
  37. 제 28 항, 제 29 항, 제 31 항 및 제 32 항 중 어느 한 항에 기재된 복호 장치로서 컴퓨터를 기능시키기 위한 프로그램이 기록된 컴퓨터 판독가능 기억매체.
  38. 제 33 항 또는 제 34 항에 기재된 콘텐츠 서버 장치로서 컴퓨터를 기능시키기 위한 프로그램이 기록된 컴퓨터 판독가능 기억매체.
  39. 삭제
KR1020137001061A 2010-07-23 2011-07-22 암호 시스템, 암호 통신 방법, 암호화 장치, 키 생성 장치, 복호 장치, 콘텐츠 서버 장치, 프로그램, 기억매체 KR101418254B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2010-166401 2010-07-23
JP2010166401 2010-07-23
PCT/JP2011/066716 WO2012011575A1 (ja) 2010-07-23 2011-07-22 暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体

Publications (2)

Publication Number Publication Date
KR20130024951A KR20130024951A (ko) 2013-03-08
KR101418254B1 true KR101418254B1 (ko) 2014-07-10

Family

ID=45496992

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137001061A KR101418254B1 (ko) 2010-07-23 2011-07-22 암호 시스템, 암호 통신 방법, 암호화 장치, 키 생성 장치, 복호 장치, 콘텐츠 서버 장치, 프로그램, 기억매체

Country Status (6)

Country Link
US (1) US8995660B2 (ko)
EP (2) EP2787680B1 (ko)
JP (1) JP5422053B2 (ko)
KR (1) KR101418254B1 (ko)
CN (1) CN103004130B (ko)
WO (1) WO2012011575A1 (ko)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8683232B2 (en) * 2011-05-18 2014-03-25 Cpo Technologies Corporation Secure user/host authentication
JP5677273B2 (ja) * 2011-11-18 2015-02-25 三菱電機株式会社 暗号処理システム、暗号処理方法、暗号処理プログラム及び鍵生成装置
JP5680007B2 (ja) 2012-03-06 2015-03-04 三菱電機株式会社 暗号システム、暗号方法及び暗号プログラム
WO2013190549A1 (en) * 2012-06-18 2013-12-27 Secure Islands Technologies Ltd. System and method to access content of encrypted data items in unsupported digital environments
CN105408884B (zh) 2013-07-26 2019-03-29 慧与发展有限责任合伙企业 基于上下文的数据查看
US9350550B2 (en) 2013-09-10 2016-05-24 M2M And Iot Technologies, Llc Power management and security for wireless modules in “machine-to-machine” communications
US9100175B2 (en) 2013-11-19 2015-08-04 M2M And Iot Technologies, Llc Embedded universal integrated circuit card supporting two-factor authentication
US10498530B2 (en) 2013-09-27 2019-12-03 Network-1 Technologies, Inc. Secure PKI communications for “machine-to-machine” modules, including key derivation by modules and authenticating public keys
US9607177B2 (en) * 2013-09-30 2017-03-28 Qualcomm Incorporated Method for securing content in dynamically allocated memory using different domain-specific keys
US10700856B2 (en) 2013-11-19 2020-06-30 Network-1 Technologies, Inc. Key derivation for a module using an embedded universal integrated circuit card
WO2015149836A1 (en) * 2014-03-31 2015-10-08 Irdeto B.V. Cryptographic chip and related methods
US10944545B2 (en) 2014-03-31 2021-03-09 Irdeto B.V. Obfuscated performance of a predetermined function
US9672342B2 (en) 2014-05-05 2017-06-06 Analog Devices, Inc. System and device binding metadata with hardware intrinsic properties
US10432409B2 (en) 2014-05-05 2019-10-01 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
US9946858B2 (en) * 2014-05-05 2018-04-17 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
EP3185234B1 (en) * 2014-10-07 2019-01-30 Nippon Telegraph and Telephone Corporation Secure computation system and relay device, and method, program, and recording medium thereof
JP6081036B2 (ja) * 2014-12-05 2017-02-15 三菱電機株式会社 復号条件追加装置及び暗号システム
US9853977B1 (en) 2015-01-26 2017-12-26 Winklevoss Ip, Llc System, method, and program product for processing secure transactions within a cloud computing system
US10560440B2 (en) 2015-03-12 2020-02-11 Fornetix Llc Server-client PKI for applied key management system and process
US10630686B2 (en) 2015-03-12 2020-04-21 Fornetix Llc Systems and methods for organizing devices in a policy hierarchy
US10965459B2 (en) 2015-03-13 2021-03-30 Fornetix Llc Server-client key escrow for applied key management system and process
US10020939B2 (en) 2015-04-28 2018-07-10 Korea University Research And Business Foundation Device, server and method for providing secret key encryption and restoration
US10917239B2 (en) 2016-02-26 2021-02-09 Fornetix Llc Policy-enabled encryption keys having ephemeral policies
US10860086B2 (en) 2016-02-26 2020-12-08 Fornetix Llc Policy-enabled encryption keys having complex logical operations
US10931653B2 (en) 2016-02-26 2021-02-23 Fornetix Llc System and method for hierarchy manipulation in an encryption key management system
US10880281B2 (en) 2016-02-26 2020-12-29 Fornetix Llc Structure of policies for evaluating key attributes of encryption keys
US11063980B2 (en) 2016-02-26 2021-07-13 Fornetix Llc System and method for associating encryption key management policy with device activity
US9838203B1 (en) * 2016-09-28 2017-12-05 International Business Machines Corporation Integrity protected trusted public key token with performance enhancements
WO2018070932A1 (en) * 2016-10-14 2018-04-19 Huawei International Pte. Ltd. System and method for querying an encrypted database for documents satisfying an expressive keyword access structure
US10425235B2 (en) 2017-06-02 2019-09-24 Analog Devices, Inc. Device and system with global tamper resistance
US10958452B2 (en) 2017-06-06 2021-03-23 Analog Devices, Inc. System and device including reconfigurable physical unclonable functions and threshold cryptography
US10193690B1 (en) * 2017-09-29 2019-01-29 U.S. Bancorp, National Association Systems and methods to secure data using computer system attributes
WO2019224912A1 (ja) * 2018-05-22 2019-11-28 三菱電機株式会社 車両通信装置、車両アクセス制御システム、管理装置、車両アクセス制御方法、および車両アクセス制御プログラム
US10922423B1 (en) * 2018-06-21 2021-02-16 Amazon Technologies, Inc. Request context generator for security policy validation service
CN109379178B (zh) * 2018-11-15 2022-01-11 成都卫士通信息产业股份有限公司 加解密装置构建方法、系统、介质及设备
US11451369B2 (en) * 2019-04-16 2022-09-20 Nec Corporation Method and system for multi-authority controlled functional encryption
US11128454B2 (en) 2019-05-30 2021-09-21 Bong Mann Kim Quantum safe cryptography and advanced encryption and key exchange (AEKE) method for symmetric key encryption/exchange
CN110661883A (zh) * 2019-10-18 2020-01-07 北京师范大学 一种数据传输装置和方法
KR102364047B1 (ko) * 2019-11-19 2022-02-16 기초과학연구원 구조화된 행렬들에 기초한 공개키 암호를 위한 방법과 장치
US11153080B1 (en) * 2020-07-29 2021-10-19 John A. Nix Network securing device data using two post-quantum cryptography key encapsulation mechanisms
US11316673B2 (en) 2020-09-11 2022-04-26 Seagate Technology Llc Privacy preserving secret sharing from novel combinatorial objects
US11362816B2 (en) 2020-09-11 2022-06-14 Seagate Technology Llc Layered secret sharing with flexible access structures
CN114157488B (zh) * 2021-12-03 2023-06-16 北京明朝万达科技股份有限公司 密钥获取方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080016341A1 (en) 2006-07-12 2008-01-17 Palo Alto Research Center Incorporated. Method, apparatus, and program product for enabling access to flexibly redacted content
US20090080658A1 (en) 2007-07-13 2009-03-26 Brent Waters Method and apparatus for encrypting data for fine-grained access control

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101351789B1 (ko) 2009-04-24 2014-01-15 니뽄 덴신 덴와 가부시키가이샤 암호 시스템, 암호 통신 방법, 암호화 장치, 키 생성 장치, 복호 장치, 콘텐츠 서버 장치, 프로그램, 기억매체

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080016341A1 (en) 2006-07-12 2008-01-17 Palo Alto Research Center Incorporated. Method, apparatus, and program product for enabling access to flexibly redacted content
US20090080658A1 (en) 2007-07-13 2009-03-26 Brent Waters Method and apparatus for encrypting data for fine-grained access control

Also Published As

Publication number Publication date
US20130114810A1 (en) 2013-05-09
EP2787680A1 (en) 2014-10-08
JP5422053B2 (ja) 2014-02-19
KR20130024951A (ko) 2013-03-08
EP2582086A4 (en) 2013-08-21
EP2787680B1 (en) 2017-03-29
CN103004130B (zh) 2015-03-11
US8995660B2 (en) 2015-03-31
WO2012011575A1 (ja) 2012-01-26
CN103004130A (zh) 2013-03-27
EP2582086B1 (en) 2016-03-23
EP2582086A1 (en) 2013-04-17
JPWO2012011575A1 (ja) 2013-09-09

Similar Documents

Publication Publication Date Title
KR101418254B1 (ko) 암호 시스템, 암호 통신 방법, 암호화 장치, 키 생성 장치, 복호 장치, 콘텐츠 서버 장치, 프로그램, 기억매체
KR101351789B1 (ko) 암호 시스템, 암호 통신 방법, 암호화 장치, 키 생성 장치, 복호 장치, 콘텐츠 서버 장치, 프로그램, 기억매체
Garg et al. Registration-based encryption: removing private-key generator from IBE
US20120163588A1 (en) Functional encryption applied system, information output apparatus, information processing apparatus, encryption protocol execution method, information output method, information processing method, program and recording medium
WO2016136024A1 (ja) 鍵付替え方向制御システムおよび鍵付替え方向制御方法
Zhang et al. An improved anonymous multi‐receiver identity‐based encryption scheme
JP2012256008A (ja) 評価対象情報自己評価システム、評価対象情報自己評価方法、装置、プログラム
Hyla et al. A practical certificate and identity based encryption scheme and related security architecture
Meddah et al. Scalable lightweight ABAC scheme for secure sharing PHR in cloud computing
Wang et al. More efficient CCA‐secure unidirectional proxy re‐encryption schemes without random oracles
Sharmila Deva Selvi et al. An efficient certificateless proxy re-encryption scheme without pairing
JP5612494B2 (ja) 関数暗号を用いた時限暗号システム、時限暗号方法、装置、プログラム
Cho et al. Secure non-transferable proxy re-encryption for group membership and non-membership
JP5366755B2 (ja) データ編集システム、書込み装置、読取装置及びデータ編集方法
JP2010161527A (ja) 暗号通信システム、端末装置、秘密鍵生成方法及びプログラム
Wang et al. A Cheating Detectable Privacy-Preserving Data Sharing Scheme for Cloud Computing
Belel et al. Key-homomorphic and revocable ciphertext-policy attribute based key encapsulation mechanism for multimedia applications
Jahid Social networking: Security, privacy, and applications
Su Pairing-based constructions: efficient revocation, compact ciphertexts and generic transformation
Chaudhari et al. Privacy-Preserving Public Authentication for Shared Data in Cloud

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190620

Year of fee payment: 6