WO2012011575A1 - 暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体 - Google Patents

暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体 Download PDF

Info

Publication number
WO2012011575A1
WO2012011575A1 PCT/JP2011/066716 JP2011066716W WO2012011575A1 WO 2012011575 A1 WO2012011575 A1 WO 2012011575A1 JP 2011066716 W JP2011066716 W JP 2011066716W WO 2012011575 A1 WO2012011575 A1 WO 2012011575A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
attribute
conversion rule
decryption
encryption
Prior art date
Application number
PCT/JP2011/066716
Other languages
English (en)
French (fr)
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 日本電信電話株式会社
Priority to CN201180035439.2A priority Critical patent/CN103004130B/zh
Priority to US13/810,797 priority patent/US8995660B2/en
Priority to JP2012525451A priority patent/JP5422053B2/ja
Priority to KR1020137001061A priority patent/KR101418254B1/ko
Priority to EP11809745.0A priority patent/EP2582086B1/en
Publication of WO2012011575A1 publication Critical patent/WO2012011575A1/ja

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

Definitions

  • the present invention relates to cryptographic communication technology, and more particularly to cryptographic communication technology that relies on function cryptography.
  • Common key encryption is a method in which a message sender encrypts a message with a common key to obtain an encrypted message, and a receiver uses the same common key as the sender to decrypt the encrypted message to obtain a message. For this reason, a procedure for securely possessing the common key between the sender and the receiver is required.
  • the receiver prepares a unique public key and a corresponding unique secret key, and (2) the sender encrypts the message with the receiver's public key to obtain an encrypted message, (3) In this method, the receiver obtains the message by decrypting the encrypted message with the secret key. This requires the sender to obtain the recipient's public key before encrypting the message. In other words, it cannot be encrypted unless the recipient generates a public key.
  • predicate encryption In the predicate encryption, certain information X is incorporated into an encrypted message in the process of encryption by the sender, and a receiver having information Y satisfying a specific relationship with the information X knows the decryption of the encrypted message or knows the message.
  • This is a method that can acquire information about a message without any problem.
  • the sender does not necessarily need to know the information Y held by the receiver at the time of encryption.
  • the sender does not necessarily have to identify the recipient before encryption.
  • the sender can freely and actively determine the information X with the initiative.
  • information X is represented as an attribute I (variable)
  • information Y is represented as a predicate f (propositional function, Boolean function).
  • NTT Information Sharing Platform Laboratories Information Security Project “NTT Cryptographic Element Technology”, Internet ⁇ URL: http://info.isl.ntt.co.jp/crypt/camellia/technology.html> [July 2010 Search on 15th] J. Katz, A. Sahai and B. Waters, "Predicate Encryption Supporting Disjunction, Polynomial Equations, and Inner Products", EUROCRYPT 2008, 146-162.
  • the object of the present invention is to provide a cryptographic communication technology that relies on function cryptography that can be flexibly operated.
  • a cryptographic system that uses function cryptography includes at least one or more encryption devices, one or more key generation devices, and one or more decryption devices.
  • a secret key and a public key corresponding to the secret key are predetermined for each key generation device.
  • Information specifying an attribute (hereinafter referred to as attribute specifying information) that defines a conversion rule for converting attribute information used in the function encryption algorithm (hereinafter referred to as attribute conversion rule information)
  • attribute conversion rule information Information specifying a conversion rule for converting information specifying a logical expression (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm (hereinafter referred to as logical expression conversion rule information).
  • One or a plurality of conversion rule information pairs that are pairs with () are determined in advance. Further, policy information for specifying which of the attribute conversion rule information and the logical expression conversion rule information is determined in advance.
  • the encryption device includes attribute conversion information that is input from the encryption device among attribute conversion rule information and logical expression conversion rule information included in one conversion rule information pair selected from the conversion rule information pair.
  • first attribute information attribute information
  • logical information logical information
  • the common key is obtained in accordance with the function encryption algorithm using the first propositional logical information acquisition process to obtain the first logical information
  • the first attribute information or the first logical information and the public key of the key generation device
  • encryption processing for obtaining the common key or encryption information corresponding to the information used to generate the common key The key generation device uses the other conversion rule information paired with the one conversion rule information specified by the policy information, from the attribute specification information or the logical expression specification information corresponding to the user of the decryption device.
  • Second propositional logical information acquisition processing for obtaining attribute information (hereinafter referred to as second attribute information) or logical information (hereinafter referred to as second logical information), second attribute information or second logical information, and the key
  • a key generation process for generating a decryption key used for decryption of encryption information is performed using the secret key of the generation apparatus.
  • the decryption device performs decryption processing on the cryptographic information using the decryption key in accordance with the function encryption algorithm.
  • a cryptographic system that uses function cryptography includes at least one or more encryption devices, one or more key generation devices, and one or more decryption devices.
  • a secret key and a public key corresponding to the secret key are predetermined for each key generation device.
  • Information specifying an attribute (hereinafter referred to as attribute specifying information) that defines a conversion rule for converting attribute information used in the function encryption algorithm (hereinafter referred to as attribute conversion rule information)
  • attribute conversion rule information Information specifying a conversion rule for converting information specifying a logical expression (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm (hereinafter referred to as logical expression conversion rule information).
  • One or a plurality of conversion rule information pairs that are pairs with () are determined in advance. Further, policy information for specifying which of the attribute conversion rule information and the logical expression conversion rule information is determined in advance.
  • the encryption device includes attribute conversion information that is input from the encryption device among attribute conversion rule information and logical expression conversion rule information included in one conversion rule information pair selected from the conversion rule information pair.
  • first attribute information attribute information
  • logical information logical information
  • the common key is obtained in accordance with the function encryption algorithm using the first propositional logical information acquisition process to obtain the first logical information
  • the first attribute information or the first logical information and the public key of the key generation device
  • encryption processing for obtaining the common key or encryption information corresponding to the information used to generate the common key The decryption device uses the other conversion rule information paired with the one conversion rule information specified by the policy information, from the attribute designation information or the logical expression designation information corresponding to the user of the decryption device.
  • second attribute information attribute information
  • second logical information logical information
  • decryption processing is performed on the encryption information.
  • the key generation device performs key generation processing for generating a decryption key used for decryption of the encryption information, using the second attribute information or the second logical information and the secret key of the key generation device.
  • a cryptographic system that uses function cryptography includes at least one or more encryption devices, one or more key generation devices, and one or more decryption devices.
  • a secret key and a public key corresponding to the secret key are predetermined for each key generation device.
  • Information specifying an attribute (hereinafter referred to as attribute specifying information) that defines a conversion rule for converting attribute information used in the function encryption algorithm (hereinafter referred to as attribute conversion rule information)
  • attribute conversion rule information Information specifying a conversion rule for converting information specifying a logical expression (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm (hereinafter referred to as logical expression conversion rule information).
  • One or a plurality of conversion rule information pairs that are pairs with () are determined in advance. Further, policy information for specifying which of the attribute conversion rule information and the logical expression conversion rule information is determined in advance.
  • the encryption device includes attribute conversion information that is input from the encryption device among attribute conversion rule information and logical expression conversion rule information included in one conversion rule information pair selected from the conversion rule information pair.
  • first attribute information attribute information (hereinafter referred to as first attribute information) or logical information (
  • first propositional logic information acquisition process for obtaining the first logical information) the first attribute information or the first logical information, the public key of the key generation device, and the plaintext are used in accordance with the function encryption algorithm.
  • encryption processing for obtaining encryption information corresponding to the plaintext is performed.
  • the key generation device uses the other conversion rule information paired with the one conversion rule information specified by the policy information, from the attribute specification information or the logical expression specification information corresponding to the user of the decryption device.
  • Second propositional logical information acquisition processing for obtaining attribute information (hereinafter referred to as second attribute information) or logical information (hereinafter referred to as second logical information), second attribute information or second logical information, and the key
  • a key generation process for generating a decryption key used for decryption of encryption information is performed using the secret key of the generation apparatus.
  • the decryption device performs decryption processing on the cryptographic information using the decryption key in accordance with the function encryption algorithm.
  • a cryptographic system that uses function cryptography includes at least one or more encryption devices, one or more key generation devices, and one or more decryption devices.
  • a secret key and a public key corresponding to the secret key are predetermined for each key generation device.
  • Information specifying an attribute (hereinafter referred to as attribute specifying information) that defines a conversion rule for converting attribute information used in the function encryption algorithm (hereinafter referred to as attribute conversion rule information)
  • attribute conversion rule information Information specifying a conversion rule for converting information specifying a logical expression (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm (hereinafter referred to as logical expression conversion rule information).
  • One or a plurality of conversion rule information pairs that are pairs with () are determined in advance. Further, policy information for specifying which of the attribute conversion rule information and the logical expression conversion rule information is determined in advance.
  • the encryption device includes attribute conversion information that is input from the encryption device among attribute conversion rule information and logical expression conversion rule information included in one conversion rule information pair selected from the conversion rule information pair.
  • first attribute information attribute information (hereinafter referred to as first attribute information) or logical information (
  • first propositional logic information acquisition process for obtaining the first logical information) the first attribute information or the first logical information, the public key of the key generation device, and the plaintext are used in accordance with the function encryption algorithm.
  • encryption processing for obtaining encryption information corresponding to the plaintext is performed.
  • the decryption device uses the other conversion rule information paired with the one conversion rule information specified by the policy information, from the attribute designation information or the logical expression designation information corresponding to the user of the decryption device.
  • second attribute information attribute information
  • second logical information logical information
  • decryption processing is performed on the encryption information.
  • the key generation device performs key generation processing for generating a decryption key used for decryption of the encryption information, using the second attribute information or the second logical information and the secret key of the key generation device.
  • the outline of the present invention according to the second aspect is as follows.
  • a cryptographic system including at least one or a plurality of encryption devices, one or a plurality of key generation devices, and a plurality of decryption devices, and using a function encryption
  • a secret key and a secret key for each key generation device Corresponding public key is determined in advance, and information (hereinafter referred to as the following) that defines the conversion rule for converting the information specifying the attribute (hereinafter referred to as attribute specifying information) into the attribute information used in the function encryption algorithm Attribute conversion rule information) and information specifying a logical expression (hereinafter referred to as logical expression specifying information) that defines a conversion rule for converting logical information used in the function encryption algorithm (hereinafter referred to as logical expression specifying information)
  • attribute specifying information a logical expression
  • One or a plurality of conversion rule information pairs that are defined in advance as a pair with logical expression conversion rule information), and any one of the attribute conversion rule
  • the encryption device includes the attribute conversion rule information and the logical expression conversion rule information included in one conversion rule information pair selected from the conversion rule information pair, and the input information of the encryption device is attributed.
  • attribute information hereinafter referred to as first attribute information
  • logic from the input information.
  • first logical information Using a first propositional logical information acquisition process for obtaining information (hereinafter referred to as first logical information), the first attribute information or the first logical information, and the public key of the key generation device, according to the function encryption algorithm, An encryption process for obtaining the common key and the encryption information corresponding to the common key or the information used to generate the common key is performed.
  • the key generation device uses the other conversion rule information paired with the one conversion rule information specified by the policy information to specify attribute designation information or logical expression designation corresponding to the user of the decryption device.
  • second attribute information attribute information
  • second logical information logical information
  • the decryption device performs decryption processing on the cryptographic information using the decryption key in accordance with the function encryption algorithm.
  • the decryption apparatus also performs a transfer process for transferring the encryption information to another decryption apparatus.
  • the encryption information to be transferred may be sent from an encryption device or may be transferred from another decryption device.
  • the decryption device that has received the transferred encryption information generates a decryption key from the key generation device as necessary, and performs the decryption process.
  • a secret key and a secret key for each key generation device Corresponding public key is determined in advance, and information (hereinafter referred to as the following) that defines the conversion rule for converting the information specifying the attribute (hereinafter referred to as attribute specifying information) into the attribute information used in the function encryption algorithm Attribute conversion rule information) and information specifying a logical expression (hereinafter referred to as logical expression specifying information) that defines a conversion rule for converting logical information used in the function encryption algorithm (hereinafter referred to as logical expression specifying information) One or a plurality of conversion rule information pairs that are defined in advance as a pair with logical expression conversion rule information), and any one of the attribute conversion rule information and the logical expression conversion rule information.
  • the encryption device includes the attribute conversion rule information and the logical expression conversion rule information included in one conversion rule information pair selected from the conversion rule information pair, and the input information of the encryption device is attributed.
  • attribute information hereinafter referred to as first attribute information
  • logic from the input information.
  • first logical information a first propositional logical information acquisition process for obtaining information (hereinafter referred to as first logical information), the first attribute information or the first logical information, and the public key of the key generation device, according to the function encryption algorithm.
  • An encryption process for obtaining the common key and the encryption information corresponding to the common key or the information used to generate the common key is performed.
  • the decryption apparatus uses the other conversion rule information paired with the one conversion rule information specified by the policy information, to specify attribute designation information or logical expression designation corresponding to the user of the decryption apparatus Using a second propositional logical information acquisition process for obtaining attribute information (hereinafter referred to as second attribute information) or logical information (hereinafter referred to as second logical information) from the information, and a decryption key sent from the key generation device In accordance with the function encryption algorithm, the decryption process is performed on the encryption information. Further, the key generation device performs key generation processing for generating a decryption key used for decryption of the encryption information, using the second attribute information or the second logical information and the secret key of the key generation device.
  • second attribute information attribute information
  • second logical information logical information
  • the key generation device performs key generation processing for generating a decryption key used for decryption of the encryption information, using the second attribute information or the second logical information and the secret key of the key generation
  • the decryption device described above also performs a transfer process for transferring the encryption information to another decryption device.
  • the encryption information to be transferred may be sent from an encryption device or may be transferred from another decryption device.
  • the decryption devices included in the encryption system have a function of performing a transfer process, it is not required that all the decryption devices have this transfer function.
  • the decryption device that has received the transferred encryption information generates a decryption key from the key generation device as necessary, and performs the decryption process.
  • a secret key and a secret key for each key generation device Corresponding public key is determined in advance, and information (hereinafter referred to as the following) that defines the conversion rule for converting the information specifying the attribute (hereinafter referred to as attribute specifying information) into the attribute information used in the function encryption algorithm Attribute conversion rule information) and information specifying a logical expression (hereinafter referred to as logical expression specifying information) that defines a conversion rule for converting logical information used in the function encryption algorithm (hereinafter referred to as logical expression specifying information) One or a plurality of conversion rule information pairs that are defined in advance as a pair with logical expression conversion rule information), and any one of the attribute conversion rule information and the logical expression conversion rule information.
  • the encryption device includes the attribute conversion rule information and the logical expression conversion rule information included in one conversion rule information pair selected from the conversion rule information pair, and the input information of the encryption device is attributed.
  • attribute information hereinafter referred to as first attribute information
  • Function encryption algorithm using first propositional logical information acquisition process for obtaining information hereinafter referred to as first logical information
  • first attribute information or first logical information
  • public key of key generation device and plaintext
  • the key generation device uses the other conversion rule information paired with the one conversion rule information specified by the policy information to specify attribute designation information or logical expression designation corresponding to the user of the decryption device.
  • second attribute information attribute information
  • second logical information logical information
  • a key generation process for generating a decryption key used for decryption of encryption information is performed.
  • the decryption device performs decryption processing on the cryptographic information using the decryption key in accordance with the function encryption algorithm.
  • the decryption apparatus also performs a transfer process for transferring the encryption information to another decryption apparatus.
  • the encryption information to be transferred may be sent from an encryption device or may be transferred from another decryption device.
  • the decryption devices included in the cryptographic system at least some of the decryption devices have a transfer function, but it is not required that all decryption devices have this transfer function.
  • the decryption device that has received the transferred encryption information generates a decryption key from the key generation device as necessary, and performs the decryption process.
  • a secret key and a secret key for each key generation device Corresponding public key is determined in advance, and information (hereinafter referred to as the following) that defines the conversion rule for converting the information specifying the attribute (hereinafter referred to as attribute specifying information) into the attribute information used in the function encryption algorithm Attribute conversion rule information) and information specifying a logical expression (hereinafter referred to as logical expression specifying information) that defines a conversion rule for converting logical information used in the function encryption algorithm (hereinafter referred to as logical expression specifying information) One or a plurality of conversion rule information pairs that are defined in advance as a pair with logical expression conversion rule information), and any one of the attribute conversion rule information and the logical expression conversion rule information.
  • the encryption device includes the attribute conversion rule information and the logical expression conversion rule information included in one conversion rule information pair selected from the conversion rule information pair, and the input information of the encryption device is attributed.
  • attribute information hereinafter referred to as first attribute information
  • Function encryption algorithm using first propositional logical information acquisition process for obtaining information hereinafter referred to as first logical information
  • first attribute information or first logical information
  • public key of key generation device and plaintext
  • the decryption apparatus uses the other conversion rule information paired with the one conversion rule information specified by the policy information, to specify attribute designation information or logical expression designation corresponding to the user of the decryption apparatus Using a second propositional logical information acquisition process for obtaining attribute information (hereinafter referred to as second attribute information) or logical information (hereinafter referred to as second logical information) from the information, and a decryption key sent from the key generation device In accordance with the function encryption algorithm, the decryption process is performed on the encryption information. Further, the key generation device performs key generation processing for generating a decryption key used for decryption of the encryption information, using the second attribute information or the second logical information and the secret key of the key generation device.
  • second attribute information attribute information
  • second logical information logical information
  • the key generation device performs key generation processing for generating a decryption key used for decryption of the encryption information, using the second attribute information or the second logical information and the secret key of the key generation
  • the decryption device described above also performs a transfer process for transferring the encryption information to another decryption device.
  • the encryption information to be transferred may be sent from an encryption device or may be transferred from another decryption device.
  • the decryption devices included in the encryption system have a function of performing a transfer process, it is not required that all the decryption devices have this transfer function.
  • the decryption device that has received the transferred encryption information generates a decryption key from the key generation device as necessary, and performs the decryption process.
  • An encryption system using function encryption includes at least one or more encryption devices, one or more key generation devices, one or more decryption devices, and one or more content server devices. .
  • a secret key and a public key corresponding to the secret key are predetermined for each key generation device.
  • Information specifying an attribute (hereinafter referred to as attribute specifying information) that defines a conversion rule for converting attribute information used in the function encryption algorithm (hereinafter referred to as attribute conversion rule information)
  • attribute conversion rule information Information specifying a conversion rule for converting information specifying a logical expression (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm (hereinafter referred to as logical expression conversion rule information).
  • One or a plurality of conversion rule information pairs that are pairs with () are determined in advance. Further, policy information for specifying which of the attribute conversion rule information and the logical expression conversion rule information is predetermined.
  • the encryption device includes attribute conversion information that is input from the encryption device among attribute conversion rule information and logical expression conversion rule information included in one conversion rule information pair selected from the conversion rule information pair. Alternatively, using either one of the conversion rule information selected together with the policy information depending on whether it is logical expression designation information, attribute information (hereinafter referred to as first attribute information) or logical information ( Hereinafter, the first propositional logic information acquisition process for obtaining the first logical information), the first attribute information or the first logical information, the public key of the key generation device, and the content are used in accordance with the function encryption algorithm.
  • an encryption process is performed for obtaining a common key, encryption information corresponding to the common key or information used to generate the common key, and encrypted content obtained by encrypting the content with the common key.
  • the content server device stores the encryption information and the encrypted content sent from each encryption device, and transmits the encrypted content and the corresponding encryption information to the decryption device in response to a request from the decryption device. Perform transmission processing.
  • the key generation device uses the other conversion rule information paired with the one conversion rule information specified by the policy information, from the attribute specification information or the logical expression specification information corresponding to the user of the decryption device.
  • Second propositional logical information acquisition processing for obtaining attribute information (hereinafter referred to as second attribute information) or logical information (hereinafter referred to as second logical information), second attribute information or second logical information, and the key
  • a key generation process for generating a decryption key used for decryption of encryption information is performed using the secret key of the generation apparatus.
  • the decryption device includes an encrypted content acquisition request process for the content server apparatus, a decryption process for the encrypted information acquired from the content server apparatus in accordance with a function encryption algorithm using the decryption key, and a common result obtained by the decryption process.
  • a content acquisition process for decrypting the encrypted content acquired from the content server device and a process for displaying the content decrypted from the encrypted content are performed using the key.
  • An encryption system using function encryption includes at least one or more encryption devices, one or more key generation devices, one or more decryption devices, and one or more content server devices. .
  • a secret key and a public key corresponding to the secret key are predetermined for each key generation device.
  • Information specifying an attribute (hereinafter referred to as attribute specifying information) that defines a conversion rule for converting attribute information used in the function encryption algorithm (hereinafter referred to as attribute conversion rule information)
  • attribute conversion rule information Information specifying a conversion rule for converting information specifying a logical expression (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm (hereinafter referred to as logical expression conversion rule information).
  • One or a plurality of conversion rule information pairs that are pairs with () are determined in advance. Further, policy information for specifying which of the attribute conversion rule information and the logical expression conversion rule information is predetermined.
  • the encryption device includes attribute conversion information that is input from the encryption device among attribute conversion rule information and logical expression conversion rule information included in one conversion rule information pair selected from the conversion rule information pair. Alternatively, using either one of the conversion rule information selected together with the policy information depending on whether it is logical expression designation information, attribute information (hereinafter referred to as first attribute information) or logical information ( Hereinafter, the first propositional logic information acquisition process for obtaining the first logical information), the first attribute information or the first logical information, the public key of the key generation device, and the content are used in accordance with the function encryption algorithm.
  • an encryption process is performed for obtaining a common key, encryption information corresponding to the common key or information used to generate the common key, and encrypted content obtained by encrypting the content with the common key.
  • the content server device stores the encryption information and the encrypted content sent from each encryption device, and transmits the encrypted content and the corresponding encryption information to the decryption device in response to a request from the decryption device. Perform transmission processing.
  • the decryption device uses the decryption device using the other conversion rule information paired with the one conversion rule information specified by the policy information and the encrypted content acquisition request processing for the content server device.
  • Second propositional logical information acquisition processing for obtaining attribute information (hereinafter referred to as second attribute information) or logical information (hereinafter referred to as second logical information) from attribute designation information or logical expression designation information corresponding to the person;
  • the decryption key the encrypted content acquired from the content server device is decrypted using the decryption processing for the encrypted information acquired from the content server device and the common key obtained by this decryption processing in accordance with the function encryption algorithm.
  • a content acquisition process and a process of displaying the content decrypted from the encrypted content are performed.
  • the key generation device performs key generation processing for generating a decryption key used for decryption of encryption information, using the second attribute information or the second logical information and the secret key of the key generation device.
  • An encryption system using function encryption includes at least one or more encryption devices, one or more key generation devices, one or more decryption devices, and one or more content server devices. .
  • a secret key and a public key corresponding to the secret key are predetermined for each key generation device.
  • Information specifying an attribute (hereinafter referred to as attribute specifying information) that defines a conversion rule for converting attribute information used in the function encryption algorithm (hereinafter referred to as attribute conversion rule information)
  • attribute conversion rule information Information specifying a conversion rule for converting information specifying a logical expression (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm (hereinafter referred to as logical expression conversion rule information).
  • One or a plurality of conversion rule information pairs that are pairs with () are determined in advance. Further, policy information for specifying which of the attribute conversion rule information and the logical expression conversion rule information is determined in advance.
  • the encryption device includes attribute conversion information that is input from the encryption device among attribute conversion rule information and logical expression conversion rule information included in one conversion rule information pair selected from the conversion rule information pair.
  • first attribute information attribute information (hereinafter referred to as first attribute information) or logical information (
  • first propositional logic information acquisition process for obtaining the first logical information) the first attribute information or the first logical information, the public key of the key generation device, and the content are used in accordance with the function encryption algorithm
  • encryption processing for obtaining encrypted content obtained by encrypting the content is performed.
  • the content server device performs processing for storing the encrypted content transmitted from each encryption device and transmission processing for transmitting the encrypted content to the decryption device in response to a request from the decryption device.
  • the key generation device uses the other conversion rule information paired with the one conversion rule information specified by the policy information, from the attribute specification information or the logical expression specification information corresponding to the user of the decryption device.
  • Second propositional logical information acquisition processing for obtaining attribute information (hereinafter referred to as second attribute information) or logical information (hereinafter referred to as second logical information), second attribute information or second logical information, and the key
  • a key generation process for generating a decryption key used for decrypting the encrypted content is performed using the secret key of the generation apparatus.
  • the decryption device receives the encrypted content acquisition request from the content server device, uses the decryption key to decrypt the encrypted content acquired from the content server device in accordance with the function encryption algorithm, and decrypts the encrypted content. To display the content that has been displayed.
  • An encryption system using function encryption includes at least one or more encryption devices, one or more key generation devices, one or more decryption devices, and one or more content server devices. .
  • a secret key and a public key corresponding to the secret key are predetermined for each key generation device.
  • Information specifying an attribute (hereinafter referred to as attribute specifying information) that defines a conversion rule for converting attribute information used in the function encryption algorithm (hereinafter referred to as attribute conversion rule information)
  • attribute conversion rule information Information specifying a conversion rule for converting information specifying a logical expression (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm (hereinafter referred to as logical expression conversion rule information).
  • One or a plurality of conversion rule information pairs that are pairs with () are determined in advance. Further, policy information for specifying which of the attribute conversion rule information and the logical expression conversion rule information is determined in advance.
  • the encryption device includes attribute conversion information that is input from the encryption device among attribute conversion rule information and logical expression conversion rule information included in one conversion rule information pair selected from the conversion rule information pair.
  • first attribute information attribute information (hereinafter referred to as first attribute information) or logical information (
  • first propositional logic information acquisition process for obtaining the first logical information) the first attribute information or the first logical information, the public key of the key generation device, and the content are used in accordance with the function encryption algorithm
  • encryption processing for obtaining encrypted content obtained by encrypting the content is performed.
  • the content server device performs processing for storing the encrypted content transmitted from each encryption device and transmission processing for transmitting the encrypted content to the decryption device in response to a request from the decryption device.
  • the decryption device uses the decryption device using the other conversion rule information paired with the one conversion rule information specified by the policy information and the encrypted content acquisition request processing for the content server device.
  • Second propositional logical information acquisition processing for obtaining attribute information (hereinafter referred to as second attribute information) or logical information (hereinafter referred to as second logical information) from attribute designation information or logical expression designation information corresponding to the person;
  • second attribute information attribute information
  • second logical information logical information from attribute designation information or logical expression designation information corresponding to the person
  • decryption key decryption processing for decrypting the encrypted content acquired from the content server device and processing for displaying the content decrypted from the encrypted content are performed in accordance with the function encryption algorithm.
  • the key generation device performs key generation processing for generating a decryption key used for decrypting the encrypted content, using the second attribute information or the second logical information and the secret key of the key generation device.
  • the input information of the encryption device is attribute designation information.
  • attribute information or logical information is obtained from the input information using either one of the conversion rule information selected according to the logical expression designation information, so that the encryption communication based on function encryption is flexible. Can be used.
  • the block diagram of the encryption system concerning each embodiment by a 1st viewpoint The figure which shows the process sequence of the encryption communication method regarding each embodiment by a 1st viewpoint (the 1). The figure which shows the process sequence of the encryption communication method regarding each embodiment by a 1st viewpoint (the 2). The figure which shows the process sequence of the encryption communication method regarding each embodiment by a 1st viewpoint (the 3).
  • the functional block diagram of the encryption apparatus concerning 1st Embodiment by a 1st viewpoint The figure which shows the detail of the process sequence of the encryption process regarding 1st Embodiment by a 1st viewpoint.
  • the functional block diagram of the decoding apparatus concerning 1st Embodiment by a 1st viewpoint The figure which shows the process sequence of the encryption communication method regarding each embodiment by a 1st viewpoint.
  • the functional block diagram of the decoding apparatus concerning 3rd Embodiment by a 1st viewpoint The figure which shows the detail of the process sequence of the decoding process regarding 3rd Embodiment by a 1st viewpoint.
  • the functional block diagram of the decoding apparatus concerning 4th Embodiment by a 1st viewpoint The figure which shows the detail of the process sequence of the decoding process regarding 4th Embodiment by a 1st viewpoint.
  • the figure which shows the process sequence of the encryption communication method regarding each embodiment by a 2nd viewpoint (the 1).
  • the figure which shows the process sequence of the encryption communication method regarding each embodiment by a 2nd viewpoint the 2).
  • the figure which shows the process sequence of the encryption communication method regarding each embodiment by a 2nd viewpoint (the 3).
  • the figure which shows the process sequence of the encryption communication method regarding each embodiment by a 2nd viewpoint (the 4).
  • the functional block diagram of the encryption apparatus concerning 1st Embodiment by a 2nd viewpoint The figure which shows the detail of the process sequence of the encryption process regarding 1st Embodiment by a 2nd viewpoint.
  • the functional block diagram of the 2nd decoding apparatus concerning 1st Embodiment by a 2nd viewpoint The figure which shows the process sequence of the encryption communication method regarding each embodiment by a 2nd viewpoint.
  • the block diagram of the encryption system concerning each embodiment by a 3rd viewpoint The figure which shows the process sequence of the encryption communication method regarding each embodiment by a 3rd viewpoint (the 1). The figure which shows the process sequence of the encryption communication method regarding each embodiment by a 3rd viewpoint (the 2). The figure which shows the process sequence of the encryption communication method regarding each embodiment by a 3rd viewpoint (the 3). The figure which shows the process sequence of the encryption communication method regarding each embodiment by a 3rd viewpoint (the 4).
  • the functional block diagram of the encryption apparatus concerning 1st Embodiment by a 3rd viewpoint The figure which shows the detail of the process sequence of the encryption process regarding 1st Embodiment by a 3rd viewpoint.
  • the functional block diagram of the key generation apparatus concerning 2nd Embodiment by a 3rd viewpoint The figure which shows the detail of the process sequence of the key generation process regarding 2nd Embodiment by a 3rd viewpoint.
  • the functional block diagram of the encryption apparatus concerning 3rd Embodiment by a 3rd viewpoint The figure which shows the detail of the process sequence of the encryption process regarding 3rd Embodiment by a 3rd viewpoint.
  • a function cipher having a certain relationship R (•, •) and having a function f i, j (x) of the type expressed by the formula (B) includes various ciphers ( ⁇ is normal). Is a symbol indicating that the data could not be decrypted).
  • the ID-based encryption can be defined as a function encryption having a function f i, j (x) represented by the formula (C).
  • a function cipher having the relationship R ( ⁇ , ⁇ ) represented by the expression (D) with the key identifier i as a predicate and the receiver identifier j as an instance of a predicate variable is called a key policy function cipher.
  • attribute concealment that the ciphertext conceals not only the plaintext x but also the instance j of the predicate variable.
  • a function cipher having the relationship R ( ⁇ , ⁇ ) represented by the expression (E) with the key identifier i as a predicate variable and the receiver identifier j as an instance of the predicate is called a ciphertext policy function cipher.
  • predicate concealment that the ciphertext conceals not only the plaintext x but also the predicate j.
  • predicate encryption Key policy function encryption with attribute concealment or ciphertext policy function encryption with predicate concealment is called predicate encryption (see reference R2).
  • Reference R2 Tatsuaki Okamoto and Katsuyuki Takashima, "Hierarchical Predicate Encryption for Inner-Products," ASIACRYPT 2009: pp.214-231, 2009.
  • the threshold gate configuration in function cryptography is a threshold that can restore a secret if any t pieces of N pieces of distributed information are given, but cannot restore a secret even if given t-1 or less pieces of shared information
  • a secret sharing scheme that is, a t-out-of-N secret sharing scheme.
  • a threshold gate using the t-out-of-N secret sharing scheme is called a t-out-of-N threshold gate.
  • the t-out-of-N threshold gate has a gate structure that outputs true when t or more conditions are satisfied among the input N conditional expressions, and outputs false otherwise.
  • a negative (output) negation of a t-out-of-N threshold gate is equivalent to a negative (N-t + 1) -out-of-N threshold gate (for all inputs).
  • ⁇ Secret key verifiable function encryption> Among the function ciphers, what can be convinced that the secret key sk i is correctly created for the key identifier i is called a secret key verifiable function cipher. By adding a non-interactive zero knowledge proof (see reference R4) that proves that the key generation procedure has been correctly performed to the secret key, a secret key verifiable function cipher can be configured. If the secret key verifiable function encryption is used, it can be understood that the secret key sk i is correctly created for the key identifier i. (Reference 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.
  • ciphertext public verifiable function cipher a function cipher that can be convinced that the ciphertext is correctly created without having any key obtained from the KeyGen algorithm for the ciphertext.
  • a ciphertext public verifiable function cipher can be constructed by adding a non-interactive zero knowledge proof (see reference document R4 above) that proves that the encryption procedure has been performed correctly to the ciphertext. If the ciphertext public verifiable function cipher is used, it can be understood that the same result can be obtained using any key that can be decrypted with respect to the ciphertext.
  • Matrix represents a set of elements in which operations are defined arranged in a rectangle. Not only elements with ring elements but also elements with group elements as elements are expressed as “matrix”.
  • (•) T represents a transposed matrix of (•) -1 : (•) -1 represents the inverse matrix of.
  • ⁇ : ⁇ is a logical symbol representing a logical product (AND).
  • ⁇ : ⁇ is a logical symbol representing a logical sum (OR).
  • ⁇ : ⁇ is a logical symbol representing negation (NOT).
  • Propositional variable A propositional variable is a variable on the set ⁇ true, false ⁇ whose elements are “true” and “false” (“false”, “true”) of the proposition.
  • Propositional variables and negation of propositional variables are collectively called literals.
  • Logical expression A logical expression means an expression having a formal grammar representing a proposition in mathematical logic. Specifically, “true” and “false” are logical expressions, propositional variables are logical expressions, negation of logical expressions is logical expressions, and logical products of logical expressions and logical expressions are logical expressions, A logical sum of a logical expression and a logical expression is a logical expression.
  • Z Z represents an integer set.
  • sec represents a security parameter (sec ⁇ Z, sec> 0).
  • 0 * : 0 * represents a sequence of * 0's.
  • 1 * : 1 * represents a sequence of * 1's.
  • F q represents a finite field of order q.
  • the order q is an integer of 1 or more.
  • a prime number or a power value of a prime number is assumed to be the order q.
  • examples of the finite field F q are an elementary field and an extension field based on it. Note that the operation in the case where the finite field F q is a prime field can be easily configured by, for example, a remainder operation modulo the order q. Further, the calculation when the finite field F q is an extension field can be easily configured by, for example, a remainder calculation modulo an irreducible polynomial.
  • E represents an elliptic curve defined on the finite field Fq .
  • a binary operation + called ellipse addition can be defined for any two points on the elliptic curve E, and a unary operation called ellipse inverse can be defined for any one point on the elliptic curve E.
  • a finite set of rational points on the elliptic curve E group in terms of elliptic addition that an operation called elliptic scalar multiplication can be defined using elliptic addition, and elliptic operations such as elliptic addition on a computer can be defined.
  • the finite set E [p] of the p equal points of the elliptic curve E is A subgroup of a finite set of rational points on the elliptic curve E is constructed.
  • G 1 , G 2 , G T represent a cyclic group of order q.
  • specific examples of the cyclic group G T is a finite set constituting the extension field of a finite field F q underlying body. An example is a finite set of one of the p th root of the algebraic closure of a finite field F q.
  • Safety is improved by making the order of the cyclic groups G 1 , G 2 , and G T the same as the order of the finite field F q .
  • operations defined on the cyclic groups G 1 and G 2 are expressed additively, and operations defined on the cyclic groups G T are expressed multiplicatively. That, ⁇ ⁇ ⁇ G 1 for Kai ⁇ F q and Omega ⁇ G 1 means that applying operation defined in the cyclic group G 1 with respect ⁇ G 1 ⁇ times, Omega 1, Omega 2 ⁇ 1 + ⁇ 2 ⁇ G for ⁇ G 1 1 is meant to carry out the operation defined in the cyclic group G 1 and the Omega 1 ⁇ G 1 and Omega 2 ⁇ G 1 as operand.
  • ⁇ ⁇ ⁇ G 2 for Kai ⁇ F q and Omega ⁇ G 2 means that applying operation defined in the cyclic group G 2 with respect ⁇ G 2 ⁇ times
  • Omega 1, Omega 2 ⁇ G ⁇ 1 + ⁇ 2 ⁇ G 2 for 2 means that perform defined operations in the cyclic group G 2 to the Omega 1 ⁇ G 2 and Omega 2 ⁇ G 2 as operands.
  • Omega chi ⁇ G T for Kai ⁇ F q and Omega ⁇ G T means that applying operation defined in the cyclic group G T against ⁇ G T ⁇ times, ⁇ 1, ⁇ 2 ⁇ ⁇ 1 ⁇ ⁇ 2 ⁇ G for G T T means to perform the operation defined in the cyclic group G T and Omega 1 ⁇ G T and Omega 2 ⁇ G T as an operand.
  • ⁇ represents an integer of 1 or more.
  • n ( ⁇ ): n ( ⁇ ) represents an integer of 1 or more.
  • ⁇ ( ⁇ ): ⁇ ( ⁇ ) represents an integer of 0 or more.
  • G 1 n ( ⁇ ) + ⁇ ( ⁇ ) : G 1 n ( ⁇ ) + ⁇ ( ⁇ ) represents the direct product of n ( ⁇ ) + ⁇ ( ⁇ ) cyclic groups G 1 .
  • G 2 n ( ⁇ ) + ⁇ ( ⁇ ) : G 2 n ( ⁇ ) + ⁇ ( ⁇ ) represents the direct product of n ( ⁇ ) + ⁇ ( ⁇ ) cyclic groups G 2 .
  • e ⁇ is the direct product G 1 n ( ⁇ ) + ⁇ ( ⁇ ) ⁇ G 2 n ( ) of the direct product G 1 n ( ⁇ ) + ⁇ ( ⁇ ) and the direct product G 2 n ( ⁇ ) + ⁇ ( ⁇ ) ⁇ ) + ⁇ ( ⁇ ) nondegenerate bilinear mapping which maps the cyclic group G T a represents a (bilinear map).
  • the bilinear map e ⁇ satisfies the following properties.
  • the following relations are satisfied for all ⁇ 1 ⁇ G 1 n ( ⁇ ) + ⁇ ( ⁇ ) , ⁇ 2 ⁇ G 2 n ( ⁇ ) + ⁇ ( ⁇ ), and ⁇ , ⁇ F q .
  • e ⁇ ( ⁇ ⁇ ⁇ 1 , ⁇ ⁇ ⁇ 2 ) e ⁇ ( ⁇ 1 , ⁇ 2 ) ⁇ ⁇ ⁇ ...
  • All ⁇ 1 ⁇ G 1 n ( ⁇ ) + ⁇ ( ⁇ ), ⁇ 2 ⁇ G 2 n ( ⁇ ) + ⁇ ( ⁇ ) is not a mapping which maps the identity element of the cyclic group G T a.
  • a non-degenerate bilinear map Pair G 1 ⁇ G 2 ⁇ G T (4) that maps the direct product G 1 ⁇ G 2 of the cyclic group G 1 and the cyclic group G 2 to the cyclic group G T Is used to construct a bilinear map e ⁇ .
  • e ⁇ 1 n ( ⁇ ) + ⁇ ( ⁇ ) Pair ( ⁇ ⁇ , ⁇ ⁇ * )... (5)
  • bilinear map Pair is a set of one original cyclic group G 1 and the one of the original cyclic group G 2 as input, and outputs one of the original cyclic group G T.
  • the bilinear map Pair satisfies the following properties. [Bilinearity] For all ⁇ 1 ⁇ G 1 , ⁇ 2 ⁇ G 2 and ⁇ , ⁇ F q , the following relation is satisfied.
  • Pair ( ⁇ ⁇ ⁇ 1 , ⁇ ⁇ ⁇ 2 ) Pair ( ⁇ 1 , ⁇ 2 ) ⁇ ⁇ ⁇ ... (6)
  • All ⁇ 1 ⁇ G 1 , ⁇ 2 ⁇ G 2 (7) Not a mapping which maps the identity element of the cyclic group G T a.
  • Pair ( ⁇ 1 , ⁇ 2 ) for every ⁇ 1 ⁇ G 1 and ⁇ 2 ⁇ G 2 .
  • a specific example of the bilinear map Pair is a function for performing pairing operations such as Weil pairing and Tate pairing (for example, Reference 4 “Alfred. J.
  • a modified pairing function e ( ⁇ 1 , phi ( ⁇ 2 )) ( ⁇ 1 ⁇ ) that combines a function for performing pairing operations such as Tate pairing and a predetermined function phi according to the type of elliptic curve E G 1 , ⁇ 2 ⁇ G 2 ) may be used as the bilinear map Pair (for example, see Reference 2).
  • a i ( ⁇ ) is an element of n ( ⁇ ) + ⁇ ( ⁇ ) elements of the cyclic group G 1 Represents an n ( ⁇ ) + ⁇ ( ⁇ ) -dimensional basis vector.
  • An example of the basis vector a i ( ⁇ ) is the unit of the cyclic group G 1 with ⁇ 1 ⁇ g 1 ⁇ G 1 as the i-th element and the remaining n ( ⁇ ) + ⁇ ( ⁇ ) -1 elements This is an n ( ⁇ ) + ⁇ ( ⁇ ) -dimensional basis vector that is an element (additively expressed as “0”).
  • a i * ( ⁇ ) (i 1, ..., n ( ⁇ ) + ⁇ ( ⁇ )): n ( ⁇ ) having n ( ⁇ ) + ⁇ ( ⁇ ) elements of the cyclic group G 2 as elements ) + ⁇ ( ⁇ ) -dimensional basis vector.
  • An example of the basis vector a i * ( ⁇ ) is ⁇ 2 ⁇ g 2 ⁇ G 2 as the i-th element, and the remaining n ( ⁇ ) + ⁇ ( ⁇ ) -1 elements of the cyclic group G 2 This is an n ( ⁇ ) + ⁇ ( ⁇ ) -dimensional basis vector as a unit element (additionally expressed as “0”).
  • a 1 * ( ⁇ ) ( ⁇ 2 ⁇ g 2 , 0,0, ..., 0)
  • a 2 * ( ⁇ ) (0, ⁇ 2 ⁇ g 2 , 0, ..., 0)... (9)
  • ... a n ( ⁇ ) + ⁇ ( ⁇ ) * ( ⁇ ) (0,0,0, ..., ⁇ 2 ⁇ g 2 )
  • the superscripts ⁇ 1 and ⁇ 2 represent ⁇ 1 and ⁇ 2 , respectively.
  • the basis vector a i ( ⁇ ) and the basis vector a i * ( ⁇ ) are dual orthonormal basis, and the vector space V ( ⁇ ) and the vector space V * ( ⁇ ) constitute a bilinear map.
  • a ( ⁇ ): n ( ⁇ ) + ⁇ ( ⁇ ) row n ( ⁇ ) + with the basis vectors a i ( ⁇ ) (i 1, ..., n ( ⁇ ) + ⁇ ( ⁇ )) as elements
  • a * ( ⁇ ): n ( ⁇ ) + ⁇ ( ⁇ ) rows n ( ⁇ with basis vectors a i * ( ⁇ ) (i 1, ..., n ( ⁇ ) + ⁇ ( ⁇ )) as elements ) + ⁇ ( ⁇ ) column matrix.
  • X ( ⁇ ) represents a matrix of n ( ⁇ ) + ⁇ ( ⁇ ) rows n ( ⁇ ) + ⁇ ( ⁇ ) columns having elements of the finite field F q as elements.
  • the matrix X ( ⁇ ) is used for coordinate transformation of the basis vector a i ( ⁇ ).
  • X * ( ⁇ ) is used for coordinate transformation of the basis vector a i * ( ⁇ ). Assuming that the element of i row and j column of the matrix X * ( ⁇ ) is ⁇ i, j * ( ⁇ ) ⁇ F q , the matrix X * ( ⁇ ) is It becomes.
  • each element ⁇ i, j * ( ⁇ ) of the matrix X * ( ⁇ ) is referred to as a conversion coefficient.
  • the unit matrix of n ( ⁇ ) + ⁇ ( ⁇ ) row n ( ⁇ ) + ⁇ ( ⁇ ) column is I ( ⁇ )
  • X ( ⁇ ) ⁇ (X * ( ⁇ )) T ⁇ ' ⁇ I ( ⁇ ) is satisfied. That is, the identity matrix Whereas Meet.
  • b i ( ⁇ ) represents an n ( ⁇ ) + ⁇ ( ⁇ ) -dimensional basis vector having n ( ⁇ ) + ⁇ ( ⁇ ) elements of the cyclic group G 1 as elements.
  • b i * ( ⁇ ) represents an n ( ⁇ ) + ⁇ ( ⁇ ) -dimensional basis vector whose elements are n ( ⁇ ) + ⁇ ( ⁇ ) elements of the cyclic group G 2 .
  • the n ( ⁇ ) + ⁇ ( ⁇ ) -dimensional basis vector b i * ( ⁇ ) spans the vector space V * ( ⁇ ) described above.
  • the basis vector b i ( ⁇ ) and the basis vector b i * ( ⁇ ) are the dual orthonormal basis of the dual pairing vector space (vector space V ( ⁇ ) and vector space V * ( ⁇ )). .
  • B ( ⁇ ) X ( ⁇ ) ⁇ A ( ⁇ ) is satisfied.
  • the matrix B ( ⁇ ) is It becomes.
  • ⁇ ) represents a matrix of rows n ( ⁇ ) + ⁇ ( ⁇ ) columns.
  • v ( ⁇ ) ⁇ : v ( ⁇ ) ⁇ represents an n ( ⁇ ) -dimensional vector having elements of the finite field F q as elements.
  • v ( ⁇ ) ⁇ (v 1 ( ⁇ ) , ..., v n ( ⁇ ) ( ⁇ )) ⁇ F q n ( ⁇ ) ... (29)
  • w ( ⁇ ) ⁇ : w ( ⁇ ) ⁇ represents an n ( ⁇ ) -dimensional vector having elements of the finite field F q as elements.
  • w ( ⁇ ) ⁇ (w 1 ( ⁇ ) , ..., w n ( ⁇ ) ( ⁇ )) ⁇ F q n ( ⁇ ) ... (30)
  • Enc K (M): Enc K (M) represents a ciphertext obtained by encrypting plaintext M using the common key K according to the common key encryption function Enc.
  • Dec represents a common key decryption function indicating a decryption process of the common key cryptosystem.
  • Dec K (C) represents a decryption result obtained by decrypting the ciphertext C using the common key K according to the common key decryption function Dec.
  • the function encryption method is a method in which a ciphertext is decrypted when a truth value of a logical expression determined by a combination of first information and second information is “true”.
  • first information and second information are embedded in the ciphertext, and the other is embedded in the key information.
  • predicate encryption method disclosed in "" 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” (reference 9) It is a kind of function cryptography.
  • a value corresponding to secret information is secretly distributed hierarchically in a manner corresponding to a predetermined logical expression.
  • the predetermined logical expression includes a propositional variable whose truth value is determined by a combination of the first information and the second information, and further includes any or all of the logical symbols ⁇ , ⁇ , and ⁇ as necessary. Then, when the truth value of the predetermined logical expression determined by specifying the truth value of each propositional variable is “true”, the value corresponding to the secret information is restored, and the ciphertext is decrypted based on the value. .
  • a secret sharing scheme satisfying N is called a K t -out-of-N distribution scheme (or “K t -out-of-N threshold distribution scheme”)
  • K t -out-of-N threshold distribution scheme for example, Reference 10 “Kurosawa Rin, Ogata Wakaha , “Basic Mathematics of Modern Cryptography (Electronic Information and Communication Lecture Series)”, Corona, March 2004, p.116-119, Reference 11 “A. Shamir,“ How to Share a Secret ”, Communications of the ACM, November 1979, Volume 22, Number 11, pp.612-613.
  • the N-out-of-N distribution method can restore the secret information SE if all share information share (1), ..., share (N) is given, but any N-1 share information shares Even if ( ⁇ 1 ), ..., share ( ⁇ N-1 ) is given, no secret information SE information can be obtained.
  • An example is shown below.
  • ⁇ SH 1 , ..., SH N-1 are selected at random.
  • SH N SE- (SH 1 + ... + SH N-1 ).
  • -Let SH 1 , ..., SH N be share information (share (1), ..., share (N)).
  • SE share (1) + ... + share (N)... (31)
  • the secret information SE can be restored by the restoration process.
  • the K t -out-of-N distribution method can restore the secret information SE if K t pieces of different share information share ( ⁇ 1 ), ..., share ( ⁇ Kt ) are given.
  • the secret information SE is not obtained at all even if K t -1 pieces of share information share ( ⁇ 1 ), ..., share ( ⁇ Kt-1 ) are given.
  • Kt of the subscript represents the K t.
  • An example of the K t -out-of-N distribution method is shown below.
  • ( ⁇ , f ( ⁇ )) is information from which values of ⁇ and f ( ⁇ ) can be extracted, for example, a bit combination value of ⁇ and f ( ⁇ ).
  • the secret information SE can be restored by the following restoration process using, for example, a Lagrange interpolation formula.
  • the denominator of Equation (33) is ( ⁇ ⁇ - ⁇ 1 ) ⁇ ⁇ ⁇ ⁇ ⁇ ( ⁇ ⁇ - ⁇ ⁇ -1 ) ⁇ ( ⁇ ⁇ - ⁇ ⁇ + 1 ) ⁇ ... ⁇ ( ⁇ ⁇ - ⁇ Kt )
  • the numerator of formula (33) is (x- ⁇ 1 ) ⁇ ... ⁇ (x- ⁇ ⁇ -1 ) ⁇ (x- ⁇ ⁇ + 1 ) ⁇ ... ⁇ (x- ⁇ Kt ) It is.
  • Each secret sharing described above can also be performed on the body. Also, these values can be extended to secretly distribute the value corresponding to the secret information SE to the share information share.
  • the value corresponding to the secret information SE is the secret information SE itself or the function value of the secret information SE
  • the value corresponding to the share information share is the share information share itself or the function value of the share information.
  • finite field F q original a is secret information SE ⁇ F element g of q cyclic group G T corresponding to T SE ⁇ G T each share information share the secret information SE (1) of, according to share (2) original g T share (1) of the cyclic group G T, it may be a secret distributed g T share (2) ⁇ G T .
  • the secret information SE described above is a linear combination of the share information share (Equations (31) and (32)).
  • a secret sharing scheme in which the secret information SE is a linear combination of the share information share is called a linear secret sharing scheme.
  • the predetermined logical expression described above can be expressed by tree structure data obtained by secretly sharing secret information in a hierarchical manner. That is, according to De Morgan's law, the above-mentioned predetermined logical expression is a logical expression composed of literals, or a logical expression composed of at least part of the logical symbols ⁇ and ⁇ and literals (these are referred to as “standard logical expressions”). This standard logical expression can be expressed by tree structure data obtained by secretly sharing secret information in a hierarchical manner.
  • the tree structure data representing the standard logical expression includes a plurality of nodes, at least some of the nodes are parent nodes of one or more child nodes, one of the parent nodes is a root node, and at least of the child nodes Some are leaf nodes. There is no parent node of the root node or a child node of the leaf node.
  • the value corresponding to the secret information corresponds to the root node, and the value corresponding to the share information obtained by secretly sharing the value corresponding to the parent node corresponds to the child node of each parent node.
  • the secret sharing mode secret sharing scheme and threshold
  • Each leaf node corresponds to each literal constituting the standard logical expression, and the truth value of each literal is determined by the combination of the first information and the second information.
  • a value corresponding to the share information corresponding to the leaf node corresponding to the literal whose truth value is true is obtained, but according to the share information corresponding to the leaf node corresponding to the literal whose truth value is false.
  • the obtained value is not obtained.
  • the value corresponding to the share information corresponding to the parent node depends on the share information corresponding to the child node. It is restored only when the number of values obtained is equal to or greater than the threshold value corresponding to the parent node.
  • the secret information finally corresponding to the root node depends on which literal value corresponding to which leaf node is true and the structure of the tree structure data (including the form of secret sharing at each node). It is determined whether or not the value corresponding to can be restored.
  • the tree structure data is such that the value corresponding to the secret information corresponding to the root node can be finally restored only when the truth value of each literal corresponding to each leaf node makes the truth value of the standard form logical expression true. Is configured, such tree structure data represents a standard logical expression. Tree structure data expressing such a standard logical expression can be easily set. Specific examples are shown below.
  • FIG. 83 shows the standard form logical expression PRO (1) ⁇ PRO (2 including the propositional variables PRO (1), PRO (2) and the negation ⁇ PRO (3) of the propositional variable PRO (3) and the logical symbols ⁇ , ⁇ . ) Is a diagram illustrating tree structure data expressing ⁇ PRO (3).
  • 83 includes a plurality of nodes N 1 ,..., N 5 .
  • Node N 1 is a parent node of nodes N 2 and N 5
  • node N 2 is a parent node of nodes N 3 and N 4
  • one of the parent nodes is node N 1 , and one of the child nodes.
  • Nodes N 3 , N 4 , and N 5 that are parts are set as leaf nodes.
  • the child nodes N 3 and N 4 of the node N 2 have values corresponding to the share information SE-SH 1 and SH 1 in which the value corresponding to the share information SE is secretly distributed by the 2-out-of-2 distribution method. Correspond to each.
  • the leaf nodes N 3 , N 4 , and N 5 include the literals PRO (1), PRO (2), and ⁇ PRO that form the standard logical expressions PRO (1) ⁇ PRO (2) ⁇ PRO (3). (3) correspond to each other, and the truth values of the literals PRO (1), PRO (2), and ⁇ PRO (3) are determined by the combination of the first information and the second information.
  • FIG. 84 shows propositional variables PRO (1), PRO (2), PRO (3), PRO (6), PRO (7) and negation of propositional variables PRO (4), PRO (5) (PRO (4), Standard form formula PRO (1) ⁇ PRO (2) ⁇ PRO (2) ⁇ PRO (3) ⁇ PRO (1) ⁇ PRO (3) ⁇ PRO including ⁇ PRO (5) and logic symbols ⁇ and ⁇ (4) It is a diagram illustrating tree structure data expressing ⁇ ( ⁇ PRO (5) ⁇ PRO (6)) ⁇ PRO (7). 84 includes a plurality of nodes N 1 ,..., N 11 .
  • Node N 1 is a parent node of nodes N 2 , N 6 and N 7
  • Node N 2 is a parent node of nodes N 3 , N 4 and N 5
  • Node N 7 is a parent node of nodes N 8 and N 11
  • the node N 8 is a parent node of the nodes N 9 and N 10
  • the node N 1 which is one of the parent nodes is a root node
  • the nodes N 3 , N 4 , N 5 , N 6 , N 9 , N 10 , and N 11 are leaf nodes.
  • the values corresponding to the share information SE, SE, and SE that are secretly shared by the correspond respectively.
  • the child nodes N 3 , N 4 , and N 5 of the node N 2 each share information (1, f (1)) in which the value corresponding to the share information SE is secretly distributed by the 2-out-of-3 distribution method , (2, f (2)) and (3, f (3)) correspond to the respective values.
  • the child nodes N 8 and N 11 of the node N 7 have values corresponding to the share information SH 4 and SE-SH 4 in which the value corresponding to the share information SE is secretly distributed by the 2-out-of-2 distribution method.
  • the child node N 9, N 10 of the node N 8 is the value corresponding to the share information each share information value corresponding to the SH 4 is secret sharing in 1-out-of-2 balancing method SH 4, SH 4 Each corresponds.
  • the corresponding value corresponds
  • the leaf nodes N 3 , N 4 , N 5 , N 6 , N 9 , N 10 , and N 11 have standard logical expressions PRO (1) ⁇ PRO (2) ⁇ PRO (2) ⁇ PRO ( 3) ⁇ PRO (1) ⁇ PRO (3) ⁇ PRO (4) ⁇ ( ⁇ PRO (5) ⁇ PRO (6)) ⁇
  • Each literal PRO (1), PRO (2) that constitutes PRO (7) , PRO (2), PRO (3), PRO (1), PRO (3), ⁇ PRO (4), ⁇ PRO (5), PRO (6), PRO (7) (1), PRO (2), PRO (2), PRO (3), PRO (1), PRO (3), ⁇ PRO (4), ⁇ PRO (5), PRO (6), PRO (7) Is determined by a combination of the first information and the second information.
  • the combination of the first information and the second information is a standard logical expression PRO (1), ⁇ PRO (2), ⁇ PRO (2), ⁇ PRO (3), ⁇ PRO (1), ⁇ PRO ( 3), ⁇ PRO (4), ⁇ ( ⁇ PRO (5), ⁇ PRO (6),)
  • the value corresponding to the secret information SE is restored only when the truth value of ⁇ PRO (7) is made true.
  • ⁇ Access structure> Share information at leaf nodes obtained for a combination of first information and second information when a predetermined logical expression is expressed by tree structure data obtained by secretly sharing secret information hierarchically as described above Whether the truth value of the logical expression determined by the combination of the first information and the second information is “true” or “false” depending on whether the value according to the secret information can be restored from the value according to Can be judged.
  • the truth value of the logical expression determined by the combination of the first information and the second information is “true”
  • the combination of the first information and the second information is accepted, and when the truth value is “false”
  • the first information A mechanism that rejects the combination of the second information and the second information is called an access structure.
  • the total number of leaf nodes of the tree structure data expressing a predetermined logical expression is ⁇
  • 1, ..., ⁇ be the second information.
  • the above-described tree structure data is implemented as a labeled matrix LMT (MT, LAB).
  • the element of the predetermined finite field F q is defined as an element.
  • COL dimension vector GV ⁇ (gv 1 , ..., gv COL ) ⁇ F q COL ... (35)
  • COL dimension vector CV ⁇ (cv 1 , ..., cv COL ) ⁇ F q COL ... (36) with elements of finite field F q corresponding to secret information SE
  • SE GV ⁇ ⁇ (CV ⁇ ) T ... (37) Is established.
  • Specific examples of COL dimensional vector GV ⁇ GV ⁇ (1 F , ..., 1 F ) ⁇ F q COL ... (38)
  • 1,.
  • VSET2 ⁇ , w ( ⁇ ) ⁇
  • 1, ..., ⁇ contains w ( ⁇ ) ⁇ and the inner product v ( ⁇ ) ⁇ ⁇ w ( ⁇ ) ⁇ is 0 If the truth value of the propositional variable PRO ( ⁇ ) is “false” and the inner product v ( ⁇ ) ⁇ .w ( ⁇ ) ⁇ is not equal to 0, deal with.
  • a label LAB ( ⁇ ) corresponding to PRO ( ⁇ ) represents v ( ⁇ ) ⁇ , and a label LAB ( ⁇ ) corresponding to ⁇ PRO ( ⁇ ) represents ⁇ v ( ⁇ ) ⁇ .
  • ⁇ v ( ⁇ ) ⁇ is a logical expression that represents the v ( ⁇ ) ⁇ negative, it is possible ⁇ v ( ⁇ ) ⁇ from v ( ⁇ ) ⁇ the identified.
  • ⁇ -dimensional vector TFV ⁇ (tfv (1), ..., tfv ( ⁇ ))... (40)
  • tfv ( ⁇ ) 0 (PRO ( ⁇ ) is false) if v ( ⁇ ) ⁇ w ( ⁇ ) ⁇ ⁇ 0... (42)
  • a value corresponding to the secret information SE can be restored from a value corresponding to the share information share ( ⁇ ) corresponding to the identifier ⁇ , and a row vector mt corresponding to the identifier ⁇ . It is equivalent to the COL dimension vector GV ⁇ belonging to the vector space spanned by ⁇ ⁇ . That is, by determining whether or not the COL dimension vector GV ⁇ belongs to the vector space spanned by the row vector mt ⁇ ⁇ corresponding to the identifier ⁇ , from the value corresponding to the share information share ( ⁇ ) corresponding to the identifier ⁇ It can be determined whether or not the value corresponding to the secret information SE can be restored.
  • the row vectors mt lambda ⁇ vector space spanned by means vector space can be represented by a row vector mt lambda ⁇ linear combination of.
  • the COL dimension vector GV ⁇ belongs to the vector space span ⁇ MT TFV > spanned by each row vector mt ⁇ ⁇ of the above-described submatrix MT TFV , a combination of the first information and the second information is accepted, and so on. Otherwise, the combination of the first information and the second information is rejected.
  • the above-described access structure is embodied.
  • the labeled matrix LMT MT, LAB
  • the access structure accepts the combination of the first information and the second information
  • the access structure accepts the second information.
  • the fact that the access structure does not accept the combination of the first information and the second information is called “the access structure rejects the second information”.
  • B * ( ⁇ ) ⁇ is a matrix B * ( ⁇ ) or a submatrix thereof
  • B ( ⁇ ) ⁇ is a matrix B ( ⁇ ) or a submatrix thereof.
  • An example is shown below.
  • coef ⁇ (0) ⁇ F q is a constant or a random number. “Random number” means a true random number or a pseudo-random number.
  • coef ( ⁇ ) and coef ⁇ ( ⁇ ) ⁇ F q are constants or random numbers.
  • ⁇ ' is any one of ⁇ 2 (0), ..., ⁇ I (0).
  • the common key encryption method Enc may be, for example, Camellia (registered trademark) configured to be able to encrypt using the common key K, AES, or the exclusive OR of the common key and plaintext.
  • Enc K (M) may be generated as follows.
  • Ciphertext C (VSET2, C (0), ⁇ C ( ⁇ ) ⁇ ( ⁇ , w ( ⁇ ) ⁇ ) ⁇ VSET2 , C ( ⁇ + 1))... (61) Is generated. However, the subscript “w ( ⁇ ) ⁇ ” represents “w ( ⁇ ) ⁇ ”.
  • g T tau and g T tau 'and g T ⁇ ⁇ ⁇ ' may be handled as generator of G T instead of a g T a generator of G T.
  • a combination of C ( ⁇ ) and D * ( ⁇ ) is specified using a mapping that specifies the correspondence between ⁇ of key information SKS and ⁇ of ciphertext, and [Dec (PK, SKS, C): The process of “decryption” may be executed.
  • the first information VSET1 ⁇ , v ( ⁇ ) ⁇
  • 1, ..., ⁇ n of (lambda) th element v n ( ⁇ ) ( ⁇ ) may be a 1 F.
  • elements w 1 ( ⁇ ) is may be used w ( ⁇ ) ⁇ / w 1 ( ⁇ ) instead of w ( ⁇ ) ⁇
  • element v n ( ⁇ ) ( ⁇ ) is 1 if not F is v ( ⁇ ) ⁇ the place of v ( ⁇ ) ⁇ / v n ( ⁇ ) may be used (lambda).
  • the second information VSET2 ⁇ , w ( ⁇ ) ⁇
  • 1, ...
  • 1, ..., ⁇ may be used.
  • First information VSET1 in this case ⁇ , v ( ⁇ ) ⁇
  • 1, ..., ⁇ 1 th element of v 1 (lambda) is the 1 F.
  • predicate encryption using inner products will be described as an example of predicate encryption that is a form of function encryption.
  • the formula numbers are renumbered in this section. Note that, for convenience of explanation, even the same words and symbols used in the above description may have different meanings.
  • Predicate encryption is equivalent to function encryption using the 1-out-of-1 distributed scheme.
  • Matrix represents a set of elements in which operations are defined arranged in a rectangle. Not only elements with ring elements but also elements with group elements as elements are expressed as “matrix”.
  • (•) T represents a transposed matrix of (•) -1 : (•) -1 represents the inverse matrix of.
  • ⁇ : ⁇ represents a logical product.
  • ⁇ : ⁇ represents a logical sum.
  • Z Z represents an integer set.
  • k: k represents a security parameter (k ⁇ Z, k> 0).
  • ⁇ 0,1 ⁇ * ⁇ 0,1 ⁇ * represents a binary sequence having an arbitrary bit length.
  • One example is a sequence consisting of integers 0 and 1.
  • ⁇ 0,1 ⁇ * is not limited to a sequence consisting of integers 0 and 1.
  • ⁇ 0,1 ⁇ * is synonymous with a finite field of order 2 or its extension.
  • ⁇ 0,1 ⁇ ⁇ : ⁇ 0,1 ⁇ ⁇ represents a binary sequence having a bit length ⁇ ( ⁇ Z, ⁇ > 0).
  • ⁇ 0, 1 ⁇ ⁇ is not limited to a sequence composed of integers 0 and 1.
  • F q represents a finite field of order q.
  • the order q is an integer of 1 or more.
  • a prime number or a power value of a prime number is assumed to be the order q.
  • examples of the finite field F q are an elementary field and an extension field based on it.
  • the operation in the case where the finite field F q is a prime field can be easily configured by, for example, a remainder operation modulo the order q.
  • the calculation when the finite field F q is an extension field can be easily configured by, for example, a remainder calculation modulo an irreducible polynomial.
  • Specific configuration method of a finite field F q for example, reference 1 "ISO / IEC 18033-2: Information technology - Security techniques - Encryption algorithms - Part 2: Asymmetric ciphers " disclosed.
  • 0 F 0 F represents an additive unit of the finite field F q . 1 F : 1 F represents a multiplicative unit element of the finite field F q .
  • E represents an elliptic curve defined on the finite field Fq .
  • a binary operation + called elliptic addition can be defined for any two points on the elliptic curve E, and a unary operation-called elliptic inverse can be defined for any one point on the elliptic curve E.
  • a finite set of rational points on the elliptic curve E group in terms of elliptic addition that an operation called elliptic scalar multiplication can be defined using elliptic addition, and elliptic operations such as elliptic addition on a computer can be defined.
  • Specific calculation methods are well known (for example, Reference 1 and Reference 2 “RFC 5091: Identity-Based Cryptography Standard (IBCS) # 1: Supersingular Curve Implementations of the BF and BB1 Cryptosystems”, Reference 3 "See Ian F.
  • a finite set of rational points on the elliptic curve E has a subgroup of order p (p ⁇ 1). For example, if the number of elements of a finite set of rational points on the elliptic curve E is #E, and p is a large prime number that divides #E, the finite set E [p] of the p equal points of the elliptic curve E is A subgroup of a finite set of rational points on the elliptic curve E is constructed.
  • G 1 , G 2 , G T represent a cyclic group of order q.
  • specific examples of the cyclic group G T is a finite set constituting the extension field of a finite field F q underlying body. An example is a finite set of one of the p th root of the algebraic closure of a finite field F q.
  • operations defined on the cyclic groups G 1 and G 2 are expressed additively, and operations defined on the cyclic groups G T are expressed multiplicatively. That, ⁇ ⁇ ⁇ G 1 for Kai ⁇ F q and Omega ⁇ G 1 means that applying operation defined in the cyclic group G 1 with respect ⁇ G 1 ⁇ times, Omega 1, Omega 2 ⁇ 1 + ⁇ 2 ⁇ G for ⁇ G 1 1 is meant to carry out the operation defined in the cyclic group G 1 and the Omega 1 ⁇ G 1 and Omega 2 ⁇ G 1 as operand.
  • ⁇ ⁇ ⁇ G 2 for Kai ⁇ F q and Omega ⁇ G 2 means that applying operation defined in the cyclic group G 2 with respect ⁇ G 2 ⁇ times
  • Omega 1, Omega 2 ⁇ G ⁇ 1 + ⁇ 2 ⁇ G 2 for 2 means that perform defined operations in the cyclic group G 2 to the Omega 1 ⁇ G 2 and Omega 2 ⁇ G 2 as operands.
  • Omega chi ⁇ G T for Kai ⁇ F q and Omega ⁇ G T means that applying operation defined in the cyclic group G T against ⁇ G T ⁇ times, ⁇ 1, ⁇ 2 ⁇ ⁇ 1 ⁇ ⁇ 2 ⁇ G for G T T means to perform the operation defined in the cyclic group G T and Omega 1 ⁇ G T and Omega 2 ⁇ G T as an operand.
  • G 1 n + 1 : G 1 n + 1 represents a direct product of n + 1 (n ⁇ 1) cyclic groups G 1 .
  • G 2 n + 1 : G 2 n + 1 represents a direct product of n + 1 cyclic groups G 2 .
  • g 1 , g 2 , and g T represent generation sources of the cyclic groups G 1 , G 2 , and G T.
  • V: V represents a n + 1-dimensional vector space consisting of the n + 1 cyclic group G 1 Cartesian product.
  • V *: V * represents a n + 1-dimensional vector space consisting of the n + 1 of the cyclic group G 2 direct product.
  • e is calculated the direct product G 1 n + 1 and the direct product G 2 direct product G 1 n + 1 ⁇ nondegenerate bilinear mapping which maps the G 2 n + 1 in the cyclic group G T and n + 1 (bilinear map) Function (referred to as “bilinear function”).
  • G 1 n + 1 ⁇ G 2 n + 1 ⁇ G T (2)
  • the bilinear function e satisfies the following properties.
  • e ( ⁇ ⁇ ⁇ 1 , ⁇ ⁇ ⁇ 2 ) e ( ⁇ 1 , ⁇ 2 ) ⁇ ⁇ ⁇ ... (3)
  • ⁇ 1 ⁇ G 1 n + 1 , ⁇ 2 ⁇ G 2 n + 1 It is not a function that copy the identity element of the cyclic group G T a.
  • e ( ⁇ 1 , ⁇ 2 ) for every ⁇ 1 ⁇ G 1 n + 1 and ⁇ 2 ⁇ G 2 n + 1 .
  • the cyclic group G 1 and the cyclic group G 2 and the function for calculating the non-degenerate bilinear mapping which maps the Cartesian product G 1 ⁇ G 2 in the cyclic group G T of Pair: G 1 ⁇ G 2 ⁇ G T ...(Five) Is used to construct the bilinear function e.
  • the bilinear function Pair is a function that inputs a set of one element of the cyclic group G 1 and one element of the cyclic group G 2 and outputs one element of the cyclic group G T. It satisfies the following properties.
  • a specific example of the bilinear function Pair is a function for performing pairing operations such as Weil pairing and Tate pairing (for example, Reference 4 “Alfred. J. Menezes, ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS, KLUWER ACADEMIC PUBLISHERS, ISBN0-7923-9368-6, pp.61-81 ”).
  • a modified pairing function e ( ⁇ 1 , phi ( ⁇ 2 )) ( ⁇ 1 ⁇ ) that combines a function for performing pairing operations such as Tate pairing and a predetermined function phi according to the type of elliptic curve E G 1 , ⁇ 2 ⁇ G 2 ) may be used as the bilinear function Pair (for example, see Reference 2).
  • An example of the basis vector a i uses ⁇ 1 ⁇ g 1 ⁇ G 1 as the i-th element, and the remaining n elements are the unit elements of the cyclic group G 1 (additionally expressed as “0”) This is an n + 1-dimensional basis vector.
  • a 1 ( ⁇ 1 ⁇ g 1 , 0,0, ..., 0)
  • kappa 1 is a constant consisting of elements of the finite field F q other than additive identity 0 F
  • the basis vector a i is an orthogonal basis
  • a i * represents an n + 1-dimensional basis vector whose elements are n + 1 elements of the cyclic group G 2 .
  • An example of the basis vector a i * is that the element of the i-th dimension is ⁇ 2 ⁇ g 2 ⁇ G 2 , and the remaining n elements are unit elements of the cyclic group G 2 (additionally expressed as “0”).
  • N + 1-dimensional basis vector N + 1-dimensional basis vector.
  • i ⁇ j, e (a i , a j * ) does not include Pair ( ⁇ 1 ⁇ g 1 , ⁇ 2 ⁇ g 2 ), and Pair ( ⁇ 1 ⁇ g 1 , 0) This is the product of Pair (0, ⁇ 2 ⁇ g 2 ) and Pair (0,0).
  • the basis vector a i and the basis vector a i * are dual orthonormal basis
  • the vector space V and the vector space V * are a dual vector space [dual pairing vector space ( DPVS: Dual Paring Vector space)].
  • X represents a matrix of n + 1 rows and n + 1 columns having elements of the finite field Fq as elements.
  • Each element ⁇ i, j of the matrix X is referred to as a conversion coefficient.
  • the matrix X * is used for coordinate transformation of the basis vector a i * .
  • the matrix X * is, It becomes.
  • each element ⁇ i, j * of the matrix X * is referred to as a conversion coefficient.
  • n + 1 rows and n + 1 columns I
  • X ⁇ (X * ) T I is satisfied. That is, the identity matrix Whereas Meet.
  • b i b i represents an n + 1-dimensional basis vector having n + 1 elements of the cyclic group G 1 as elements.
  • the base vector b i and the base vector b i * are dual orthonormal bases of the dual pairing vector space (vector space V and vector space V * ).
  • basis vectors a i and a i * other than those exemplified in equations (9) and (10), and those other than those exemplified in equations (22) and (24) may be used.
  • the matrix B is It becomes.
  • w ⁇ (w 1, ..., w n ) ⁇ F q n ...
  • v ⁇ : v ⁇ represents an n-dimensional vector having elements of the finite field F q as elements.
  • v ⁇ (v 1, ..., v n ) ⁇ F q n ... (31)
  • a function that is difficult to collide represents a function h that satisfies the following condition for a sufficiently large security parameter k, or a function that can be regarded as a function h.
  • Pr [A (h) (x, y)
  • h (x) h (y) ⁇ x ⁇ y] ⁇ (k)... (32)
  • Pr [•] is the probability of the event [•]
  • ⁇ (k) is a polynomial for the security parameter k.
  • An example of a function that is difficult to collide is a hash function such as “cryptographic hash function” disclosed in Reference 1.
  • Injective function refers to a function in which any element belonging to a range is represented as a single original image of the domain, or a function that can be regarded as such.
  • An example of the injection function is a hash function such as “KDF (Key Derivation Function)” disclosed in Reference Document 1.
  • Pseudo random function is a function belonging to a subset ⁇ ⁇ when an arbitrary probabilistic polynomial time algorithm cannot distinguish between the set ⁇ ⁇ and its subset ⁇ ⁇ , or Represents a function that can be considered as such.
  • the set [Phi zeta is the set of all functions that copy to the original based on the set ⁇ 0, 1 ⁇ zeta set ⁇ 0, 1 ⁇ zeta.
  • An example of the pseudo random function is a hash function as described above.
  • H 1 takes two binary sequences ( ⁇ 1 , ⁇ 2 ) ⁇ ⁇ 0,1 ⁇ k ⁇ ⁇ 0,1 ⁇ * as input, and two elements ( ⁇ 1 , ⁇ 2 ) of the finite field F q Represents a hard-to-collision function that outputs ⁇ F q ⁇ F q .
  • H 1 inputs the bit connection value omega 1
  • and the hash function such as disclosed in reference 1 "cryptographic hash function", "Binary a conversion function from the series to an integer (Octet string / integer conversion) ", performs calculation of a" conversion function from a binary sequence to finite field elements (Octet string and integer / finite field conversion) "finite field F q Is a function that outputs the two elements ( ⁇ 1 , ⁇ 2 ) ⁇ F q ⁇ F q .
  • the function H 1 is preferably a pseudo random function.
  • H 2 is an element of the cyclic group G T and a binary sequence ( ⁇ , ⁇ 2 ) ⁇ G T X represents a hard-to-collision function that takes ⁇ 0,1 ⁇ * as an input and outputs one element ⁇ F q of a finite field F q .
  • H 2 G T ⁇ ⁇ 0,1 ⁇ * ⁇ F q (34)
  • Examples of such function H 2 inputs the original Kushi ⁇ G T and binary sequence ⁇ 2 ⁇ ⁇ 0,1 ⁇ * and the cyclic group G T, reference the original Kushi ⁇ G T of the cyclic group G T
  • the binary sequence is obtained by inputting into the “Octet string and integer / finite field conversion” disclosed in 1 and the binary sequence and the binary sequence ⁇ 2 ⁇ ⁇ 0,1 ⁇ Performs a hash function operation such as “cryptographic hash function” disclosed in Reference 1 on the bit concatenated value with *, and then “Convert function from binary sequence to finite field element (Octet string and integer / finite field conversion) ”and outputs one element ⁇ F q of the finite field F q .
  • the function H 2 is more preferably a pseudo random function.
  • R represents a bijective function that receives an element ⁇ G T of one cyclic group G T and outputs one binary sequence ⁇ ⁇ 0,1 ⁇ k .
  • R G T ⁇ ⁇ 0,1 ⁇ k ... (35) Examples of such injective function R inputs the original Kushi ⁇ G T of the cyclic group G T, conversion function from the original disclosed in reference 1 "finite field into a binary sequence (Octet string and integer / finite field conversion) and a hash function such as “KDF (Key Derivation Function)” disclosed in Reference 1, and outputs one binary sequence ⁇ ⁇ 0,1 ⁇ k .
  • the function R is preferably a function that is difficult to collide, and more preferably a pseudo random function.
  • Enc represents a common key encryption function indicating encryption processing of the common key encryption method.
  • Specific examples of the common key cryptosystem include Camellia (registered trademark) and AES.
  • Enc k (M): Enc k (M) represents a ciphertext obtained by encrypting plaintext M using the common key K according to the common key encryption function Enc.
  • Dec represents a common key decryption function indicating a decryption process of the common key cryptosystem.
  • Dec k (C): Dec k (C) represents a decryption result obtained by decrypting the ciphertext C according to the common key decryption function Dec using the common key K.
  • Predicate encryption (sometimes called “function encryption") is a ciphertext when a combination of information called “attribute information” and information called “predicate information” makes a given logical expression “true”. It is a method that can be decrypted.
  • One of “attribute information” and “predicate information” is embedded in the ciphertext, and the other is embedded in the key information.
  • the structure of conventional predicate encryption is described in, for example, Reference 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. It is disclosed.
  • the inner product predicate encryption is a predicate encryption in which a vector is used as attribute information and predicate information, and when the inner product becomes 0, the ciphertext is decrypted.
  • the inner product predicate encryption the inner product is 0 and the logical expression is “true”.
  • a logical expression composed of logical sum and logical product can be expressed by a polynomial f (x).
  • Expression (36) a logical sum is expressed using one indefinite element x, but a logical sum can be expressed using a plurality of indefinite elements.
  • the logical product is expressed using one indefinite element x, but the logical product can be expressed using a plurality of indefinite elements.
  • polynomial f indicating the logical expression (x 0, ..., x H -1) is undefined original x h and a constant eta the indefinite source x h by a polynomial taking the difference between h is the constant eta h
  • the proposition that the proposition is express the logical sum of the propositions by the product of the polynomials that express the propositions, respectively, A product is expressed, and it becomes a polynomial expressing a logical expression.
  • a polynomial f (x 0 ,..., X H ⁇ 1 ) indicating a logical expression can be expressed by an inner product of two n-dimensional vectors. That is, the polynomial f (x 0 , ..., x H-1 ) is a vector v ⁇ with the indefinite element of each term of the polynomial f (x 0 , ..., x H-1 ) as each element.
  • the polynomial f (x 0, ..., x H-1) showing a logical expression and whether it is 0, the polynomial f (x 0, ..., x H-1) indeterminate in terms of Whether or not the inner product of the vector v ⁇ whose components are each element and the vector w ⁇ whose coefficients are the coefficient components of each term of the polynomial f (x 0 , ..., x H-1 ) is 0
  • a vector v ⁇ (v 1, ..., v n ) with the coefficient component of each term of the polynomial f (x 0 , ..., x H-1 ) as each element Is equal to whether the polynomial f (x 0 , ..., x H-1 ) indicating the logical expression is 0 and whether the inner product of the vector w ⁇ and the vector v ⁇ is 0 or not.
  • the other is predicate information
  • One of the attribute information and the predicate information is embedded in the ciphertext, and the other is embedded in the key information.
  • n-dimensional vector ( ⁇ 0, ..., ⁇ n-1 ) is used as predicate information
  • n-dimensional vector (x 0 , ..., x n-1 ) is used as attribute information
  • attribute information and predicate are used.
  • One of the information is embedded in the ciphertext and the other is embedded in the key information.
  • 1-column matrix A, n + 1-by-n + 1-column matrix A * whose elements are basis vectors a i * (i 1, ..., n + 1), and n + for coordinate transformation A 1-row, n + 1-column matrix X, X * is selected.
  • ⁇ GenKey (MSK, w ⁇ ): Generate key information >> -Input: Master key information MSK, vector w ⁇ -Output: Key information D * corresponding to vector w ⁇ GenKey (MSK, w ⁇ )
  • the original ⁇ F q is selected from the finite field F q.
  • the matrix B * which is the master key information MSK
  • the case solving the discrete logarithm problem in the cyclic group G 2 it is difficult, it is difficult to w ⁇ ⁇ b ⁇ * and b n + 1 * component separation extracted from the key information D *.
  • Enc (PA, v ⁇ ) Encryption ⁇ -Input: Public parameter PK, vector v ⁇ -Output: Ciphertext C 2 , Common key K
  • Enc (PA, v ⁇ ) first, a common key K and a random number ⁇ 1 that is an element of a finite field F q are generated.
  • ⁇ 2 subscript means ⁇ 2.
  • Dec (SKw, C 2) decoding and key sharing
  • -Input key information D 1 * corresponding to vector w ⁇ ciphertext C 2
  • Output Common key K
  • the ciphertext C 2 and the key information D 1 * are input to the bilinear function e in Expression (2).
  • the equation (47) becomes And can be transformed. From this result, a common key K is generated and output.
  • an example is shown in which an algorithm is configured using n + 1-dimensional basis vectors, but the dimensions are not limited to n + 1, and n + ⁇ -dimensional basis vectors b i with ⁇ being a predetermined integer of 2 or more.
  • equation (49) can be used instead of equation (45)
  • equation (50) can be used instead of equation (46).
  • ⁇ ⁇ is a constant or variable (random number, etc.).
  • the cryptographic system 1 includes a plurality of client devices 10 and 30, one or more key generation devices 20, and one or more user information management devices 40 (hereinafter referred to as management devices).
  • a conversion rule information pair management device 50 (hereinafter referred to as a registration device), one or a plurality of maintenance devices 80, and one or a plurality of authentication devices 90. These devices can communicate with each other via a communication network 5 which is, for example, the Internet.
  • the client device functions as an encryption device or a decryption device depending on the processing purpose. Therefore, the client device is referred to as the encryption device 10 or the decryption device 30 from the viewpoint of function.
  • the encryption system 1 may include a client device that functions only as an encryption device and / or a client device that functions only as a decryption device.
  • the encryption system 1 performs encryption and decryption using predicate encryption.
  • the predicate encryption algorithm to be used is not limited, and for example, the predicate encryption algorithm disclosed in Non-Patent Document 2 is allowed to be used.
  • the first embodiment according to the first aspect shows an example using a KEM (Key Encapsulation Mechanisms) type predicate encryption algorithm.
  • the encryption communication method in the encryption system 1 will be described with reference to FIGS. 2, 3, 4, 6, 8, and 10. Refer to FIGS. 5, 7, and 9 for the functional configuration of each device.
  • a parameter generation unit (not shown) of the key generation device 20 generates a secret key and an entry used in the predicate encryption algorithm (step S1).
  • the entry includes a public parameter (abbreviated as public P in the drawing) used in the predicate encryption algorithm, an address of the key generation device 20, a policy list usable by the key generation device 20, and a schema usable by the key generation device 20.
  • a list is included.
  • the secret key includes an orthogonal basis B * of the dual vector space V * .
  • q is a prime number or a power value of a prime number.
  • the bilinear map e is, for example, Tate pairing or Weil pairing.
  • an arbitrary element of the (n + 1) -dimensional vector space V is expressed as an element of the (n + 1) -dimensional direct product G 1 n + 1 of the cyclic group G 1 as shown in Expression (1).
  • An arbitrary element of the (n + 1) -dimensional vector space V can also be expressed as in Expression (2) using the standard base A of the (n + 1) -dimensional vector space V.
  • a i is an element of the (n + 1) -dimensional direct product G 1 n + 1
  • z i is an element of the (n + 1) -dimensional direct product F q n + 1 .
  • 1 is an additive unit.
  • the orthogonal basis B is obtained by applying the (n + 1) th order square matrix X to the standard basis A as shown in Expression (3).
  • the symbol T represents transposition. Note that the matrix X is kept secret as is the secret key.
  • an arbitrary element of the dual vector space V * that is dual to the vector space V is expressed as an element of the (n + 1) -dimensional direct product G 2 n + 1 of the cyclic group G 2 as shown in Equation (4).
  • Dual space V * any original can also be expressed as Equation (5) using the dual space V * of the standard basis A *.
  • a i * is an element of the (n + 1) -dimensional direct product G 2 n + 1
  • y i * is an element of the (n + 1) -dimensional direct product F q n + 1 .
  • 1 is an additive unit.
  • the orthogonal basis B * is obtained by applying the (n + 1) th order square matrix T (X ⁇ 1 ) to the standard basis A * as shown in Equation (6).
  • the symbol E represents a unit matrix.
  • Information that specifies an attribute is converted into attribute information used in a predicate encryption algorithm
  • Information that defines conversion rules is converted into attribute information used in a predicate encryption algorithm
  • Information that defines conversion rules is converted into attribute information used in a predicate encryption algorithm
  • Information that defines conversion rules is converted into attribute information used in a predicate encryption algorithm
  • Information that defines conversion rules is converted into attribute information used in a predicate encryption algorithm
  • Information that defines conversion rules is converted into attribute information used in a predicate encryption algorithm
  • Information that defines conversion rules is converted into attribute information used in a predicate encryption algorithm
  • Information that defines conversion rules (attribute conversion rule information; also referred to as attribute schema)
  • Information specifying a predicate (logical expression) predicate (logical expression) specification information; that is, information that specifically sets conditions relating to attributes such as age, authority, etc., using a logical expression, also called a propositional function
  • a collection (data list) of one or a plurality of schema pairs is a schema list.
  • Each key generation device 20 may freely define a schema list.
  • Each data item of each schema included in the schema list is, for example, XML (eXtensible Markup Language) or ASN. 1 (Abstract Notation Number One).
  • User attribute designation information is associated with an attribute name and a data type.
  • attribute name 'email1' is set to the data type 'character string'
  • attribute name 'email1' and the data type 'character string' are attribute values' XXX@XXX.ntt.co. .jp 'is associated.
  • Attribute schema specifies conversion rules that associate element names with attribute names and type conversion functions.
  • the element name “1” is associated with the attribute name “blood type” and the type conversion function.
  • the type conversion function corresponding to element number '1' is 0 if the blood type of the attribute value is O type, 1 if the blood type of the attribute value is A type, and the blood type of the attribute value is B type. If the blood type of the attribute value is AB type, it is specified that the attribute value is converted to 3.
  • the attribute name “birth date” and the type conversion function are associated with the element numbers “2” and “3”.
  • the type conversion functions corresponding to the element numbers “2” and “3” are the values of the Hash function that inputs the year of birth of the attribute value for the element number 2, and the attribute value for the element number 3. It is specified that the date of birth is converted to a Hash function value.
  • the result of applying the example of the attribute schema shown in FIG. 12 to the example of the user attribute designation information (attribute value) shown in FIG. 12 is shown as an example of the attribute information (vector information) shown in FIG.
  • This attribute information can be considered as a vector by arranging the output values of the type conversion function by regarding the element number of the attribute schema as the vector element number.
  • a plurality of attribute information can be specified at the time of encryption.
  • a plurality of attribute information can be obtained by applying the attribute schema to a plurality of attribute designation information.
  • a plurality of attribute information may be obtained by applying a plurality of attribute schemas to one attribute designation information.
  • the output value of the type conversion function is exemplified as an integer value or an output value of the Hash function in this description, it actually depends on the predicate encryption algorithm and is, for example, an element of the finite field Fq .
  • the predicate schema specifies a conversion rule that associates an element name with an attribute name and a type conversion function.
  • the attribute name “blood type” and the type conversion function are associated with the element number “1”.
  • the type conversion function corresponding to element number '1' is 0 if the blood type of the attribute value is O type, 1 if the blood type of the attribute value is A type, and the blood type of the attribute value is B type. If the blood type of the attribute value is AB type, it is specified that the attribute value is converted to 3.
  • the attribute name “birth date” and the type conversion function are associated with the element numbers “2” and “3”.
  • the type conversion functions corresponding to the element numbers “2” and “3” are the values of the Hash function that inputs the year of birth of the attribute value for the element number 2, and the attribute value for the element number 3. It is specified that the date of birth is converted to a Hash function value.
  • the result of applying the example of the predicate schema shown in FIG. 13 to the example of the predicate specifying information shown in FIG. 13 is shown as an example of the predicate information (vector information) shown in FIG.
  • a multivariable polynomial f having a variable corresponding to the element number is obtained, and by converting the multivariate polynomial f into vector information, Predicate information (vector information) is obtained.
  • Predicate information vector information
  • the multivariable polynomial f is converted into vector information, and an example of predicate information (vector information) shown in FIG. 13 is obtained.
  • a plurality of predicate information can be specified at the time of encryption.
  • a plurality of predicate information can be obtained by applying a predicate schema to a plurality of predicate specifying information.
  • a plurality of predicate information may be obtained by applying a plurality of predicate schemas to one predicate specifying information.
  • the output value of the type conversion function is exemplified as an integer value or an output value of the Hash function in this description, it actually depends on the predicate encryption algorithm and is, for example, an element of the finite field Fq .
  • policy information for specifying which of the attribute schema and the predicate schema is referred to as policy information (hereinafter referred to as policy).
  • policy information (hereinafter referred to as policy).
  • a data list describing this policy is a policy list.
  • two types of policies are prepared. They are Cipher_Text_Policy and Key_Policy.
  • Cipher_Text_Policy When the key generation device 20 uses only the attribute schema, one type of policy is prepared. It is Key_Policy.
  • the key generation device 20 uses only the predicate schema, one type of policy is prepared. It is Cipher_Text_Policy.
  • the policy is described in, for example, XML (eXtensible Markup Language) or ASN.1 (Abstract Notation Number One).
  • the key generation device 20 may freely determine that the policy target is only the attribute schema, only the predicate schema, or the attribute schema and the predicate schema.
  • a plurality of attribute information can be obtained by applying a plurality of different attribute schemas to a single attribute designation information. Specify multiple attribute schemas.
  • a plurality of predicate information can be obtained by applying a plurality of different predicate schemas to one predicate specifying information. In such a case, a plurality of predicate schemas are specified as a policy.
  • the transmission unit of the key generation device 20 transmits the entry to the authentication device 90, and the reception unit of the authentication device 90 receives the entry (step S2).
  • a signature adding unit (not shown) of the authentication device 90 gives an electronic signature to the entry by, for example, a conventional method (step S3), and a transmission unit of the authentication device 90 sends the signed entry to the key generation device 20.
  • the receiving unit of the key generation device 20 receives the signed entry (step S4).
  • the transmission unit of the key generation device 20 transmits the signed entry to the security device 80, and the reception unit of the security device 80 receives the signed entry (step S5).
  • the transmission unit of the maintenance device 80 transmits a search query including information (for example, an address) specifying the key generation device 20 to the registration device 50, and the reception unit of the registration device 50 receives the search query (step S6).
  • a search unit (not shown) of the registration device 50 searches for registration contents (entries) related to the key generation device 20 (step S7), and the transmission unit of the registration device 50 maintains search results including presence / absence of registration and registration contents.
  • the data is transmitted to the device 80, and the receiving unit of the maintenance device 80 receives the search result (step S8).
  • the inspection unit (not shown) of the maintenance device 80 compares the signed entry received in step S5 with the search result received in step S8, and checks for duplication (step S9). If it is confirmed that there is no duplication, the transmission unit of the maintenance device 80 transmits the signed entry to the registration device 50, and the reception unit of the registration device 50 receives the signed entry (step S10).
  • the registration unit (not shown) of the registration device 50 stores the signed entry in the storage unit of the registration device 50 in association with the key generation device 20 (step S11).
  • the transmission unit of the registration device 50 transmits the registration result to the maintenance device 80, and the reception unit of the maintenance device receives the registration result (step S12).
  • the transmission unit of the maintenance device 80 transmits the registration result to the key generation device 20, and the key generation device 20 receives the registration result (step S13).
  • each key generation device 20 independently performs each processing from step S1 to step S13. For example, the public parameter and the secret key are determined for each key generation device. However, this does not prevent each key generation device from having a common public parameter and secret key.
  • each key generation device may register an entry in the same registration device 50, or each key generation device may register an entry in a different registration device 50.
  • step S1 If the secret key, entry, entry registration in the registration device 50, etc. are set in advance, it is allowed to omit the processes from step S1 to step S13.
  • the authentication device 90 and the maintenance device 80 may be the same hardware entity.
  • the transmission unit 14 of the encryption device 10 transmits a search query to the registration device 50, and the reception unit of the registration device 50 receives the search query (step S14).
  • the search unit of the registration device 50 searches for some or all of the entries registered in the storage unit of the registration device 50 to select any one entry (step S15), and the transmission unit of the registration device 50 determines the search result.
  • the receiving unit of the encryption device 10 receives the entry (step S16).
  • This entry includes an address of the key generation device, a public parameter of the key generation device, a policy list that can be used by the key generation device, and a schema list that can be used by the key generation device.
  • the received entry is stored in the memory 11 of the encryption device 10.
  • the encryption device 10 has the public parameters, schema list, policy list, and address of each key generation device 20 in advance, the processing of steps S14 to S16 is omitted. In other words, it should be noted that a configuration in which the cryptographic system 1 does not include the registration device 50 is allowed.
  • the first predicate logical information acquisition unit 12 of the encryption device 10 reads input information, a policy, and a schema from the memory 11, and attributes information (hereinafter referred to as first attribute information) or predicate information (hereinafter referred to as first predicate information and Say) (step S17a). Details of this process will be described (see FIGS. 12 and 13).
  • the first predicate logical information acquisition unit 12 may select the schema pair according to a predetermined rule.
  • the first predicate logical information acquisition unit 12 performs the policy and either of the schemas. Any of the above may be used. If only one type of policy is prepared for the key generation device 20, one schema of the schema pair is selected according to the policy. If the selected schema does not correspond to the type of input information, the schema pair may be reselected from the schema list or the entry from the registration device 50 may be received again.
  • the input information may be information input by a user of the encryption device 10 or information acquired by an acquisition unit (not shown) of the encryption device 10 from a storage medium such as an IC card 39, for example.
  • the first predicate logical information acquisition unit 12 obtains the first attribute information or the first predicate information from the input information using the schema selected from the schema pair according to the policy.
  • the policy is Key_Policy and the selected schema is an attribute schema
  • first attribute information is obtained.
  • the policy is Cipher_Text_Policy and the selected schema is a predicate schema
  • first predicate information is obtained.
  • the first attribute information and the first predicate information are one or a plurality of vector information whose components are elements of the finite field F q (see FIGS. 11 to 13). At this time, a required attribute value is extracted from the input information and sorted using a schema.
  • the common key K, the cipher information C 1 and the cipher text C 2 are obtained using the orthogonal base B (substantial public key) and the plaintext M included in the public parameters (steps S17b and S17c). Details of these processes will be described. However, when the first embodiment according to the first aspect is an embodiment specialized for the delivery of the common key K, the generation of the ciphertext C 2 is not necessary.
  • the first encryption unit 13a generates random numbers r and ⁇ that are elements of the finite field F q according to the predicate encryption algorithm, sets the common key K as shown in Expression (7), and sets Expression (8) Request encryption information C 1 according to) (step S17b).
  • H is, for example, a hash function.
  • the first attribute information v is used, but when the first predicate information is used, v may be replaced with w in Expression (8).
  • the encryption information C 1 is information corresponding to the information ⁇ used to generate the common key K, but the encryption information C 1 may be information corresponding to the common key K.
  • step S17c the second encryption unit 13b, using the common key K and the plaintext M, obtaining the encrypted C 2 according to equation (9) (step S17c).
  • the encryption method Enc K using the common key may be a known method, for example, the method disclosed in Non-Patent Document 1 above.
  • the process of step S17c is omitted. That is, even if the encryption device 10 has the function of the second encryption unit 13b, the process of step S17c is not performed.
  • the transmission unit 14 of the encryption device 10 is controlled by the control unit, and the cipher information C 1 , the ciphertext C 2 (if necessary), the schema pair from the memory 11, the policy, and the public parameter. Then, an encrypted message in which the addresses of the key generation devices are collected is generated (step S17d). Then, the transmission unit 14 of the encryption device 10 transmits the encrypted message to the decryption device 30, and the reception unit of the decryption device 30 receives the encryption message (step S18).
  • the transmission unit 34 of the decryption device 30 transmits a search query including the address of the key generation device included in the encrypted message to the registration device 50, and the reception unit of the registration device 50 receives the search query. Is received (step S19).
  • the search unit of the registration device 50 searches for and selects an entry of the key generation device specified by the address (step S20), and the transmission unit of the registration device 50 transmits the search result entry to the decryption device 30 and decrypts it.
  • the receiving unit of the device 30 receives the entry (step S21).
  • This entry includes an address of the key generation device, a public parameter of the key generation device, a policy list that can be used by the key generation device, and a schema list that can be used by the key generation device.
  • the received entry is stored in the memory 31 of the decoding device 30.
  • the decryption device 30 If the decryption device 30 has the public parameters, schema list, policy list, and address of each key generation device 20 in advance, the processing of steps S19 to S21 is omitted. In this case, the decryption device 30 searches the own memory 31 for an entry of the key generation device corresponding to the address included in the encrypted message, and acquires this.
  • the verification unit (not shown) of the decryption device 30 includes the schema pair and policy included in the encrypted message in the policy list and schema list included in the entry acquired from the registration device 50. It is verified whether or not (step S22a). If this verification fails, the process ends as a failure of the decoding process (step S22g).
  • the acquisition unit 32 of the decoding device 30 reads attribute designation information or predicate designation information corresponding to the user of the decoding device 30 from a storage medium such as the IC card 39 (step S22f). .
  • Whether to read attribute specification information or predicate specification information is determined by the policy included in the encrypted message. That is, the information to be read is the designation information corresponding to the content of the policy that specifies the other schema paired with one schema specified by this policy. If the policy is Cipher_Text_Policy, the acquisition unit 32 reads the attribute designation information from the storage medium. If the policy is Key_Policy, the acquisition unit 32 reads predicate designation information from the storage medium.
  • the read designation information is referred to as user information.
  • the acquisition unit 32 of the decryption device 30 receives attribute designation information or predicate corresponding to the user of the decryption device 30 from the management device 40 in the same manner as the process ⁇ user information acquisition process >> in the key generation device 20 described later. Reading specified information is also allowed.
  • the process of step S22f is arbitrarily performed. For example, when the decoding device 30 previously possesses attribute designation information and predicate designation information corresponding to the user, either the attribute designation information or the predicate designation information becomes the user information according to the policy.
  • the verification unit of the decryption device 30 verifies whether or not it has a decryption key used for decrypting the encryption information included in the encrypted message (step S22b).
  • the decryption device 30 stores a decryption key table in the memory 31.
  • the decryption key table as shown in FIG. 15, for example, public parameters, schema pairs, decryption key targets, predicate designation information, and decryption keys are associated with the identifiers of the key generation apparatus. . Therefore, the verification unit identifies the identifier of the key generation device determined by the address included in the encrypted message, the public parameter, the schema pair, and the target of the decryption key (however, the target of the decryption key is specified by the policy included in the encrypted message. Whether or not there is a decryption key corresponding to the content of the policy that identifies the other schema paired with the other schema. If the decryption key exists, the process of step S29 is performed. If there is no decryption key, the process of step S23 is performed.
  • the transmission unit 34 of the decryption device 30 is controlled by the control unit, and public parameters, policies, schema pairs, user information (if any) from the memory 31, A key request message in which authentication information is collected is generated.
  • the authentication information includes, for example, the user ID and password.
  • the transmission unit 34 of the decryption device 30 transmits a key request message to the key generation device having the address from the memory 31, and the reception unit of the key generation device 20 receives the key request message (step S23).
  • the received key request message is stored in the memory 21 of the key generation device 20.
  • a verification unit (not shown) of the key generation device 20 is controlled by the control unit, and a schema pair and a policy included in the key request message are generated by the key generation device 20 (for example, generated in step S1). It is verified whether it is included in the policy list and schema list included in the entry) and whether the public parameter included in the key request message is a public parameter of the key generation device 20 (step S24a). ). If this verification fails, the process ends as a failure of the key generation process (step S24g). In the process of step S24a, if the authentication information is included in the key request message, the authentication information included in the key request message is also verified.
  • the key generation device 20 stores an authentication table in the memory 21. In the authentication table, for example, as shown in FIG. 16, a password is associated with the user ID. Therefore, the verification unit verifies the consistency between the user ID and password included in the key request message and the user ID and password included in the authentication table. Even when this verification fails, the process of step S24g is performed.
  • step S24b the verification unit of the key generation device 20 verifies whether the user information is included in the key request message. If the user information is included in the key request message, the process of step S24c is performed. If the user information is not included in the key request message, the process of step S25 is performed. If a method in which user information is always included in the key request message is adopted, the processing in step S24b and the “user information acquisition process” described later are unnecessary.
  • the transmission unit of the key generation device 20 transmits a request including the policy included in the key request message and the authentication information (if any) to the management device 40, and the management device 40 receives the request (step S25).
  • the received request is stored in the memory of the management device 40.
  • Management device 40 stores an authentication table in memory.
  • this authentication table a password is associated with the user ID (see FIG. 16), as in the above authentication table. Therefore, the verification unit (not shown) of the management apparatus 40 verifies the consistency between the user ID and password included in the request and the user ID and password included in the authentication table.
  • a search unit (not shown) of the management device 40 searches for attribute designation information or predicate designation information from the user information table stored in the memory according to the policy included in the request (step S26).
  • the user information table includes, for example, a first table including user IDs, attribute names and attribute designation information associated with the user IDs, and user IDs and predicate designation information associated therewith. Second table (see FIG. 17). Whether to read attribute specification information or predicate specification information is determined by the policy included in the request. That is, the information to be read is the designation information corresponding to the content of the policy that specifies the other schema paired with one schema specified by this policy.
  • the search unit acquires attribute designation information corresponding to the user ID included in the request from the first table. If the policy is Key_Policy, the retrieval unit obtains predicate designation information corresponding to the user ID included in the request from the second table. The read designation information is called user information.
  • the transmission unit of the management device 40 is controlled by the control unit and transmits user information as a search result to the key generation device 20, and the reception unit of the key generation device 20 receives the user information (step S27).
  • the received user information is stored in the memory 21 of the key generation device 20.
  • the second predicate logical information acquisition unit 23 of the key generation device 20 reads the policy from the memory 21. Then, the schema pair, the public parameter, and the user information are read, and attribute information (referred to as second attribute information) or predicate information (referred to as second predicate information) is obtained from the user information (step S24c).
  • the schema applied to the user information in this processing is the other schema paired with one schema specified by the policy.
  • the second attribute from the user information (attribute specification information) using the other schema (attribute schema) paired with one schema (predicate schema) specified by Cipher_Text_Policy get information.
  • the policy is Key_Policy
  • the second predicate is derived from the user information (predicate specification information) using the other schema (predicate schema) paired with one schema (attribute schema) specified by Key_Policy. get information.
  • the schema used in this process is a schema paired with the schema used in step S17a.
  • the second attribute information and the second predicate information are one or a plurality of vector information whose components are elements of the finite field F q (see FIG. 11-13). At this time, a required attribute value is extracted from the input information and sorted using a schema.
  • the key generation unit 25 of the key generation device 20 generates a random number ⁇ that is an element of the finite field F q based on the public parameter q according to the predicate encryption algorithm, and the second attribute information v from the memory 21.
  • the decryption key R is obtained according to the equation (10) using the secret key B * (step S24d).
  • the second predicate information w (p) is used in this example, but when the input information is predicate designation information, Since the second attribute information v (p) corresponds, w (p) may be replaced with v (p) in equation (10).
  • the transmission unit 24 of the key generation device 20 receives the control by the control unit, transmits the decryption key R to the decryption device 30, and the reception unit of the decryption device 30 receives the decryption key R (step S28).
  • the received decryption key R is stored in the memory 31 of the decryption device 30.
  • the decryption unit 33 of the decryption device 30 receives the public parameter, decryption key R, and encryption information C 1 from the memory 31. and reads the ciphertext C 2 (if necessary) to obtain the common key K and (optionally) the plaintext M (step S29).
  • the first decoding unit 33a reads the decryption key R public parameter and the encryption information C 1 from the memory 31, according to the predicate encryption algorithm obtains e (C 1, R).
  • e (C 1, R) As shown in Expression (11), when the input information is attribute designation information, the calculation result is obtained by using the first attribute information v and the second predicate information extracted from the encryption information C 1 and the decryption key R based on bilinearity. Depends on the result of the standard dot product of w (p) .
  • v When the input information is predicate designation information, v may be replaced with v (p) and w (p) with w in equation (11), and the operation result is based on bilinearity and the encryption information C 1 and the decryption key R Depends on the result of the standard inner product of the first predicate information w and the second attribute information v (p) extracted from.
  • e (b i , b i * ) is defined as in equation (12).
  • ⁇ ij is the Kronecker delta symbol.
  • the first decoding unit 33a gets an “incorrect” value according to equation (7).
  • the hash function H is assumed to be common to the system or included in the public parameter.
  • the encryption information C 1 is information corresponding to the information ⁇ used to generate the common key K. However, when the encryption information C 1 is information corresponding to the common key K, the calculation of Expression (11) The result is a common key K (or an incorrect value).
  • the legitimate user of the decoding device 30 can use the predicate instruction information that gives the second predicate information w (p) whose standard inner product with the first attribute information v is 0, or the standard inner product with the first predicate information w.
  • step S22d the second decryption unit 33b, using the common key K and the ciphertext C 2, obtaining the plaintext M according to equation (13) (step S22d).
  • the decryption method Dec K using the common key corresponds to the encryption method Enc K.
  • the process of step S22d is omitted. That is, even if the decoding device 30 has the function of the second decoding unit 33b, the processing of step S22d is not performed.
  • the decryption device 30 may store the decryption key R in the decryption key table. Further, the common key K may be added to the decryption key table and stored.
  • the decoding device 30 generates the second attribute information or the second predicate information.
  • the second embodiment according to the first aspect differs from the first embodiment according to the first aspect in several matters. Therefore, redundant description of the same parts as those in the first embodiment according to the first aspect is omitted (the same reference numerals are assigned to the same components), and the first aspect according to the first aspect is referred to with reference to FIGS. A different part from 1 embodiment is demonstrated.
  • step S1 to step S22b is the same as that of the first embodiment according to the first aspect.
  • the second predicate logical information acquisition unit 35 of the decryption device 30 reads the policy, schema pair, public parameter, and user information from the memory 31, and the user From the information, attribute information (referred to as second attribute information) or predicate information (referred to as second predicate information) is obtained (step S23g).
  • the schema applied to the user information in this processing is the other schema paired with one schema specified by the policy. If the policy is Cipher_Text_Policy, the second attribute from the user information (attribute specification information) using the other schema (attribute schema) paired with one schema (predicate schema) specified by Cipher_Text_Policy get information.
  • the second predicate is derived from the user information (predicate specification information) using the other schema (predicate schema) paired with one schema (attribute schema) specified by Key_Policy. get information.
  • the schema used in this process is a schema paired with the schema used in step S17a.
  • the second attribute information and the second predicate information are one or a plurality of vector information whose components are elements of the finite field F q (see FIG. 11-13).
  • step S23 is performed.
  • the transmission unit 34 of the decryption device 30 collects the public parameters, policies, schema pairs, authentication information, second attribute information, or second predicate information from the memory 31 under the control of the control unit. Generate a key request message. Then, the transmission unit 34 of the decryption device 30 transmits a key request message to the key generation device having the address from the memory 31, and the reception unit of the key generation device 20 receives the key request message.
  • step S24d is performed. Since the key generation device 20 receives the second attribute information or the second predicate information from the decryption device 30, unlike the first embodiment according to the first aspect, the function and processing for generating this information are unnecessary. is there.
  • step S28 and step S29 after the process of step S24d is the same as 1st Embodiment by a 1st viewpoint.
  • step S1 to step S17a is the same as that of the first embodiment according to the first aspect.
  • information such as public parameters is information necessary for the predicate encryption algorithm of the third embodiment according to the first aspect.
  • Non-Patent Document 2 see, for example, Non-Patent Document 2 above.
  • step S17d is performed.
  • the transmission unit 14 of the encryption device 10 is controlled by the control unit, and the encryption information C 1 , the schema pair from the memory 11, the policy, the public parameter, and the address of the key generation device are collected.
  • An encrypted message is generated (step S17d).
  • step S18 to step S28 following the processing of step S17d is the same as that of the first embodiment according to the first aspect.
  • Step S22c1 The processing of the processing to the next step S22c1 of step S28, the decoding unit 33 of the decoding device 30, according to the predicate encryption algorithm, read from the memory 31 and the public parameters the decryption key R and the encryption information C 1, obtaining the plaintext M ( Step S22c1).
  • the fourth embodiment according to the first aspect corresponds to a combination of the second embodiment according to the first aspect and the third embodiment according to the first aspect. That is, the fourth embodiment according to the first aspect is different from the first embodiment according to the first aspect.
  • the decryption device 30 generates the second attribute information or the second predicate information.
  • the cipher information C 1 is obtained by using the public key and the plaintext M.
  • the fourth embodiment according to the first aspect differs from the first embodiment according to the first aspect in several matters. Therefore, redundant description of the same parts as those in the first embodiment according to the first aspect is omitted (the same reference numerals are assigned to the same components), and the first aspect according to the first aspect is also referred to with reference to FIGS. A different part from 1 embodiment is demonstrated.
  • step S1 to step S17a is the same as that of the first embodiment according to the first aspect.
  • information such as public parameters is information necessary for the predicate encryption algorithm of the fourth embodiment according to the first aspect.
  • Non-Patent Document 2 see, for example, Non-Patent Document 2 above.
  • step S17d is performed.
  • the transmission unit 14 of the encryption device 10 is controlled by the control unit, and the encryption information C 1 , the schema pair from the memory 11, the policy, the public parameter, and the address of the key generation device are collected.
  • An encrypted message is generated (step S17d).
  • step S18 to step S22b following the process of step S17d is the same as that of the first embodiment according to the first aspect.
  • the second predicate logical information acquisition unit 35 of the decryption device 30 reads the policy, schema pair, public parameter, and user information from the memory 31, and the user From the information, attribute information (referred to as second attribute information) or predicate information (referred to as second predicate information) is obtained (step S23g).
  • the schema applied to the user information in this processing is the other schema paired with one schema specified by the policy. If the policy is Cipher_Text_Policy, the second attribute from the user information (attribute specification information) using the other schema (attribute schema) paired with one schema (predicate schema) specified by Cipher_Text_Policy get information.
  • the second predicate is derived from the user information (predicate specification information) using the other schema (predicate schema) paired with one schema (attribute schema) specified by Key_Policy. get information.
  • the schema used in this process is a schema paired with the schema used in step S17a.
  • the second attribute information and the second predicate information are one or a plurality of vector information whose components are elements of the finite field F q (see FIG. 11-13).
  • step S23 is performed.
  • the transmission unit 34 of the decryption device 30 collects the public parameters, policies, schema pairs, authentication information, second attribute information, or second predicate information from the memory 31 under the control of the control unit. Generate a key request message. Then, the transmission unit 34 of the decryption device 30 transmits a key request message to the key generation device having the address from the memory 31, and the reception unit of the key generation device 20 receives the key request message.
  • step S24d is performed. Since the key generation device 20 receives the second attribute information or the second predicate information from the decryption device 30, a function and a process for generating this information are unnecessary.
  • step S28 after the process of step S24d is the same as the first embodiment according to the first aspect.
  • Step S22c1 The processing of the processing to the next step S22c1 of step S28, the decoding unit 33 of the decoding device 30, according to the predicate encryption algorithm, read from the memory 31 and the public parameters the decryption key R and the encryption information C 1, obtaining the plaintext M ( Step S22c1).
  • predicate encryption that can flexibly operate and distribute encrypted information encrypted by predicate encryption from the second viewpoint while paying attention to the encryption communication technology according to the first aspect described above.
  • Embodiments relating to cryptographic communication technology that relies on the above will be described. According to this technique, since the decryption device has a transfer function, it is possible to distribute encrypted information encrypted by the predicate encryption.
  • the description of the cryptographic communication technique according to the second aspect includes many portions substantially overlapping with the description of the cryptographic communication technique according to the first aspect described above, but the description of the cryptographic communication technique according to the first aspect is not referred to.
  • the encryption communication technique according to the second aspect will be described without omitting the overlapping description and the overlapping drawings as much as possible. For this reason, the number of the mathematical formula, the reference number representing the functional unit, the reference number representing the step, and the like overlap in both, but there is no possibility of confusion from the context.
  • the cryptographic system 1 includes a plurality of client devices 10, 30-1, 30-2, one or more key generation devices 20, and one or more user information. It includes a management device 40 (hereinafter referred to as a management device), a conversion rule information pair management device 50 (hereinafter referred to as a registration device), one or a plurality of maintenance devices 80, and one or a plurality of authentication devices 90. These devices can communicate with each other via a communication network 5 which is, for example, the Internet.
  • a communication network 5 which is, for example, the Internet.
  • the client device functions as an encryption device or a decryption device depending on the processing purpose. Therefore, the client device is called an encryption device 10 or a decryption device from the viewpoint of function.
  • the decryption device is classified into a first decryption device 30-1 which is a party in relation to the encryption device 10 and a second decryption device 30-2 which is not a party in exchange of an encryption message which will be described later.
  • the cryptographic system 1 according to the second aspect may include a client device that functions only as an encryption device and / or a client device that functions only as a decryption device.
  • the encryption system 1 performs encryption and decryption using predicate encryption.
  • the predicate encryption algorithm to be used is not limited, and for example, the predicate encryption algorithm disclosed in Non-Patent Document 2 is allowed to be used.
  • the first embodiment according to the second aspect an example using a KEM (Key Encapsulation Mechanisms) type predicate encryption algorithm is shown.
  • the encryption communication method in the encryption system 1 according to the second aspect will be described with reference to FIGS. 29, 30, 31, 32, 34, 36, 38, 40, 41. See FIGS. 33, 35, 37, and 39 for the functional configuration of each device.
  • the transmission unit 14 of the encryption device 10 transmits a search query to the registration device 50, and the reception unit of the registration device 50 receives the search query (step S14).
  • the search unit of the registration device 50 searches a part or all of the entries registered in the storage unit of the registration device 50 to select one entry (step S15), and the transmission unit of the registration device 50 selects the entry of the search result.
  • the receiving unit of the encryption device 10 receives the entry (step S16).
  • This entry includes an address of the key generation device, a public parameter of the key generation device, a policy list that can be used by the key generation device, and a schema list that can be used by the key generation device.
  • the received entry is stored in the memory 11 of the encryption device 10.
  • the encryption device 10 has the public parameters, schema list, policy list, and address of each key generation device 20 in advance, the processing of steps S14 to S16 is omitted. In other words, it should be noted that a configuration in which the cryptographic system 1 does not include the registration device 50 is allowed.
  • the first predicate logical information acquisition unit 12 of the encryption device 10 reads input information, a policy, and a schema from the memory 11, and attributes information (hereinafter referred to as first attribute information) or predicate information (hereinafter referred to as first predicate information and Say) (step S17a). Details of this process will be described (see FIGS. 12 and 13).
  • the first predicate logical information acquisition unit 12 may select the schema pair according to a predetermined rule.
  • the first predicate logical information acquisition unit 12 performs the policy and either of the schemas. Any of the above may be used. If only one type of policy is prepared for the key generation device 20, one schema of the schema pair is selected according to the policy. If the selected schema does not correspond to the type of input information, the schema pair may be reselected from the schema list or the entry from the registration device 50 may be received again.
  • the input information may be information input by a user of the encryption device 10 or information acquired by an acquisition unit (not shown) of the encryption device 10 from a storage medium such as an IC card 39, for example.
  • the first predicate logical information acquisition unit 12 obtains the first attribute information or the first predicate information from the input information using the schema selected from the schema pair according to the policy.
  • the policy is Key_Policy and the selected schema is an attribute schema
  • first attribute information is obtained.
  • the policy is Cipher_Text_Policy and the selected schema is a predicate schema
  • first predicate information is obtained.
  • the first attribute information and the first predicate information are one or a plurality of vector information whose components are elements of the finite field F q (see FIG. 11-13). At this time, a required attribute value is extracted from the input information and sorted using a schema.
  • the common key K, the cipher information C 1 and the cipher text C 2 are obtained using the orthogonal base B (substantial public key) and the plaintext M included in the public parameters (steps S17b and S17c). Details of these processes will be described. However, when the first embodiment according to the second aspect is an embodiment specialized for the delivery of the common key K, the generation of the ciphertext C 2 is not necessary.
  • the first encryption unit 13a generates random numbers r and ⁇ that are elements of the finite field F q in accordance with the predicate encryption algorithm, sets the common key K as in the above equation (7), and the above equation Encryption information C 1 is obtained according to (8) (step S17b).
  • H is, for example, a hash function.
  • the first attribute information v is used, but when the first predicate information is used, v may be replaced with w in the above equation (8).
  • the encryption information C 1 is information corresponding to the information ⁇ used to generate the common key K, but the encryption information C 1 may be information corresponding to the common key K.
  • step S17c the second encryption unit 13b, using the common key K and the plaintext M, obtaining the encrypted C 2 according to the above formula (9) (step S17c).
  • the encryption method Enc K using the common key may be a known method, for example, the method disclosed in Non-Patent Document 1 above.
  • the process of step S17c is omitted. That is, even if the encryption device 10 has the function of the second encryption unit 13b, the process of step S17c is not performed.
  • the transmission unit 14 of the encryption device 10 is controlled by the control unit, and the cipher information C 1 , the ciphertext C 2 (if necessary), the schema pair from the memory 11, the policy, and the public parameter. Then, an encrypted message in which the addresses of the key generation devices are collected is generated (step S17d). Then, the transmission unit 14 of the encryption device 10 transmits the encrypted message to the first decryption device 30-1, and the reception unit of the first decryption device 30-1 receives the encrypted message (step S18). Note that the encryption device 10 is allowed to transmit an encryption message to the plurality of first decryption devices 30-1.
  • the transmission unit 34 of the first decryption device 30-1 transmits a search query including the address of the key generation device included in the encrypted message to the registration device 50.
  • the receiving unit receives the search query (step S19).
  • the search unit of the registration device 50 searches for and selects an entry of the key generation device designated by the address (step S20), and the transmission unit of the registration device 50 selects the search result entry as the first decryption device 30-1.
  • the receiving unit of the first decoding device 30-1 receives the entry (step S21).
  • This entry includes an address of the key generation device, a public parameter of the key generation device, a policy list that can be used by the key generation device, and a schema list that can be used by the key generation device.
  • the received entry is stored in the memory 31 of the first decoding device 30-1.
  • the first decryption device 30-1 searches the memory 31 for the entry of the key generation device corresponding to the address included in the encrypted message, and acquires this.
  • a verification unit (not shown) of the first decryption device 30-1 includes a schema list and a policy included in the encrypted message, a policy list included in the entry acquired from the registration device 50, It is verified whether it is included in the schema list (step S22a). If this verification fails, the process ends as a failure of the decoding process (step S22g).
  • the acquisition unit 32 of the first decryption device 30-1 uses attribute designation information corresponding to the user of the first decryption device 30-1 from a storage medium such as an IC card 39, for example.
  • predicate designation information is read (step S22f). Whether to read attribute specification information or predicate specification information is determined by the policy included in the encrypted message. That is, the information to be read is the designation information corresponding to the content of the policy that specifies the other schema paired with one schema specified by this policy. If the policy is Cipher_Text_Policy, the acquisition unit 32 reads the attribute designation information from the storage medium. If the policy is Key_Policy, the acquisition unit 32 reads predicate designation information from the storage medium.
  • the read designation information is referred to as user information.
  • the acquisition unit 32 of the first decryption device 30-1 performs the same as the process ⁇ user information acquisition process> in the key generation device 20 described later, from the management device 40 to the first decryption device 30-1. It is allowed to read attribute designation information or predicate designation information corresponding to the user.
  • the process of step S22f is arbitrarily performed. For example, when the first decryption apparatus 30-1 previously possesses attribute designation information and predicate designation information corresponding to a user, either the attribute designation information or the predicate designation information becomes user information according to the policy.
  • the verification unit of the first decryption device 30-1 verifies whether or not it has a decryption key used to decrypt the encryption information included in the encrypted message (step S22b).
  • the first decryption device 30-1 stores a decryption key table in the memory 31.
  • the decryption key table as shown in FIG. 15, for example, public parameters, schema pairs, decryption key targets, predicate designation information, and decryption keys are associated with the identifiers of the key generation apparatus. . Therefore, the verification unit determines the identifier of the key generation device, the public parameter, the schema pair, and the decryption key target (which is specified by the policy included in the encrypted message, which is determined based on the address included in the encrypted message). The presence or absence of a decryption key corresponding to the policy content specifying the other schema paired with the other schema is verified. If the decryption key exists, the process of step S29 is performed. If there is no decryption key, the process of step S23 is performed.
  • the transmission unit 34 of the first decryption device 30-1 receives control from the control unit, and makes public parameters, policies, schema pairs (if present) from the memory 31. ) Generate a key request message that summarizes user information and authentication information.
  • the authentication information includes, for example, the user ID and password.
  • the transmission unit 34 of the first decryption device 30-1 transmits the key request message to the key generation device having the address from the memory 31, and the reception unit of the key generation device 20 receives the key request message. (Step S23).
  • the received key request message is stored in the memory 21 of the key generation device 20.
  • a verification unit (not shown) of the key generation device 20 is controlled by the control unit, and a schema pair and a policy included in the key request message are generated by the key generation device 20 (for example, generated in step S1). It is verified whether it is included in the policy list and schema list included in the entry) and whether the public parameter included in the key request message is a public parameter of the key generation device 20 (step S24a). ). If this verification fails, the process ends as a failure of the key generation process (step S24g). In the process of step S24a, if the authentication information is included in the key request message, the authentication information included in the key request message is also verified.
  • the key generation device 20 stores an authentication table in the memory 21. In the authentication table, for example, as shown in FIG. 16, a password is associated with the user ID. Therefore, the verification unit verifies the consistency between the user ID and password included in the key request message and the user ID and password included in the authentication table. Even when this verification fails, the process of step S24g is performed.
  • step S24b the verification unit of the key generation device 20 verifies whether the user information is included in the key request message. If the user information is included in the key request message, the process of step S24c is performed. If the user information is not included in the key request message, the process of step S25 is performed. If a method in which user information is always included in the key request message is adopted, the processing in step S24b and the “user information acquisition process” described later are unnecessary.
  • the transmission unit of the key generation device 20 transmits a request including the policy included in the key request message and the authentication information (if any) to the management device 40, and the management device 40 receives the request (step S25).
  • the received request is stored in the memory of the management device 40.
  • Management device 40 stores an authentication table in memory.
  • this authentication table a password is associated with the user ID (see FIG. 16), as in the above authentication table. Therefore, the verification unit (not shown) of the management apparatus 40 verifies the consistency between the user ID and password included in the request and the user ID and password included in the authentication table.
  • a search unit (not shown) of the management device 40 searches for attribute designation information or predicate designation information from the user information table stored in the memory according to the policy included in the request (step S26).
  • the user information table includes, for example, a first table including user IDs, attribute names and attribute designation information associated with the user IDs, and user IDs and predicate designation information associated therewith. Second table (see FIG. 17). Whether to read attribute specification information or predicate specification information is determined by the policy included in the request. That is, the information to be read is the designation information corresponding to the content of the policy that specifies the other schema paired with one schema specified by this policy.
  • the search unit acquires attribute designation information corresponding to the user ID included in the request from the first table. If the policy is Key_Policy, the retrieval unit obtains predicate designation information corresponding to the user ID included in the request from the second table. The read designation information is called user information.
  • the transmission unit of the management device 40 is controlled by the control unit and transmits user information as a search result to the key generation device 20, and the reception unit of the key generation device 20 receives the user information (step S27).
  • the received user information is stored in the memory 21 of the key generation device 20.
  • the second predicate logical information acquisition unit 23 of the key generation device 20 reads the policy from the memory 21. Then, the schema pair, the public parameter, and the user information are read, and attribute information (referred to as second attribute information) or predicate information (referred to as second predicate information) is obtained from the user information (step S24c).
  • the schema applied to the user information in this processing is the other schema paired with one schema specified by the policy.
  • the second attribute from the user information (attribute specification information) using the other schema (attribute schema) paired with one schema (predicate schema) specified by Cipher_Text_Policy get information.
  • the policy is Key_Policy
  • the second predicate is derived from the user information (predicate specification information) using the other schema (predicate schema) paired with one schema (attribute schema) specified by Key_Policy. get information.
  • the schema used in this process is a schema paired with the schema used in step S17a.
  • the second attribute information and the second predicate information are one or a plurality of vector information whose components are elements of the finite field F q (see FIG. 11-13). At this time, a required attribute value is extracted from the input information and sorted using a schema.
  • the key generation unit 25 of the key generation device 20 generates a random number ⁇ that is an element of the finite field F q based on the public parameter q according to the predicate encryption algorithm, and the second attribute information v from the memory 21.
  • the decryption key R is obtained according to the above equation (10) using the secret key B * (step S24d).
  • the second predicate information w (p) is used in this example, but when the input information is predicate designation information, Since the second attribute information v (p) corresponds, w (p) may be replaced with v (p) in the above equation (10).
  • the transmission unit 24 of the key generation device 20 transmits the decryption key R to the first decryption device 30-1 under the control of the control unit, and the reception unit of the first decryption device 30-1 decrypts the decryption key R.
  • the key R is received (step S28).
  • the received decryption key R is stored in the memory 31 of the first decryption device 30-1.
  • the decryption unit 33 of the first decryption device 30-1 receives the public parameter and the decryption key R from the memory 31. and encryption information C 1 and (optionally) reads the ciphertext C 2, obtains the common key K and (optionally) the plaintext M (step S29).
  • the first decoding unit 33a reads the decryption key R public parameter and the encryption information C 1 from the memory 31, according to the predicate encryption algorithm obtains e (C 1, R).
  • the calculation result is obtained by using the first attribute information v and the second predicate extracted from the encryption information C 1 and the decryption key R based on the bilinearity.
  • v When the input information is predicate designation information, v may be replaced with v (p) and w (p) may be replaced with w in the above equation (11), and the operation result is based on bilinearity and the encryption information C 1 and the decryption key It depends on the result of the standard inner product of the first predicate information w and the second attribute information v (p) extracted from R. However, e (b i , b i * ) is defined as in the above equation (12). ⁇ ij is the Kronecker delta symbol.
  • the first decryption unit 33a of the first decryption device 30-1 obtains the “correct” common key K according to the above equation (7) (step S22c).
  • the first decoding unit 33a obtains an “incorrect” value according to equation (7) above.
  • the hash function H is assumed to be common to the system or included in the public parameter.
  • the encryption information C 1 is information corresponding to the information ⁇ used to generate the common key K.
  • the above equation (11) The calculation result is the common key K (or an incorrect value).
  • the legitimate user of the first decoding device 30-1 can use the predicate instruction information that gives the second predicate information w (p) whose standard inner product with the first attribute information v is 0, or the first predicate information. It has attribute indication information giving second attribute information v (p) in which the standard inner product with w is 0.
  • step S22d the second decryption unit 33b, using the common key K and the ciphertext C 2, obtaining the plaintext M according to the formula (13) (step S22d).
  • the decryption method Dec K using the common key corresponds to the encryption method Enc K.
  • the process of step S22d is omitted. That is, even if the first decoding device 30-1 has the function of the second decoding unit 33b, the process of step S22d is not performed.
  • the first decryption device 30-1 may store the decryption key R in the decryption key table. Further, the common key K may be added to the decryption key table and stored.
  • the transfer unit 37 of the first decryption device 30-1 transfers the encrypted message received from the encryption device 10 to the second decryption device 30-2, and the reception unit of the second decryption device 30-2 receives the encrypted message. Is received (step 30).
  • the transfer destination decryption device is not limited to the second decryption device (a decryption device that does not have a relationship between the encryption device and the party with respect to the exchange of encrypted messages), but is also the other first decryption device (the encryption device with respect to the exchange of encrypted messages). And a decryption apparatus having a relationship with the parties.
  • the process of step S30 will be described as a process following the process of step S29 for convenience of explanation, but may be any time after the first decryption apparatus 30-1 receives the encrypted message from the encryption apparatus 10. .
  • a second decryption process (including a key generation process and, if necessary, a user information acquisition process) by the second decryption apparatus 30-2 will be described.
  • This series of processing is substantially the same as the first decoding process.
  • the functional configuration of the second decoding device 30-2 is the same as that of the first decoding device 30-1, except that the transfer unit 37 is not necessarily provided. Are assigned the same reference numbers.
  • the transmission unit 34 of the second decryption device 30-2 transmits a search query including the address of the key generation device included in the encrypted message to the registration device 50.
  • the receiving unit receives the search query (step S31).
  • the search unit of the registration device 50 searches for and selects an entry of the key generation device specified by the address (step S32), and the transmission unit of the registration device 50 selects the search result entry as the second decryption device 30-2.
  • the receiving unit of the second decoding device 30-2 receives the entry (step S33).
  • This entry includes an address of the key generation device, a public parameter of the key generation device, a policy list that can be used by the key generation device, and a schema list that can be used by the key generation device.
  • the received entry is stored in the memory 31 of the second decoding device 30-2.
  • the second decryption device 30-2 If the second decryption device 30-2 has the public parameters, schema list, policy list, and address of each key generation device 20 in advance, the processing in steps S31 to S33 is omitted. In this case, the second decryption device 30-2 retrieves the entry of the key generation device corresponding to the address included in the encrypted message from its own memory 31, and acquires it.
  • the verification unit (not shown) of the second decryption device 30-2 includes a policy list and a policy list included in the entry acquired from the registration device 50, and a schema pair included in the encrypted message. It is verified whether it is included in the schema list (step S34a). If this verification fails, the process ends as a failure of the decoding process (step S34g).
  • the acquisition unit 32 of the second decryption device 30-2 uses attribute designation information corresponding to the user of the second decryption device 30-2 from a storage medium such as an IC card 39, for example.
  • predicate designation information is read (step S34f). Whether to read attribute specification information or predicate specification information is determined by the policy included in the encrypted message. That is, the information to be read is the designation information corresponding to the content of the policy that specifies the other schema paired with one schema specified by this policy. If the policy is Cipher_Text_Policy, the acquisition unit 32 reads the attribute designation information from the storage medium. If the policy is Key_Policy, the acquisition unit 32 reads predicate designation information from the storage medium.
  • the read designation information is referred to as user information.
  • the acquisition unit 32 of the second decryption device 30-2 receives from the management device 40 the second decryption device 30-2 in the same manner as the process ⁇ user information acquisition process >> in the key generation device 20 described later. It is allowed to read attribute designation information or predicate designation information corresponding to the user.
  • the process of step S34f is arbitrarily performed. For example, when the second decoding device 30-2 previously possesses attribute designation information and predicate designation information corresponding to a user, either the attribute designation information or the predicate designation information becomes user information according to the policy.
  • the verification unit of the second decryption device 30-2 verifies whether or not it has a decryption key used for decrypting the encryption information included in the encrypted message (step S34b).
  • the second decryption device 30-2 stores a decryption key table in the memory 31.
  • the decryption key table as shown in FIG. 15, for example, public parameters, schema pairs, decryption key targets, predicate designation information, and decryption keys are associated with the identifiers of the key generation apparatus. . Therefore, the verification unit determines the identifier of the key generation device, the public parameter, the schema pair, and the decryption key target (which is specified by the policy included in the encrypted message, which is determined based on the address included in the encrypted message). The presence or absence of a decryption key corresponding to the policy content specifying the other schema paired with the other schema is verified. If there is a decryption key, the process of step S41 is performed. If there is no decryption key, the process of step S35 is performed.
  • the transmission unit 34 of the second decryption device 30-2 receives the control from the control unit, and the public parameter, policy, schema pair (if present) from the memory 31. ) Generate a key request message that summarizes user information and authentication information.
  • the authentication information includes, for example, the user ID and password.
  • the transmission unit 34 of the second decryption device 30-2 transmits the key request message to the key generation device having the address from the memory 31, and the reception unit of the key generation device 20 receives the key request message.
  • the received key request message is stored in the memory 21 of the key generation device 20. This key generation device 20 need not be the same as the key generation device 20 of the counterpart of the first decryption device 30-1.
  • a verification unit (not shown) of the key generation device 20 is controlled by the control unit, and a schema pair and a policy included in the key request message are generated by the key generation device 20 (for example, generated in step S1). It is verified whether it is included in the policy list and schema list included in the entry) and whether the public parameter included in the key request message is a public parameter of the key generation device 20 (step S36a). ). If this verification fails, the process ends as a failure of the key generation process (step S36g). In the process of step S36a, if the authentication information is included in the key request message, the authentication information included in the key request message is also verified.
  • the key generation device 20 stores an authentication table in the memory 21. In the authentication table, for example, as shown in FIG. 16, a password is associated with the user ID. Therefore, the verification unit verifies the consistency between the user ID and password included in the key request message and the user ID and password included in the authentication table. Even when this verification fails, the process of step S36g is performed.
  • step S36b the verification unit of the key generation device 20 verifies whether the user information is included in the key request message. If the user information is included in the key request message, the process of step S36c is performed. If the user information is not included in the key request message, the process of step S37 is performed. Note that when a method in which user information is always included in the key request message is adopted, the processing in step S36b and the “user information acquisition process” described later are unnecessary.
  • the transmission unit of the key generation device 20 transmits a request including the policy included in the key request message and the authentication information (if any) to the management device 40, and the management device 40 receives the request (step S37).
  • the received request is stored in the memory of the management device 40.
  • Management device 40 stores an authentication table in memory.
  • this authentication table a password is associated with the user ID (see FIG. 16), as in the above authentication table. Therefore, the verification unit (not shown) of the management apparatus 40 verifies the consistency between the user ID and password included in the request and the user ID and password included in the authentication table.
  • a search unit (not shown) of the management apparatus 40 searches for attribute designation information or predicate designation information from the user information table stored in the memory according to the policy included in the request (step S38).
  • the user information table includes, for example, a first table including user IDs, attribute names and attribute designation information associated with the user IDs, and user IDs and predicate designation information associated therewith.
  • Second table (see FIG. 17). Whether to read attribute specification information or predicate specification information is determined by the policy included in the request. That is, the information to be read is the designation information corresponding to the content of the policy that specifies the other schema paired with one schema specified by this policy.
  • the search unit acquires attribute designation information corresponding to the user ID included in the request from the first table. If the policy is Key_Policy, the retrieval unit obtains predicate designation information corresponding to the user ID included in the request from the second table. The read designation information is called user information.
  • the transmission unit of the management device 40 is controlled by the control unit and transmits user information as a search result to the key generation device 20, and the reception unit of the key generation device 20 receives the user information (step S39).
  • the received user information is stored in the memory 21 of the key generation device 20.
  • the second predicate logical information acquisition unit 23 of the key generation device 20 reads the policy from the memory 21. Then, the schema pair, the public parameter, and the user information are read, and attribute information (referred to as second attribute information) or predicate information (referred to as second predicate information) is obtained from the user information (step S36c).
  • attribute information referred to as second attribute information
  • predicate information referred to as second predicate information
  • the schema applied to the user information in this processing is the other schema paired with one schema specified by the policy. If the policy is Cipher_Text_Policy, the second attribute from the user information (attribute specification information) using the other schema (attribute schema) paired with one schema (predicate schema) specified by Cipher_Text_Policy get information. When the policy is Key_Policy, the second predicate is derived from the user information (predicate specification information) using the other schema (predicate schema) paired with one schema (attribute schema) specified by Key_Policy. get information. Thus, it should be noted that the schema used in this process is a schema paired with the schema used in step S17a.
  • the second attribute information and the second predicate information are one or a plurality of vector information whose components are elements of the finite field F q (see FIG. 11-13). At this time, a required attribute value is extracted from the input information and sorted using a schema.
  • the key generation unit 25 of the key generation device 20 generates a random number ⁇ which is an element of the finite field F q based on the public parameter q according to the predicate encryption algorithm, and the second attribute information v from the memory 21.
  • a decryption key R ′ is obtained according to equation (14) (step S36d).
  • the second predicate information w ′ (p) is used in this example, but when the input information is predicate designation information, Since the second attribute information v ′ (p) corresponds, w ′ (p) may be replaced with v ′ (p) in equation (14).
  • the transmission unit 24 of the key generation device 20 transmits the decryption key R ′ to the second decryption device 30-2 under the control of the control unit, and the reception unit of the second decryption device 30-2
  • the decryption key R is received (step S40).
  • the received decryption key R is stored in the memory 31 of the second decryption device 30-2.
  • the decryption unit 33 of the second decryption device 30-2 receives the public parameter and the decryption key R from the memory 31. ', The cipher information C 1 and the ciphertext C 2 (if necessary) are read to obtain the common key K and the plaintext M (if necessary) (step S41).
  • the details of the process in step S41 will be described.
  • the predicate encryption algorithm e (C 1, R' Request).
  • the calculation result is obtained from the first attribute information v and the second predicate extracted from the encryption information C 1 and the decryption key R ′ based on the bilinearity.
  • v When the input information is predicate designation information, v may be replaced with v ′ (p) and w ′ (p) with w in equation (15), and the operation result is decrypted with the encryption information C 1 based on bilinearity. It depends on the result of the standard inner product of the first predicate information w and the second attribute information v ′ (p) extracted from the key R ′. However, e (b i , b i * ) is defined as in the above equation (12).
  • the first The decoding unit 33a obtains an “incorrect” value according to the above equation (7).
  • the hash function H is assumed to be common to the system or included in the public parameter.
  • the encryption information C 1 is information corresponding to the information ⁇ used to generate the common key K. However, when the encryption information C 1 is information corresponding to the common key K, the calculation of Expression (15) The result is a common key K (or an incorrect value).
  • the legitimate user of the second decoding device 30-2 can use the predicate instruction information that gives the second predicate information w ′ (p) whose standard inner product with the first attribute information v is 0, or the first predicate It has attribute instruction information giving second attribute information v ′ (p) in which the standard inner product with the information w is 0.
  • step S34d the second decryption unit 33b, using the common key K and the ciphertext C 2, obtaining the plaintext M according to the formula (13) (step S34d).
  • the decryption method Dec K using the common key corresponds to the encryption method Enc K.
  • the process of step S34d is omitted. That is, even if the second decoding device 30-2 has the function of the second decoding unit 33b, the process of step S34d is not performed.
  • the second decryption device 30-2 may store the decryption key R in the decryption key table. Further, the common key K may be added to the decryption key table and stored.
  • the second decryption device 30-2 transmits the encrypted message received from the first decryption device 30-1 to another second decryption device ( Transfer of encrypted messages may be transferred to a decryption device that does not have a relationship with the encryption device), or may be transferred to a first decryption device (decryption device that has a relationship between the encryption device and the party with respect to transfer of encrypted messages) May be.
  • This transfer process may be performed at any time after the second decryption device 30-2 receives the encrypted message from the first decryption device 30-1.
  • the first decoding device 30-1 and the second decoding device 30-2 are provided with the second attribute information or the second predicate information. Is generated.
  • the second embodiment according to the second aspect differs from the first embodiment according to the second aspect in several matters. Therefore, overlapping explanations are omitted for portions that are the same as those in the first embodiment according to the second aspect (the same reference numerals are assigned to the same components), and differ from the first embodiment with reference to FIGS. 42 to 48. The part will be explained.
  • step S1 to step S22b is the same as that of the first embodiment according to the second aspect.
  • the second predicate logical information acquisition unit 35 of the first decryption apparatus 30-1 reads the policy, schema pair, public parameter, and user information from the memory 31. Is obtained, and attribute information (referred to as second attribute information) or predicate information (referred to as second predicate information) is obtained from the user information (step S23g).
  • the schema applied to the user information in this processing is the other schema paired with one schema specified by the policy. If the policy is Cipher_Text_Policy, the second attribute from the user information (attribute specification information) using the other schema (attribute schema) paired with one schema (predicate schema) specified by Cipher_Text_Policy get information.
  • the second predicate is derived from the user information (predicate specification information) using the other schema (predicate schema) paired with one schema (attribute schema) specified by Key_Policy. get information.
  • the schema used in this process is a schema paired with the schema used in step S17a.
  • the second attribute information and the second predicate information are one or a plurality of vector information whose components are elements of the finite field F q (see FIG. 11-13).
  • step S23 is performed.
  • the transmission unit 34 of the first decryption device 30-1 is controlled by the control unit, and the public parameter, policy, schema pair, authentication information, second attribute information, or second attribute from the memory 31 is received.
  • a key request message in which predicate information is collected is generated.
  • the transmission unit 34 of the first decryption device 30-1 transmits the key request message to the key generation device having the address from the memory 31, and the reception unit of the key generation device 20 receives the key request message. .
  • step S24d is performed. Since the key generation device 20 receives the second attribute information or the second predicate information from the first decryption device 30-1, unlike the first embodiment according to the second aspect, a function for generating this information And processing is unnecessary.
  • step S28 to step S34a after the process of step S24d is the same as that of the first embodiment according to the second aspect.
  • the second predicate logical information acquisition unit 35 of the second decryption device 30-2 retrieves the policy, schema pair, public parameter, and user information from the memory 31. Is obtained, and attribute information (referred to as second attribute information) or predicate information (referred to as second predicate information) is obtained from the user information (step S35g).
  • the schema applied to the user information in this processing is the other schema paired with one schema specified by the policy. If the policy is Cipher_Text_Policy, the second attribute from the user information (attribute specification information) using the other schema (attribute schema) paired with one schema (predicate schema) specified by Cipher_Text_Policy get information.
  • the second predicate is derived from the user information (predicate specification information) using the other schema (predicate schema) paired with one schema (attribute schema) specified by Key_Policy. get information.
  • the schema used in this process is a schema paired with the schema used in step S17a.
  • the second attribute information and the second predicate information are one or a plurality of vector information whose components are elements of the finite field F q (see FIG. 11-13).
  • step S35 is performed.
  • the transmission unit 34 of the second decryption device 30-2 is controlled by the control unit, and the public parameter, policy, schema pair, authentication information, second attribute information, or second attribute from the memory 31 is controlled.
  • a key request message in which predicate information is collected is generated.
  • the transmission unit 34 of the second decryption device 30-2 transmits the key request message to the key generation device having the address from the memory 31, and the reception unit of the key generation device 20 receives the key request message. .
  • step S36d If the verification is successful in the process of step S36a, the process of step S36d is performed. Since the key generation device 20 receives the second attribute information or the second predicate information from the second decryption device 30-2, unlike the first embodiment according to the second aspect, a function for generating this information And processing is unnecessary.
  • step S40 and step S41 after the process of step S36d is the same as 1st Embodiment by a 2nd viewpoint.
  • the third embodiment according to the second aspect differs from the first embodiment according to the second aspect in several matters. Therefore, redundant description of portions overlapping with those of the first embodiment according to the second aspect is omitted (the same reference numerals are assigned to the same components), and the second aspect is referred to with reference to FIGS. A different part from 1 embodiment is demonstrated.
  • step S1 to step S17a is the same as that of the first embodiment according to the second aspect.
  • information such as public parameters is information necessary for the predicate encryption algorithm of the third embodiment according to the second aspect.
  • Non-Patent Document 2 see, for example, Non-Patent Document 2 above.
  • step S17d is performed.
  • the transmission unit 14 of the encryption device 10 is controlled by the control unit, and the encryption information C 1 , the schema pair from the memory 11, the policy, the public parameter, and the address of the key generation device are collected.
  • An encrypted message is generated (step S17d).
  • step S18 to step S28 following the processing of step S17d is the same as that of the first embodiment according to the second aspect.
  • step S22c1 the decoding section 33 of the first decoding device 30-1, according to the predicate encryption algorithm, read from the memory 31 and the public parameters the decryption key R and the encryption information C 1,
  • the plaintext M is obtained (step S22c1).
  • step S30 to step S40 following the processing of step S22c1 is the same as that of the first embodiment according to the second aspect.
  • step S34c1 the decoding section 33 of the second decoding unit 30-2 is, according to the predicate encryption algorithm, read from the memory 31 and the public parameters the decryption key R and the encryption information C 1, The plaintext M is obtained (step S34c1).
  • the fourth embodiment according to the second aspect corresponds to a combination of the second embodiment according to the second aspect and the third embodiment according to the second aspect. That is, the fourth embodiment according to the second aspect is different from the first embodiment according to the second aspect.
  • the first decoding device 30-1 and the second decoding device 30-2 are different from each other in the second attribute information. Alternatively, the second predicate information is generated.
  • the fourth embodiment according to the second aspect differs from the first embodiment according to the second aspect in several matters. Therefore, redundant description of the same parts as those in the first embodiment according to the second aspect is omitted (the same reference numerals are assigned to the same constituent elements), and different from the first embodiment with reference to FIGS. 55 to 58. The part will be explained.
  • step S1 to step S17a is the same as that of the first embodiment according to the second aspect.
  • information such as public parameters is information necessary for the predicate encryption algorithm of the fourth embodiment according to the second aspect.
  • Non-Patent Document 2 see, for example, Non-Patent Document 2 above.
  • step S17d is performed.
  • the transmission unit 14 of the encryption device 10 is controlled by the control unit, and the encryption information C 1 , the schema pair from the memory 11, the policy, the public parameter, and the address of the key generation device are collected.
  • An encrypted message is generated (step S17d).
  • step S18 to step S22b following the process of step S17d is the same as that of the first embodiment according to the second aspect.
  • the second predicate logical information acquisition unit 35 of the first decryption apparatus 30-1 reads the policy, schema pair, public parameter, and user information from the memory 31. Is obtained, and attribute information (referred to as second attribute information) or predicate information (referred to as second predicate information) is obtained from the user information (step S23g).
  • the schema applied to the user information in this processing is the other schema paired with one schema specified by the policy. If the policy is Cipher_Text_Policy, the second attribute from the user information (attribute specification information) using the other schema (attribute schema) paired with one schema (predicate schema) specified by Cipher_Text_Policy get information.
  • the second predicate is derived from the user information (predicate specification information) using the other schema (predicate schema) paired with one schema (attribute schema) specified by Key_Policy. get information.
  • the schema used in this process is a schema paired with the schema used in step S17a.
  • the second attribute information and the second predicate information are one or a plurality of vector information whose components are elements of the finite field F q (see FIG. 11-13).
  • step S23 is performed.
  • the transmission unit 34 of the first decryption device 30-1 is controlled by the control unit, and the public parameter, policy, schema pair, authentication information, second attribute information, or second attribute from the memory 31 is received.
  • a key request message in which predicate information is collected is generated.
  • the transmission unit 34 of the first decryption device 30-1 transmits the key request message to the key generation device having the address from the memory 31, and the reception unit of the key generation device 20 receives the key request message. .
  • step S24d is performed. Since the key generation device 20 receives the second attribute information or the second predicate information from the first decryption device 30-1, the function and processing for generating this information are unnecessary.
  • step S28 after the process of step S24d is the same as that of 1st Embodiment by a 2nd viewpoint.
  • step S22c1 the decoding section 33 of the first decoding device 30-1, according to the predicate encryption algorithm, read from the memory 31 and the public parameters the decryption key R and the encryption information C 1,
  • the plaintext M is obtained (step S22c1).
  • step S30 to step S34a after the process of step S22c1 is the same as that of the first embodiment according to the second aspect.
  • the second predicate logical information acquisition unit 35 of the second decryption device 30-2 retrieves the policy, schema pair, public parameter, and user information from the memory 31. Is obtained, and attribute information (referred to as second attribute information) or predicate information (referred to as second predicate information) is obtained from the user information (step S35g).
  • the schema applied to the user information in this processing is the other schema paired with one schema specified by the policy. If the policy is Cipher_Text_Policy, the second attribute from the user information (attribute specification information) using the other schema (attribute schema) paired with one schema (predicate schema) specified by Cipher_Text_Policy get information.
  • the second predicate is derived from the user information (predicate specification information) using the other schema (predicate schema) paired with one schema (attribute schema) specified by Key_Policy. get information.
  • the schema used in this process is a schema paired with the schema used in step S17a.
  • the second attribute information and the second predicate information are one or a plurality of vector information whose components are elements of the finite field F q (see FIG. 11-13).
  • step S35 is performed.
  • the transmission unit 34 of the second decryption device 30-2 is controlled by the control unit, and the public parameter, policy, schema pair, authentication information, second attribute information, or second attribute from the memory 31 is controlled.
  • a key request message in which predicate information is collected is generated.
  • the transmission unit 34 of the second decryption device 30-2 transmits the key request message to the key generation device having the address from the memory 31, and the reception unit of the key generation device 20 receives the key request message. .
  • step S36d If the verification is successful in the process of step S36a, the process of step S36d is performed. Since the key generation device 20 receives the second attribute information or the second predicate information from the second decryption device 30-2, unlike the first embodiment, the function and processing for generating this information are unnecessary. is there.
  • step S40 after the process of step S36d is the same as that of 1st Embodiment by a 2nd viewpoint.
  • step S34c1 the decoding section 33 of the second decoding unit 30-2 is, according to the predicate encryption algorithm, read from the memory 31 and the public parameters the decryption key R and the encryption information C 1, The plaintext M is obtained (step S34c1).
  • FIG. 59 illustrates the configuration of data to be transmitted / received.
  • the basic format of the entire message conforms to, for example, S / MIME (Secure Multipurpose Internet Mail Mail Extensions), but the data from the encrypted message start position marker to the encrypted message end position marker is XML (eXtensible Markup Language), etc. Given.
  • the sequence from the encrypted message start position marker to the encrypted message end position marker represents a series of data related to predicate encryption.
  • an identifier representing an algorithm, an algorithm version, and the like can be designated (PE / VersionX + Camellia [Camellia is a registered trademark], etc.).
  • Digital signature is described in the digital signature block.
  • the signature algorithm can use an existing method. This item can be omitted depending on the operation mode.
  • information specifying the used public information parameter is specified. It is also possible to specify an identifier for specifying the public information parameter, or the public information parameter data itself.
  • an identifier that identifies the used policy is specified.
  • data obtained by encrypting the common key used for encrypting the message payload (plain text) with predicate encryption is specified.
  • a character string expression representing the attribute / predicate used for encryption can be specified corresponding to the policy field. These items can be omitted depending on the operation mode.
  • an attachment file encrypted with RSA can be attached. This item can be omitted depending on the operation mode.
  • the recipient may store the common key for use in decrypting subsequent instant messages. In this way, when a subsequent instant message is transmitted from the sender to the receiver, the ciphertext is sent, but the public parameter information, policy, schema, and cipher information may not be sent. Similarly, in an operation that does not change the encryption algorithm to be used, the encryption algorithm identifier in the subsequent instant message may be omitted.
  • predicate encryption is a method that is not restricted by information that depends on the receiver in encryption
  • the sender (device) can also send an encrypted message to an unknown receiver (device).
  • the sender performs the encryption process only once even when there are a plurality of recipients (devices) (in the public key cryptosystem, the encryption process is required N times). For this reason, the sender (device) can broadcast the encrypted message at a low processing cost.
  • the encrypted message received from the encryption device can be transferred to the third party (device) as it is.
  • the public key cryptosystem it is necessary for the receiver (device) to decrypt the encrypted message once, encrypt it using the public key of the third party (device), and transmit this encrypted encrypted message.
  • the burden of processing costs is large.
  • the encrypted message received from the encryption device is transferred as it is to a third party (device)
  • the encrypted message can be transferred at a low processing cost.
  • the description of the cryptographic communication technique according to the third aspect includes many portions substantially overlapping with the description of the cryptographic communication technique according to the first aspect described above, but the description of the cryptographic communication technique according to the first aspect is not referred to.
  • the encryption communication technique according to the third aspect will be described without omitting the overlapping description and the overlapping drawings as much as possible. For this reason, the number of the mathematical formula, the reference number representing the functional unit, the reference number representing the step, and the like overlap in both, but there is no possibility of confusion from the context.
  • the cryptographic system 1 includes a plurality of client devices 10, 30, one or a plurality of key generation devices 20, one or a plurality of content server devices 60, one Alternatively, a plurality of user information management devices 40 (hereinafter referred to as management devices), a conversion rule information pair management device 50 (hereinafter referred to as registration devices), one or more maintenance devices 80, and one or more authentication devices 90. Is included. These devices can communicate with each other via a communication network 5 which is, for example, the Internet.
  • a communication network 5 which is, for example, the Internet.
  • the client device functions as an encryption device that encrypts content to generate encrypted content or a decryption device that decrypts encrypted content, depending on the processing purpose. Therefore, the client device is referred to as the encryption device 10 or the decryption device 30 from the viewpoint of function.
  • the cryptographic system 1 according to the third aspect may include a client device that functions only as an encryption device and / or a client device that functions only as a decryption device.
  • the encryption system 1 performs encryption and decryption using predicate encryption.
  • predicate encryption algorithm there is no limitation on the predicate encryption algorithm to be used, and for example, the predicate encryption algorithm disclosed in Non-Patent Document 2 can be used.
  • KEM Key Encapsulation Mechanisms
  • the encryption communication method in the encryption system 1 will be described with reference to FIGS. 61, 62, 63, 64, 66, 69, 71. Refer to FIGS. 65, 67, 68, and 70 for the functional configuration of each device.
  • the transmission unit 14 of the encryption device 10 transmits a search query to the registration device 50, and the reception unit of the registration device 50 receives the search query (step S14).
  • the search unit of the registration device 50 searches a part or all of the entries registered in the storage unit of the registration device 50 to select one entry (step S15), and the transmission unit of the registration device 50 selects the entry of the search result.
  • the receiving unit of the encryption device 10 receives the entry (step S16).
  • This entry includes an address of the key generation device, a public parameter of the key generation device, a policy list that can be used by the key generation device, and a schema list that can be used by the key generation device.
  • the received entry is stored in the memory 11 of the encryption device 10.
  • the encryption device 10 has the public parameters, schema list, policy list, and address of each key generation device 20 in advance, the processing of steps S14 to S16 is omitted. In other words, it should be noted that a configuration in which the cryptographic system 1 does not include the registration device 50 is allowed.
  • the first predicate logical information acquisition unit 12 of the encryption device 10 reads input information, a policy, and a schema from the memory 11, and attributes information (hereinafter referred to as first attribute information) or predicate information (hereinafter referred to as first predicate information and Say) (step S17a). Details of this process will be described (see FIGS. 12 and 13).
  • the first predicate logical information acquisition unit 12 may select the schema pair according to a predetermined rule.
  • the first predicate logical information acquisition unit 12 performs the policy and either of the schemas. Any of the above may be used. If only one type of policy is prepared for the key generation device 20, one schema of the schema pair is selected according to the policy. If the selected schema does not correspond to the type of input information, the schema pair may be reselected from the schema list or the entry from the registration device 50 may be received again.
  • the input information may be information input by a user of the encryption device 10 or information acquired by an acquisition unit (not shown) of the encryption device 10 from a storage medium such as an IC card 39, for example.
  • the first predicate logical information acquisition unit 12 obtains the first attribute information or the first predicate information from the input information using the schema selected from the schema pair according to the policy.
  • the policy is Key_Policy and the selected schema is an attribute schema
  • first attribute information is obtained.
  • the policy is Cipher_Text_Policy and the selected schema is a predicate schema
  • first predicate information is obtained.
  • the first attribute information and the first predicate information are one or a plurality of vector information whose components are elements of the finite field F q (see FIG. 11-13). At this time, a required attribute value is extracted from the input information and sorted using a schema.
  • the common key K, the encryption information C 1, and the encrypted content C 2 are obtained using the orthogonal base B (substantial public key) and the content M included in the public parameters (steps S17b and S17c). Details of these processes will be described.
  • the first encryption unit 13a generates random numbers r and ⁇ that are elements of the finite field F q in accordance with the predicate encryption algorithm, sets the common key K as in the above equation (7), and the above equation Encryption information C 1 is obtained according to (8) (step S17b).
  • H is, for example, a hash function.
  • the first attribute information v is used, but when the first predicate information is used, v may be replaced with w in the above equation (8).
  • the encryption information C 1 is information corresponding to the information ⁇ used to generate the common key K, but the encryption information C 1 may be information corresponding to the common key K.
  • the second encryption unit 13b uses the common key K and the content M to obtain the encrypted content C 2 according to the above equation (9) (step S17c).
  • the encryption method Enc K using the common key may be a known method, for example, the method disclosed in Non-Patent Document 1 above.
  • the transmission unit 14 of the encryption device 10 receives the encryption information C 1 , the encrypted content C 2 , the schema pair from the memory 11, the policy, the public parameter, and the key generation device.
  • An encrypted message in which the addresses are collected is generated (step S17d).
  • the transmission unit 14 of the encryption device 10 transmits the encrypted message to the content server device 60, and the reception unit of the content server device 60 receives the encrypted message (step S18).
  • the upload of the encrypted content is performed using a known method such as FTP (File Transfer Protocol) or WebDAV (Distributed Authoring and Versioning protocol for the WWW).
  • the content server device 60 stores the encrypted message sent from each encryption device 10 in the memory 61 under the control of a control unit (not shown). As a result, the encryption information and the encrypted content included in the encrypted message are registered in the content server device 60. What kind of encrypted content is registered in the content server device 60 is disclosed on a Web page, for example.
  • the Web page is displayed on the display (not shown) of the decryption device 30 by the browser unit 38 of the decryption device 30 according to, for example, the Internet protocol.
  • the user of the decryption device 30 performs an input operation for selecting desired encrypted content.
  • the browser unit 38 of the decryption device 30 sends an acquisition request for acquiring the selected encrypted content from the content server device 60 to the decryption unit 33 of the decryption device 30 (hereinafter referred to as a relay unit). (Step S19).
  • the relay unit 33 of the decryption device 30 transmits this acquisition request to the content server device 60, and the reception unit of the content server device 60 receives this acquisition request (step S20).
  • the exchange according to, for example, HTTP (Hiper Text Transfer Protocol) between the browser unit 38 and the content server device 60 is performed via the relay unit 33 (for example, use of proxy settings of a WWW browser is permitted).
  • the search unit 62 of the content server device 60 searches for and selects an encrypted message including the encrypted content specified in the acquisition request (step S21), and transmits the content server device 60 based on an instruction from the search unit 62.
  • the unit 64 transmits the encrypted message to the decrypting device 30, and the receiving unit of the decrypting device 30 receives the encrypted message (step S22).
  • the transmission unit 34 of the decryption device 30 transmits a search query including the address of the key generation device included in the encrypted message to the registration device 50, and the reception unit of the registration device 50 receives the search query. Is received (step S23).
  • the search unit of the registration device 50 searches for the entry of the key generation device specified by the address and selects it (step S24), and the transmission unit of the registration device 50 transmits the search result entry to the decryption device 30 and decrypts it.
  • the receiving unit of the device 30 receives the entry (step S25).
  • This entry includes an address of the key generation device, a public parameter of the key generation device, a policy list that can be used by the key generation device, and a schema list that can be used by the key generation device.
  • the received entry is stored in the memory 31 of the decoding device 30.
  • the decryption device 30 If the decryption device 30 has the public parameters, schema list, policy list, and address of each key generation device 20 in advance, the processing of steps S19 to S21 is omitted. In this case, the decryption device 30 searches the own memory 31 for an entry of the key generation device corresponding to the address included in the encrypted message, and acquires this.
  • the verification unit (not shown) of the decryption device 30 includes the schema pair and policy included in the encrypted message in the policy list and schema list included in the entry acquired from the registration device 50. It is verified whether or not (step S26a). If this verification fails, the process ends as a failure of the decoding process (step S26g).
  • the acquisition unit 32 of the decoding device 30 reads attribute designation information or predicate designation information corresponding to the user of the decoding device 30 from a storage medium such as the IC card 39 (step S26f). .
  • Whether to read attribute specification information or predicate specification information is determined by the policy included in the encrypted message. That is, the information to be read is the designation information corresponding to the content of the policy that specifies the other schema paired with one schema specified by this policy. If the policy is Cipher_Text_Policy, the acquisition unit 32 reads the attribute designation information from the storage medium. If the policy is Key_Policy, the acquisition unit 32 reads predicate designation information from the storage medium.
  • the read designation information is referred to as user information.
  • the acquisition unit 32 of the decryption device 30 receives attribute designation information or predicate corresponding to the user of the decryption device 30 from the management device 40 in the same manner as the process ⁇ user information acquisition process >> in the key generation device 20 described later. Reading specified information is also allowed.
  • the process of step S26f is arbitrarily performed. For example, when the decoding device 30 previously possesses attribute designation information and predicate designation information corresponding to the user, either the attribute designation information or the predicate designation information becomes the user information according to the policy.
  • the verification unit of the decryption device 30 verifies whether or not it has a decryption key used for decrypting the encryption information included in the encrypted message (step S26b).
  • the decryption device 30 stores a decryption key table in the memory 31.
  • the decryption key table as shown in FIG. 15, for example, public parameters, schema pairs, decryption key targets, predicate designation information, and decryption keys are associated with the identifiers of the key generation apparatus. . Therefore, the verification unit determines the identifier of the key generation device, the public parameter, the schema pair, and the decryption key target (which is specified by the policy included in the encrypted message, which is determined based on the address included in the encrypted message). The presence or absence of a decryption key corresponding to the policy content specifying the other schema paired with the other schema is verified. If the decryption key exists, the process of step S33 is performed. If there is no decryption key, the process of step S27 is performed.
  • the transmission unit 34 of the decryption device 30 is controlled by the control unit, and public parameters, policies, schema pairs, user information (if any) from the memory 31, A key request message in which authentication information is collected is generated.
  • the authentication information includes, for example, the user ID and password.
  • the transmission unit 34 of the decryption device 30 transmits a key request message to the key generation device having the address from the memory 31, and the reception unit of the key generation device 20 receives the key request message (step S27).
  • the received key request message is stored in the memory 21 of the key generation device 20.
  • a verification unit (not shown) of the key generation device 20 is controlled by the control unit, and a schema pair and a policy included in the key request message are generated by the key generation device 20 (for example, generated in step S1). It is verified whether it is included in the policy list and the schema list included in the entry) and whether the public parameter included in the key request message is a public parameter of the key generation device 20 (step S28a). ). If this verification fails, the process ends as a failure of the key generation process (step S28g). In the process of step S28a, if the authentication information is included in the key request message, the authentication information included in the key request message is also verified.
  • the key generation device 20 stores an authentication table in the memory 21. In the authentication table, for example, as shown in FIG. 16, a password is associated with the user ID. Therefore, the verification unit verifies the consistency between the user ID and password included in the key request message and the user ID and password included in the authentication table. Even when this verification fails, the process of step S28g is performed.
  • step S28b the verification unit of the key generation device 20 verifies whether the user information is included in the key request message. If the user information is included in the key request message, the process of step S28c is performed. If the user information is not included in the key request message, the process of step S29 is performed. If a method in which user information is always included in the key request message is adopted, the processing in step S28b and the “user information acquisition process” described later are unnecessary.
  • the transmission unit of the key generation device 20 transmits a request including the policy included in the key request message and the authentication information (if any) to the management device 40, and the management device 40 receives the request (step S29).
  • the received request is stored in the memory of the management device 40.
  • Management device 40 stores an authentication table in memory.
  • this authentication table a password is associated with the user ID (see FIG. 16), as in the above authentication table. Therefore, the verification unit (not shown) of the management apparatus 40 verifies the consistency between the user ID and password included in the request and the user ID and password included in the authentication table.
  • a search unit (not shown) of the management device 40 searches for attribute designation information or predicate designation information from the user information table stored in the memory according to the policy included in the request (step S30).
  • the user information table includes, for example, a first table including user IDs, attribute names and attribute designation information associated with the user IDs, and user IDs and predicate designation information associated therewith. Second table (see FIG. 17). Whether to read attribute specification information or predicate specification information is determined by the policy included in the request. That is, the information to be read is the designation information corresponding to the content of the policy that specifies the other schema paired with one schema specified by this policy.
  • the search unit acquires attribute designation information corresponding to the user ID included in the request from the first table. If the policy is Key_Policy, the retrieval unit obtains predicate designation information corresponding to the user ID included in the request from the second table. The read designation information is called user information.
  • the transmission unit of the management device 40 is controlled by the control unit and transmits user information as a search result to the key generation device 20, and the reception unit of the key generation device 20 receives the user information (step S31).
  • the received user information is stored in the memory 21 of the key generation device 20.
  • the second predicate logical information acquisition unit 23 of the key generation device 20 reads the policy from the memory 21. Then, the schema pair, the public parameter, and the user information are read, and attribute information (referred to as second attribute information) or predicate information (referred to as second predicate information) is obtained from the user information (step S28c).
  • the schema applied to the user information in this processing is the other schema paired with one schema specified by the policy.
  • the second attribute from the user information (attribute specification information) using the other schema (attribute schema) paired with one schema (predicate schema) specified by Cipher_Text_Policy get information.
  • the policy is Key_Policy
  • the second predicate is derived from the user information (predicate specification information) using the other schema (predicate schema) paired with one schema (attribute schema) specified by Key_Policy. get information.
  • the schema used in this process is a schema paired with the schema used in step S17a.
  • the second attribute information and the second predicate information are one or a plurality of vector information whose components are elements of the finite field F q (see FIG. 11-13). At this time, a required attribute value is extracted from the input information and sorted using a schema.
  • the key generation unit 25 of the key generation device 20 generates a random number ⁇ that is an element of the finite field F q based on the public parameter q according to the predicate encryption algorithm, and the second attribute information v from the memory 21.
  • the decryption key R is obtained according to the above equation (10) using the secret key B * of the key (step S28d).
  • the second predicate information w (p) is used in this example, but when the input information is predicate designation information, Since the second attribute information v (p) corresponds, w (p) may be replaced with v (p) in the above equation (10).
  • the transmission unit 24 of the key generation device 20 receives the control by the control unit, transmits the decryption key R to the decryption device 30, and the reception unit of the decryption device 30 receives the decryption key R (step S32).
  • the received decryption key R is stored in the memory 31 of the decryption device 30.
  • the relay unit 33 of the decryption device 30 transmits the public parameter, the decryption key R, and the encryption information C 1 from the memory 31. and (if necessary) read the encrypted content C 2, obtains the common key K and the content M (step S33).
  • the relay unit 33 includes a first decoding unit 33a and a second decoding unit 33b that perform decoding processing.
  • the first decoding unit 33a reads the decryption key R public parameter and the encryption information C 1 from the memory 31, according to the predicate encryption algorithm obtains e (C 1, R).
  • the calculation result is obtained by using the first attribute information v and the second predicate extracted from the encryption information C 1 and the decryption key R based on the bilinearity.
  • v When the input information is predicate designation information, v may be replaced with v (p) and w (p) may be replaced with w in the above equation (11), and the operation result is based on bilinearity and the encryption information C 1 and the decryption key It depends on the result of the standard inner product of the first predicate information w and the second attribute information v (p) extracted from R. However, e (b i , b i * ) is defined as in the above equation (12). ⁇ ij is the Kronecker delta symbol.
  • the first decoding unit 33a obtains an “incorrect” value according to equation (7) above.
  • the hash function H is assumed to be common to the system or included in the public parameter.
  • the encryption information C 1 is information corresponding to the information ⁇ used to generate the common key K.
  • the above equation (11) The calculation result is the common key K (or an incorrect value).
  • the legitimate user of the decoding device 30 can use the predicate instruction information that gives the second predicate information w (p) whose standard inner product with the first attribute information v is 0, or the standard inner product with the first predicate information w.
  • the second decryption unit 33b using the common key K and the encrypted content C 2, obtains the content M according to the above formula (13) (Step S26D).
  • the decryption method Dec K using the common key corresponds to the encryption method Enc K.
  • the decryption device 30 may store the decryption key R in the decryption key table. Further, the common key K may be added to the decryption key table and stored.
  • the content M obtained by decrypting the encrypted content is transmitted from the relay unit 33 to the browser unit 38 (step S34), and is displayed on the display of the decryption device 30 by the browser unit 38 (step S35).
  • the decoding device 30 generates the second attribute information or the second predicate information.
  • the second embodiment according to the third aspect differs from the first embodiment according to the third aspect in several matters. Therefore, redundant description of the same parts as those in the first embodiment according to the third aspect is omitted (the same reference numerals are assigned to the same components), and the parts according to the third aspect are referred to with reference to FIGS. A different part from 1 embodiment is demonstrated.
  • step S1 to step S26b The processing from step S1 to step S26b is the same as that of the first embodiment according to the third aspect.
  • the second predicate logical information acquisition unit 35 of the decryption device 30 reads the policy, schema pair, public parameter, and user information from the memory 31, and the user From the information, attribute information (referred to as second attribute information) or predicate information (referred to as second predicate information) is obtained (step S27g).
  • the schema applied to the user information in this processing is the other schema paired with one schema specified by the policy.
  • the second attribute from the user information (attribute specification information) using the other schema (attribute schema) paired with one schema (predicate schema) specified by Cipher_Text_Policy get information.
  • the policy is Key_Policy
  • the second predicate is derived from the user information (predicate specification information) using the other schema (predicate schema) paired with one schema (attribute schema) specified by Key_Policy. get information.
  • the schema used in this process is a schema paired with the schema used in step S17a.
  • the second attribute information and the second predicate information are one or a plurality of vector information whose components are elements of the finite field F q (see FIG. 11-13).
  • step S27 is performed.
  • the transmission unit 34 of the decryption device 30 collects the public parameters, policies, schema pairs, authentication information, second attribute information, or second predicate information from the memory 31 under the control of the control unit. Generate a key request message. Then, the transmission unit 34 of the decryption device 30 transmits a key request message to the key generation device having the address from the memory 31, and the reception unit of the key generation device 20 receives the key request message.
  • step S28d If the verification is successful in the process of step S28a, the process of step S28d is performed. Since the key generation device 20 receives the second attribute information or the second predicate information from the decryption device 30, unlike the first embodiment according to the third aspect, the function and processing for generating this information are not required. is there.
  • step S32 to step S35 after the process of step S28d is the same as that of the first embodiment according to the third aspect.
  • the third embodiment according to the third aspect differs from the first embodiment according to the third aspect in several matters.
  • step S1 to step S17a is the same as that of the first embodiment according to the third aspect.
  • information such as public parameters is information necessary for the predicate encryption algorithm of the third embodiment according to the third aspect.
  • Non-Patent Document 2 see, for example, Non-Patent Document 2 above.
  • step S17d is performed.
  • the transmission unit 14 of the encryption device 10 collects the encrypted content C 1 and the schema pair, policy, public parameter, and key generation device address from the memory 11 under the control of the control unit.
  • the encrypted message is generated (step S17d).
  • step S18 to step S32 following the processing of step S17d is the same as that of the first embodiment according to the third aspect.
  • step S26c1 the decryption unit 33c included in the relay unit 33 of the decryption device 30 reads the public parameter, decryption key R, and encrypted content C 1 from the memory 31 in accordance with the predicate encryption algorithm. Thus, the content M is obtained (step S26c1).
  • step S34 and step S35 following the process of step S26c1 is the same as that of the first embodiment according to the third aspect.
  • the fourth embodiment according to the third aspect corresponds to a combination of the second embodiment according to the third aspect and the third embodiment according to the third aspect. That is, the fourth embodiment according to the third aspect is different from the first embodiment according to the third aspect.
  • the decryption device 30 generates the second attribute information or the second predicate information.
  • the encrypted content C 1 is obtained using the public key and the content M to be encrypted.
  • the fourth embodiment according to the third aspect differs from the first embodiment according to the third aspect in several matters. Therefore, redundant description of the same parts as those in the first embodiment according to the third aspect is omitted (the same reference numerals are assigned to the same components), and the third aspect is also referred to with reference to FIGS. A different part from 1 embodiment is demonstrated.
  • step S1 to step S17a is the same as that of the first embodiment according to the third aspect.
  • information such as public parameters is information necessary for the predicate encryption algorithm of the fourth embodiment according to the third aspect.
  • Non-Patent Document 2 see, for example, Non-Patent Document 2 above.
  • step S17d is performed.
  • the transmission unit 14 of the encryption device 10 collects the encrypted content C 1 and the schema pair, policy, public parameter, and key generation device address from the memory 11 under the control of the control unit.
  • the encrypted message is generated (step S17d).
  • step S18 to step S26b following the processing of step S17d is the same as that of the first embodiment according to the third aspect.
  • the second predicate logical information acquisition unit 35 of the decryption device 30 reads the policy, schema pair, public parameter, and user information from the memory 31, and the user From the information, attribute information (referred to as second attribute information) or predicate information (referred to as second predicate information) is obtained (step S27g).
  • the schema applied to the user information in this processing is the other schema paired with one schema specified by the policy. If the policy is Cipher_Text_Policy, the second attribute from the user information (attribute specification information) using the other schema (attribute schema) paired with one schema (predicate schema) specified by Cipher_Text_Policy get information.
  • the second predicate is derived from the user information (predicate specification information) using the other schema (predicate schema) paired with one schema (attribute schema) specified by Key_Policy. get information.
  • the schema used in this process is a schema paired with the schema used in step S17a.
  • the second attribute information and the second predicate information are one or a plurality of vector information whose components are elements of the finite field F q (see FIG. 11-13).
  • step S27 is performed.
  • the transmission unit 34 of the decryption device 30 collects the public parameters, policies, schema pairs, authentication information, second attribute information, or second predicate information from the memory 31 under the control of the control unit. Generate a key request message. Then, the transmission unit 34 of the decryption device 30 transmits a key request message to the key generation device having the address from the memory 31, and the reception unit of the key generation device 20 receives the key request message.
  • step S28d If the verification is successful in the process of step S28a, the process of step S28d is performed. Since the key generation device 20 receives the second attribute information or the second predicate information from the decryption device 30, a function and a process for generating this information are unnecessary.
  • step S32 after the process of step S28d is the same as that of the first embodiment according to the third aspect.
  • step S26c1 the decoding unit 33 of the decoding device 30, according to the predicate encryption algorithm, read from the memory 31 and the public parameters the decryption key R and the encrypted content C 1, obtains the content M (Step S26c1).
  • step S34 and step S35 following the process of step S26c1 is the same as that of the first embodiment according to the third aspect.
  • the relay unit decrypts the encrypted content. For this reason, the decryption process can be performed separately from the normal protocol of the WWW server or WWW browser, for example, and it becomes easy to divert the existing WWW system. Further, since the relay unit performs the decryption process without the user performing an operation for performing the decryption process of the encrypted content, the convenience for the user is high.
  • the relay unit may cache the encrypted content before decryption.
  • an HTTP cache control header that invalidates the cache may be added to the response to the WWW browser.
  • a system configuration in which the relay unit has an authentication function may be adopted.
  • HTTP basic authentication and digest authentication are used for the WWW browser, and the authentication information (user ID / password) table for authentication and the management function for adding / changing / deleting authentication information May be added to the relay unit.
  • predicate encryption is a method that is not restricted by information that depends on the recipient at the time of encryption, it is suitable as access control for content that an unspecified person may view.
  • FIG. 82 illustrates the configuration of data to be transmitted / received.
  • the basic format of the entire message conforms to, for example, S / MIME (Secure Multipurpose Internet Mail Mail Extensions), but the data from the encrypted message start position marker to the encrypted message end position marker is XML (eXtensible Markup Language), etc. Given.
  • an identifier representing an algorithm, an algorithm version, and the like can be designated (PE / VersionX + Camellia [Camellia is a registered trademark], etc.).
  • Digital signature is described in the digital signature block.
  • the signature algorithm can use an existing method. This item can be omitted depending on the operation mode.
  • information specifying the used public information parameter is specified. It is also possible to specify an identifier for specifying the public information parameter, or the public information parameter data itself.
  • an identifier that identifies the used policy is specified.
  • data obtained by encrypting the common key used for content encryption with predicate encryption is specified.
  • the content file name, content type, and content file size are described, respectively.
  • a character string expression representing the attribute / predicate used for encryption can be specified corresponding to the policy field. These items can be omitted depending on the operation mode.
  • Encrypted data generated by encrypting content is described in the encrypted data.
  • HTML Hyper Text Markup Language
  • the encryption block is given an appropriate data structure by XML (eXtensible Markup Language).
  • the comment text is not displayed, but the remaining HTML text is displayed, so the remaining HTML part is a message indicating that it is encrypted content, or decryption fails.
  • An error message or the like may be described.
  • the algebraic structure S is a finite field, but it may be a finite ring (integer remainder ring).
  • the predicate encryption algorithm is, for example, a predicate encryption algorithm using an inner product
  • the first and second attribute information and the first and second predicate information are vectors having S elements as components.
  • the public key B is an original set of modules V on S
  • the secret key B * is an original set of dual modules V * of modules V.
  • the decryption key R is an element of the dual module V * .
  • the module V on the finite field is a so-called vector space on the finite field.
  • the encryption unit performs a scalar multiplication using the component of the first attribute information as a coefficient for the element of the public key B, or uses the component of the first predicate information as a coefficient for the element of the public key B.
  • Cryptographic information is obtained by performing operations including operations that perform scalar multiplication.
  • the key generation unit performs a scalar multiplication on the element of the secret key B * with the component of the second predicate information as a coefficient or the component of the second attribute information on the element of the secret key B * as a coefficient.
  • the decryption key R is obtained by performing an operation including an operation for performing scalar multiplication.
  • Hardware entities included in the cryptographic system can be connected to an input unit that can be connected to a keyboard, a liquid crystal display, etc.
  • An output unit a communication unit to which a communication device (for example, a communication cable) capable of communication outside the hardware entity can be connected, and a CPU (Central Processing Unit) (a cache memory, a register, or the like may be provided.
  • a RAM or ROM that is a memory
  • an external storage device that is a hard disk
  • a bus that connects the input unit, output unit, communication unit, CPU, RAM, ROM, and external storage device so that data can be exchanged between them.
  • the hardware entity may be provided with a device (drive) that can read and write a storage medium such as a CD-ROM.
  • a physical entity having such hardware resources includes a general-purpose computer.
  • the external storage device of the hardware entity stores a program necessary for realizing the above functions and data necessary for processing the program (not limited to the external storage device, for example, reading a program) It may be stored in a ROM that is a dedicated storage device.) Data obtained by the processing of these programs is appropriately stored in a RAM or an external storage device.
  • a storage device such as a RAM or a register for storing the calculation result and the address of the storage area is simply referred to as “memory”.
  • each program stored in an external storage device or ROM, etc.
  • data necessary for processing each program are read into a memory as necessary, and are interpreted and executed by a CPU as appropriate.
  • the CPU implements predetermined functions (for example, an encryption unit, a decryption unit, a key generation unit, a first predicate logical information acquisition unit, a second predicate logical information acquisition unit, a control unit, etc.).
  • processing functions in the hardware entity described in the above embodiment are realized by a computer, the processing contents of the functions that the hardware entity should have are described by a program. Then, by executing this program on a computer, the processing functions in the hardware entity are realized on the computer.
  • the program describing the processing content can be stored in a computer-readable storage medium.
  • the computer-readable storage medium may be any medium such as a magnetic storage device, an optical disk, a magneto-optical storage medium, and a semiconductor memory.
  • magneto-optical storage media MO (Magneto-Optical disc), etc., semiconductor memory, EEP-ROM (Electronically Erasable and Programmable-Read Only Memory), etc. Can be used.
  • this program is distributed by selling, transferring, or lending a portable storage medium such as a DVD or CD-ROM storing the program, for example. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.
  • a computer that executes such a program first stores a program stored in a portable storage medium or a program transferred from a server computer in its own storage device. When executing the process, this computer reads a program stored in its own storage medium and executes a process according to the read program. As another execution form of the program, the computer may read the program directly from the portable storage medium and execute processing according to the program, and the program is transferred from the server computer to the computer. Each time, the processing according to the received program may be executed sequentially. In addition, the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes a processing function only by an execution instruction and result acquisition. It is good. Note that the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).
  • ASP Application Service Provider
  • the hardware entity is configured by executing a predetermined program on the computer.
  • a predetermined program on the computer.
  • at least a part of these processing contents may be realized in hardware.
  • An encryption system using functional encryption including at least one or more encryption devices, one or more key generation devices, and one or more decryption devices;
  • a secret key and a public key corresponding to the secret key are predetermined for each of the key generation devices,
  • Information hereinafter referred to as attribute conversion rule information
  • attribute specifying information a logical expression that specify a conversion rule for converting attribute specifying information
  • attribute specifying information a logical expression that specify a conversion rule for converting attribute specifying information
  • attribute specifying information attribute specifying information
  • Information hereinafter referred to as logical expression conversion rule information
  • logical expression conversion rule information that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • One or more conversion rule information pairs that are pairs of Policy information for specifying which of the attribute conversion rule information and the logical expression conversion rule information is predetermined,
  • the encryption device is Of the conversion rule information for attribute and the conversion rule information for logical expression included in one conversion rule
  • An encryption system using functional encryption including at least one or more encryption devices, one or more key generation devices, and one or more decryption devices;
  • a secret key and a public key corresponding to the secret key are predetermined for each of the key generation devices,
  • Information hereinafter referred to as attribute conversion rule information
  • attribute specifying information a logical expression that specify a conversion rule for converting attribute specifying information (hereinafter referred to as attribute specifying information) into attribute information used in the function encryption algorithm
  • Information hereinafter referred to as logical expression conversion rule information
  • logical expression conversion rule information that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • One or more conversion rule information pairs that are pairs of Policy information for specifying which of the attribute conversion rule information and the logical expression conversion rule information is predetermined,
  • the encryption device is Of the conversion rule information for attribute and the conversion rule information for logical expression included in one conversion rule information pair selected from the conversion rule information pair, input information
  • An encryption system using functional encryption including at least one or more encryption devices, one or more key generation devices, and one or more decryption devices;
  • a secret key and a public key corresponding to the secret key are predetermined for each of the key generation devices,
  • Information hereinafter referred to as attribute conversion rule information
  • attribute specifying information a logical expression that specify a conversion rule for converting attribute specifying information
  • attribute specifying information a logical expression that specify a conversion rule for converting attribute specifying information
  • attribute specifying information attribute specifying information
  • Information hereinafter referred to as logical expression conversion rule information
  • logical expression conversion rule information that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • One or more conversion rule information pairs that are pairs of Policy information for specifying which of the attribute conversion rule information and the logical expression conversion rule information is predetermined,
  • the encryption device is Of the conversion rule information for attribute and the conversion rule information for logical expression included in one conversion rule
  • An encryption system using functional encryption including at least one or more encryption devices, one or more key generation devices, and one or more decryption devices;
  • a secret key and a public key corresponding to the secret key are predetermined for each of the key generation devices,
  • Information hereinafter referred to as attribute conversion rule information
  • attribute specifying information a logical expression that specify a conversion rule for converting attribute specifying information
  • attribute specifying information a logical expression that specify a conversion rule for converting attribute specifying information
  • attribute specifying information attribute specifying information
  • Information hereinafter referred to as logical expression conversion rule information
  • logical expression conversion rule information that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • One or more conversion rule information pairs that are pairs of Policy information for specifying which of the attribute conversion rule information and the logical expression conversion rule information is predetermined,
  • the encryption device is Of the conversion rule information for attribute and the conversion rule information for logical expression included in one conversion rule
  • the encryption unit of the encryption device also obtains a ciphertext obtained by encrypting plaintext with the common key,
  • the decryption unit of the decryption device generates the ciphertext second decryption process using the common key obtained by the decryption process or the information used to generate the common key obtained by the decryption process.
  • the attribute designation information and / or the logical expression designation information corresponding to the user is stored in a storage medium
  • the decoding device includes a user information acquisition unit that acquires the attribute designation information or the logical expression designation information corresponding to a user of the decoding device from the storage medium.
  • the attribute designation information or the logical expression designation information corresponding to the user of the decryption device used by the key generation device is information acquired from the decryption device.
  • the cryptographic system further includes one or more user information management devices, Each of the user information management devices includes a storage unit that stores the attribute designation information and / or the logical expression designation information corresponding to the user,
  • the key generation device includes a user information acquisition unit that acquires the attribute specification information or the logical expression specification information corresponding to a user of the decryption device from the user information management device.
  • the cryptographic system further includes one or more conversion rule information pair management devices, Each conversion rule information pair management device includes a storage unit that stores each conversion rule information pair corresponding to each key generation device,
  • the encryption device includes a conversion rule information pair acquisition unit that acquires the conversion rule information pair from the conversion rule information pair management device,
  • the decryption device includes a conversion rule information pair acquisition unit that acquires the conversion rule information pair from the conversion rule information pair management device.
  • Each of the key generation devices further includes a storage unit that stores each of the conversion rule information pairs corresponding to the key generation device
  • Each of the encryption devices further includes a storage unit that stores each of the conversion rule information pairs corresponding to at least one of the key generation devices
  • Each of the decryption devices further includes a storage unit that stores each of the conversion rule information pairs corresponding to at least one or more of the key generation devices.
  • the key generation means that the policy information is identified by only the attribute conversion rule information, only the logical expression conversion rule information, or the attribute conversion rule information and the logical expression conversion rule information. Predetermined for each device, Crypto system.
  • the public key is the original set of modules V on K
  • the secret key is the original set of dual modules V * of the module V
  • the decryption key is an element of the dual module V *
  • the encryption unit performs an operation of performing scalar multiplication on the element of the public key with the component of the first attribute information as a coefficient, or uses the component of the first logical information as a coefficient with respect to the element of the public key.
  • the above encryption information is obtained by performing an operation including an operation for performing scalar multiplication.
  • the key generation unit performs an operation of performing scalar multiplication on the element of the secret key with the component of the second logical information as a coefficient, or uses the component of the second attribute information on the element of the secret key as a coefficient.
  • Obtaining the decryption key by performing an operation including an operation to perform scalar multiplication,
  • the operation used for the decryption process of the decryption unit has bilinearity, and the result of the operation is obtained based on the bilinearity, the first logical information extracted from the encryption information and the decryption key, and the It is configured to depend on the second attribute information or the result of the standard inner product of the first attribute information and the second logical information.
  • a cryptographic communication method in a cryptographic system including at least one or a plurality of encryption devices, one or a plurality of key generation devices, and one or a plurality of decryption devices, and using function encryption,
  • a secret key and a public key corresponding to the secret key are predetermined for each of the key generation devices,
  • Information hereinafter referred to as attribute conversion rule information
  • attribute specifying information a logical expression that specify a conversion rule for converting attribute specifying information
  • attribute specifying information attribute specifying information
  • attribute specifying information a logical expression that specify a conversion rule for converting attribute specifying information into attribute information used in the function encryption algorithm
  • Information hereinafter referred to as logical expression conversion rule information
  • logical expression specifying information that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • One or more conversion rule information pairs that are pairs of Policy information for specifying which of the attribute conversion rule information and the logical expression conversion rule information
  • the attribute information (
  • the encryption unit of the encryption device uses the first attribute information or the first logical information and the public key of the key generation device, and a common key, the common key, or the An encryption step for obtaining cryptographic information corresponding to the information used to generate the common key;
  • the second propositional logic information acquisition unit of the key generation device responds to the user of the decryption device using the other conversion rule information paired with the one conversion rule information specified by the policy information.
  • An encryption communication method comprising: a decryption step in which a decryption unit of the decryption device performs decryption processing on the encryption information according to a function encryption algorithm using the decryption key.
  • a cryptographic communication method in a cryptographic system including at least one or a plurality of encryption devices, one or a plurality of key generation devices, and one or a plurality of decryption devices, and using function encryption,
  • a secret key and a public key corresponding to the secret key are predetermined for each of the key generation devices,
  • Information hereinafter referred to as attribute conversion rule information
  • attribute specifying information a logical expression that specify a conversion rule for converting attribute specifying information
  • attribute specifying information attribute specifying information
  • attribute specifying information a logical expression that specify a conversion rule for converting attribute specifying information into attribute information used in the function encryption algorithm
  • Information hereinafter referred to as logical expression conversion rule information
  • logical expression specifying information that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • One or more conversion rule information pairs that are pairs of Policy information for specifying which of the attribute conversion rule information and the logical expression conversion rule information
  • the attribute information (
  • the encryption unit of the encryption device uses the first attribute information or the first logical information and the public key of the key generation device, and a common key, the common key, or the An encryption step for obtaining cryptographic information corresponding to the information used to generate the common key;
  • the second propositional logic information acquisition unit of the decoding device corresponds to the user of the decoding device using the other conversion rule information paired with the one conversion rule information specified by the policy information.
  • An encryption communication method comprising: a decryption step in which a decryption unit of the decryption device performs decryption processing on the encryption information according to a function encryption algorithm using the decryption key.
  • a cryptographic communication method in a cryptographic system including at least one or a plurality of encryption devices, one or a plurality of key generation devices, and one or a plurality of decryption devices, and using function encryption,
  • a secret key and a public key corresponding to the secret key are predetermined for each of the key generation devices,
  • Information hereinafter referred to as attribute conversion rule information
  • attribute specifying information a logical expression that specify a conversion rule for converting attribute specifying information
  • attribute specifying information attribute specifying information
  • attribute specifying information attribute specifying information
  • attribute specifying information a logical expression that specify a conversion rule for converting attribute specifying information into attribute information used in the function encryption algorithm
  • Information hereinafter referred to as logical expression conversion rule information
  • logical expression specifying information that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • One or more conversion rule information pairs that are pairs of Policy information for specifying which of the attribute conversion
  • the attribute information (
  • the encryption unit of the encryption device uses the first attribute information or the first logical information, the public key of the key generation device, and plaintext, and encrypts corresponding to the plaintext according to a function encryption algorithm.
  • the second propositional logic information acquisition unit of the key generation device responds to the user of the decryption device using the other conversion rule information paired with the one conversion rule information specified by the policy information.
  • An encryption communication method comprising: a decryption step in which a decryption unit of the decryption device performs decryption processing on the encryption information according to a function encryption algorithm using the decryption key.
  • a cryptographic communication method in a cryptographic system including at least one or a plurality of encryption devices, one or a plurality of key generation devices, and one or a plurality of decryption devices, and using function encryption,
  • a secret key and a public key corresponding to the secret key are predetermined for each of the key generation devices,
  • Information hereinafter referred to as attribute conversion rule information
  • attribute specifying information a logical expression that specify a conversion rule for converting attribute specifying information
  • attribute specifying information attribute specifying information
  • attribute specifying information a logical expression that specify a conversion rule for converting attribute specifying information into attribute information used in the function encryption algorithm
  • Information hereinafter referred to as logical expression conversion rule information
  • logical expression specifying information that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • One or more conversion rule information pairs that are pairs of Policy information for specifying which of the attribute conversion rule information and the logical expression conversion rule information
  • the attribute information (
  • the encryption unit of the encryption device uses the first attribute information or the first logical information, the public key of the key generation device, and plaintext, and encrypts corresponding to the plaintext according to a function encryption algorithm.
  • the second propositional logic information acquisition unit of the decoding device corresponds to the user of the decoding device using the other conversion rule information paired with the one conversion rule information specified by the policy information.
  • An encryption communication method comprising: a decryption step in which a decryption unit of the decryption device performs decryption processing on the encryption information according to a function encryption algorithm using the decryption key.
  • the encryption step includes a ciphertext generation step for obtaining a ciphertext obtained by encrypting a plaintext with the common key by the encryption unit,
  • the decryption unit uses the second decryption process of the ciphertext using the common key obtained in the decryption process or the information used for generating the common key obtained in the decryption process.
  • Including a second decryption step of performing a second decryption process of the ciphertext using the generated common key Cryptographic communication method.
  • a user information transmission step in which the transmission unit of the decryption device transmits the attribute designation information or the logical expression designation information corresponding to the user of the decryption device to the key generation device;
  • An encryption communication method comprising: a user information receiving step in which a receiving unit of the key generation device receives the attribute designation information or the logical expression designation information corresponding to the user from the decryption device.
  • the cryptographic system includes one or more user information management devices including a storage unit that stores the attribute designation information and / or the logical formula designation information corresponding to the user,
  • An encryption communication method comprising: a user information acquisition step in which a user information acquisition unit of the key generation device acquires the attribute specification information or the logical expression specification information corresponding to a user of the decryption device from the user information management device.
  • the cryptographic system includes one or a plurality of conversion rule information pair management devices including a storage unit that stores the conversion rule information pairs corresponding to the key generation devices, A conversion rule information pair acquisition unit in which the conversion rule information pair acquisition unit of the encryption device acquires the conversion rule information pair from the conversion rule information pair management device; The encryption communication method which has the conversion rule information pair acquisition step in which the conversion rule information pair acquisition part of the said decoding apparatus acquires the said conversion rule information pair from the said conversion rule information pair management apparatus.
  • the key generation means that the policy information is identified by only the attribute conversion rule information, only the logical expression conversion rule information, or the attribute conversion rule information and the logical expression conversion rule information. Predetermined for each device, Cryptographic communication method.
  • the public key is the original set of modules V on K
  • the secret key is the original set of dual modules V * of the module V
  • the decryption key is an element of the dual module V *
  • the encryption unit performs an operation of performing scalar multiplication on the element of the public key using a component of the first attribute information as a coefficient, or the first logical information for the element of the public key.
  • the above encryption information is obtained by performing an operation including an operation of performing a scalar multiplication with a component of
  • the key generation unit performs an operation of performing scalar multiplication on the element of the secret key with a coefficient of the component of the second logical information as a coefficient, or the second attribute information for the element of the secret key.
  • the above-mentioned decryption key is obtained by performing an operation including an operation of performing scalar multiplication with the component of The operation used for the decryption process of the decryption unit has bilinearity, and the result of the operation is obtained based on the bilinearity, the first logical information extracted from the encryption information and the decryption key, and the It is configured to depend on the second attribute information or the result of the standard inner product of the first attribute information and the second logical information.
  • a secret key and a public key corresponding to the secret key are predetermined for each of the key generation devices, Information (hereinafter referred to as attribute conversion rule information) and a logical expression that specify a conversion rule for converting attribute specifying information (hereinafter referred to as attribute specifying information) into attribute information used in the function encryption algorithm Information (hereinafter referred to as logical expression conversion rule information) that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • attribute conversion rule information Information
  • logical expression conversion rule information that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • One or more conversion rule information pairs that are pairs of Policy information for specifying which of the attribute conversion rule information and the logical expression conversion rule information is predetermined is an encryption device in an encryption system using function encryption, Of the conversion rule information for attribute and the conversion rule information for logical expression included in one conversion rule information pair selected from
  • a secret key and a public key corresponding to the secret key are predetermined for each of the key generation devices, Information (hereinafter referred to as attribute conversion rule information) and a logical expression that specify a conversion rule for converting attribute specifying information (hereinafter referred to as attribute specifying information) into attribute information used in the function encryption algorithm Information (hereinafter referred to as logical expression conversion rule information) that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • attribute conversion rule information Information
  • logical expression conversion rule information that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • One or more conversion rule information pairs that are pairs of Policy information for specifying which of the attribute conversion rule information and the logical expression conversion rule information is predetermined is an encryption device in an encryption system using function encryption, Of the conversion rule information for attribute and the conversion rule information for logical expression included in one conversion rule information pair selected from
  • a secret key and a public key corresponding to the secret key are predetermined for each of the key generation devices, Information (hereinafter referred to as attribute conversion rule information) and a logical expression that specify a conversion rule for converting attribute specifying information (hereinafter referred to as attribute specifying information) into attribute information used in the function encryption algorithm Information (hereinafter referred to as logical expression conversion rule information) that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • attribute information hereinafter referred to as logical expression specification information
  • Second attribute information or logical information (hereinafter referred to as second logical information), a second propositional logical information acquisition unit;
  • a key generation device comprising: a key generation unit that generates a decryption key used for decryption of the encryption information using the second attribute information or the second logical information and the secret key of the key generation device.
  • a secret key and a public key corresponding to the secret key are predetermined for each of the key generation devices, Information (hereinafter referred to as attribute conversion rule information) and a logical expression that specify a conversion rule for converting attribute specifying information (hereinafter referred to as attribute specifying information) into attribute information used in the function encryption algorithm Information (hereinafter referred to as logical expression conversion rule information) that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • attribute conversion rule information Information
  • logical expression conversion rule information that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • One or more conversion rule information pairs that are pairs of A key generation device in a cryptographic system using function encryption, in which policy information for specifying which of the attribute conversion rule information and the logical expression conversion rule information is predetermined, Attribute information generated from attribute designation information or logical expression designation information corresponding to the
  • a secret key and a public key corresponding to the secret key are predetermined for each of the key generation devices, Information (hereinafter referred to as attribute conversion rule information) and a logical expression that specify a conversion rule for converting attribute specifying information (hereinafter referred to as attribute specifying information) into attribute information used in the function encryption algorithm Information (hereinafter referred to as logical expression conversion rule information) that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • attribute conversion rule information Information
  • logical expression conversion rule information that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • One or more conversion rule information pairs that are pairs of Policy information for specifying which of the attribute conversion rule information and the logical expression conversion rule information is predetermined is a decryption device in an encryption system using function encryption, A decryption device including a decryption unit that performs decryption
  • a secret key and a public key corresponding to the secret key are predetermined for each of the key generation devices, Information (hereinafter referred to as attribute conversion rule information) and a logical expression that specify a conversion rule for converting attribute specifying information (hereinafter referred to as attribute specifying information) into attribute information used in the function encryption algorithm Information (hereinafter referred to as logical expression conversion rule information) that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • attribute information hereinafter referred to as logical expression specification information
  • Second attribute information or logical information (hereinafter referred to as second logical information), a second propositional logical information acquisition unit;
  • a decryption device including a decryption unit that performs decryption processing on encryption information generated by the encryption device in accordance with a function encryption algorithm using the decryption key generated by the key generation device.
  • a computer-readable storage medium storing at least one of the program described in item 32, the program described in item 33, and the program described in item 34.
  • An encryption communication method in an encryption system including at least one or a plurality of encryption devices, one or a plurality of key generation devices, and a plurality of decryption devices, and using function encryption,
  • a secret key and a public key corresponding to the secret key are predetermined for each of the key generation devices,
  • Information hereinafter referred to as attribute conversion rule information
  • attribute specifying information a logical expression that specify a conversion rule for converting attribute specifying information
  • attribute specifying information a logical expression that specify a conversion rule for converting attribute specifying information into attribute information used in the function encryption algorithm
  • Information hereinafter referred to as logical expression conversion rule information
  • logical expression conversion rule information that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • One or more conversion rule information pairs that are pairs of Policy information for specifying which of the attribute conversion rule information and the logical expression conversion rule information is predetermined
  • the attribute information (
  • the encryption unit of the encryption device uses the first attribute information or the first logical information and the public key of the key generation device, and a common key, the common key, or the An encryption step for obtaining cryptographic information corresponding to the information used to generate the common key;
  • An encryption information transmission step in which the transmission unit of the encryption device transmits the encryption information to the first decryption device;
  • An encryption information receiving step in which a receiving unit of the first decryption device receives the encryption information from the encryption device;
  • the second propositional logic information acquisition unit of the key generation device uses the first decryption device by using the other conversion rule information paired with the one conversion rule information specified by the policy information.
  • the key generation unit of the key generation device generates a first decryption key used for decryption of the encryption information using the second attribute information or the second logical information and the secret key of the key generation device.
  • the key generation unit of the key generation device generates a second decryption key used for decryption of the encryption information, using the third attribute information or the third logical information and the secret key of the key generation device.
  • An encryption communication method in an encryption system including at least one or a plurality of encryption devices, one or a plurality of key generation devices, and a plurality of decryption devices, and using function encryption,
  • a secret key and a public key corresponding to the secret key are predetermined for each of the key generation devices,
  • Information hereinafter referred to as attribute conversion rule information
  • attribute specifying information a logical expression that specify a conversion rule for converting attribute specifying information
  • attribute specifying information a logical expression that specify a conversion rule for converting attribute specifying information into attribute information used in the function encryption algorithm
  • Information hereinafter referred to as logical expression conversion rule information
  • logical expression specifying information that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • One or more conversion rule information pairs that are pairs of Policy information for specifying which of the attribute conversion rule information and the logical expression conversion rule information is predetermined
  • the attribute information (
  • the encryption unit of the encryption device uses the first attribute information or the first logical information and the public key of the key generation device, and a common key, the common key, or the An encryption step for obtaining cryptographic information corresponding to the information used to generate the common key;
  • An encryption information transmission step in which the transmission unit of the encryption device transmits the encryption information to the first decryption device;
  • An encryption information receiving step in which a receiving unit of the first decryption device receives the encryption information from the encryption device;
  • the second propositional logic information acquisition unit of the first decoding device uses the other conversion rule information paired with the one conversion rule information specified by the policy information, and uses the other conversion rule information.
  • Second propositional logical information acquisition step for obtaining attribute information (hereinafter referred to as second attribute information) or logical information (hereinafter referred to as second logical information) from attribute designation information or logical expression designation information corresponding to the user
  • a logical information transmission step in which a transmission unit of the first decryption device transmits the second attribute information or the second logical information to the key generation device
  • a logical information receiving step in which a receiving unit of the key generation device receives the second attribute information or the second logical information from the first decryption device;
  • the key generation unit of the key generation device generates a first decryption key used for decryption of the encryption information using the second attribute information or the second logical information and the secret key of the key generation device.
  • Third propositional logical information acquisition step for obtaining attribute information (hereinafter referred to as third attribute information) or logical information (hereinafter referred to as third logical information) from attribute designation information or logical expression designation information corresponding to the user
  • a logical information transmission step in which a transmission unit of the second decryption device transmits the third attribute information or the third logical information to the key generation device
  • a logical information receiving step in which a receiving unit of the key generation device receives the third attribute information or the third logical information from the second decryption device;
  • the key generation unit of the key generation device generates a second decryption key used for decryption of the encryption information, using the third attribute information or the third logical information and the secret key of the key generation device.
  • a cryptographic communication method comprising:
  • An encryption communication method in an encryption system including at least one or a plurality of encryption devices, one or a plurality of key generation devices, and a plurality of decryption devices, and using function encryption,
  • a secret key and a public key corresponding to the secret key are predetermined for each of the key generation devices,
  • Information hereinafter referred to as attribute conversion rule information
  • a logical expression that specify a conversion rule for converting attribute specifying information (hereinafter referred to as attribute specifying information) into attribute information used in the function encryption algorithm
  • Information hereinafter referred to as logical expression conversion rule information) that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • One or more conversion rule information pairs that are pairs of Policy information for specifying which of the attribute conversion rule information and the logical expression conversion rule information is predetermined
  • the first propositional logic information acquisition unit of the encryption apparatus includes the attribute conversion rule information and the logical expression conversion rule information included in one conversion rule information
  • the attribute information (
  • the encryption unit of the encryption device uses the first attribute information or the first logical information, the public key of the key generation device, and plaintext, and encrypts corresponding to the plaintext according to a function encryption algorithm.
  • An encryption step for information An encryption information transmission step in which the transmission unit of the encryption device transmits the encryption information to the first decryption device;
  • An encryption information receiving step in which a receiving unit of the first decryption device receives the encryption information from the encryption device;
  • the second propositional logic information acquisition unit of the key generation device uses the first decryption device by using the other conversion rule information paired with the one conversion rule information specified by the policy information.
  • the key generation unit of the key generation device generates a first decryption key used for decryption of the encryption information using the second attribute information or the second logical information and the secret key of the key generation device.
  • the key generation unit of the key generation device generates a second decryption key used for decryption of the encryption information, using the third attribute information or the third logical information and the secret key of the key generation device.
  • An encryption communication method in an encryption system including at least one or a plurality of encryption devices, one or a plurality of key generation devices, and a plurality of decryption devices, and using function encryption,
  • a secret key and a public key corresponding to the secret key are predetermined for each of the key generation devices,
  • Information hereinafter referred to as attribute conversion rule information
  • attribute specifying information a logical expression that specify a conversion rule for converting attribute specifying information
  • attribute specifying information attribute specifying information
  • attribute specifying information a logical expression that specify a conversion rule for converting attribute specifying information into attribute information used in the function encryption algorithm
  • Information hereinafter referred to as logical expression conversion rule information
  • logical expression specifying information that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • One or more conversion rule information pairs that are pairs of Policy information for specifying which of the attribute conversion rule information and the logical expression conversion rule information is predetermined,
  • the attribute information (
  • the encryption unit of the encryption device uses the first attribute information or the first logical information, the public key of the key generation device, and plaintext, and encrypts corresponding to the plaintext according to a function encryption algorithm.
  • An encryption step for information An encryption information transmission step in which the transmission unit of the encryption device transmits the encryption information to the first decryption device;
  • An encryption information receiving step in which a receiving unit of the first decryption device receives the encryption information from the encryption device;
  • the second propositional logic information acquisition unit of the first decoding device uses the other conversion rule information paired with the one conversion rule information specified by the policy information, and uses the other conversion rule information.
  • Second propositional logical information acquisition step for obtaining attribute information (hereinafter referred to as second attribute information) or logical information (hereinafter referred to as second logical information) from attribute designation information or logical expression designation information corresponding to the user
  • a logical information transmission step in which a transmission unit of the first decryption device transmits the second attribute information or the second logical information to the key generation device
  • a logical information receiving step in which a receiving unit of the key generation device receives the second attribute information or the second logical information from the first decryption device;
  • the key generation unit of the key generation device generates a first decryption key used for decryption of the encryption information using the second attribute information or the second logical information and the secret key of the key generation device.
  • Third propositional logical information acquisition step for obtaining attribute information (hereinafter referred to as third attribute information) or logical information (hereinafter referred to as third logical information) from attribute designation information or logical expression designation information corresponding to the user
  • a logical information transmission step in which a transmission unit of the second decryption device transmits the third attribute information or the third logical information to the key generation device
  • a logical information receiving step in which a receiving unit of the key generation device receives the third attribute information or the third logical information from the second decryption device;
  • the key generation unit of the key generation device generates a second decryption key used for decryption of the encryption information, using the third attribute information or the third logical information and the secret key of the key generation device.
  • a cryptographic communication method comprising:
  • the encryption step includes a ciphertext generation step for obtaining a ciphertext obtained by encrypting a plaintext with the common key by the encryption unit,
  • the decryption unit uses the second decryption process of the ciphertext using the common key obtained in the decryption process or the information used for generating the common key obtained in the decryption process.
  • Including a second decryption step of performing a second decryption process of the ciphertext using the generated common key Cryptographic communication method.
  • a user information transmission step in which the transmission unit of the decryption device transmits the attribute designation information or the logical expression designation information corresponding to the user of the decryption device to the key generation device;
  • An encryption communication method comprising: a user information receiving step in which a receiving unit of the key generation device receives the attribute designation information or the logical expression designation information corresponding to the user from the decryption device.
  • the cryptographic system includes one or more user information management devices including a storage unit that stores the attribute designation information and / or the logical formula designation information corresponding to the user,
  • An encryption communication method comprising: a user information acquisition step in which a user information acquisition unit of the key generation device acquires the attribute specification information or the logical expression specification information corresponding to a user of the decryption device from the user information management device.
  • the cryptographic system includes one or a plurality of conversion rule information pair management devices including a storage unit that stores the conversion rule information pairs corresponding to the key generation devices, A conversion rule information pair acquisition unit in which the conversion rule information pair acquisition unit of the encryption device acquires the conversion rule information pair from the conversion rule information pair management device; The encryption communication method which has the conversion rule information pair acquisition step in which the conversion rule information pair acquisition part of the said decoding apparatus acquires the said conversion rule information pair from the said conversion rule information pair management apparatus.
  • the key generation means that the policy information is identified by only the attribute conversion rule information, only the logical expression conversion rule information, or the attribute conversion rule information and the logical expression conversion rule information. Predetermined for each device, Cryptographic communication method.
  • the public key is the original set of modules V on K
  • the secret key is the original set of dual modules V * of the module V
  • the decryption key is an element of the dual module V *
  • the encryption unit performs an operation of performing scalar multiplication on the element of the public key using a component of the first attribute information as a coefficient, or the first logical information for the element of the public key.
  • the above encryption information is obtained by performing an operation including an operation of performing a scalar multiplication with a component of
  • the key generation unit performs an operation of performing scalar multiplication on the element of the secret key with a coefficient of the component of the second logical information as a coefficient, or the second attribute information for the element of the secret key.
  • the above-mentioned decryption key is obtained by performing an operation including an operation of performing scalar multiplication with the component of The operation used for the decryption process of the decryption unit has bilinearity, and the result of the operation is obtained based on the bilinearity, the first logical information extracted from the encryption information and the decryption key, and the It is configured to depend on the second attribute information or the result of the standard inner product of the first attribute information and the second logical information.
  • a cryptographic system using functional encryption including at least one or a plurality of encryption devices, one or a plurality of key generation devices, and a plurality of decryption devices, A secret key and a public key corresponding to the secret key are predetermined for each of the key generation devices, Information (hereinafter referred to as attribute conversion rule information) and a logical expression that specify a conversion rule for converting attribute specifying information (hereinafter referred to as attribute specifying information) into attribute information used in the function encryption algorithm Information (hereinafter referred to as logical expression conversion rule information) that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • attribute conversion rule information Information
  • logical expression conversion rule information that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • One or more conversion rule information pairs that are pairs of Policy information for specifying which of the attribute conversion rule information and the logical expression
  • a cryptographic system using functional encryption including at least one or a plurality of encryption devices, one or a plurality of key generation devices, and a plurality of decryption devices, A secret key and a public key corresponding to the secret key are predetermined for each of the key generation devices, Information (hereinafter referred to as attribute conversion rule information) and a logical expression that specify a conversion rule for converting attribute specifying information (hereinafter referred to as attribute specifying information) into attribute information used in the function encryption algorithm Information (hereinafter referred to as logical expression conversion rule information) that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • attribute conversion rule information Information
  • logical expression conversion rule information that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • One or more conversion rule information pairs that are pairs of Policy information for specifying which of the attribute conversion rule information and the logical expression
  • a cryptographic system using functional encryption including at least one or a plurality of encryption devices, one or a plurality of key generation devices, and a plurality of decryption devices, A secret key and a public key corresponding to the secret key are predetermined for each of the key generation devices, Information (hereinafter referred to as attribute conversion rule information) and a logical expression that specify a conversion rule for converting attribute specifying information (hereinafter referred to as attribute specifying information) into attribute information used in the function encryption algorithm Information (hereinafter referred to as logical expression conversion rule information) that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • attribute conversion rule information Information
  • logical expression conversion rule information that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • One or more conversion rule information pairs that are pairs of Policy information for specifying which of the attribute conversion rule information and the logical expression
  • a cryptographic system using functional encryption including at least one or a plurality of encryption devices, one or a plurality of key generation devices, and a plurality of decryption devices, A secret key and a public key corresponding to the secret key are predetermined for each of the key generation devices, Information (hereinafter referred to as attribute conversion rule information) and a logical expression that specify a conversion rule for converting attribute specifying information (hereinafter referred to as attribute specifying information) into attribute information used in the function encryption algorithm Information (hereinafter referred to as logical expression conversion rule information) that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • attribute conversion rule information Information
  • logical expression conversion rule information that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • One or more conversion rule information pairs that are pairs of Policy information for specifying which of the attribute conversion rule information and the logical expression
  • the encryption unit of the encryption device also obtains a ciphertext obtained by encrypting plaintext with the common key,
  • the decryption unit of the decryption device generates the ciphertext second decryption process using the common key obtained by the decryption process or the information used to generate the common key obtained by the decryption process.
  • a secret key and a public key corresponding to the secret key are predetermined for each of the key generation devices, Information (hereinafter referred to as attribute conversion rule information) and a logical expression that specify a conversion rule for converting attribute specifying information (hereinafter referred to as attribute specifying information) into attribute information used in the function encryption algorithm Information (hereinafter referred to as logical expression conversion rule information) that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • attribute conversion rule information Information
  • logical expression conversion rule information that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • One or more conversion rule information pairs that are pairs of Policy information for specifying which of the attribute conversion rule information and the logical expression conversion rule information is predetermined is a decryption device in an encryption system using function encryption, Using a decryption key generated by the key generation device, a decrypti
  • a secret key and a public key corresponding to the secret key are predetermined for each of the key generation devices, Information (hereinafter referred to as attribute conversion rule information) and a logical expression that specify a conversion rule for converting attribute specifying information (hereinafter referred to as attribute specifying information) into attribute information used in the function encryption algorithm Information (hereinafter referred to as logical expression conversion rule information) that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • attribute information hereinafter referred to as logical expression specification information
  • Second attribute information or logical information (hereinafter referred to as second logical information), a second propositional logical information acquisition unit; Using a decryption key generated by the key generation device, a decryption unit that performs a decryption process on the encryption information generated by the encryption device in accordance with a function encryption algorithm; And a transfer unit that transfers the encryption information to one or more decryption devices other than the decryption device.
  • An encryption system using function encryption at least one or more encryption devices, one or more key generation devices, one or more decryption devices, and one or more content server devices Including A secret key and a public key corresponding to the secret key are predetermined for each of the key generation devices, Information (hereinafter referred to as attribute conversion rule information) and a logical expression that specify a conversion rule for converting attribute specifying information (hereinafter referred to as attribute specifying information) into attribute information used in the function encryption algorithm Information (hereinafter referred to as logical expression conversion rule information) that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • attribute conversion rule information Information
  • logical expression conversion rule information that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • One or more conversion rule information pairs that are pairs of Policy information for specifying which of the attribute conversion rule information and the logical expression conversion rule information is
  • An encryption system using function encryption at least one or more encryption devices, one or more key generation devices, one or more decryption devices, and one or more content server devices Including A secret key and a public key corresponding to the secret key are predetermined for each of the key generation devices, Information (hereinafter referred to as attribute conversion rule information) and a logical expression that specify a conversion rule for converting attribute specifying information (hereinafter referred to as attribute specifying information) into attribute information used in the function encryption algorithm Information (hereinafter referred to as logical expression conversion rule information) that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • attribute conversion rule information Information
  • logical expression conversion rule information that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • One or more conversion rule information pairs that are pairs of Policy information for specifying which of the attribute conversion rule information and the logical expression conversion rule information is
  • the browser unit performs an acquisition request process of the encrypted content to the content server device, displays the content decrypted from the encrypted content
  • the relay unit transmits the acquisition request from the browser unit to the content server device, and uses the decryption key sent from the key generation device to acquire the above-mentioned acquired from the content server device in accordance with a function encryption algorithm.
  • the key generation device A key generation unit that generates a decryption key used for decryption of the encryption information using the second attribute information or the second logical information and the secret key of the key generation device; Crypto system.
  • An encryption system using function encryption at least one or more encryption devices, one or more key generation devices, one or more decryption devices, and one or more content server devices Including A secret key and a public key corresponding to the secret key are predetermined for each of the key generation devices, Information (hereinafter referred to as attribute conversion rule information) and a logical expression that specify a conversion rule for converting attribute specifying information (hereinafter referred to as attribute specifying information) into attribute information used in the function encryption algorithm Information (hereinafter referred to as logical expression conversion rule information) that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • attribute conversion rule information Information
  • logical expression conversion rule information that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • One or more conversion rule information pairs that are pairs of Policy information for specifying which of the attribute conversion rule information and the logical expression conversion rule information is
  • An encryption system using function encryption at least one or more encryption devices, one or more key generation devices, one or more decryption devices, and one or more content server devices Including A secret key and a public key corresponding to the secret key are predetermined for each of the key generation devices, Information (hereinafter referred to as attribute conversion rule information) and a logical expression that specify a conversion rule for converting attribute specifying information (hereinafter referred to as attribute specifying information) into attribute information used in the function encryption algorithm Information (hereinafter referred to as logical expression conversion rule information) that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • attribute conversion rule information Information
  • logical expression conversion rule information that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • One or more conversion rule information pairs that are pairs of Policy information for specifying which of the attribute conversion rule information and the logical expression conversion rule information is
  • the browser unit performs an acquisition request process of the encrypted content to the content server device, displays the content decrypted from the encrypted content
  • the relay unit transmits the acquisition request from the browser unit to the content server device, and uses the decryption key sent from the key generation device to acquire the above-mentioned acquired from the content server device according to a function encryption algorithm Perform decryption processing on encrypted content
  • the key generation device A key generation unit that generates a decryption key used for decrypting the encrypted content using the second attribute information or the second logical information and the secret key of the key generation device; Crypto system.
  • the attribute designation information and / or the logical expression designation information corresponding to the user is stored in a storage medium
  • the decoding device includes a user information acquisition unit that acquires the attribute designation information or the logical expression designation information corresponding to a user of the decoding device from the storage medium.
  • the attribute designation information or the logical expression designation information corresponding to the user of the decryption device used by the key generation device is information acquired from the decryption device.
  • the cryptographic system further includes one or more user information management devices, Each of the user information management devices includes a storage unit that stores the attribute designation information and / or the logical expression designation information corresponding to the user,
  • the key generation device includes a user information acquisition unit that acquires the attribute specification information or the logical expression specification information corresponding to a user of the decryption device from the user information management device.
  • the cryptographic system further includes one or more conversion rule information pair management devices, Each conversion rule information pair management device includes a storage unit that stores each conversion rule information pair corresponding to each key generation device,
  • the encryption device includes a conversion rule information pair acquisition unit that acquires the conversion rule information pair from the conversion rule information pair management device,
  • the decryption device includes a conversion rule information pair acquisition unit that acquires the conversion rule information pair from the conversion rule information pair management device.
  • Each of the key generation devices further includes a storage unit that stores each of the conversion rule information pairs corresponding to the key generation device
  • Each of the encryption devices further includes a storage unit that stores each of the conversion rule information pairs corresponding to at least one of the key generation devices
  • Each of the decryption devices further includes a storage unit that stores each of the conversion rule information pairs corresponding to at least one or more of the key generation devices.
  • the key generation means that the policy information is identified by only the attribute conversion rule information, only the logical expression conversion rule information, or the attribute conversion rule information and the logical expression conversion rule information. Predetermined for each device, Crypto system.
  • the public key is the original set of modules V on K
  • the secret key is the original set of dual modules V * of the module V
  • the decryption key is an element of the dual module V *
  • the encryption unit performs an operation of performing scalar multiplication on the element of the public key with the component of the first attribute information as a coefficient, or uses the component of the first logical information as a coefficient with respect to the element of the public key.
  • the above encryption information is obtained by performing an operation including an operation for performing scalar multiplication.
  • the key generation unit performs an operation of performing scalar multiplication on the element of the secret key with the component of the second logical information as a coefficient, or uses the component of the second attribute information on the element of the secret key as a coefficient.
  • Obtaining the decryption key by performing an operation including an operation to perform scalar multiplication,
  • the operation used for the decryption process of the decryption unit has bilinearity, and the result of the operation is the first information extracted from the encryption information or the encrypted content and the decryption key based on the bilinearity.
  • 1 logical information and the second attribute information or configured to depend on a result of a standard inner product of the first attribute information and the second logical information.
  • a secret key and a public key corresponding to the secret key are predetermined for each of the key generation devices, Information (hereinafter referred to as attribute conversion rule information) and a logical expression that specify a conversion rule for converting attribute specifying information (hereinafter referred to as attribute specifying information) into attribute information used in the function encryption algorithm Information (hereinafter referred to as logical expression conversion rule information) that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • attribute conversion rule information Information
  • logical expression conversion rule information that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • One or more conversion rule information pairs that are pairs of Policy information for specifying which of the attribute conversion rule information and the logical expression conversion rule information is predetermined,
  • the first propositional logic information acquisition unit of the encryption apparatus includes the attribute conversion rule information and the logical expression conversion rule information included in one conversion rule information pair selected
  • first logical information a first propositional logical information acquisition step for obtaining first attribute information
  • first logical information logical information
  • the encryption unit of the encryption device uses the first attribute information or the first logical information, the public key of the key generation device, and the content, in accordance with a function encryption algorithm, and the common key
  • An encryption step for obtaining encryption information corresponding to a key or information used to generate the common key, and encrypted content obtained by encrypting the content with the common key A transmission step in which the transmission unit of the encryption device transmits the encrypted content and the encryption information corresponding to the encrypted content to the content server device;
  • An acquisition request processing step in which the browser unit of the decryption device performs an acquisition request processing of the encrypted content to the content server
  • a transmission unit of the key generation device a decryption key transmission step of transmitting the decryption key to the decryption device;
  • a decryption key receiving step in which a receiving unit of the decryption device receives the decryption key from the key generation device;
  • the relay unit of the decryption device uses the decryption key to decrypt the encrypted information acquired from the content server device in accordance with a function encryption algorithm, and uses the common key obtained by the decryption process, A decryption step for performing a content acquisition process for decrypting the encrypted content acquired from the content server device;
  • An encryption communication method comprising: a display step in which a browser unit of the decryption device displays content decrypted from the encrypted content.
  • a secret key and a public key corresponding to the secret key are predetermined for each of the key generation devices, Information (hereinafter referred to as attribute conversion rule information) and a logical expression that specify a conversion rule for converting attribute specifying information (hereinafter referred to as attribute specifying information) into attribute information used in the function encryption algorithm Information (hereinafter referred to as logical expression conversion rule information) that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • attribute conversion rule information Information
  • logical expression conversion rule information that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • One or more conversion rule information pairs that are pairs of Policy information for specifying which of the attribute conversion rule information and the logical expression conversion rule information is predetermined,
  • the first propositional logic information acquisition unit of the encryption apparatus includes the attribute conversion rule information and the logical expression conversion rule information included in one conversion rule information pair selected
  • first logical information a first propositional logical information acquisition step for obtaining first attribute information
  • first logical information logical information
  • the encryption unit of the encryption device uses the first attribute information or the first logical information, the public key of the key generation device, and the content, in accordance with a function encryption algorithm, and the common key
  • An encryption step for obtaining encryption information corresponding to a key or information used to generate the common key, and encrypted content obtained by encrypting the content with the common key A transmission step in which the transmission unit of the encryption device transmits the encrypted content and the encryption information corresponding to the encrypted content to the content server device;
  • An acquisition request processing step in which the browser unit of the decryption device performs an acquisition request processing of the encrypted content to the content server
  • a second propositional logical information acquisition step for obtaining attribute information (hereinafter referred to as second attribute information) or logical information (hereinafter referred to as second logical information) from the attribute designation information or logical expression designation information;
  • a logical information transmission step in which the transmission unit of the decryption device transmits the second attribute information or the second logical information to the key generation device;
  • a logical information receiving step in which a receiving unit of the key generation device receives the second attribute information or the second logical information from the decryption device;
  • a key generation step in which the key generation unit of the key generation device generates a decryption key used for decryption of the encryption information using the second attribute information or the second logical information and the secret key of the key generation device.
  • a transmission unit of the key generation device a decryption key transmission step of transmitting the decryption key to the decryption device;
  • a decryption key receiving step in which a receiving unit of the decryption device receives the decryption key from the key generation device;
  • the relay unit of the decryption device uses the decryption key to decrypt the encrypted information acquired from the content server device in accordance with a function encryption algorithm, and uses the common key obtained by the decryption process, A decryption step for performing a content acquisition process for decrypting the encrypted content acquired from the content server device;
  • An encryption communication method comprising: a display step in which a browser unit of the decryption device displays content decrypted from the encrypted content.
  • a secret key and a public key corresponding to the secret key are predetermined for each of the key generation devices, Information (hereinafter referred to as attribute conversion rule information) and a logical expression that specify a conversion rule for converting attribute specifying information (hereinafter referred to as attribute specifying information) into attribute information used in the function encryption algorithm Information (hereinafter referred to as logical expression conversion rule information) that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • attribute conversion rule information Information
  • logical expression conversion rule information that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • One or more conversion rule information pairs that are pairs of Policy information for specifying which of the attribute conversion rule information and the logical expression conversion rule information is predetermined,
  • the first propositional logic information acquisition unit of the encryption apparatus includes the attribute conversion rule information and the logical expression conversion rule information included in one conversion rule information pair selected
  • the attribute information (
  • the encryption unit of the encryption device uses the first attribute information or the first logical information, the public key of the key generation device, and the content to encrypt the content according to a function encryption algorithm.
  • An encryption step for encrypted content A transmission step in which the transmission unit of the encryption device transmits the encrypted content to the content server device; A storage step in which the storage unit of the content server device stores the encrypted content sent from each of the encryption devices; An acquisition request processing step in which the browser unit of the decryption device performs an acquisition request processing of the encrypted content to the content server device; A transmission step in which the relay unit of the decoding device transmits the acquisition request from the browser unit to the content server device; A transmission step in which the transmission unit of the content server device transmits the encrypted content to the decryption device in response to a request from the decryption device; A reception step of receiving the encrypted content from the content server device by a receiving unit of the decryption device; The second propositional logic information acquisition unit of the key generation device responds to the user of the decryption device using the other conversion rule information paired with the one conversion rule information specified by the policy information.
  • An encryption communication method comprising: a display step in which
  • a secret key and a public key corresponding to the secret key are predetermined for each of the key generation devices, Information (hereinafter referred to as attribute conversion rule information) and a logical expression that specify a conversion rule for converting attribute specifying information (hereinafter referred to as attribute specifying information) into attribute information used in the function encryption algorithm Information (hereinafter referred to as logical expression conversion rule information) that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • attribute conversion rule information Information
  • logical expression conversion rule information that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • One or more conversion rule information pairs that are pairs of Policy information for specifying which of the attribute conversion rule information and the logical expression conversion rule information is predetermined,
  • the first propositional logic information acquisition unit of the encryption apparatus includes the attribute conversion rule information and the logical expression conversion rule information included in one conversion rule information pair selected
  • the attribute information (
  • the encryption unit of the encryption device uses the first attribute information or the first logical information, the public key of the key generation device, and the content to encrypt the content according to a function encryption algorithm.
  • An encryption step for encrypted content A transmission step in which the transmission unit of the encryption device transmits the encrypted content to the content server device; A storage step in which the storage unit of the content server device stores the encrypted content sent from each of the encryption devices; An acquisition request processing step in which the browser unit of the decryption device performs an acquisition request processing of the encrypted content to the content server device; A transmission step in which the relay unit of the decoding device transmits the acquisition request from the browser unit to the content server device; A transmission step in which the transmission unit of the content server device transmits the encrypted content to the decryption device in response to a request from the decryption device; A reception step of receiving the encrypted content from the content server device by a receiving unit of the decryption device; The second propositional logic information acquisition unit of the decoding device corresponds to the user of the decoding device using the other conversion rule information paired with the one conversion rule information specified by the policy information.
  • a common key At least in accordance with a function encryption algorithm, a common key, the common key or encryption information corresponding to information used to generate the common key, and encrypted content obtained by encrypting the content with the common key, or one or A plurality of encryption devices, one or a plurality of key generation devices, one or a plurality of decryption devices, and one or a plurality of content server devices storing the encrypted content and the encryption information.
  • a secret key and a public key corresponding to the secret key are predetermined for each of the key generation devices, Information (hereinafter referred to as attribute conversion rule information) and a logical expression that specify a conversion rule for converting attribute specifying information (hereinafter referred to as attribute specifying information) into attribute information used in the function encryption algorithm Information (hereinafter referred to as logical expression conversion rule information) that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • attribute conversion rule information Information
  • logical expression conversion rule information that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • One or more conversion rule information pairs that are pairs of Policy information for specifying which of the attribute conversion rule information and the logical expression conversion rule information is predetermined is a decryption device in an encryption system using function encryption, Including browser part and relay part,
  • the browser unit performs an acquisition request process of the
  • attribute conversion rule information Information
  • attribute specifying information a logical expression that specify a conversion rule for converting attribute specifying information
  • attribute specifying information a conversion rule for
  • a secret key and a public key corresponding to the secret key are predetermined for each of the key generation devices,
  • Information hereinafter referred to as attribute conversion rule information
  • attribute specifying information a logical expression that specify a conversion rule for converting attribute specifying information
  • attribute specifying information attribute specifying information
  • attribute specifying information attribute specifying information
  • Information hereinafter referred to as logical expression conversion rule information
  • logical expression conversion rule information that defines a conversion rule for converting information (hereinafter referred to as logical expression specifying information) into logical information used in the function encryption algorithm
  • One or more conversion rule information pairs that are pairs of A content server apparatus in an encryption system using function encryption, in which policy information for specifying which of the attribute conversion rule information and the logical expression conversion rule information is predetermined,
  • a storage unit for storing the encrypted content sent
  • a computer-readable storage medium storing the program according to item 21 and / or the program according to item 22.

Abstract

 柔軟に運用可能であって関数暗号に依拠する暗号通信技術を提供する。属性指定情報を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している属性用変換規則情報と論理式指定情報を関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している論理式用変換規則情報とのペアである変換規則情報ペアが予め定められている。この変換規則情報ペアに含まれる一方の変換規則情報を用いて入力情報から第1属性情報または第1論理情報が得られる。この情報が暗号化処理に用いられる。復号処理では、他方の変換規則情報を用いて利用者情報から得られた第2属性情報または第2論理情報を用いて作られた復号鍵を使って、暗号情報の復号処理が行われる。

Description

暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体
 本発明は、暗号通信技術に関し、より詳しくは、関数暗号に依拠する暗号通信技術に関する。
 これまで暗号技術として、例えば共通鍵暗号、公開鍵暗号などが知られている。
 共通鍵暗号は、メッセージの送信者が共通鍵でメッセージを暗号化して暗号化メッセージを求め、受信者が送信者と同じ共通鍵を使って暗号化メッセージを復号してメッセージを得る方式である。このため、送信者と受信者との間で安全に共通鍵を所有する手続きが必要になる。
 公開鍵暗号は、(1)受信者が一意の公開鍵とそれに対応する一意の秘密鍵を用意し、(2)送信者は受信者の公開鍵でメッセージを暗号化して暗号化メッセージを求め、(3)受信者がその秘密鍵で暗号化メッセージを復号してメッセージを得る方式である。このため、送信者がメッセージを暗号化する前に受信者の公開鍵を入手する必要がある。つまり、受信者が公開鍵を生成しないと暗号化できない。
 また、近年、述語暗号が提案されている。述語暗号は、送信者による暗号化の過程で暗号メッセージに或る情報Xが組み込まれ、当該情報Xと特定の関係を満たす情報Yを持つ受信者が、暗号メッセージの復号や、メッセージを知ることなくメッセージに関する情報を取得することができる方式である。送信者は、暗号化の際に、必ずしも受信者の持つ情報Yを知っている必要はない。また、送信者は、必ずしも、暗号化する前に受信者を特定している必要もない。送信者は、自由に、能動的に、主導権を持って、情報Xを決めることができる。講学的に、情報Xは属性I(変数)として、情報Yは述語f(命題関数、ブール関数)として表される。復号に際し、情報Xと情報Yとが満たすべき特定の関係は、例えばf(I)=Trueである。
NTT情報流通プラットフォーム研究所情報セキュリティプロジェクト、"NTTの暗号要素技術"、インターネット〈URL: http://info.isl.ntt.co.jp/crypt/camellia/technology.html〉[平成22年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の観点による各実施形態に関る暗号通信方法の処理手順を示す図(その1)。 第1の観点による各実施形態に関る暗号通信方法の処理手順を示す図(その2)。 第1の観点による各実施形態に関る暗号通信方法の処理手順を示す図(その3)。 第1の観点による第1実施形態に関る暗号化装置の機能ブロック図。 第1の観点による第1実施形態に関る暗号化処理の処理手順の詳細を示す図。 第1の観点による第1実施形態に関る復号装置の機能ブロック図。 第1の観点による第1実施形態に関る復号処理の処理手順の詳細を示す図。 第1の観点による第1実施形態に関る鍵生成装置の機能ブロック図。 第1の観点による第1実施形態に関る鍵生成処理の処理手順の詳細を示す図。 入力情報または利用者情報からポリシーに対応するスキーマを用いて、属性情報または述語情報を得ることを図解した図。 属性指定情報から属性用スキーマを用いて、属性情報を得ることを図解した図。 述語指定情報から述語用スキーマを用いて、述語情報を得ることを図解した図。 ポリシーの例を示す図。 復号鍵テーブルの例を示す図。 認証テーブルの例を示す図。 利用者情報テーブルの例を示す図。 第1の観点による第2実施形態に関る復号装置の機能ブロック図。 第1の観点による第2実施形態に関る復号処理の処理手順の詳細を示す図。 第1の観点による第2実施形態に関る鍵生成装置の機能ブロック図。 第1の観点による第2実施形態に関る鍵生成処理の処理手順の詳細を示す図。 第1の観点による第3実施形態に関る暗号化装置の機能ブロック図。 第1の観点による第3実施形態に関る暗号化処理の処理手順の詳細を示す図。 第1の観点による第3実施形態に関る復号装置の機能ブロック図。 第1の観点による第3実施形態に関る復号処理の処理手順の詳細を示す図。 第1の観点による第4実施形態に関る復号装置の機能ブロック図。 第1の観点による第4実施形態に関る復号処理の処理手順の詳細を示す図。 第2の観点による各実施形態に関る暗号システムの構成図。 第2の観点による各実施形態に関る暗号通信方法の処理手順を示す図(その1)。 第2の観点による各実施形態に関る暗号通信方法の処理手順を示す図(その2)。 第2の観点による各実施形態に関る暗号通信方法の処理手順を示す図(その3)。 第2の観点による各実施形態に関る暗号通信方法の処理手順を示す図(その4)。 第2の観点による第1実施形態に関る暗号化装置の機能ブロック図。 第2の観点による第1実施形態に関る暗号化処理の処理手順の詳細を示す図。 第2の観点による第1実施形態に関る第1の復号装置の機能ブロック図。 第2の観点による第1実施形態に関る第1の復号処理の処理手順の詳細を示す図。 第2の観点による第1実施形態に関る第2の復号装置の機能ブロック図。 第2の観点による第1実施形態に関る第2の復号処理の処理手順の詳細を示す図。 第2の観点による第1実施形態に関る鍵生成装置の機能ブロック図。 第2の観点による第1実施形態に関る鍵生成処理の処理手順(第1の復号装置に対応)の詳細を示す図。 第2の観点による第1実施形態に関る鍵生成処理の処理手順(第2の復号装置に対応)の詳細を示す図。 第2の観点による第2実施形態に関る第1の復号装置の機能ブロック図。 第2の観点による第2実施形態に関る第1の復号処理の処理手順の詳細を示す図。 第2の観点による第2実施形態に関る第2の復号装置の機能ブロック図。 第2の観点による第2実施形態に関る第2の復号処理の処理手順の詳細を示す図。 第2の観点による第2実施形態に関る鍵生成装置の機能ブロック図。 第2の観点による第2実施形態に関る鍵生成処理の処理手順(第1の復号装置に対応)の詳細を示す図。 第2の観点による第2実施形態に関る鍵生成処理の処理手順(第2の復号装置に対応)の詳細を示す図。 第2の観点による第3実施形態に関る暗号化装置の機能ブロック図。 第2の観点による第3実施形態に関る暗号化処理の処理手順の詳細を示す図。 第2の観点による第3実施形態に関る第1の復号装置の機能ブロック図。 第2の観点による第3実施形態に関る第1の復号処理の処理手順の詳細を示す図。 第2の観点による第3実施形態に関る第2の復号装置の機能ブロック図。 第2の観点による第3実施形態に関る第2の復号処理の処理手順の詳細を示す図。 第2の観点による第4実施形態に関る第1の復号装置の機能ブロック図。 第2の観点による第4実施形態に関る第1の復号処理の処理手順の詳細を示す図。 第2の観点による第4実施形態に関る第2の復号装置の機能ブロック図。 第2の観点による第4実施形態に関る第2の復号処理の処理手順の詳細を示す図。 電子メールシステムやインスタントメッセージングシステムとして実施される場合における、送受信されるデータの構成の例を示す図。 第3の観点による各実施形態に関る暗号システムの構成図。 第3の観点による各実施形態に関る暗号通信方法の処理手順を示す図(その1)。 第3の観点による各実施形態に関る暗号通信方法の処理手順を示す図(その2)。 第3の観点による各実施形態に関る暗号通信方法の処理手順を示す図(その3)。 第3の観点による各実施形態に関る暗号通信方法の処理手順を示す図(その4)。 第3の観点による第1実施形態に関る暗号化装置の機能ブロック図。 第3の観点による第1実施形態に関る暗号化処理の処理手順の詳細を示す図。 第3の観点による第1実施形態に関るコンテンツサーバ装置の機能ブロック図。 第3の観点による第1実施形態に関る復号装置の機能ブロック図。 第3の観点による第1実施形態に関る復号処理の処理手順の詳細を示す図。 第3の観点による第1実施形態に関る鍵生成装置の機能ブロック図。 第3の観点による第1実施形態に関る鍵生成処理の処理手順の詳細を示す図。 第3の観点による第2実施形態に関る復号装置の機能ブロック図。 第3の観点による第2実施形態に関る復号処理の処理手順の詳細を示す図。 第3の観点による第2実施形態に関る鍵生成装置の機能ブロック図。 第3の観点による第2実施形態に関る鍵生成処理の処理手順の詳細を示す図。 第3の観点による第3実施形態に関る暗号化装置の機能ブロック図。 第3の観点による第3実施形態に関る暗号化処理の処理手順の詳細を示す図。 第3の観点による第3実施形態に関る復号装置の機能ブロック図。 第3の観点による第3実施形態に関る復号処理の処理手順の詳細を示す図。 第3の観点による第4実施形態に関る復号装置の機能ブロック図。 第3の観点による第4実施形態に関る復号処理の処理手順の詳細を示す図。 コンテンツ配信システムとして実施される場合における、送受信されるデータの構成の例を示す図。 命題変数PRO(1),PRO(2)と命題変数PRO(3)の否定¬PRO(3)と論理記号∧,∨とを含む標準形論理式PRO(1)∧PRO(2)∨¬PRO(3)を表現する木構造データを例示する図。 命題変数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(λ)はλで決まる多項式長を表している。
Figure JPOXMLDOC01-appb-M000001
 特に、或る関係R(・,・)が存在し、式(B)で表されるタイプの関数fi,j(x)を持つ関数暗号は様々な暗号を包含している(⊥は正常に復号できなかったことを表す記号である)。
Figure JPOXMLDOC01-appb-M000002
 例えばIDベース暗号は式(C)で表される関数fi,j(x)を持つ関数暗号と定義することができる。
Figure JPOXMLDOC01-appb-M000003
 より高度な関係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も秘匿する事を属性秘匿と云う。
Figure JPOXMLDOC01-appb-M000004
 鍵識別子iを述語変数、受信者識別子jを述語のインスタンスとして式(E)で表される関係R(・,・)を持つ関数暗号は暗号文ポリシー関数暗号と呼ばれる。このとき、暗号文が平文xだけでなく述語jも秘匿する事を述語秘匿と云う。
Figure JPOXMLDOC01-appb-M000005
 属性秘匿を持つ鍵ポリシー関数暗号あるいは述語秘匿を持つ暗号文ポリシー関数暗号を述語暗号と呼ばれる(参考文献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上で定義された楕円曲線を表す。Eはアフィン(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点に対して楕円加算と呼ばれる二項演算+及び楕円曲線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で定義された演算をχ回施すことを意味し、Ω12∈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ψ12)ν・κ    …(2)
 [非退化性]すべてのΓ1∈G1 n(ψ)+ζ(ψ),Γ2∈G2 n(ψ)+ζ(ψ)を巡回群GTの単位元に写す写像ではない。
 [計算可能性]あらゆる
   Γ1∈G1 n(ψ)+ζ(ψ),Γ2∈G2 n(ψ)+ζ(ψ)     …(3)
についてeψ12)を効率的に計算するアルゴリズムが存在する。
 本形態では、巡回群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(Ω12)ν・κ   …(6)
 [非退化性]すべての
   Ω1∈G1,Ω2∈G2     …(7)
を巡回群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, 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(ψ)は、
Figure JPOXMLDOC01-appb-M000006

となる。
 A*(ψ):基底ベクトルai *(ψ)(i=1,...,n(ψ)+ζ(ψ))を要素とするn(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列の行列を表す。例えば、基底ベクトルai *(ψ)(i=1,...,n(ψ)+ζ(ψ))が式(9)によって表現される場合、行列A*(ψ)は、
Figure JPOXMLDOC01-appb-M000007

となる。
 X(ψ):X(ψ)は有限体Fqの元を要素とするn(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列の行列を表す。行列X(ψ)は基底ベクトルai(ψ)の座標変換に用いられる。行列X(ψ)のi行j列(i=1,...,n(ψ)+ζ(ψ),j=1,...,n(ψ)+ζ(ψ))の要素をχi,j(ψ)∈Fqとすると、行列X(ψ)は、
Figure JPOXMLDOC01-appb-M000008

となる。なお、行列X(ψ)の各要素χi,j(ψ)を変換係数と呼ぶ。
 X *(ψ):X*(ψ)と行列X(ψ)とはX*(ψ)=τ'・(X(ψ)-1)Tの関係を満たす。ただし、τ'∈Fqは有限体Fqに属する任意の定数であり、例えば、τ'=1Fである。X*(ψ)は基底ベクトルai *(ψ)の座標変換に用いられる。行列X*(ψ)のi行j列の要素をχi,j *(ψ)∈Fqとすると、行列X*(ψ)は、
Figure JPOXMLDOC01-appb-M000009

となる。なお、行列X*(ψ)の各要素χi,j *(ψ)を変換係数と呼ぶ。
 この場合、n(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列の単位行列をI(ψ)とするとX(ψ)・(X*(ψ))T=τ'・I(ψ)を満たす。すなわち、単位行列
Figure JPOXMLDOC01-appb-M000010

に対し、
Figure JPOXMLDOC01-appb-M000011

を満たす。ここで、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・g2 ,χi,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)の関係から、
Figure JPOXMLDOC01-appb-M000012

を満たす。特にτ=κ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(ψ)は、
Figure JPOXMLDOC01-appb-M000013

となる。
 B*(ψ):B*(ψ)は基底ベクトルbi *(ψ) (i=1,...,n(ψ)+ζ(ψ))を要素とするn(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列の行列を表す。B*(ψ)=X*(ψ)・A*(ψ)を満たす。例えば、基底ベクトルbi *(ψ) (i=1,...,n(ψ)+ζ(ψ))が式(24)によって表現される場合、行列B*(ψ)は、
Figure JPOXMLDOC01-appb-M000014

となる。
 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の情報はまったく得られない方式である。以下に、その一例を示す。
 ・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分散方式の一例を示す。
 ・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)
Figure JPOXMLDOC01-appb-M000015

は先頭からρ番目の被演算子〔分母の要素(φρρ)、分子の要素(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)の行列
Figure JPOXMLDOC01-appb-M000016

と、行列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,...,Ψ)を含む。以下に一例を示す。
 ・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)の一例を示す。なお、式(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は定数又は乱数である。以下に一例を示す。
 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))=(0F3(0),0F5(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) 共通鍵
Figure JPOXMLDOC01-appb-M000017

が生成される。ここで、式(6)(25)(55)から、
Figure JPOXMLDOC01-appb-M000018

を満たす。また、式(6)(25)(41)(48)(54)(56)及びw1(λ)=1Fから
Figure JPOXMLDOC01-appb-M000019

を満たす。また、式(6)(25)(42)(49)(54)(56)から
Figure JPOXMLDOC01-appb-M000020

を満たす。よって、式(45)(63)-(65)から
Figure JPOXMLDOC01-appb-M000021

を満たす。例えば、τ=τ'=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点に対して楕円加算と呼ばれる二項演算+及び楕円曲線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で定義された演算をχ回施すことを意味し、Ω12∈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)ν・κ    …(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(Ω12)ν・κ   …(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・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 τ
を満たす。一方、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は、
Figure JPOXMLDOC01-appb-M000022

となる。
 A*:A*は基底ベクトルai *(i=1,...,n+1)を要素とするn+1行n+1列の行列を表す。例えば、基底ベクトルai *(i=1,...,n+1)が式(10)によって表現される場合、行列A*は、
Figure JPOXMLDOC01-appb-M000023

となる。
 X:Xは有限体Fqの元を要素とするn+1行n+1列の行列を表す。行列Xは基底ベクトルaiの座標変換に用いられる。行列Xのi行j列(i=1,...,n+1,j=1,...,n+1)の要素をχi,j∈Fqとすると、行列Xは、
Figure JPOXMLDOC01-appb-M000024

となる。なお、行列Xの各要素χi,jを変換係数と呼ぶ。
 X *:X *は行列Xの逆行列の転置行列X*=( X-1)Tを表す。行列X *は基底ベクトルai *の座標変換に用いられる。行列X *のi行j列の要素をχi,j *∈Fqとすると、行列X*は、
Figure JPOXMLDOC01-appb-M000025

となる。なお、行列X*の各要素χi,j *を変換係数と呼ぶ。
 この場合、n+1行n+1列の単位行列をIとするとX・(X*)T=Iを満たす。すなわち、単位行列
Figure JPOXMLDOC01-appb-M000026

に対し、
Figure JPOXMLDOC01-appb-M000027

を満たす。ここで、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・g1 ,χi,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・g2 ,χi,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)の関係から、
Figure JPOXMLDOC01-appb-M000028

を満たす。特に、τ=κ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は、
Figure JPOXMLDOC01-appb-M000029

となる。
 B*:B*は基底ベクトルbi *(i=1,...,n+1)を要素とするn+1行n+1列の行列を表す。B*=X*・A*を満たす。例えば、基底ベクトルbi *(i=1,...,n+1)が式(25)によって表現される場合、行列B*は、
Figure JPOXMLDOC01-appb-M000030

となる。
 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 JPOXMLDOC01-appb-T000031
 [表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 JPOXMLDOC01-appb-T000032
 [表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)の一例では、まず、セキュリティパラメータ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)の一例では、まず、有限体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)の一例では、まず、共通鍵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)の一例では、まず、暗号文C2と鍵情報D1 *とが式(2)の双線形関数eに入力される。すると、式(3)(26)の性質から、
Figure JPOXMLDOC01-appb-M000033

を満たす。
 ここで、内積w・v=0であれば、式(47)は、
Figure JPOXMLDOC01-appb-M000034

と変形できる。この結果から共通鍵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は加法単位元とする。
Figure JPOXMLDOC01-appb-M000035
 直交基底Bは、式(3)のように、標準基底Aに(n+1)次正方行列Xを作用させたものとして得られる。記号Tは転置を表す。なお、行列Xは秘密鍵と同様に秘密とされる。
Figure JPOXMLDOC01-appb-M000036
 同様に、ベクトル空間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は加法単位元とする。
Figure JPOXMLDOC01-appb-M000037
 直交基底Bは、式(6)のように、標準基底Aに(n+1)次正方行列T(X-1)を作用させたものとして得られる。記号Eは単位行列を表す。
Figure JPOXMLDOC01-appb-M000038
 次に、スキーマリストについて説明を加える。属性を指定する情報(属性指定情報;つまり、例えば名前、生年月日などの属性を具体的に一意に特定する情報であり、属性値ともいう)を述語暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(属性用変換規則情報;属性用スキーマともいう)と、
述語(論理式)を指定する情報(述語(論理式)指定情報;つまり、例えば年齢、権限などの属性に関する条件を論理式などで具体的に設定する情報であり、命題関数ともいう)を当該述語暗号アルゴリズムに用いられる述語情報(論理情報)に変換するための変換規則を規定している情報(述語(論理式)用変換規則情報;述語(論理式)用スキーマともいう)とのペアである変換規則情報ペアをスキーマペアと呼ぶ(図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)が得られる。ここでrとrは乱数である。さらに、この多変数多項式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に対応する情報としてもよい。
Figure JPOXMLDOC01-appb-M000039
 次に、第2暗号化部13bが、共通鍵Kと平文Mを用いて、式(9)に従って暗号文C2を求める(ステップS17c)。共通鍵を用いた暗号化方法EncKは周知の方法でよく、例えば上記非特許文献1に開示される方法である。既述のとおり、第1の観点による第1実施形態が共通鍵Kの配送に特化した実施形態である場合には、ステップS17cの処理は省略される。つまり、暗号化装置10は、第2暗号化部13bの機能を持つとしても、ステップS17cの処理を行わない。
Figure JPOXMLDOC01-appb-M000040
 次に、暗号化装置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)に置き換えればよい。
Figure JPOXMLDOC01-appb-M000041
 次に、鍵生成装置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は、クロネッカーのデルタ記号である。
Figure JPOXMLDOC01-appb-M000042
 従って、第1属性情報vと第2述語情報w(p)の標準内積が0(あるいは第1述語情報wと第2属性情報v(p)の標準内積が0)の場合、式(11)の演算結果g ρが得られる。この演算結果g ρが得られた場合、復号装置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の処理を行わない。
Figure JPOXMLDOC01-appb-M000043
 もし、式(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)の演算結果g ρが得られる。この演算結果g ρが得られた場合、第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)に置き換えればよい。
Figure JPOXMLDOC01-appb-M000044
 次に、鍵生成装置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)のように定義される。
Figure JPOXMLDOC01-appb-M000045
 従って、第1属性情報vと第2述語情報w'(p)の標準内積が0(あるいは第1述語情報wと第2属性情報v'(p)の標準内積が0)の場合、式(15)の演算結果g ρが得られる。この演算結果g ρが得られた場合、第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実施形態の述語暗号アルゴリズムに必要な情報とされる。具体的な情報については、例えば上記非特許文献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の処理までは、第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回の暗号化処理が必要である)。このため、送信者(装置)は、低い処理コストで暗号メッセージを同報送信することができる。
 また、受信者(装置)が第三者(装置)に暗号メッセージを転送する際、暗号化装置から受信した暗号メッセージをそのまま第三者(装置)に転送することができる。公開鍵暗号方式では、受信者(装置)が一旦、暗号メッセージを復号し、第三者(装置)の公開鍵を用いて暗号化し、この暗号化された暗号メッセージを送信する処理が必要であり、処理コストの負担が大きい。しかし、上述の各実施形態では、暗号化装置から受信した暗号メッセージをそのまま第三者(装置)に転送するから、低い処理コストで暗号メッセージを転送することができる。
 次に、上述の第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)やWebDAV(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)の演算結果g ρが得られる。この演算結果g ρが得られた場合、復号装置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実施形態の述語暗号アルゴリズムに必要な情報とされる。具体的な情報については、例えば上記非特許文献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からステップ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実施形態の述語暗号アルゴリズムに必要な情報とされる。具体的な情報については、例えば上記非特許文献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からステップ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/〉[平成21年4月14日検索]を参照のこと。KANT/KASHについては、例えばインターネット〈URL: http://www.math.tu-berlin.de/algebra/〉[平成21年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.  請求項35に記載のプログラム、請求項36に記載のプログラム、請求項37に記載のプログラム、請求項38に記載のプログラム、のうち少なくともいずれかを格納したコンピュータ読み取り可能な記憶媒体。
