WO2012011575A1 - 暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体 - Google Patents
暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体 Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/083—Key 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/0833—Key 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/0836—Key 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key 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/0847—Key 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public 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/3073—Public 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
Description
関数暗号を用いる暗号システムは、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含む。
そして、各鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められている。
また、属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められている。
また、属性用変換規則情報と論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている。
暗号化装置は、変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる属性用変換規則情報と論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じてポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得処理と、第1属性情報または第1論理情報と、鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化処理を行う。
鍵生成装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得処理と、第2属性情報または第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、暗号情報の復号に用いる復号鍵を生成する鍵生成処理を行う。
復号装置は、復号鍵を用いて、関数暗号アルゴリズムに則り、暗号情報に対する復号処理を行う。
関数暗号を用いる暗号システムは、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含む。
そして、各鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められている。
また、属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められている。
また、属性用変換規則情報と論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている。
暗号化装置は、変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる属性用変換規則情報と論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じてポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得処理と、第1属性情報または第1論理情報と、鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化処理を行う。
復号装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得処理と、鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、暗号情報に対する復号処理を行う。
鍵生成装置は、第2属性情報または第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、暗号情報の復号に用いる復号鍵を生成する鍵生成処理を行う。
関数暗号を用いる暗号システムは、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含む。
そして、各鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められている。
また、属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められている。
また、属性用変換規則情報と論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている。
暗号化装置は、変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる属性用変換規則情報と論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じてポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得処理と、第1属性情報または第1論理情報と、鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化処理を行う。
鍵生成装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得処理と、第2属性情報または第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、暗号情報の復号に用いる復号鍵を生成する鍵生成処理を行う。
復号装置は、復号鍵を用いて、関数暗号アルゴリズムに則り、暗号情報に対する復号処理を行う。
関数暗号を用いる暗号システムは、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含む。
そして、各鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められている。
また、属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められている。
また、属性用変換規則情報と論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている。
暗号化装置は、変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる属性用変換規則情報と論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じてポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得処理と、第1属性情報または第1論理情報と、鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化処理を行う。
復号装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得処理と、鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、暗号情報に対する復号処理を行う。
鍵生成装置は、第2属性情報または第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、暗号情報の復号に用いる復号鍵を生成する鍵生成処理を行う。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、関数暗号を用いる暗号システムにおいて、各鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、属性用変換規則情報と論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている。
そして、暗号化装置は、変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる属性用変換規則情報と論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じてポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得処理と、第1属性情報または第1論理情報と、鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化処理を行う。
また、鍵生成装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得処理と、第2属性情報または第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、暗号情報の復号に用いる復号鍵を生成する鍵生成処理を行う。
また、復号装置は、復号鍵を用いて、関数暗号アルゴリズムに則り、暗号情報に対する復号処理を行う。そして、この復号装置は、暗号情報を別の復号装置に転送する転送処理も行う。転送する暗号情報は、暗号化装置から送られたものであってもよいし、別の復号装置から転送されたものであってもよい。暗号システムに含まれる復号装置のうち少なくとも一部の復号装置が転送処理を行う機能を持つが、全ての復号装置がこの転送機能を持つことは要求されない。転送された暗号情報を受信した復号装置は、必要に応じて鍵生成装置に復号鍵を生成して貰い、上記復号処理を行う。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、関数暗号を用いる暗号システムにおいて、各鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、属性用変換規則情報と論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている。
そして、暗号化装置は、変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる属性用変換規則情報と論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じてポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得処理と、第1属性情報または第1論理情報と、鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化処理を行う。
また、復号装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得処理と、鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、暗号情報に対する復号処理を行う。
また、鍵生成装置は、第2属性情報または第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、暗号情報の復号に用いる復号鍵を生成する鍵生成処理を行う。
上述の復号装置は、暗号情報を別の復号装置に転送する転送処理も行う。転送する暗号情報は、暗号化装置から送られたものであってもよいし、別の復号装置から転送されたものであってもよい。暗号システムに含まれる復号装置のうち少なくとも一部の復号装置が転送処理を行う機能を持つが、全ての復号装置がこの転送機能を持つことは要求されない。転送された暗号情報を受信した復号装置は、必要に応じて鍵生成装置に復号鍵を生成して貰い、上記復号処理を行う。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、関数暗号を用いる暗号システムにおいて、各鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、属性用変換規則情報と論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている。
そして、暗号化装置は、変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる属性用変換規則情報と論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じてポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得処理と、第1属性情報または第1論理情報と、鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化処理を行う。
また、鍵生成装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得処理と、第2属性情報または第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、暗号情報の復号に用いる復号鍵を生成する鍵生成処理を行う。
また、復号装置は、復号鍵を用いて、関数暗号アルゴリズムに則り、暗号情報に対する復号処理を行う。そして、この復号装置は、暗号情報を別の復号装置に転送する転送処理も行う。転送する暗号情報は、暗号化装置から送られたものであってもよいし、別の復号装置から転送されたものであってもよい。暗号システムに含まれる復号装置のうち少なくとも一部の復号装置が転送処理を行う機能を持つが、全ての復号装置がこの転送機能を持つことは要求されない。転送された暗号情報を受信した復号装置は、必要に応じて鍵生成装置に復号鍵を生成して貰い、上記復号処理を行う。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、関数暗号を用いる暗号システムにおいて、各鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、属性用変換規則情報と論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている。
そして、暗号化装置は、変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる属性用変換規則情報と論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じてポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得処理と、第1属性情報または第1論理情報と、鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化処理を行う。
また、復号装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得処理と、鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、暗号情報に対する復号処理を行う。
また、鍵生成装置は、第2属性情報または第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、暗号情報の復号に用いる復号鍵を生成する鍵生成処理を行う。
上述の復号装置は、暗号情報を別の復号装置に転送する転送処理も行う。転送する暗号情報は、暗号化装置から送られたものであってもよいし、別の復号装置から転送されたものであってもよい。暗号システムに含まれる復号装置のうち少なくとも一部の復号装置が転送処理を行う機能を持つが、全ての復号装置がこの転送機能を持つことは要求されない。転送された暗号情報を受信した復号装置は、必要に応じて鍵生成装置に復号鍵を生成して貰い、上記復号処理を行う。
関数暗号を用いる暗号システムは、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含む。
そして、各鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められている。
また、属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められている。
また、属性用変換規則情報と論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている。
暗号化装置は、変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる属性用変換規則情報と論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じてポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得処理と、第1属性情報または第1論理情報と、鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報と、当該共通鍵で当該コンテンツを暗号化した暗号化コンテンツとを求める暗号化処理を行う。
コンテンツサーバ装置は、各暗号化装置から送られた暗号情報および暗号化コンテンツを記憶する処理と、復号装置からの要求に応じて暗号化コンテンツとこれに対応する暗号情報を当該復号装置に送信する送信処理を行う。
鍵生成装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得処理と、第2属性情報または第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、暗号情報の復号に用いる復号鍵を生成する鍵生成処理を行う。
復号装置は、コンテンツサーバ装置に対する暗号化コンテンツの取得要求処理と、復号鍵を用いて、関数暗号アルゴリズムに則り、コンテンツサーバ装置から取得した暗号情報に対する復号処理と、この復号処理で得られた共通鍵を用いて、コンテンツサーバ装置から取得した暗号化コンテンツを復号するコンテンツ取得処理と、暗号化コンテンツから復号されたコンテンツを表示する処理を行う。
関数暗号を用いる暗号システムは、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含む。
そして、各鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められている。
また、属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められている。
また、属性用変換規則情報と論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている。
暗号化装置は、変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる属性用変換規則情報と論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じてポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得処理と、第1属性情報または第1論理情報と、鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報と、当該共通鍵で当該コンテンツを暗号化した暗号化コンテンツとを求める暗号化処理を行う。
コンテンツサーバ装置は、各暗号化装置から送られた暗号情報および暗号化コンテンツを記憶する処理と、復号装置からの要求に応じて暗号化コンテンツとこれに対応する暗号情報を当該復号装置に送信する送信処理を行う。
復号装置は、コンテンツサーバ装置に対する暗号化コンテンツの取得要求処理と、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得処理と、復号鍵を用いて、関数暗号アルゴリズムに則り、コンテンツサーバ装置から取得した暗号情報に対する復号処理と、この復号処理で得られた共通鍵を用いて、コンテンツサーバ装置から取得した暗号化コンテンツを復号するコンテンツ取得処理と、暗号化コンテンツから復号されたコンテンツを表示する処理を行う。
鍵生成装置は、第2属性情報または第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、暗号情報の復号に用いる復号鍵を生成する鍵生成処理を行う。
関数暗号を用いる暗号システムは、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含む。
そして、各鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められている。
また、属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められている。
また、属性用変換規則情報と論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている。
暗号化装置は、変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる属性用変換規則情報と論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じてポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得処理と、第1属性情報または第1論理情報と、鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、当該コンテンツを暗号化した暗号化コンテンツを求める暗号化処理を行う。
コンテンツサーバ装置は、各暗号化装置から送られた暗号化コンテンツを記憶する処理と、復号装置からの要求に応じて暗号化コンテンツを当該復号装置に送信する送信処理を行う。
鍵生成装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得処理と、第2属性情報または第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、暗号化コンテンツの復号に用いる復号鍵を生成する鍵生成処理を行う。
復号装置は、コンテンツサーバ装置に対する暗号化コンテンツの取得要求処理と、復号鍵を用いて、関数暗号アルゴリズムに則り、コンテンツサーバ装置から取得した暗号化コンテンツを復号する復号処理と、暗号化コンテンツから復号されたコンテンツを表示する処理を行う。
関数暗号を用いる暗号システムは、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含む。
そして、各鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められている。
また、属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められている。
また、属性用変換規則情報と論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている。
暗号化装置は、変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる属性用変換規則情報と論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じてポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得処理と、第1属性情報または第1論理情報と、鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、当該コンテンツを暗号化した暗号化コンテンツを求める暗号化処理を行う。
コンテンツサーバ装置は、各暗号化装置から送られた暗号化コンテンツを記憶する処理と、復号装置からの要求に応じて暗号化コンテンツを当該復号装置に送信する送信処理を行う。
復号装置は、コンテンツサーバ装置に対する暗号化コンテンツの取得要求処理と、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得処理と、復号鍵を用いて、関数暗号アルゴリズムに則り、コンテンツサーバ装置から取得した暗号化コンテンツを復号する復号処理と、暗号化コンテンツから復号されたコンテンツを表示する処理を行う。
鍵生成装置は、第2属性情報または第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、暗号化コンテンツの復号に用いる復号鍵を生成する鍵生成処理を行う。
近年、関数暗号と呼ばれる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を出力する確率的多項式時間アルゴリズム
=================================
(参考文献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/
(参考文献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))を出力する確率的多項式時間アルゴリズム
=================================
(参考文献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からなる列を表す。
0F:0Fは有限体Fqの加法単位元を表す。
1F:1Fは有限体Fqの乗法単位元を表す。
δ(i,j):δ(i,j)はクロネッカーのデルタ関数を表す。i=jの場合にδ(i,j)=1Fを満たし、i≠jの場合にδ(i,j)=0Fを満たす。
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上で定義された演算を乗法的に表現する。すなわち、χ∈Fq及びΩ∈G1に対するχ・Ω∈G1は、Ω∈G1に対して巡回群G1で定義された演算をχ回施すことを意味し、Ω1, Ω2∈G1に対するΩ1+Ω2∈G1は、Ω1∈G1とΩ2∈G1とを被演算子として巡回群G1で定義された演算を行うことを意味する。同様に、χ∈Fq及びΩ∈G2に対するχ・Ω∈G2は、Ω∈G2に対して巡回群G2で定義された演算をχ回施すことを意味し、Ω1, Ω2∈G2に対するΩ1+Ω2∈G2は、Ω1∈G2とΩ2∈G2とを被演算子として巡回群G2で定義された演算を行うことを意味する。一方、χ∈Fq及びΩ∈GTに対するΩχ∈GTは、Ω∈GTに対して巡回群GTで定義された演算をχ回施すことを意味し、Ω1,Ω2∈GTに対するΩ1・Ω2∈GTは、Ω1∈GTとΩ2∈GTとを被演算子として巡回群GTで定義された演算を行うことを意味する。
ψ:ψは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ψ:G1 n(ψ)+ζ(ψ)×G2 n(ψ)+ζ(ψ)→GT …(1)
[双線形性]すべてのΓ1∈G1 n(ψ)+ζ(ψ),Γ2∈G2 n(ψ)+ζ(ψ)及びν,κ∈Fqについて以下の関係を満たす。
eψ(ν・Γ1,κ・Γ2)=eψ(Γ1,Γ2)ν・κ …(2)
[非退化性]すべてのΓ1∈G1 n(ψ)+ζ(ψ),Γ2∈G2 n(ψ)+ζ(ψ)を巡回群GTの単位元に写す写像ではない。
[計算可能性]あらゆる
Γ1∈G1 n(ψ)+ζ(ψ),Γ2∈G2 n(ψ)+ζ(ψ) …(3)
についてeψ(Γ1,Γ2)を効率的に計算するアルゴリズムが存在する。
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)
[双線形性]すべてのΩ1∈G1,Ω2∈G2及びν,κ∈Fqについて以下の関係を満たす。
Pair(ν・Ω1,κ・Ω2)=Pair(Ω1,Ω2)ν・κ …(6)
[非退化性]すべての
Ω1∈G1,Ω2∈G2 …(7)
を巡回群GTの単位元に写す写像ではない。
[計算可能性]あらゆるΩ1∈G1,Ω2∈G2についてPair(Ω1,Ω2)を効率的に計算するアルゴリズムが存在する。
双線形写像Pairの具体例は、WeilペアリングやTateペアリングなどのペアリング演算を行うための関数である(例えば、参考文献4「Alfred. J. Menezes,ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS, KLUWER ACADEMIC PUBLISHERS,ISBN0-7923-9368-6,pp. 61-81」等参照)。また、楕円曲線Eの種類に応じ、Tateペアリングなどのペアリング演算を行うための関数と所定の関数phiを組み合わせた変更ペアリング関数e(Ω1,phi(Ω2))(Ω1∈G1,Ω2∈G2)を双線形写像Pairとして用いてもよい(例えば、参考文献2等参照)。また、ペアリング演算をコンピュータ上で行うためのアルゴリズムとしては、周知のMiller のアルゴリズム(参考文献5「V. S. Miller, “Short Programs for functions on Curves,”1986,インターネット<http://crypto.stanford.edu/miller/miller.pdf>」などが存在する。また、ペアリング演算を効率的に行うための楕円曲線や巡回群の構成方法はよく知られている(例えば、参考文献2、参考文献6「A. Miyaji, M. Nakabayashi, S.Takano, "New explicit conditions of elliptic curve Traces for FR-Reduction," IEICE Trans. Fundamentals, vol. E84-A, no05, pp. 1234-1243, May 2001」、参考文献7「P.S.L.M. Barreto, B. Lynn, M. Scott, "Constructing elliptic curves with prescribed embedding degrees," Proc. SCN '2002, LNCS 2576, pp.257-267, Springer-Verlag. 2003」、参考文献8「R. Dupont, A. Enge, F. Morain, "Building curves with arbitrary small MOV degree over finite prime fields," http://eprint.iacr.org/2002/094/」等参照)。
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(ψ)を張る。
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・g1,κ2・g2)・Pair(0, 0)・...・Pair(0, 0)
= Pair(g1, g2)κ1・κ2・Pair(g1, g2)0・0・...・Pair(g1, g2)0・0
= Pair(g1, g2)κ1・κ2=gT τ
を満たす。なお、上付き添え字κ1,κ2はそれぞれκ1,κ2を表す。一方、i≠jの場合には、eψ(ai(ψ), aj *(ψ))=Πi=1 n(ψ)+ζ(ψ) Pair(ai(ψ), aj *(ψ))の右辺は、Pair(κ1・g1,κ2・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である場合(例えば、κ1=κ2=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)〕である。
となる。
となる。
となる。なお、行列X(ψ)の各要素χi,j(ψ)を変換係数と呼ぶ。
となる。なお、行列X*(ψ)の各要素χi,j *(ψ)を変換係数と呼ぶ。
この場合、n(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列の単位行列をI(ψ)とするとX(ψ)・(X*(ψ))T=τ'・I(ψ)を満たす。すなわち、単位行列
に対し、
を満たす。ここで、n(ψ)+ζ(ψ)次元ベクトル
χi →(ψ)=(χi,1(ψ),...,χi,n(ψ)+ζ(ψ)(ψ)) …(18)
χj →*(ψ)=(χj,1 *(ψ),...,χj,n(ψ)+ζ(ψ) *(ψ)) …(19)
を定義する。すると、式(17)の関係から、n(ψ)+ζ(ψ)次元ベクトルχi →(ψ)とχj →*(ψ)との内積は、
χi →(ψ)・χj →*(ψ)=τ'・δ(i,j) …(20)
となる。
bi(ψ)=Σj=1 n(ψ)+ζ(ψ)χi,j(ψ)・aj(ψ) …(21)
の演算によって得られる。例えば、基底ベクトルaj(ψ)(j=1,...,n(ψ)+ζ(ψ))が式(8)によって表現される場合、基底ベクトルbi(ψ)の各要素をそれぞれ列挙して表現すると、以下のようになる。
bi(ψ)=(χi,1(ψ)・κ1・g1,χi,2(ψ)・κ1・g1,
...,χi,n(ψ)+ζ(ψ)(ψ)・κ1・g1) …(22)
巡回群G1のn(ψ)+ζ(ψ)個の元を要素とするすべてのn(ψ)+ζ(ψ)次元ベクトルは、n(ψ)+ζ(ψ)次元の基底ベクトルbi(ψ)(i=1,...,n(ψ)+ζ(ψ))の線形和によって表される。すなわち、n(ψ)+ζ(ψ)次元の基底ベクトルbi(ψ)は前述のベクトル空間V(ψ)を張る。
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)の関係から、
を満たす。特にτ=κ1・κ2=1F(例えば、κ1=κ2=1F)及びτ'=1Fである場合、
eψ(bi(ψ), bj *(ψ))=gT δ(i,j) …(26)
を満たす。この場合、基底ベクトルbi(ψ)と基底ベクトルbi *(ψ)とは、双対ペアリングベクトル空間(ベクトル空間V(ψ)とベクトル空間V*(ψ))の双対正規直交基底である。
なお、式(25)の関係を満たすのであれば、式(8)(9)で例示したもの以外の基底ベクトルai(ψ)及びai *(ψ)や、式(21)(23)で例示したもの以外の基底ベクトルbi(ψ)及びbi *(ψ)を用いてもよい。
となる。
となる。
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)に開示された述語暗号方式は関数暗号方式の一種である。
上述した所定の論理式と階層的な秘密分散との関係を説明する。
秘密分散とは、しきい値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.」等参照)。
・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の復元が可能である。
SE=f(0)=LA1・f(φ1)+...+ LAKt・f(φKt) …(32)
は先頭からρ番目の被演算子〔分母の要素(φρ-φρ)、分子の要素(x-φρ)〕が存在しないことを意味する。すなわち、式(33)の分母は、
(φρ-φ1)・...・(φρ-φρ-1)・(φρ-φρ+1)・...・(φρ-φKt)
であり、式(33)の分子は、
(x-φ1)・...・(x-φρ-1)・(x-φρ+1)・...・(x-φKt)
である。
図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情報との組み合わせを拒絶する仕組みをアクセス構造と呼ぶ。
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(λ)の値が定められてもよい。
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)
受け入れ 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とされる。
-入力: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,...,Ψ)
-入力:公開パラメータ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)
生成される。
-入力:公開パラメータPK,平文M,第2情報VSET2={λ,w(λ)→|λ=1,...,Ψ}(w1(λ)=1F)
-出力:暗号文C
(Enc-1) 以下の処理によって共通鍵Kの暗号文C(ψ)(ψ=0,...,Ψ)が生成される。
C(0)=υ・b1(0)+Σι=2 Iυι(0)・bι(0) …(53)
C(λ)=υ・Σι=1 n(λ)wι(λ)・bι(λ)+Σι=n(λ)+1 n(λ)+ζ(λ)υι(λ)・bι(λ)
…(54)
ただし、υ,υι(ψ)∈Fq(ψ=0,...,Ψ)は定数又は乱数であり、
(coef2(0),...,coefI(0))・(υ2(0),...,υI(0))=υ' …(55)
coefι(λ)・υι(λ)=0F (ι=n(λ)+1,...,n(λ)+ζ(λ)) …(56)
を満たす。υ'の例はυ2(0),...,υI(0)の何れか1個である。例えば、υ,υ3(0),υ5(0),υ3・n(λ)+1(λ),...,υ4・n(λ)(λ)が乱数であり、ζ(λ)=3・n(λ)、I=5であり、
(υ2(0),...,υI(0))=(0F,υ3(0),0F,υ5(0))
υ'=υ3(0)
(υn(λ)+1(λ),...,υ3・n(λ)(λ))=(0F,...,0F)
である。
(Enc-2) 共通鍵
K=gT τ・τ'・υ'∈GT …(57)
が生成される。例えば、τ=τ'=1Fの場合、
K=gT υ'∈GT …(58)
である。
(Enc-3) 共通鍵Kを用いて平文Mの暗号文
C(Ψ+1)=EncK(M) …(59)
が生成される。なお、共通鍵暗号方式Encは、例えば共通鍵Kを用いて暗号化可能に構成されたカメリア(Camellia)(登録商標)やAESや共通鍵と平文との排他的論理和などでよいが、その他の簡単な例として以下のようにEncK(M)を生成してもよい。ただし、式(60)の例ではM∈GTとされる。
C(Ψ+1)=gT υ'・M …(60)
(Enc-4) 暗号文
C=(VSET2,C(0),{C(λ)}(λ,w(λ)→)∈VSET2,C(Ψ+1)) …(61)
が生成される。ただし、下付き添え字の「w(λ)→」は「w(λ)→」を表す。
-入力:公開パラメータ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) 共通鍵
が生成される。ここで、式(6)(25)(55)から、
を満たす。また、式(6)(25)(41)(48)(54)(56)及びw1(λ)=1Fから
を満たす。また、式(6)(25)(42)(49)(54)(56)から
を満たす。よって、式(45)(63)-(65)から
を満たす。例えば、τ=τ'=1Fの場合、
K=gT υ'∈GT …(67)
を満たす。
(Dec-4) 共通鍵Kを用いて平文
M'=DecK(C(Ψ+1))=DecK(C(Ψ+1)) …(68)
が生成される。例えば、式(60)に例示した共通鍵暗号方式の場合、
M'=C(Ψ+1)/K …(69)
によって平文M'が生成される。
行列:「行列」とは演算が定義された集合の元を矩形に並べたものを表す。環の元を要素とするものだけではなく、群の元を要素とするものも「行列」と表現する。
(・)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を満たす。
1F:1Fは有限体Fqの乗法単位元を表す。
δ(i,j):δ(i,j)はクロネッカーのデルタ関数を表す。i=jの場合にδ(i,j)=1Fを満たし、i≠jの場合にδ(i,j)=0Fを満たす。
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を満たす点を意味する。
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:G1 n+1×G2 n+1→GT …(2)
[双線形性]すべてのΓ1∈G1 n+1,Γ2∈G2 n+1及びν,κ∈Fqについて以下の関係を満たす。
e(ν・Γ1,κ・Γ2)=e(Γ1,Γ2)ν・κ …(3)
[非退化性]すべての
Γ1∈G1 n+1,Γ2∈G2 n+1 …(4)
を巡回群GTの単位元に写す関数ではない。
[計算可能性]あらゆるΓ1∈G1 n+1,Γ2∈G2 n+1についてe(Γ1,Γ2)を効率的に計算するアルゴリズムが存在する。
Pair:G1×G2→GT …(5)
を用いて双線形関数eを構成する。本形態の双線形関数eは、巡回群G1のn+1個の元γL(L=1,...,n+1)からなるn+1次元ベクトル(γ1,...,γn+1)と、巡回群G2のn+1個の元γL *(L=1,...,n+1)からなるn+1次元ベクトル(γ1 *,...,γn+1 *)との入力に対し、巡回群GTの1個の元
e=ΠL=1 n+1 Pair(γL, γL *) …(6)
を出力する関数である。
なお、双線形関数Pairは、巡回群G1の1個の元と巡回群G2の1個の元との組を入力とし、巡回群GTの1個の元を出力する関数であり、以下の性質を満たす。
[双線形性]すべてのΩ1∈G1,Ω2∈G2及びν,κ∈Fqについて以下の関係を満たす。
Pair(ν・Ω1,κ・Ω2)=Pair(Ω1,Ω2)ν・κ …(7)
[非退化性]すべての
Ω1∈G1,Ω2∈G2 …(8)
を巡回群GTの単位元に写す関数ではない。
[計算可能性]あらゆるΩ1∈G1,Ω2∈G2についてPair(Ω1,Ω2)を効率的に計算するアルゴリズムが存在する。
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を張る。
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*を張る。
e(ai, aj *)=gT τ・δ(i,j) …(11)
を満たす。すなわち、i=jの場合には、式(6)(7)の関係から、
e(ai, aj *)= Pair(κ1・g1,κ2・g2)・Pair(0, 0)・...・Pair(0, 0)
= Pair(g1, g2)κ1・κ2・Pair(g1, g2)0・0・...・Pair(g1, g2)0・0
= Pair(g1, g2)κ1・κ2=gT τ
を満たす。一方、i≠jの場合には、e(ai, aj *)は、Pair(κ1・g1,κ2・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である場合(例えば、κ1=κ2=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)〕である。
となる。
となる。なお、行列Xの各要素χi,jを変換係数と呼ぶ。
となる。なお、行列X*の各要素χi,j *を変換係数と呼ぶ。
この場合、n+1行n+1列の単位行列をIとするとX・(X*)T=Iを満たす。すなわち、単位行列
に対し、
を満たす。ここで、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=Σj=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 *=Σ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*を張る。
e(bi, bj *)=gT τ・δ(i,j) …(26)
を満たす。すなわち、式(6)(21)(23)(25)の関係から、
を満たす。特に、τ=κ1・κ2=1Fである場合(例えば、κ1=κ2=1Fの場合)、
e(bi, bj *)=gT δ(i,j) …(27)
を満たす。この場合、基底ベクトルbiと基底ベクトルbi *とは、双対ペアリングベクトル空間(ベクトル空間Vとベクトル空間V*)の双対正規直交基底である。
なお、式(26)の関係を満たすのであれば、式(9)(10)で例示したもの以外の基底ベクトルai及びai *や、式(22)(24)で例示したもの以外の基底ベクトルbi及びbi *を用いてもよい。
となる。
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)番目の要素を表す。
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」などのハッシュ関数である。
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つの元(ψ1,ψ2)∈Fq×Fqを出力する関数である。なお、関数H1は、擬似的なランダム関数であることが望ましい。
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: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は衝突困難な関数であることが望ましく、擬似的なランダム関数であることがより望ましい。
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)の関数値との関係は以下のようになる。
ι1・(x-η1)+ι2・(x-η2) …(37)
という多項式で表現する。ただし、ι1及びι2は乱数である。すると、真理値と式(37)の関数値とは以下の関係となる。
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との論理和 (x0=η0)∨(x1=η1)を
(x0-η0)・(x1-η1)
という多項式で表現することも可能であり、3つ以上の不定元を用い、論理和を多項式で表現することも可能である。
ι0・(x0-η0)+ι1・(x1-η1)
という多項式で表現することも可能であり、3つ以上の不定元を用い、論理積を多項式で表現することも可能である。
f(x0,...,x4)=ι0・{(x0-η0)・(x1-η1)・(x2-η2)}+ι1・(x3=η3)+ι2・(x4=η4)
となる。
論理式を示す多項式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
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であるか否かとは等価である。
述語情報: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)を含む。
-入力:セキュリティパラメータ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として出力される。
-入力:マスター鍵情報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 *の成分を分離抽出することは困難である。
-入力:公開パラメータPK,ベクトルv→
-出力:暗号文C2,共通鍵K
Enc(PA,v→)の一例では、まず、共通鍵Kと有限体Fqの元である乱数υ1とが生成される。そして、行列Bなどの公開パラメータPKと、共通鍵Kを含む値に対応する有限体Fqの元υ2と、ベクトルv→と、乱数υ1とを用い、暗号文
C2=υ1・(Σμ=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の成分を分離抽出することは困難である。
-入力:ベクトルw→に対応する鍵情報D1 *,暗号文C2
-出力:共通鍵K
Dec(SKw,C2)の一例では、まず、暗号文C2と鍵情報D1 *とが式(2)の双線形関数eに入力される。すると、式(3)(26)の性質から、
を満たす。
ここで、内積w→・v→=0であれば、式(47)は、
と変形できる。この結果から共通鍵Kが生成され出力される。共通鍵Kの一例はK=gT τ・υ2∈GTである。
D*=α・(Σμ=1 nwμ・bμ *)+Σι=n+1 n+Ξυι・bι *∈G2 n+Ξ …(49)
C2=υ1・(Σμ=1 nvμ・bμ)+Σι=2 Ξ+1υι・bι+n-1∈G1 n+Ξ …(50)
D*=α・(Σμ=1 nwμ・bμ *)+υn+1・bn+1 *∈G2 n+1
であってもよい。さらに、入力情報を入れ換えて、つまり、式(45)にてwをvに置換し式(46)にてvをwに置換してもよい。
図1から図17を参照して、第1の観点による本発明の第1実施形態を説明する。
鍵生成装置20のパラメータ生成部(図示せず)が、述語暗号アルゴリズムで用いられる秘密鍵とエントリを生成する(ステップS1)。エントリには、述語暗号アルゴリズムで用いられる公開パラメータ(図面では公開Pと略記される)、鍵生成装置20のアドレス、鍵生成装置20が使用可能なポリシーリスト、鍵生成装置20が使用可能なスキーマリストが含まれる。
述語(論理式)を指定する情報(述語(論理式)指定情報;つまり、例えば年齢、権限などの属性に関する条件を論理式などで具体的に設定する情報であり、命題関数ともいう)を当該述語暗号アルゴリズムに用いられる述語情報(論理情報)に変換するための変換規則を規定している情報(述語(論理式)用変換規則情報;述語(論理式)用スキーマともいう)とのペアである変換規則情報ペアをスキーマペアと呼ぶ(図11-図13参照)。一つまたは複数のスキーマペアの集合体(データリスト)がスキーマリストである。各々の鍵生成装置20はスキーマリストを自由に定めてよい。スキーマリストに含まれる各スキーマの各データ項目は、例えばXML(eXtensible Markup Language)やASN.1(Abstract Notation Number One)で記述される。
暗号化装置10の送信部14は、図示しない制御部の制御を受けて、検索クエリを登録装置50に送信し、登録装置50の受信部が検索クエリを受信する(ステップS14)。登録装置50の検索部は、登録装置50の記憶部に登録されているエントリの一部または全部を検索して任意の一つのエントリを選び(ステップS15)、登録装置50の送信部は検索結果のエントリを暗号化装置10に送信し、暗号化装置10の受信部はエントリを受信する(ステップS16)。このエントリには、鍵生成装置のアドレス、この鍵生成装置の公開パラメータ、この鍵生成装置が使用可能なポリシーリスト、この鍵生成装置が使用可能なスキーマリストが含まれている。受信したエントリは、暗号化装置10のメモリ11に記憶される。
復号装置30の送信部34は、図示しない制御部の制御を受けて、暗号メッセージに含まれる鍵生成装置のアドレスを含む検索クエリを登録装置50に送信し、登録装置50の受信部が検索クエリを受信する(ステップS19)。登録装置50の検索部は、アドレスで指定された鍵生成装置のエントリを検索してそれを選び(ステップS20)、登録装置50の送信部は検索結果のエントリを復号装置30に送信し、復号装置30の受信部はエントリを受信する(ステップS21)。このエントリには、鍵生成装置のアドレス、この鍵生成装置の公開パラメータ、この鍵生成装置が使用可能なポリシーリスト、この鍵生成装置が使用可能なスキーマリストが含まれている。受信したエントリは、復号装置30のメモリ31に記憶される。
第1の観点による第2実施形態では、第1の観点による第1実施形態と異なり、復号装置30が第2属性情報または第2述語情報を生成する。この差異に伴い、第1の観点による第2実施形態は、いくつかの事項で第1の観点による第1実施形態と異なる。そこで、第1の観点による第1実施形態と重複する部分については重複説明を省略し(同一の構成要素に同じ参照番号を割り当てる)、図18-図21を参照しながら第1の観点による第1実施形態と異なる部分を説明する。
第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実施形態と異なる部分を説明する。
第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実施形態と異なる部分を説明する。
図28から図41を参照して第2の観点による本発明の第1実施形態を説明する。
第1の観点による発明の第1実施形態における《準備プロセス》の説明の全てをここに援用し、重複説明を省略する。なお、この《準備プロセス》の説明に対応する図として図29を、スキーマペアについては図11-13を、ポリシーリストについては図14を参照されたい。これで《準備プロセス》は終了する。
暗号化装置10の送信部14は、図示しない制御部の制御を受けて、検索クエリを登録装置50に送信し、登録装置50の受信部が検索クエリを受信する(ステップS14)。登録装置50の検索部は、登録装置50の記憶部に登録されているエントリの一部または全部を検索して一つのエントリを選び(ステップS15)、登録装置50の送信部は検索結果のエントリを暗号化装置10に送信し、暗号化装置10の受信部はエントリを受信する(ステップS16)。このエントリには、鍵生成装置のアドレス、この鍵生成装置の公開パラメータ、この鍵生成装置が使用可能なポリシーリスト、この鍵生成装置が使用可能なスキーマリストが含まれている。受信したエントリは、暗号化装置10のメモリ11に記憶される。
第1の復号装置30-1の送信部34は、図示しない制御部の制御を受けて、暗号メッセージに含まれる鍵生成装置のアドレスを含む検索クエリを登録装置50に送信し、登録装置50の受信部が検索クエリを受信する(ステップS19)。登録装置50の検索部は、アドレスで指定された鍵生成装置のエントリを検索してそれを選び(ステップS20)、登録装置50の送信部は検索結果のエントリを第1の復号装置30-1に送信し、第1の復号装置30-1の受信部はエントリを受信する(ステップS21)。このエントリには、鍵生成装置のアドレス、この鍵生成装置の公開パラメータ、この鍵生成装置が使用可能なポリシーリスト、この鍵生成装置が使用可能なスキーマリストが含まれている。受信したエントリは、第1の復号装置30-1のメモリ31に記憶される。
第1の復号装置30-1の転送部37は、暗号化装置10から受信した暗号メッセージを第2の復号装置30-2に転送し、第2の復号装置30-2の受信部が暗号メッセージを受信する(ステップ30)。転送先の復号装置は、第2の復号装置(暗号メッセージの授受について暗号化装置と当事者の関係にない復号装置)に限らず、他の第1の復号装置(暗号メッセージの授受について暗号化装置と当事者の関係にある復号装置)であってもよい。また、ステップS30の処理は、説明の都合、ステップS29の処理に続く処理として説明するが、第1の復号装置30-1が暗号化装置10から暗号メッセージを受信した以降であれば何時でもよい。
第2の復号装置30-2の送信部34は、図示しない制御部の制御を受けて、暗号メッセージに含まれる鍵生成装置のアドレスを含む検索クエリを登録装置50に送信し、登録装置50の受信部が検索クエリを受信する(ステップS31)。登録装置50の検索部は、アドレスで指定された鍵生成装置のエントリを検索してそれを選び(ステップS32)、登録装置50の送信部は検索結果のエントリを第2の復号装置30-2に送信し、第2の復号装置30-2の受信部はエントリを受信する(ステップS33)。このエントリには、鍵生成装置のアドレス、この鍵生成装置の公開パラメータ、この鍵生成装置が使用可能なポリシーリスト、この鍵生成装置が使用可能なスキーマリストが含まれている。受信したエントリは、第2の復号装置30-2のメモリ31に記憶される。
第2の観点による第2実施形態では、第2の観点による第1実施形態と異なり、第1の復号装置30-1と第2の復号装置30-2が第2属性情報または第2述語情報を生成する。この差異に伴い、第2の観点による第2実施形態は、いくつかの事項で第2の観点による第1実施形態と異なる。そこで、第2の観点による第1実施形態と重複する部分については重複説明を省略し(同一の構成要素に同じ参照番号を割り当てる)、図42-図48を参照しながら第1実施形態と異なる部分を説明する。
第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実施形態と異なる部分を説明する。
第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実施形態と異なる部分を説明する。
図60から図71を参照して第3の観点による本発明の第1実施形態を説明する。
第1の観点による発明の第1実施形態における《準備プロセス》の説明の全てをここに援用し、重複説明を省略する。なお、この《準備プロセス》の説明に対応する図として図61を、スキーマペアについては図11-13を、ポリシーリストについては図14を参照されたい。これで《準備プロセス》は終了する。
暗号化装置10の送信部14は、図示しない制御部の制御を受けて、検索クエリを登録装置50に送信し、登録装置50の受信部が検索クエリを受信する(ステップS14)。登録装置50の検索部は、登録装置50の記憶部に登録されているエントリの一部または全部を検索して一つのエントリを選び(ステップS15)、登録装置50の送信部は検索結果のエントリを暗号化装置10に送信し、暗号化装置10の受信部はエントリを受信する(ステップS16)。このエントリには、鍵生成装置のアドレス、この鍵生成装置の公開パラメータ、この鍵生成装置が使用可能なポリシーリスト、この鍵生成装置が使用可能なスキーマリストが含まれている。受信したエントリは、暗号化装置10のメモリ11に記憶される。
用して行われる。
コンテンツサーバ装置60は、図示しない制御部の制御の下、そのメモリ61に各暗号化装置10から送られた暗号メッセージを記憶する。これによって、暗号メッセージに含まれる暗号情報と暗号化コンテンツがコンテンツサーバ装置60に登録される。コンテンツサーバ装置60にどのような暗号化コンテンツが登録されているかは、例えばWebページ上で公開される。
復号装置30の送信部34は、図示しない制御部の制御を受けて、暗号メッセージに含まれる鍵生成装置のアドレスを含む検索クエリを登録装置50に送信し、登録装置50の受信部が検索クエリを受信する(ステップS23)。登録装置50の検索部は、アドレスで指定された鍵生成装置のエントリを検索してそれを選び(ステップS24)、登録装置50の送信部は検索結果のエントリを復号装置30に送信し、復号装置30の受信部はエントリを受信する(ステップS25)。このエントリには、鍵生成装置のアドレス、この鍵生成装置の公開パラメータ、この鍵生成装置が使用可能なポリシーリスト、この鍵生成装置が使用可能なスキーマリストが含まれている。受信したエントリは、復号装置30のメモリ31に記憶される。
る一つ又は複数のベクトル情報とされる(図11-13参照)。この際、スキーマを用いて入力情報から必要な属性値の抽出や整列化が行われる。
であるが、暗号情報C1を共通鍵Kに対応する情報とする場合には、上記式(11)の演算結果が共通鍵K(あるいは正しくない値)となる。つまり、復号装置30の正当な利用者は、第1属性情報vとの標準内積が0となる第2述語情報w(p)を与える述語指示情報、あるいは、第1述語情報wとの標準内積が0となる第2属性情報v(p)を与える属性指示情報を持つ。
第3の観点による第2実施形態では、第3の観点による第1実施形態と異なり、復号装置30が第2属性情報または第2述語情報を生成する。この差異に伴い、第3の観点による第2実施形態は、いくつかの事項で第3の観点による第1実施形態と異なる。そこで、第3の観点による第1実施形態と重複する部分については重複説明を省略し(同一の構成要素に同じ参照番号を割り当てる)、図72-図75を参照しながら第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参照)。
第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実施形態と異なる部分を説明する。
第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実施形態と異なる部分を説明する。
(参考文献A) H. Cohen, "A Course in Computational Algebraic Number Theory", GTM 138, Springer-Verlag, 1993.
第1の観点から本発明を総括すると、下記のとおりである。
関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化部とを含み、
上記鍵生成装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含み、
上記復号装置は、
上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部を含む、
暗号システム。
関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化部とを含み、
上記復号装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部を含み、
上記鍵生成装置は、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含む、
暗号システム。
関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化部とを含み、
上記鍵生成装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含み、
上記復号装置は、
上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部を含む、
暗号システム。
関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化部とを含み、
上記復号装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部を含み、
上記鍵生成装置は、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含む、
暗号システム。
アイテム1またはアイテム2に記載の暗号システムにおいて、
上記暗号化装置の上記暗号化部は、上記共通鍵で平文を暗号化した暗号文も求め、
上記復号装置の上記復号部は、上記復号処理で得られた上記共通鍵を用いる上記暗号文の第2復号処理、または、上記復号処理で得られた上記共通鍵の生成に用いる上記情報から生成された共通鍵を用いる上記暗号文の第2復号処理も行う、
暗号システム。
アイテム1からアイテム5のいずれかに記載の暗号システムにおいて、
上記利用者に対応する上記属性指定情報および/または上記論理式指定情報は記憶媒体に記憶されており、
上記復号装置は、当該復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を上記記憶媒体から取得するユーザ情報取得部を含む、
暗号システム。
アイテム1またはアイテム3に記載の暗号システムにおいて、
上記鍵生成装置が用いる、上記復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報は、上記復号装置から取得した情報である、
暗号システム。
アイテム1からアイテム6のいずれかに記載の暗号システムにおいて、
上記暗号システムは、一つまたは複数のユーザ情報管理装置をさらに含み、
各上記ユーザ情報管理装置は、上記利用者に対応する上記属性指定情報および/または上記論理式指定情報を記憶する記憶部を含み、
上記鍵生成装置は、上記復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を上記ユーザ情報管理装置から取得するユーザ情報取得部を含む、
暗号システム。
アイテム1からアイテム8のいずれかに記載の暗号システムにおいて、
各上記鍵生成装置につき一つまたは複数の上記変換規則情報ペアが予め定められており、
上記暗号システムは、一つまたは複数の変換規則情報ペア管理装置をさらに含み、
各上記変換規則情報ペア管理装置は、各上記鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部を含み、
上記暗号化装置は、上記変換規則情報ペア管理装置から上記変換規則情報ペアを取得する変換規則情報ペア取得部を含み、
上記復号装置は、上記変換規則情報ペア管理装置から上記変換規則情報ペアを取得する変換規則情報ペア取得部を含む、
暗号システム。
アイテム1からアイテム8のいずれかに記載の暗号システムにおいて、
各上記鍵生成装置につき一つまたは複数の上記変換規則情報ペアが予め定められており、
各上記鍵生成装置は、当該鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部をさらに含み、
各上記暗号化装置は、少なくとも一つ以上の上記鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部をさらに含み、
各上記復号装置は、少なくとも一つ以上の上記鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部をさらに含む、
暗号システム。
アイテム1からアイテム10のいずれかに記載の暗号システムにおいて、
上記ポリシー情報の特定対象が上記属性用変換規則情報のみ、あるいは、上記論理式用変換規則情報のみ、あるいは、上記属性用変換規則情報および上記論理式用変換規則情報であることが、上記鍵生成装置ごとに予め定められている、
暗号システム。
アイテム1からアイテム11のいずれかに記載の暗号システムにおいて、
代数構造Kを有限環または有限体として、
上記第1、第2属性情報ならびに上記第1、第2論理情報は、上記Kの元を成分とするベクトルであり、
上記復号部の上記復号処理では、上記暗号情報と上記復号鍵を入力とし、上記第1論理情報と上記第2属性情報との標準内積または上記第1属性情報と上記第2論理情報との標準内積の結果に依存する演算が行われる、
暗号システム。
アイテム12に記載の暗号システムにおいて、
上記公開鍵は、K上の加群Vの元の集合であり、
上記秘密鍵は、上記加群Vの双対加群V*の元の集合であり、
上記復号鍵は、上記双対加群V*の元であり、
上記暗号化部は、上記公開鍵の元に対して上記第1属性情報の成分を係数とするスカラー倍を行う演算または上記公開鍵の元に対して上記第1論理情報の成分を係数とするスカラー倍を行う演算を含む演算を行うことで上記暗号情報を求め、
上記鍵生成部は、上記秘密鍵の元に対して上記第2論理情報の成分を係数とするスカラー倍を行う演算または上記秘密鍵の元に対して上記第2属性情報の成分を係数とするスカラー倍を行う演算を含む演算を行うことで上記復号鍵を求め、
上記復号部の上記復号処理に用いられる上記演算は、双線形性を有し、上記演算の結果が、双線形性に基づき上記暗号情報と上記復号鍵から取り出された上記第1論理情報と上記第2属性情報あるいは上記第1属性情報と上記第2論理情報の標準内積の結果に依存するように構成されている、
暗号システム。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第1命題論理情報取得部が、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得ステップと、
上記暗号化装置の暗号化部が、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化ステップと、
上記鍵生成装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得ステップと、
上記鍵生成装置の鍵生成部が、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成ステップと、
上記復号装置の復号部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップと
を有する暗号通信方法。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第1命題論理情報取得部が、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得ステップと、
上記暗号化装置の暗号化部が、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化ステップと、
上記復号装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得ステップと、
上記鍵生成装置の鍵生成部が、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成ステップと、
上記復号装置の復号部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップと
を有する暗号通信方法。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第1命題論理情報取得部が、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得ステップと、
上記暗号化装置の暗号化部が、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化ステップと、
上記鍵生成装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得ステップと、
上記鍵生成装置の鍵生成部が、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成ステップと、
上記復号装置の復号部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップと
を有する暗号通信方法。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第1命題論理情報取得部が、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得ステップと、
上記暗号化装置の暗号化部が、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化ステップと、
上記復号装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得ステップと、
上記鍵生成装置の鍵生成部が、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成ステップと、
上記復号装置の復号部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップと
を有する暗号通信方法。
アイテム14またはアイテム15に記載の暗号通信方法において、
上記暗号化ステップは、上記暗号化部が上記共通鍵で平文を暗号化した暗号文も求める暗号文生成ステップを含み、
上記復号ステップは、上記復号部が、上記復号処理で得られた上記共通鍵を用いる上記暗号文の第2復号処理、または、上記復号処理で得られた上記共通鍵の生成に用いる上記情報から生成された共通鍵を用いる上記暗号文の第2復号処理を行う第2復号ステップを含む、
暗号通信方法。
アイテム14からアイテム18のいずれかに記載の暗号通信方法において、
上記復号装置の取得部が、上記利用者に対応する上記属性指定情報および/または上記論理式指定情報を記憶する記憶媒体から、当該復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を取得する取得ステップ
を有する暗号通信方法。
アイテム14またはアイテム16に記載の暗号通信方法において、
上記復号装置の送信部が、当該復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を上記鍵生成装置に送信するユーザ情報送信ステップと、
上記鍵生成装置の受信部が、上記復号装置から上記利用者に対応する上記属性指定情報または上記論理式指定情報を受信するユーザ情報受信ステップと
を有する暗号通信方法。
アイテム14からアイテム18のいずれかに記載の暗号通信方法において、
上記暗号システムは、上記利用者に対応する上記属性指定情報および/または上記論理式指定情報を記憶する記憶部を備える、一つまたは複数のユーザ情報管理装置を含んでおり、
上記鍵生成装置のユーザ情報取得部が、上記復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を上記ユーザ情報管理装置から取得するユーザ情報取得ステップと
を有する暗号通信方法。
アイテム14からアイテム21のいずれかに記載の暗号通信方法において、
各上記鍵生成装置につき一つまたは複数の上記変換規則情報ペアが予め定められており、
上記暗号システムは、各上記鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部を備える、一つまたは複数の変換規則情報ペア管理装置を含んでおり、
上記暗号化装置の変換規則情報ペア取得部が、上記変換規則情報ペア管理装置から上記変換規則情報ペアを取得する変換規則情報ペア取得ステップと、
上記復号装置の変換規則情報ペア取得部が、上記変換規則情報ペア管理装置から上記変換規則情報ペアを取得する変換規則情報ペア取得ステップと
を有する暗号通信方法。
アイテム14からアイテム22のいずれかに記載の暗号通信方法において、
上記ポリシー情報の特定対象が上記属性用変換規則情報のみ、あるいは、上記論理式用変換規則情報のみ、あるいは、上記属性用変換規則情報および上記論理式用変換規則情報であることが、上記鍵生成装置ごとに予め定められている、
暗号通信方法。
アイテム14からアイテム23のいずれかに記載の暗号通信方法において、
代数構造Kを有限環または有限体として、
上記第1、第2属性情報ならびに上記第1、第2論理情報は、上記Kの元を成分とするベクトルであり、
上記復号ステップでは、上記復号部が、上記暗号情報と上記復号鍵を入力とし、上記第1論理情報と上記第2属性情報との標準内積または上記第1属性情報と上記第2論理情報との標準内積の結果に依存する演算を行う、
暗号通信方法。
アイテム24に記載の暗号通信方法において、
上記公開鍵は、K上の加群Vの元の集合であり、
上記秘密鍵は、上記加群Vの双対加群V*の元の集合であり、
上記復号鍵は、上記双対加群V*の元であり、
上記暗号化ステップでは、上記暗号化部が、上記公開鍵の元に対して上記第1属性情報の成分を係数とするスカラー倍を行う演算または上記公開鍵の元に対して上記第1論理情報の成分を係数とするスカラー倍を行う演算を含む演算を行うことで上記暗号情報を求め、
上記鍵生成ステップでは、上記鍵生成部が、上記秘密鍵の元に対して上記第2論理情報の成分を係数とするスカラー倍を行う演算または上記秘密鍵の元に対して上記第2属性情報の成分を係数とするスカラー倍を行う演算を含む演算を行うことで上記復号鍵を求め、
上記復号部の上記復号処理に用いられる上記演算は、双線形性を有し、上記演算の結果が、双線形性に基づき上記暗号情報と上記復号鍵から取り出された上記第1論理情報と上記第2属性情報あるいは上記第1属性情報と上記第2論理情報の標準内積の結果に依存するように構成されている、
暗号通信方法。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける暗号化装置であって、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化部と
を含む暗号化装置。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける暗号化装置であって、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化部と
を含む暗号化装置。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける鍵生成装置であって、
上記ポリシー情報で特定される一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部と
を含む鍵生成装置。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける鍵生成装置であって、
上記ポリシー情報で特定される一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から生成された属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部
を含む鍵生成装置。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける復号装置であって、
上記鍵生成装置が生成した復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号化装置が生成した暗号情報に対する復号処理を行う復号部
を含む復号装置。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける復号装置であって、
上記ポリシー情報で特定される一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記鍵生成装置が生成した復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号化装置が生成した暗号情報に対する復号処理を行う復号部
を含む復号装置。
アイテム26またはアイテム27に記載の暗号化装置としてコンピュータを機能させるためのプログラム。
アイテム28またはアイテム29に記載の鍵生成装置としてコンピュータを機能させるためのプログラム。
アイテム30またはアイテム31に記載の復号装置としてコンピュータを機能させるためのプログラム。
アイテム32に記載のプログラム、アイテム33に記載のプログラム、アイテム34に記載のプログラムのうち少なくともいずれかを格納したコンピュータ読み取り可能な記憶媒体。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第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の復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップと
を有する暗号通信方法。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第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の復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップと、
を有する暗号通信方法。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第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の復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップと
を有する暗号通信方法。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第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の復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップと、
を有する暗号通信方法。
アイテム1またはアイテム2に記載の暗号通信方法において、
上記暗号化ステップは、上記暗号化部が上記共通鍵で平文を暗号化した暗号文も求める暗号文生成ステップを含み、
上記復号ステップは、上記復号部が、上記復号処理で得られた上記共通鍵を用いる上記暗号文の第2復号処理、または、上記復号処理で得られた上記共通鍵の生成に用いる上記情報から生成された共通鍵を用いる上記暗号文の第2復号処理を行う第2復号ステップを含む、
暗号通信方法。
アイテム1からアイテム5のいずれかに記載の暗号通信方法において、
上記復号装置の取得部が、上記利用者に対応する上記属性指定情報および/または上記論理式指定情報を記憶する記憶媒体から、当該復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を取得する取得ステップ
を有する暗号通信方法。
アイテム1またはアイテム3に記載の暗号通信方法において、
上記復号装置の送信部が、当該復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を上記鍵生成装置に送信するユーザ情報送信ステップと、
上記鍵生成装置の受信部が、上記復号装置から上記利用者に対応する上記属性指定情報または上記論理式指定情報を受信するユーザ情報受信ステップと
を有する暗号通信方法。
アイテム1からアイテム6のいずれかに記載の暗号通信方法において、
上記暗号システムは、上記利用者に対応する上記属性指定情報および/または上記論理式指定情報を記憶する記憶部を備える、一つまたは複数のユーザ情報管理装置を含んでおり、
上記鍵生成装置のユーザ情報取得部が、上記復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を上記ユーザ情報管理装置から取得するユーザ情報取得ステップと
を有する暗号通信方法。
アイテム1からアイテム8のいずれかに記載の暗号通信方法において、
各上記鍵生成装置につき一つまたは複数の上記変換規則情報ペアが予め定められており、
上記暗号システムは、各上記鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部を備える、一つまたは複数の変換規則情報ペア管理装置を含んでおり、
上記暗号化装置の変換規則情報ペア取得部が、上記変換規則情報ペア管理装置から上記変換規則情報ペアを取得する変換規則情報ペア取得ステップと、
上記復号装置の変換規則情報ペア取得部が、上記変換規則情報ペア管理装置から上記変換規則情報ペアを取得する変換規則情報ペア取得ステップと
を有する暗号通信方法。
アイテム1からアイテム9のいずれかに記載の暗号通信方法において、
上記ポリシー情報の特定対象が上記属性用変換規則情報のみ、あるいは、上記論理式用変換規則情報のみ、あるいは、上記属性用変換規則情報および上記論理式用変換規則情報であることが、上記鍵生成装置ごとに予め定められている、
暗号通信方法。
アイテム1からアイテム10のいずれかに記載の暗号通信方法において、
代数構造Kを有限環または有限体として、
上記第1、第2属性情報ならびに上記第1、第2論理情報は、上記Kの元を成分とするベクトルであり、
上記復号ステップでは、上記復号部が、上記暗号情報と上記復号鍵を入力とし、上記第1論理情報と上記第2属性情報との標準内積または上記第1属性情報と上記第2論理情報との標準内積の結果に依存する演算を行う、
暗号通信方法。
アイテム11に記載の暗号通信方法において、
上記公開鍵は、K上の加群Vの元の集合であり、
上記秘密鍵は、上記加群Vの双対加群V*の元の集合であり、
上記復号鍵は、上記双対加群V*の元であり、
上記暗号化ステップでは、上記暗号化部が、上記公開鍵の元に対して上記第1属性情報の成分を係数とするスカラー倍を行う演算または上記公開鍵の元に対して上記第1論理情報の成分を係数とするスカラー倍を行う演算を含む演算を行うことで上記暗号情報を求め、
上記鍵生成ステップでは、上記鍵生成部が、上記秘密鍵の元に対して上記第2論理情報の成分を係数とするスカラー倍を行う演算または上記秘密鍵の元に対して上記第2属性情報の成分を係数とするスカラー倍を行う演算を含む演算を行うことで上記復号鍵を求め、
上記復号部の上記復号処理に用いられる上記演算は、双線形性を有し、上記演算の結果が、双線形性に基づき上記暗号情報と上記復号鍵から取り出された上記第1論理情報と上記第2属性情報あるいは上記第1属性情報と上記第2論理情報の標準内積の結果に依存するように構成されている、
暗号通信方法。
関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化部とを含み、
上記鍵生成装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含み、
上記復号装置は、
上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部と、
上記暗号情報を当該復号装置以外の一つ以上の復号装置に転送する転送部とを含む、
暗号システム。
関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化部とを含み、
上記復号装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部と、
上記暗号情報を当該復号装置以外の一つ以上の復号装置に転送する転送部とを含み、
上記鍵生成装置は、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含む、
暗号システム。
関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化部とを含み、
上記鍵生成装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含み、
上記復号装置は、
上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部と、
上記暗号情報を当該復号装置以外の一つ以上の復号装置に転送する転送部とを含む、
暗号システム。
関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化部とを含み、
上記復号装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部と、
上記暗号情報を当該復号装置以外の一つ以上の復号装置に転送する転送部とを含み、
上記鍵生成装置は、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含む、
暗号システム。
アイテム13またはアイテム14に記載の暗号システムにおいて、
上記暗号化装置の上記暗号化部は、上記共通鍵で平文を暗号化した暗号文も求め、
上記復号装置の上記復号部は、上記復号処理で得られた上記共通鍵を用いる上記暗号文の第2復号処理、または、上記復号処理で得られた上記共通鍵の生成に用いる上記情報から生成された共通鍵を用いる上記暗号文の第2復号処理も行う、
暗号システム。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける復号装置であって、
上記鍵生成装置が生成した復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号化装置が生成した暗号情報に対する復号処理を行う復号部と、
上記暗号情報を当該復号装置以外の一つ以上の復号装置に転送する転送部と
を含む復号装置。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける復号装置であって、
上記ポリシー情報で特定される一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記鍵生成装置が生成した復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号化装置が生成した暗号情報に対する復号処理を行う復号部と、
上記暗号情報を当該復号装置以外の一つ以上の復号装置に転送する転送部と
を含む復号装置。
アイテム18またはアイテム19に記載の復号装置としてコンピュータを機能させるためのプログラム。
アイテム20に記載のプログラムを格納したコンピュータ読み取り可能な記憶媒体。
関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報と、当該共通鍵で当該コンテンツを暗号化した暗号化コンテンツとを求める暗号化部とを含み、
上記コンテンツサーバ装置は、
各上記暗号化装置から送られた上記暗号情報および上記暗号化コンテンツを記憶する記憶部と、
上記復号装置からの要求に応じて上記暗号化コンテンツとこれに対応する上記暗号情報を当該復号装置に送信する送信部とを含み、
上記鍵生成装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含み、
上記復号装置は、
ブラウザ部と中継部とを含み、
上記ブラウザ部は、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行い、上記暗号化コンテンツから復号されたコンテンツを表示し、
上記中継部は、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信し、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号情報に対する復号処理と、当該復号処理で得られた上記共通鍵を用いて、上記コンテンツサーバ装置から取得した上記暗号化コンテンツを復号するコンテンツ取得処理を行う、
暗号システム。
関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報と、当該共通鍵で当該コンテンツを暗号化した暗号化コンテンツとを求める暗号化部とを含み、
上記コンテンツサーバ装置は、
各上記暗号化装置から送られた上記暗号情報および上記暗号化コンテンツを記憶する記憶部と、
上記復号装置からの要求に応じて上記暗号化コンテンツとこれに対応する上記暗号情報を当該復号装置に送信する送信部とを含み、
上記復号装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、ブラウザ部と、中継部とを含み、
上記ブラウザ部は、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行い、上記暗号化コンテンツから復号されたコンテンツを表示し、
上記中継部は、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信し、上記鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号情報に対する復号処理と、当該復号処理で得られた上記共通鍵を用いて、上記コンテンツサーバ装置から取得した上記暗号化コンテンツを復号するコンテンツ取得処理を行い、
上記鍵生成装置は、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含む、
暗号システム。
関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、当該コンテンツを暗号化した暗号化コンテンツを求める暗号化部とを含み、
上記コンテンツサーバ装置は、
各上記暗号化装置から送られた上記暗号化コンテンツを記憶する記憶部と、
上記復号装置からの要求に応じて上記暗号化コンテンツを当該復号装置に送信する送信部とを含み、
上記鍵生成装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号化コンテンツの復号に用いる復号鍵を生成する鍵生成部とを含み、
上記復号装置は、
ブラウザ部と中継部とを含み、
上記ブラウザ部は、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行い、上記暗号化コンテンツから復号されたコンテンツを表示し、
上記中継部は、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信し、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号化コンテンツに対する復号処理を行う、
暗号システム。
関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、当該コンテンツを暗号化した暗号化コンテンツを求める暗号化部とを含み、
上記コンテンツサーバ装置は、
各上記暗号化装置から送られた上記暗号化コンテンツを記憶する記憶部と、
上記復号装置からの要求に応じて上記暗号化コンテンツを当該復号装置に送信する送信部とを含み、
上記復号装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、ブラウザ部と、中継部とを含み、
上記ブラウザ部は、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行い、上記暗号化コンテンツから復号されたコンテンツを表示し、
上記中継部は、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信し、上記鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号化コンテンツに対する復号処理を行い、
上記鍵生成装置は、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号化コンテンツの復号に用いる復号鍵を生成する鍵生成部とを含む、
暗号システム。
アイテム1からアイテム4のいずれかに記載の暗号システムにおいて、
上記利用者に対応する上記属性指定情報および/または上記論理式指定情報は記憶媒体に記憶されており、
上記復号装置は、当該復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を上記記憶媒体から取得するユーザ情報取得部を含む、
暗号システム。
アイテム1またはアイテム3に記載の暗号システムにおいて、
上記鍵生成装置が用いる、上記復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報は、上記復号装置から取得した情報である、
暗号システム。
アイテム1からアイテム6のいずれかに記載の暗号システムにおいて、
上記暗号システムは、一つまたは複数のユーザ情報管理装置をさらに含み、
各上記ユーザ情報管理装置は、上記利用者に対応する上記属性指定情報および/または上記論理式指定情報を記憶する記憶部を含み、
上記鍵生成装置は、上記復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を上記ユーザ情報管理装置から取得するユーザ情報取得部を含む、
暗号システム。
アイテム1からアイテム7のいずれかに記載の暗号システムにおいて、
各上記鍵生成装置につき一つまたは複数の上記変換規則情報ペアが予め定められており、
上記暗号システムは、一つまたは複数の変換規則情報ペア管理装置をさらに含み、
各上記変換規則情報ペア管理装置は、各上記鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部を含み、
上記暗号化装置は、上記変換規則情報ペア管理装置から上記変換規則情報ペアを取得する変換規則情報ペア取得部を含み、
上記復号装置は、上記変換規則情報ペア管理装置から上記変換規則情報ペアを取得する変換規則情報ペア取得部を含む、
暗号システム。
アイテム1からアイテム7のいずれかに記載の暗号システムにおいて、
各上記鍵生成装置につき一つまたは複数の上記変換規則情報ペアが予め定められており、
各上記鍵生成装置は、当該鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部をさらに含み、
各上記暗号化装置は、少なくとも一つ以上の上記鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部をさらに含み、
各上記復号装置は、少なくとも一つ以上の上記鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部をさらに含む、
暗号システム。
アイテム1からアイテム9のいずれかに記載の暗号システムにおいて、
上記ポリシー情報の特定対象が上記属性用変換規則情報のみ、あるいは、上記論理式用変換規則情報のみ、あるいは、上記属性用変換規則情報および上記論理式用変換規則情報であることが、上記鍵生成装置ごとに予め定められている、
暗号システム。
アイテム1からアイテム10のいずれかに記載の暗号システムにおいて、
代数構造Kを有限環または有限体として、
上記第1、第2属性情報ならびに上記第1、第2論理情報は、上記Kの元を成分とするベクトルであり、
上記復号部の上記復号処理では、上記第1論理情報と上記第2属性情報との標準内積または上記第1属性情報と上記第2論理情報との標準内積の結果に依存する演算が行われる、
暗号システム。
アイテム11に記載の暗号システムにおいて、
上記公開鍵は、K上の加群Vの元の集合であり、
上記秘密鍵は、上記加群Vの双対加群V*の元の集合であり、
上記復号鍵は、上記双対加群V*の元であり、
上記暗号化部は、上記公開鍵の元に対して上記第1属性情報の成分を係数とするスカラー倍を行う演算または上記公開鍵の元に対して上記第1論理情報の成分を係数とするスカラー倍を行う演算を含む演算を行うことで上記暗号情報を求め、
上記鍵生成部は、上記秘密鍵の元に対して上記第2論理情報の成分を係数とするスカラー倍を行う演算または上記秘密鍵の元に対して上記第2属性情報の成分を係数とするスカラー倍を行う演算を含む演算を行うことで上記復号鍵を求め、
上記復号部の上記復号処理に用いられる上記演算は、双線形性を有し、上記演算の結果が、双線形性に基づき上記暗号情報または上記暗号化コンテンツと上記復号鍵から取り出された上記第1論理情報と上記第2属性情報あるいは上記第1属性情報と上記第2論理情報の標準内積の結果に依存するように構成されている、
暗号システム。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第1命題論理情報取得部が、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得ステップと、
上記暗号化装置の暗号化部が、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報と、当該共通鍵で当該コンテンツを暗号化した暗号化コンテンツとを求める暗号化ステップと、
上記暗号化装置の送信部が、上記暗号化コンテンツとこれに対応する上記暗号情報を上記コンテンツサーバ装置に送信する送信ステップと、
上記コンテンツサーバ装置の記憶部が、各上記暗号化装置から送られた上記暗号情報と上記暗号化コンテンツを記憶する記憶ステップと、
上記復号装置のブラウザ部が、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行う取得要求処理ステップと、
上記復号装置の中継部が、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信する送信ステップと、
上記コンテンツサーバ装置の送信部が、上記復号装置からの要求に応じて上記暗号化コンテンツとこれに対応する上記暗号情報を当該復号装置に送信する送信ステップと、
上記復号装置の受信部が、上記コンテンツサーバ装置から上記暗号化コンテンツと上記暗号情報を受信する受信ステップと、
上記鍵生成装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得ステップと、
上記鍵生成装置の鍵生成部が、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成ステップと、
上記鍵生成装置の送信部が、上記復号鍵を上記復号装置に送信する復号鍵送信ステップと、
上記復号装置の受信部が、上記鍵生成装置から上記復号鍵を受信する復号鍵受信ステップと、
上記復号装置の中継部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号情報に対する復号処理と、当該復号処理で得られた上記共通鍵を用いて、上記コンテンツサーバ装置から取得した上記暗号化コンテンツを復号するコンテンツ取得処理を行う復号ステップと、
上記復号装置のブラウザ部が、上記暗号化コンテンツから復号されたコンテンツを表示する表示ステップと
を有する暗号通信方法。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第1命題論理情報取得部が、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得ステップと、
上記暗号化装置の暗号化部が、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報と、当該共通鍵で当該コンテンツを暗号化した暗号化コンテンツとを求める暗号化ステップと、
上記暗号化装置の送信部が、上記暗号化コンテンツとこれに対応する上記暗号情報を上記コンテンツサーバ装置に送信する送信ステップと、
上記コンテンツサーバ装置の記憶部が、各上記暗号化装置から送られた上記暗号情報および上記暗号化コンテンツを記憶する記憶ステップと、
上記復号装置のブラウザ部が、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行う取得要求処理ステップと、
上記復号装置の中継部が、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信する送信ステップと、
上記コンテンツサーバ装置の送信部が、上記復号装置からの要求に応じて上記暗号化コンテンツとこれに対応する上記暗号情報を当該復号装置に送信する送信ステップと、
上記復号装置の受信部が、上記コンテンツサーバ装置から上記暗号化コンテンツと上記暗号情報を受信する受信ステップと、
上記復号装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得ステップと、
上記復号装置の送信部が、上記第2属性情報または上記第2論理情報を上記鍵生成装置に送信する論理情報送信ステップと、
上記鍵生成装置の受信部が、上記復号装置から上記第2属性情報または上記第2論理情報を受信する論理情報受信ステップと、
上記鍵生成装置の鍵生成部が、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成ステップと、
上記鍵生成装置の送信部が、上記復号鍵を上記復号装置に送信する復号鍵送信ステップと、
上記復号装置の受信部が、上記鍵生成装置から上記復号鍵を受信する復号鍵受信ステップと、
上記復号装置の中継部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号情報に対する復号処理と、当該復号処理で得られた上記共通鍵を用いて、上記コンテンツサーバ装置から取得した上記暗号化コンテンツを復号するコンテンツ取得処理を行う復号ステップと、
上記復号装置のブラウザ部が、上記暗号化コンテンツから復号されたコンテンツを表示する表示ステップと
を有する暗号通信方法。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第1命題論理情報取得部が、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得ステップと、
上記暗号化装置の暗号化部が、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、当該コンテンツを暗号化した暗号化コンテンツを求める暗号化ステップと、
上記暗号化装置の送信部が、上記暗号化コンテンツを上記コンテンツサーバ装置に送信する送信ステップと、
上記コンテンツサーバ装置の記憶部が、各上記暗号化装置から送られた上記暗号化コンテンツを記憶する記憶ステップと、
上記復号装置のブラウザ部が、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行う取得要求処理ステップと、
上記復号装置の中継部が、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信する送信ステップと、
上記コンテンツサーバ装置の送信部が、上記復号装置からの要求に応じて上記暗号化コンテンツを当該復号装置に送信する送信ステップと、
上記復号装置の受信部が、上記コンテンツサーバ装置から上記暗号化コンテンツを受信する受信ステップと、
上記鍵生成装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得ステップと、
上記鍵生成装置の鍵生成部が、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号化コンテンツの復号に用いる復号鍵を生成する鍵生成ステップと、
上記鍵生成装置の送信部が、上記復号鍵を上記復号装置に送信する復号鍵送信ステップと、
上記復号装置の受信部が、上記鍵生成装置から上記復号鍵を受信する復号鍵受信ステップと、
上記復号装置の中継部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号化コンテンツに対する復号処理を行う復号ステップと、
上記復号装置のブラウザ部が、上記暗号化コンテンツから復号されたコンテンツを表示する表示ステップと
を有する暗号通信方法。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第1命題論理情報取得部が、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得ステップと、
上記暗号化装置の暗号化部が、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、当該コンテンツを暗号化した暗号化コンテンツを求める暗号化ステップと、
上記暗号化装置の送信部が、上記暗号化コンテンツを上記コンテンツサーバ装置に送信する送信ステップと、
上記コンテンツサーバ装置の記憶部が、各上記暗号化装置から送られた上記暗号化コンテンツを記憶する記憶ステップと、
上記復号装置のブラウザ部が、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行う取得要求処理ステップと、
上記復号装置の中継部が、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信する送信ステップと、
上記コンテンツサーバ装置の送信部が、上記復号装置からの要求に応じて上記暗号化コンテンツを当該復号装置に送信する送信ステップと、
上記復号装置の受信部が、上記コンテンツサーバ装置から上記暗号化コンテンツを受信する受信ステップと、
上記復号装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得ステップと、
上記復号装置の送信部が、上記第2属性情報または上記第2論理情報を上記鍵生成装置に送信する論理情報送信ステップと、
上記鍵生成装置の受信部が、上記復号装置から上記第2属性情報または上記第2論理情報を受信する論理情報受信ステップと、
上記鍵生成装置の鍵生成部が、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号化コンテンツの復号に用いる復号鍵を生成する鍵生成ステップと、
上記鍵生成装置の送信部が、上記復号鍵を上記復号装置に送信する復号鍵送信ステップと、
上記復号装置の受信部が、上記鍵生成装置から上記復号鍵を受信する復号鍵受信ステップと、
上記復号装置の中継部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号化コンテンツに対する復号処理を行う復号ステップと、
上記復号装置のブラウザ部が、上記暗号化コンテンツから復号されたコンテンツを表示する表示ステップと
を有する暗号通信方法。
少なくとも、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報と、当該共通鍵でコンテンツを暗号化した暗号化コンテンツとを求める、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、上記暗号化コンテンツと上記暗号情報を記憶している一つまたは複数のコンテンツサーバ装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける復号装置であって、
ブラウザ部と中継部とを含み、
上記ブラウザ部は、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行い、上記暗号化コンテンツから復号されたコンテンツを表示し、
上記中継部は、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信し、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号情報に対する復号処理と、当該復号処理で得られた上記共通鍵を用いて、上記コンテンツサーバ装置から取得した上記暗号化コンテンツを復号するコンテンツ取得処理を行う、
復号装置。
少なくとも、関数暗号アルゴリズムに則り、コンテンツを暗号化した暗号化コンテンツを求める、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、上記暗号化コンテンツを記憶している一つまたは複数のコンテンツサーバ装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける復号装置であって、
ブラウザ部と中継部とを含み、
上記ブラウザ部は、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行い、上記暗号化コンテンツから復号されたコンテンツを表示し、
上記中継部は、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信し、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号化コンテンツに対する復号処理を行う、
復号装置。
少なくとも、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報と、当該共通鍵でコンテンツを暗号化した暗号化コンテンツとを求める一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおけるコンテンツサーバ装置であって、
各上記暗号化装置から送られた上記暗号情報および上記暗号化コンテンツを記憶する記憶部と、
上記復号装置からの要求に応じて上記暗号化コンテンツとこれに対応する上記暗号情報を当該復号装置に送信する送信部と
を含むコンテンツサーバ装置。
少なくとも、関数暗号アルゴリズムに則り、コンテンツを暗号化した暗号化コンテンツを求める一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおけるコンテンツサーバ装置であって、
各上記暗号化装置から送られた上記暗号化コンテンツを記憶する記憶部と、
上記復号装置からの要求に応じて上記暗号化コンテンツを当該復号装置に送信する送信部と
を含むコンテンツサーバ装置。
アイテム17またはアイテム18に記載の復号装置としてコンピュータを機能させるためのプログラム。
アイテム19またはアイテム20に記載のコンテンツサーバ装置としてコンピュータを機能させるためのプログラム。
アイテム21に記載のプログラムおよび/またはアイテム22に記載のプログラムを格納したコンピュータ読み取り可能な記憶媒体。
Claims (39)
- 関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化部とを含み、
上記鍵生成装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含み、
上記復号装置は、
上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部を含む、
暗号システム。 - 関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化部とを含み、
上記復号装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部を含み、
上記鍵生成装置は、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含む、
暗号システム。 - 関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化部とを含み、
上記鍵生成装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含み、
上記復号装置は、
上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部を含む、
暗号システム。 - 関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化部とを含み、
上記復号装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部を含み、
上記鍵生成装置は、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含む、
暗号システム。 - 請求項1に記載の暗号システムにおいて、
上記暗号化装置の上記暗号化部は、上記共通鍵で平文を暗号化した暗号文も求め、
上記復号装置の上記復号部は、上記復号処理で得られた上記共通鍵を用いる上記暗号文の第2復号処理、または、上記復号処理で得られた上記共通鍵の生成に用いる上記情報から生成された共通鍵を用いる上記暗号文の第2復号処理も行う、
暗号システム。 - 請求項2に記載の暗号システムにおいて、
上記暗号化装置の上記暗号化部は、上記共通鍵で平文を暗号化した暗号文も求め、
上記復号装置の上記復号部は、上記復号処理で得られた上記共通鍵を用いる上記暗号文の第2復号処理、または、上記復号処理で得られた上記共通鍵の生成に用いる上記情報から生成された共通鍵を用いる上記暗号文の第2復号処理も行う、暗号システム。 - 請求項1から請求項6のいずれかに記載の暗号システムにおいて、
上記暗号システムは、複数の上記復号装置を含み、
複数の上記復号装置のうち少なくとも一つの上記復号装置は、当該復号装置以外の一つ以上の復号装置に上記暗号情報を転送する転送部をさらに含む
暗号システム。 - 関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報と、当該共通鍵で当該コンテンツを暗号化した暗号化コンテンツとを求める暗号化部とを含み、
上記コンテンツサーバ装置は、
各上記暗号化装置から送られた上記暗号情報および上記暗号化コンテンツを記憶する記憶部と、
上記復号装置からの要求に応じて上記暗号化コンテンツとこれに対応する上記暗号情報を当該復号装置に送信する送信部とを含み、
上記鍵生成装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含み、
上記復号装置は、
ブラウザ部と中継部とを含み、
上記ブラウザ部は、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行い、上記暗号化コンテンツから復号されたコンテンツを表示し、
上記中継部は、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信し、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号情報に対する復号処理と、当該復号処理で得られた上記共通鍵を用いて、上記コンテンツサーバ装置から取得した上記暗号化コンテンツを復号するコンテンツ取得処理を行う、
暗号システム。 - 関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報と、当該共通鍵で当該コンテンツを暗号化した暗号化コンテンツとを求める暗号化部とを含み、
上記コンテンツサーバ装置は、
各上記暗号化装置から送られた上記暗号情報および上記暗号化コンテンツを記憶する記憶部と、
上記復号装置からの要求に応じて上記暗号化コンテンツとこれに対応する上記暗号情報を当該復号装置に送信する送信部とを含み、
上記復号装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、ブラウザ部と、中継部とを含み、
上記ブラウザ部は、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行い、上記暗号化コンテンツから復号されたコンテンツを表示し、
上記中継部は、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信し、上記鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号情報に対する復号処理と、当該復号処理で得られた上記共通鍵を用いて、上記コンテンツサーバ装置から取得した上記暗号化コンテンツを復号するコンテンツ取得処理を行い、
上記鍵生成装置は、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含む、
暗号システム。 - 関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、当該コンテンツを暗号化した暗号化コンテンツを求める暗号化部とを含み、
上記コンテンツサーバ装置は、
各上記暗号化装置から送られた上記暗号化コンテンツを記憶する記憶部と、
上記復号装置からの要求に応じて上記暗号化コンテンツを当該復号装置に送信する送信部とを含み、
上記鍵生成装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号化コンテンツの復号に用いる復号鍵を生成する鍵生成部とを含み、
上記復号装置は、
ブラウザ部と中継部とを含み、
上記ブラウザ部は、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行い、上記暗号化コンテンツから復号されたコンテンツを表示し、
上記中継部は、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信し、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号化コンテンツに対する復号処理を行う、
暗号システム。 - 関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第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属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化ステップと、
上記復号装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得ステップと、
上記鍵生成装置の鍵生成部が、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成ステップと、
上記復号装置の復号部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップと
を有する暗号通信方法。 - 少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第1命題論理情報取得部が、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得ステップと、
上記暗号化装置の暗号化部が、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化ステップと、
上記鍵生成装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得ステップと、
上記鍵生成装置の鍵生成部が、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成ステップと、
上記復号装置の復号部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップと
を有する暗号通信方法。 - 少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第1命題論理情報取得部が、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得ステップと、
上記暗号化装置の暗号化部が、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化ステップと、
上記復号装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得ステップと、
上記鍵生成装置の鍵生成部が、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成ステップと、
上記復号装置の復号部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップと
を有する暗号通信方法。 - 少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第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の復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップと
を有する暗号通信方法。 - 少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第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の復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップと、
を有する暗号通信方法。 - 少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第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の復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップと
を有する暗号通信方法。 - 少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第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の復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップと、
を有する暗号通信方法。 - 少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第1命題論理情報取得部が、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得ステップと、
上記暗号化装置の暗号化部が、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報と、当該共通鍵で当該コンテンツを暗号化した暗号化コンテンツとを求める暗号化ステップと、
上記暗号化装置の送信部が、上記暗号化コンテンツとこれに対応する上記暗号情報を上記コンテンツサーバ装置に送信する送信ステップと、
上記コンテンツサーバ装置の記憶部が、各上記暗号化装置から送られた上記暗号情報と上記暗号化コンテンツを記憶する記憶ステップと、
上記復号装置のブラウザ部が、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行う取得要求処理ステップと、
上記復号装置の中継部が、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信する送信ステップと、
上記コンテンツサーバ装置の送信部が、上記復号装置からの要求に応じて上記暗号化コンテンツとこれに対応する上記暗号情報を当該復号装置に送信する送信ステップと、
上記復号装置の受信部が、上記コンテンツサーバ装置から上記暗号化コンテンツと上記暗号情報を受信する受信ステップと、
上記鍵生成装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得ステップと、
上記鍵生成装置の鍵生成部が、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成ステップと、
上記鍵生成装置の送信部が、上記復号鍵を上記復号装置に送信する復号鍵送信ステップと、
上記復号装置の受信部が、上記鍵生成装置から上記復号鍵を受信する復号鍵受信ステップと、
上記復号装置の中継部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号情報に対する復号処理と、当該復号処理で得られた上記共通鍵を用いて、上記コンテンツサーバ装置から取得した上記暗号化コンテンツを復号するコンテンツ取得処理を行う復号ステップと、
上記復号装置のブラウザ部が、上記暗号化コンテンツから復号されたコンテンツを表示する表示ステップと
を有する暗号通信方法。 - 少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第1命題論理情報取得部が、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得ステップと、
上記暗号化装置の暗号化部が、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報と、当該共通鍵で当該コンテンツを暗号化した暗号化コンテンツとを求める暗号化ステップと、
上記暗号化装置の送信部が、上記暗号化コンテンツとこれに対応する上記暗号情報を上記コンテンツサーバ装置に送信する送信ステップと、
上記コンテンツサーバ装置の記憶部が、各上記暗号化装置から送られた上記暗号情報および上記暗号化コンテンツを記憶する記憶ステップと、
上記復号装置のブラウザ部が、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行う取得要求処理ステップと、
上記復号装置の中継部が、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信する送信ステップと、
上記コンテンツサーバ装置の送信部が、上記復号装置からの要求に応じて上記暗号化コンテンツとこれに対応する上記暗号情報を当該復号装置に送信する送信ステップと、
上記復号装置の受信部が、上記コンテンツサーバ装置から上記暗号化コンテンツと上記暗号情報を受信する受信ステップと、
上記復号装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得ステップと、
上記復号装置の送信部が、上記第2属性情報または上記第2論理情報を上記鍵生成装置に送信する論理情報送信ステップと、
上記鍵生成装置の受信部が、上記復号装置から上記第2属性情報または上記第2論理情報を受信する論理情報受信ステップと、
上記鍵生成装置の鍵生成部が、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成ステップと、
上記鍵生成装置の送信部が、上記復号鍵を上記復号装置に送信する復号鍵送信ステップと、
上記復号装置の受信部が、上記鍵生成装置から上記復号鍵を受信する復号鍵受信ステップと、
上記復号装置の中継部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号情報に対する復号処理と、当該復号処理で得られた上記共通鍵を用いて、上記コンテンツサーバ装置から取得した上記暗号化コンテンツを復号するコンテンツ取得処理を行う復号ステップと、
上記復号装置のブラウザ部が、上記暗号化コンテンツから復号されたコンテンツを表示する表示ステップと
を有する暗号通信方法。 - 少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第1命題論理情報取得部が、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得ステップと、
上記暗号化装置の暗号化部が、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、コンテンツとを用いて、関す暗号アルゴリズムに則り、当該コンテンツを暗号化した暗号化コンテンツを求める暗号化ステップと、
上記暗号化装置の送信部が、上記暗号化コンテンツを上記コンテンツサーバ装置に送信する送信ステップと、
上記コンテンツサーバ装置の記憶部が、各上記暗号化装置から送られた上記暗号化コンテンツを記憶する記憶ステップと、
上記復号装置のブラウザ部が、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行う取得要求処理ステップと、
上記復号装置の中継部が、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信する送信ステップと、
上記コンテンツサーバ装置の送信部が、上記復号装置からの要求に応じて上記暗号化コンテンツを当該復号装置に送信する送信ステップと、
上記復号装置の受信部が、上記コンテンツサーバ装置から上記暗号化コンテンツを受信する受信ステップと、
上記鍵生成装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得ステップと、
上記鍵生成装置の鍵生成部が、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号化コンテンツの復号に用いる復号鍵を生成する鍵生成ステップと、
上記鍵生成装置の送信部が、上記復号鍵を上記復号装置に送信する復号鍵送信ステップと、
上記復号装置の受信部が、上記鍵生成装置から上記復号鍵を受信する復号鍵受信ステップと、
上記復号装置の中継部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号化コンテンツに対する復号処理を行う復号ステップと、
上記復号装置のブラウザ部が、上記暗号化コンテンツから復号されたコンテンツを表示する表示ステップと
を有する暗号通信方法。 - 少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第1命題論理情報取得部が、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得ステップと、
上記暗号化装置の暗号化部が、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、当該コンテンツを暗号化した暗号化コンテンツを求める暗号化ステップと、
上記暗号化装置の送信部が、上記暗号化コンテンツを上記コンテンツサーバ装置に送信する送信ステップと、
上記コンテンツサーバ装置の記憶部が、各上記暗号化装置から送られた上記暗号化コンテンツを記憶する記憶ステップと、
上記復号装置のブラウザ部が、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行う取得要求処理ステップと、
上記復号装置の中継部が、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信する送信ステップと、
上記コンテンツサーバ装置の送信部が、上記復号装置からの要求に応じて上記暗号化コンテンツを当該復号装置に送信する送信ステップと、
上記復号装置の受信部が、上記コンテンツサーバ装置から上記暗号化コンテンツを受信する受信ステップと、
上記復号装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得ステップと、
上記復号装置の送信部が、上記第2属性情報または上記第2論理情報を上記鍵生成装置に送信する論理情報送信ステップと、
上記鍵生成装置の受信部が、上記復号装置から上記第2属性情報または上記第2論理情報を受信する論理情報受信ステップと、
上記鍵生成装置の鍵生成部が、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号化コンテンツの復号に用いる復号鍵を生成する鍵生成ステップと、
上記鍵生成装置の送信部が、上記復号鍵を上記復号装置に送信する復号鍵送信ステップと、
上記復号装置の受信部が、上記鍵生成装置から上記復号鍵を受信する復号鍵受信ステップと、
上記復号装置の中継部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号化コンテンツに対する復号処理を行う復号ステップと、
上記復号装置のブラウザ部が、上記暗号化コンテンツから復号されたコンテンツを表示する表示ステップと
を有する暗号通信方法。 - 少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける暗号化装置であって、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化部と
を含む暗号化装置。 - 少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける暗号化装置であって、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化部と
を含む暗号化装置。 - 少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける鍵生成装置であって、
上記ポリシー情報で特定される一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、暗号情報の復号に用いる復号鍵を生成する鍵生成部と
を含む鍵生成装置。 - 少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける鍵生成装置であって、
上記ポリシー情報で特定される一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から生成された属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)と、当該鍵生成装置の秘密鍵とを用いて、暗号情報の復号に用いる復号鍵を生成する鍵生成部
を含む鍵生成装置。 - 少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける復号装置であって、
上記鍵生成装置が生成した復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号化装置が生成した暗号情報に対する復号処理を行う復号部
を含む復号装置。 - 少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける復号装置であって、
上記ポリシー情報で特定される一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記鍵生成装置が生成した復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号化装置が生成した暗号情報に対する復号処理を行う復号部
を含む復号装置。 - 請求項28または請求項29に記載の復号装置において、
上記暗号システムが複数の復号装置を含む場合に、
当該復号装置以外の一つ以上の復号装置に上記暗号情報を転送する転送部をさらに含む復号装置。 - 少なくとも、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報と、当該共通鍵でコンテンツを暗号化した暗号化コンテンツとを求める、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、上記暗号化コンテンツと上記暗号情報を記憶している一つまたは複数のコンテンツサーバ装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける復号装置であって、
ブラウザ部と中継部とを含み、
上記ブラウザ部は、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行い、上記暗号化コンテンツから復号されたコンテンツを表示し、
上記中継部は、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信し、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号情報に対する復号処理と、当該復号処理で得られた上記共通鍵を用いて、上記コンテンツサーバ装置から取得した上記暗号化コンテンツを復号するコンテンツ取得処理を行う、
復号装置。 - 少なくとも、関数暗号アルゴリズムに則り、コンテンツを暗号化した暗号化コンテンツを求める、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、上記暗号化コンテンツを記憶している一つまたは複数のコンテンツサーバ装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける復号装置であって、
ブラウザ部と中継部とを含み、
上記ブラウザ部は、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行い、上記暗号化コンテンツから復号されたコンテンツを表示し、
上記中継部は、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信し、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号化コンテンツに対する復号処理を行う、
復号装置。 - 少なくとも、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報と、当該共通鍵でコンテンツを暗号化した暗号化コンテンツとを求める一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおけるコンテンツサーバ装置であって、
各上記暗号化装置から送られた上記暗号情報および上記暗号化コンテンツを記憶する記憶部と、
上記復号装置からの要求に応じて上記暗号化コンテンツとこれに対応する上記暗号情報を当該復号装置に送信する送信部と
を含むコンテンツサーバ装置。 - 少なくとも、関数暗号アルゴリズムに則り、コンテンツを暗号化した暗号化コンテンツを求める一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおけるコンテンツサーバ装置であって、
各上記暗号化装置から送られた上記暗号化コンテンツを記憶する記憶部と、
上記復号装置からの要求に応じて上記暗号化コンテンツを当該復号装置に送信する送信部と
を含むコンテンツサーバ装置。 - 請求項24または請求項25に記載の暗号化装置としてコンピュータを機能させるためのプログラム。
- 請求項26または請求項27に記載の鍵生成装置としてコンピュータを機能させるためのプログラム。
- 請求項28、29、31、32のいずれかに記載の復号装置としてコンピュータを機能させるためのプログラム。
- 請求項33または請求項34に記載のコンテンツサーバ装置としてコンピュータを機能させるためのプログラム。
- 請求項35に記載のプログラム、請求項36に記載のプログラム、請求項37に記載のプログラム、請求項38に記載のプログラム、のうち少なくともいずれかを格納したコンピュータ読み取り可能な記憶媒体。
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)
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)
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)
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)
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 | 니뽄 덴신 덴와 가부시키가이샤 | 암호 시스템, 암호 통신 방법, 암호화 장치, 키 생성 장치, 복호 장치, 콘텐츠 서버 장치, 프로그램, 기억매체 |
-
2011
- 2011-07-22 EP EP14164754.5A patent/EP2787680B1/en active Active
- 2011-07-22 US US13/810,797 patent/US8995660B2/en active Active
- 2011-07-22 EP EP11809745.0A patent/EP2582086B1/en active Active
- 2011-07-22 CN CN201180035439.2A patent/CN103004130B/zh active Active
- 2011-07-22 WO PCT/JP2011/066716 patent/WO2012011575A1/ja active Application Filing
- 2011-07-22 JP JP2012525451A patent/JP5422053B2/ja active Active
- 2011-07-22 KR KR1020137001061A patent/KR101418254B1/ko active IP Right Grant
Patent Citations (1)
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)
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)
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 |