PCT/JP2011/066716 2010-07-23 2011-07-22 暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体 WO2012011575A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201180035439.2A CN103004130B (zh) 2010-07-23 2011-07-22 密码系统、密码通信方法、加密装置、密钥生成装置、解密装置、内容服务器装置
US13/810,797 US8995660B2 (en) 2010-07-23 2011-07-22 Cryptographic system, cryptographic communication method, encryption apparatus, key generation apparatus, decryption apparatus, content server, program, and storage medium
JP2012525451A JP5422053B2 (ja) 2010-07-23 2011-07-22 暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体
KR1020137001061A KR101418254B1 (ko) 2010-07-23 2011-07-22 암호 시스템, 암호 통신 방법, 암호화 장치, 키 생성 장치, 복호 장치, 콘텐츠 서버 장치, 프로그램, 기억매체
EP11809745.0A EP2582086B1 (en) 2010-07-23 2011-07-22 Cryptographic system, cryptographic communication method, encryption apparatus, key generation apparatus, decryption apparatus, content server, program, and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010166401 2010-07-23
JP2010-166401 2010-07-23

Publications (1)

Publication Number Publication Date
WO2012011575A1 true WO2012011575A1 (ja) 2012-01-26

Family

ID=45496992

Family Applications (1)

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

Country Status (6)

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

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013133158A1 (ja) * 2012-03-06 2013-09-12 三菱電機株式会社 暗号システム、暗号方法及び暗号プログラム
JP2016541134A (ja) * 2013-09-30 2016-12-28 クアルコム,インコーポレイテッド 異なるドメイン固有鍵を用いてコンテンツのセキュリティを確保するための方法
WO2019224912A1 (ja) * 2018-05-22 2019-11-28 三菱電機株式会社 車両通信装置、車両アクセス制御システム、管理装置、車両アクセス制御方法、および車両アクセス制御プログラム
CN110661883A (zh) * 2019-10-18 2020-01-07 北京师范大学 一种数据传输装置和方法

Families Citing this family (39)

* 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 三菱電機株式会社 暗号処理システム、暗号処理方法、暗号処理プログラム及び鍵生成装置
US11245672B2 (en) * 2012-06-18 2022-02-08 Microsoft Technologly Licensing, LLC System and method to access content of encrypted data items in unsupported digital environments
EP3025247B1 (en) 2013-07-26 2018-10-24 Hewlett-Packard Enterprise Development LP Data view based on context
US9100175B2 (en) 2013-11-19 2015-08-04 M2M And Iot Technologies, Llc Embedded universal integrated circuit card supporting two-factor authentication
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
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
US10700856B2 (en) 2013-11-19 2020-06-30 Network-1 Technologies, Inc. Key derivation for a module using an embedded universal integrated circuit card
EP3127271B1 (en) * 2014-03-31 2018-07-25 Irdeto B.V. Obfuscated performance of a predetermined function
US10237065B2 (en) * 2014-03-31 2019-03-19 Irdeto B.V. Cryptographic chip and related methods
US10432409B2 (en) 2014-05-05 2019-10-01 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
US9672342B2 (en) 2014-05-05 2017-06-06 Analog Devices, Inc. System and device binding metadata with hardware intrinsic properties
US9946858B2 (en) 2014-05-05 2018-04-17 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
WO2016056473A1 (ja) * 2014-10-07 2016-04-14 日本電信電話株式会社 秘密計算システム、中継装置、それらの方法、プログラム、および記録媒体
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
US10630686B2 (en) 2015-03-12 2020-04-21 Fornetix Llc Systems and methods for organizing devices in a policy hierarchy
US10560440B2 (en) * 2015-03-12 2020-02-11 Fornetix Llc Server-client PKI for applied key management system and process
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
US10931653B2 (en) 2016-02-26 2021-02-23 Fornetix Llc System and method for hierarchy manipulation in an encryption key management system
US10860086B2 (en) 2016-02-26 2020-12-08 Fornetix Llc Policy-enabled encryption keys having complex logical operations
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
US10917239B2 (en) 2016-02-26 2021-02-09 Fornetix Llc Policy-enabled encryption keys having ephemeral policies
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
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
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
US11362816B2 (en) 2020-09-11 2022-06-14 Seagate Technology Llc Layered secret sharing with flexible access structures
US11316673B2 (en) 2020-09-11 2022-04-26 Seagate Technology Llc Privacy preserving secret sharing from novel combinatorial objects
CN114157488B (zh) * 2021-12-03 2023-06-16 北京明朝万达科技股份有限公司 密钥获取方法、装置、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090080658A1 (en) * 2007-07-13 2009-03-26 Brent Waters Method and apparatus for encrypting data for fine-grained access control

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7865742B2 (en) 2006-07-12 2011-01-04 Palo Alto Research Center Incorporated Method, apparatus, and program product for enabling access to flexibly redacted content
KR101351789B1 (ko) 2009-04-24 2014-01-15 니뽄 덴신 덴와 가부시키가이샤 암호 시스템, 암호 통신 방법, 암호화 장치, 키 생성 장치, 복호 장치, 콘텐츠 서버 장치, 프로그램, 기억매체

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090080658A1 (en) * 2007-07-13 2009-03-26 Brent Waters Method and apparatus for encrypting data for fine-grained access control

Non-Patent Citations (23)

* Cited by examiner, † Cited by third party
Title
"NTT Cryptographic Primitives", INFORMATION SECURITY PROJECT OF NTT INFORMATION SHARING PLATFORM LABORATORIES, 15 July 2010 (2010-07-15), Retrieved from the Internet <URL:http://info.isl.ntt.co.jp/crypt/camellia/technology.html>
A. MIYAJI; M. NAKABAYASHI; S. TAKANO: "New Explicit Conditions of Elliptic Curve Traces for FR Reduction", IEICE TRANS. FUNDAMENTALS, vol. E84-A, no. 5, May 2001 (2001-05-01), pages 1234 - 1243, XP001060011
A. SHAMIR: "How to Share a Secret", COMMUNICATIONS OF THE ACM, vol. 22, no. 11, November 1979 (1979-11-01), pages 612 - 613, XP000565227, DOI: doi:10.1145/359168.359176
A: H. COHEN: "GTM 138", 1993, SPRINGER-VERLAG, article "A Course in Computational Algebraic Number Theory"
ALFRED. J. MENEZES: "Elliptic Curve Public Key Cryptosystems", KLUWER ACADEMIC PUBLISHERS, pages: 61 - 81
AMIT SAHAI; BRENT WATERS: "Predicate Encryption Supporting Disjunctions, Polynomial Equations, and Inner Products", EUROCRYPT 2008 INVITED TO THE JOURNAL OF CRYPTOLOGY, 2008
ATTRAPADUNG N. ET AL.: "Dual-Policy Attribute Based Encryption", LECTURE NOTES IN COMPUTER SCIENCE, vol. 5536, 2009, pages 168 - 185, XP019118295 *
BONEH D. ET AL.: "Functional Encryption: Definitions and Challenges", CRYPTOLOGY EPRINT ARCHIVE, REPORT 2010/543, 4 January 2011 (2011-01-04), pages 1 - 23, XP061004394 *
IAN F. BLAKE; GADIEL SEROUSSI; NIGEL P. SMART: "Elliptic Curves in Cryptography", PEARSON EDUCATION
J. KATZ; A. SAHAI; B. WATERS: "Predicate Encryption Supporting Disjunction, Polynomial Equations, and Inner Products", EUROCRYPT, 2008, pages 146 - 162
JENS GROTH; AMIT SAHAI: "Efficient Non-interactive Proof Systems for Bilinear Groups", ADVANCES IN CRYPTOLOGY - EUROCRYPT 2008, vol. 4965, March 2010 (2010-03-01), pages 415 - 432
KAORU KUROSAWA; WAKAHA OGATA: "Basic Mathematics of Modern Cryptography (IEICE Lecture Series", March 2004, CORONA PUBLISHING CO., LTD., pages: 116 - 119
KATZ J. ET AL.: "Predicate Encryption Supporting Disjunctions, Polynomial Equations, and Inner Products", CRYPTOLOGY EPRINT ARCHIVE, REPORT 2007/404, 7 July 2008 (2008-07-07), pages 1 - 29, XP061002579 *
LEWKO, A. ET AL.: "Fully Secure Functional Encryption: Attribute-Based Encryption and (Hierarchical) Inner Product Encryption, 2 Fully Secure Attribute- Based Encryption, 3 Fully Secure Predicate Encryption", CRYPTOLOGY EPRINT ARCHIVE, REPORT 2010/110, 29 March 2010 (2010-03-29), pages 1 - 56, XP061004012 *
P. S. L. M. BARRETO; B. LYNN; M. SCOTT: "Constructing Elliptic Curves with Prescribed Embedding Degrees", vol. 2576, 2003, SPRINGER-VERLAG, pages: 257 - 267
P. S. L. M. BARRETO; B. LYNN; M. SCOTT: "Proc. SCN '2002", vol. 2576, 2003, SPRINGER-VERLAG, article "Constructing Elliptic Curves with Prescribed Embedding Degrees", pages: 257 - 267
R. DUPONT; A. ENGE; F. MORAIN, BUILDING CURVES WITH ARBITRARY SMALL MOV DEGREE OVER FINITE PRIME FIELDS, Retrieved from the Internet <URL:http://eprint.iacr.org/2002/094>
See also references of EP2582086A4 *
SHAMIR: "How to Share a Secret", COMMUNICATIONS OF THE ACM, vol. 22, no. 11, November 1979 (1979-11-01), pages 612 - 613, XP000565227, DOI: doi:10.1145/359168.359176
TATSUAKI OKAMOTO; KATSUYUKI TAKASHIMA: "Advances in Cryptology -- CRYPTO 2010", vol. 6223, 2010, SPRINGER-VERLAG, article "Fully Secure Functional Encryption with General Relations from the Decisional Linear Assumption", pages: 191 - 208
TATSUAKI OKAMOTO; KATSUYUKI TAKASHIMA: "Hierarchical Predicate Encryption for Inner-Products", ASIACRYPT 2009, 2009, pages 214 - 231
V S. MILLER, SHORT PROGRAMS FOR FUNCTIONS ON CURVES, 1986, Retrieved from the Internet <URL:http://crypto.stanford.edu/miller/miller.pdf>
V. S. MILLER, SHORT PROGRAMS FOR FUNCTIONS ON CURVES, 1986

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013133158A1 (ja) * 2012-03-06 2013-09-12 三菱電機株式会社 暗号システム、暗号方法及び暗号プログラム
JP2013186181A (ja) * 2012-03-06 2013-09-19 Mitsubishi Electric Corp 暗号システム、暗号方法及び暗号プログラム
CN104160437A (zh) * 2012-03-06 2014-11-19 三菱电机株式会社 密码系统、密码方法以及密码程序
KR20140138176A (ko) * 2012-03-06 2014-12-03 미쓰비시덴키 가부시키가이샤 암호 시스템, 암호 방법 및 암호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
KR101588992B1 (ko) 2012-03-06 2016-01-26 미쓰비시덴키 가부시키가이샤 암호 시스템, 암호 방법 및 암호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
CN104160437B (zh) * 2012-03-06 2016-06-08 三菱电机株式会社 密码系统以及密码方法
US9407438B2 (en) 2012-03-06 2016-08-02 Mitsubishi Electric Corporation Cryptographic system, cryptographic method, and cryptographic program
JP2016541134A (ja) * 2013-09-30 2016-12-28 クアルコム,インコーポレイテッド 異なるドメイン固有鍵を用いてコンテンツのセキュリティを確保するための方法
WO2019224912A1 (ja) * 2018-05-22 2019-11-28 三菱電機株式会社 車両通信装置、車両アクセス制御システム、管理装置、車両アクセス制御方法、および車両アクセス制御プログラム
JPWO2019224912A1 (ja) * 2018-05-22 2020-05-28 三菱電機株式会社 車両通信装置、車両アクセス制御システム、管理装置、車両アクセス制御方法、および車両アクセス制御プログラム
CN110661883A (zh) * 2019-10-18 2020-01-07 北京师范大学 一种数据传输装置和方法

Also Published As

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

Similar Documents

Publication Publication Date Title
JP5422053B2 (ja) 暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体
JP5253567B2 (ja) 暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体
Garg et al. Registration-based encryption: removing private-key generator from IBE
JP5291795B2 (ja) 暗号化装置、復号装置、暗号化方法、復号方法、セキュリティ方法、プログラム及び記録媒体
WO2012011564A1 (ja) 暗号化装置、復号装置、暗号化方法、復号方法、プログラム、及び記録媒体
Huang et al. Enabled/disabled predicate encryption in clouds
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
Sharmila Deva Selvi et al. An efficient certificateless proxy re-encryption scheme without pairing
Wang et al. More efficient CCA‐secure unidirectional proxy re‐encryption schemes without random oracles
JP5612494B2 (ja) 関数暗号を用いた時限暗号システム、時限暗号方法、装置、プログラム
JP5097137B2 (ja) 暗号通信システム、端末装置、秘密鍵生成方法及びプログラム
Roy A homomorphism based zero knowledge proof of authentication for chinese remainder theorem based secret sharing
Cho et al. Secure non-transferable proxy re-encryption for group membership and non-membership
Vivek et al. Efficient conditional proxy reencryption with chosen cipher text security
Couteau et al. Secure distributed computation on private inputs
Hata et al. Secret Sharing Deniable Encryption Technique
Partala Symmetric blind decryption with perfect secrecy
Jahid Social networking: Security, privacy, and applications
Su Pairing-based constructions: efficient revocation, compact ciphertexts and generic transformation

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11809745

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2012525451

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2011809745

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 20137001061

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 13810797

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE